/* Laureen's approved transparent masthead, tartan navigation and ivory interiors. */
:root{--celtic-ivory:#eee7d9}
body .topbar, body header:has(> .site-global-nav--within){background:linear-gradient(#031e1bc7,#031e1bc7),url('/assets/site/3-celticmff-tartan-dark.webp') center/auto 315px!important;color:#eee7d8!important;border-bottom:1px solid #384b3c!important;box-shadow:0 3px 12px #0003!important;display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;height:auto!important;min-height:64px!important;padding:7px max(20px,calc((100vw - 1200px)/2))!important}
body .topbar>a:first-child,body header:has(> .site-global-nav--within)>a:first-child{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 48px!important;width:48px!important;height:48px!important;min-width:48px!important;overflow:visible!important;background:none!important;border:0!important;box-shadow:none!important}
body .topbar>a:first-child img,body header:has(> .site-global-nav--within)>a:first-child img{content:url('/assets/site/2-celticmff-emblem-v2.png')!important;display:block!important;width:43px!important;height:43px!important;max-width:43px!important;max-height:43px!important;object-fit:contain!important;filter:none!important;background:none!important;border:0!important;box-shadow:none!important}
body .topbar>.site-global-nav--within,body header:has(> .site-global-nav--within)>.site-global-nav--within{position:static!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 800px!important;width:auto!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;flex-wrap:wrap!important;overflow:visible!important;gap:5px clamp(12px,1.3vw,21px)!important;background:none!important}
body .topbar>.site-global-nav--within>*,body header:has(> .site-global-nav--within)>.site-global-nav--within>*{display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;font:600 13px/1.3 system-ui,sans-serif!important;color:#eee7d8!important;white-space:nowrap!important;padding:8px 0!important;text-decoration:none!important}
body .topbar>.site-global-nav--within .nav-meet{border:1px solid #b88a46!important;border-radius:18px!important;color:#f0cd84!important;background:transparent!important;padding:7px 12px!important}
/* Homepage: logo on tartan, no plate or decoration. */
body .home-masthead{position:relative;min-height:clamp(285px,30vw,390px);display:flex;align-items:center;justify-content:center;background:linear-gradient(#00110b38,#00110b38),url('/assets/site/3-celticmff-tartan-dark.webp') center/cover;border:0;outline:0;box-shadow:none}
body .home-masthead::before,body .home-masthead::after{content:none!important;display:none!important}
body .home-masthead img{display:block;width:min(75vw,1080px);height:auto;max-height:93%;object-fit:contain;background:none;border:0;outline:0;box-shadow:none;filter:none}
body.home-brand .topbar>a:first-child{opacity:0;pointer-events:none;flex:0 0 48px!important}
body.home-brand.brand-passed .topbar>a:first-child{opacity:1;pointer-events:auto}
/* Warm interior background on shared directory shell. */
body.interior-brand,body.interior-brand main,body.interior-brand #directory{background:var(--celtic-ivory)!important;color:#24362f!important}
body.interior-brand #directory{min-height:900px!important}
body.interior-brand #directory h1,body.interior-brand #directory h2,body.interior-brand #directory h3{color:#172a25!important}
body.interior-brand #directory p,body.interior-brand #directory .section-head p{color:#45554b!important}
body.interior-brand #directory .filters{background:#0a342c!important}
body.interior-brand #directory .filters label{color:#e9c979!important}
body.interior-brand #directory .filters input,body.interior-brand #directory .filters select{background:#f5f2e9!important;color:#14251f!important}
body.interior-brand #directory .section-head .eyebrow{color:#d9b969!important}
/* On narrow screens all destinations wrap into readable rows; none get clipped. */
@media(max-width:700px){body .home-masthead{min-height:clamp(162px,45vw,198px)}body .home-masthead img{width:94vw;max-height:93%}body .topbar,body header:has(> .site-global-nav--within){padding:7px 12px!important;gap:3px 8px!important;min-height:54px!important}body .topbar>a:first-child,body header:has(> .site-global-nav--within)>a:first-child{flex-basis:43px!important;width:43px!important;height:43px!important;min-width:43px!important}body .topbar>a:first-child img,body header:has(> .site-global-nav--within)>a:first-child img{width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important}body .topbar>.site-global-nav--within,body header:has(> .site-global-nav--within)>.site-global-nav--within{flex:1 1 calc(100% - 55px)!important;justify-content:flex-start!important;gap:3px 12px!important}body .topbar>.site-global-nav--within>*,body header:has(> .site-global-nav--within)>.site-global-nav--within>*{font-size:12px!important;padding:4px 0!important}}

/* Directory text fields remain readable on ivory, and art-first pages keep their own hero. */
body.interior-brand #directory .filter-heading{color:#172a25!important}

/* Shared header on page families that have a second utility link. */
body header:has(> a:first-child > img):has(> .site-global-nav--within)>a:first-child img{content:url('/assets/site/2-celticmff-emblem-v2.png')!important}
/* Editorial pages originally render the wordmark as text: use Laureen's emblem instead. */
body header:has(> .site-global-nav--within)>a.brand:first-child{font-size:0!important;line-height:0!important}
body header:has(> .site-global-nav--within)>a.brand:first-child::before{content:'';display:block;width:43px;height:43px;background:url('/assets/site/2-celticmff-emblem-v2.png') center/contain no-repeat}
body header:has(> .site-global-nav--within)>a.brand:first-child span{display:none!important}
/* Other interior main surfaces take ivory while dark hero sections remain untouched. */
body.interior-brand{background:#eee7d9!important}
body.interior-brand main{background:#eee7d9!important}
/* Premium page: nav is a sibling of its hero rather than a header. */
body.interior-brand nav.nav:has(.site-global-nav){background:linear-gradient(#031e1bc7,#031e1bc7),url('/assets/site/3-celticmff-tartan-dark.webp') center/auto 315px!important;color:#eee7d8!important;display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;padding:7px max(20px,calc((100vw - 1200px)/2))!important;min-height:64px!important}
body.interior-brand nav.nav:has(.site-global-nav) .brand{width:48px!important;flex:0 0 48px!important;display:block!important}
body.interior-brand nav.nav:has(.site-global-nav) .brand img{display:block!important;width:43px!important;height:43px!important;max-height:43px!important;object-fit:contain!important}
body.interior-brand nav.nav:has(.site-global-nav) .navlinks.site-global-nav{display:flex!important;flex:1 1 800px!important;justify-content:center!important;gap:6px 16px!important;flex-wrap:wrap!important}
body.interior-brand nav.nav:has(.site-global-nav) .navlinks.site-global-nav a{color:#eee7d8!important;white-space:nowrap!important}
@media(max-width:700px){body.interior-brand nav.nav:has(.site-global-nav){padding:7px 12px!important}body.interior-brand nav.nav:has(.site-global-nav) .navlinks.site-global-nav{flex:1 1 calc(100% - 55px)!important;justify-content:flex-start!important}}

/* Keep the emblem to the left on every interior header when nav wraps. */
@media(max-width:700px){body.interior-brand header:has(> .site-global-nav--within),body.interior-brand nav.nav:has(.site-global-nav){justify-content:flex-start!important}body.interior-brand header:has(> .site-global-nav--within)>a:first-child,body.interior-brand nav.nav:has(.site-global-nav) .brand{align-self:flex-start!important;margin:0!important}body.interior-brand header:has(> .site-global-nav--within)>.site-global-nav--within,body.interior-brand nav.nav:has(.site-global-nav) .navlinks.site-global-nav{justify-content:flex-start!important}}
/* Static festival and calendar/region pages share global-nav.css but not the body class. */
body:not(.home-brand):not(.interior-brand) header:has(> a:first-child > img):has(> .site-global-nav--within){background:linear-gradient(#031e1bc7,#031e1bc7),url('/assets/site/3-celticmff-tartan-dark.webp') center/auto 315px!important;color:#eee7d8!important;display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;height:auto!important;min-height:64px!important;padding:7px max(20px,calc((100vw - 1200px)/2))!important}
body:not(.home-brand):not(.interior-brand) header:has(> a:first-child > img):has(> .site-global-nav--within)>a:first-child{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 48px!important;width:48px!important;height:48px!important;min-width:48px!important;background:none!important;border:0!important}
body:not(.home-brand):not(.interior-brand) header:has(> a:first-child > img):has(> .site-global-nav--within)>a:first-child img{content:url('/assets/site/2-celticmff-emblem-v2.png')!important;display:block!important;width:43px!important;height:43px!important;max-width:43px!important;max-height:43px!important;object-fit:contain!important}
body:not(.home-brand):not(.interior-brand) header:has(> a:first-child > img):has(> .site-global-nav--within)>.site-global-nav--within{position:static!important;transform:none!important;display:flex!important;flex:1 1 800px!important;width:auto!important;height:auto!important;min-width:0!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;overflow:visible!important;gap:5px clamp(12px,1.3vw,21px)!important;margin:0!important;padding:0!important;background:none!important}
body:not(.home-brand):not(.interior-brand) header:has(> a:first-child > img):has(> .site-global-nav--within)>.site-global-nav--within>*{color:#eee7d8!important;white-space:nowrap!important;display:inline-flex!important;font:600 13px/1.3 system-ui,sans-serif!important;padding:8px 0!important}
@media(max-width:700px){body:not(.home-brand):not(.interior-brand) header:has(> a:first-child > img):has(> .site-global-nav--within){padding:7px 12px!important;justify-content:flex-start!important}body:not(.home-brand):not(.interior-brand) header:has(> a:first-child > img):has(> .site-global-nav--within)>.site-global-nav--within{flex:1 1 calc(100% - 55px)!important;justify-content:flex-start!important;gap:3px 12px!important}body:not(.home-brand):not(.interior-brand) header:has(> a:first-child > img):has(> .site-global-nav--within)>.site-global-nav--within>*{font-size:12px!important;padding:4px 0!important}}
/* Keep the static-page hero content as-is and warm only the exposed page background. */
body:not(.home-brand):not(.interior-brand):has(header > .site-global-nav--within){background:#eee7d9!important}

/* Festival pages use a legacy text Browse link next to the emblem. */
body:not(.home-brand):not(.interior-brand) header:has(> a:first-child > img):has(> .site-global-nav--within)>a:nth-child(2){color:#eee7d8!important;white-space:nowrap!important}

/* Legacy calendar and state pages: compact emblem on tartan, not the old full lockup. */
body:has(>header>a:first-child>img[src='/assets/logo-email.png'])>header:not(.hero){background:linear-gradient(#031e1bc7,#031e1bc7),url('/assets/site/3-celticmff-tartan-dark.webp') center/auto 315px!important;display:flex!important;justify-content:flex-start!important;align-items:center!important;flex-wrap:wrap!important;gap:8px 22px!important;min-height:64px!important;padding:7px max(20px,calc((100vw - 1200px)/2))!important;color:#eee7d8!important}
body:has(>header>a:first-child>img[src='/assets/logo-email.png'])>header:not(.hero)>a:first-child{width:48px!important;height:48px!important;flex:0 0 48px!important;display:flex!important;align-items:center!important}
body:has(>header>a:first-child>img[src='/assets/logo-email.png'])>header:not(.hero)>a:first-child img{content:url('/assets/site/2-celticmff-emblem-v2.png')!important;width:43px!important;height:43px!important;max-width:43px!important;object-fit:contain!important}
body:has(>header>a:first-child>img[src='/assets/logo-email.png'])>header:not(.hero)>a:not(:first-child){color:#eee7d8!important;white-space:nowrap!important}
body:has(>header>a:first-child>img[src='/assets/logo-email.png']){background:#eee7d9!important}
/* Around the World family uses a separate editorial stylesheet. */
body>.mast:has(>a.brand):has(>nav){background:linear-gradient(#031e1bc7,#031e1bc7),url('/assets/site/3-celticmff-tartan-dark.webp') center/auto 315px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px 22px!important;min-height:64px!important;padding:7px max(20px,calc((100vw - 1200px)/2))!important;color:#eee7d8!important}
body>.mast>a.brand:first-child{font-size:0!important;line-height:0!important;width:48px!important;height:48px!important;flex:0 0 48px!important;display:flex!important;align-items:center!important}
body>.mast>a.brand:first-child::before{content:'';display:block;width:43px;height:43px;background:url('/assets/site/2-celticmff-emblem-v2.png') center/contain no-repeat}
body>.mast>a.brand:first-child span{display:none!important}
body>.mast>nav{display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 800px!important;width:auto!important;min-width:0!important;gap:5px clamp(12px,1.3vw,21px)!important;flex-wrap:wrap!important;overflow:visible!important}
body>.mast>nav a{color:#eee7d8!important;white-space:nowrap!important;font:600 13px/1.3 system-ui,sans-serif!important;padding:8px 0!important}
body:has(>.mast>a.brand):has(>.tabs){background:#eee7d9!important}
/* Sample premium page has a sibling nav and a photo hero. Preserve the hero. */
body>.nav:has(>.brand>img):has(>.navlinks){background:linear-gradient(#031e1bc7,#031e1bc7),url('/assets/site/3-celticmff-tartan-dark.webp') center/auto 315px!important;color:#eee7d8!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px 22px!important;flex-wrap:wrap!important;height:auto!important;min-height:64px!important;padding:7px max(20px,calc((100vw - 1200px)/2))!important}
body>.nav>.brand:has(>img){display:flex!important;align-items:center!important;flex:0 0 48px!important;width:48px!important;height:48px!important}
body>.nav>.brand>img{content:url('/assets/site/2-celticmff-emblem-v2.png')!important;width:43px!important;height:43px!important;max-height:43px!important;object-fit:contain!important}
body>.nav>.navlinks{display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 800px!important;width:auto!important;min-width:0!important;gap:5px clamp(12px,1.3vw,21px)!important;flex-wrap:wrap!important;overflow:visible!important}
body>.nav>.navlinks a{color:#eee7d8!important;white-space:nowrap!important;font:600 13px/1.3 system-ui,sans-serif!important;padding:8px 0!important}
body:has(>.nav>.navlinks){background:#eee7d9!important}
@media(max-width:700px){body>.mast:has(>a.brand):has(>nav),body>.nav:has(>.brand>img):has(>.navlinks),body:has(>header>a:first-child>img[src='/assets/logo-email.png'])>header:not(.hero){padding:7px 12px!important;gap:3px 8px!important;justify-content:flex-start!important}body>.mast>nav,body>.nav>.navlinks{flex:1 1 calc(100% - 55px)!important;justify-content:flex-start!important;gap:3px 12px!important}body>.mast>nav a,body>.nav>.navlinks a{font-size:12px!important;padding:4px 0!important}body>.mast>a.brand:first-child,body>.nav>.brand:has(>img),body:has(>header>a:first-child>img[src='/assets/logo-email.png'])>header:not(.hero)>a:first-child{flex:0 0 43px!important;width:43px!important;height:43px!important}body>.mast>a.brand:first-child::before,body>.nav>.brand>img,body:has(>header>a:first-child>img[src='/assets/logo-email.png'])>header:not(.hero)>a:first-child img{width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important}}
/* Continent destinations remain all visible on phone, never a clipped scroll strip. */
body>.tabs{overflow:visible!important;scrollbar-width:auto!important}
body>.tabs>.tabs-inner{display:flex!important;flex-wrap:wrap!important;white-space:normal!important;align-items:center!important;justify-content:flex-start!important;gap:0 18px!important}
body>.tabs>.tabs-inner>a{white-space:nowrap!important;padding:9px 0 7px!important}
@media(max-width:700px){body>.tabs>.tabs-inner{gap:0 15px!important}body>.tabs>.tabs-inner>a{font-size:12px!important;padding:7px 0 5px!important}}
