:root{
  --bg:#07150b;
  --bg-2:#0b1d10;
  --panel:#102417;
  --panel-2:#14301d;
  --panel-3:#1a3b24;
  --text:#f5f8f1;
  --muted:#c7d4c8;
  --soft:#57b86a;
  --soft-2:#dff5e4;
  --accent:#006400;
  --accent-2:#0b7b2b;
  --accent-3:#1ea64a;
  --line:rgba(223,245,228,.12);
  --shadow:0 22px 70px rgba(0,0,0,.38);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',sans-serif;background:linear-gradient(180deg,#08100f 0%,#0e1413 45%,#111917 100%);color:var(--text);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 2rem));margin:0 auto}
.section{padding:88px 0}
.section-soft{background:rgba(255,255,255,.02)}
.section-tag,.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:var(--soft-2);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;margin:0 0 .8rem}
h1{font-size:clamp(3.5rem,7vw,6rem);line-height:.92;max-width:760px}
h2{font-size:clamp(2.4rem,4vw,3.8rem);line-height:1}
p{color:var(--muted);line-height:1.8}
.bg-orb{position:fixed;width:300px;height:300px;left:-80px;top:60px;border-radius:50%;filter:blur(70px);background:#13896d;opacity:.22;z-index:-1;animation:floatOrb 10s ease-in-out infinite}
.bg-orb-two{left:auto;right:-80px;top:300px;background:#d4a85a;animation-delay:-4s}
.site-header{position:sticky;top:0;z-index:50;background:rgba(8,11,11,.72);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}
.brand{display:flex;align-items:center;gap:14px}.brand img{width:170px;height:auto;object-fit:contain}.brand small{display:block;color:var(--muted);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}.brand strong{color:var(--soft-2)}
.site-nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.site-nav a{position:relative}.site-nav a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:2px;background:linear-gradient(90deg,var(--soft),transparent);transition:.3s}.site-nav a:hover::after{width:100%}.nav-cta{padding:12px 18px;border-radius:999px;background:linear-gradient(135deg,#e2c98f,#b48435);color:#111;font-weight:800}.nav-cta::after{display:none}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.7rem}
.hero{position:relative;min-height:100vh;display:grid;align-items:center;overflow:hidden}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media{background:#07150b}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1.2s ease,transform 6s ease;animation:none}.hero-slide.active{opacity:1;transform:scale(1.14);animation:heroZoom 8s ease-in-out infinite alternate}.hero-slide-dots{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);display:flex;gap:9px;z-index:2}.hero-slide-dots span{width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.5);transition:.3s}.hero-slide-dots span.active{width:28px;background:#e2c98f}.hero-overlay{background:linear-gradient(90deg,rgba(4,7,7,.92) 0%,rgba(4,7,7,.55) 42%,rgba(4,7,7,.35) 65%,rgba(4,7,7,.8) 100%)}
.hero-content{position:relative;z-index:1;padding:130px 0 90px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin:28px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 22px;border-radius:999px;font-weight:800;transition:.3s;border:0;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#ead29c,#b48435);color:#111;box-shadow:0 15px 35px rgba(180,132,53,.25)}.btn-secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.12)}.btn:hover{transform:translateY(-3px)}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,180px));gap:16px;margin-top:34px}.hero-stats article{padding:18px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px)}.hero-stats strong{display:block;font-size:1.4rem;color:var(--soft-2)}.hero-stats span{color:var(--muted);font-size:.95rem}
.split-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}.feature-card,.info-card,.booking-form-card,.booking-copy,.category-card,.festival-card,.modal-panel{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}.feature-card,.info-card,.booking-form-card,.booking-copy,.festival-card{border-radius:24px;padding:22px}.image-panel{border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.image-panel img{width:100%;height:100%;object-fit:cover;min-height:520px;animation:floatImage 8s ease-in-out infinite alternate}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-head.top-align{align-items:start}.section-head p{max-width:530px}
.category-grid{display:grid;grid-template-columns:minmax(240px,.4fr) 1fr;gap:18px;align-items:stretch}.category-dropdown-wrap{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);border-radius:26px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center;gap:12px}.category-dropdown-wrap label{font-weight:800;color:var(--cream)}.category-dropdown{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.08);color:var(--cream);padding:14px 16px;font:inherit;outline:none}.category-dropdown option{color:#1b1b1b}.category-card{position:relative;overflow:hidden;min-height:280px;border-radius:26px;padding:22px;display:flex;align-items:end}.category-card-selected{min-height:360px}.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s ease}.category-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.72))}.category-card:hover img{transform:scale(1.1)}.category-card > *{position:relative;z-index:1}.category-card h3{font-size:1.6rem;margin-bottom:.25rem}.category-card span{font-size:.95rem;color:#efeadf}
.tour-controls{display:grid;gap:14px;justify-items:end;min-width:min(420px,100%)}.filter-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:end;align-items:center}.filter-select-label{font-size:.86rem;font-weight:800;color:var(--soft-2);letter-spacing:.08em;text-transform:uppercase}.filter-select{width:min(260px,100%);min-height:50px;padding:0 16px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;outline:none}.filter-select option{color:#1b1b1b}.filter-btn,.pill{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#f4f0e5}.filter-btn.active{background:linear-gradient(135deg,rgba(234,210,156,.2),rgba(180,132,53,.2));border-color:rgba(234,210,156,.35)}.search-input{width:min(420px,100%);min-height:50px;padding:0 16px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff}
.tour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tour-card{border-radius:28px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow);transform:translateY(24px);opacity:0;transition:.45s}.tour-card.show{transform:translateY(0);opacity:1}.tour-card:hover{transform:translateY(-10px)}.tour-image{position:relative;height:260px;overflow:hidden}.tour-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;animation:panImage 10s ease-in-out infinite alternate}.tour-card:hover .tour-image img{transform:scale(1.12)}.tour-image::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72))}.tour-tag{position:absolute;left:16px;top:16px;z-index:1;padding:9px 12px;border-radius:999px;background:rgba(8,12,12,.72);border:1px solid rgba(255,255,255,.12);color:var(--soft-2);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.tour-body{padding:22px}.tour-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}.tour-link{background:none;border:0;color:var(--soft);font-weight:800;cursor:pointer}.pill-wrap{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0}.pill{font-size:.8rem}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.info-card ul{padding-left:18px;color:var(--muted);line-height:1.75}.info-card h4{margin-top:18px;font-size:1.1rem}
.festival-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.festival-card{min-height:100%}.festival-card h3{font-size:1.6rem}.festival-card .best-for{color:var(--soft-2);font-weight:700;font-size:.95rem}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.gallery-item{position:relative;overflow:hidden;border-radius:24px;min-height:220px;border:1px solid rgba(255,255,255,.08)}.gallery-item:nth-child(1){grid-column:span 5;min-height:420px}.gallery-item:nth-child(2){grid-column:span 7}.gallery-item:nth-child(3),.gallery-item:nth-child(4),.gallery-item:nth-child(5){grid-column:span 4}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;animation:floatImage 8s ease-in-out infinite alternate}.gallery-item:hover img{transform:scale(1.1)}.gallery-item .overlay{position:absolute;inset:auto 0 0;padding:20px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.75))}
.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.booking-benefits{display:grid;gap:14px;margin-top:22px}.booking-benefits div{padding:18px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.booking-benefits strong{display:block;color:var(--soft-2);margin-bottom:6px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-height:52px;padding:0 14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff}.booking-form textarea{min-height:140px;padding:14px;resize:vertical}.booking-form .full{grid-column:1/-1}.form-note{font-size:.92rem;margin-top:12px}
.site-footer{border-top:1px solid var(--line);padding:34px 0 56px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}code{background:rgba(255,255,255,.08);padding:.15rem .45rem;border-radius:.4rem}
.modal.hidden{display:none}.modal{position:fixed;inset:0;z-index:100}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}.modal-panel{position:relative;width:min(920px,calc(100% - 2rem));max-height:88vh;overflow:auto;margin:4vh auto 0;border-radius:28px;padding:22px}.modal-close{position:sticky;top:0;margin-left:auto;display:block;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.08);color:#fff;font-size:1.8rem;cursor:pointer}.modal-hero{border-radius:20px;overflow:hidden;margin-bottom:16px}.modal-hero img{width:100%;max-height:360px;object-fit:cover}.itinerary-grid{display:grid;gap:14px;margin-top:22px}.day-card{padding:18px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.reveal{opacity:0;transform:translateY(24px);animation:fadeUp .8s ease forwards}.delay-1{animation-delay:.12s}.delay-2{animation-delay:.24s}.delay-3{animation-delay:.36s}.delay-4{animation-delay:.48s}.reveal-on-scroll{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal-on-scroll.visible{opacity:1;transform:translateY(0)}
@keyframes heroZoom{from{transform:scale(1.03)}to{transform:scale(1.12)}}@keyframes floatOrb{0%,100%{transform:translateY(0)}50%{transform:translateY(-24px)}}@keyframes floatImage{from{transform:scale(1.02) translateY(0)}to{transform:scale(1.08) translateY(-10px)}}@keyframes panImage{from{transform:scale(1.04) translateX(0)}to{transform:scale(1.12) translateX(-10px)}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@media (max-width:1100px){.split-grid,.booking-layout,.footer-grid,.info-grid{grid-template-columns:1fr 1fr}.category-grid,.tour-grid,.festival-grid{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr}.gallery-item:nth-child(1),.gallery-item:nth-child(2),.gallery-item:nth-child(3),.gallery-item:nth-child(4),.gallery-item:nth-child(5){grid-column:span 6;min-height:280px}.section-head,.section-head.top-align{align-items:start;flex-direction:column}.tour-controls{justify-items:start;min-width:100%}.filter-row{justify-content:start}}
@media (max-width:760px){.hero-slide-dots{bottom:22px}.menu-btn{display:block}.site-nav{position:fixed;left:0;right:0;top:72px;background:rgba(8,11,11,.96);padding:18px 1rem;display:none;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line)}.site-nav.open{display:flex}.site-nav .nav-cta{width:100%;text-align:center}.hero-stats,.split-grid,.info-grid,.booking-layout,.tour-grid,.festival-grid,.category-grid,.footer-grid,.booking-form{grid-template-columns:1fr}.gallery-item:nth-child(n){grid-column:span 12;min-height:240px}.image-panel img{min-height:320px}.brand img{width:140px}h1{font-size:3.2rem}.section{padding:72px 0}}

