
:root{
  --bg:#10261f;
  --bg-2:#17352c;
  --card:#1a342c;
  --card-2:#23443a;
  --soft:#f7f3eb;
  --soft-2:#fcfaf5;
  --text:#21342d;
  --muted:#6c7a74;
  --line:rgba(29,54,46,.10);
  --white:#ffffff;
  --gold:#c7a76a;
  --gold-dark:#a07d49;
  --green:#2f5f52;
  --green-2:#23483d;
  --shadow:0 24px 60px rgba(16,38,31,.10);
  --radius:24px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,system-ui,sans-serif;
  background:linear-gradient(180deg,#faf7f0,#f4efe6);
  color:var(--text);
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,92%);margin:0 auto}

.site-header{
  position:fixed;top:0;left:0;width:100%;z-index:50;
  background:rgba(16,38,31,.74);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-wrap{min-height:82px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:14px;color:var(--white);min-width:max-content}
.brand-icon{
  width:50px;height:50px;border-radius:16px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#dbc18d,#ab8550);
  color:#12201c;font-size:1.25rem;
  box-shadow:0 14px 34px rgba(194,163,107,.22);
}
.brand strong{
  display:block;
  font-family:"Playfair Display",serif;
  font-size:1.08rem;
  line-height:1.1;
}
.brand small{
  display:block;
  margin-top:2px;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.72;
}
.nav-links{display:flex;align-items:center;gap:22px;margin-left:auto}
.nav-links > a,.dropdown-toggle{
  color:rgba(255,255,255,.9);
  font-size:.95rem;font-weight:600;transition:.2s ease;
}
.nav-links > a:hover,.dropdown-toggle:hover,.nav-links > a.active,.nav-dropdown.active > .dropdown-toggle{color:#ead7ae}
.nav-actions{display:flex;align-items:center;gap:12px}
.wa-btn,.gold-btn,.ghost-btn,.link-btn,.ghost-dark-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:999px;padding:12px 20px;font-weight:700;transition:.22s ease;
}
.wa-btn:hover,.gold-btn:hover,.ghost-btn:hover,.link-btn:hover,.ghost-dark-btn:hover{transform:translateY(-2px)}
.wa-btn{color:var(--white);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.gold-btn{color:#1b140a;background:linear-gradient(135deg,#d8bc84,#b18a57);box-shadow:0 14px 30px rgba(178,143,90,.22)}
.ghost-btn{color:var(--white);border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04)}
.ghost-dark-btn{color:#214239;border:1px solid var(--line);background:#fff}
.large{padding:14px 24px}
.full{width:100%;border:none;cursor:pointer}

.wa-btn,.gold-btn,.ghost-btn,.link-btn,.ghost-dark-btn{
  position:relative;
  overflow:hidden;
}
.wa-btn::before,.gold-btn::before,.ghost-btn::before,.ghost-dark-btn::before{
  content:"";
  position:absolute;
  top:0;left:-120%;
  width:70%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:skewX(-24deg);
  transition:left .55s ease;
}
.wa-btn:hover::before,.gold-btn:hover::before,.ghost-btn:hover::before,.ghost-dark-btn:hover::before{
  left:140%;
}
.wa-btn:hover,.gold-btn:hover,.ghost-btn:hover,.link-btn:hover,.ghost-dark-btn:hover{
  transform:translateY(-3px);
}
.wa-btn:active,.gold-btn:active,.ghost-btn:active,.ghost-dark-btn:active{
  transform:translateY(0) scale(.98);
}
.card-bottom a,.hero-buttons a,.cta-actions a,.nav-actions a{
  will-change:transform;
}
.card-bottom a i,.hero-buttons a i,.cta-actions a i,.nav-actions a i,.link-btn i{
  transition:transform .22s ease;
}
.card-bottom a:hover i,.hero-buttons a:hover i,.cta-actions a:hover i,.nav-actions a:hover i,.link-btn:hover i{
  transform:translateX(3px);
}

.menu-toggle{display:none;margin-left:auto;background:transparent;border:none;cursor:pointer}
.menu-toggle span{display:block;width:28px;height:2px;background:var(--white);margin:6px 0;border-radius:2px}
.nav-dropdown{position:relative;display:flex;align-items:center}
.dropdown-toggle::after{content:" ▾";font-size:.82em}
.dropdown-menu{
  position:absolute;top:calc(100% + 14px);left:0;min-width:290px;
  display:grid;gap:4px;padding:14px;border-radius:20px;
  background:rgba(16,32,28,.96);border:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 50px rgba(0,0,0,.22);
  opacity:0;pointer-events:none;transform:translateY(8px);transition:.22s ease;
}
.dropdown-menu a{color:rgba(255,255,255,.86);font-size:.92rem;padding:10px 12px;border-radius:12px}
.dropdown-menu a:hover{background:rgba(255,255,255,.06);color:#ead7ae}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0)}


.hero,.page-hero{
  position:relative;
  color:var(--white);
}
.hero{
  min-height:100vh;
  padding:140px 0 96px;
  background: var(--hero-image, url('https://images.unsplash.com/photo-1548013146-72479768bada?auto=format&fit=crop&w=1600&q=80')) center/cover no-repeat;
  overflow:hidden;
}
.page-hero{
  padding:162px 0 92px;
  background:
    linear-gradient(90deg,rgba(11,23,20,.82) 0%,rgba(11,23,20,.50) 40%,rgba(11,23,20,.68) 100%),
    radial-gradient(circle at top right,rgba(194,163,107,.18),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.00)),
    var(--hero-image, url('https://images.unsplash.com/photo-1548013146-72479768bada?auto=format&fit=crop&w=1600&q=80')) center/cover no-repeat;
}
.hero-video{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  z-index:0;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(11,23,20,.82) 0%,rgba(11,23,20,.50) 40%,rgba(11,23,20,.68) 100%),
    radial-gradient(circle at top right,rgba(194,163,107,.18),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.00));
  z-index:1;
}
.hero .hero-grid{
  position:relative;
  z-index:2;
}

.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.hero-copy,.page-hero-copy{max-width:760px}
.eyebrow,.breadcrumb,.dark-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px;border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#ead7ae;
  font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
}
.breadcrumb{font-size:.84rem;letter-spacing:.04em;text-transform:none;margin-bottom:20px}
.dark-eyebrow{background:#eff4f3;color:#5c725f;border-color:#dbe6e2}
.hero-copy h1,.page-hero-copy h1,.cta-copy h2,.section-head h2,.split-card h3,.plan-card h2,.form-card h2,.dashboard-panel h2,.dashboard-head h1{
  font-family:"Playfair Display",serif;letter-spacing:-.02em;
}
.hero-copy h1{font-size:clamp(3rem,6vw,5.4rem);line-height:.98;margin:22px 0 18px}
.page-hero-copy h1,.dashboard-head h1{font-size:clamp(2.7rem,5vw,4.4rem);line-height:1.02;margin-bottom:14px}
.hero-copy h1 em{font-style:italic;color:#e7d3aa}
.hero-copy p,.page-hero-copy p,.cta-copy p,.dashboard-head p{color:rgba(255,255,255,.86);font-size:1.04rem;max-width:680px}
.dashboard-head p{color:#60736c}
.hero-stats,.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.hero-stats{grid-template-columns:repeat(3,1fr);margin-bottom:34px}
.hero-stats div,.pill-card{
  padding:18px;border-radius:20px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
}
.hero-stats strong,.pill-card strong{display:block;font-size:1.45rem}
.hero-stats span,.pill-card span{display:block;color:rgba(255,255,255,.76);font-size:.92rem}
.hero-buttons,.cta-actions{display:flex;flex-wrap:wrap;gap:14px}

.plan-card,.form-card,.contact-card,.split-card,.step-card,.review-card,.info-card,.faq-card,.map-card,.dashboard-panel{
  border-radius:var(--radius);box-shadow:var(--shadow);
}
.plan-card,.form-card,.dashboard-panel{
  padding:30px;
  background:rgba(255,250,244,.90);
  border:1px solid rgba(255,255,255,.30);
  backdrop-filter:blur(12px);
}
.plan-card h2,.form-card h2,.dashboard-panel h2{font-size:2rem;color:#173029;margin-bottom:6px}
.plan-card p,.form-card p{color:var(--muted);margin-bottom:18px}
.plan-card label,.form-card label,.dashboard-panel label{display:block;margin-bottom:12px}
.plan-card span,.form-card span,.dashboard-panel span{
  display:block;margin-bottom:6px;font-weight:600;font-size:.84rem;color:#3c524b
}
.plan-card input,.plan-card textarea,.plan-card select,.form-card input,.form-card textarea,.form-card select,.dashboard-panel input,.dashboard-panel textarea,.dashboard-panel select{
  width:100%;padding:14px 15px;border-radius:14px;border:1px solid rgba(32,58,51,.12);background:#fffefb;color:var(--text);outline:none
}
.plan-card input:focus,.plan-card textarea:focus,.plan-card select:focus,.form-card input:focus,.form-card textarea:focus,.form-card select:focus,.dashboard-panel input:focus,.dashboard-panel textarea:focus,.dashboard-panel select:focus{
  border-color:rgba(162,128,77,.45);box-shadow:0 0 0 4px rgba(194,163,107,.10)
}
.plan-card small,.form-card small{display:block;margin-top:12px;color:#6e817b;text-align:center}

.features-bar{margin-top:-34px;position:relative;z-index:3}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.features-grid article,.highlight-card,.team-card,.accommodation-card,.tour-category-card{
  border-radius:24px;background:linear-gradient(180deg,#173029,#132721);color:var(--white);border:1px solid rgba(255,255,255,.06);box-shadow:0 24px 50px rgba(10,23,20,.18)
}
.features-grid article{display:flex;align-items:center;gap:14px;padding:20px}
.feature-icon{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:0 0 52px;
  background:linear-gradient(135deg,#d8bc84,#b18a57);color:#16251f;font-size:1.05rem
}
.features-grid h3{font-size:1rem;margin-bottom:2px}
.features-grid p{font-size:.92rem;color:rgba(255,255,255,.72)}

.section,.page-section{padding:92px 0}
.soft-section{background:linear-gradient(180deg,#fcfaf5,#f7f3eb)}
.dark-section{background:linear-gradient(180deg,#153127,#10261f);color:var(--white)}
.section-head{margin-bottom:28px}
.section-head.small-head{margin-bottom:20px}
.section-head .line{display:block;width:58px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);margin-bottom:18px}
.section-head h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:10px}
.section-head p,.split-card p,.utility-bar p,.info-card p,.faq-card p,.contact-card p,.map-card p,.step-card p,.review-card p,.dashboard-note{color:var(--muted)}
.dark-section .section-head p{color:rgba(255,255,255,.72)}
.split-head{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.split-head > a{color:#ead7ae;font-weight:700}

.tour-grid,.highlight-grid,.team-grid,.accommodation-grid,.info-grid,.faq-grid,.destination-grid{display:grid;gap:22px}
.tour-grid,.highlight-grid,.team-grid,.accommodation-grid,.info-grid,.faq-grid{grid-template-columns:repeat(3,1fr)}
.destination-grid{grid-template-columns:repeat(6,1fr)}
.tour-card{
  position:relative;min-height:360px;overflow:hidden;border-radius:26px;
  background:#19302a;box-shadow:0 26px 55px rgba(10,23,20,.22)
}
.hill-card{
  background:
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.78)),
    var(--hill-image, url('https://images.unsplash.com/photo-1548013146-72479768bada?auto=format&fit=crop&w=1200&q=80')) center/cover no-repeat;
}
.culture-card{
  background:
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.80)),
    var(--culture-image, linear-gradient(135deg,#34271d,#7d5a34 55%,#1d1712));
}
.romance-card{
  background:
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.82)),
    var(--romance-image, linear-gradient(135deg,#2f201d,#8a6552 55%,#1a1312));
}
.card-body{position:absolute;left:0;right:0;bottom:0;padding:26px;color:var(--white)}
.card-body h3{font-family:"Playfair Display",serif;font-size:2rem;margin-bottom:4px}
.card-body p{font-weight:700;color:rgba(255,255,255,.96)}
.card-body small{display:block;color:rgba(255,255,255,.78);margin:8px 0 18px}
.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card-bottom a{padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,#d8bc84,#b18a57);color:#1b140a;font-weight:700}

.about-grid,.split-layout,.contact-grid,.cta-layout{display:grid;gap:24px;align-items:start}
.about-grid,.split-layout{grid-template-columns:1.05fr .95fr}
.contact-grid{grid-template-columns:1fr 1fr}
.cta-layout{grid-template-columns:1fr auto;align-items:center}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step-card,.review-card,.info-card,.faq-card,.contact-card,.split-card,.map-card{
  padding:26px;background:var(--white);border:1px solid var(--line)
}
.step-card b{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#d8bc84,#b18a57);color:#1b140a;margin-bottom:14px
}
.step-card h3,.review-card strong,.info-card h3,.faq-card h3,.contact-card h3,.split-card h3,.map-card h3{color:#19312a}
.step-card h3,.info-card h3,.faq-card h3,.contact-card h3,.split-card h3,.map-card h3{font-size:1.38rem;margin-bottom:8px}
.review-grid{display:grid;gap:16px}
.review-card .stars{color:#c89d54;letter-spacing:.14em;margin-bottom:10px}
.review-card span{display:block;color:#72847e;font-size:.92rem;margin-top:4px}

.highlight-card,.team-card,.accommodation-card,.tour-category-card{padding:28px;min-height:100%}
.highlight-card h3,.team-card h3,.accommodation-card h3,.tour-category-card h3{
  font-family:"Playfair Display",serif;font-size:1.6rem;margin-bottom:10px
}
.highlight-card p,.team-card p,.accommodation-card p,.tour-category-card p{color:rgba(255,255,255,.78)}
.highlight-card ul,.accommodation-card ul,.tour-category-card ul,.bullet-list,.contact-list{list-style:none;display:grid;gap:10px}
.highlight-card li,.accommodation-card li,.tour-category-card li,.bullet-list li{position:relative;padding-left:18px}
.highlight-card li::before,.accommodation-card li::before,.tour-category-card li::before,.bullet-list li::before{
  content:"";position:absolute;left:0;top:.75em;width:8px;height:8px;border-radius:50%;background:#d8bf8b
}
.team-card .role{display:block;color:#e9d6ad;margin-bottom:10px}
.team-card .tag{display:inline-flex;margin-top:14px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);color:#ecdcb6;font-size:.84rem}
.utility-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.utility-chip-row{display:flex;gap:10px;flex-wrap:wrap}
.utility-chip{
  padding:10px 16px;border-radius:999px;background:var(--white);
  border:1px solid var(--line);box-shadow:0 10px 24px rgba(10,23,20,.05);color:#415651;font-weight:600
}
.notice-strip{
  margin-bottom:24px;padding:16px 18px;border-radius:18px;
  background:linear-gradient(90deg,rgba(194,163,107,.16),rgba(194,163,107,.05));
  border:1px solid rgba(194,163,107,.18);color:#5f512e
}
.icon-box{
  width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:0 0 44px;
  background:linear-gradient(135deg,rgba(194,163,107,.18),rgba(194,163,107,.08));color:#8f7244
}
.contact-list li{display:flex;gap:14px;align-items:flex-start}
.contact-list strong{display:block;color:#1c332c;margin-bottom:3px}
.contact-list span,.contact-list a{color:#5e736d}
.map-card{min-height:240px;background:linear-gradient(135deg,#f5f0e5,#ffffff)}
.destination-grid div{
  padding:18px;border-radius:18px;text-align:center;font-weight:700;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:var(--white)
}
.cta-band{
  color:var(--white);padding:78px 0;
  background:
    linear-gradient(90deg,rgba(11,23,20,.86),rgba(11,23,20,.56)),
    radial-gradient(circle at right,rgba(194,163,107,.18),transparent 28%),
    var(--hero-image, url('../assets/images/sl.jpg')) center/cover no-repeat;
}
.hero-typing {
  position: relative;
  height: 60vh;
  min-height: 420px;
  background: url('../assets/images/sl.jpg') center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.cta-copy h2{font-size:clamp(2rem,3.2vw,3.1rem);margin-bottom:10px}

.footer{
  background:linear-gradient(180deg,#143128,#10261f);
  color:var(--white);padding:62px 0 24px
}
.footer-grid{display:grid;grid-template-columns:1.25fr .9fr .95fr 1.05fr;gap:28px}
.footer-column h4{font-family:"Playfair Display",serif;font-size:1.26rem;margin-bottom:14px}
.footer-column p,.footer-column a{color:rgba(255,255,255,.72);display:block;margin-bottom:10px}
.footer-column a:hover{color:#ead7ae}
.social-row{display:flex;gap:10px;margin-top:12px}
.social-row a{
  width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);font-size:.95rem
}
.footer-bottom{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.54);font-size:.92rem
}
.link-btn{padding:0;border-radius:0;background:none;color:#ead7ae;font-weight:700}
.whatsapp-float{
  position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;z-index:60;font-size:1.3rem;
  color:#fff;background:linear-gradient(135deg,#2fa56f,#227e57);box-shadow:0 18px 30px rgba(34,126,87,.25)
}

.dashboard-page{padding-top:110px}
.dashboard-hero{padding:10px 0 20px}
.dashboard-head{
  background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow);
  display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap
}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.full-panel{grid-column:1 / -1}
.dashboard-actions{display:flex;gap:14px;flex-wrap:wrap}
.dashboard-note{margin-top:12px}

@media (max-width:1080px){
  .hero-grid,.about-grid,.split-layout,.contact-grid,.cta-layout,.dashboard-grid{grid-template-columns:1fr}
  .tour-grid,.highlight-grid,.team-grid,.accommodation-grid,.info-grid,.faq-grid,.step-grid{grid-template-columns:repeat(2,1fr)}
  .features-grid,.destination-grid,.hero-stats,.stat-row,.footer-grid{grid-template-columns:repeat(2,1fr)}
  .full-panel{grid-column:auto}
}
@media (max-width:920px){
  .menu-toggle{display:block}
  .nav-links{
    display:none;position:absolute;left:4%;right:4%;top:82px;margin-left:0;
    background:rgba(12,26,23,.98);border:1px solid rgba(255,255,255,.08);
    border-radius:22px;padding:18px;box-shadow:0 24px 50px rgba(0,0,0,.22);
    flex-direction:column;align-items:flex-start;gap:14px
  }
  .nav-links.active{display:flex}
  .nav-actions{display:none}
  .nav-dropdown{width:100%;flex-direction:column;align-items:flex-start}
  .dropdown-menu{
    position:static;opacity:1;pointer-events:auto;transform:none;min-width:100%;
    background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
    box-shadow:none;margin-top:10px
  }
}
@media (max-width:680px){
  .container{width:min(100% - 28px,1180px)}
  .hero{min-height:auto;padding:128px 0 78px}
  .page-hero{padding:138px 0 76px}
  .tour-grid,.highlight-grid,.team-grid,.accommodation-grid,.info-grid,.faq-grid,
  .step-grid,.features-grid,.destination-grid,.hero-stats,.stat-row,.footer-grid{grid-template-columns:1fr}
  .hero-copy h1{font-size:3rem}
  .page-hero-copy h1,.dashboard-head h1{font-size:2.6rem}
  .plan-card,.form-card,.contact-card,.split-card,.step-card,.review-card,.info-card,.faq-card,.map-card,.dashboard-panel{padding:22px}
  .split-head{flex-direction:column;align-items:flex-start}
  .hero-buttons .gold-btn,.hero-buttons .ghost-btn,.cta-actions .gold-btn,.cta-actions .wa-btn{width:100%}
  .footer-bottom{flex-direction:column}
}


/* Button and feature-card polish update */
.features-grid{
  margin-top:-62px;
}
.features-grid article{
  min-height:96px;
  border-radius:22px;
  padding:20px 22px;
  background:linear-gradient(135deg,#123128 0%,#0f2922 55%,#123a30 100%);
  border:1px solid rgba(214,190,135,.14);
  box-shadow:0 18px 34px rgba(9,24,19,.22);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.features-grid article:hover{
  transform:translateY(-4px);
  box-shadow:0 26px 42px rgba(9,24,19,.26);
  border-color:rgba(214,190,135,.30);
}
.feature-icon{
  width:54px;
  height:54px;
  flex:0 0 54px;
  box-shadow:0 10px 18px rgba(194,163,107,.22);
}
.features-grid h3{
  font-size:1.04rem;
  line-height:1.2;
}
.features-grid p{
  margin-top:4px;
  line-height:1.35;
}

/* stronger call-to-action buttons */
.gold-btn,.wa-btn,.ghost-btn{
  min-height:48px;
}
.gold-btn{
  box-shadow:0 16px 30px rgba(176,138,82,.24);
}
.gold-btn:hover{
  box-shadow:0 22px 34px rgba(176,138,82,.30);
}
.wa-btn{
  box-shadow:0 10px 24px rgba(255,255,255,.05);
}

/* plan card button */
.plan-card .gold-btn.full{
  min-height:54px;
  font-size:1.02rem;
  border-radius:18px;
}

/* mobile tidy */
@media (max-width:680px){
  .features-grid{
    margin-top:-30px;
  }
  .features-grid article{
    min-height:auto;
    padding:18px;
  }
}



/* Sri Lankan decorative art */
.hero,
.page-hero,
.soft-section,
.footer,
.cta-band {
  position: relative;
  overflow: hidden;
}

.hero::after {
  z-index:1;
  content: "";
  position: absolute;
  right: -90px;
  top: 90px;
  width: 420px;
  height: 420px;
  background: url("../assets/art/mandala-transparent.png") no-repeat center/contain;
  opacity: 0.07;
  pointer-events: none;
}

.page-hero::after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -90px;
  width: 380px;
  height: 380px;
  background: url("../assets/art/mandala-transparent.png") no-repeat center/contain;
  opacity: 0.06;
  pointer-events: none;
}

.soft-section::before {
  content: "";
  position: absolute;
  left: 0;
  top: 30px;
  bottom: 30px;
  width: 58px;
  background: url("../assets/art/border-pattern-transparent.png") repeat-y center top / contain;
  opacity: 0.08;
  pointer-events: none;
}

.cta-band::after {
  content: "";
  position: absolute;
  left: -70px;
  bottom: -70px;
  width: 260px;
  height: 260px;
  background: url("../assets/art/mandala-transparent.png") no-repeat center/contain;
  opacity: 0.05;
  pointer-events: none;
}

.footer::before {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -80px;
  width: 250px;
  height: 250px;
  background: url("../assets/art/mandala-transparent.png") no-repeat center/contain;
  opacity: 0.045;
  pointer-events: none;
}

.section-head .line {
  position: relative;
}
.section-head .line::after {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 96px;
  height: 10px;
  background: url("../assets/art/border-pattern-transparent.png") no-repeat left center / contain;
  opacity: 0.22;
}

@media (max-width: 920px) {
  .hero::after,
  .page-hero::after {
    width: 260px;
    height: 260px;
    opacity: 0.05;
  }
  .soft-section::before {
    width: 38px;
    opacity: 0.06;
  }
}

@media (max-width: 680px) {
  .hero::after,
  .page-hero::after,
  .cta-band::after,
  .footer::before {
    display: none;
  }
  .soft-section::before {
    width: 24px;
    opacity: 0.05;
  }
}

@media (max-width:680px){
  .hero-video{
    object-position:center center;
  }
}



/* Bulletproof hero video fix */
.hero.hero-video-mode{
  background:none !important;
  overflow:hidden;
}
.hero.hero-video-mode .hero-media{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.hero.hero-video-mode .hero-video{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100%;
  min-height:100%;
  object-fit:cover !important;
  object-position:center center !important;
}
.hero.hero-video-mode .hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
}
.hero.hero-video-mode .hero-grid{
  position:relative;
  z-index:2;
}



.tour-cover-card{
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid var(--line);
  background:#fff;
}
.tour-cover-image{
  display:block;
  width:100%;
  height:460px;
  object-fit:cover;
}
@media (max-width:680px){
  .tour-cover-image{
    height:260px;
  }
}



.day-tour-hero{
  background:
    linear-gradient(90deg,rgba(11,23,20,.78) 0%,rgba(11,23,20,.46) 40%,rgba(11,23,20,.66) 100%),
    radial-gradient(circle at top right,rgba(194,163,107,.18),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.00)),
    url("../assets/images/day-tour-cover.jpg") center/cover no-repeat !important;
}



.tuk-tuk-tour-hero{
  background:
    linear-gradient(90deg,rgba(11,23,20,.76) 0%,rgba(11,23,20,.42) 40%,rgba(11,23,20,.64) 100%),
    radial-gradient(circle at top right,rgba(194,163,107,.16),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.00)),
    url("../assets/images/tuk-tuk-tour-cover.jpg") center/cover no-repeat !important;
}



.brand-logo-image{
  gap:0;
}
.site-logo-img{
  height:72px;
  width:auto;
  display:block;
  object-fit:contain;
}
.footer-logo-img{
  height:86px;
}
@media (max-width:680px){
  .site-logo-img{
    height:58px;
  }
  .footer-logo-img{
    height:70px;
  }
}



.payment-accept{
  margin-top:12px;
}
.payment-accept span{
  display:block;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
  margin-bottom:6px;
}
.payment-icons{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.pay-badge{
  min-width:54px;
  height:40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 18px rgba(0,0,0,.08);
}
.pay-badge i{
  font-size:1.55rem;
  color:#ffffff;
}



.pay-badge{
  padding:0 10px;
  min-width:54px;
}
.pay-badge span{
  display:block;
  text-align:center;
  line-height:1.05;
  font-weight:800;
  letter-spacing:.02em;
}
.visa-badge span{
  color:#1a4fb7;
  font-size:.95rem;
}
.mastercard-badge span{
  color:#222;
  font-size:.66rem;
  text-transform:lowercase;
}
.amex-badge span{
  color:#1572a8;
  font-size:.50rem;
  line-height:1.05;
}



.payment-image-wrap{
  margin-top:4px;
  max-width:180px;
}
.payment-methods-img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}



.tripadvisor-float{
  position:fixed;
  right:18px;
  bottom:86px;
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  z-index:60;
  font-size:1.3rem;
  color:#fff;
  background:linear-gradient(135deg,#34e0a1,#00aa6c);
  box-shadow:0 18px 30px rgba(0,170,108,.22);
}
.tripadvisor-float:hover{
  transform:translateY(-2px);
}



.subpage-hero-content{
  max-width: 760px;
}
.accommodation-feature-image{
  margin: 34px 0 42px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 24px 50px rgba(0,0,0,.18);
}
.accommodation-feature-image img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}




.page-hero[style*="accommodation-hero-luxury-villa.png"]{
  min-height: 460px;
  display: flex;
  align-items: center;
}



/* Final accommodation hero image fix */
.accommodation-page-hero{
  min-height: 460px;
  display: flex;
  align-items: center;
  background:
    linear-gradient(90deg, rgba(11,23,20,.78) 0%, rgba(11,23,20,.48) 40%, rgba(11,23,20,.66) 100%),
    radial-gradient(circle at top right, rgba(194,163,107,.14), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00)),
    url("../assets/images/accommodation-hero-luxury-villa.png") center/cover no-repeat !important;
}



/* Accommodation 4-box layout update */
.accommodation-grid{
  grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
}
.accommodation-card{
  padding: 28px;
  min-height: 296px;
}
.accommodation-card h3{
  margin-bottom: 18px;
}
.accommodation-card p{
  margin-bottom: 12px;
}
.accommodation-card ul{
  margin: 0;
  padding-left: 18px;
}
.accommodation-card li{
  margin-bottom: 10px;
}



/* Premium accommodation cards */
.accommodation-grid{
  gap: 20px;
}
.accommodation-card{
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  min-height: 340px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 24px 54px rgba(10,23,20,.22);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.accommodation-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,18,15,.12) 0%, rgba(8,18,15,.28) 32%, rgba(8,18,15,.88) 100%);
  z-index: 0;
}
.accommodation-card > *{
  position: relative;
  z-index: 1;
}
.accommodation-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 30px 64px rgba(10,23,20,.28);
  border-color: rgba(216,188,132,.24);
}
.accommodation-card h3{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  line-height: 1.2;
}
.acc-icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #dbc18d, #ab8550);
  color: #183028;
  box-shadow: 0 10px 18px rgba(194,163,107,.22);
  flex: 0 0 44px;
}
.acc-icon i{
  font-size: 1rem;
}
.accommodation-card p,
.accommodation-card li{
  color: rgba(255,255,255,.90);
}
.accommodation-card ul{
  list-style: none;
  padding-left: 0;
  margin-top: 8px;
}
.accommodation-card li{
  position: relative;
  padding-left: 18px;
}
.accommodation-card li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #dbc18d;
}
.acc-bg-hotels{
  background:
    url('https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=1200&q=80') center/cover no-repeat;
}
.acc-bg-boutique{
  background:
    url('https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1200&q=80') center/cover no-repeat;
}
.acc-bg-villas{
  background:
    url('https://images.unsplash.com/photo-1512917774080-9991f1c4c750?auto=format&fit=crop&w=1200&q=80') center/cover no-repeat;
}
.acc-bg-eco{
  background:
    url('https://images.unsplash.com/photo-1506744038136-46273834b3fb?auto=format&fit=crop&w=1200&q=80') center/cover no-repeat;
}
@media (max-width:1080px){
  .accommodation-grid{
    grid-template-columns: repeat(2,1fr);
  }
}
@media (max-width:680px){
  .accommodation-grid{
    grid-template-columns: 1fr;
  }
  .accommodation-card{
    min-height: 300px;
  }
}



/* Accommodation page cleanup + readability fix */
.filter-chip-group,
.filter-chip,
.dashboard-note{
  display: none !important;
}

.accommodation-grid{
  margin-top: 10px;
}

.accommodation-card{
  min-height: 360px;
}

.accommodation-card::before{
  background: linear-gradient(
    180deg,
    rgba(7, 18, 16, 0.22) 0%,
    rgba(7, 18, 16, 0.42) 28%,
    rgba(7, 18, 16, 0.82) 58%,
    rgba(7, 18, 16, 0.95) 100%
  ) !important;
}

.accommodation-card h3{
  font-size: clamp(1.75rem, 2vw, 2.2rem);
  text-shadow: 0 3px 14px rgba(0,0,0,.55);
}

.accommodation-card p,
.accommodation-card li{
  color: rgba(255,255,255,.97) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.45);
  font-size: 1.02rem;
  line-height: 1.75;
}

.accommodation-card ul{
  margin-top: 16px;
}

.accommodation-card li{
  font-weight: 500;
}

.accommodation-card li::before{
  box-shadow: 0 0 0 3px rgba(219,193,141,.08);
}

@media (max-width: 680px){
  .accommodation-card{
    min-height: 320px;
  }
  .accommodation-card h3{
    font-size: 1.6rem;
  }
  .accommodation-card p,
  .accommodation-card li{
    font-size: .98rem;
    line-height: 1.65;
  }
}



/* ================================
   FINAL CTA SECTION FIX
   ================================ */
.cta-band-fixed{
  position: relative !important;
  padding: 64px 0 !important;
  min-height: 0 !important;
  height: auto !important;
  color: #fff !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(11,23,20,.92) 0%, rgba(11,23,20,.70) 45%, rgba(11,23,20,.55) 100%),
    url("../assets/images/sl.jpg") center/cover no-repeat !important;
}
.cta-band-fixed::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 15%, rgba(216,188,132,.18), transparent 26%),
    radial-gradient(circle at 88% 80%, rgba(216,188,132,.12), transparent 28%);
  pointer-events:none;
  z-index:0;
}
.cta-layout-fixed{
  position: relative;
  z-index: 2;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  flex-wrap: wrap !important;
}
.cta-band-fixed .cta-copy{max-width: 680px;}
.cta-band-fixed .cta-copy h2{
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 3vw, 3.2rem) !important;
  line-height: 1.12 !important;
  color: #ffffff !important;
  margin: 0 0 10px !important;
  text-shadow: 0 8px 24px rgba(0,0,0,.28);
}
.cta-band-fixed .cta-copy p{
  color: rgba(255,255,255,.88) !important;
  font-size: 1rem !important;
  margin: 0 !important;
  max-width: 620px;
}
.cta-band-fixed .cta-actions{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}
.cta-band-fixed .cta-actions a{
  min-height: 50px !important;
  padding: 13px 22px !important;
  font-size: .95rem !important;
  white-space: nowrap !important;
}
.cursor{
  display:inline-block;
  margin-left: 4px;
  animation: ctaCursorBlink .8s infinite;
}
@keyframes ctaCursorBlink{
  0%, 45%, 100%{ opacity: 1; }
  46%, 90%{ opacity: 0; }
}
@media (max-width: 760px){
  .cta-band-fixed{
    padding: 52px 0 !important;
    text-align: left !important;
    background-position: center !important;
  }
  .cta-layout-fixed{
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }
  .cta-band-fixed .cta-actions{
    width: 100%;
    justify-content: flex-start !important;
  }
  .cta-band-fixed .cta-actions a{width: 100%;}
}



/* ================================
   TOUR CARD IMAGE UPDATE
   ================================ */
.hill-card{
  background:
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.78)),
    url("../assets/images/hill-country-escape.jpg") center/cover no-repeat !important;
}

.culture-card{
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.82)),
    url("../assets/images/cultural-highlights.jpg") center/cover no-repeat !important;
}

.romance-card{
  background:
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.82)),
    url("../assets/images/romantic-getaway.jpg") center/cover no-repeat !important;
}

/* === Bug-fix patch: mobile menu, floating buttons, and responsive media === */
.menu-toggle{padding:8px;z-index:1002}
.nav-links{z-index:1001}
.site-header{z-index:1000}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-video-mode{background: url("../assets/images/sl.jpg") center/cover no-repeat;}
.tripadvisor-float,.whatsapp-float{z-index:999}
.whatsapp-float i{font-size:24px;line-height:1}

@media (max-width:920px){
  .nav-links{max-height:calc(100vh - 110px);overflow-y:auto;}
  .nav-dropdown .dropdown-menu{display:none;}
  .nav-dropdown:hover .dropdown-menu,
  .nav-dropdown:focus-within .dropdown-menu{display:grid;}
  .dropdown-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;}
}

@media (max-width:520px){
  .site-logo-img{max-width:150px;height:auto;}
  .hero-copy h1{font-size:2.45rem;line-height:1.05;}
  .hero-buttons{gap:12px;}
}


/* Tour type helper */
.tour-type-field{
  position:relative;
}
.label-with-hint{
  display:flex !important;
  align-items:center;
  gap:8px;
  position:relative;
  width:fit-content;
}
.hint-trigger{
  width:24px;
  height:24px;
  border:none;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  background:rgba(194,163,107,.14);
  color:#8b6b3f;
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.hint-trigger:hover,
.hint-trigger:focus-visible{
  background:rgba(194,163,107,.24);
  color:#5f4724;
  transform:translateY(-1px);
  outline:none;
}
.hint-popup{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  width:min(320px, calc(100vw - 72px));
  padding:14px 16px;
  border-radius:16px;
  background:#173029;
  color:#f7f3eb;
  box-shadow:0 20px 36px rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.08);
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  z-index:25;
}
.hint-popup::before{
  content:"";
  position:absolute;
  top:-8px;
  left:20px;
  width:14px;
  height:14px;
  background:#173029;
  border-left:1px solid rgba(255,255,255,.08);
  border-top:1px solid rgba(255,255,255,.08);
  transform:rotate(45deg);
}
.tour-type-field.show-hint .hint-popup{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.hint-popup strong{
  display:block;
  margin-bottom:10px;
  font-size:.9rem;
  color:#fff;
}
.hint-popup ul{
  margin:0;
  padding-left:18px;
}
.hint-popup li{
  margin-bottom:8px;
  color:rgba(247,243,235,.88);
  line-height:1.42;
}
.hint-popup li:last-child{
  margin-bottom:0;
}
.tour-type-inline-hint{
  margin-top:10px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(194,163,107,.10);
  border:1px solid rgba(194,163,107,.22);
  color:#53665f;
  font-size:.9rem;
  line-height:1.45;
}
.tour-type-inline-hint strong{
  color:#23352f;
}
@media (max-width:680px){
  .hint-popup{
    width:min(280px, calc(100vw - 48px));
    left:-4px;
  }
}


/* Tour type helper - fixed visible version */
.tour-type-field{position:relative;overflow:visible!important;}
.tour-type-field .label-with-hint{display:flex!important;align-items:center;gap:8px;position:relative;width:max-content;overflow:visible!important;}
.hint-trigger{position:relative;z-index:40;}
.tour-type-field:hover .hint-popup,
.hint-trigger:focus + .hint-popup,
.hint-popup:hover,
.tour-type-field.show-hint .hint-popup{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}
.hint-popup{pointer-events:none;z-index:9999!important;}
.tour-type-guide{
  margin-top:10px;
  border-radius:14px;
  background:rgba(23,48,41,.06);
  border:1px solid rgba(23,48,41,.10);
  overflow:hidden;
}
.tour-type-guide summary{
  cursor:pointer;
  list-style:none;
  padding:12px 14px;
  font-weight:800;
  font-size:.9rem;
  color:#173029;
}
.tour-type-guide summary::-webkit-details-marker{display:none;}
.tour-type-guide summary::after{content:" +";float:right;color:#a2804d;}
.tour-type-guide[open] summary::after{content:" −";}
.tour-guide-grid{
  display:grid;
  gap:8px;
  padding:0 14px 14px;
}
.tour-guide-grid p{
  margin:0;
  padding:10px 12px;
  border-radius:12px;
  background:#fffefb;
  color:#53665f;
  line-height:1.42;
  font-size:.88rem;
  border:1px solid rgba(194,163,107,.16);
}
.tour-guide-grid b{color:#23352f;}


/* Hotel advertisement placements */
.hotel-ads-section{
  padding:72px 0;
  background:
    radial-gradient(circle at top right, rgba(194,163,107,.14), transparent 26%),
    linear-gradient(180deg,#fffaf3,#f4eee5);
}
.hotel-ads-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
}
.sponsored-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(194,163,107,.16);
  color:#7c6038;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.hotel-ads-head h2{
  font-family:"Playfair Display",serif;
  color:#173029;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.05;
  margin-bottom:10px;
}
.hotel-ads-head p{
  max-width:690px;
  color:#60736c;
}
.hotel-ads-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.hotel-ad-card{
  border-radius:28px;
  background:#fffefb;
  overflow:hidden;
  border:1px solid rgba(32,58,51,.08);
  box-shadow:0 18px 42px rgba(10,23,20,.10);
  transition:transform .24s ease, box-shadow .24s ease;
}
.hotel-ad-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 56px rgba(10,23,20,.15);
}
.hotel-ad-image{
  min-height:190px;
  background:
    linear-gradient(135deg,rgba(23,48,41,.28),rgba(23,48,41,.10)),
    url("../assets/images/accommodation-hero-villa.png") center/cover no-repeat;
  position:relative;
}
.hotel-ad-image span{
  position:absolute;
  top:14px;
  right:14px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,250,243,.92);
  color:#8b6b3f;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
}
.hotel-ad-body{
  padding:22px;
}
.hotel-ad-location{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#8b6b3f;
  font-size:.82rem;
  font-weight:800;
  margin-bottom:9px;
}
.hotel-ad-body h3{
  color:#173029;
  font-size:1.3rem;
  line-height:1.2;
  margin-bottom:9px;
}
.hotel-ad-body p{
  color:#60736c;
  font-size:.94rem;
  line-height:1.55;
  margin-bottom:18px;
}
.hotel-ad-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#173029;
  font-weight:900;
}
.hotel-ad-link i{
  color:#b18a57;
}
.ad-admin-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:18px;
}
.ad-admin-card{
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.52);
  border:1px solid rgba(32,58,51,.08);
}
.ad-admin-card h3{
  color:#173029;
  margin-bottom:14px;
}
@media(max-width:900px){
  .hotel-ads-head{align-items:flex-start;flex-direction:column}
  .hotel-ads-grid,.ad-admin-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .hotel-ads-section{padding:48px 0}
  .hotel-ad-image{min-height:170px}
}

