/*
Theme Name: Zoulakis Travel
Author: A-WD
Description: Custom classic WordPress theme for Zoulakis Travel.
Version: 1.3.6
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zoulakis-travel
*/
:root{--navy:#242f60;--blue:#27396b;--paper:#f3f5f9;--ink:#202942;--muted:#515d72;--accent:#ff791b;--line:#dde3ed;--radius:12px;--section-space:clamp(3.75rem,6.5vw,6.25rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;color:var(--ink);background:#fff;font:1.0625rem/1.75 system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
a{color:var(--blue);text-underline-offset:.25em}
img{max-width:100%;height:auto}
h1,h2,h3,h4{line-height:1.2;letter-spacing:-.025em;text-wrap:balance}
p{margin:0 0 1.25rem}
h1,h2,h3,p{overflow-wrap:break-word}
.wrap{width:min(1320px,calc(100% - 5rem));margin-inline:auto}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:100;background:white;padding:1rem}
:focus-visible{outline:3px solid #ba4a00;outline-offset:5px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.topbar{background:var(--navy);color:#fff;font-size:.875rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding-block:.5rem}
.topbar a{color:inherit;text-decoration:none;font-weight:600}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}
.header-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:2.25rem}
.brand,.custom-logo-link{display:block;flex:0 0 auto;line-height:1;text-decoration:none}
.brand img,.custom-logo{display:block;width:330px;max-width:100%;height:auto;max-height:86px;object-fit:contain;object-position:left center}
.nav{font-size:.9375rem;line-height:1.5}
.nav ul{display:flex;align-items:center;gap:1.65rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav li{position:relative}
.nav a{display:block;padding:.75rem 0;color:var(--ink);text-decoration:none;font-weight:650}
.nav a:hover,.nav .current-menu-item>a{color:#a14100}
.nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:250px;padding:.75rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:0 14px 36px #15244118}
.nav li:hover>.sub-menu,.nav li:focus-within>.sub-menu{display:block}
.nav .sub-menu .sub-menu{top:0;left:100%}
.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(580px,46vw,720px);padding:5rem 0 6rem;background:#17213e;color:#fff}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 57%;z-index:-2}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,24,48,.94) 0%,rgba(14,24,48,.7) 42%,rgba(14,24,48,.16) 100%)}
.eyebrow{font-size:.875rem;line-height:1.6;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:#984006;margin-bottom:1.1rem}
.hero .eyebrow,.contact .eyebrow{color:#ffc99f}
.hero h1{max-width:820px;font-size:clamp(2.65rem,4.5vw,4.75rem);line-height:1.12;letter-spacing:-.035em;font-weight:750;margin:0 0 1.5rem}
.hero p:not(.eyebrow){max-width:610px;font-size:1.1875rem;line-height:1.7;color:#edf0f6}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:.85rem 1.45rem;border:1px solid transparent;border-radius:6px;background:var(--accent);color:#172346;font-size:1rem;font-weight:750;line-height:1.5;text-decoration:none;cursor:pointer;transition:background .18s ease,transform .18s ease}
.button:hover{background:#ff9649;transform:translateY(-2px)}
.hero .secondary{background:rgba(255,255,255,.04);color:#fff;border-color:#bcc2cd}
.hero .secondary:hover{background:rgba(255,255,255,.14)}
.zt-travel-links{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:-2rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 15px 36px #17203e0d}
.zt-travel-links a{display:flex;align-items:center;justify-content:center;padding:1.6rem 1.25rem;min-height:96px;text-align:center;font-size:1rem;font-weight:650;line-height:1.5;text-decoration:none;color:var(--navy);border-right:1px solid var(--line)}
.zt-travel-links a:first-child{border-radius:var(--radius) 0 0 var(--radius)}
.zt-travel-links a:last-child{border:0;border-radius:0 var(--radius) var(--radius) 0}
.zt-travel-links a:hover{background:var(--paper)}
.section{padding:var(--section-space) 0}
.section h2{font-size:clamp(2rem,3.15vw,3.05rem);line-height:1.2;margin:0 0 1.5rem;font-weight:730}
.intro-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.intro-grid>div:last-child{padding-top:.25rem;max-width:620px}
.intro-grid p:not(.eyebrow):not(.lead){color:var(--muted)}
.lead{font-size:1.375rem;line-height:1.5;font-weight:550;color:var(--navy)}
.text-link{display:inline-block;font-size:1rem;font-weight:700;text-decoration:underline;text-underline-offset:6px}
.section-intro{max-width:680px;margin-bottom:2.5rem}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.6rem}
.section-heading h2{margin-bottom:0;max-width:950px}
.section-heading>a{flex-shrink:0}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem}
.packages-section{background:var(--paper)}
.service-card{border:1px solid var(--line);border-radius:var(--radius);background:white;overflow:hidden;box-shadow:0 6px 20px #18244106;transition:box-shadow .2s ease,transform .2s ease}
.service-card>a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ink)}
.service-card img{display:block;width:100%;aspect-ratio:1.42;object-fit:cover}
.card-copy{display:flex;flex-direction:column;flex:1;padding:1.8rem}
.card-copy h3{font-size:1.4rem;line-height:1.35;font-weight:700;margin:0 0 .9rem}
.card-copy p{font-size:1rem;line-height:1.7;color:var(--muted);margin-bottom:1.4rem}
.card-copy .text-link{margin-top:auto;font-size:.9375rem;color:var(--navy)}
@media(hover:hover){.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px #18244112}}
.service-card:focus-within{outline:3px solid #ba4a00;outline-offset:4px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem;background:white}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:1rem}
.card h2,.card h3{font-size:1.4rem;line-height:1.35}
.card a{color:var(--ink)}
.crete-section{padding:var(--section-space) 0;background:var(--paper)}
.crete-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.crete-grid>img{width:100%;height:560px;object-fit:cover;object-position:center;border-radius:var(--radius)}
.crete-grid>div{max-width:570px}
.crete-grid h2{font-size:clamp(2.3rem,3.8vw,3.75rem);line-height:1.15;margin:0 0 1.5rem}
.crete-grid p:not(.eyebrow){color:var(--muted)}
.crete-grid .button{margin-top:.75rem}
.reasons{margin-top:3rem;gap:2.5rem}
.reasons>div{border-top:1px solid #ccd4e3;padding-top:1.5rem}
.reasons span{font-size:1.15rem;font-weight:750;color:#a14100}
.reasons h3{font-size:1.65rem;margin:1rem 0}
.reasons p{font-size:1rem;line-height:1.8;color:var(--muted)}
.contact{background:var(--navy);color:#fff}
.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:3rem}
.contact h2{font-size:clamp(2.5rem,4.2vw,4rem);line-height:1.2}
.contact-links{display:grid;gap:1rem;flex-shrink:0;font-size:1.125rem}
.contact-links a{color:#fff}
.contact-links a:first-child{font-size:1.6rem;font-weight:600;text-decoration:none}
.site-footer{background:#17203e;color:#fff;padding:3.5rem 0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem}
.footer-grid strong{font-size:1.3rem;letter-spacing:.04em}
.footer-grid p{font-size:.9375rem;color:#c7cedd;margin:.75rem 0 1.5rem}
.footer-grid h3{font-size:1rem;margin:0 0 1rem;letter-spacing:0}
.footer-grid a{display:block;color:#dce2ee;margin:.65rem 0;font-size:.9375rem;text-decoration:none}
.footer-grid a:hover{text-decoration:underline;color:white}
.footer-grid ul{padding:0;list-style:none}
.site-footer small{font-size:.875rem;color:#bdc7db}
.page-heading{padding:clamp(3rem,5vw,5rem) 0;background:var(--paper);border-bottom:1px solid var(--line)}
.page-heading h1{font-size:clamp(2.2rem,4vw,3.75rem);max-width:1050px;line-height:1.18;margin:0}
.page-heading .eyebrow{margin-bottom:1.2rem}
.content{max-width:860px;overflow-wrap:anywhere}
.content h1{font-size:clamp(2.2rem,4vw,3.75rem)}
.content h2{font-size:clamp(1.8rem,2.5vw,2.2rem);margin-top:2.5rem}
.content h3{font-size:1.45rem;margin-top:2rem}
.content p{margin-bottom:1.35rem}
.content li{margin-bottom:.6rem}
.page-cover{display:block;width:100%;max-height:480px;object-fit:cover;border-radius:var(--radius);margin-bottom:2.5rem}
.content details{border:1px solid var(--line);border-radius:8px;padding:1.1rem 1.4rem;margin:1rem 0}
.content summary{font-weight:700;cursor:pointer;line-height:1.6}
.content details[open]>summary{margin-bottom:1rem}
.content iframe{max-width:100%}
.content table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}
.content td,.content th{padding:.75rem;border:1px solid var(--line)}
.alignwide{max-width:1180px}
.pagination{margin-top:2rem}
.zt-form{display:grid;gap:1.4rem;margin-top:2rem;padding:clamp(1.25rem,3vw,2.5rem);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.zt-form label{display:grid;gap:.5rem;font-size:1rem;font-weight:650}
.zt-form input,.zt-form textarea{width:100%;border:1px solid #8b95aa;border-radius:6px;padding:.85rem;background:white;color:var(--ink)}
.zt-form textarea{resize:vertical;min-height:180px}
.zt-form .trap{display:none}
.zt-form p{font-size:.9375rem;margin:0;color:var(--muted)}
.zt-form button{justify-self:start}
.zt-form-status{padding:1rem;background:var(--paper);border-left:4px solid var(--navy)}
.abp-theme-wrap,.abp-single,.abp-archive-shell{font-family:inherit!important}
.abp-card{border-radius:var(--radius)!important}
@media(max-width:1150px){
 .wrap{width:calc(100% - 3rem)}
 .header-inner{min-height:100px;gap:1.5rem}
 .brand img,.custom-logo{width:275px}
 .nav ul{gap:1rem}
 .nav{font-size:.875rem}
 .card-copy{padding:1.35rem}
 .contact-links{flex-shrink:1;overflow-wrap:anywhere}
 .footer-grid{gap:2rem}
}
@media(max-width:1000px){
 .header-inner{flex-wrap:wrap;gap:0;padding-block:1.1rem;min-height:86px}
 .js .menu-toggle{display:block;min-height:44px;border:1px solid #cbd2e0;border-radius:6px;background:white;padding:.5rem 1rem;color:var(--navy);font-weight:650}
 .nav{width:100%;padding-top:1rem;font-size:1rem}
 .js .nav:not(.is-open){display:none}
 .nav ul{display:block}
 .nav a{padding:.75rem .5rem}
 .nav .sub-menu,.nav .sub-menu .sub-menu{display:block;position:static;padding:0 0 0 1.5rem;background:transparent;box-shadow:none;border:0;min-width:0}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .reasons{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
 .intro-grid,.crete-grid{gap:2rem}
 .hero{min-height:580px}
 .hero h1{max-width:700px;font-size:clamp(2.7rem,5.5vw,4rem)}
 .zt-travel-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .zt-travel-links a{min-height:78px;padding:1.2rem;border-bottom:1px solid var(--line)}
 .zt-travel-links a:nth-child(even){border-right:0}
 .zt-travel-links a:nth-child(3){border-bottom:0}
 .zt-travel-links a:first-child,.zt-travel-links a:last-child{border-radius:0}
 .crete-grid>img{height:480px}
}
@media(max-width:700px){
 body{font-size:1rem}
 .wrap{width:calc(100% - 2.5rem)}
 .brand img,.custom-logo{width:245px;max-width:calc(100vw - 140px)}
 .topbar{font-size:.8125rem}
 .topbar .wrap{gap:.5rem;flex-wrap:wrap}
 .hero{min-height:580px;padding:3.5rem 0 4.5rem}
 .hero:after{background:linear-gradient(90deg,rgba(14,24,48,.9),rgba(14,24,48,.62))}
 .hero-image{object-position:60% 55%}
 .hero h1{font-size:clamp(2.4rem,8.4vw,3.35rem);max-width:100%;line-height:1.13}
 .hero p:not(.eyebrow){font-size:1.0625rem}
 .hero-actions{gap:.75rem;flex-direction:column;align-items:stretch}
 .button{min-height:52px;padding:.8rem 1rem}
 .zt-travel-links a{font-size:.9375rem;padding:1.1rem .8rem;min-height:90px}
 .intro-grid,.crete-grid,.grid,.reasons{grid-template-columns:1fr}
 .intro-grid{gap:1rem}
 .lead{font-size:1.25rem}
 .section-heading{display:block;margin-bottom:2rem}
 .section-heading>a{margin-top:1rem}
 .section h2{font-size:2.05rem}
 .service-card img{aspect-ratio:1.5}
 .card-copy{padding:1.5rem}
 .card-copy h3{font-size:1.45rem}
 .crete-grid>img{height:380px}
 .crete-grid h2{font-size:2.5rem}
 .contact-inner{display:block}
 .contact h2{font-size:2.8rem}
 .contact-links{margin-top:2rem;font-size:1rem}
 .contact-links a:first-child{font-size:1.4rem}
 .footer-grid{grid-template-columns:1fr 1fr;gap:2rem 1.5rem}
 .footer-grid>div:first-child{grid-column:1/-1}
 .content details{padding:1rem}
 .page-heading h1{font-size:2.3rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Inner pages — v0.4.0. All selectors are scoped away from the WP toolbar. */
.zt-inner-heading{background:#f3f5f9;border-bottom:1px solid var(--line)}
.zt-heading-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;padding-block:3.5rem}
.zt-inner-heading--photo .zt-heading-grid{grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,5rem)}
.zt-heading-copy{min-width:0}
.zt-breadcrumb{display:flex;gap:.65rem;flex-wrap:wrap;font-size:.8125rem;color:var(--muted);margin-bottom:2rem;line-height:1.5}
.zt-breadcrumb a{color:inherit;text-decoration:none}
.zt-breadcrumb a:hover{text-decoration:underline}
.zt-heading-copy .eyebrow{margin-bottom:.9rem}
.zt-heading-copy h1{font-size:clamp(2.2rem,3.6vw,3.8rem);line-height:1.13;margin:0;max-width:920px}
.zt-heading-intro{font-size:1.125rem;line-height:1.75;color:var(--muted);max-width:660px;margin:1.5rem 0 0}
.zt-heading-photo{position:relative;min-width:0;border-radius:16px 16px 64px 16px;overflow:hidden;background:#dde3ed}
.zt-heading-photo img{display:block;width:100%;height:340px;object-fit:cover}
.zt-page-section{padding-block:clamp(3rem,5vw,5rem)}
.zt-page-content{width:100%;margin-inline:auto;min-width:0}
.zt-page-content>:first-child{margin-top:0}
.zt-editorial{max-width:1120px}
.zt-editorial>p,.zt-editorial>h2,.zt-editorial>h3,.zt-editorial>h4,.zt-editorial>ul:not(.zt-detail-grid),.zt-editorial>ol:not(.zt-detail-grid){max-width:800px;margin-inline:auto}
.zt-editorial>h2,.zt-editorial>h3{margin-top:3.25rem;margin-bottom:1.25rem}
.zt-editorial>p{color:var(--muted);line-height:1.85}
.zt-editorial>p strong{color:var(--ink)}
.zt-editorial>h2:first-child,.zt-editorial>h3:first-child{margin-top:0}
.zt-editorial .zt-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;list-style:none;padding:0;margin:2rem 0 3.5rem;counter-reset:zt-detail}
.zt-detail-grid>li{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:2rem;margin:0;background:linear-gradient(145deg,#fff,#f8f9fc);counter-increment:zt-detail}
.zt-detail-grid>li:before{content:counter(zt-detail,decimal-leading-zero);display:block;color:#a14100;font-size:.875rem;font-weight:750;letter-spacing:.08em;margin-bottom:1.25rem}
.zt-editorial .zt-detail-grid h2,.zt-editorial .zt-detail-grid h3{font-size:1.4rem;line-height:1.35;margin:0 0 1rem}
.zt-detail-grid p{font-size:1rem;line-height:1.75;color:var(--muted)}
.zt-detail-grid p:last-child{margin-bottom:0}
.zt-contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.zt-contact-card{background:var(--navy);color:#fff;border-radius:var(--radius);padding:clamp(1.5rem,3vw,3rem);min-width:0}
.zt-contact-card .eyebrow{color:#ffc99f}
.zt-contact-card h2{font-size:clamp(1.8rem,2.4vw,2.5rem)}
.zt-contact-card>p:not(.eyebrow){color:#d8deed;font-size:1rem}
.zt-contact-method{display:block;color:#fff;text-decoration:none;font-size:1.125rem;font-weight:650;padding:1.25rem 0;border-top:1px solid #ffffff30;overflow-wrap:anywhere}
.zt-contact-method span{display:block;color:#c9d1e5;font-weight:400;font-size:.8125rem;margin-bottom:.35rem}
.zt-contact-method:hover{text-decoration:underline}
.zt-contact-card .zt-contact-note{margin:1.5rem 0 0;padding-top:1.5rem;border-top:1px solid #ffffff30}
.zt-contact-layout .zt-form{margin-top:0;background:#fff;padding:0;border:0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.zt-contact-layout .zt-form>label{grid-column:1/-1}
.zt-contact-layout .zt-form>label:has(input[type=email]),.zt-contact-layout .zt-form>label:has(input[type=tel]){grid-column:auto}
.zt-contact-layout .zt-form>p,.zt-contact-layout .zt-form>button{grid-column:1/-1}
.zt-contact-layout .zt-form input,.zt-contact-layout .zt-form textarea{background:#f8f9fc;border-color:#bbc4d4}
.zt-contact-layout .zt-form input:focus,.zt-contact-layout .zt-form textarea:focus{background:white;border-color:var(--navy)}
.zt-contact-layout .zt-form button{justify-self:stretch}
.zt-packages-page .abp-archive-header{display:none}
.zt-catalogue-empty{max-width:850px;margin-inline:auto;text-align:center;padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#f3f5f9,#fff6ef)}
.zt-catalogue-empty h2{font-size:clamp(1.8rem,3vw,2.75rem)}
.zt-catalogue-empty>p:not(.eyebrow){color:var(--muted);max-width:640px;margin-inline:auto}
.zt-catalogue-empty .button{margin-top:1rem}
.hero h1{max-width:760px}
.service-card .text-link:after{content:' →';display:inline-block;margin-left:.35rem}
@media(max-width:1000px){
 .zt-heading-grid{padding-block:2.5rem}
 .zt-heading-photo img{height:320px}
 .zt-contact-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2rem}
 .zt-contact-layout .zt-form>label:has(input[type=email]),.zt-contact-layout .zt-form>label:has(input[type=tel]){grid-column:1/-1}
}
@media(max-width:700px){
 .zt-inner-heading--photo .zt-heading-grid,.zt-contact-layout{grid-template-columns:1fr}
 .zt-heading-grid{gap:1.75rem}
 .zt-breadcrumb{margin-bottom:1.5rem}
 .zt-heading-copy h1{font-size:clamp(2rem,8vw,2.8rem)}
 .zt-heading-intro{font-size:1rem}
 .zt-heading-photo{border-radius:12px 12px 40px 12px}
 .zt-heading-photo img{height:240px}
 .zt-editorial .zt-detail-grid{grid-template-columns:1fr;gap:1rem}
 .zt-detail-grid>li{padding:1.5rem}
 .zt-contact-layout .zt-page-content{grid-row:1}
 .zt-contact-card h2{font-size:1.9rem}
}

/* Optional navigation features. All three controls default to off. */
:root{--zt-header-height:112px;--zt-admin-offset:0px}
body.admin-bar{--zt-admin-offset:32px}
.zt-sticky-header .site-header{position:sticky;top:var(--zt-admin-offset);z-index:100}
html:has(.zt-sticky-header){scroll-padding-top:calc(var(--zt-header-height) + 4rem)}
.zt-sticky-header.zt-header-scrolled .site-header{box-shadow:0 6px 24px #17203e14}
.js .zt-transparent-header .site-header{margin-bottom:calc(-1 * var(--zt-header-height));background:transparent;border-bottom-color:#ffffff30}
.js .zt-transparent-header .hero{padding-top:calc(var(--zt-header-height) + 3rem)}
.js .zt-transparent-header:not(.zt-menu-open) .site-header .nav>ul>li>a,.js .zt-transparent-header:not(.zt-menu-open) .site-header .nav>.menu>ul>li>a{color:#fff}
.js .zt-transparent-header .site-header .brand,.js .zt-transparent-header .site-header .custom-logo-link{background:#fff;border-radius:8px;padding:10px 14px}
.js .zt-transparent-header .site-header .brand img,.js .zt-transparent-header .site-header .custom-logo{width:302px}
.js .zt-transparent-header.zt-sticky-header.zt-header-scrolled .site-header,.js .zt-transparent-header.zt-menu-open .site-header{background:#fff;border-bottom-color:var(--line)}
.js .zt-transparent-header.zt-sticky-header.zt-header-scrolled .site-header .nav>ul>li>a,.js .zt-transparent-header.zt-sticky-header.zt-header-scrolled .site-header .nav>.menu>ul>li>a{color:var(--ink)}
.js .zt-transparent-header .site-header .nav>ul>li>a:hover{color:#ffc99f}
.js .zt-transparent-header.zt-sticky-header.zt-header-scrolled .site-header .nav>ul>li>a:hover,.js .zt-transparent-header.zt-menu-open .site-header .nav>ul>li>a:hover{color:#a14100}
.zt-sticky-header .nav.is-open{max-height:calc(100dvh - var(--zt-admin-offset) - 110px);overflow-y:auto;overscroll-behavior:contain}
.zt-back-to-top{position:fixed;right:max(1.25rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:110;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #fff;border-radius:50%;background:var(--navy);color:white;box-shadow:0 4px 18px #17203e30;text-decoration:none}
.zt-back-to-top[hidden]{display:none}
.zt-back-to-top:hover{background:var(--accent);color:var(--ink)}
#zt-page-top:focus{outline:0}
@media(max-width:1150px){.js .zt-transparent-header .site-header .brand img,.js .zt-transparent-header .site-header .custom-logo{width:247px}}
@media(max-width:782px){body.admin-bar{--zt-admin-offset:46px}}
@media(max-width:600px){body.admin-bar{--zt-admin-offset:0px}}
@media(max-width:700px){.js .zt-transparent-header .site-header .brand img,.js .zt-transparent-header .site-header .custom-logo{max-width:calc(100vw - 168px)}.zt-back-to-top{width:44px;height:44px}}

/* v0.6 Customizer typography, contact strip, search and dimensions. */
body{font-family:var(--zt-font-body,system-ui,sans-serif)}
h1,h2,h3,h4,h5,h6{font-family:var(--zt-font-headings,inherit)}
.hero h1{font-family:var(--zt-font-hero,var(--zt-font-headings,inherit))}
.nav,.button,.menu-toggle{font-family:var(--zt-font-nav,inherit)}
.topbar{font-family:var(--zt-font-topbar,inherit)}
.site-footer,.site-footer h3{font-family:var(--zt-font-footer,inherit)}
.zt-icon{flex:none;display:inline-block;vertical-align:middle}
.topbar .zt-topbar-inner{align-items:center;flex-wrap:wrap;gap:.25rem 1.5rem;padding-block:.35rem}
.zt-topbar-info,.zt-topbar-links{display:flex;align-items:center;gap:.3rem 1.25rem;flex-wrap:wrap;min-width:0}
.zt-topbar-links{margin-left:auto}
.zt-topbar-item,.zt-topbar-links>a{display:inline-flex;align-items:center;gap:.5rem;min-height:30px;overflow-wrap:anywhere}
.zt-social-links{display:flex;gap:.25rem;flex-wrap:wrap}
.zt-social-links:empty{display:none}
.zt-social-links a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}
.zt-social-links a:hover{background:#ffffff20}
.header-inner{min-height:var(--zt-normal-height,112px);padding-block:10px;gap:1.5rem}
.site-header .brand img,.site-header .custom-logo{max-height:calc(var(--zt-normal-height,112px) - 20px);width:auto;max-width:330px}
.zt-sticky-header.zt-header-scrolled .header-inner{min-height:var(--zt-compact-height,80px)}
.zt-sticky-header.zt-header-scrolled .site-header .brand img,.zt-sticky-header.zt-header-scrolled .site-header .custom-logo{max-height:calc(var(--zt-compact-height,80px) - 20px)}
.zt-sticky-header.zt-header-scrolled:not(.zt-transparent-header) .site-header{margin-bottom:max(0px,calc(var(--zt-header-expanded-height,var(--zt-normal-height,112px)) - var(--zt-header-height,80px)))}
.js .zt-transparent-header .hero{padding-top:calc(var(--zt-header-expanded-height,var(--zt-normal-height,112px)) + 3rem)}
.js .zt-transparent-header .site-header .brand,.js .zt-transparent-header .site-header .custom-logo-link{padding:6px 10px}
.js .zt-transparent-header .site-header .brand img,.js .zt-transparent-header .site-header .custom-logo{max-height:calc(var(--zt-normal-height,112px) - 32px)}
.js .zt-transparent-header.zt-sticky-header.zt-header-scrolled .site-header .brand img,.js .zt-transparent-header.zt-sticky-header.zt-header-scrolled .site-header .custom-logo{max-height:calc(var(--zt-compact-height,80px) - 32px)}
.zt-header-search{flex:none;position:relative;margin-left:0}
.zt-header-search summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer;border:1px solid var(--line);border-radius:6px;background:white;color:var(--navy);list-style:none}
.zt-header-search summary::-webkit-details-marker{display:none}
.zt-header-search[open] summary{background:var(--paper)}
.zt-search-panel{position:absolute;right:0;top:calc(100% + 14px);width:min(470px,calc(100vw - 2.5rem));padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 12px 32px #17203e22;z-index:20}
.zt-search-form{display:flex;gap:.75rem;align-items:stretch}
.zt-search-form label{flex:1;min-width:0}
.zt-search-form input{width:100%;height:100%;min-height:48px;padding:.65rem .85rem;border:1px solid #8b95aa;border-radius:6px;background:white;color:var(--ink)}
.zt-search-form .button{font-size:.9375rem;min-height:48px;padding:.6rem .9rem}
@media(max-width:1150px){.site-header .brand img,.site-header .custom-logo{max-width:275px}.header-inner{gap:1rem}}
@media(max-width:1000px){
 .header-inner{gap:.5rem 1rem}
 .site-header .brand,.site-header .custom-logo-link{margin-right:auto}
 .menu-toggle{order:2}
 .zt-header-search{order:3;margin-left:0}
 .nav{order:4;flex-basis:100%}
 .zt-sticky-header .nav.is-open{max-height:calc(100dvh - var(--zt-admin-offset) - var(--zt-normal-height,112px) - 20px)}
}
@media(max-width:700px){
 .site-header .brand img,.site-header .custom-logo{max-width:calc(100vw - 140px)}
 .site-header:has(.zt-header-search) .brand img,.site-header:has(.zt-header-search) .custom-logo{max-width:calc(100vw - 210px)}
 .js .zt-transparent-header .site-header .brand img,.js .zt-transparent-header .site-header .custom-logo{max-width:calc(100vw - 160px)}
 .js .zt-transparent-header .site-header:has(.zt-header-search) .brand img,.js .zt-transparent-header .site-header:has(.zt-header-search) .custom-logo{max-width:calc(100vw - 230px)}
 .topbar .zt-topbar-inner{justify-content:center}
 .zt-topbar-info,.zt-topbar-links{justify-content:center;margin-inline:0}
 .zt-search-form{flex-wrap:wrap}
 .zt-search-form label{flex-basis:100%}
 .zt-search-form button{width:100%}
}

/* Keep desktop navigation and search together at the right edge. */
@media(min-width:1001px){.header-inner>.nav{margin-left:auto}}

/* About — an editorial layout for the agency's own story. */
.zt-about-hero{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:center;padding:3rem 0 4rem;background:var(--navy);color:#fff}
.zt-about-hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.zt-about-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#121d3df2 0%,#17264dc4 45%,#17264d22 100%)}
.zt-about-hero .zt-breadcrumb{color:#e4e9f4;margin-bottom:3rem}
.zt-about-hero .eyebrow{color:#ffc99f}
.zt-about-hero h1{font-size:clamp(3rem,5.8vw,5.25rem);margin:0 0 1.5rem;line-height:1.08;max-width:800px}
.zt-about-hero-lead{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.65;max-width:650px;color:#eef1f7}
.zt-about-jump{display:inline-flex;gap:2rem;align-items:center;color:white;font-size:.9375rem;font-weight:650;margin-top:1rem;text-decoration:none;border-bottom:1px solid #ffffff70;padding-bottom:.6rem}
.zt-about-section h2{font-size:clamp(2rem,3.3vw,3.25rem);margin:0 0 1.5rem;line-height:1.17}
.zt-about-section .wrap{max-width:1200px}
.zt-about-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.zt-about-rule{display:block;width:72px;height:4px;background:var(--accent);margin-top:2rem}
.zt-about-copy{min-width:0;color:var(--muted);font-size:1.0625rem;line-height:1.85;overflow-wrap:anywhere}
.zt-about-copy h2{color:var(--ink)}
.zt-about-copy>p:last-child{margin-bottom:0}
.zt-about-intro .zt-about-copy>p:first-child{font-size:1.375rem;line-height:1.6;color:var(--navy)}
.zt-about-intro .zt-about-copy>p:first-child strong{font-weight:550}
.zt-about-care{background:#f3f5f9}
.zt-about-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.zt-about-story-photo{position:relative;padding:0 1rem 1rem 0}
.zt-about-story-photo:before{content:"";position:absolute;inset:2rem 0 0 2rem;background:#e2e7ef;border-radius:16px}
.zt-about-story-photo img{position:relative;display:block;width:100%;height:530px;object-fit:cover;border-radius:12px}
.zt-about-story-photo span{position:absolute;bottom:2.5rem;left:1.5rem;background:var(--navy);color:#fff;padding:.8rem 1.2rem;font-size:.75rem;font-weight:700;letter-spacing:.13em}
.zt-about-identity{background:var(--navy);color:#fff}
.zt-about-identity .eyebrow{color:#ffc99f}
.zt-about-identity .zt-about-copy{color:#e0e5f1}
.zt-about-section-title{max-width:760px;margin-bottom:2.75rem}
.zt-about-section-title>p:not(.eyebrow){color:var(--muted)}
.zt-about-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.5rem}
.zt-about-card{grid-column:span 2;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:white;display:flex;flex-direction:column}
.zt-about-card:nth-child(4),.zt-about-card:nth-child(5){grid-column:span 3}
.zt-about-card>img{display:block;width:100%;height:210px;object-fit:cover}
.zt-about-card-copy{padding:1.75rem;display:flex;flex-direction:column;flex:1}
.zt-about-card h3{font-size:1.4rem;line-height:1.35;margin:0 0 1rem}
.zt-about-card p{font-size:1rem;line-height:1.8;color:var(--muted)}
.zt-about-card .text-link{margin-top:auto;padding-top:.5rem}
.zt-about-values{background:#f3f5f9}
.zt-about-values .zt-about-card{border:0;border-top:3px solid #ff791b;border-radius:0 0 12px 12px}
.zt-about-number{display:block;color:#a14100;font-size:1rem;font-weight:700;margin-bottom:1.5rem}
.zt-about-centered{max-width:820px;margin-inline:auto}
.zt-about-philosophy{background:#fff8f1}
.zt-about-philosophy .zt-about-centered{max-width:940px;border-left:4px solid var(--accent);padding-left:clamp(1.5rem,4vw,4rem)}
.zt-about-philosophy .zt-about-copy>h2+p{font-size:1.3rem}
.zt-about-invitation{text-align:center}
.zt-about-invitation .button{margin-top:1rem}
@media(max-width:1000px){.zt-about-card{grid-column:span 3}.zt-about-card:last-child{grid-column:1/-1}.zt-about-story-photo img{height:440px}}
@media(max-width:700px){
 .zt-about-hero{min-height:440px;padding-block:2.5rem}
 .zt-about-hero:after{background:linear-gradient(90deg,#121d3deb,#17264d99)}
 .zt-about-hero .zt-breadcrumb{margin-bottom:2rem}
 .zt-about-intro-grid,.zt-about-story-grid{grid-template-columns:1fr;gap:2rem}
 .zt-about-story-photo img{height:340px}
 .zt-about-card-grid{grid-template-columns:1fr}
 .zt-about-card,.zt-about-card:nth-child(4),.zt-about-card:nth-child(5),.zt-about-card:last-child{grid-column:auto}
 .zt-about-card-copy{padding:1.5rem}
 .zt-about-copy{font-size:1rem}
 .zt-about-intro .zt-about-copy>p:first-child{font-size:1.2rem}
}

/* Tailored travel — image-led opening, editorial story and distinct journey steps. */
.zt-tailored-section>.wrap{max-width:1200px}
.zt-tailored-section h2{font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.2;margin:0 0 1.5rem}
.zt-tailored-copy{min-width:0;line-height:1.85;color:var(--muted);overflow-wrap:anywhere}
.zt-tailored-copy strong,.zt-tailored-copy h2,.zt-tailored-copy h3{color:var(--ink)}
.zt-tailored-copy>p:last-child{margin-bottom:0}
.zt-tailored-intro .zt-tailored-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,5rem)}
.zt-tailored-intro .zt-tailored-section-title{border-left:4px solid var(--accent);padding-left:1.75rem;align-self:start}
.zt-tailored-story{background:#f3f5f9}
.zt-tailored-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.zt-tailored-story-photo img{display:block;width:100%;height:470px;object-fit:cover;border-radius:16px 16px 64px 16px}
.zt-tailored-story .zt-tailored-copy>p:last-child{border-left:3px solid var(--accent);padding-left:1.25rem;margin-top:2rem;color:var(--navy)}
.zt-tailored-section-title{max-width:800px}
.zt-tailored-experiences .zt-tailored-section-title{margin-bottom:2.75rem}
.zt-tailored-copy .zt-detail-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;counter-reset:zt-detail}
.zt-tailored-copy .zt-detail-grid>li{margin:0;padding:2rem;border:1px solid var(--line);border-radius:12px;min-width:0}
.zt-tailored-copy .zt-detail-grid h2,.zt-tailored-copy .zt-detail-grid h3{font-size:1.35rem;line-height:1.35;margin:0 0 1rem}
.zt-tailored-copy .zt-detail-grid p{font-size:1rem;line-height:1.8}
.zt-tailored-experiences .zt-detail-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.zt-tailored-experiences .zt-detail-grid>li{grid-column:span 2;background:#f8f9fc;border:0;border-top:3px solid #d5dced;border-radius:0 0 12px 12px}
.zt-tailored-experiences .zt-detail-grid>li:nth-child(-n+2){grid-column:span 3;background:#fff5eb;border-top-color:var(--accent)}
.zt-tailored-experiences .zt-detail-grid>li:before{font-size:1.1rem;color:#a14100}
.zt-tailored-steps{background:var(--navy);color:#fff}
.zt-tailored-steps .eyebrow{color:#ffc99f}
.zt-tailored-steps .zt-tailored-section-title{margin-bottom:3rem}
.zt-tailored-steps .zt-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.zt-tailored-steps .zt-detail-grid>li{background:transparent;padding:1.5rem 0 0;border:0;border-top:1px solid #ffffff55;border-radius:0}
.zt-tailored-steps .zt-detail-grid>li:before{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--accent);color:#172346;border-radius:50%;margin-bottom:1.5rem}
.zt-tailored-steps .zt-detail-grid h2,.zt-tailored-steps .zt-detail-grid h3,.zt-tailored-steps .zt-detail-grid strong{color:#fff}
.zt-tailored-steps .zt-detail-grid p{color:#dce3f3}
.zt-tailored-values .zt-tailored-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem;align-items:start}
.zt-tailored-values .zt-detail-grid>li{background:#fff;padding:0 0 1.5rem;border:0;border-bottom:1px solid var(--line);border-radius:0}
.zt-tailored-values .zt-detail-grid>li:before{content:"✓";color:#a14100;font-size:1.4rem;margin-bottom:1rem}
.zt-tailored-text .zt-tailored-layout{max-width:850px;margin-inline:auto}
@media(max-width:1000px){
 .zt-tailored-experiences .zt-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .zt-tailored-experiences .zt-detail-grid>li,.zt-tailored-experiences .zt-detail-grid>li:nth-child(-n+2){grid-column:auto}
 .zt-tailored-steps .zt-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .zt-tailored-values .zt-tailored-layout{grid-template-columns:1fr}
}
@media(max-width:700px){
 .zt-tailored-story-grid,.zt-tailored-intro .zt-tailored-layout{grid-template-columns:1fr;gap:2rem}
 .zt-tailored-story-photo img{height:320px}
 .zt-tailored-copy .zt-detail-grid{grid-template-columns:1fr}
 .zt-tailored-copy .zt-detail-grid>li{padding:1.5rem}
 .zt-tailored-steps .zt-detail-grid>li,.zt-tailored-values .zt-detail-grid>li{padding:1.5rem 0 0}
 .zt-tailored-intro .zt-tailored-section-title{padding-left:1.25rem}
}
.zt-tailored-banner .button{margin-top:1rem}

/* Four service pages share the established photo hero and distinct content layouts. */
.zt-service-hero>img{object-position:center 45%}
.zt-service-section>.wrap{max-width:1200px}
.zt-service-section h2{font-size:clamp(2rem,3.3vw,3.25rem);line-height:1.2;margin:0 0 1.75rem}
.zt-service-copy{color:var(--muted);line-height:1.85;min-width:0;overflow-wrap:anywhere}
.zt-service-copy strong,.zt-service-copy h3{color:var(--ink)}
.zt-service-copy>p:last-child{margin-bottom:0}
.zt-service-title{max-width:800px}
.zt-service-intro .zt-service-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,5rem)}
.zt-service-intro .zt-service-title{border-left:4px solid var(--accent);padding-left:1.75rem;align-self:start}
.zt-service-story{background:var(--paper)}
.zt-service-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.zt-service-story-image{display:block;width:100%;height:430px;object-fit:cover;border-radius:12px 12px 60px 12px}
.zt-service-copy>.zt-detail-grid{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;counter-reset:zt-detail}
.zt-service-copy .zt-detail-grid>li{min-width:0;margin:0;border:1px solid var(--line);border-radius:12px;padding:2rem;background:#fff;box-shadow:0 8px 24px #17203e06}
.zt-service-copy .zt-detail-grid>li:before{color:#a14100;font-size:1rem}
.zt-service-copy .zt-detail-grid h3{font-size:1.4rem;line-height:1.35;margin:0 0 1rem}
.zt-service-copy .zt-detail-grid p{font-size:1rem;line-height:1.8}
.zt-service-cards{background:#f6f7fb}
.zt-service-cards .zt-detail-grid>li{border-top:3px solid var(--accent);border-radius:0 0 12px 12px}
.zt-service-extras{background:#fff7ef}
.zt-service-extras .zt-service-layout{max-width:980px;margin-inline:auto}
.zt-service-extras .zt-service-copy>ul,.zt-service-extras .zt-service-copy>ol{display:grid;grid-template-columns:1fr 1fr;gap:1rem;list-style:none;margin:2rem 0;padding:0}
.zt-service-extras .zt-service-copy>ul>li,.zt-service-extras .zt-service-copy>ol>li{padding:1.1rem 1.25rem;border:1px solid #eaded2;border-radius:8px;background:#ffffffa6}
.zt-service-extras .button{margin-top:1.5rem}
.zt-service-steps{background:var(--navy);color:white}
.zt-service-steps .zt-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.zt-service-steps .zt-detail-grid>li{background:none;border:0;border-top:1px solid #ffffff55;border-radius:0;padding:1.5rem 0 0;box-shadow:none}
.zt-service-steps .zt-detail-grid>li:before{display:flex;width:48px;height:48px;align-items:center;justify-content:center;background:var(--accent);border-radius:50%;color:#172346;margin-bottom:1.5rem}
.zt-service-steps .zt-detail-grid h3,.zt-service-steps .zt-detail-grid strong{color:#fff}
.zt-service-steps .zt-detail-grid p{color:#e0e6f3}
.zt-service-activities{background:#f5f7fa}
.zt-service-activities+.zt-service-activities{background:#fff}
.zt-service-activities .zt-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.zt-service-activities .zt-detail-grid>li{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #dce2ec;padding:2rem}
.zt-service-activities .zt-detail-grid>li:before{background:#fff1e5;padding:.35rem .75rem;border-radius:5px;font-size:.875rem}
.zt-service-activities .zt-detail-grid>li>h3{font-size:1.55rem}
.zt-service-activities .zt-detail-grid .zt-activity-duration{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);width:100%;font-weight:600;font-size:.9375rem}
.zt-service-activities .zt-detail-grid .zt-activity-price{padding:.5rem .85rem;background:#fff1e5;color:#823500;font-size:1.05rem;font-weight:700;border-radius:6px;margin-top:.25rem}
.zt-service-activities .zt-service-copy>a{display:inline-block;margin-top:2rem;font-weight:650}
@media(max-width:1000px){
 .zt-service-copy>.zt-detail-grid,.zt-service-steps .zt-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .zt-service-story-grid{gap:2rem}
}
@media(max-width:700px){
 .zt-service-intro .zt-service-layout,.zt-service-story-grid{grid-template-columns:1fr;gap:2rem}
 .zt-service-copy>.zt-detail-grid,.zt-service-steps .zt-detail-grid,.zt-service-extras .zt-service-copy>ul,.zt-service-extras .zt-service-copy>ol{grid-template-columns:1fr}
 .zt-service-copy .zt-detail-grid>li{padding:1.5rem}
 .zt-service-steps .zt-detail-grid>li{padding:1.5rem 0 0}
 .zt-service-story-image{height:300px}
 .zt-service-intro .zt-service-title{padding-left:1.25rem}
 .zt-service-activities .zt-detail-grid>li>h3{font-size:1.4rem}
}

/* Footer identity, published information pages and bottom credits. */
.site-footer{padding-bottom:0}
.footer-grid .zt-footer-logo-link{display:inline-block;max-width:100%;margin:0;line-height:0}
.zt-footer-logo{display:block;max-width:100%;height:auto;max-height:150px;object-fit:contain;object-position:left center}
.footer-grid .zt-footer-logo-backed{background:#fff;border-radius:8px;padding:12px}
.zt-footer-brand{min-width:0;overflow-wrap:anywhere}
.zt-footer-information{display:flex;flex-wrap:wrap;gap:1rem 2rem;padding-block:1.5rem;border-top:1px solid #ffffff20;margin-top:2rem}
.zt-footer-information a,.zt-footer-powered{font-size:.875rem;color:#dce2ee;text-decoration:none}
.zt-footer-information a:hover,.zt-footer-powered:hover{text-decoration:underline;color:#fff}
.zt-footer-bottom{margin-top:2rem;border-top:1px solid #ffffff20;background:#10182d}
.zt-footer-information+.zt-footer-bottom{margin-top:0}
.zt-footer-bottom-inner{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:1rem 2rem;padding-block:1.25rem}
.zt-footer-bottom-creator{text-align:center}
.zt-footer-powered{display:inline-block}
.zt-footer-certifications{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;text-align:right}
.zt-footer-certifications strong{font-size:.8rem;color:#fff;letter-spacing:.06em;text-transform:uppercase}
.zt-footer-certifications span{font-size:.8rem;color:#dce2ee}
@media(max-width:700px){.zt-footer-bottom-inner{grid-template-columns:1fr;align-items:start}.zt-footer-bottom-creator,.zt-footer-certifications{text-align:left;align-items:flex-start}.zt-footer-information{gap:.75rem 1.5rem}}


/* v1.0 — information links share the main footer columns. */
.footer-grid.zt-footer-four{grid-template-columns:1.35fr 1fr 1fr 1fr;gap:2rem}
.zt-footer-information-column{min-width:0;overflow-wrap:anywhere}
@media(max-width:1000px){.footer-grid.zt-footer-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.footer-grid.zt-footer-four>div:first-child{grid-column:1/-1}}
@media(max-width:480px){.footer-grid.zt-footer-four{grid-template-columns:1fr}.footer-grid.zt-footer-four>div:first-child{grid-column:auto}}

/* Mobile navigation opens below a stable header row. */
@media(max-width:1000px){
 .js .header-inner{flex-wrap:nowrap}
 .js .header-inner>.brand,.js .header-inner>.custom-logo-link{flex:1 1 auto;min-width:0}
 .js .header-inner>.menu-toggle,.js .header-inner>.zt-header-search{flex:0 0 auto}
 .js .site-header .brand img,.js .site-header .custom-logo{max-width:100%;height:auto}
 .js .site-header .nav{position:absolute;inset:100% 0 auto;width:100%;margin:0;padding:1rem max(1.25rem,calc((100% - 1320px)/2));background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px #17203e18;max-height:var(--zt-menu-available,65vh);overflow-y:auto;overscroll-behavior:contain}
 .js .site-header .nav.is-open{max-height:var(--zt-menu-available,65vh)}
 .js .site-header .nav a{min-height:48px;overflow-wrap:anywhere}
 .js .site-header .nav .sub-menu{padding-left:1rem}
 .js .site-header .nav>ul>li+li{border-top:1px solid var(--line)}
 .js .zt-transparent-header:not(.zt-menu-open) .site-header .nav>ul>li>a{color:var(--ink)}
}
@media(max-width:700px){
 .topbar .zt-topbar-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:.4rem;align-items:center;padding-block:.4rem}
 .zt-topbar-info{justify-content:flex-start;text-align:left;font-size:.72rem;line-height:1.45;overflow-wrap:anywhere}
 .zt-topbar-links{justify-content:flex-end;gap:0;margin:0}
 .zt-topbar-contact-text{display:none}
 .zt-topbar-links>.zt-topbar-contact,.zt-social-links a{width:32px;height:36px;min-height:36px;justify-content:center;border-radius:4px}
 .zt-social-links{display:contents}
 .zt-topbar-links>a:hover{background:#ffffff20}
 .header-inner{column-gap:.65rem}
 .js .menu-toggle{padding:.5rem .7rem}
 .js .site-header .brand img,.js .site-header .custom-logo{width:auto;max-width:100%}
 .js .zt-transparent-header .site-header .brand,.js .zt-transparent-header .site-header .custom-logo-link{padding:6px}
 .js .zt-transparent-header .site-header .brand img,.js .zt-transparent-header .site-header .custom-logo{max-width:100%}
 .zt-footer-bottom-inner{gap:1rem;padding-right:calc(4.5rem + env(safe-area-inset-right));padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}
 .zt-footer-bottom-inner>div{min-width:0;overflow-wrap:anywhere}
 .zt-footer-certifications{gap:.35rem;line-height:1.65}
 .zt-back-to-top{right:max(.85rem,env(safe-area-inset-right));bottom:max(.85rem,env(safe-area-inset-bottom))}
 .hero h1,.zt-about-hero h1{overflow-wrap:break-word}
 .zt-form input,.zt-form textarea,.zt-form select,.zt-search-form input{font-size:16px}
}

/* Table of Contents for Terms & Conditions and Legal Pages */
.terms-toc-box {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.5rem 1.75rem;
  margin: 2rem 0 2.75rem 0;
  box-shadow: 0 2px 8px rgba(23, 32, 62, 0.04);
}
.terms-toc-title {
  font-size: 1.15rem;
  font-weight: 750;
  color: var(--navy);
  margin: 0 0 1rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.terms-toc-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 0.65rem 1.25rem;
}
.terms-toc-list li {
  margin: 0;
  padding: 0;
}
.terms-toc-list a {
  color: var(--ink);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 550;
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.terms-toc-list a:hover {
  color: #a14100;
  background-color: var(--paper);
  text-decoration: underline;
}
.terms-section-heading {
  scroll-margin-top: 100px;
}

/* Hero actions flex row for service pages */
.zt-hero-actions {
  display: flex;
  gap: 2rem;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.zt-hero-actions .zt-about-jump {
  margin-top: 0;
}

.zt-service-activities a[href*="getyourguide.com"]{display:none !important}

/* Language switcher button in header */
.zt-header-actions-group {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}
.zt-lang-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 42px;
  padding: 0 0.85rem;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  font-size: 0.875rem;
  font-weight: 750;
  text-decoration: none;
  letter-spacing: 0.05em;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.zt-lang-toggle:hover {
  background: var(--paper);
  border-color: var(--accent);
  color: #a14100;
  transform: translateY(-1px);
}
.zt-lang-badge {
  display: inline-block;
  line-height: 1;
}
@media (max-width: 700px) {
  .zt-lang-toggle {
    height: 38px;
    min-width: 38px;
    padding: 0 0.5rem;
    font-size: 0.8rem;
  }
  .zt-header-search summary {
    width: 38px;
    height: 38px;
  }
}


/* ==========================================================================
   Travel Blog & Destination Guides System (v1.3.0)
   ========================================================================== */

/* Blog Archive Page & Filters */
.zt-blog-section-wrap {
  padding-top: 2.5rem;
  background-color: var(--paper);
  min-height: 55vh;
}
.zt-blog-filters {
  margin-bottom: 2.5rem;
}
.zt-filter-chips {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}
.zt-filter-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 1.15rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 0.9375rem;
  font-weight: 650;
  text-decoration: none;
  transition: all 0.2s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,0.03);
}
.zt-filter-chip:hover {
  background: #fff;
  border-color: var(--accent);
  color: #a14100;
  transform: translateY(-1px);
}
.zt-filter-chip.is-active {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
  box-shadow: 0 4px 12px rgba(36, 47, 96, 0.2);
}

/* Blog Cards Grid */
.zt-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}
.zt-blog-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(23, 32, 62, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.zt-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(23, 32, 62, 0.1);
  border-color: #cbd5e1;
}
.zt-blog-card-media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #17213e;
}
.zt-blog-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.zt-blog-card:hover .zt-blog-card-media img {
  transform: scale(1.05);
}
.zt-card-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  display: inline-block;
  padding: 0.35rem 0.75rem;
  background: rgba(36, 47, 96, 0.9);
  backdrop-filter: blur(4px);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 4px;
}
.zt-blog-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.5rem;
}
.zt-blog-card-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--muted);
  margin-bottom: 0.75rem;
}
.zt-meta-time {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.section .zt-blog-card-title,
.zt-blog-card .zt-blog-card-title,
h2.zt-blog-card-title,
h3.zt-blog-card-title,
.zt-blog-card-title {
  font-size: 1.15rem !important;
  line-height: 1.38 !important;
  margin: 0 0 0.75rem !important;
  font-weight: 750 !important;
  letter-spacing: -0.015em !important;
}
.section .zt-blog-card-title a,
.zt-blog-card-title a {
  font-size: inherit !important;
  line-height: inherit !important;
  color: var(--ink);
  text-decoration: none;
  transition: color 0.2s ease;
}
.zt-blog-card-title a:hover {
  color: #a14100;
}
.zt-blog-card-excerpt {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--muted);
  margin: 0 0 1.5rem;
  flex: 1;
}
.zt-blog-card-footer {
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  margin-top: auto;
}
.zt-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.9375rem;
  font-weight: 750;
  color: var(--blue);
  text-decoration: none;
  transition: gap 0.2s ease, color 0.2s ease;
}
.zt-card-link:hover {
  color: #a14100;
  gap: 0.6rem;
}
.zt-blog-pagination {
  margin-top: 3.5rem;
  display: flex;
  justify-content: center;
}
.zt-blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 0.75rem;
  margin: 0 0.25rem;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  font-weight: 650;
}
.zt-blog-pagination .page-numbers.current {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}
.zt-blog-pagination .page-numbers:hover:not(.current) {
  background: var(--paper);
  border-color: var(--accent);
}

/* ==========================================================================
   Single Blog Article Layout (3/4 content + 1/4 sidebar)
   ========================================================================== */
.zt-single-post-page {
  background: #fff;
  padding: 3rem 0 5rem;
}
.zt-article-container {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 3.5rem;
  align-items: start;
}
.zt-article-main {
  min-width: 0;
}
.zt-article-meta-top {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}
.zt-article-meta-top .zt-card-badge {
  position: static;
}
.zt-article-meta-top .zt-meta-date,
.zt-article-meta-top .zt-meta-time {
  font-size: 0.9375rem;
  color: var(--muted);
  font-weight: 550;
}
.zt-article-title {
  font-size: clamp(1.65rem, 2.5vw, 2.25rem);
  line-height: 1.25;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 1.25rem;
  letter-spacing: -0.025em;
}
.zt-article-author-byline {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  color: var(--muted);
  padding-bottom: 1.75rem;
  border-bottom: 1px solid var(--line);
  margin-bottom: 2rem;
}
.zt-article-hero-media {
  margin: 0 0 2.5rem;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}
.zt-article-hero-media img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  display: block;
}

/* Article Content & Sections */
.zt-article-content {
  font-size: 1.125rem;
  line-height: 1.85;
  color: #273042;
}
.zt-blog-section {
  margin-bottom: 2.5rem;
}
.zt-blog-section h2 {
  font-size: 1.65rem;
  color: var(--navy);
  margin: 0 0 1rem;
  font-weight: 750;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #eef2f7;
}
.zt-blog-section p {
  margin: 0 0 1.25rem;
}

/* Tip Box Callout */
.zt-tip-box {
  background: #fdfaf3;
  border: 1px solid #f9dfad;
  border-left: 5px solid var(--accent);
  border-radius: 8px;
  padding: 1.5rem 1.75rem;
  margin: 2.5rem 0;
}
.zt-tip-header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: #a14100;
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}
.zt-tip-header strong {
  font-weight: 750;
}
.zt-tip-icon {
  color: var(--accent);
  flex-shrink: 0;
}
.zt-tip-box p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #3b3a36;
}

/* Article Tags */
.zt-article-tags {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 1.5rem 0;
  border-top: 1px solid var(--line);
  margin-top: 2.5rem;
}
.zt-tags-label {
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--navy);
}
.zt-tag-item {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background: var(--paper);
  border-radius: 999px;
  font-size: 0.8125rem;
  color: var(--ink);
  font-weight: 600;
}

.zt-article-navigation {
  margin-top: 2rem;
}
.button-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.35rem;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--navy);
  font-weight: 700;
  font-size: 0.9375rem;
  text-decoration: none;
  transition: all 0.2s ease;
}
.button-outline:hover {
  background: var(--paper);
  border-color: var(--navy);
}

/* ==========================================================================
   Sidebar: Sticky Column & 4 Related Packages
   ========================================================================== */
.zt-article-sidebar {
  width: 100%;
}
.zt-sidebar-sticky {
  position: sticky;
  top: 6.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}
.zt-sidebar-header {
  border-bottom: 2px solid var(--navy);
  padding-bottom: 0.75rem;
}
.zt-sidebar-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 0.35rem;
}
.zt-sidebar-subtitle {
  font-size: 0.85rem;
  color: var(--muted);
  margin: 0;
  line-height: 1.4;
}
.zt-sidebar-packages-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.zt-sidebar-pkg-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.zt-sidebar-pkg-card:hover {
  transform: translateY(-2px);
  border-color: #cbd5e1;
  box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}
.zt-sidebar-pkg-media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #17213e;
}
.zt-sidebar-pkg-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.zt-sidebar-pkg-card:hover .zt-sidebar-pkg-media img {
  transform: scale(1.05);
}
.zt-pkg-badge {
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
  padding: 0.25rem 0.5rem;
  background: rgba(14, 24, 48, 0.85);
  backdrop-filter: blur(3px);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 4px;
}
.zt-sidebar-pkg-info {
  padding: 0.85rem 1rem 1rem;
}
.zt-sidebar-pkg-title {
  font-size: 0.95rem;
  line-height: 1.4;
  margin: 0 0 0.65rem;
  font-weight: 700;
}
.zt-sidebar-pkg-title a {
  color: var(--ink);
  text-decoration: none;
  transition: color 0.15s ease;
}
.zt-sidebar-pkg-title a:hover {
  color: #a14100;
}
.zt-sidebar-pkg-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.5rem;
  border-top: 1px dashed var(--line);
}
.zt-sidebar-pkg-price {
  font-weight: 800;
  font-size: 0.9375rem;
  color: var(--navy);
}
.zt-sidebar-pkg-price small {
  font-weight: 500;
  color: var(--muted);
  font-size: 0.75rem;
}
.zt-sidebar-pkg-link {
  font-size: 0.8125rem;
  font-weight: 750;
  color: var(--accent);
  text-decoration: none;
  transition: color 0.15s ease;
}
.zt-sidebar-pkg-link:hover {
  color: #a14100;
}

/* Sidebar Custom Trip CTA Card */
.zt-sidebar-cta-card {
  background: linear-gradient(135deg, #17213e 0%, #242f60 100%);
  color: #fff;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 8px 24px rgba(23, 33, 62, 0.18);
  text-align: center;
}
.zt-cta-icon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 121, 27, 0.18);
  color: var(--accent);
  margin-bottom: 0.85rem;
}
.zt-sidebar-cta-card h4 {
  font-size: 1.15rem;
  font-weight: 750;
  margin: 0 0 0.5rem;
  color: #fff;
}
.zt-sidebar-cta-card p {
  font-size: 0.875rem;
  line-height: 1.55;
  color: #d8e0ee;
  margin: 0 0 1.15rem;
}
.button-small {
  min-height: 42px;
  padding: 0.6rem 1.1rem;
  font-size: 0.875rem;
  width: 100%;
}

/* Mobile & Tablet Breakpoints */
@media (max-width: 1080px) {
  .zt-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .zt-article-container {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .zt-sidebar-sticky {
    position: static;
  }
  .zt-sidebar-packages-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

@media (max-width: 640px) {
  .zt-blog-grid {
    grid-template-columns: 1fr;
  }
  .zt-sidebar-packages-list {
    grid-template-columns: 1fr;
  }
  .zt-single-post-page {
    padding-top: 1.5rem;
  }
  .zt-article-title {
    font-size: 1.5rem;
  }
  .section .zt-blog-card-title,
  .zt-blog-card-title {
    font-size: 1.05rem !important;
    line-height: 1.35 !important;
  }
}

/* Enriched Travel Guide Article Cards */
.zt-lead-text {
  font-size: 1.15rem;
  line-height: 1.8;
  color: #17213e;
  font-weight: 500;
  margin-bottom: 2rem;
}
.zt-guide-landmarks,
.zt-guide-restaurants {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin: 1.25rem 0 2.25rem;
}
.zt-landmark-card,
.zt-restaurant-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-left: 4px solid var(--navy);
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.zt-restaurant-card {
  border-left-color: var(--accent);
}
.zt-landmark-card:hover,
.zt-restaurant-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.zt-landmark-card h3,
.zt-restaurant-card h4 {
  font-size: 1.15rem;
  font-weight: 750;
  color: var(--navy);
  margin: 0 0 0.5rem;
}
.zt-restaurant-card h4 {
  color: #a14100;
}
.zt-landmark-card p,
.zt-restaurant-card p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
  color: #334155;
}