.footer-admin-link{color:var(--soft-2);font-weight:700}

.admin-page{background:linear-gradient(180deg,#0b1111 0%,#121918 100%)}
.admin-shell{padding:120px 0 80px}
.admin-hero{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}
.admin-hero p{max-width:680px}
.admin-actions{display:flex;gap:12px;flex-wrap:wrap}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.admin-panel{padding:24px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}
.admin-panel.full-width{grid-column:1/-1}
.admin-panel h2{font-size:2rem}
.admin-panel h3{font-size:1.45rem}
.admin-form{display:grid;gap:14px}
.admin-field{display:grid;gap:8px}
.admin-field span{font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;color:var(--soft-2)}
.admin-field input,.admin-field textarea{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--text);padding:14px}
.admin-field textarea{min-height:120px;resize:vertical}
.admin-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.admin-toolbar .left-actions,.admin-toolbar .right-actions{display:flex;gap:12px;flex-wrap:wrap}
.manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.manage-card{padding:18px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:grid;gap:14px;align-content:start}
.thumb-preview{width:100%;height:180px;border-radius:16px;object-fit:cover;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.12)}
.image-actions{display:flex;gap:10px;flex-wrap:wrap}
.mini-btn,.danger-btn{min-height:42px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;cursor:pointer}
.mini-btn-danger,.danger-btn{background:rgba(145,33,33,.22);border-color:rgba(255,120,120,.25)}
.hidden-file-input{display:none}
.status-toast{position:fixed;right:20px;bottom:20px;padding:14px 18px;border-radius:14px;background:#15372f;border:1px solid rgba(121,255,211,.22);opacity:0;transform:translateY(16px);transition:.25s;pointer-events:none}
.status-toast.visible{opacity:1;transform:translateY(0)}
.helper-copy{margin-top:0;font-size:.95rem}
@media (max-width:960px){.admin-grid,.manage-grid{grid-template-columns:1fr}.admin-hero{flex-direction:column;align-items:start}}


/* ===== 2026 design refresh ===== */
body.site-page{
  background:
    radial-gradient(circle at top left, rgba(30,166,74,.12), transparent 28%),
    radial-gradient(circle at top right, rgba(87,184,106,.10), transparent 24%),
    linear-gradient(180deg, #051009 0%, #0a180e 45%, #0d2012 100%);
  color: var(--text);
}

body.admin-page{
  background:
    radial-gradient(circle at top left, rgba(30,166,74,.10), transparent 24%),
    linear-gradient(180deg,#07120b 0%,#0d1a11 100%);
}

.bg-orb{background:#0e8b39;opacity:.18}
.bg-orb-two{background:#2da74d;opacity:.14}

.site-header{
  background:rgba(5,15,9,.72);
  border-bottom:1px solid rgba(223,245,228,.08);
  box-shadow:0 14px 40px rgba(0,0,0,.16);
}
.nav-wrap{padding:16px 0}
.brand img{width:168px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.18))}
.brand strong{color:#f1fff3}
.brand small{color:#b8cab9}
.site-nav a{color:#eaf7ec;font-weight:500}
.site-nav a::after{background:linear-gradient(90deg,var(--accent-3),transparent)}
.nav-cta,
.btn-primary{
  background:linear-gradient(135deg,#0a7b2d,#28a14b);
  color:#f9fffa;
  box-shadow:0 18px 38px rgba(0,100,0,.28);
}
.btn-secondary{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(223,245,228,.14);
  color:#f5fff6;
}
.btn:hover,.nav-cta:hover{transform:translateY(-3px); box-shadow:0 20px 42px rgba(0,100,0,.24)}

.hero{min-height:calc(100vh - 20px)}
.hero-overlay{
  background:
    linear-gradient(105deg, rgba(4,11,6,.92) 0%, rgba(4,11,6,.68) 36%, rgba(4,11,6,.36) 62%, rgba(4,11,6,.84) 100%),
    linear-gradient(180deg, rgba(0,100,0,.18), transparent 60%);
}
.hero-content{padding:144px 0 92px}
.hero-lead{
  max-width:700px;
  font-size:1.1rem;
  color:#deebdf;
}
.eyebrow,.section-tag{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(223,245,228,.12);
  color:#e7f8e9;
}
.hero-trust{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}
.hero-trust span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(14,139,57,.14);
  border:1px solid rgba(87,184,106,.28);
  color:#edf9ef;
  font-size:.92rem;
}
.hero-stats{
  grid-template-columns:repeat(3,minmax(0,200px));
  gap:18px;
}
.hero-stats article,
.feature-card,.info-card,.booking-form-card,.booking-copy,.festival-card,.modal-panel,.admin-panel,.manage-card,.admin-summary-card,.admin-quick-nav{
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid rgba(223,245,228,.09);
  box-shadow:var(--shadow);
  backdrop-filter:blur(14px);
}
.hero-stats article{
  border-radius:24px;
  background:linear-gradient(180deg, rgba(8,45,20,.62), rgba(12,33,19,.34));
}
.hero-stats strong{color:#f4fff5;font-size:1.55rem}

.hero-scroll-indicator{
  position:absolute;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  font-size:.82rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#cfe0d0;
  z-index:2;
}
.hero-scroll-indicator span{
  width:2px;height:34px;
  background:linear-gradient(180deg, rgba(255,255,255,.2), rgba(87,184,106,.92));
  border-radius:999px;
}

.intro-band{padding-top:34px}
.intro-band-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:22px;
}
.intro-band-card,.intro-band-metrics{
  border-radius:28px;
  padding:28px;
  background:linear-gradient(180deg, rgba(10,41,18,.88), rgba(12,29,18,.72));
  border:1px solid rgba(223,245,228,.08);
  box-shadow:var(--shadow);
}
.intro-band-card h2{max-width:560px}
.intro-band-metrics{
  display:grid;
  gap:14px;
}
.intro-band-metrics div{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:18px 20px;
  border-radius:20px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(223,245,228,.06);
}
.intro-band-metrics strong{font-size:1.2rem;color:#f3fff4}
.intro-band-metrics span{color:#c7d4c8}

.section-soft{
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.018));
}
.section-head{margin-bottom:30px}
.image-panel,.category-card,.tour-card,.gallery-item,.festival-card,.info-card,.booking-copy,.booking-form-card,.feature-card{
  border-radius:30px;
}
.feature-card,.info-card,.booking-copy,.booking-form-card,.festival-card{padding:24px}
.image-panel{border:1px solid rgba(223,245,228,.08)}

.filter-btn.active,.pill{
  background:linear-gradient(135deg, rgba(0,100,0,.36), rgba(30,166,74,.18));
  border-color:rgba(87,184,106,.34);
}
.search-input,.booking-form input,.booking-form select,.booking-form textarea,
.admin-field input,.admin-field textarea{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(223,245,228,.12);
}
.search-input:focus,.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus,
.admin-field input:focus,.admin-field textarea:focus{
  outline:none;
  border-color:rgba(87,184,106,.56);
  box-shadow:0 0 0 4px rgba(30,166,74,.12);
}

.site-footer{
  border-top:1px solid rgba(223,245,228,.08);
  background:rgba(0,0,0,.08);
}
.footer-grid{
  grid-template-columns:1.2fr 1fr .7fr;
  align-items:start;
}
.footer-contact{
  display:grid;
  gap:8px;
  justify-items:start;
}
.footer-contact strong{
  color:#fff;
  margin-bottom:4px;
}
.footer-contact a,.footer-contact span{
  color:#dff5e4;
  text-decoration:none;
  line-height:1.6;
}
.footer-contact a:hover{color:#9ce0ab}

.footer-admin-link{
  color:#9ce0ab;
}
.footer-admin-link:hover{color:#dff5e4}

.admin-shell{padding:126px 0 84px}
.admin-hero{
  padding:32px;
  border-radius:30px;
  background:linear-gradient(135deg, rgba(8,45,20,.9), rgba(12,29,18,.7));
  border:1px solid rgba(223,245,228,.09);
  box-shadow:var(--shadow);
  margin-bottom:22px;
}
.admin-overview{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:22px;
  margin-bottom:22px;
}
.admin-summary-card,.admin-quick-nav{
  border-radius:28px;
  padding:26px;
}
.admin-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.admin-kpis div{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(223,245,228,.06);
}
.admin-kpis strong{display:block;color:#f2fff4;margin-bottom:6px}
.admin-kpis span{color:#c7d4c8;font-size:.95rem}
.admin-quick-nav{
  display:grid;
  align-content:start;
  gap:12px;
  position:sticky;
  top:112px;
}
.admin-quick-nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(223,245,228,.06);
  color:#ecf8ed;
  transition:.25s ease;
}
.admin-quick-nav a:hover{
  transform:translateX(4px);
  background:rgba(14,139,57,.14);
  border-color:rgba(87,184,106,.22);
}
.admin-grid{gap:24px}
.admin-panel{padding:26px}
.admin-panel h2{margin-bottom:0}
.manage-card h3{font-size:1.2rem}
.thumb-preview{
  border-radius:18px;
  border:1px dashed rgba(223,245,228,.18);
}
.mini-btn{
  background:rgba(14,139,57,.18);
  border-color:rgba(87,184,106,.22);
}
.mini-btn:hover,.danger-btn:hover,.btn:hover{filter:brightness(1.06)}
.status-toast{
  background:#0b3b19;
  border:1px solid rgba(119,243,154,.28);
}
.helper-copy{margin-top:-2px;margin-bottom:18px}

@media (max-width:1100px){
  .intro-band-grid,.admin-overview{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
  .hero-content{padding:128px 0 86px}
  .hero-trust{gap:10px}
  .hero-scroll-indicator{display:none}
  .intro-band-card,.intro-band-metrics,.admin-hero,.admin-summary-card,.admin-quick-nav{padding:22px}
  .admin-kpis{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .admin-overview{margin-bottom:18px}
  .admin-quick-nav{position:static}
}


/* ===== SaaS admin upgrade ===== */
:root{
  --brand:#006400;
  --brand-2:#0b7a20;
  --brand-3:#0f3414;
  --brand-soft:#d9f1dc;
  --bg-deep:#07110a;
  --panel-strong:rgba(9,22,12,.88);
  --panel-soft:rgba(255,255,255,.05);
}

body.site-page{
  background:
    radial-gradient(circle at top left, rgba(0,100,0,.18), transparent 28%),
    radial-gradient(circle at top right, rgba(7,122,32,.14), transparent 26%),
    linear-gradient(180deg,#071009 0%,#0b130d 45%,#101813 100%);
}

.bg-orb{background:#006400}
.bg-orb-two{background:#0b7a20}

.section-tag,.eyebrow{
  border-color:rgba(170,231,170,.18);
  background:rgba(7,48,12,.55);
  color:#e9f8e9;
}

.brand strong,
.hero-stats strong,
.booking-benefits strong,
.admin-field span,
.footer-admin-link{color:#e6f8e6}

.nav-cta,.btn-primary{
  background:linear-gradient(135deg,#0f8a20,#006400 60%,#004d00);
  color:#fff;
  box-shadow:0 18px 40px rgba(0,100,0,.28);
}

.btn-secondary{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(181,241,185,.16);
}

.site-nav a::after{
  background:linear-gradient(90deg,#20a83a,transparent);
}

.search-input,
.booking-form input,.booking-form select,.booking-form textarea,
.admin-field input,.admin-field textarea{
  border-color:rgba(157,232,168,.12);
  background:rgba(255,255,255,.045);
}

.feature-card,.info-card,.booking-form-card,.booking-copy,.category-card,.festival-card,.modal-panel,
.admin-panel,.manage-card{
  border-color:rgba(156,231,165,.1);
  background:linear-gradient(180deg,rgba(10,24,13,.88),rgba(9,19,11,.72));
}

.hero-overlay{
  background:linear-gradient(90deg,rgba(4,8,5,.93) 0%,rgba(4,8,5,.62) 42%,rgba(4,8,5,.32) 66%,rgba(4,8,5,.82) 100%);
}

.admin-saas-page{
  background:
    radial-gradient(circle at left top, rgba(0,100,0,.16), transparent 24%),
    linear-gradient(180deg,#061008 0%,#0a140d 100%);
}

.admin-app-shell{
  display:grid;
  grid-template-columns:300px 1fr;
  min-height:100vh;
  position:relative;
  z-index:1;
}

.admin-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  padding:28px 22px;
  background:rgba(6,15,8,.94);
  border-right:1px solid rgba(157,232,168,.1);
  display:flex;
  flex-direction:column;
  gap:22px;
  backdrop-filter:blur(20px);
}

.admin-sidebar-brand{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));
  border:1px solid rgba(157,232,168,.1);
}
.admin-sidebar-brand img{width:60px;height:60px;object-fit:contain;border-radius:16px;background:#fff}
.admin-sidebar-brand small,
.admin-user-chip small,
.admin-sidebar-label{color:#afc7b2}
.admin-sidebar-brand strong{font-size:1.2rem;color:#fff}

.admin-sidebar-section{display:grid;gap:12px}
.admin-sidebar-nav{display:grid;gap:8px}
.admin-side-link{
  padding:13px 14px;
  border-radius:16px;
  color:#e8f3e8;
  border:1px solid transparent;
  transition:.25s ease;
}
.admin-side-link:hover,
.admin-side-link.active{
  background:linear-gradient(135deg,rgba(0,100,0,.34),rgba(8,42,12,.9));
  border-color:rgba(157,232,168,.14);
  transform:translateX(2px);
}

.admin-quick-card{
  padding:16px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(0,100,0,.22),rgba(255,255,255,.03));
  border:1px solid rgba(157,232,168,.1);
}
.admin-quick-card strong{display:block;margin-bottom:6px}
.admin-quick-card p{margin-top:0}

.admin-sidebar-footer{
  margin-top:auto;
  display:grid;
  gap:14px;
}

.admin-user-chip{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(157,232,168,.1);
}
.admin-avatar{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#0d8620,#006400);
  font-weight:800;
}

.admin-main{
  padding:38px 30px 80px;
}

.admin-topbar{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:26px;
  padding:28px;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(0,100,0,.22),rgba(8,19,11,.84));
  border:1px solid rgba(157,232,168,.12);
  box-shadow:var(--shadow);
}
.admin-topbar h1{font-size:clamp(2.7rem,4vw,4rem);margin-bottom:.4rem}
.admin-topbar p{max-width:700px;margin:0}
.admin-topbar-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

.admin-overview{display:grid;gap:22px;margin-bottom:22px}
.admin-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.admin-stat-card{
  padding:22px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));
  border:1px solid rgba(157,232,168,.1);
  box-shadow:var(--shadow);
}
.admin-stat-label{
  display:inline-block;
  font-size:.8rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#b9d7bc;
  margin-bottom:12px;
}
.admin-stat-card strong{
  display:block;
  font-size:2.5rem;
  line-height:1;
  color:#fff;
  margin-bottom:8px;
}
.admin-overview-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
}
.admin-shortcuts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.admin-shortcut-card{
  padding:18px;
  border-radius:20px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(157,232,168,.1);
  transition:.25s ease;
}
.admin-shortcut-card:hover{transform:translateY(-3px);border-color:rgba(157,232,168,.2)}
.admin-shortcut-card strong{display:block;margin-bottom:6px}
.admin-shortcut-card span{color:#b3c5b4}

.admin-timeline{display:grid;gap:14px}
.admin-timeline div{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  align-items:center;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(157,232,168,.08);
}
.admin-timeline strong{
  width:48px;height:48px;border-radius:16px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#0c8b21,#006400);
  font-size:1.1rem;
}

.admin-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}

.helper-copy{margin-top:0}

.mini-btn,.danger-btn{
  background:rgba(255,255,255,.06);
  border-color:rgba(157,232,168,.12);
}
.mini-btn:hover,.danger-btn:hover,.btn:hover{
  transform:translateY(-2px);
}

.status-toast{
  background:#0f3b16;
  border-color:rgba(166,245,176,.24);
}

.admin-login-overlay{
  position:fixed;
  inset:0;
  background:rgba(2,8,4,.76);
  backdrop-filter:blur(14px);
  z-index:200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.admin-login-overlay.hidden{display:none}
.admin-login-card{
  width:min(480px,100%);
  padding:30px;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(8,20,10,.96),rgba(9,19,11,.92));
  border:1px solid rgba(157,232,168,.12);
  box-shadow:0 30px 70px rgba(0,0,0,.45);
}
.admin-login-card h1{font-size:clamp(2.6rem,5vw,3.6rem);line-height:.95}
.admin-login-brand{
  display:flex;align-items:center;gap:14px;margin-bottom:18px;
}
.admin-login-brand img{
  width:72px;height:72px;border-radius:20px;object-fit:contain;background:#fff;
}
.login-hint{
  margin-top:16px;
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(157,232,168,.08);
  display:grid;
  gap:4px;
}
body.admin-locked{overflow:hidden}
body.admin-locked .admin-app-shell{filter:blur(6px);pointer-events:none;user-select:none}

@media (max-width:1180px){
  .admin-app-shell{grid-template-columns:1fr}
  .admin-sidebar{position:relative;height:auto}
  .admin-overview-grid,
  .admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:760px){
  .admin-main{padding:18px 14px 60px}
  .admin-topbar,
  .admin-shortcuts,
  .admin-overview-grid,
  .admin-stat-grid,
  .manage-grid,
  .admin-grid{grid-template-columns:1fr}
  .admin-topbar{padding:20px}
  .admin-sidebar{padding:18px}
  .admin-login-card{padding:22px}
}


/* Dynamic category dropdown in the top navigation */
.nav-category-dropdown{position:relative;display:inline-flex;align-items:center}
.nav-category-toggle{position:relative;background:none;border:0;color:#eaf7ec;font:inherit;font-weight:500;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:6px}
.nav-category-toggle::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:2px;background:linear-gradient(90deg,#20a83a,transparent);transition:.3s}
.nav-category-dropdown:hover .nav-category-toggle::after,.nav-category-dropdown.open .nav-category-toggle::after{width:100%}
.nav-category-menu{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-38%);width:min(760px,calc(100vw - 32px));padding:18px;border-radius:24px;background:linear-gradient(135deg,rgba(6,15,8,.98),rgba(14,42,20,.97));border:1px solid rgba(157,232,168,.18);box-shadow:0 26px 70px rgba(0,0,0,.42);display:none;z-index:60;backdrop-filter:blur(18px)}
.nav-category-dropdown:hover .nav-category-menu,.nav-category-dropdown.open .nav-category-menu{display:grid;grid-template-columns:230px 1fr;gap:18px}
.nav-category-menu a::after{display:none}
.nav-mega-intro{padding:18px;border-radius:20px;background:linear-gradient(160deg,rgba(32,168,58,.24),rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.08)}
.nav-mega-intro span{display:block;color:#9de8a8;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;margin-bottom:8px}
.nav-mega-intro strong{display:block;color:#fff;font-family:'Cormorant Garamond',serif;font-size:28px;line-height:1}
.nav-mega-intro p{margin:10px 0 16px;color:rgba(234,247,236,.72);font-size:13px;line-height:1.55}
.nav-mega-all{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#20a83a;color:#fff!important;font-size:13px;font-weight:800;white-space:nowrap}
.nav-mega-all:hover{background:#2cc94c;color:#fff!important}
.nav-mega-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nav-mega-card{display:grid!important;grid-template-columns:78px 1fr;gap:12px;align-items:center;padding:10px!important;border-radius:18px;color:#eaf7ec!important;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);white-space:normal!important;transition:.25s ease}
.nav-mega-card:hover{transform:translateY(-2px);background:rgba(32,168,58,.16);border-color:rgba(157,232,168,.24);color:#fff!important}
.nav-mega-card img{width:78px;height:68px;object-fit:cover;border-radius:14px;box-shadow:0 10px 22px rgba(0,0,0,.24)}
.nav-mega-card-body{display:grid;gap:4px;min-width:0}
.nav-mega-card strong{font-size:14px;line-height:1.2;color:#fff}
.nav-mega-card small{color:rgba(234,247,236,.68);font-size:12px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nav-mega-card em{font-style:normal;color:#9de8a8;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
@media (max-width:900px){.nav-category-menu{left:auto;right:0;transform:none;width:min(690px,calc(100vw - 28px))}.nav-category-dropdown:hover .nav-category-menu,.nav-category-dropdown.open .nav-category-menu{grid-template-columns:1fr}.nav-mega-intro{display:none}}
@media (max-width:760px){.nav-category-dropdown{width:100%;display:block}.nav-category-toggle{width:100%;justify-content:space-between;color:#eaf7ec}.nav-category-menu{position:static;margin-top:12px;width:100%;box-shadow:none;background:rgba(255,255,255,.045);padding:12px;border-radius:18px}.nav-category-dropdown:hover .nav-category-menu,.nav-category-dropdown.open .nav-category-menu{display:grid}.nav-mega-grid{grid-template-columns:1fr}.nav-mega-card{grid-template-columns:64px 1fr}.nav-mega-card img{width:64px;height:58px}}

/* ===== Responsive accessibility upgrade: mobile + tablet ===== */
:root{
  --mobile-gutter:clamp(1rem,4vw,1.5rem);
}

html{font-size:100%;-webkit-text-size-adjust:100%}
body{min-width:320px}

/* Safer responsive media and forms */
.hero-media img,
.hero-media video,
.image-panel img,
.tour-image img,
.category-card img,
.gallery-item img,
.thumb-preview img{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}

/* Large tablets and small laptops */
@media (max-width:1180px){
  .container{width:min(100% - 3rem,960px)}
  .site-nav{gap:14px;font-size:.95rem}
  .brand img{width:150px}
  .hero{min-height:86vh}
  .hero-content{padding:110px 0 80px}
  .split-grid{grid-template-columns:1fr;gap:28px}
  .image-panel img{min-height:380px;max-height:520px;width:100%}
  .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tour-grid,.festival-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-layout{grid-template-columns:1fr;gap:20px}
  .admin-sidebar-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-sidebar-footer{grid-template-columns:1fr auto;align-items:center}
}

/* Tablets */
@media (max-width:900px){
  .container{width:calc(100% - 2rem)}
  .section{padding:72px 0}
  h1{font-size:clamp(3rem,9vw,4.7rem)}
  h2{font-size:clamp(2.15rem,6vw,3.2rem)}
  .nav-wrap{gap:14px}
  .site-nav{gap:12px}
  .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px}
  .feature-grid{grid-template-columns:1fr 1fr}
  .category-grid{grid-template-columns:1fr}
  .category-card-selected{min-height:320px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-item:nth-child(n){grid-column:auto;min-height:260px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .admin-topbar{align-items:flex-start;flex-direction:column}
  .admin-topbar-actions{justify-content:flex-start;width:100%}
  .admin-sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Phones */
@media (max-width:760px){
  .container{width:calc(100% - (var(--mobile-gutter) * 2))}
  .site-header{background:rgba(6,15,8,.94)}
  .nav-wrap{padding:10px 0}
  .brand{gap:10px;min-width:0}
  .brand img{width:112px}
  .brand small{display:none}
  .brand strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44vw;display:block}
  .menu-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(157,232,168,.16);line-height:1}
  .site-nav{top:65px;max-height:calc(100vh - 65px);overflow:auto;gap:10px;box-shadow:0 22px 50px rgba(0,0,0,.35)}
  .site-nav a,.nav-category-toggle{width:100%;padding:12px 4px;font-size:1rem}
  .site-nav .nav-cta{display:flex;justify-content:center;padding:14px 18px;margin-top:4px}

  .hero{min-height:auto;display:block}
  .hero-media img{height:100%;min-height:640px;object-fit:cover}
  .hero-overlay{background:linear-gradient(180deg,rgba(4,8,5,.86) 0%,rgba(4,8,5,.6) 38%,rgba(4,8,5,.94) 100%)}
  .hero-content{padding:104px 0 64px;min-height:640px;display:flex;flex-direction:column;justify-content:center}
  .hero-lead{font-size:1rem;line-height:1.7}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;width:100%}
  .hero-actions .btn{width:100%}
  .hero-trust span{width:100%;text-align:center}
  .hero-stats{grid-template-columns:1fr;gap:12px;width:100%}
  .hero-stats article{padding:16px}

  .section{padding:58px 0}
  .section-head,.section-head.top-align{gap:14px;margin-bottom:20px}
  .section-tag,.eyebrow{font-size:.7rem;letter-spacing:.08em;padding:9px 12px}
  h1{font-size:clamp(2.65rem,15vw,3.35rem);line-height:.96}
  h2{font-size:clamp(2rem,11vw,2.65rem);line-height:1.03}
  p{line-height:1.7}

  .split-grid,.feature-grid,.info-grid,.booking-layout,.tour-grid,.festival-grid,.category-grid,.footer-grid,.booking-form{grid-template-columns:1fr}
  .feature-card,.info-card,.booking-form-card,.booking-copy,.festival-card,.category-dropdown-wrap,.admin-panel,.manage-card{padding:18px;border-radius:22px}
  .image-panel,.category-card,.tour-card,.gallery-item{border-radius:22px}
  .image-panel img{min-height:280px;max-height:360px}
  .category-card,.category-card-selected{min-height:260px}
  .tour-image{height:220px}
  .tour-body{padding:18px}
  .filter-row,.tour-controls{justify-items:stretch;justify-content:stretch;width:100%}
  .filter-select,.search-input{width:100%}
  .filter-btn{flex:1 1 auto;min-height:44px}
  .gallery-grid{grid-template-columns:1fr;gap:14px}
  .gallery-item:nth-child(n){min-height:230px}
  .booking-form .btn{width:100%}
  .modal-panel{width:calc(100% - 1rem);max-height:92vh;margin:1rem auto 0;padding:16px;border-radius:22px}
  .modal-hero img{max-height:260px}
  .footer-grid{gap:8px}

  .admin-app-shell{display:block}
  .admin-sidebar{position:relative;height:auto;padding:16px;gap:16px;border-right:0;border-bottom:1px solid rgba(157,232,168,.1)}
  .admin-sidebar-brand img{width:52px;height:52px}
  .admin-sidebar-nav{grid-template-columns:1fr;gap:8px}
  .admin-side-link{padding:12px 14px}
  .admin-quick-card{display:none}
  .admin-sidebar-footer{grid-template-columns:1fr;gap:10px}
  .admin-main{padding:16px var(--mobile-gutter) 50px}
  .admin-topbar{padding:18px;border-radius:22px}
  .admin-topbar h1{font-size:clamp(2.2rem,12vw,3rem)}
  .admin-topbar-actions{display:grid;grid-template-columns:1fr;width:100%}
  .admin-topbar-actions .btn{width:100%}
  .admin-stat-card{padding:18px;border-radius:20px}
  .admin-stat-card strong{font-size:2rem}
  .admin-toolbar{align-items:flex-start;flex-direction:column}
  .admin-toolbar .left-actions,.admin-toolbar .right-actions{width:100%;display:grid;grid-template-columns:1fr}
  .mini-btn,.danger-btn{width:100%;min-height:44px}
  .admin-timeline div{grid-template-columns:40px 1fr}
  .admin-timeline strong{width:40px;height:40px}
  .admin-login-overlay{align-items:flex-start;overflow:auto}
  .admin-login-card{margin:22px 0;width:100%;border-radius:22px}
  .admin-login-brand img{width:58px;height:58px}
}

/* Very small phones */
@media (max-width:420px){
  .container{width:calc(100% - 1.5rem)}
  .brand img{width:96px}
  .brand strong{max-width:42vw;font-size:.82rem}
  .btn{min-height:50px;padding:0 16px}
  h1{font-size:2.45rem}
  h2{font-size:1.9rem}
  .hero-content{padding-top:92px;min-height:610px}
  .hero-media img{min-height:610px}
  .tour-meta{align-items:flex-start;flex-direction:column}
  .nav-mega-card{grid-template-columns:56px 1fr;padding:8px!important}
  .nav-mega-card img{width:56px;height:52px}
  .admin-main{padding-left:12px;padding-right:12px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}





/* Provided home-slider images and visible telephone placement */
.nav-contact-quick{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  padding:8px 12px;
  border-radius:16px;
  border:1px solid rgba(223,245,228,.12);
  background:rgba(255,255,255,.05);
  color:#edf9ef;
  white-space:nowrap;
}
.nav-contact-quick span{
  color:#b8cab9;
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nav-contact-quick a{
  font-weight:800;
  font-size:.92rem;
}
.hero-contact-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:22px;
  max-width:760px;
}
.hero-contact-label{
  color:#e7f8e9;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
  margin-right:2px;
}
.hero-contact-strip a{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(14,139,57,.20);
  border:1px solid rgba(87,184,106,.36);
  color:#f6fff7;
  font-weight:800;
  box-shadow:0 12px 30px rgba(0,0,0,.16);
}
.footer-contact a{color:#e7f8e9;font-weight:700;margin-top:7px;display:block}
@media (max-width:1100px){.nav-contact-quick{display:none}}
@media (max-width:760px){.hero-contact-strip{gap:8px}.hero-contact-strip a{font-size:.9rem;padding:9px 12px}.hero-contact-label{width:100%}}


/* Mobile category dropdown fix: make the tapped menu open reliably inside the hamburger panel */
@media (max-width:760px){
  .site-nav.open .nav-category-dropdown{
    width:100%;
  }
  .site-nav.open .nav-category-dropdown.open .nav-category-menu{
    display:grid !important;
    position:static;
    visibility:visible;
    opacity:1;
    max-height:none;
    overflow:visible;
    transform:none;
    width:100%;
    margin-top:12px;
    grid-template-columns:1fr;
    z-index:100;
  }
  .site-nav.open .nav-mega-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .site-nav.open .nav-mega-card{
    display:grid;
  }
}
