/*
Theme Name: Cassini Redesign
Description: Cassini Adventures' harbour charter design, with editable page copy and the existing Gravity Forms bookings.
Version: 1.6.1
Requires at least: 6.3
Requires PHP: 8.1
Text Domain: cassini-redesign
*/

.desktop-nav .menu-list,.mobile-nav .menu-list{display:contents}
.desktop-nav .menu-item,.mobile-nav .menu-item{list-style:none;display:contents}
.desktop-nav a[aria-current],.mobile-nav a[aria-current]{color:var(--ink);font-weight:700}
.desktop-nav a[aria-current]:after{width:100%;height:2px;background:var(--blue)}
.mobile-nav a[aria-current]{background:var(--selected);box-shadow:inset 3px 0 var(--blue);border-radius:4px;padding-inline:16px;margin-inline:-16px}
.header .header-actions{align-items:flex-end}
.header-contact-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.header-sms{display:inline-flex;align-items:center;gap:9px;min-height:32px;color:var(--navy);line-height:1.4;white-space:nowrap}
.header-sms strong{font-size:13px;font-weight:600;letter-spacing:.01em}
.header-sms>span{font-size:11px;padding-left:9px;border-left:1px solid var(--line);color:var(--muted)}
.header-sms:hover strong{text-decoration:underline;text-underline-offset:4px}
.header .menu-toggle{margin-bottom:8px}
@media(max-width:540px){.header-sms{gap:7px}.header-sms strong{font-size:12px}.header-sms>span{font-size:10px;padding-left:7px}.header-contact-actions{gap:2px}}
.footer .footer-top{grid-template-columns:1.3fr .8fr 1fr;gap:60px;align-items:start}
.footer-brand>p{font-size:15px;line-height:1.8;color:var(--muted-on-dark);margin:22px 0 0}
.footer .footer-heading{font-size:10px;font-weight:700;letter-spacing:.13em;line-height:1.5;text-transform:uppercase;color:var(--muted-on-dark);margin:0 0 16px}
.footer-nav,.footer .footer-contact{padding-top:12px;min-width:0}
.footer-nav-links{display:grid;grid-template-columns:minmax(0,1fr)}
.footer-menu{grid-column:1/-1;display:grid;grid-template-columns:inherit;list-style:none;padding:0;margin:0}
.footer-menu>li{list-style:none;margin:0;padding:0}
.footer-nav a{display:block;width:fit-content;max-width:100%;padding:8px 0;font-size:15px;line-height:1.5;color:var(--on-dark)}
.footer-nav a:hover,.footer-nav a[aria-current]{color:var(--accent-on-dark);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.footer-nav a[aria-current]{font-weight:700}
.footer .footer-contact{grid-column:auto;gap:14px}
.footer-contact .footer-heading{margin-bottom:10px}
@media(max-width:800px){.footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.footer-brand{grid-column:1/-1;display:flex;align-items:center;gap:36px}.footer-brand>p{margin:0}.footer-nav,.footer .footer-contact{padding-top:0}}
@media(max-width:540px){.footer .footer-top{grid-template-columns:minmax(0,1fr);gap:32px}.footer-brand{display:block}.footer-brand>p{margin-top:20px;font-size:14px}.footer-nav-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.footer-menu{column-gap:20px}.footer-nav a{font-size:14px;min-height:44px}.footer .footer-heading{margin-bottom:10px}}
.cassini-content{max-width:1100px;margin:auto;padding:70px 6% 100px;min-height:50vh;line-height:1.8}
.cassini-content h1{font-size:clamp(36px,5vw,64px);line-height:1.1;margin-bottom:36px}
.cassini-content :is(p,ul,ol,h2,h3,figure){margin-bottom:24px}
.cassini-content img{height:auto}
.cassini-content a:not(.button){text-decoration:underline;text-underline-offset:4px}
body.admin-bar .adventure-jump{top:32px}
@media(max-width:782px){body.admin-bar .adventure-jump{top:46px}}

a .link-icon,button .link-icon{display:contents;font:inherit;color:inherit}

/* Keep small screens focused on the labels, with icons reserved for controls. */
@media(max-width:800px){
    a .link-icon,button .link-icon,
    :is(.button,.text-link,.underlined-link,.co-text-link,.cb-help,.boat-hero-tour) > span[aria-hidden="true"],
    .co-experience-hero-foot a > span[aria-hidden="true"],
    .circle-arrow,.adventure-card-arrow,.crew-contact .crew-contact-icon,.co-empty .co-empty-icon,
    .boat-gallery-photo .boat-gallery-enlarge,
    .boat-features .icon{display:none}
    .experience-featured .card-description{max-width:none}
    .cassini-booking-section .cb-next:after,.cassini-booking-section .cb-back:before{content:none}
}

/* Visitor navigation and footer use the same small-text roles. */
.header-sms strong{font-size:var(--type-note)}
.header-sms>span,.footer .footer-heading,.footer-bottom{font-size:var(--type-label);line-height:1.6}
.footer-brand>p{font-size:var(--type-body);max-width:45ch}
.footer .footer-contact,.footer-nav-links a{font-size:var(--type-action);line-height:1.65}
@media(max-width:1100px){
 .desktop-nav{display:none}
 .menu-toggle{display:block}
 .header{height:auto;min-height:146px;flex-wrap:wrap;gap:12px}
 .header-actions{max-width:100%;flex-wrap:wrap;justify-content:flex-end}
 .header-contact-actions{max-width:100%}
 .header-sms{white-space:normal;flex-wrap:wrap;justify-content:flex-end;max-width:100%}
 .header .mobile-nav{top:100%}
}
@media(max-width:540px){
 .header{min-height:128px}
 :is(.single-cassini_experience,.co-private-charters-page) .header{height:auto;min-height:108px}
 .footer-nav-links{grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr))}
}

