:root{
    --green:#073f2c;
    --green-2:#0f6547;
    --gold:#d89a17;
    --gold-2:#f0c86a;
    --cream:#fff9ed;
    --sand:#f3ead8;
    --ink:#15231d;
    --muted:#62736b;
    --line:#e7d8bb;
    --white:#fff;
    --shadow:0 22px 55px rgba(25,43,34,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    color:var(--ink);
    background:var(--cream);
    line-height:1.62;
}
a{color:inherit}
img{max-width:100%}
.site-header{
    position:sticky;
    top:0;
    z-index:20;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:12px clamp(18px,5vw,72px);
    background:rgba(255,249,237,.95);
    border-bottom:1px solid rgba(231,216,187,.88);
    backdrop-filter:blur(14px);
}
.brand{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:max-content;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:22px;
    font-weight:800;
    text-decoration:none;
}
.brand img{
    width:50px;
    height:50px;
    object-fit:contain;
    border-radius:50%;
}
.brand b{
    display:block;
    color:var(--gold);
    font-family:Arial,Helvetica,sans-serif;
    font-size:10px;
    letter-spacing:.38em;
    text-transform:uppercase;
}
.main-nav{
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--green);
    font-size:15.5px;
    font-weight:800;
}
.main-nav a{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:8px 8px;
    border-radius:999px;
    text-decoration:none;
    white-space:nowrap;
    transition:background .15s ease,color .15s ease,transform .15s ease;
}
.main-nav a:not(.nav-cta):hover{
    background:rgba(216,154,23,.12);
    color:var(--green);
    transform:translateY(-1px);
}
.nav-cta,.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:12px 20px;
    border:0;
    border-radius:999px;
    background:var(--gold);
    color:#fff!important;
    font:700 14px/1 Arial,Helvetica,sans-serif;
    text-decoration:none;
    box-shadow:0 12px 25px rgba(216,154,23,.22);
    cursor:pointer;
}
.main-nav .nav-cta{
    min-height:42px;
    padding:11px 17px;
    font-size:14.5px;
}
.ghost-nav{
    background:transparent;
    color:var(--green)!important;
    border:1px solid rgba(7,63,44,.22);
    box-shadow:none;
}
.btn.green,.nav-cta{background:var(--green)}
.nav-cta.ghost-nav{background:transparent}
.btn.ghost{
    background:transparent;
    color:var(--green)!important;
    border:1px solid rgba(7,63,44,.28);
    box-shadow:none;
}
.btn.light{
    background:#fff;
    color:var(--green)!important;
    box-shadow:none;
}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.portal-header-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    margin-left:auto;
}
.portal-public-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:40px;
    padding:9px 13px;
    border:1px solid rgba(7,63,44,.18);
    border-radius:999px;
    color:var(--green);
    font-size:13px;
    font-weight:800;
    text-decoration:none;
    background:#fffdf8;
}
.account-menu{
    position:relative;
}
.account-menu summary{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:48px;
    padding:5px 8px 5px 5px;
    border:1px solid rgba(7,63,44,.18);
    border-radius:999px;
    background:#fff;
    color:var(--green);
    cursor:pointer;
    list-style:none;
    box-shadow:0 10px 24px rgba(7,63,44,.08);
}
.account-menu summary::-webkit-details-marker{display:none}
.account-avatar{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    overflow:hidden;
    border-radius:50%;
    background:var(--green);
    color:#fff;
    font-weight:900;
    line-height:1;
}
.account-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
    background:#fff;
}
.account-label{
    display:grid;
    min-width:0;
    line-height:1.18;
}
.account-label b{
    max-width:220px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
}
.account-label small{
    color:var(--muted);
    font-size:11px;
}
.account-menu-panel{
    position:absolute;
    top:calc(100% + 9px);
    right:0;
    z-index:35;
    display:grid;
    gap:4px;
    min-width:230px;
    padding:8px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 22px 45px rgba(7,63,44,.16);
}
.account-menu:not([open]) .account-menu-panel{display:none}
.account-menu-panel a,
.account-menu-panel button{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    min-height:40px;
    padding:9px 10px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:var(--green);
    font:800 13px/1.2 Arial,Helvetica,sans-serif;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
}
.account-menu-panel a:hover,
.account-menu-panel button:hover{
    background:#edf8f3;
}
.nav-toggle{
    display:none;
    width:44px;
    height:44px;
    border:0;
    border-radius:50%;
    background:var(--green);
    place-items:center;
    cursor:pointer;
}
.nav-toggle span{
    display:block;
    width:18px;
    height:2px;
    margin:3px auto;
    background:#fff;
}
.hero{
    position:relative;
    overflow:hidden;
    min-height:calc(100vh - 75px);
    padding:clamp(44px,7vw,92px) clamp(18px,5vw,72px) clamp(34px,5vw,68px);
    background:
        linear-gradient(90deg,rgba(255,249,237,.98) 0%,rgba(255,249,237,.92) 42%,rgba(255,249,237,.38) 74%),
        url('/images/packages/2ef9f218fe0d1b0ebc45e7a4464cd5ee.jpg') center/cover;
}
.hero:before,.page-title:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
        radial-gradient(circle at 18% 28%,rgba(216,154,23,.09),transparent 22%),
        linear-gradient(135deg,transparent 0 46%,rgba(7,63,44,.06) 46% 47%,transparent 47% 100%);
}
.hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);
    gap:clamp(24px,5vw,72px);
    align-items:end;
    max-width:1220px;
    margin:0 auto;
}
.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--gold);
    text-transform:uppercase;
    font-size:12px;
    letter-spacing:.16em;
    font-weight:800;
}
.eyebrow:before{
    content:"";
    width:28px;
    height:2px;
    background:var(--gold);
}
h1,h2,h3{line-height:1.08}
.hero h1,.page-title h1{
    margin:14px 0 18px;
    max-width:760px;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:clamp(44px,7vw,86px);
    letter-spacing:0;
}
.hero h1 span,.page-title h1 span{color:var(--gold)}
.hero-copy{
    max-width:690px;
    margin:0 0 24px;
    color:#21342c;
    font-size:clamp(17px,1.6vw,21px);
}
.proof-strip{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    max-width:820px;
    margin-top:32px;
}
.proof-item{
    padding:17px;
    border:1px solid rgba(7,63,44,.13);
    border-radius:8px;
    background:rgba(255,255,255,.72);
}
.proof-item b{
    display:block;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:26px;
}
.proof-item span{color:var(--muted);font-size:13px}
.hero-panel{
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:18px;
    padding:26px;
    border:1px solid rgba(255,255,255,.58);
    border-radius:8px;
    background:rgba(7,63,44,.92);
    color:#fff;
    box-shadow:var(--shadow);
}
.hero-panel img{
    width:132px;
    height:132px;
    object-fit:contain;
    margin-bottom:10px;
    border-radius:50%;
    background:#fff9ed;
}
.hero-panel h2{
    margin:0 0 10px;
    font-family:Georgia,serif;
    font-size:31px;
}
.hero-panel p{margin:0;color:#f7edd6}
.mini-list{
    display:grid;
    gap:10px;
    margin:18px 0 0;
    padding:0;
    list-style:none;
}
.mini-list li{
    display:flex;
    gap:10px;
    align-items:flex-start;
}
.mini-list li:before{
    content:"";
    flex:0 0 9px;
    width:9px;
    height:9px;
    margin-top:9px;
    border-radius:50%;
    background:var(--gold);
}
.section{
    position:relative;
    padding:clamp(52px,7vw,92px) clamp(18px,5vw,72px);
    background:#fff;
}
.section.soft{background:var(--cream)}
.section.dark{
    overflow:hidden;
    background:linear-gradient(135deg,#073f2c,#0b2c20);
    color:#fff;
}
.section-inner{
    max-width:1220px;
    margin:0 auto;
}
.section-title{
    max-width:840px;
    margin:0 0 34px;
}
.section-title.center{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}
.section-title.center .eyebrow{justify-content:center}
.section-title h2{
    margin:9px 0 10px;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:clamp(31px,4vw,49px);
}
.dark .section-title h2,.dark h2,.dark h3{color:#fff}
.section-title p{margin:0;color:var(--muted);font-size:17px}
.dark .section-title p,.dark p{color:#eadfc9}
.grid{display:grid;gap:22px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.audience-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.audience-card{
    position:relative;
    min-height:260px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    overflow:hidden;
    padding:24px;
    border-radius:8px;
    color:#fff;
    background:
        linear-gradient(180deg,rgba(7,63,44,.2),rgba(7,63,44,.88)),
        url('/images/packages/ce06663fe835f280bfdbd81dc6e33f78.jpg') center/cover;
    box-shadow:var(--shadow);
}
.audience-card:nth-child(2){
    background:
        linear-gradient(180deg,rgba(7,63,44,.16),rgba(7,63,44,.9)),
        url('/images/packages/00f8de512d51bb921d5843b520313821.jpg') center/cover;
}
.audience-card:nth-child(3){
    background:
        linear-gradient(180deg,rgba(7,63,44,.12),rgba(7,63,44,.9)),
        url('/images/packages/711e41c139f00df7b4c02e60f6a49576.jpg') center/cover;
}
.audience-card span{
    width:max-content;
    max-width:100%;
    margin-bottom:12px;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(216,154,23,.94);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.audience-card h3{
    margin:0 0 9px;
    font-family:Georgia,serif;
    font-size:29px;
}
.audience-card p{margin:0 0 15px;color:#f7edd6}
.audience-card a{
    color:#fff;
    font-weight:800;
    text-decoration-color:rgba(255,255,255,.45);
    text-underline-offset:5px;
}
.card{
    min-width:0;
    border:1px solid var(--line);
    border-radius:8px;
    padding:24px;
    background:#fff;
    box-shadow:0 16px 38px rgba(25,43,34,.07);
}
.card h3{
    margin:0 0 10px;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:24px;
}
.card p{margin:0 0 14px;color:var(--muted)}
.card p:last-child{margin-bottom:0}
.feature-card{
    min-height:100%;
    border-top:4px solid var(--gold);
}
.icon{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    margin-bottom:14px;
    border-radius:50%;
    background:rgba(216,154,23,.13);
    color:var(--gold);
    font-weight:900;
}
.market-card{
    display:grid;
    grid-template-rows:auto 1fr;
    gap:14px;
    min-height:100%;
}
.showcase-badge{
    display:inline-flex;
    margin-bottom:11px;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(216,154,23,.13);
    color:var(--gold);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}
.slider-shell{
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:var(--shadow);
    overflow:hidden;
}
.slider-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:18px;
    border-bottom:1px solid var(--line);
}
.slider-top strong{
    display:block;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:24px;
}
.slider-actions{
    display:flex;
    align-items:center;
    gap:8px;
}
.slider-actions button{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid rgba(7,63,44,.18);
    border-radius:50%;
    background:#fffdf8;
    color:var(--green);
    box-shadow:0 8px 18px rgba(25,43,34,.08);
    cursor:pointer;
    transition:background .2s ease,color .2s ease,transform .2s ease,border-color .2s ease;
}
.slider-actions button span{
    display:block;
    min-width:auto;
    font-size:22px;
    font-weight:900;
    line-height:.82;
    transform:translateY(-1px);
}
.slider-actions button:hover{
    border-color:var(--green);
    background:var(--green);
    color:#fff;
    transform:translateY(-1px);
}
.slider-actions button:disabled{
    opacity:.45;
    cursor:not-allowed;
    transform:none;
    background:#f7efe0;
    color:var(--muted);
    border-color:var(--line);
    box-shadow:none;
}
.slider-actions > span{
    min-width:54px;
    color:var(--green);
    font-size:13px;
    font-weight:900;
    text-align:center;
}
.package-slider{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(320px,390px);
    gap:16px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding:18px;
    scrollbar-width:thin;
}
.package-card{
    scroll-snap-align:start;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 12px 28px rgba(25,43,34,.08);
}
.package-image{
    position:relative;
    height:210px;
    overflow:hidden;
    background:var(--sand);
}
.package-image img,.tour-row-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.package-image span,.tour-row-image span{
    position:absolute;
    left:14px;
    top:14px;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(7,63,44,.92);
    color:#fff;
    font-size:12px;
    font-weight:900;
}
.package-body{
    padding:18px;
}
.package-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:10px;
}
.package-meta span{
    display:inline-flex;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(216,154,23,.12);
    color:var(--green);
    font-size:12px;
    font-weight:800;
}
.package-card h3,.tour-row h2{
    margin:0 0 8px;
    color:var(--green);
    font-family:Georgia,serif;
}
.package-card h3{font-size:24px}
.tour-row h2{font-size:31px}
.package-link{
    display:inline-flex;
    margin-top:12px;
    color:var(--green);
    font-weight:900;
    text-decoration-color:rgba(7,63,44,.28);
    text-underline-offset:5px;
}
.source-link{
    margin-top:10px;
    font-size:13px;
}
.operator{
    color:var(--gold)!important;
    font-weight:800;
}
.package-facts{
    display:grid;
    gap:10px;
    margin:14px 0;
    padding:14px 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}
.package-facts div{
    display:grid;
    grid-template-columns:86px 1fr;
    gap:10px;
}
.package-facts dt{
    color:var(--muted);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:800;
}
.package-facts dd{
    margin:0;
    color:var(--green);
    font-weight:800;
    min-width:0;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.itinerary-preview{
    display:grid;
    gap:7px;
    margin-top:12px;
    color:var(--muted);
    font-size:13px;
}
.itinerary-preview b{
    color:var(--green);
    font-size:14px;
}
.itinerary-preview span{
    padding-left:10px;
    border-left:2px solid rgba(216,154,23,.45);
}
.package-list{
    display:grid;
    gap:22px;
}
.filter-bar{
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr 1fr auto;
    gap:14px;
    align-items:end;
    padding:18px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 12px 28px rgba(25,43,34,.06);
}
.filter-bar .field{margin:0}
.filter-actions{
    display:flex;
    gap:9px;
    align-items:center;
    padding-bottom:0;
}
.result-summary{
    display:flex;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
    color:var(--muted);
}
.result-summary strong{
    color:var(--green);
}
.tour-row{
    display:grid;
    grid-template-columns:360px 1fr;
    gap:26px;
    overflow:hidden;
    padding:16px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 16px 38px rgba(25,43,34,.08);
}
.tour-row-image{
    position:relative;
    min-height:340px;
    border-radius:8px;
    overflow:hidden;
    background:var(--sand);
}
.tour-row-body{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.tour-row-body p{margin:0;color:var(--muted)}
.tour-row-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}
.tour-row-top strong{
    flex:0 0 auto;
    padding:9px 11px;
    border-radius:8px;
    background:var(--green);
    color:#fff;
    font-size:13px;
}
.operator-line{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(220px,.65fr);
    gap:12px;
    padding:12px;
    border:1px solid rgba(7,63,44,.12);
    border-radius:8px;
    background:#fffdf8;
}
.operator-line span{
    display:block;
    color:var(--muted);
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.operator-line a,.operator-line b{
    display:block;
    color:var(--green);
    font-weight:900;
}
.package-stat-grid{
    display:grid;
    grid-template-columns:1fr 1.2fr .75fr;
    gap:10px;
    margin:0;
}
.package-stat-grid div{
    min-height:78px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.package-stat-grid dt{
    margin-bottom:5px;
    color:var(--muted);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:900;
}
.package-stat-grid dd{
    margin:0;
    color:var(--green);
    font-weight:800;
}
.itinerary-details{
    margin:12px 0 18px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fffdf8;
}
.itinerary-details summary{
    padding:12px 14px;
    color:var(--green);
    font-weight:900;
    cursor:pointer;
}
.itinerary-details ol{
    margin:0;
    padding:0 18px 16px 38px;
    color:var(--muted);
}
.itinerary-details li{margin-bottom:8px}
.pagination-wrap{
    margin-top:24px;
}
.pagination-wrap nav{
    display:grid;
    gap:14px;
}
.pagination-wrap nav > div{
    display:flex!important;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.pagination-wrap p{
    margin:0;
    color:var(--muted);
    font-size:13px;
}
.pagination-wrap a,
.pagination-wrap span[aria-current] span,
.pagination-wrap span.cursor-not-allowed,
.pagination-wrap nav > div > span,
.pagination-wrap nav > div > a{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-width:40px;
    min-height:40px;
    padding:9px 13px!important;
    border:1px solid var(--line)!important;
    border-radius:8px!important;
    background:#fff!important;
    color:var(--green)!important;
    font:800 13px/1 Arial,Helvetica,sans-serif!important;
    text-decoration:none!important;
    box-shadow:0 8px 18px rgba(25,43,34,.06);
}
.pagination-wrap span[aria-current] span{
    background:var(--green)!important;
    border-color:var(--green)!important;
    color:#fff!important;
}
.pagination-wrap span.cursor-not-allowed,
.pagination-wrap nav > div > span{
    opacity:.55;
    box-shadow:none;
}
.pagination-wrap a:hover{
    border-color:var(--green)!important;
    background:#edf8f3!important;
}
.pagination-wrap svg{
    width:18px!important;
    height:18px!important;
}
.pagination-wrap nav svg,
.pagination-wrap nav a svg,
.pagination-wrap nav span svg{
    width:16px!important;
    height:16px!important;
    max-width:16px!important;
    max-height:16px!important;
}
.pagination-wrap nav span[aria-disabled="true"],
.pagination-wrap nav a[rel="prev"],
.pagination-wrap nav a[rel="next"]{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
}
.package-hero{
    display:grid;
    grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);
    min-height:560px;
    background:var(--green);
    color:#fff;
}
.package-hero-image{
    min-height:420px;
}
.package-hero-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.package-hero-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(32px,6vw,72px);
}
.package-hero h1{
    margin:14px 0 16px;
    font-family:Georgia,serif;
    font-size:clamp(38px,5vw,70px);
}
.package-hero p{color:#f6ead3}
.package-hero .operator{color:var(--gold-2)!important}
.detail-grid{
    display:grid;
    grid-template-columns:minmax(280px,330px) minmax(0,1fr);
    gap:30px;
    align-items:start;
}
.detail-grid > *{
    min-width:0;
}
.detail-sidebar{
    display:grid;
    gap:16px;
    position:sticky;
    top:96px;
    min-width:0;
}
.clean-list{
    margin:0;
    padding-left:18px;
    color:var(--muted);
}
.clean-list li{margin-bottom:8px}
.day-list{
    display:grid;
    gap:18px;
}
.day-card{
    display:grid;
    grid-template-columns:300px 1fr;
    gap:20px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 14px 34px rgba(25,43,34,.07);
}
.day-card img{
    width:100%;
    height:100%;
    min-height:230px;
    object-fit:cover;
    display:block;
}
.day-card div{
    padding:22px 22px 22px 0;
}
.day-card span{
    display:inline-flex;
    margin-bottom:9px;
    padding:6px 9px;
    border-radius:999px;
    background:rgba(216,154,23,.13);
    color:var(--gold);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}
.day-card h3{
    margin:0 0 10px;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:27px;
}
.day-card p{margin:0;color:var(--muted)}
.booking-panel{
    margin-top:34px;
    padding:28px;
    border:1px solid var(--line);
    border-radius:8px;
    background:linear-gradient(180deg,#fff,#fffaf0);
    box-shadow:var(--shadow);
}
.booking-layout{
    display:grid;
    grid-template-columns:360px 1fr;
    gap:28px;
    align-items:start;
}
.booking-summary{
    display:grid;
    gap:16px;
    position:sticky;
    top:96px;
}
.booking-summary img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:8px;
    box-shadow:var(--shadow);
}
.detail-cta{
    margin-top:28px;
    padding:26px;
    border:1px solid var(--line);
    border-radius:8px;
    background:var(--cream);
}
.detail-cta h2{
    margin:0 0 8px;
    color:var(--green);
    font-family:Georgia,serif;
}
.detail-cta p{color:var(--muted)}
.booking-form{
    display:grid;
    gap:16px;
}
.booking-form .btn{
    justify-self:start;
}
.booking-confirmation{
    max-width:760px;
    margin:0 auto;
}
.booking-confirmation h1{
    margin:12px 0;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:clamp(34px,5vw,56px);
}
.operator-title .package-meta{
    margin:18px 0;
}
.compact-section{
    padding-top:24px;
    padding-bottom:24px;
}
.review-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,420px);
    gap:34px;
    align-items:start;
}
.review-list{
    display:grid;
    gap:22px;
}
.review-summary-card{
    display:grid;
    grid-template-columns:minmax(230px,.65fr) minmax(280px,1fr);
    gap:22px;
    align-items:center;
    margin:0 0 24px;
    padding:22px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 14px 34px rgba(25,43,34,.07);
}
.review-score{
    display:flex;
    align-items:center;
    gap:16px;
}
.review-score strong{
    display:grid;
    place-items:center;
    width:82px;
    height:82px;
    border-radius:8px;
    background:var(--green);
    color:#fff;
    font-family:Georgia,serif;
    font-size:32px;
}
.review-score p{
    margin:8px 0 0;
    color:var(--muted);
}
.rating-bars{
    display:grid;
    gap:9px;
}
.rating-bar-row{
    display:grid;
    grid-template-columns:58px 1fr 28px;
    gap:10px;
    align-items:center;
    color:var(--muted);
    font-size:13px;
    font-weight:800;
}
.rating-bar-row div{
    height:9px;
    overflow:hidden;
    border-radius:999px;
    background:#f0e3ca;
}
.rating-bar-row i{
    display:block;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,var(--gold),var(--gold-2));
}
.rating-bar-row b{
    color:var(--green);
    text-align:right;
}
.review-card{
    position:relative;
    display:block;
    clear:both;
    padding:22px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 14px 34px rgba(25,43,34,.07);
}
.review-head{
    display:flex;
    justify-content:space-between;
    gap:18px;
    margin-bottom:12px;
}
.review-head strong{
    display:block;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:23px;
    line-height:1.18;
}
.review-head span{
    display:block;
    color:var(--muted);
    font-size:13px;
}
.review-head b{
    flex:0 0 auto;
    align-self:flex-start;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(216,154,23,.13);
    color:var(--green);
}
.star-rating{
    display:inline-flex!important;
    align-items:center;
    gap:2px;
    min-width:auto;
    background:linear-gradient(135deg,rgba(216,154,23,.16),rgba(240,200,106,.2))!important;
    color:#d5c3a0!important;
    letter-spacing:0;
}
.star-rating span{
    color:#d5c3a0;
    font-size:16px;
    line-height:1;
}
.star-rating span.filled{
    color:var(--gold);
    text-shadow:0 1px 0 rgba(7,63,44,.08);
}
.star-rating.large{
    padding:0!important;
    background:transparent!important;
}
.star-rating.large span{
    font-size:19px;
}
.star-rating small{
    margin-left:7px;
    color:var(--green);
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}
.review-card p{
    margin:0 0 12px;
    color:var(--muted);
}
.review-quote{
    position:relative;
    margin:4px 0 14px;
    padding:0 0 0 18px;
    border-left:3px solid var(--gold);
    color:#2f463d;
    font-size:16px;
    font-style:italic;
    line-height:1.7;
}
.review-quote:before{
    content:"“";
    color:var(--gold);
    font-family:Georgia,serif;
    font-size:28px;
    font-style:normal;
    line-height:0;
    vertical-align:-8px;
}
.review-quote:after{
    content:"”";
    color:var(--gold);
    font-family:Georgia,serif;
    font-size:22px;
    font-style:normal;
}
.review-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.review-meta span{
    display:inline-flex;
    padding:5px 8px;
    border-radius:999px;
    background:#edf8f3;
    color:var(--green);
    font-size:12px;
    font-weight:800;
}
.operator-reply{
    margin-top:16px;
    padding:16px;
    border-left:4px solid var(--gold);
    border-radius:8px;
    background:#fff9ed;
}
.operator-reply.compact{
    padding:12px;
    font-size:14px;
}
.review-demo-notice{
    margin:0 0 20px;
    padding:16px 18px;
    border-left:4px solid #d69d2e;
    background:#fff8e8;
    color:#3e382c;
}
.review-demo-notice p{margin:6px 0 0}
.source-summary-title{margin-top:42px}
.source-summary-card .showcase-badge{white-space:nowrap}
.upload-budget{
    margin:18px 0;
    padding:12px 14px;
    border:1px solid #c9ded2;
    background:#f2faf6;
    color:#245b40;
    font-size:14px;
    font-weight:700;
}
.upload-budget.is-error{
    border-color:#d65a5a;
    background:#fff1f1;
    color:#9d2929;
}
.field input[type="file"].is-invalid{
    border-color:#c93838;
    background:#fff5f5;
    outline:2px solid rgba(201,56,56,.12);
}
.field small.is-error{
    color:#b32727;
    font-weight:800;
}
.review-showcase-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-bottom:24px;
}
.review-showcase-card{
    display:grid;
    gap:12px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 14px 36px rgba(25,43,34,.08);
}
.review-showcase-head{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
}
.review-showcase-head div{
    display:grid;
    gap:3px;
}
.review-showcase-head b{
    color:var(--green);
    line-height:1.25;
}
.review-showcase-head span{
    color:var(--muted);
    font-size:13px;
}
.review-showcase-head strong{
    flex:0 0 auto;
    padding:6px 9px;
    border-radius:999px;
    background:#fff7e2;
    color:#7b4d05;
    font-size:12px;
}
.review-showcase-card p{
    margin:0;
}
.review-demo-flow{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin:18px 0 22px;
}
.review-demo-flow article{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:4px 12px;
    align-items:start;
    padding:15px;
    border:1px solid rgba(7,63,44,.12);
    border-radius:8px;
    background:#fffdf8;
}
.review-demo-flow span{
    grid-row:1 / span 2;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--green);
    color:#fff;
    font-weight:900;
}
.review-demo-flow b{
    color:var(--green);
}
.review-demo-flow p{
    margin:0;
    color:var(--muted);
    font-size:14px;
}
.review-demo-flow.compact{
    margin-top:0;
}
.traveler-follow-up{
    margin-top:12px;
    padding:16px;
    border-left:4px solid var(--green-2);
    border-radius:8px;
    background:#edf8f3;
}
.traveler-follow-up b{
    color:var(--green);
}
.traveler-follow-up p{
    margin:7px 0 0;
}
.review-account-panel{
    margin:0 0 16px;
    padding:14px;
    border:1px solid rgba(7,63,44,.14);
    border-radius:8px;
    background:#edf8f3;
}
.review-account-panel b{
    display:block;
    color:var(--green);
}
.review-account-panel p{
    margin:5px 0 0;
    color:var(--muted);
    font-size:14px;
}
.review-search-bar{
    display:grid;
    grid-template-columns:1fr auto;
    gap:14px;
    align-items:end;
    padding:18px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 12px 28px rgba(25,43,34,.06);
}
.review-search-bar .field{margin:0}
.operator-review-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.operator-review-card{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:16px;
    min-height:100%;
    padding:22px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 14px 34px rgba(25,43,34,.07);
}
.operator-review-card h2{
    margin:0 0 8px;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:26px;
}
.operator-review-card p{margin:0;color:var(--muted)}
.operator-package-strip{
    display:grid;
    gap:7px;
}
.operator-package-strip span{
    padding-left:10px;
    border-left:2px solid rgba(216,154,23,.45);
    color:var(--muted);
    font-size:13px;
}
.review-modal{
    position:fixed;
    inset:0;
    z-index:50;
    display:none;
    align-items:flex-start;
    justify-content:center;
    padding:28px clamp(14px,4vw,40px);
    overflow:auto;
    background:rgba(8,45,32,.72);
}
.review-modal.is-open{
    display:flex;
}
.review-modal-panel{
    position:relative;
    width:min(940px,100%);
    padding:28px;
    border-radius:8px;
    background:#fff;
    box-shadow:0 32px 90px rgba(0,0,0,.28);
}
.review-modal-panel h2{
    margin:8px 42px 8px 0;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:34px;
}
.review-modal-panel > p{
    margin:0 0 16px;
    color:var(--muted);
}
.modal-close{
    position:absolute;
    top:16px;
    right:16px;
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border:1px solid var(--line);
    border-radius:50%;
    background:#fffdf8;
    color:var(--green);
    font-weight:900;
    cursor:pointer;
}
.modal-open{
    overflow:hidden;
}
.operator-reply b{
    color:var(--green);
}
.operator-reply p{
    margin:7px 0 0;
}
.review-form-card{
    position:relative;
    align-self:start;
}
.review-pager{
    padding-top:6px;
}
.review-pager:before{
    content:"More traveler reviews";
    display:block;
    margin-bottom:12px;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:22px;
    font-weight:900;
}
.review-submit-form{
    display:grid;
    gap:0;
}
.review-verification-gate{
    display:grid;
    gap:14px;
    padding:22px;
    border:1px solid rgba(7,63,44,.14);
    border-radius:8px;
    background:#edf8f3;
}
.review-verification-gate h3{
    margin:0;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:24px;
}
.review-verification-gate p{
    margin:0;
    color:var(--muted);
}
.trip-style-review{
    gap:18px;
}
.review-step{
    display:grid;
    grid-template-columns:38px 1fr;
    gap:14px;
    align-items:start;
    padding:18px;
    border:1px solid rgba(7,63,44,.12);
    border-radius:8px;
    background:#fffdf8;
}
.review-step > span{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:var(--green);
    color:#fff;
    font-weight:900;
}
.review-step h3{
    margin:0 0 13px;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:22px;
}
.rating-choice{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:9px;
}
.rating-choice label,
.trip-type-choice label{
    position:relative;
    display:grid;
    place-items:center;
    gap:6px;
    min-height:78px;
    padding:10px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    color:var(--green);
    text-align:center;
    cursor:pointer;
}
.rating-choice input,
.trip-type-choice input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.rating-choice i{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:50%;
    border:2px solid var(--green);
    color:var(--green);
    font-style:normal;
    font-weight:900;
}
.rating-choice small{
    color:var(--muted);
    font-size:12px;
    font-weight:800;
}
.rating-choice label:has(input:checked),
.trip-type-choice label:has(input:checked){
    border-color:var(--green);
    background:#edf8f3;
    box-shadow:0 10px 22px rgba(7,63,44,.08);
}
.rating-choice label:has(input:checked) i{
    background:var(--green);
    color:#fff;
}
.trip-type-choice{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}
.trip-type-choice label{
    min-height:52px;
}
.review-submit-button{
    justify-self:start;
}
.reply-form{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--line);
}
.honeypot{
    position:absolute;
    left:-10000px;
    width:1px;
    height:1px;
    opacity:0;
}
.note-text{
    max-width:880px;
    margin:22px 0 0;
    color:var(--muted);
    font-size:14px;
}
.showcase-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    margin-top:28px;
    padding:22px 24px;
    border:1px solid rgba(7,63,44,.16);
    border-left:6px solid var(--gold);
    border-radius:8px;
    background:#fff;
    box-shadow:0 12px 28px rgba(7,63,44,.08);
}
.showcase-cta h3{
    margin:6px 0;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:26px;
    line-height:1.15;
}
.showcase-cta p{
    max-width:700px;
    margin:0;
    color:#33463f;
    font-size:16px;
    line-height:1.55;
}
.showcase-cta .btn{
    flex:0 0 auto;
    min-width:230px;
    justify-content:center;
    font-size:15px;
}
.market-card b{
    color:var(--green);
    font-family:Georgia,serif;
    font-size:22px;
}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.pill{
    display:inline-flex;
    align-items:center;
    min-height:31px;
    padding:7px 11px;
    border:1px solid rgba(216,154,23,.34);
    border-radius:999px;
    background:rgba(216,154,23,.1);
    color:var(--green);
    font-size:13px;
    font-weight:700;
}
.split{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);
    gap:clamp(28px,5vw,68px);
    align-items:center;
}
.photo-stack{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.photo-stack img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:8px;
    box-shadow:var(--shadow);
}
.photo-stack img:first-child{
    grid-column:1 / -1;
    height:330px;
}
.steps{
    counter-reset:step;
    display:grid;
    gap:16px;
}
.step{
    position:relative;
    display:grid;
    grid-template-columns:54px 1fr;
    gap:16px;
    align-items:start;
}
.step:before{
    counter-increment:step;
    content:counter(step);
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:50%;
    background:var(--green);
    color:#fff;
    font-weight:900;
}
.step h3{margin:0 0 6px;color:var(--green);font-family:Georgia,serif}
.step p{margin:0;color:var(--muted)}
.cta-band{
    display:grid;
    grid-template-columns:1fr auto;
    gap:24px;
    align-items:center;
    max-width:1220px;
    margin:0 auto;
    padding:34px;
    border-radius:8px;
    background:linear-gradient(135deg,var(--green),#09251b);
    color:#fff;
}
.cta-band h2{
    margin:0 0 8px;
    font-family:Georgia,serif;
    font-size:clamp(28px,4vw,43px);
}
.cta-band p{margin:0;color:#eadfc9}
.page-title{
    position:relative;
    overflow:hidden;
    padding:clamp(48px,8vw,88px) clamp(18px,5vw,72px);
    background:var(--cream);
}
.page-title > *{
    position:relative;
    z-index:1;
    max-width:970px;
}
.page-title p{
    color:var(--muted);
    max-width:760px;
    font-size:18px;
}
.form-wrap{max-width:1050px;margin:0 auto}
.form-card{
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:var(--shadow);
    overflow:hidden;
}
.form-intro{
    display:grid;
    grid-template-columns:1fr auto;
    gap:22px;
    align-items:center;
    padding:26px;
    background:linear-gradient(135deg,var(--green),#123d2d);
    color:#fff;
}
.form-intro p{margin:0;color:#eadfc9}
.onboarding-review-path{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:18px 0;
}
.onboarding-review-path div{
    min-width:0;
    padding:14px;
    border:1px solid rgba(7,63,44,.12);
    border-radius:8px;
    background:#fffdf8;
}
.onboarding-review-path b{
    display:block;
    margin-bottom:5px;
    color:var(--green);
}
.onboarding-review-path span{
    display:block;
    color:var(--muted);
    font-size:13px;
    line-height:1.45;
}
.onboarding-steps{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    padding:16px 26px;
    border-bottom:1px solid var(--line);
    background:#fffdf8;
}
.onboarding-steps span,
.onboarding-steps button{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--green);
    font-size:13px;
    font-weight:800;
    font-family:inherit;
    cursor:pointer;
}
.onboarding-steps button.active{
    color:var(--gold);
}
.onboarding-steps b{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    flex:0 0 28px;
    border-radius:50%;
    background:#edf8f3;
    color:var(--green);
    font-size:13px;
}
.onboarding-steps button.active b{
    background:var(--green);
    color:#fff;
}
.form-body{padding:28px}
.form-section{
    padding:0 0 20px;
    margin:0 0 24px;
    border-bottom:1px solid var(--line);
}
.onboarding-section{
    padding:22px;
    border:1px solid rgba(7,63,44,.1);
    border-radius:8px;
    background:#fff;
    box-shadow:0 10px 24px rgba(25,43,34,.045);
}
.form-section h2{
    margin:0 0 8px;
    color:var(--green);
    font-family:Georgia,serif;
}
.section-help{
    max-width:760px;
    margin:0 0 18px;
    color:var(--muted);
    font-size:14px;
}
.form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.field{margin-bottom:15px}
.field label{
    display:block;
    margin-bottom:6px;
    color:var(--green);
    font-weight:800;
}
.field input,.field select,.field textarea{
    width:100%;
    min-height:45px;
    padding:12px 13px;
    border:1px solid #d8cfbd;
    border-radius:8px;
    background:#fff;
    color:var(--ink);
    font:inherit;
}
.field textarea{resize:vertical}
.field small{
    display:block;
    margin-top:7px;
    color:var(--muted);
    font-size:13px;
    line-height:1.45;
}
.checks{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.option-group{
    margin:20px 0;
}
.option-group > label{
    margin-bottom:10px;
}
.compact-checks{
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:8px;
}
.compact-checks label{
    align-items:center;
    min-height:38px;
    padding:8px 10px;
    border-color:rgba(7,63,44,.13);
    background:#fff;
    color:#263d34;
    font-size:13px;
    font-weight:700;
    line-height:1.2;
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.compact-checks input{
    appearance:none;
    display:grid;
    place-items:center;
    width:16px;
    height:16px;
    flex:0 0 16px;
    margin:0;
    border:1.5px solid rgba(7,63,44,.36);
    border-radius:4px;
    background:#fff;
}
.compact-checks input:checked{
    border-color:var(--green);
    background:var(--green);
}
.compact-checks input:checked:after{
    content:"";
    width:8px;
    height:5px;
    border-left:2px solid #fff;
    border-bottom:2px solid #fff;
    transform:rotate(-45deg) translate(1px,-1px);
}
.compact-checks label:has(input:checked){
    border-color:rgba(7,63,44,.38);
    background:#edf8f3;
    box-shadow:0 8px 18px rgba(7,63,44,.06);
}
.checks label,.consent{
    display:flex;
    align-items:flex-start;
    gap:9px;
    min-height:46px;
    padding:11px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fffdf8;
    color:var(--ink);
    font-weight:500;
}
.checks input,.consent input{margin-top:4px}
.checks.compact-checks label{
    align-items:center;
    min-height:38px;
    padding:8px 10px;
    background:#fff;
    font-size:13px;
    font-weight:700;
}
.checks.compact-checks input{
    width:16px;
    min-width:16px;
    max-width:16px;
    height:16px;
    min-height:16px;
    max-height:16px;
    flex:0 0 16px;
    margin:0;
    padding:0;
}
.onboarding-consent{
    align-items:center;
    background:#edf8f3;
    border-color:rgba(7,63,44,.2);
    font-weight:700;
}
.onboarding-consent input{
    flex:0 0 auto;
}
.resend-box{
    display:grid;
    grid-template-columns:1fr auto;
    gap:14px;
    align-items:end;
    padding:0 28px 28px;
}
.resend-box .field{
    margin:0;
}
.social-recommendation{
    margin:4px 0 18px;
    padding:16px;
    border:1px solid rgba(216,154,23,.28);
    border-radius:8px;
    background:rgba(216,154,23,.08);
}
.social-recommendation b{
    display:block;
    color:var(--green);
}
.social-recommendation p{
    margin:5px 0 0;
    color:var(--muted);
    font-size:14px;
}
.multi-step-onboarding .onboarding-section{
    margin-bottom:0;
}
.step-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
    margin-top:22px;
}
.step-actions [hidden]{
    display:none;
}
.step-actions button:disabled{
    opacity:.45;
    cursor:not-allowed;
}
.table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:8px;
    overflow:hidden;
}
.table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    border-radius:8px;
}
.admin-shell .card{
    min-width:0;
}
.admin-table{
    min-width:680px;
}
.admin-table th,
.admin-table td{
    vertical-align:middle;
}
.admin-table td,
.admin-table small{
    overflow-wrap:anywhere;
}
.table th,.table td{
    padding:12px;
    border-bottom:1px solid var(--line);
    text-align:left;
}
.badge{
    display:inline-flex;
    padding:5px 9px;
    border-radius:999px;
    background:#edf8f3;
    color:var(--green);
    font-size:12px;
    font-weight:800;
}
.alert{
    margin:16px clamp(18px,5vw,72px);
    padding:14px 18px;
    border-radius:8px;
}
.success{background:#e9f7ef;color:#155e35}
.error{background:#fff0f0;color:#8a1e1e}
.warning{background:#fff7df;color:#684b00;border:1px solid #ecd48a}
.correction-request{margin:0 0 22px}
.correction-request h2{margin-top:0;color:#684b00}
.admin-shell,.partner-shell{
    min-height:70vh;
    padding:35px clamp(18px,5vw,72px);
    background:#f8f4ec;
}
.partner-package-workspace{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);
    gap:22px;
    align-items:start;
}
.duration-input{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
}
.duration-input input{
    border-radius:8px 0 0 8px;
}
.duration-input span{
    display:grid;
    place-items:center;
    min-height:45px;
    padding:0 14px;
    border:1px solid #d8cfbd;
    border-left:0;
    border-radius:0 8px 8px 0;
    background:#f8f4ec;
    color:var(--green);
    font-weight:800;
}
.itinerary-builder{
    margin:8px 0 24px;
    padding-top:22px;
    border-top:1px solid var(--line);
}
.itinerary-builder-head{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
    margin-bottom:14px;
}
.itinerary-builder-head h3{margin:0 0 5px;color:var(--green)}
.itinerary-builder-head p{margin:0;color:var(--muted);font-size:14px}
.itinerary-progress{
    flex:0 0 auto;
    padding:7px 11px;
    border-radius:999px;
    background:#edf8f3;
    color:var(--green);
    font-size:12px;
    font-weight:800;
}
.itinerary-empty{
    display:grid;
    place-items:center;
    gap:5px;
    min-height:145px;
    padding:24px;
    border:1px dashed #cbbd9f;
    border-radius:8px;
    background:#fffdf8;
    color:var(--muted);
    text-align:center;
}
.itinerary-empty[hidden]{display:none}
.itinerary-empty i{color:var(--gold);font-size:25px}
.itinerary-empty b{color:var(--green)}
.itinerary-day-list{display:grid;gap:10px}
.itinerary-day-editor{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.itinerary-day-editor summary{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    min-height:58px;
    padding:12px 15px;
    color:var(--green);
    cursor:pointer;
    list-style:none;
}
.itinerary-day-editor summary::-webkit-details-marker{display:none}
.itinerary-day-editor summary i{transition:transform .2s ease}
.itinerary-day-editor[open] summary i{transform:rotate(180deg)}
.itinerary-day-editor.is-complete{border-color:rgba(15,101,71,.35)}
.itinerary-day-editor.is-complete .itinerary-day-number:before{
    content:"\f00c";
    margin-right:7px;
    color:var(--green-2);
    font-family:"Font Awesome 6 Free";
    font-weight:900;
}
.itinerary-day-number{
    min-width:58px;
    font-weight:800;
}
.itinerary-day-summary{
    overflow:hidden;
    color:var(--muted);
    font-size:14px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.itinerary-day-body{
    padding:16px;
    border-top:1px solid var(--line);
    background:#fffdf9;
}
.mini-nav{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:20px;
}
.mini-nav a,.mini-nav button{
    padding:9px 13px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:var(--green);
    font-weight:800;
    text-decoration:none;
}
.mini-nav a.active{
    border-color:var(--green);
    background:var(--green);
    color:#fff;
}
.profile-logo-editor{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:20px;
    align-items:start;
    margin:18px 0 24px;
    padding:18px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fffdf8;
}
.profile-logo-preview{
    display:grid;
    place-items:center;
    width:150px;
    aspect-ratio:1;
    overflow:hidden;
    border:1px solid rgba(7,63,44,.14);
    border-radius:8px;
    background:#fff;
    color:var(--green);
    font-size:54px;
    font-weight:900;
}
.profile-logo-preview img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:12px;
}
.profile-logo-editor h3{margin:0 0 4px;color:var(--green)}
.profile-logo-editor p{margin:0 0 12px;color:var(--muted)}
.operator-public-hero{
    display:grid;
    grid-template-columns:126px minmax(0,1fr);
    gap:24px;
    align-items:center;
}
.operator-public-logo,
.partner-directory-logo{
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid rgba(7,63,44,.14);
    background:#fff;
    color:var(--green);
    font-weight:900;
}
.operator-public-logo{
    width:126px;
    aspect-ratio:1;
    border-radius:8px;
    font-size:48px;
    box-shadow:0 16px 32px rgba(7,63,44,.1);
}
.operator-public-logo img,
.partner-directory-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:10px;
}
.operator-tagline{
    margin:0 0 8px!important;
    color:var(--green)!important;
    font-weight:800;
}
.partner-directory-head{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:12px;
    align-items:center;
}
.partner-directory-logo{
    width:58px;
    aspect-ratio:1;
    border-radius:8px;
    font-size:24px;
}
.operator-card-tagline{
    color:var(--green)!important;
    font-weight:800;
}
.operator-inline-brand{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}
.operator-line-logo{
    width:30px;
    height:30px;
    object-fit:contain;
    border:1px solid rgba(7,63,44,.14);
    border-radius:6px;
    background:#fff;
}
.admin-hero{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-end;
    margin:8px 0 24px;
}
.admin-hero h1{
    margin:8px 0;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:clamp(32px,5vw,52px);
}
.admin-hero p{
    max-width:760px;
    margin:0;
    color:var(--muted);
}
.admin-stat-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
    margin:20px 0 24px;
}
.admin-stat-card{
    display:block;
    color:inherit;
    text-decoration:none;
    transition:transform .15s ease,border-color .15s ease;
}
.admin-stat-card:hover{
    border-color:rgba(216,154,23,.55);
    transform:translateY(-1px);
}
.admin-stat-card h2{
    margin:6px 0;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:34px;
}
.admin-stat-card span{
    color:var(--muted);
    font-size:13px;
}
.compact-admin-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.admin-filter-bar{
    display:grid;
    grid-template-columns:2fr 1fr auto auto;
    gap:12px;
    align-items:end;
    margin-bottom:18px;
}
.ranking-breakdown{
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid var(--line);
}
.ranking-breakdown h3{
    margin:0 0 12px;
    color:var(--green);
    font-size:18px;
}
.ranking-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.ranking-list div{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.ranking-list span{
    color:var(--muted);
    font-size:13px;
}
.ranking-list b{
    color:var(--green);
}
.section-head{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    margin-bottom:12px;
}
.section-head h2{
    margin:0;
}
.partner-welcome{
    margin:0 0 24px;
}
.partner-welcome h1{
    margin:10px 0;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:clamp(32px,5vw,54px);
}
.partner-welcome p{
    max-width:860px;
    margin:0;
    color:var(--muted);
}
.partner-stat-grid{
    margin-bottom:24px;
}
.stat-card h2{
    margin:5px 0;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:38px;
}
.stat-card span{
    color:var(--muted);
    font-size:13px;
}
.partner-action-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin:22px 0;
}
.partner-action-card{
    display:grid;
    gap:7px;
    min-height:126px;
    padding:18px;
    border:1px solid rgba(7,63,44,.13);
    border-radius:8px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    box-shadow:0 10px 24px rgba(25,43,34,.045);
}
.partner-action-card:hover{
    border-color:rgba(216,154,23,.5);
    transform:translateY(-1px);
}
.partner-action-card b{
    color:var(--green);
    font-family:Georgia,serif;
    font-size:22px;
}
.partner-action-card span{
    color:var(--muted);
    font-size:14px;
}
.compact-portal-section{
    padding:18px 0 28px;
    background:transparent;
}
.booking-request-list{
    display:grid;
    gap:18px;
}
.booking-request-card{
    display:grid;
    gap:16px;
}
.booking-request-head{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
}
.booking-request-head h3{
    margin:8px 0 4px;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:28px;
}
.booking-request-head p,
.booking-request-head span{
    margin:0;
    color:var(--muted);
}
.booking-request-head b{
    display:block;
    color:var(--green);
}
.booking-facts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.booking-facts span{
    padding:11px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fffdf8;
    color:var(--ink);
    overflow-wrap:anywhere;
}
.booking-facts b{
    display:block;
    color:var(--green);
    font-size:12px;
    text-transform:uppercase;
}
.booking-update-form{
    padding-top:16px;
    border-top:1px solid var(--line);
}
.auth-box{
    max-width:460px;
    margin:55px auto;
    padding:30px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:var(--shadow);
}
.traveler-access{
    min-height:70vh;
    padding:20px clamp(18px,5vw,72px);
}
.wide-auth{
    max-width:620px;
}
.auth-switch{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-bottom:20px;
    padding:5px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fffdf8;
}
.auth-switch a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    border-radius:999px;
    color:var(--green);
    font-weight:800;
    text-decoration:none;
}
.auth-switch a.active{
    background:var(--green);
    color:#fff;
}
.optional-password{
    margin:0 0 18px;
    padding:13px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fffdf8;
}
.optional-password summary{
    color:var(--green);
    font-weight:800;
    cursor:pointer;
}
.optional-password .field:first-of-type{
    margin-top:14px;
}
.footer{
    display:grid;
    grid-template-columns:1.7fr .85fr .95fr 1.05fr 1.05fr;
    gap:26px;
    padding:44px clamp(18px,5vw,72px) 22px;
    background:#082d20;
    color:#fff;
}
.footer h3,.footer h4{margin:0 0 10px;font-family:Georgia,serif}
.footer p{margin:0;color:#eadfc9}
.footer a{
    display:block;
    margin:0 0 7px;
    color:#eadfc9;
    text-decoration:none;
}
.footer a:hover{color:#fff}
.footer-social-title{
    margin-top:18px!important;
}
.footer-social{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:8px;
}
.footer-social .social-icon{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    margin:0;
    border:1px solid rgba(255,255,255,.2);
    border-radius:50%;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:17px;
    line-height:1;
    text-align:center;
    text-decoration:none;
    transition:background .15s ease, border-color .15s ease, transform .15s ease;
}
.footer-social a.social-icon:hover{
    border-color:var(--gold);
    background:rgba(216,154,23,.22);
    color:#fff;
    transform:translateY(-1px);
}
.footer-social .social-icon.is-disabled{
    opacity:.42;
    cursor:not-allowed;
    filter:grayscale(1);
}
.footer-social .social-tripadvisor{
    background:rgba(0,175,135,.16);
}
.footer-social .social-youtube{
    background:rgba(255,0,0,.16);
}
.footer-main{
    display:flex;
    gap:16px;
    align-items:flex-start;
}
.footer-logo{
    width:68px;
    height:68px;
    flex:0 0 68px;
    border-radius:50%;
    object-fit:contain;
    background:#fff9ed;
}
.footer-bottom{
    grid-column:1 / -1;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.15);
    color:#d8c9ae;
    font-size:13px;
}
.policy-layout{
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:34px;
    align-items:start;
}
.policy-sidebar{
    position:sticky;
    top:96px;
    display:grid;
    gap:8px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fffdf8;
}
.policy-sidebar h3{
    margin:0 0 8px;
    color:var(--green);
    font-family:Georgia,serif;
}
.policy-sidebar a{
    color:var(--green);
    font-size:14px;
    font-weight:800;
    text-decoration:none;
}
.policy-sidebar a:hover{
    color:var(--gold);
}
.policy-content{
    padding:30px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 14px 34px rgba(25,43,34,.07);
}
.standalone-policy{
    max-width:920px;
    margin:0 auto;
}
.policy-content h2{
    margin:28px 0 10px;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:28px;
}
.policy-content h2:first-of-type{
    margin-top:0;
}
.policy-content p{
    margin:0 0 14px;
    color:#2d4339;
}
.policy-updated{
    color:var(--muted)!important;
    font-size:14px;
    font-weight:800;
}
.policy-note{
    margin-top:28px;
    padding:20px;
    border:1px solid rgba(7,63,44,.14);
    border-radius:8px;
    background:#edf8f3;
}
.policy-note b{
    display:block;
    margin-bottom:6px;
    color:var(--green);
}
.cookie-banner{
    position:fixed;
    left:clamp(14px,3vw,28px);
    right:clamp(14px,3vw,28px);
    bottom:18px;
    z-index:80;
    display:grid;
    grid-template-columns:1fr auto;
    gap:18px;
    align-items:center;
    max-width:980px;
    margin:0 auto;
    padding:18px;
    border:1px solid rgba(255,255,255,.38);
    border-radius:8px;
    background:#082d20;
    color:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,.25);
}
.cookie-banner[hidden]{
    display:none;
}
.cookie-banner b{
    display:block;
    margin-bottom:4px;
}
.cookie-banner p{
    margin:0;
    color:#eadfc9;
    font-size:14px;
}
.cookie-actions{
    display:flex;
    gap:10px;
    align-items:center;
}
.cookie-actions a{
    color:#fff;
    font-weight:800;
    white-space:nowrap;
}
.floating-whatsapp{
    position:fixed;
    right:20px;
    bottom:92px;
    z-index:75;
    display:inline-flex;
    gap:9px;
    align-items:center;
    padding:12px 16px;
    border-radius:999px;
    background:#1fa855;
    color:#fff;
    font-weight:900;
    text-decoration:none;
    box-shadow:0 18px 42px rgba(31,168,85,.34);
}
.floating-whatsapp i{
    font-size:20px;
}
.floating-whatsapp:hover{
    background:#168946;
    color:#fff;
}
.live-chat-widget{
    position:fixed;
    right:20px;
    bottom:28px;
    z-index:78;
}
.live-chat-toggle{
    display:inline-flex;
    gap:9px;
    align-items:center;
    min-height:48px;
    padding:12px 16px;
    border:0;
    border-radius:999px;
    background:var(--green);
    color:#fff;
    font-weight:900;
    box-shadow:0 18px 42px rgba(7,63,44,.28);
    cursor:pointer;
}
.live-chat-toggle i{
    font-size:18px;
}
.live-chat-panel{
    position:absolute;
    right:0;
    bottom:62px;
    width:min(380px,calc(100vw - 28px));
    overflow:hidden;
    border:1px solid rgba(7,63,44,.18);
    border-radius:8px;
    background:#fff;
    box-shadow:0 24px 80px rgba(0,0,0,.22);
}
.live-chat-panel[hidden]{
    display:none;
}
.live-chat-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:16px;
    background:#073f2c;
    color:#fff;
}
.live-chat-head b,
.live-chat-head span{
    display:block;
}
.live-chat-head span{
    margin-top:3px;
    color:#eadfc9;
    font-size:13px;
}
.live-chat-head button{
    width:32px;
    height:32px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}
.live-chat-intro{
    padding:16px;
}
.live-chat-body{
    display:grid;
    grid-template-rows:minmax(240px,340px) auto;
}
.live-chat-body[hidden]{
    display:none;
}
.live-chat-messages{
    display:grid;
    align-content:start;
    gap:10px;
    overflow:auto;
    padding:16px;
    background:#fffaf0;
}
.live-chat-message{
    max-width:86%;
    padding:10px 12px;
    border-radius:8px;
    background:#fff;
    border:1px solid var(--line);
}
.live-chat-message.visitor{
    justify-self:end;
    background:#eaf7f0;
    border-color:rgba(7,63,44,.16);
}
.live-chat-message.support{
    justify-self:start;
    background:#073f2c;
    color:#fff;
}
.live-chat-message.system{
    justify-self:center;
    max-width:100%;
    background:#fff4dc;
}
.live-chat-message b,
.live-chat-message small{
    display:block;
    font-size:12px;
}
.live-chat-message p{
    margin:4px 0;
    overflow-wrap:anywhere;
}
.live-chat-send{
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px;
    gap:8px;
    padding:12px;
    border-top:1px solid var(--line);
    background:#fff;
}
.live-chat-send input{
    min-width:0;
    border:1px solid var(--line);
    border-radius:8px;
    padding:12px;
}
.live-chat-send button{
    border:0;
    border-radius:8px;
    background:var(--green);
    color:#fff;
    cursor:pointer;
}
.live-chat-admin-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 340px;
    gap:24px;
    align-items:start;
}
.admin-chat-notifier{
    position:fixed;
    top:88px;
    right:20px;
    z-index:90;
}
.admin-chat-notifier-toggle{
    position:relative;
    display:grid;
    width:46px;
    height:46px;
    place-items:center;
    border:1px solid rgba(7,63,44,.16);
    border-radius:50%;
    background:#fff;
    color:var(--green);
    box-shadow:0 14px 38px rgba(7,63,44,.18);
    cursor:pointer;
}
.admin-chat-notifier-toggle i{
    font-size:18px;
}
.admin-chat-notifier-toggle span{
    position:absolute;
    top:-6px;
    right:-6px;
    display:grid;
    min-width:22px;
    height:22px;
    padding:0 5px;
    place-items:center;
    border:2px solid #fff;
    border-radius:11px;
    background:#c93434;
    color:#fff;
    font-size:11px;
    font-weight:900;
}
.admin-chat-notifier-panel{
    position:absolute;
    top:56px;
    right:0;
    width:min(390px,calc(100vw - 28px));
    overflow:hidden;
    border:1px solid rgba(7,63,44,.18);
    border-radius:8px;
    background:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.admin-chat-notifier-panel[hidden],
.admin-chat-toast[hidden]{
    display:none;
}
.admin-chat-notifier-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:15px 16px;
    background:#073f2c;
    color:#fff;
}
.admin-chat-notifier-head b,
.admin-chat-notifier-head span{
    display:block;
}
.admin-chat-notifier-head span{
    margin-top:3px;
    color:#d9e8df;
    font-size:12px;
}
.admin-chat-notifier-head a{
    color:#fff;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}
.admin-chat-notifier-list{
    max-height:390px;
    overflow:auto;
}
.admin-chat-notifier-item{
    display:block;
    padding:13px 16px;
    border-bottom:1px solid var(--line);
    color:var(--ink);
    text-decoration:none;
}
.admin-chat-notifier-item:hover{
    background:#f4faf6;
}
.admin-chat-notifier-item > span{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.admin-chat-notifier-item em{
    display:grid;
    min-width:22px;
    height:22px;
    padding:0 6px;
    place-items:center;
    border-radius:11px;
    background:#eaf7f0;
    color:var(--green);
    font-size:11px;
    font-style:normal;
    font-weight:900;
}
.admin-chat-notifier-item p{
    margin:5px 0;
    color:var(--ink);
    font-size:13px;
}
.admin-chat-notifier-item small{
    color:var(--muted);
}
.admin-chat-notifier-empty{
    margin:0;
    padding:22px 16px;
    color:var(--muted);
    text-align:center;
}
.admin-chat-toast{
    position:fixed;
    right:20px;
    bottom:22px;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto 30px;
    gap:10px;
    align-items:center;
    width:min(470px,calc(100vw - 40px));
    padding:14px;
    border:1px solid rgba(7,63,44,.2);
    border-radius:8px;
    background:#fff;
    box-shadow:0 20px 60px rgba(0,0,0,.24);
}
.admin-chat-toast > i{
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    border-radius:50%;
    background:#eaf7f0;
    color:var(--green);
}
.admin-chat-toast b,
.admin-chat-toast span{
    display:block;
}
.admin-chat-toast span{
    margin-top:2px;
    color:var(--muted);
    font-size:13px;
    overflow-wrap:anywhere;
}
.admin-chat-toast a{
    color:var(--green);
    font-weight:900;
}
.admin-chat-toast button{
    width:30px;
    height:30px;
    border:0;
    background:transparent;
    color:var(--muted);
    font-size:22px;
    cursor:pointer;
}
.admin-chat-thread{
    display:grid;
    gap:12px;
    max-height:560px;
    overflow:auto;
    padding:16px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fffaf0;
}
.admin-chat-message{
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.admin-chat-message.support{
    margin-left:42px;
    background:#eaf7f0;
}
.admin-chat-message.visitor{
    margin-right:42px;
}
.admin-chat-message.system{
    background:#fff4dc;
}
.admin-chat-message p{
    margin:6px 0;
}
.admin-chat-message small{
    color:var(--muted);
}
.form-note{
    display:flex;
    gap:8px;
    align-items:flex-start;
    margin:4px 0 16px;
    padding:11px 12px;
    border-left:3px solid var(--green);
    background:#eef8f2;
    color:#234b3c;
    font-size:13px;
}
.form-note.warning{
    border-left-color:#bf7c16;
    background:#fff7e8;
    color:#704609;
}
.admin-access-nav{
    align-items:center;
}
.admin-access-nav a.active{
    border-color:var(--green);
    background:var(--green);
    color:#fff;
}
.admin-user-context{
    display:grid;
    margin-left:auto;
    padding:4px 10px;
    line-height:1.2;
}
.admin-user-context small{
    color:var(--muted);
    font-size:11px;
}
.context-actions{
    display:flex;
    gap:10px;
    margin:0 0 18px;
}
.staff-layout{
    display:grid;
    grid-template-columns:minmax(300px,390px) minmax(0,1fr);
    gap:24px;
    align-items:start;
}
.staff-create-panel{
    position:sticky;
    top:96px;
}
.staff-create-panel[hidden]{
    display:none;
}
.icon-btn{
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    border:1px solid var(--line);
    border-radius:50%;
    background:#fff;
    color:var(--ink);
    cursor:pointer;
}
.permission-fieldset{
    margin:18px 0;
    padding:0;
    border:0;
}
.permission-fieldset legend{
    margin-bottom:10px;
    font-weight:900;
}
.permission-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
}
.permission-grid label{
    display:grid;
    grid-template-columns:20px minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding:10px;
    border:1px solid var(--line);
    border-radius:6px;
    background:#fff;
    cursor:pointer;
}
.permission-grid label:has(input:checked){
    border-color:rgba(7,63,44,.42);
    background:#eef8f2;
}
.permission-grid input{
    width:18px;
    height:18px;
    margin:2px 0 0;
    accent-color:var(--green);
}
.permission-grid b,
.permission-grid small{
    display:block;
}
.permission-grid small{
    margin-top:2px;
    color:var(--muted);
    font-size:11px;
}
.permission-fieldset.compact .permission-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.staff-user-list{
    display:grid;
    gap:14px;
}
.staff-user-card{
    margin:0;
}
.staff-user-head{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    margin-bottom:18px;
}
.staff-user-head h3,
.staff-user-head p{
    margin:0;
}
.staff-user-head p{
    margin-top:3px;
    color:var(--muted);
    overflow-wrap:anywhere;
}
.staff-avatar{
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border-radius:50%;
    background:#073f2c;
    color:#fff;
    font-size:18px;
    font-weight:900;
}
.staff-user-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:16px;
}
.analytics-section{margin:30px 0}
.analytics-heading{margin-bottom:16px}
.analytics-heading p,.analytics-grid .section-head p{margin:4px 0 0;color:var(--muted)}
.analytics-period{
    display:inline-flex;gap:7px;align-items:center;padding:8px 11px;
    border:1px solid var(--line);border-radius:6px;background:#fff;
    color:var(--muted);font-size:12px;font-weight:800;
}
.analytics-kpis{
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;margin-bottom:16px;
}
.analytics-kpi{
    display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;
    min-height:86px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;
}
.analytics-kpi > i{
    display:grid;width:38px;height:38px;place-items:center;border-radius:50%;
    background:#eaf7f0;color:var(--green);
}
.analytics-kpi b,.analytics-kpi small{display:block}
.analytics-kpi b{font-size:24px;line-height:1}
.analytics-kpi small{margin-top:5px;color:var(--muted)}
.analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.analytics-grid .card{min-width:0}
.analytics-grid h3,.recent-visitor-card h3{margin:0}
.analytics-trend-card{grid-column:span 2}
.chart-legend{display:flex;gap:12px;color:var(--muted);font-size:11px}
.chart-legend span{display:flex;gap:5px;align-items:center}
.chart-legend i{width:9px;height:9px;border-radius:2px;background:#073f2c}
.chart-legend i.visitors{background:#d49a31}
.traffic-chart{
    display:grid;grid-template-columns:repeat(14,minmax(16px,1fr));gap:7px;
    height:230px;padding-top:12px;border-bottom:1px solid var(--line);
}
.traffic-day{display:grid;grid-template-rows:minmax(0,1fr) 28px;gap:6px;min-width:0}
.traffic-bars{display:flex;gap:2px;align-items:end;justify-content:center}
.traffic-bar{width:min(10px,42%);min-height:3px;border-radius:3px 3px 0 0;background:#073f2c}
.traffic-bar.visitors{background:#d49a31}
.traffic-day small{color:var(--muted);font-size:9px;text-align:center;white-space:nowrap}
.engagement-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.engagement-list > div{
    display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;
    padding:12px;border:1px solid var(--line);border-radius:6px;
}
.engagement-list i{
    display:grid;width:34px;height:34px;place-items:center;border-radius:50%;
    background:#fff4dc;color:#8b5c08;
}
.engagement-list b,.engagement-list small{display:block}
.engagement-list b{font-size:20px}
.engagement-list small{color:var(--muted)}
.analytics-ranked-list{display:grid}
.analytics-ranked-list > div{
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;
    padding:10px 0;border-bottom:1px solid var(--line);
}
.analytics-ranked-list > div:last-child{border-bottom:0}
.analytics-ranked-list b,.analytics-ranked-list small{display:block}
.analytics-ranked-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.analytics-ranked-list small{margin-top:2px;color:var(--muted)}
.analytics-ranked-list strong{
    display:grid;min-width:34px;height:28px;place-items:center;border-radius:5px;
    background:#eef8f2;color:var(--green);
}
.device-breakdown{display:grid;gap:15px}
.device-breakdown > div{
    display:grid;grid-template-columns:90px minmax(0,1fr) 38px;gap:10px;align-items:center;
}
.device-breakdown b,.device-breakdown small{display:block}
.device-breakdown small{color:var(--muted);font-size:10px}
.metric-bar{height:8px;overflow:hidden;border-radius:4px;background:#edf0ed}
.metric-bar i{display:block;height:100%;border-radius:4px;background:#0c7652}
.device-breakdown strong{font-size:12px;text-align:right}
.location-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.location-columns h4{margin:0 0 8px}
.location-columns p{
    display:flex;justify-content:space-between;gap:8px;margin:0;padding:8px 0;
    border-bottom:1px solid var(--line);
}
.location-columns small,.analytics-empty{color:var(--muted)}
.location-columns p small{margin-left:4px;font-size:10px}
.recent-visitor-card{margin-top:16px}
.partner-plan-summary,
.current-plan-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
    padding:20px;
    border:1px solid rgba(7,63,44,.2);
    border-radius:8px;
    background:#eef8f2;
}
.partner-plan-summary h2,
.current-plan-banner h2{
    margin:4px 0;
}
.partner-plan-summary p,
.current-plan-banner p{
    margin:0;
    color:var(--muted);
}
.plan-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.plan-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:22px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.plan-card.recommended{
    border:2px solid var(--green);
}
.plan-ribbon{
    align-self:flex-start;
    margin:-10px 0 10px;
    padding:5px 8px;
    border-radius:4px;
    background:#073f2c;
    color:#fff;
    font-size:11px;
    font-weight:900;
}
.plan-card h2{margin:0 0 8px}
.plan-card > p{min-height:66px;color:var(--muted)}
.plan-price{
    display:flex;
    gap:8px;
    align-items:end;
    margin:12px 0;
}
.plan-price b{font-size:30px;line-height:1}
.plan-price span{color:var(--muted);font-size:12px}
.plan-commission{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:11px;
    border-radius:6px;
    background:#fff4dc;
}
.plan-commission span{font-size:12px;font-weight:800}
.plan-commission strong{font-size:20px;color:#805407}
.plan-card ul{
    display:grid;
    gap:8px;
    margin:18px 0;
    padding:0;
    list-style:none;
}
.plan-card li{display:flex;gap:8px;align-items:flex-start}
.plan-card li i{margin-top:3px;color:var(--green)}
.plan-card form{margin-top:auto}
.plan-card .consent{margin-bottom:12px;font-size:12px}
.plan-note{margin-top:18px}
.admin-booking-list{margin-top:16px}
.verified-plan-label{
    display:inline-flex;
    gap:5px;
    align-items:center;
    margin-top:5px;
    color:var(--green);
    font-size:11px;
    font-weight:900;
}
.faq-layout{
    display:grid;
    grid-template-columns:minmax(260px,360px) minmax(0,1fr);
    gap:34px;
    align-items:start;
}
.faq-list{
    display:grid;
    gap:16px;
}
.faq-item h3{
    margin-top:0;
    color:var(--green);
}
.faq-item p{
    margin-bottom:0;
}
.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.guide-card{
    display:grid;
    gap:10px;
}
.guide-card h2{
    margin:0;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:26px;
}
.guide-card p{
    margin:0;
}
.guide-layout{
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:34px;
    align-items:start;
}
.guide-content h2{
    border-top:1px solid var(--line);
    padding-top:22px;
}
.guide-content h2:first-child{
    border-top:0;
    padding-top:0;
}
.trust-list{
    display:grid;
    gap:10px;
    margin-top:18px;
}
.trust-list span{
    display:flex;
    gap:10px;
    align-items:center;
    color:#244337;
    font-weight:800;
}
.trust-list i{
    color:var(--green);
}
.package-brief{
    max-width:1000px;
    margin:0 auto;
    padding:34px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 18px 48px rgba(25,43,34,.08);
}
.brief-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) 100px;
    gap:24px;
    align-items:start;
    padding-bottom:22px;
    border-bottom:1px solid var(--line);
}
.brief-head h1{
    margin:4px 0 10px;
    color:var(--green);
    font-family:Georgia,serif;
    font-size:clamp(34px,4vw,54px);
}
.brief-head img{
    width:96px;
    height:96px;
    object-fit:contain;
}
.brief-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin:22px 0;
}
.brief-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);
    gap:24px;
    align-items:start;
    margin-top:24px;
}
.brief-photo img{
    width:100%;
    aspect-ratio:4 / 3;
    border-radius:8px;
    object-fit:cover;
}
.brief-section{
    margin-top:30px;
}
.brief-section h2,
.package-brief .card h2{
    margin:0 0 14px;
    color:var(--green);
    font-family:Georgia,serif;
}
.brief-days{
    display:grid;
    gap:12px;
}
.brief-days article{
    padding:16px 18px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fffdf8;
}
.brief-days p{
    margin:6px 0 0;
}
.brief-note{
    margin-top:28px;
    padding:20px;
    border-radius:8px;
    background:#edf8f3;
    color:#203c31;
}
.brief-note b{
    display:block;
    margin-bottom:6px;
    color:var(--green);
}
@media(max-width:1060px){
    .main-nav{gap:10px;font-size:15px}
    .hero-grid,.split{grid-template-columns:1fr}
    .hero-panel{max-width:620px}
    .grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tour-row{grid-template-columns:1fr}
    .tour-row-image{min-height:240px}
    .operator-line,.package-stat-grid,.operator-review-grid{grid-template-columns:1fr}
    .admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .admin-filter-bar{grid-template-columns:1fr 1fr}
    .admin-filter-bar .btn{align-self:stretch}
    .partner-action-grid{grid-template-columns:1fr 1fr}
    .booking-facts{grid-template-columns:1fr 1fr}
    .filter-bar{grid-template-columns:1fr 1fr}
    .review-search-bar{grid-template-columns:1fr}
    .filter-actions{grid-column:1 / -1}
    .package-hero,.detail-grid{grid-template-columns:1fr}
    .detail-grid{gap:34px}
    .detail-grid > div{order:1}
    .detail-sidebar{
        order:2;
        position:relative;
        top:auto;
        margin-top:4px;
    }
    .review-layout{
        grid-template-columns:1fr;
        gap:28px;
    }
    .review-summary-card{grid-template-columns:1fr}
    .booking-summary{position:static}
    .review-form-card{position:relative}
    .booking-layout{grid-template-columns:1fr}
    .footer{grid-template-columns:1fr 1fr}
    .footer-main{grid-column:1 / -1}
    .policy-layout{grid-template-columns:1fr}
    .policy-sidebar{position:relative;top:auto}
    .faq-layout,.brief-grid,.guide-layout{grid-template-columns:1fr}
    .partner-package-workspace{grid-template-columns:1fr}
}
@media(max-width:1360px){
    .nav-toggle{display:grid}
    .main-nav{
        display:none;
        position:absolute;
        top:75px;
        left:0;
        right:0;
        padding:16px clamp(18px,5vw,72px) 20px;
        border-bottom:1px solid var(--line);
        background:var(--cream);
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
        font-size:16px;
        box-shadow:0 18px 32px rgba(7,63,44,.1);
    }
    .main-nav a{
        width:100%;
        justify-content:flex-start;
        min-height:46px;
        padding:10px 14px;
    }
    .main-nav .nav-cta{
        justify-content:center;
    }
    .nav-open .main-nav{display:flex}
}
@media(max-width:820px){
    .hero{min-height:auto}
    .proof-strip,.grid.two,.grid.three,.grid.four,.audience-grid,.cta-band,.footer,.form-intro,.onboarding-review-path{grid-template-columns:1fr}
    .review-showcase-grid,.review-demo-flow{grid-template-columns:1fr}
    .guide-grid{grid-template-columns:1fr}
    .admin-hero{display:grid;align-items:start}
    .admin-stat-grid,.compact-admin-stats,.admin-filter-bar,.ranking-list{grid-template-columns:1fr}
    .showcase-cta{align-items:flex-start;flex-direction:column}
    .showcase-cta .btn{width:100%;min-width:0}
    .itinerary-builder-head{display:grid}
    .onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
    .resend-box{grid-template-columns:1fr}
    .package-slider{grid-auto-columns:minmax(280px,86vw)}
    .filter-bar{grid-template-columns:1fr}
    .filter-actions{flex-wrap:wrap}
    .result-summary{display:grid}
    .pagination-wrap nav > div{
        justify-content:flex-start;
    }
    .pagination-wrap nav > div:first-child{
        justify-content:space-between;
    }
    .review-head{
        display:grid;
    }
    .review-head b{
        justify-self:start;
    }
    .day-card{grid-template-columns:1fr}
    .day-card div{padding:20px}
    .form-grid,.checks{grid-template-columns:1fr}
    .partner-action-grid,.booking-facts{grid-template-columns:1fr}
    .booking-request-head{display:grid}
    .compact-checks{grid-template-columns:1fr 1fr}
    .rating-choice,.trip-type-choice{grid-template-columns:1fr 1fr}
    .review-step{grid-template-columns:1fr}
    .cookie-banner{grid-template-columns:1fr}
    .cookie-actions{justify-content:flex-start;flex-wrap:wrap}
    .floating-whatsapp{
        right:14px;
        bottom:84px;
        padding:11px 13px;
    }
    .floating-whatsapp span{display:none}
    .live-chat-widget{
        right:14px;
        bottom:22px;
    }
    .live-chat-toggle span{display:none}
    .live-chat-admin-grid{grid-template-columns:1fr}
    .staff-layout{grid-template-columns:1fr}
    .staff-create-panel{position:static}
    .admin-user-context{margin-left:0}
    .portal-header-actions{gap:8px}
    .portal-public-link{
        width:42px;
        min-width:42px;
        padding:0;
        justify-content:center;
    }
    .portal-public-link{font-size:0}
    .portal-public-link i{font-size:14px}
    .account-label{display:none}
    .account-menu summary{padding:5px}
    .account-menu-panel{
        right:0;
        min-width:min(240px, calc(100vw - 36px));
    }
    .profile-logo-editor,
    .operator-public-hero,
    .partner-directory-head{
        grid-template-columns:1fr;
    }
    .profile-logo-preview,
    .operator-public-logo{
        width:112px;
    }
    .operator-public-logo{
        margin:0 auto 8px;
    }
    .operator-public-hero{
        text-align:center;
    }
    .permission-fieldset.compact .permission-grid{grid-template-columns:1fr}
    .analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
    .analytics-grid{grid-template-columns:1fr}
    .analytics-trend-card{grid-column:auto}
    .traffic-chart{gap:3px}
    .plan-grid{grid-template-columns:1fr}
    .partner-plan-summary,.current-plan-banner{display:grid}
    .admin-chat-notifier{
        top:82px;
        right:14px;
    }
    .admin-chat-toast{
        right:14px;
        bottom:14px;
        grid-template-columns:30px minmax(0,1fr) auto;
        width:calc(100vw - 28px);
    }
    .admin-chat-toast > button{
        position:absolute;
        top:4px;
        right:4px;
    }
    .photo-stack img,.photo-stack img:first-child{height:230px}
    .cta-band{padding:26px}
}
@media print{
    .site-header,
    .footer,
    .cookie-banner,
    .floating-whatsapp,
    .no-print{
        display:none!important;
    }
    body{
        background:#fff;
    }
    .section{
        padding:0;
    }
    .package-brief{
        max-width:none;
        padding:0;
        border:0;
        box-shadow:none;
    }
    .brief-grid{
        grid-template-columns:1fr 1fr;
    }
    .card,
    .brief-days article,
    .brief-note{
        break-inside:avoid;
        box-shadow:none;
    }
}
@media(max-width:540px){
    .brand{font-size:18px}
    .brand img{width:44px;height:44px}
    .site-header{gap:10px}
    .account-avatar{width:34px;height:34px}
    .hero h1,.page-title h1{font-size:40px}
    .hero-panel img{width:104px;height:104px}
    .card,.form-body{padding:20px}
    .onboarding-section{padding:18px}
    .onboarding-steps{grid-template-columns:1fr;padding:14px 20px}
    .compact-checks{grid-template-columns:1fr}
    .review-card,.review-form-card{padding:18px}
    .review-meta span{
        max-width:100%;
        overflow-wrap:anywhere;
    }
    .proof-item b{font-size:22px}
    .analytics-kpis{grid-template-columns:1fr}
    .location-columns{grid-template-columns:1fr}
    .engagement-list{grid-template-columns:1fr}
}