/* Single hotel sponsored ad + dashboard controls */
.single-hotel-ad-grid{
  grid-template-columns:minmax(280px, 520px) !important;
  justify-content:start;
}
.single-hotel-ad-card{
  max-width:520px;
}
.single-ad-admin-grid{
  grid-template-columns:minmax(280px, 1fr) !important;
}
.single-ad-admin-card{
  max-width:780px;
}
.ad-status-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(23,48,41,.08), rgba(194,163,107,.12));
  border:1px solid rgba(32,58,51,.10);
  margin:18px 0;
}
.ad-status-box span{
  margin:0 0 6px;
  color:#53665f;
  font-size:.84rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.ad-status-box strong{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  font-size:.9rem;
}
.status-on{
  background:rgba(29,181,132,.13);
  color:#13785a;
}
.status-off{
  background:rgba(177,138,87,.14);
  color:#7c6038;
}
.ad-toggle-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.ad-toggle-actions .gold-btn,
.ad-toggle-actions .ghost-dark-btn{
  border:none;
  cursor:pointer;
  min-height:44px;
}
@media(max-width:760px){
  .ad-status-box{
    align-items:flex-start;
    flex-direction:column;
  }
  .ad-toggle-actions .gold-btn,
  .ad-toggle-actions .ghost-dark-btn{
    width:100%;
    justify-content:center;
  }
  .single-hotel-ad-grid{
    grid-template-columns:1fr !important;
  }
}


/* Special day flag bar */
.special-day-flag-bar{
  width:100%;
  background:linear-gradient(90deg,#173029,#25483e,#173029);
  color:#fffaf3;
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 24px rgba(10,23,20,.16);
  position:relative;
  z-index:95;
}
.special-day-flag-inner{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:8px;
  padding-bottom:8px;
}
.special-day-flag-text{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  font-size:.92rem;
  line-height:1.35;
}
.special-day-flag-icon{
  width:30px;
  height:30px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  background:rgba(255,250,243,.13);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
  font-size:1.05rem;
}
.special-day-flag-text strong{
  color:#f3d9a3;
  font-weight:900;
}
.special-day-flag-text span:last-child{
  color:rgba(255,250,243,.86);
}
.special-day-flag-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:7px 13px;
  border-radius:999px;
  background:#d8bc84;
  color:#1b140a;
  font-size:.82rem;
  font-weight:900;
  box-shadow:0 10px 22px rgba(216,188,132,.18);
}
.special-day-flag-btn:hover{
  transform:translateY(-1px);
}
.dashboard-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
@media(max-width:760px){
  .special-day-flag-inner{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .special-day-flag-btn{
    width:100%;
  }
  .dashboard-mini-grid{
    grid-template-columns:1fr;
  }
}


.special-day-upload-box{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.special-day-upload-label{
  display:block;
  font-size:.9rem;
  font-weight:700;
  color:#29433b;
  margin-bottom:2px;
}
.special-day-upload-preview{
  min-height:92px;
  border:1px dashed rgba(25,54,46,.24);
  border-radius:16px;
  background:#f9f6ef;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  overflow:hidden;
}
.special-day-upload-preview.has-image{
  background:#ffffff;
  border-style:solid;
}
.special-day-upload-preview img{
  display:none;
  width:100%;
  max-width:180px;
  max-height:68px;
  object-fit:contain;
  border-radius:10px;
}
.special-day-upload-preview span{
  color:#71827c;
  font-size:.9rem;
}
.small-btn{
  min-height:38px;
  padding:10px 14px;
  font-size:.88rem;
}
.special-day-flag-icon.has-image{
  width:42px;
  height:42px;
  padding:3px;
  background:rgba(255,250,243,.20);
}
.special-day-flag-icon.has-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  display:block;
}


/* TripAdvisor button and review card - CEYVEX SOLUTIONS */
.tripadvisor-floating-btn{
  position: fixed;
  right: 24px;
  bottom: 108px;
  z-index: 999;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 13px 18px;
  border-radius: 999px;
  background: #00af87;
  color: #ffffff !important;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 16px 36px rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.25);
}
.tripadvisor-floating-btn:hover{
  transform: translateY(-2px);
  filter: brightness(1.05);
}
.tripadvisor-review-card .review-link,
.review-link{
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #cda86a;
  font-weight: 800;
  text-decoration: none;
}
.tripadvisor-review-card{
  border: 1px solid rgba(205,168,106,.35);
}
@media(max-width:640px){
  .tripadvisor-floating-btn{
    right: 14px;
    bottom: 96px;
    padding: 11px 14px;
    font-size: 13px;
  }
}

/* ================================
   MOBILE HEADER + HERO TOP GAP FIX
   Added by ChatGPT
   ================================ */
@media (max-width: 768px){
  .site-header{
    min-height: 96px !important;
  }

  .nav-wrap{
    min-height: 96px !important;
  }

  .hero{
    padding-top: 135px !important;
  }

  .hero-copy{
    padding-top: 24px !important;
  }

  .hero .eyebrow{
    margin-top: 18px !important;
  }

  .site-logo-img{
    height: 64px !important;
    max-width: 150px !important;
    object-fit: contain !important;
  }

  .menu-toggle{
    margin-left: auto !important;
  }
}

@media (max-width: 520px){
  .hero{
    padding-top: 145px !important;
  }

  .hero-copy h1{
    margin-top: 20px !important;
  }
}



/* =========================================================
   LHCT Showcase Slider + Mobile Image Bug Fix
   Added for: auto slide + tap/click navigation + broken image fallback
   ========================================================= */
.destination-showcase-section{
  position:relative;
  overflow:hidden;
}

.showcase-strip-wrap{
  overflow:hidden;
  touch-action: pan-y;
  user-select:none;
}

.showcase-strip{
  display:flex;
  gap:18px;
  width:max-content;
  animation: showcase-scroll 34s linear infinite;
  will-change: transform;
  padding:12px 0;
}

.showcase-strip-wrap:hover .showcase-strip,
.showcase-strip-wrap:focus-within .showcase-strip,
.showcase-strip.is-dragging{
  animation-play-state: paused !important;
}

.showcase-card{
  position:relative;
  flex:0 0 250px;
  height:360px;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 22px 55px rgba(16,24,40,.18);
  cursor:pointer;
  outline:none;
  background:#e8dfd0;
  transform:translateY(0) scale(1);
  transition:transform .35s ease, filter .35s ease, opacity .35s ease, box-shadow .35s ease;
  -webkit-tap-highlight-color: transparent;
}

.showcase-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  transform:scale(1.02);
  transition:transform .45s ease;
  border-radius:0 !important;
}

.showcase-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.18) 38%,rgba(0,0,0,.78) 100%);
  z-index:1;
}

