/*
Theme Name: Seven Blue Dots
Theme URI: https://sevenbluedots.com/
Author: Seven Blue Dots
Description: Travel from Ireland, told straight. A fast, accessible block theme with navy, cobalt and sun-yellow styling, self-hosted fonts and templates for destinations, route pages and month pages. Pairs with the Seven Blue Dots Core plugin, which holds all content features so the theme can be swapped at any time.
Version: 1.1.0
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: seven-blue-dots
Tags: block-patterns, full-site-editing, wide-blocks, accessibility-ready, custom-colors, editor-style, translation-ready, blog, travel
*/

/* Navy section with the subtle travel-marks pattern (Group block style). */
.is-style-sbd-pattern {
	background-color: var(--wp--preset--color--ink);
	background-image: url(assets/images/hero-pattern.svg);
	background-repeat: repeat;
	background-size: 160px 160px;
	color: var(--wp--preset--color--white);
}
.is-style-sbd-pattern a:where(:not(.wp-element-button):not(.sbd-chip):not(.sbd-button)) { color: inherit; }
.is-style-sbd-pattern .sbd-kicker,
.is-style-sbd-pattern .sbd-hero-kicker { color: var(--wp--preset--color--sun); }
.is-style-sbd-pattern p:where(:not([class*="sbd-"])) { color: #D3DAEC; }
.is-style-sbd-pattern .sbd-note { color: #A3AFCF; }
.is-style-sbd-pattern .sbd-route__verdict { color: #D3DAEC; }

/* Header */
.sbd-header .sbd-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; }
.sbd-header .sbd-logo svg { flex: 0 0 auto; }
.sbd-header .wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: 4px; }
.sbd-header .wp-block-button__link { background: var(--wp--preset--color--sun); color: var(--wp--preset--color--ink); }
.sbd-header .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }

/* Footer */
.sbd-footer a { color: inherit; }
.sbd-footer .sbd-logo { display: flex; align-items: center; gap: 12px; color: var(--wp--preset--color--white); text-decoration: none; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.25rem; }

/* Sister-site banner */
.sbd-sister { border: 2px dashed #C9C1AF; border-radius: 20px; }

/* Post cards in archives */
.sbd-post-card { background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line); border-radius: 20px; overflow: hidden; height: 100%; }
.sbd-post-card .wp-block-post-featured-image { margin: 0; border-radius: 0; }
.sbd-post-card .wp-block-post-featured-image img { border-radius: 0; }

/* Prose */
.wp-block-post-content > * + h2 { margin-top: 2.2em; }
.wp-block-post-content > p, .wp-block-post-content > ul, .wp-block-post-content > ol { max-width: 68ch; }

/* Accessibility */
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--wp--preset--color--cobalt); outline-offset: 2px; }
.skip-link:focus { background: var(--wp--preset--color--sun); color: var(--wp--preset--color--ink); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Layout sections (kept in CSS so block markup stays simple and valid) */
.sbd-section { padding-block: var(--wp--preset--spacing--50); }
.sbd-section--tight { padding-block: 0 var(--wp--preset--spacing--50); }
.sbd-main > .wp-block-post-content > .sbd-section:first-of-type { padding-top: var(--wp--preset--spacing--50); }
.sbd-hero { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.sbd-hero > * + * { margin-block-start: 20px; }
.sbd-hero__cols { gap: var(--wp--preset--spacing--40); }
.sbd-hero-kicker { font-weight: 700; font-size: 0.875rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--sun) !important; }
.sbd-hero-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.5; max-width: 40ch; }
.sbd-lead { font-size: var(--wp--preset--font-size--medium); color: var(--wp--preset--color--muted); margin-top: 8px; }
.sbd-hero .sbd-picker { margin-top: 28px; }
.sbd-hero .sbd-pick { margin-top: 16px; }
.sbd-hero .wp-block-post-excerpt { color: #D3DAEC; font-size: var(--wp--preset--font-size--large); }
.sbd-section .sbd-alert, .sbd-section .sbd-verdict, .sbd-section .sbd-guide, .sbd-section .sbd-routes, .sbd-section .sbd-share { margin-block: 0 var(--wp--preset--spacing--40); }

.sbd-header { background: var(--wp--preset--color--paper); border-bottom: 1px solid var(--wp--preset--color--line); padding-block: 16px; }
.sbd-header__row { gap: 16px 28px; align-items: center; }
.sbd-brand { gap: 12px; align-items: center; }
.sbd-brand .wp-block-site-title { margin: 0; }
.sbd-footer { background: var(--wp--preset--color--ink); color: #C9D0E4; padding-block: 48px 32px; }
.sbd-footer .wp-block-site-title { color: var(--wp--preset--color--white); }
.sbd-footer__row { gap: 28px 48px; }
.sbd-footer__brand { max-width: 460px; gap: 12px; }
.sbd-footer__small { font-size: var(--wp--preset--font-size--small); margin-top: 32px; opacity: .85; }
.sbd-footer .wp-block-navigation { font-size: var(--wp--preset--font-size--small); }
.sbd-sister { padding: 24px 28px; }
.sbd-post-card__body { padding: 20px 22px 24px; gap: 10px; }
.sbd-post-card .wp-block-post-terms a { font-weight: 700; font-size: 0.8rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.sbd-page .wp-block-post-title, .sbd-article .wp-block-post-title { margin-top: 12px; }

/* Template parts sit flush (no gap between header, hero and footer). */
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks > main > .wp-block-post-content > .alignfull:first-child,
.wp-site-blocks > main > .alignfull:first-child { margin-block-start: 0; }
.sbd-main > .wp-block-post-content > * + * { margin-block-start: 0; }
@media (max-width: 600px) {
	.sbd-header .wp-block-buttons { display: none; }
}

/* Hero text lines up with the wide column, not the centred content column. */
.sbd-hero > .sbd-hero-lead,
.sbd-hero > .wp-block-post-excerpt { margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size, 1240px)) / 2)) !important; margin-right: auto !important; }
.is-style-sbd-pattern .sbd-disclosure { color: #A3AFCF; }
.sbd-section .sbd-month { margin-bottom: var(--wp--preset--spacing--40); }
.sbd-dest-content > * { max-width: 68ch; }
.sbd-dest-content { margin-block: 0 var(--wp--preset--spacing--40); }

/* Logo image */
.sbd-logo { display: inline-flex; align-items: center; line-height: 0; }
.sbd-logo img { display: block; height: 48px; width: auto; max-width: 100%; }
.sbd-footer .sbd-logo img { height: 40px; }
@media (max-width: 600px) { .sbd-header .sbd-logo img { height: 40px; } }

/* Dots on navy: lighter blue for contrast. */
.is-style-sbd-pattern .sbd-dot { border-color: rgba(255, 255, 255, .45); }
.is-style-sbd-pattern .sbd-dot.is-on { background: var(--wp--preset--color--sky); border-color: var(--wp--preset--color--sky); }