/* One content edge for navigation, visitor sections and the footer. */
.wp-theme-cassini-redesign{
 --layout-gutter:max(20px,6vw,calc((100vw - 1320px)/2));
 --layout-section:clamp(56px,6vw,96px);
 --layout-heading-gap:clamp(32px,3vw,48px);
 --layout-grid-gap:clamp(24px,2vw,32px);
 --layout-panel:clamp(24px,2.5vw,32px);
}
.wp-theme-cassini-redesign .header,
.wp-theme-cassini-redesign .footer{padding-inline:var(--layout-gutter)}
.wp-theme-cassini-redesign .footer-top{gap:var(--layout-heading-gap)}
.wp-theme-cassini-redesign .footer-bottom{flex-wrap:wrap;row-gap:1rem}
.wp-theme-cassini-redesign .footer-contact :is(a,span){max-width:100%;overflow-wrap:anywhere}

/* Keep navigation available and section targets clear of its actual height. */
html{--cassini-header-height:164px;scroll-padding-top:calc(var(--cassini-header-height) + var(--cassini-admin-offset,0px) + 1rem)}
html:has(body.admin-bar){--cassini-admin-offset:32px}
body.wp-theme-cassini-redesign > header.header{position:sticky;top:var(--cassini-admin-offset,0px);z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}
body.wp-theme-cassini-redesign > .skip-link{z-index:1001}
body.wp-theme-cassini-redesign > .skip-link:focus{top:calc(var(--cassini-admin-offset,0px) + 10px)}
.wp-theme-cassini-redesign .header .mobile-nav{max-height:calc(100dvh - var(--cassini-header-height) - var(--cassini-admin-offset,0px));overflow-y:auto;overscroll-behavior:contain}
.wp-theme-cassini-redesign :is(.cb-summary,.adventure-booking){top:calc(var(--cassini-header-height) + var(--cassini-admin-offset,0px) + 28px)}
@media(max-width:1100px){html{--cassini-header-height:146px}}
@media(max-width:782px){html:has(body.admin-bar){--cassini-admin-offset:46px}}
@media(max-width:540px){html{--cassini-header-height:128px}}