.showcase-card-content{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  z-index:2;
  color:#fff;
}

.showcase-card-content span{
  display:inline-block;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.showcase-card-content h3{
  margin:0 0 6px;
  font-size:24px;
  line-height:1.15;
  color:#fff;
}

.showcase-card-content p{
  margin:0;
  font-size:14px;
  line-height:1.5;
  color:rgba(255,255,255,.88);
}

.card-action{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  color:#f5d890;
  font-size:13px;
  font-weight:900;
}

.showcase-card:hover,
.showcase-card:focus-visible,
.showcase-card.is-active{
  transform:translateY(-14px) scale(1.03);
  box-shadow:0 28px 60px rgba(16,24,40,.24);
  z-index:5;
}

.showcase-card:hover img,
.showcase-card:focus-visible img,
.showcase-card.is-active img{
  transform:scale(1.08);
}

.showcase-strip.is-focused .showcase-card{
  filter:blur(3px) saturate(.82);
  opacity:.62;
}

.showcase-strip.is-focused .showcase-card.is-active{
  filter:blur(0) saturate(1);
  opacity:1;
}

.showcase-card.lhct-img-missing img{
  opacity:0 !important;
}

.showcase-card.lhct-img-missing::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(21,49,39,.08),rgba(0,0,0,.68)),
    linear-gradient(135deg,#efe6d8,#c7a76a);
  z-index:0;
}

.showcase-card[data-fallback="sigiriya"].lhct-img-missing::before{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.72)),linear-gradient(135deg,#b48a50,#47624c);}
.showcase-card[data-fallback="ella"].lhct-img-missing::before{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.72)),linear-gradient(135deg,#8ea36c,#39533e);}
.showcase-card[data-fallback="kandy"].lhct-img-missing::before{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.72)),linear-gradient(135deg,#a64b52,#2d4b3e);}
.showcase-card[data-fallback="nuwara"].lhct-img-missing::before{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.72)),linear-gradient(135deg,#c6d6bd,#315944);}
.showcase-card[data-fallback="yala"].lhct-img-missing::before{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.72)),linear-gradient(135deg,#bd9352,#5e6e38);}
.showcase-card[data-fallback="galle"].lhct-img-missing::before{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.72)),linear-gradient(135deg,#dab879,#3f7d88);}

@media(max-width:680px){
  .destination-showcase-section{
    padding:58px 0 64px !important;
  }
  .showcase-strip{
    gap:14px;
    animation-duration:28s;
  }
  .showcase-card{
    flex:0 0 210px !important;
    height:300px !important;
    border-radius:24px !important;
  }
  .showcase-card-content{
    left:16px;
    right:16px;
    bottom:16px;
  }
  .showcase-card-content h3{
    font-size:22px;
  }
  .showcase-card-content p{
    font-size:13.5px;
  }
}

@keyframes showcase-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}


/* === CEYVEX FINAL TOUR BUG FIX PATCH === */
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
img, video { max-width: 100%; height: auto; }
.container { width: min(1180px, calc(100% - 32px)); max-width: 1180px; }
.nav-wrap, .hero-grid, .cta-layout, .footer-grid, .tour-grid, .info-grid { min-width: 0; }
.nav-links, .dropdown-menu { max-width: 100vw; }

.destination-showcase-section { overflow: hidden; }
.showcase-strip-wrap { overflow: hidden; width: 100%; max-width: 100%; touch-action: pan-y; }
.showcase-strip { display: flex; gap: 18px; width: max-content; will-change: transform; }
.showcase-card { display: block; flex: 0 0 310px; text-decoration: none; color: inherit; cursor: pointer; }
.showcase-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.showcase-card-content { pointer-events: none; }
.showcase-card .card-action { display: inline-flex; align-items: center; gap: 7px; color: #f7d98b; }
.showcase-strip-wrap:hover .showcase-strip { animation-play-state: paused; }

.tripadvisor-review-logo { width: 118px; height: auto; object-fit: contain; display: block; margin-bottom: 10px; }
.tripadvisor-float { background: #ffffff !important; padding: 8px !important; overflow: hidden; }
.tripadvisor-float img { width: 34px; height: 34px; object-fit: contain; display: block; }

.page-hero { background-image: linear-gradient(180deg, rgba(5,20,16,.48), rgba(5,20,16,.82)), var(--hero-image) !important; background-position: center !important; background-size: cover !important; }
.tour-card, .showcase-card { -webkit-tap-highlight-color: transparent; }

@media (max-width: 768px){
  .container { width: min(100% - 24px, 1180px); }
  .showcase-card { flex-basis: 255px; }
  .showcase-strip { gap: 14px; animation-duration: 44s; }
  .destination-showcase-section { padding-left: 0; padding-right: 0; }
  .tripadvisor-float img { width: 30px; height: 30px; }
  .tour-grid, .info-grid { grid-template-columns: 1fr !important; }
}


/* === CEYVEX DROPDOWN + TOUR LISTING FIX === */
.site-header,
.nav-wrap,
.nav-links,
.nav-dropdown{
  overflow: visible !important;
}

.nav-dropdown{
  padding: 22px 0;
  margin: -22px 0;
}

.nav-dropdown::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:18px;
  background:transparent;
}

.dropdown-menu{
  top:100% !important;
  margin-top:10px;
  z-index:9999 !important;
  max-height:calc(100vh - 105px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}

.dropdown-menu::-webkit-scrollbar{width:6px;}
.dropdown-menu::-webkit-scrollbar-thumb{background:rgba(216,188,132,.55);border-radius:10px;}

.tour-category-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:12px;
  color:#fff;
  min-height:260px !important;
  overflow:hidden;
  border-radius:26px;
  box-shadow:0 24px 55px rgba(0,0,0,.18);
}

.tour-category-card h3{
  font-family:"Playfair Display",serif;
  font-size:1.55rem;
  line-height:1.1;
  color:#fff;
}

.tour-category-card p{
  color:rgba(255,255,255,.88);
}

.tour-category-card .gold-btn{
  width:max-content;
  margin-top:4px;
}

@media(max-width:768px){
  .dropdown-menu{
    position:static !important;
    max-height:none;
    overflow:visible;
    margin-top:10px;
  }
  .nav-dropdown{padding:0;margin:0;}
}
