
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --teal:#1de9b6;--teal2:#00e5ff;--teal-glow:rgba(29,233,182,0.85);
  --navy:#0c2340;--white2:rgba(240,255,254,0.75);--text:#e2f8f5;
  --gold:#ffd54f;--gold2:#ff7a3d;--gold-glow:rgba(255,170,60,0.85);
}
html{scroll-behavior:smooth;}
body{font-family:'Raleway',sans-serif;background:#0c2340;color:#e2f8f5;overflow-x:hidden;cursor:default;}
*:not(input):not(textarea):not(select):not(a):not(button):not([onclick]):not([role="button"]){cursor:default;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 calc(3rem + 1cm) 0 calc(3rem - 1cm);height:68px;background:rgba(5,22,40,0.95);backdrop-filter:blur(18px);border-bottom:1px solid rgba(29,233,182,0.1);}
.logo{font-family:'Cinzel',serif;font-size:1.25rem;letter-spacing:4px;color:var(--teal);font-weight:600;}
.logo small{display:block;font-family:'Raleway',sans-serif;font-size:0.45rem;letter-spacing:6px;color:rgba(29,233,182,0.4);font-weight:300;text-transform:uppercase;margin-top:2px;}
.nav-links{display:flex;align-items:center;gap:2.8rem;list-style:none;}
.nav-links a{color:rgba(223,246,244,0.75);text-decoration:none;font-size:0.68rem;letter-spacing:2.5px;text-transform:uppercase;font-weight:400;transition:color .3s;}
.nav-links a:hover{color:var(--teal);}

/* ── Mobile hamburger toggle ── */
.nav-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;background:transparent;border:1px solid rgba(29,233,182,0.25);border-radius:8px;cursor:pointer;z-index:260;flex-shrink:0;}
.nav-hamburger span{display:block;width:18px;height:2px;background:var(--teal);border-radius:2px;transition:transform .3s,opacity .3s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-overlay{position:fixed;inset:0;background:rgba(2,8,16,0.6);backdrop-filter:blur(2px);z-index:230;opacity:0;visibility:hidden;transition:opacity .3s;}
.nav-overlay.open{opacity:1;visibility:visible;}

@media(max-width:1024px){
  nav{padding:0 5%;}
  .nav-hamburger{display:flex;}
  .nav-links{
    position:fixed;top:0;right:0;height:100vh;width:min(82vw,340px);
    background:#0c2340;flex-direction:column;align-items:flex-start;
    gap:0;padding:88px 1.8rem 2rem;box-sizing:border-box;
    overflow-y:auto;
    box-shadow:-8px 0 40px rgba(0,0,0,0.5);
    border-left:1px solid rgba(29,233,182,0.15);
    transform:translateX(100%);transition:transform .35s cubic-bezier(.22,.68,0,1.2);
    z-index:250;
  }
  .nav-links.open{transform:translateX(0);}
  .nav-links li{width:100%;border-bottom:1px solid rgba(255,255,255,0.06);}
  .nav-links li a{display:block;padding:.95rem 0;font-size:0.8rem;letter-spacing:2px;}
  .nav-services{width:100%;padding-bottom:0!important;margin-bottom:0!important;}
  .nav-services-menu{
    position:static!important;opacity:1!important;visibility:visible!important;
    transform:none!important;display:none;
    background:rgba(255,255,255,0.03)!important;border-radius:8px;
    margin:.3rem 0 .6rem;padding:.4rem .9rem!important;box-shadow:none!important;
    min-width:0!important;
  }
  .nav-services.mobile-open .nav-services-menu{display:block;}
  .nav-services-menu a{padding:.6rem 0!important;font-size:0.74rem!important;border-bottom:1px solid rgba(255,255,255,0.05);}
  .nav-free-tour{width:100%;border-bottom:none;margin-top:.8rem;}
}

.nav-free-tour{display:flex;align-items:center;}
.nav-free-tour a{
  position:relative;
  display:flex;align-items:center;gap:3px;
  padding:0 4px 4px;
  text-decoration:none;
  transition:transform .25s;
}
.nav-free-tour a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:0;
  transition:opacity .5s ease;
}
.nav-free-tour a.ft-written::after{opacity:0.85;}
.nav-free-tour a:hover{transform:scale(1.06);}
.ft-signature{width:170px;height:50px;overflow:visible;display:block;flex-shrink:0;}
.ft-fallback-text{
  font-family:'Italianno',cursive;
  font-size:42px;
  fill:var(--gold);
}
.ft-glyph-path{
  fill:url(#ftGrad);
  fill-opacity:0;
  stroke:var(--gold);
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ft-glyph-path.ft-glow{animation:ftGlowAfter2 2.2s ease-in-out infinite;}
@keyframes ftGlowAfter2{
  0%,100%{filter:drop-shadow(0 0 6px var(--gold-glow));}
  50%{filter:drop-shadow(0 0 16px var(--gold-glow));}
}
.ft-pen{opacity:0;}
.ft-spark{
  font-size:0.8rem;display:inline-block;opacity:0;transform:scale(.4) rotate(-25deg);
  transition:opacity .4s ease,transform .4s ease;
}
.ft-spark.ft-in{opacity:1;transform:scale(1) rotate(0deg);}
.nav-services{position:relative;padding-bottom:10px;margin-bottom:-10px;}
.nav-services>a{display:flex;align-items:center;gap:5px;cursor:pointer;padding-top:4px;}
.nav-services .nav-caret{font-size:0.5rem;opacity:0.6;transition:transform .2s;}
.nav-services:hover .nav-caret{transform:rotate(180deg);color:var(--teal);}
.nav-services-menu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(-6px);
  background:rgba(7,22,42,0.97);
  border:1px solid rgba(29,233,182,0.25);
  backdrop-filter:blur(16px);
  min-width:210px;border-radius:14px;overflow:hidden;
  opacity:0;visibility:hidden;
  transition:opacity .25s,transform .25s,visibility .25s;
  z-index:300;
  box-shadow:0 16px 36px rgba(0,0,0,0.45);
}
.nav-services:hover .nav-services-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(4px);}
.nav-services-menu a{
  display:block;padding:11px 18px;
  font-family:'Raleway',sans-serif;font-size:0.66rem;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(210,245,240,0.75);
  border-bottom:1px solid rgba(255,255,255,0.05);
  transition:background .2s,color .2s;
  white-space:nowrap;
}
.nav-services-menu a:last-child{border-bottom:none;}
.nav-services-menu a:hover{background:rgba(29,233,182,0.1);color:var(--teal);}
.nav-cta{border-radius:8px;background:transparent;border:1px solid var(--teal);color:var(--teal);padding:9px 24px;font-size:0.66rem;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;font-family:'Raleway',sans-serif;font-weight:500;transition:all .3s;}
.nav-cta:hover{background:var(--teal);color:#000;}

/* HERO */
.hero{position:relative;width:100%;height:100vh;overflow:hidden;background:#010810;}
#mapBgImage{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;image-rendering:high-quality;filter:contrast(1.08) saturate(1.12) brightness(1.02);}
#worldCanvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;z-index:1;opacity:1;mix-blend-mode:screen;}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 25%,rgba(2,13,24,0.25) 65%,rgba(2,13,24,0.85) 100%);pointer-events:none;z-index:1;}

/* COUNTRY TOOLTIP */
#countryTooltip{border-radius:8px;
  position:absolute;z-index:10;pointer-events:none;
  background:rgba(2,13,24,0.85);
  border:1px solid rgba(29,233,182,0.3);
  color:#fff;
  padding:7px 16px;
  font-family:'Cinzel',serif;
  font-size:0.82rem;
  letter-spacing:2px;
  backdrop-filter:blur(8px);
  opacity:0;
  transition:opacity .2s;
  white-space:nowrap;
}
#countryTooltip.visible{opacity:1;}

/* WHERE ARE YOU FROM */
#locationPrompt{position:absolute;bottom:3.54rem;left:50%;z-index:10;text-align:center;white-space:nowrap;opacity:0;transform:translateX(-50%) translateY(70px);animation:riseUp 1.3s cubic-bezier(0.16,1,0.3,1) 2.6s forwards;}
@keyframes riseUp{
  0%{opacity:0;transform:translateX(-50%) translateY(70px);}
  60%{opacity:1;}
  100%{opacity:1;transform:translateX(-50%) translateY(0);}
}
.location-label{font-family:'Cinzel',serif;font-weight:700;font-size:clamp(1.15rem,2.2vw,1.7rem);letter-spacing:6px;text-transform:uppercase;background:linear-gradient(90deg,#7dfce0,#1de9b6 35%,#fff 50%,#1de9b6 65%,#7dfce0);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:1rem;animation:shimmerText 3.5s linear infinite;filter:drop-shadow(0 0 18px rgba(29,233,182,0.65));}
@keyframes shimmerText{to{background-position:200% center;}}
.location-label::after{content:'';display:block;width:54px;height:2px;margin:0.65rem auto 0;background:linear-gradient(to right,transparent,var(--teal),transparent);animation:linePulse 2.2s ease-in-out infinite;}
@keyframes linePulse{0%,100%{opacity:0.4;width:54px;}50%{opacity:1;width:110px;}}
.location-input-wrap{position:relative;display:inline-block;}
.location-input-wrap::after{content:'';position:absolute;bottom:0;left:10%;right:10%;height:1px;background:linear-gradient(to right,transparent,var(--teal),transparent);}
#locationInput{background:rgba(2,13,24,0.72);border:1px solid rgba(29,233,182,0.35);border-bottom:none;border-radius:12px;color:#fff;padding:13px 26px;font-size:0.92rem;font-family:'Raleway',sans-serif;letter-spacing:2px;width:340px;outline:none;text-align:center;backdrop-filter:blur(10px);transition:border-color .3s,box-shadow .3s;animation:inputGlow 2.6s ease-in-out infinite;}
@keyframes inputGlow{0%,100%{box-shadow:0 0 0 rgba(29,233,182,0);}50%{box-shadow:0 0 22px rgba(29,233,182,0.35);}}
#locationInput::placeholder{color:rgba(255,255,255,0.22);font-style:italic;}
#locationInput:focus{border-color:rgba(29,233,182,0.5);box-shadow:0 0 20px rgba(29,233,182,0.12);}

/* HERO BTNS */
.hero-btns{position:absolute;bottom:7rem;left:50%;transform:translateX(-50%);display:flex;gap:1.2rem;z-index:10;opacity:0;animation:fadeIn 1s 3.2s forwards;}
.btn-teal{border-radius:8px;background:var(--teal);color:#000;border:none;padding:12px 28px;font-size:0.68rem;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;font-family:'Raleway',sans-serif;font-weight:600;transition:all .3s;}
.btn-teal:hover{background:var(--teal2);box-shadow:0 0 25px rgba(29,233,182,0.45);}
.btn-ghost{border-radius:8px;background:transparent;color:rgba(255,255,255,0.7);border:1px solid rgba(255,255,255,0.2);padding:12px 28px;font-size:0.68rem;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;font-family:'Raleway',sans-serif;font-weight:300;transition:all .3s;}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal);}
.scroll-hint{position:absolute;bottom:calc(2rem - 1cm);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem;opacity:0;animation:fadeIn 1s 3.5s forwards;z-index:2;}
.scroll-hint span{font-size:0.55rem;letter-spacing:3px;text-transform:uppercase;color:rgba(29,233,182,0.4);}
.scroll-line{width:1px;height:30px;background:linear-gradient(to bottom,var(--teal),transparent);animation:scrollPulse 1.8s infinite;}

/* MOSQUE SECTION */
.mosque-section{position:relative;width:100%;height:70vh;overflow:hidden;}
.mosque-slide{position:absolute;inset:0;display:flex;opacity:0;transition:opacity 1.4s ease-in-out;z-index:0;}
.mosque-slide.active{opacity:1;z-index:1;}
.mosque-slide img{flex:1 1 0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:brightness(0.85) saturate(1.15);}
.mosque-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#01080f;object-position:center;display:block;filter:brightness(0.85) saturate(1.15);opacity:0;transition:opacity 1.4s ease-in-out;z-index:0;}
.mosque-img.active{opacity:1;z-index:1;}
.mosque-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(2,13,24,0.6) 0%,transparent 30%,transparent 70%,rgba(2,13,24,0.75) 100%);z-index:2;}
.mosque-caption{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap;z-index:3;}
.mosque-caption-title{font-family:'Cinzel',serif;font-size:clamp(1.2rem,3vw,2rem);color:#fff;letter-spacing:5px;text-shadow:0 2px 20px rgba(0,0,0,0.8);font-weight:600;}
.mosque-caption-sub{font-family:'Cormorant Garamond',serif;font-size:1rem;color:rgba(255,230,200,0.85);letter-spacing:3px;margin-top:.5rem;font-style:italic;}
.mosque-divider{width:60px;height:1px;background:linear-gradient(to right,transparent,rgba(29,233,182,0.8),transparent);margin:.8rem auto;}
.mosque-dots{position:absolute;bottom:1.1rem;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3;}
.mosque-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.35);cursor:pointer;transition:background .3s,transform .3s;}
.mosque-dot.active{background:var(--teal);transform:scale(1.3);}
@media(max-width:768px){
  .mosque-caption{bottom:2.2rem;white-space:normal;padding:0 1rem;}
}

/* STATS */
.stats-bar{background:rgba(1,8,20,0.6);border-top:1px solid rgba(29,233,182,0.35);border-bottom:1px solid rgba(29,233,182,0.35);display:flex;justify-content:space-around;padding:1.8rem;}
.stat{text-align:center;}
.stat-num{font-family:'Cinzel',serif;font-size:2rem;font-weight:600;color:var(--teal);}
.stat-label{font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:rgba(200,240,235,0.85);margin-top:.3rem;}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding:6rem 8%;max-width:1280px;margin:0 auto;background:#122d4a;border-top:1px solid rgba(29,233,182,0.12);}
.section-tag{font-size:0.6rem;letter-spacing:4px;text-transform:uppercase;color:var(--teal);margin-bottom:.8rem;text-shadow:0 0 12px rgba(29,233,182,0.4);}
.section-title{font-family:'Italianno',cursive;font-weight:400;font-size:clamp(3.2rem,7vw,5.5rem);color:#edfffe;line-height:1;margin-bottom:1.4rem;letter-spacing:1px;opacity:0;transform:translateY(35px);transition:opacity 1.1s ease,transform 1.1s ease;}
.section-title.revealed{opacity:1;transform:translateY(0);}
.about-text{color:rgba(210,245,240,0.90);font-size:0.86rem;line-height:2;font-weight:300;}
.about-features{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;}
.feature{border-left:2px solid var(--teal);padding-left:1rem;}
.feature-title{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:#fff;margin-bottom:.3rem;}
.feature-text{font-size:0.72rem;color:rgba(200,240,235,0.80);line-height:1.7;}
.about-img-frame{border:1px solid rgba(29,233,182,0.2);padding:1.5rem;position:relative;}
.about-img-inner{background:linear-gradient(135deg,#0e2a46,#123520,#0e2030);height:320px;display:flex;align-items:center;justify-content:center;font-size:4.5rem;position:relative;overflow:hidden;}
.about-img-inner::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 40% 60%,rgba(29,233,182,0.06),transparent 60%);}
.about-corner{position:absolute;width:18px;height:18px;border-color:var(--teal);border-style:solid;}
.about-corner.tl{top:-1px;left:-1px;border-width:2px 0 0 2px;}.about-corner.tr{top:-1px;right:-1px;border-width:2px 2px 0 0;}
.about-corner.bl{bottom:-1px;left:-1px;border-width:0 0 2px 2px;}.about-corner.br{bottom:-1px;right:-1px;border-width:0 2px 2px 0;}

/* DEST */
.about-section{padding:6rem 8%;background:#0a1e36;border-top:1px solid rgba(29,233,182,0.15);text-align:center;}
.about-intro{max-width:820px;margin:0 auto 3rem;}
.about-intro p{color:rgba(226,248,245,0.75);font-size:0.92rem;line-height:1.95;margin-bottom:1.2rem;}
.about-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1000px;margin:0 auto 3rem;}
.about-feature{
  background:rgba(29,233,182,0.04);border:1px solid rgba(29,233,182,0.18);border-radius:14px;
  padding:2rem 1.4rem;transition:transform .25s,border-color .25s;
}
.about-feature:hover{transform:translateY(-4px);border-color:rgba(29,233,182,0.4);}
.about-feature-icon{font-size:2.2rem;margin-bottom:.7rem;}
.about-feature-num{font-family:'Cinzel',serif;font-size:1.6rem;color:var(--teal);font-weight:700;margin-bottom:.3rem;}
.about-feature-label{font-family:'Cinzel',serif;font-size:0.85rem;color:#e2f8f5;line-height:1.5;}
.about-feature-label small{display:block;font-family:'Raleway',sans-serif;font-size:0.62rem;color:rgba(226,248,245,0.5);margin-top:.4rem;font-weight:400;letter-spacing:0.3px;line-height:1.6;}
.about-leader{max-width:700px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(29,233,182,0.12);}
.about-leader p{color:rgba(226,248,245,0.65);font-size:0.85rem;line-height:1.9;font-style:italic;}
.about-leader strong{color:var(--gold);font-style:normal;}
@media(max-width:800px){.about-features{grid-template-columns:1fr;}}
.faq-section{padding:6rem 8%;background:#0e2a42;border-top:1px solid rgba(29,233,182,0.18);}
.faq-list{max-width:760px;margin:0 auto;}
.faq-item{border-bottom:1px solid rgba(29,233,182,0.14);padding:1.3rem 0;}
.faq-q{font-family:'Raleway',sans-serif;font-size:0.95rem;color:#fff;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.faq-q .faq-arrow{color:var(--teal);font-size:0.8rem;transition:transform .25s;flex-shrink:0;}
.faq-item.open .faq-arrow{transform:rotate(180deg);}
.faq-a{font-size:0.85rem;color:rgba(226,248,245,0.6);line-height:1.75;max-height:0;overflow:hidden;transition:max-height .3s ease,padding-top .3s ease;padding-top:0;}
.faq-item.open .faq-a{max-height:300px;padding-top:.9rem;}
.blog-section{padding:6rem 8%;background:#0a1e36;border-top:1px solid rgba(29,233,182,0.15);}
.blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1280px;margin:0 auto;}
.blog-card{background:rgba(29,233,182,0.04);border:1px solid rgba(29,233,182,0.16);border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .25s,border-color .25s;}
.blog-card:hover{transform:translateY(-4px);border-color:rgba(29,233,182,0.4);}
.blog-card-icon{height:150px;display:flex;align-items:center;justify-content:center;font-size:3rem;background:radial-gradient(ellipse at 50% 30%,rgba(29,233,182,0.14) 0%,rgba(29,233,182,0.03) 60%,transparent 100%),linear-gradient(160deg,#12304a 0%,#0d2436 100%);}
.blog-card-body{padding:1.2rem 1.3rem 1.5rem;}
.blog-card-tag{font-size:0.6rem;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:.5rem;}
.blog-card-title{font-family:'Cinzel',serif;font-size:0.95rem;color:#edfffe;margin-bottom:.6rem;line-height:1.4;}
.blog-card-excerpt{font-size:0.78rem;color:rgba(226,248,245,0.55);line-height:1.6;}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.blog-grid{grid-template-columns:1fr;}}
/* ══════════════════════════════════════════════════════
   COOKIE CONSENT BANNER
══════════════════════════════════════════════════════ */
#cookieBanner{
  position:fixed;left:0;right:0;bottom:0;z-index:3000;
  background:rgba(8,20,38,0.98);backdrop-filter:blur(16px);
  border-top:1px solid rgba(29,233,182,0.25);
  box-shadow:0 -10px 40px rgba(0,0,0,0.4);
  padding:1.3rem 1.5rem;
  display:none;
  transform:translateY(100%);
  transition:transform .45s ease;
}
#cookieBanner.show{display:block;}
#cookieBanner.open{transform:translateY(0);}
.cookie-inner{
  max-width:1100px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;
}
.cookie-text{flex:1;min-width:260px;font-size:0.8rem;line-height:1.7;color:rgba(226,248,245,0.75);}
.cookie-text strong{color:#edfffe;}
.cookie-text a{color:var(--teal);text-decoration:underline;cursor:pointer;}
.cookie-actions{display:flex;gap:.7rem;flex-shrink:0;flex-wrap:wrap;}
.cookie-btn{
  font-family:'Raleway',sans-serif;font-size:0.68rem;letter-spacing:1.5px;text-transform:uppercase;
  padding:.7rem 1.4rem;border-radius:7px;cursor:pointer;transition:all .25s;white-space:nowrap;border:1px solid transparent;
}
.cookie-btn-accept{background:var(--teal);color:#04140f;border-color:var(--teal);}
.cookie-btn-accept:hover{box-shadow:0 0 16px rgba(29,233,182,0.5);transform:translateY(-1px);}
.cookie-btn-decline{background:transparent;color:rgba(226,248,245,0.7);border-color:rgba(226,248,245,0.25);}
.cookie-btn-decline:hover{border-color:rgba(226,248,245,0.5);color:#fff;}
@media(max-width:600px){
  .cookie-inner{flex-direction:column;align-items:stretch;text-align:center;}
  .cookie-actions{justify-content:center;}
}

.dest-section{padding:6rem 8%;background:#0e2a42;border-top:1px solid rgba(29,233,182,0.18);}
.dest-head{text-align:center;margin-bottom:3rem;max-width:1280px;margin-left:auto;margin-right:auto;}
.dest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(29,233,182,0.08);max-width:1280px;margin:0 auto;}
.dest-card{border-radius:14px;position:relative;overflow:hidden;cursor:pointer;aspect-ratio:3/4;}
.dest-bg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;transition:transform .7s ease;}
.dest-card:hover .dest-bg{transform:scale(1.1);}
.dest-bg.isfahan{background:linear-gradient(180deg,rgba(8,18,12,0.1),rgba(6,14,10,0.65)),url('dest-isfahan.webp');background-size:cover;background-position:center;}
.dest-bg.shiraz{background:linear-gradient(180deg,rgba(8,18,12,0.1),rgba(6,14,10,0.65)),url('dest-shiraz.webp');background-size:cover;background-position:center;}
.dest-bg.tehran{background:linear-gradient(160deg,#0a1622,#0c1a2e,#161616);}
.dest-bg.yazd{background:linear-gradient(160deg,#201400,#2e1e00,#120800);}
.dest-info{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.5rem;background:linear-gradient(to top,rgba(2,13,24,0.97) 0%,transparent 100%);transform:translateY(20px);transition:transform .4s;}
.dest-card:hover .dest-info{transform:translateY(0);}
.dest-name{font-family:'Cinzel',serif;font-size:1.2rem;color:#ffffff;text-shadow:0 1px 8px rgba(0,0,0,0.8);font-weight:600;letter-spacing:2px;}
.dest-sub{font-size:0.6rem;letter-spacing:2px;color:var(--teal);text-transform:uppercase;margin-top:.3rem;}
.dest-desc{font-size:0.72rem;color:rgba(223,246,244,0.55);line-height:1.6;margin-top:.5rem;opacity:0;transition:opacity .3s .1s;}
.dest-card:hover .dest-desc{opacity:1;}
.dest-facts{display:flex;flex-direction:column;gap:.35rem;margin-top:.7rem;padding-top:.6rem;border-top:1px solid rgba(29,233,182,0.18);opacity:0;transition:opacity .3s .15s;}
.dest-card:hover .dest-facts{opacity:1;}
.dest-fact{font-size:0.64rem;color:rgba(223,246,244,0.65);display:flex;align-items:flex-start;gap:6px;line-height:1.5;}
.dest-fact-icon{color:var(--teal);flex-shrink:0;}

/* TOURS */
.tours-section{padding:6rem 8%;max-width:1280px;margin:0 auto;background:#0c2340;}
.tours-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:2rem;margin-top:2.2rem;}
.tours-filter-group{display:flex;flex-direction:column;gap:.7rem;}
.tours-filter-label{font-family:'Raleway',sans-serif;font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--teal);opacity:.85;}
.tours-filter-row{display:flex;flex-wrap:wrap;gap:.55rem;}
.tour-filter-btn{background:transparent;border:1px solid rgba(29,233,182,0.25);color:rgba(210,245,240,0.6);font-family:'Raleway',sans-serif;font-size:0.62rem;letter-spacing:1.5px;text-transform:uppercase;padding:7px 16px;border-radius:20px;cursor:pointer;transition:all .25s;white-space:nowrap;}
.tour-filter-btn:hover{border-color:var(--teal2);color:var(--text);}
.tour-filter-btn.active{background:rgba(29,233,182,0.12);border-color:var(--teal);color:var(--teal);box-shadow:0 0 14px rgba(29,233,182,0.15);}
.tours-filter-count{font-family:'Raleway',sans-serif;font-size:0.62rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);margin-left:auto;}
.tour-card.tour-filtered-out{display:none !important;}
.tours-no-results{display:none;padding:3rem 1rem;text-align:center;font-family:'Raleway',sans-serif;font-size:0.85rem;letter-spacing:1px;color:var(--text2);width:100%;}
.tours-no-results.show{display:block;}
@media(max-width:700px){
  .tours-filter-count{margin-left:0;}
}
.tours-slider-wrap{position:relative;margin-top:3rem;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;}
.tours-grid{display:flex;gap:1.5rem;overflow-x:auto;scroll-behavior:smooth;padding:0;-ms-overflow-style:none;scrollbar-width:none;}
.tours-grid::-webkit-scrollbar{display:none;}
.tour-card{
  background:#112e4c;
  border:none;
  border-radius:20px;
  overflow:visible;
  transition:transform .35s cubic-bezier(.22,.68,0,1.2),box-shadow .35s;
  cursor:pointer;
  display:flex;flex-direction:column;
  flex:0 0 auto;
  position:relative;
  z-index:0;
}
/* ── animated neon border (matches hotel cards) ── */
.tour-card::before{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:21px;
  padding:1px;
  background:conic-gradient(
    from var(--angle,0deg),
    transparent 20%,
    rgba(29,233,182,0.9) 40%,
    rgba(255,255,255,0.95) 50%,
    rgba(29,233,182,0.9) 60%,
    transparent 80%
  );
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:0;
  transition:opacity .4s;
  z-index:1;
  pointer-events:none;
  animation:borderSpin 9s linear infinite paused;
}
.tour-card::after{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:21px;
  background:conic-gradient(
    from var(--angle,0deg),
    transparent 20%,
    rgba(29,233,182,0.35) 45%,
    rgba(29,233,182,0.5) 50%,
    rgba(29,233,182,0.35) 55%,
    transparent 80%
  );
  filter:blur(6px);
  opacity:0;
  transition:opacity .4s;
  z-index:-1;
  pointer-events:none;
  animation:borderSpin 9s linear infinite paused;
}
.tour-card:hover{
  transform:translateY(-6px) scale(1.005);
  box-shadow:0 20px 50px rgba(29,233,182,0.12), 0 4px 20px rgba(0,0,0,0.35);
}
.tour-card::before,
.tour-card::after{
  opacity:1;
  animation-play-state:running;
}
.tour-card:hover::before{
  background:conic-gradient(
    from var(--angle,0deg),
    transparent 15%,
    rgba(29,233,182,1) 35%,
    rgba(255,255,255,1) 50%,
    rgba(29,233,182,1) 65%,
    transparent 85%
  );
}
.tour-card-inner{
  border-radius:20px;
  overflow:hidden;
  display:flex;flex-direction:column;
  flex:1;
  position:relative;
  z-index:2;
  background:#112e4c;
  border:1px solid rgba(29,233,182,0.12);
  cursor:pointer;
}
.tours-arrow{position:absolute;top:42%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(8,22,40,0.92);border:1px solid rgba(29,233,182,0.35);color:var(--teal);font-size:1.3rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;transition:background .2s,border-color .2s;}
.tours-arrow:hover{background:rgba(29,233,182,0.18);border-color:var(--teal);}
.tours-arrow-left{left:1.5rem;}
.tours-arrow-right{right:1.5rem;}
.tours-fade-l,.tours-fade-r{position:absolute;top:0;bottom:.9rem;width:48px;z-index:1;pointer-events:none;}
.tours-fade-l{left:0;background:linear-gradient(90deg,#0c2340,rgba(12,35,64,0));}
.tours-fade-r{right:0;background:linear-gradient(270deg,#0c2340,rgba(12,35,64,0));}
.tours-dots{display:flex;justify-content:center;gap:9px;margin-top:1.8rem;}
.tours-dot{width:8px;height:8px;border-radius:50%;background:rgba(29,233,182,0.25);cursor:pointer;border:none;padding:0;transition:background .2s,transform .2s;}
.tours-dot.active{background:var(--teal);transform:scale(1.35);}
.tours-fade-l,.tours-fade-r{display:none;}
@media(max-width:768px){
  .tours-arrow{width:38px;height:38px;font-size:1.1rem;}
  .tours-arrow-left{left:.5rem;}
  .tours-arrow-right{right:.5rem;}
}
.tour-visual{height:200px;display:flex;align-items:flex-start;justify-content:flex-end;position:relative;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat;}
.tour-visual::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(4,14,28,0.08) 0%,rgba(4,14,28,0.48) 100%);z-index:0;}
.tour-visual.t1{background-image:url('https://upload.wikimedia.org/wikipedia/commons/1/1b/Naghsh-e_Jahan_Square_Isfahan.JPG');background-color:#0e2236;}
.tour-visual.t2{background-image:url('https://upload.wikimedia.org/wikipedia/commons/4/49/Damavand_Mountain.jpg');background-color:#081622;}
.tour-visual.t3{background-image:url('https://upload.wikimedia.org/wikipedia/commons/8/81/Persepolis_(Takht-e-Jamshid).jpg');background-color:#0e1e00;}
.tour-visual.t4{background-image:url('https://upload.wikimedia.org/wikipedia/commons/c/c1/Early_Morning_View_over_Masouleh_-_Northwestern_Iran_%287420300680%29.jpg');background-color:#001f2e;}
.tour-visual.t5{background-image:url('https://upload.wikimedia.org/wikipedia/commons/8/80/Khezr_Beach%2C_Hormuz_Island.jpg');background-color:#001e28;}
.tour-visual.t6{background-image:url('https://upload.wikimedia.org/wikipedia/commons/1/18/Blue_mosque_tabriz_3.JPG');background-color:#1a0e2e;}
.tour-visual.t7{background-image:url('https://upload.wikimedia.org/wikipedia/commons/6/65/Isfahan_Lotfollah_mosque_ceiling_symmetric.jpg');background-color:#241a00;}
.tour-visual.t8{background-image:url('https://upload.wikimedia.org/wikipedia/commons/1/1f/The_Khaju_Bridge_-_spring_isfahan.jpg');background-color:#240018;}
.tour-visual.t9{background-image:url('https://upload.wikimedia.org/wikipedia/commons/9/9e/Milky_Way_Arch.jpg');background-position:center bottom;background-color:#000814;}
.tour-visual.t10{background-image:url('https://upload.wikimedia.org/wikipedia/commons/d/d2/Nasir_ol_Molk_Mosque%2C_Shiraz_05.jpg');background-color:#2e0a1e;}
.tour-visual span:not(.tour-badge){display:none;}
.tour-visual::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 90%,rgba(29,233,182,0.05),transparent 55%);z-index:0;}
.tour-badge{position:absolute;top:12px;left:12px;background:var(--teal);color:#000;font-size:0.55rem;letter-spacing:1.5px;padding:3px 10px;text-transform:uppercase;font-weight:600;z-index:1;font-family:'Raleway',sans-serif;}
.tour-body{padding:1.4rem;flex:1;display:flex;flex-direction:column;}
.tour-duration{font-size:0.6rem;letter-spacing:2px;color:var(--teal);text-transform:uppercase;margin-bottom:.4rem;}
.tour-name{font-family:'Cinzel',serif;font-size:1.05rem;color:#fff;margin-bottom:.4rem;letter-spacing:1px;}
.tour-route{font-size:0.7rem;color:rgba(210,245,240,0.80);margin-bottom:1.1rem;line-height:1.6;flex:1;}
.tour-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.9rem;border-top:1px solid rgba(255,255,255,0.05);}
.tour-price{font-family:'Cinzel',serif;font-size:1.2rem;color:var(--teal);font-weight:600;}
.tour-price small{font-family:'Raleway',sans-serif;font-size:0.6rem;color:rgba(223,246,244,0.35);font-weight:300;}
.tour-btn{border-radius:8px;font-size:0.6rem;letter-spacing:1.5px;text-transform:uppercase;color:rgba(223,246,244,0.45);cursor:pointer;background:none;border:1px solid rgba(255,255,255,0.08);padding:7px 14px;font-family:'Raleway',sans-serif;transition:all .3s;}
.tour-btn:hover{color:var(--teal);border-color:var(--teal);}

/* VISA */
.visa-section{background:#0e2840;border-top:1px solid rgba(29,233,182,0.25);border-bottom:1px solid rgba(29,233,182,0.25);padding:6rem 8%;}
.visa-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.visa-steps{margin-top:2rem;display:flex;flex-direction:column;gap:1.4rem;}
.visa-step{display:flex;gap:1.2rem;align-items:flex-start;}
.step-num{border-radius:50%;width:35px;height:35px;border:1px solid var(--teal);display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-size:0.9rem;color:var(--teal);flex-shrink:0;}
.step-title{font-size:0.82rem;color:#fff;font-weight:500;margin-bottom:.2rem;}
.step-text{font-size:0.72rem;color:rgba(210,245,240,0.82);line-height:1.6;}
.nat-wrap{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;}
.nat-badge{border-radius:10px;background:rgba(29,233,182,0.10);border:1px solid rgba(29,233,182,0.28);color:rgba(210,245,240,0.82);font-size:0.62rem;padding:5px 11px;letter-spacing:.5px;}

/* TESTIMONIALS */
/* ── Chinese Travelers Special Section ── */
.cn-special-section{
  padding:5rem 8%;background:linear-gradient(135deg,#0d1f1a 0%,#0a1e36 55%,#1a0d1f 100%);
  position:relative;overflow:hidden;
}
.cn-special-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 20% 20%,rgba(220,38,38,0.06) 0%,transparent 55%),
             radial-gradient(ellipse at 80% 80%,rgba(255,213,79,0.05) 0%,transparent 55%);
  pointer-events:none;
}
.cn-special-inner{max-width:1100px;margin:0 auto;position:relative;z-index:1;text-align:center;}
.cn-special-tag{font-size:0.62rem;letter-spacing:4px;text-transform:uppercase;color:#ef4444;margin-bottom:1rem;display:block;}
.cn-special-title{
  font-family:'Cinzel',serif;font-size:clamp(1.5rem,3.5vw,2.3rem);
  color:#e2f8f5;margin-bottom:.7rem;letter-spacing:1px;
}
.cn-special-title .cn-hanzi{color:#ef4444;font-size:0.65em;display:block;margin-top:.3rem;letter-spacing:2px;}
.cn-special-subtitle{
  font-family:'Cinzel',serif;font-size:1.1rem;color:var(--gold);
  text-align:center;letter-spacing:1px;margin-top:2.8rem;
}
.cn-tours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.5rem;}
.cn-tour-card{
  position:relative;background:#112840;
  border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .3s,box-shadow .3s;
}
.cn-tour-card::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:14px;
  padding:1.5px;
  background:conic-gradient(
    from var(--angle,0deg),
    rgba(255,213,79,0.10) 0%,
    rgba(255,213,79,0.10) 18%,
    rgba(255,213,79,0.65) 36%,
    rgba(255,255,255,0.92) 50%,
    rgba(255,213,79,0.65) 64%,
    rgba(255,213,79,0.10) 82%,
    rgba(255,213,79,0.10) 100%
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:1;
  z-index:10;
  pointer-events:none;
  animation:borderSpin 7s linear infinite;
}
.cn-tour-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,0.4),0 0 20px rgba(255,213,79,0.2);}
.cn-tour-card:hover::before{
  background:conic-gradient(
    from var(--angle,0deg),
    rgba(255,213,79,0.15) 0%,
    rgba(255,213,79,0.15) 18%,
    rgba(255,213,79,0.85) 36%,
    rgba(255,255,255,1.00) 50%,
    rgba(255,213,79,0.85) 64%,
    rgba(255,213,79,0.15) 82%,
    rgba(255,213,79,0.15) 100%
  );
}
.cn-tour-card:active{transform:translateY(-2px);}
.cn-tour-icon{
  padding:0;height:180px;display:flex;align-items:center;justify-content:center;
  font-size:4.2rem;
  background:radial-gradient(ellipse at 50% 30%,rgba(255,213,79,0.16) 0%,rgba(255,213,79,0.04) 60%,transparent 100%),
             linear-gradient(160deg,#16324f 0%,#0d2436 100%);
}
.cn-tour-body{padding:.75rem .9rem .85rem;}
.cn-tour-name{font-family:'Cinzel',serif;font-size:0.8rem;color:#e2f8f5;margin-bottom:.3rem;line-height:1.25;}
.cn-tour-desc{
  font-size:0.62rem;color:rgba(226,248,245,0.5);line-height:1.45;margin-bottom:.5rem;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.cn-tour-price{font-family:'Cinzel',serif;color:var(--gold);font-size:0.8rem;}
.cn-tour-card.cn-placeholder{cursor:default;opacity:.5;border-style:dashed;}
.cn-tour-card.cn-placeholder:hover{transform:none;border-color:rgba(255,213,79,0.2);}
.cn-placeholder-text{font-size:0.7rem;color:rgba(226,248,245,0.4);text-align:center;padding:1rem;font-style:italic;}
@media(max-width:1100px){.cn-tours-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.cn-tours-grid{grid-template-columns:1fr;}}
.cn-special-sub{
  font-family:'Cinzel',serif;font-size:1.05rem;color:var(--gold);margin-bottom:2.2rem;letter-spacing:.5px;
}
.cn-special-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;text-align:left;}
.cn-special-card{
  background:rgba(255,255,255,0.03);border:1px solid rgba(239,68,68,0.15);border-radius:14px;
  padding:1.6rem 1.5rem;
}
.cn-special-card-icon{font-size:1.8rem;margin-bottom:.8rem;}
.cn-special-card-title{font-family:'Cinzel',serif;font-size:0.95rem;color:#e2f8f5;margin-bottom:.6rem;}
.cn-special-card p{font-size:0.82rem;color:rgba(226,248,245,0.65);line-height:1.75;margin:0;}
.cn-special-card p b{color:var(--teal);font-weight:600;}
@media(max-width:900px){.cn-special-grid{grid-template-columns:1fr;}}

.testi-section{padding:6rem 8%;max-width:1280px;margin:0 auto;background:#122d4a;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;}
.testi-card{border-radius:20px;background:#163248;border:1px solid rgba(29,233,182,0.22);padding:2rem;}
.testi-stars{color:var(--teal);font-size:0.75rem;letter-spacing:3px;margin-bottom:1rem;}
.testi-quote{font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;color:rgba(225,248,244,0.92);line-height:1.8;margin-bottom:1.4rem;}
.testi-author{font-size:0.76rem;font-weight:600;color:#edfffe;}
.testi-origin{font-size:0.66rem;color:rgba(223,246,244,0.3);margin-top:.2rem;}

/* FOOTER */
footer{background:#08203a;border-top:1px solid rgba(29,233,182,0.1);padding:4rem 8% 2rem;}
.footer-top{display:grid;grid-template-columns:1.6fr 0.8fr 0.8fr 0.8fr 1.3fr;gap:2.2rem;margin-bottom:3rem;max-width:1400px;margin-left:auto;margin-right:auto;}
@media(max-width:1000px){.footer-top{grid-template-columns:1fr 1fr;}}
.footer-brand p{font-size:0.72rem;color:rgba(210,245,240,0.72);line-height:1.8;margin-top:.8rem;max-width:260px;}
.footer-col h4{font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--teal);margin-bottom:1.1rem;}
.footer-col a{display:block;font-size:0.72rem;color:rgba(210,245,240,0.75);text-decoration:none;margin-bottom:.55rem;transition:color .2s;}
.footer-contact-form input,.footer-contact-form textarea{
  width:100%;background:rgba(255,255,255,0.06);border:1px solid rgba(29,233,182,0.2);border-radius:6px;
  color:#fff;font-family:'Raleway',sans-serif;font-size:0.72rem;padding:.55rem .7rem;margin-bottom:.6rem;
  box-sizing:border-box;outline:none;transition:border-color .2s;
}
.footer-contact-form input:focus,.footer-contact-form textarea:focus{border-color:var(--teal);}
.footer-contact-form input::placeholder,.footer-contact-form textarea::placeholder{color:rgba(255,255,255,0.35);}
.footer-contact-form textarea{resize:none;height:56px;}
.footer-contact-btn{
  width:100%;background:var(--teal);color:#04140f;border:none;border-radius:6px;
  font-family:'Raleway',sans-serif;font-size:0.68rem;letter-spacing:1.5px;text-transform:uppercase;
  padding:.65rem;cursor:pointer;transition:box-shadow .2s;font-weight:600;
}
.footer-contact-btn:hover{box-shadow:0 0 14px rgba(29,233,182,0.45);}
.footer-contact-btn-email{background:transparent;color:var(--teal);border:1px solid rgba(29,233,182,0.4);margin-top:.5rem;}
.footer-contact-btn-email:hover{box-shadow:none;background:rgba(29,233,182,0.08);}
.footer-contact-error{font-size:0.66rem;color:#ff8080;margin-bottom:.5rem;display:none;}
.footer-contact-error.show{display:block;}
.footer-col a:hover{color:var(--teal);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.04);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;}
.footer-official-row{max-width:1280px;margin:0 auto 1.8rem;padding-bottom:1.8rem;border-bottom:1px solid rgba(255,255,255,0.04);display:flex;justify-content:center;}
.footer-official-badge{display:flex;align-items:center;gap:.9rem;padding:.7rem 1.4rem;border:1px solid rgba(29,233,182,0.2);border-radius:10px;background:rgba(29,233,182,0.03);}
.footer-official-placeholder{width:60px;height:60px;flex-shrink:0;border-radius:8px;background:#ffffff;padding:4px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 2px 10px rgba(0,0,0,0.25);}
.footer-official-label{font-size:0.58rem;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:.2rem;}
.footer-official-name{font-size:0.74rem;color:rgba(223,246,244,0.7);font-family:'Raleway',sans-serif;}
@media(max-width:600px){.footer-official-badge{flex-direction:column;text-align:center;gap:.5rem;padding:1rem;}}
.footer-copy,.footer-legal a{font-size:0.65rem;color:rgba(200,240,235,0.55);text-decoration:none;}
.footer-legal{display:flex;gap:1.5rem;}


/* INFO CARDS */
#infoCards{position:absolute;bottom:8.28rem;left:50%;transform:translateX(-50%);z-index:10;display:none;flex-wrap:nowrap;gap:0.85rem;opacity:0;transition:opacity 0.5s;white-space:nowrap;}
#infoCards.visible{opacity:1;}
.info-card{background:rgba(4,16,32,0.88);border:1px solid rgba(29,233,182,0.32);border-radius:10px;backdrop-filter:blur(18px);padding:1.0rem 1.2rem;text-align:center;min-width:108px;transform:translateY(22px);opacity:0;transition:transform 0.45s,opacity 0.45s;box-shadow:0 4px 24px rgba(0,0,0,0.45),0 0 0 1px rgba(29,233,182,0.05);}
.info-card.show{transform:translateY(0);opacity:1;}
.info-card-icon{font-size:1.35rem;margin-bottom:0.45rem;display:block;line-height:1;}
.info-card-value{font-family:'Cinzel',serif;font-size:1.02rem;color:var(--teal);font-weight:700;letter-spacing:2.8px;display:block;margin-bottom:0.4rem;text-shadow:0 0 16px rgba(29,233,182,0.55);}
.info-card-label{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:0.74rem;letter-spacing:0.4px;color:rgba(210,245,240,0.65);display:block;}
#backBtn{border-radius:8px;
  position:absolute;
  top:-2.4rem;
  left:50%;
  transform:translateX(-50%);
  background:transparent;
  border:1px solid rgba(29,233,182,0.3);
  color:rgba(29,233,182,0.75);
  font-family:'Raleway',sans-serif;
  font-size:0.62rem;
  letter-spacing:2px;
  text-transform:uppercase;
  padding:5px 16px;
  cursor:pointer;
  transition:all .25s;
  white-space:nowrap;
  backdrop-filter:blur(8px);
}
#backBtn:hover{
  background:rgba(29,233,182,0.12);
  color:var(--teal);
  border-color:var(--teal);
}

/* ── HOTELS OVERLAY PAGE ── */
#hotelsPage{
  position:fixed;inset:0;z-index:1100;
  background:#0c2340;
  display:none;
  flex-direction:column;
  overflow-y:auto;
  opacity:0;
  transition:opacity 0.4s;
}
#hotelsPage.open{opacity:1;}

/* ── Day Tours Page ── */
#dayToursPage{
  position:fixed;inset:0;z-index:1100;
  background:#0a1e36;
  display:none;
  flex-direction:column;
  overflow-y:auto;
  opacity:0;
  transition:opacity 0.4s;
}
#dayToursPage.open{opacity:1;}
.dtp-header{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;height:68px;
  background:rgba(5,22,40,0.97);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(29,233,182,0.12);
  flex-shrink:0;
}
.dtp-back{
  display:flex;align-items:center;gap:8px;
  background:transparent;border:none;
  color:rgba(226,248,245,0.7);
  font-family:'Raleway',sans-serif;font-size:0.68rem;
  letter-spacing:2px;text-transform:uppercase;cursor:pointer;
  transition:color .2s;
}
.dtp-back:hover{color:var(--teal);}
.dtp-hero{
  position:relative;padding:5rem 8% 4rem;
  background:linear-gradient(160deg,#0c2340 0%,#071628 60%,#030e1a 100%);
  text-align:center;overflow:hidden;
}
.dtp-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(29,233,182,0.08) 0%,transparent 65%);
  pointer-events:none;
}
.dtp-hero-tag{
  font-size:0.62rem;letter-spacing:4px;text-transform:uppercase;
  color:var(--teal);margin-bottom:1rem;display:block;
}
.dtp-hero-title{
  font-family:'Cinzel',serif;font-size:clamp(1.6rem,4vw,2.8rem);
  color:#e2f8f5;margin-bottom:1rem;letter-spacing:3px;
}
.dtp-hero-sub{
  font-size:0.85rem;color:rgba(226,248,245,0.55);
  max-width:560px;margin:0 auto;line-height:1.9;letter-spacing:1px;
}
.dtp-filters{
  display:flex;justify-content:center;flex-wrap:wrap;gap:.7rem;
  padding:2rem 8%;
  background:#0a1e36;
}
.dtp-filter-btn{
  background:transparent;border:1px solid rgba(29,233,182,0.25);
  color:rgba(226,248,245,0.6);padding:8px 20px;
  border-radius:30px;font-size:0.64rem;letter-spacing:2px;
  text-transform:uppercase;cursor:pointer;
  font-family:'Raleway',sans-serif;transition:all .2s;
}
.dtp-filter-btn:hover,.dtp-filter-btn.active{
  background:rgba(29,233,182,0.12);border-color:var(--teal);color:var(--teal);
}
.dtp-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.6rem;padding:0 1cm 5rem;
  width:100%;box-sizing:border-box;
}
.dtp-card{
  background:rgba(255,255,255,0.035);
  border:1px solid rgba(29,233,182,0.12);
  border-radius:16px;overflow:hidden;
  cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s;
}
.dtp-card:hover{
  transform:translateY(-5px);
  border-color:rgba(29,233,182,0.4);
  box-shadow:0 12px 40px rgba(0,0,0,0.35);
}
.dtp-card-icon{
  padding:2rem;text-align:center;font-size:2.6rem;
}
.dtp-card-body{padding:1.4rem 1.4rem 1.6rem;}
.dtp-card-meta{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:.55rem;
}
.dtp-card-city{font-size:0.62rem;letter-spacing:2px;color:var(--teal);text-transform:uppercase;}
.dtp-card-badge{
  font-size:0.6rem;letter-spacing:1px;padding:3px 11px;
  border-radius:20px;font-family:'Raleway',sans-serif;
}
.dtp-card-badge.cultural{background:rgba(29,233,182,0.1);color:var(--teal);}
.dtp-card-badge.ancient{background:rgba(255,213,79,0.12);color:var(--gold);}
.dtp-card-badge.adventure{background:rgba(255,122,61,0.12);color:#ff7a3d;}
.dtp-card-badge.nature{background:rgba(29,233,182,0.1);color:var(--teal);}
.dtp-card-badge.unique{background:rgba(255,213,79,0.12);color:var(--gold);}
.dtp-card-name{
  font-family:'Cinzel',serif;font-size:0.98rem;
  color:#e2f8f5;margin-bottom:.45rem;line-height:1.4;
}
.dtp-card-desc{
  font-size:0.77rem;color:rgba(226,248,245,0.55);
  line-height:1.75;margin-bottom:1.1rem;
}
.dtp-card-footer{display:flex;justify-content:space-between;align-items:center;}
.dtp-card-price{font-family:'Cinzel',serif;color:var(--gold);font-size:1rem;}
.dtp-card-price small{font-size:0.6rem;color:rgba(255,213,79,0.6);font-family:'Raleway',sans-serif;}
.dtp-book-btn{
  background:transparent;border:1px solid var(--teal);color:var(--teal);
  padding:8px 18px;border-radius:8px;font-size:0.62rem;
  letter-spacing:2px;text-transform:uppercase;cursor:pointer;
  font-family:'Raleway',sans-serif;transition:all .2s;
}
.dtp-book-btn:hover{background:var(--teal);color:#000;}
.dtp-custom-card{
  background:linear-gradient(135deg,rgba(29,233,182,0.07),rgba(0,229,255,0.03));
  border:1px dashed rgba(29,233,182,0.3);
  border-radius:16px;padding:2.2rem;
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;
}
.dtp-city-btn{
  background:transparent;
  border:1px solid rgba(29,233,182,0.2);
  color:rgba(226,248,245,0.95);
  padding:5px 14px;border-radius:20px;
  font-size:0.62rem;letter-spacing:1.5px;
  text-transform:uppercase;cursor:pointer;
  font-family:'Raleway',sans-serif;
  transition:all .2s;
}
.dtp-city-btn:hover{border-color:rgba(29,233,182,0.5);color:rgba(226,248,245,0.8);}
.dtp-city-btn.selected{background:rgba(29,233,182,0.15);border-color:var(--teal);color:var(--teal);}
.dtp-sel-label{font-size:0.6rem;letter-spacing:2px;text-transform:uppercase;color:rgba(226,248,245,0.35);}
.dtp-col-btn{width:100%;text-align:left;border-radius:6px;padding:6px 10px;}
@media(max-width:768px){
  .dtp-header{padding:0 1.2rem;}
  .dtp-hero{padding:3.5rem 6% 3rem;}
  .dtp-filters{padding:1.5rem 6%;}
  .dtp-grid{padding:0 6% 4rem;grid-template-columns:1fr;}
}
@keyframes dtpRotate{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
@keyframes dtpWordIn{
  0%  {opacity:0;transform:translateY(8px);}
  100%{opacity:1;transform:translateY(0);}
}

/* ── Tour Packages Page (built on the same pattern as Day Tours) ── */
#tourPackagesPage{
  position:fixed;inset:0;z-index:1100;
  background:#0a1e36;
  display:none;
  flex-direction:column;
  overflow-y:auto;
  opacity:0;
  transition:opacity 0.4s;
}
#tourPackagesPage.open{opacity:1;}
/* ══════════════ HEALTH TOURISM PAGE (distinct palette — clinical blue/white, not cultural teal/gold) ══════════════ */
#healthTourismPage{
  position:fixed;inset:0;z-index:1100;
  background:#0a1420;
  display:none;flex-direction:column;overflow-y:auto;
  opacity:0;transition:opacity 0.4s;
}
#healthTourismPage.open{opacity:1;}
.hlt-close-float{
  position:fixed;top:18px;right:22px;z-index:1200;
  width:38px;height:38px;border-radius:50%;
  display:none;align-items:center;justify-content:center;
  background:rgba(10,20,32,0.85);backdrop-filter:blur(10px);
  border:1px solid rgba(96,165,250,0.3);
  color:rgba(226,240,253,0.75);font-size:1rem;cursor:pointer;transition:all .2s;
}
.hlt-close-float:hover{color:#60a5fa;border-color:#60a5fa;background:rgba(96,165,250,0.1);}
.hlt-hero{
  position:relative;padding:4rem 8% 2.5rem;text-align:center;
  background:linear-gradient(160deg,#0e2340 0%,#0a1420 70%);
}
.hlt-hero-tag{font-size:0.62rem;letter-spacing:4px;text-transform:uppercase;color:#60a5fa;margin-bottom:1rem;display:block;}
.hlt-hero-title{font-family:'Cinzel',serif;font-size:clamp(1.6rem,4vw,2.6rem);color:#e8f1fc;margin-bottom:1rem;letter-spacing:2px;}
.hlt-hero-sub{font-size:0.85rem;color:rgba(226,240,253,0.6);max-width:620px;margin:0 auto;line-height:1.9;}
.hlt-disclaimer{
  max-width:820px;margin:2rem auto 0;padding:1.1rem 1.5rem;border-radius:12px;
  background:rgba(96,165,250,0.06);border:1px solid rgba(96,165,250,0.25);
  font-size:0.76rem;line-height:1.7;color:rgba(226,240,253,0.7);text-align:left;
}
.hlt-disclaimer strong{color:#60a5fa;}
.hlt-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:.7rem;padding:2rem 8% 1rem;}
.hlt-filter-btn{
  background:transparent;border:1px solid rgba(96,165,250,0.25);color:rgba(226,240,253,0.6);
  padding:8px 20px;border-radius:30px;font-size:0.64rem;letter-spacing:2px;text-transform:uppercase;
  cursor:pointer;font-family:'Raleway',sans-serif;transition:all .2s;
}
.hlt-filter-btn:hover,.hlt-filter-btn.active{background:rgba(96,165,250,0.12);border-color:#60a5fa;color:#60a5fa;}
.hlt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;padding:1rem 1cm 5rem;width:100%;box-sizing:border-box;}
.hlt-card{
  background:rgba(255,255,255,0.03);border:1px solid rgba(96,165,250,0.15);border-radius:16px;
  overflow:hidden;cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s;
  display:flex;flex-direction:column;
}
.hlt-card:hover{transform:translateY(-5px);border-color:rgba(96,165,250,0.5);box-shadow:0 12px 40px rgba(0,0,0,0.35);}
.hlt-card.hlt-filtered-out{display:none !important;}
.hlt-card-icon{padding:2rem;text-align:center;font-size:2.6rem;position:relative;flex-shrink:0;}
.hlt-card-badge-top{
  position:absolute;top:10px;left:10px;font-size:0.56rem;letter-spacing:1px;padding:3px 10px;border-radius:20px;
  background:rgba(96,165,250,0.15);color:#60a5fa;font-family:'Raleway',sans-serif;text-transform:uppercase;
}
.hlt-card-body{padding:1.2rem 1.4rem 1.4rem;flex:1;display:flex;flex-direction:column;background:#0a1420;}
.hlt-card-meta{font-size:0.62rem;letter-spacing:2px;color:#60a5fa;text-transform:uppercase;margin-bottom:.5rem;}
.hlt-card-name{font-family:'Cinzel',serif;font-size:0.98rem;color:#e8f1fc;margin-bottom:.4rem;line-height:1.3;}
.hlt-card-desc{font-size:0.74rem;color:rgba(226,240,253,0.55);line-height:1.55;margin-bottom:.9rem;}
.hlt-card-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:.8rem;border-top:1px solid rgba(96,165,250,0.1);}
.hlt-card-price{font-family:'Cinzel',serif;color:#60a5fa;font-size:0.92rem;}
.hlt-card-price small{font-size:0.58rem;color:rgba(96,165,250,0.6);font-family:'Raleway',sans-serif;}
.hlt-book-btn{
  background:transparent;border:1px solid #60a5fa;color:#60a5fa;padding:7px 16px;border-radius:8px;
  font-size:0.6rem;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;font-family:'Raleway',sans-serif;transition:all .2s;
}
.hlt-book-btn:hover{background:#60a5fa;color:#04140f;}
@media(max-width:1024px){.hlt-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.hlt-grid{grid-template-columns:1fr;padding:1rem 6% 4rem;}.hlt-hero{padding:3rem 6% 2rem;}}

.hlt-detail-modal{
  position:fixed;inset:0;z-index:1300;display:none;align-items:center;justify-content:center;
  background:rgba(5,10,18,0.85);backdrop-filter:blur(6px);padding:2rem;
}
.hlt-detail-modal.open{display:flex;}
.hlt-detail-box{
  position:relative;max-width:560px;width:100%;max-height:85vh;overflow-y:auto;
  background:#0e1c30;border:1px solid rgba(96,165,250,0.25);border-radius:18px;padding:2.4rem;
}
.hlt-detail-close{
  position:absolute;top:1.2rem;right:1.2rem;width:32px;height:32px;border-radius:50%;
  background:rgba(96,165,250,0.1);border:1px solid rgba(96,165,250,0.3);color:#60a5fa;
  cursor:pointer;font-size:0.9rem;
}
.hlt-detail-box h2{font-family:'Cinzel',serif;color:#e8f1fc;font-size:1.4rem;margin-bottom:.4rem;}
.hlt-detail-box .hlt-d-sub{color:#60a5fa;font-size:0.7rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:1.2rem;}
.hlt-detail-box p{color:rgba(226,240,253,0.75);font-size:0.85rem;line-height:1.8;margin-bottom:1.2rem;}
.hlt-detail-box h4{color:#60a5fa;font-size:0.72rem;letter-spacing:1.5px;text-transform:uppercase;margin:1.4rem 0 .7rem;}
.hlt-detail-box ul{list-style:none;padding:0;margin:0 0 1rem;}
.hlt-detail-box ul li{color:rgba(226,240,253,0.75);font-size:0.82rem;line-height:1.7;padding-left:1.3rem;position:relative;margin-bottom:.4rem;}
.hlt-detail-box ul li::before{content:'✓';position:absolute;left:0;color:#60a5fa;}
.hlt-detail-price{font-family:'Cinzel',serif;color:#60a5fa;font-size:1.3rem;margin:1rem 0 .3rem;}
.hlt-detail-price-note{font-size:0.68rem;color:rgba(226,240,253,0.45);margin-bottom:1.4rem;}
.hlt-detail-cta{
  display:block;width:100%;background:#60a5fa;color:#04140f;border:none;padding:.9rem;border-radius:10px;
  font-size:0.72rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;
}

/* ══ Contact channel chooser (WhatsApp / WeChat) — used by all booking/request buttons site-wide ══ */
#contactChooserModal{
  position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  background:rgba(5,10,18,0.85);backdrop-filter:blur(6px);padding:1.5rem;
}
#contactChooserModal.open{display:flex;}
.cch-box{
  position:relative;max-width:400px;width:100%;background:#0e1c30;border:1px solid rgba(29,233,182,0.25);
  border-radius:18px;padding:2rem;text-align:center;
}
.cch-close{
  position:absolute;top:1rem;right:1rem;width:30px;height:30px;border-radius:50%;
  background:rgba(29,233,182,0.1);border:1px solid rgba(29,233,182,0.3);color:var(--teal);cursor:pointer;font-size:0.85rem;
}
.cch-title{font-family:'Cinzel',serif;font-size:1.1rem;color:#e2f8f5;margin-bottom:.4rem;}
.cch-sub{font-size:0.78rem;color:rgba(226,248,245,0.55);margin-bottom:1.6rem;}
.cch-options{display:flex;flex-direction:column;gap:.8rem;}
.cch-option-btn{
  display:flex;align-items:center;gap:.9rem;width:100%;background:rgba(255,255,255,0.03);
  border:1px solid rgba(29,233,182,0.15);border-radius:12px;padding:.9rem 1.1rem;cursor:pointer;
  font-family:'Raleway',sans-serif;font-size:0.85rem;color:#e2f8f5;text-align:left;transition:border-color .2s,background .2s;
}
.cch-option-btn:hover{border-color:var(--teal);background:rgba(29,233,182,0.06);}
.cch-option-icon{font-size:1.5rem;flex-shrink:0;}
.cch-option-text small{display:block;font-size:0.68rem;color:rgba(226,248,245,0.45);margin-top:.15rem;}
.cch-wechat-panel{display:none;margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid rgba(29,233,182,0.12);}
.cch-wechat-panel.show{display:block;}
.cch-qr-box{
  width:200px;height:200px;margin:0 auto .9rem;background:#fff;border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-size:0.6rem;color:#888;padding:8px;text-align:center;
}
.cch-wechat-id{
  font-family:monospace;font-size:0.95rem;color:var(--teal);background:rgba(29,233,182,0.08);
  padding:.5rem 1rem;border-radius:8px;display:inline-block;margin-bottom:.6rem;
}
.cch-copy-btn{
  background:transparent;border:1px solid rgba(29,233,182,0.3);color:var(--teal);padding:.4rem 1rem;
  border-radius:8px;font-size:0.68rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;margin-left:.6rem;
}
.cch-wechat-note{font-size:0.7rem;color:rgba(226,248,245,0.4);margin-top:.8rem;line-height:1.6;}

/* ══════════════ FLIGHT PAGE (fully separate from Bus) ══════════════ */
#flightPage, #busPage{
  position:fixed;inset:0;z-index:1100;background:#0a1e36;
  display:none;flex-direction:column;overflow-y:auto;opacity:0;transition:opacity .4s;
}
#flightPage.open, #busPage.open{opacity:1;}
.trv-close-float{
  position:fixed;top:18px;right:22px;z-index:1200;width:38px;height:38px;border-radius:50%;
  display:none;align-items:center;justify-content:center;background:rgba(5,22,40,0.85);backdrop-filter:blur(10px);
  border:1px solid rgba(29,233,182,0.25);color:rgba(226,248,245,0.75);font-size:1rem;cursor:pointer;transition:all .2s;
}
.trv-close-float:hover{color:var(--teal);border-color:var(--teal);background:rgba(29,233,182,0.1);}

.trv-hero{position:relative;padding:3.2rem 1cm 1.4rem;text-align:center;background:linear-gradient(160deg,#0c2340 0%,#071628 70%);width:100%;box-sizing:border-box;}
.trv-hero-tag{font-size:0.62rem;letter-spacing:4px;text-transform:uppercase;color:var(--teal);margin-bottom:1rem;display:block;}
.trv-hero-title{font-family:'Cinzel',serif;font-size:clamp(1.6rem,4vw,2.6rem);color:#e2f8f5;margin-bottom:1rem;letter-spacing:2px;}
.trv-hero-sub{font-size:0.85rem;color:rgba(226,248,245,0.6);max-width:720px;margin:0 auto;line-height:1.85;}

/* Full-width search bar */
.trv-search-wrap{width:100%;padding:0 1cm 1.4rem;box-sizing:border-box;}
.trv-search-card{position:relative;border-radius:16px;padding:2px;overflow:hidden;width:100%;box-sizing:border-box;}
.trv-search-card::before{
  content:'';position:absolute;inset:-1px;border-radius:17px;padding:1px;
  background:conic-gradient(from var(--angle,0deg),transparent 15%,rgba(29,233,182,0.9) 35%,rgba(255,255,255,0.95) 45%,rgba(29,233,182,0.9) 55%,transparent 75%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:1;z-index:2;pointer-events:none;animation:borderSpin 9s linear infinite;
}
.trv-search-inner{position:relative;z-index:1;background:rgba(255,255,255,0.03);border-radius:15px;padding:1.6rem;width:100%;box-sizing:border-box;}
.trv-search-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:1rem;align-items:end;width:100%;}
.trv-field label{display:block;font-size:0.6rem;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:.5rem;}
.trv-field select,.trv-field input{
  width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(29,233,182,0.2);border-radius:8px;
  padding:11px 12px;color:#e2f8f5;font-size:0.85rem;font-family:'Raleway',sans-serif;box-sizing:border-box;color-scheme:dark;
}
.trv-field select option{background:#0c2340;color:#e2f8f5;}
.trv-search-btn{
  background:var(--teal);color:#04140f;border:none;padding:12px 30px;border-radius:8px;
  font-size:0.7rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .2s;
}
.trv-search-btn:hover{opacity:.88;}
.trv-swap-btn{
  background:rgba(29,233,182,0.1);border:1px solid rgba(29,233,182,0.3);color:var(--teal);
  width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:1rem;flex-shrink:0;align-self:end;margin-bottom:2px;
}

/* Full-width content body: results (left, wide) + map (right) */
.trv-body{display:grid;grid-template-columns:1fr 380px;gap:1.6rem;width:100%;padding:0 1cm 4rem;box-sizing:border-box;align-items:start;}
.trv-results-col{width:100%;min-width:0;}
.trv-map-col{position:sticky;top:1.4rem;background:rgba(255,255,255,0.02);border:1px solid rgba(29,233,182,0.12);border-radius:16px;padding:1.2rem;}
.trv-map-title{font-family:'Cinzel',serif;font-size:0.85rem;color:#e2f8f5;text-align:center;margin-bottom:.8rem;}
.trv-map-svg{width:100%;height:auto;display:block;}

.trv-section-title{font-family:'Cinzel',serif;font-size:1rem;color:#e2f8f5;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem;}
.trv-section-title span{color:var(--teal);}
.trv-results-meta{font-size:0.76rem;color:rgba(226,248,245,0.5);margin-bottom:1.2rem;}

.trv-result-card{
  display:grid;grid-template-columns:auto 1fr auto auto;gap:1.4rem;align-items:center;
  background:rgba(255,255,255,0.03);border:1px solid rgba(29,233,182,0.1);border-radius:12px;
  padding:1.1rem 1.4rem;margin-bottom:.8rem;transition:border-color .2s,transform .2s;width:100%;box-sizing:border-box;
}
.trv-result-card:hover{border-color:rgba(29,233,182,0.35);transform:translateX(3px);}
.trv-result-airline{display:flex;flex-direction:column;gap:.15rem;min-width:110px;}
.trv-result-airline-name{font-family:'Cinzel',serif;font-size:0.82rem;color:#e2f8f5;}
.trv-result-flightno{font-size:0.64rem;color:rgba(226,248,245,0.45);letter-spacing:1px;}
.trv-result-times{display:flex;align-items:center;gap:.8rem;}
.trv-result-time-block{text-align:center;}
.trv-result-time{font-family:'Cinzel',serif;font-size:1.15rem;color:#e2f8f5;}
.trv-result-city{font-size:0.62rem;color:rgba(226,248,245,0.45);text-transform:uppercase;letter-spacing:1px;}
.trv-result-duration-line{display:flex;flex-direction:column;align-items:center;min-width:90px;}
.trv-result-duration{font-size:0.68rem;color:var(--teal);margin-bottom:.3rem;}
.trv-result-dash{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(29,233,182,0.4),transparent);position:relative;}
.trv-result-dash::after{content:'✈';position:absolute;right:0;top:-8px;font-size:0.7rem;color:var(--teal);}
.trv-result-meta{display:flex;flex-direction:column;gap:.2rem;font-size:0.68rem;color:rgba(226,248,245,0.5);min-width:100px;}
.trv-result-price{font-family:'Cinzel',serif;color:var(--gold);font-size:1.1rem;text-align:right;}
.trv-result-book-btn{
  background:transparent;border:1px solid var(--teal);color:var(--teal);padding:8px 18px;border-radius:8px;
  font-size:0.62rem;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;font-family:'Raleway',sans-serif;transition:all .2s;white-space:nowrap;
}
.trv-result-book-btn:hover{background:var(--teal);color:#04140f;}

.trv-empty-state{text-align:center;padding:3rem 1rem;color:rgba(226,248,245,0.4);font-size:0.85rem;}
.trv-note{font-size:0.72rem;color:rgba(226,248,245,0.4);margin-top:1.4rem;line-height:1.7;font-style:italic;}
.trv-trust-row{display:flex;flex-wrap:wrap;gap:1rem;margin:0 0 1.8rem;}
.trv-trust-item{
  display:flex;align-items:center;gap:.5rem;font-size:0.72rem;color:rgba(226,248,245,0.7);
  padding:.5rem 1rem;border:1px solid rgba(29,233,182,0.12);border-radius:8px;background:rgba(29,233,182,0.03);
}
.trv-trust-item span{color:var(--teal);}

.trv-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.6rem;}
.trv-info-card{background:rgba(255,255,255,0.03);border:1px solid rgba(29,233,182,0.1);border-radius:12px;padding:1.1rem 1.3rem;}
.trv-info-card-title{display:flex;align-items:center;gap:.5rem;font-family:'Cinzel',serif;font-size:0.82rem;color:var(--teal);margin-bottom:.5rem;}
.trv-info-card p{font-size:0.76rem;color:rgba(226,248,245,0.65);line-height:1.65;margin:0;}
@media(max-width:768px){.trv-info-grid{grid-template-columns:1fr;}}

@media(max-width:1024px){
  .trv-body{grid-template-columns:1fr;}
  .trv-map-col{position:static;order:-1;}
}
@media(max-width:768px){
  .trv-search-grid{grid-template-columns:1fr;}
  .trv-swap-btn{display:none;}
  .trv-result-card{grid-template-columns:1fr;text-align:center;gap:.7rem;}
  .trv-result-times{justify-content:center;}
}

/* ══════════════ AIRPORT TRANSFER PAGE (full-width) ══════════════ */
#transferPage{
  position:fixed;inset:0;z-index:1100;background:#0a1e36;
  display:none;flex-direction:column;overflow-y:auto;opacity:0;transition:opacity .4s;
}
#transferPage.open{opacity:1;}
.atr-close-float{
  position:fixed;top:18px;right:22px;z-index:1200;width:38px;height:38px;border-radius:50%;
  display:none;align-items:center;justify-content:center;background:rgba(5,22,40,0.85);backdrop-filter:blur(10px);
  border:1px solid rgba(29,233,182,0.25);color:rgba(226,248,245,0.75);font-size:1rem;cursor:pointer;transition:all .2s;
}
.atr-close-float:hover{color:var(--teal);border-color:var(--teal);background:rgba(29,233,182,0.1);}
#carRentalPage{
  position:fixed;inset:0;z-index:1100;background:#0a1e36;
  display:none;flex-direction:column;overflow-y:auto;opacity:0;transition:opacity .4s;
}
#carRentalPage.open{opacity:1;}

.atr-hero{position:relative;padding:3.5rem 1cm 1.6rem;text-align:center;background:linear-gradient(160deg,#0c2340 0%,#071628 70%);width:100%;box-sizing:border-box;}
.atr-hero-tag{font-size:0.62rem;letter-spacing:4px;text-transform:uppercase;color:var(--teal);margin-bottom:1rem;display:block;}
.atr-hero-title{font-family:'Cinzel',serif;font-size:clamp(1.6rem,4vw,2.6rem);color:#e2f8f5;margin-bottom:1rem;letter-spacing:2px;}
.atr-hero-sub{font-size:0.85rem;color:rgba(226,248,245,0.6);max-width:720px;margin:0 auto;line-height:1.85;}

.atr-search-wrap{width:100%;padding:0 1cm 1.4rem;box-sizing:border-box;}
.atr-search-card{position:relative;border-radius:16px;padding:2px;overflow:hidden;width:100%;box-sizing:border-box;}
.atr-search-card::before{
  content:'';position:absolute;inset:-1px;border-radius:17px;padding:1px;
  background:conic-gradient(from var(--angle,0deg),transparent 15%,rgba(29,233,182,0.9) 35%,rgba(255,255,255,0.95) 45%,rgba(29,233,182,0.9) 55%,transparent 75%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:1;z-index:2;pointer-events:none;animation:borderSpin 9s linear infinite;
}
.atr-search-inner{position:relative;z-index:1;background:rgba(255,255,255,0.03);border-radius:15px;padding:1.6rem;width:100%;box-sizing:border-box;}
.atr-search-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:1rem;align-items:end;width:100%;}
.atr-field label{display:block;font-size:0.6rem;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:.5rem;}
.atr-field select,.atr-field input{
  width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(29,233,182,0.2);border-radius:8px;
  padding:11px 12px;color:#e2f8f5;font-size:0.85rem;font-family:'Raleway',sans-serif;box-sizing:border-box;color-scheme:dark;
}
.atr-field select option{background:#0c2340;color:#e2f8f5;}
.atr-search-btn{
  background:var(--teal);color:#04140f;border:none;padding:12px 28px;border-radius:8px;
  font-size:0.68rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .2s;
}
.atr-search-btn:hover{opacity:.88;}

.atr-body{width:100%;padding:0 1cm 4rem;box-sizing:border-box;}
.atr-section-title{font-family:'Cinzel',serif;font-size:1rem;color:#e2f8f5;margin:2rem 0 1rem;display:flex;align-items:center;gap:.5rem;}
.atr-section-title span{color:var(--teal);}

.atr-trust-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;}
.atr-trust-item{
  display:flex;align-items:center;gap:.5rem;font-size:0.72rem;color:rgba(226,248,245,0.7);
  padding:.5rem 1rem;border:1px solid rgba(29,233,182,0.12);border-radius:8px;background:rgba(29,233,182,0.03);
}
.atr-trust-item span{color:var(--teal);}

.atr-vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.atr-vehicle-card{
  position:relative;background:rgba(255,255,255,0.03);border:1px solid rgba(29,233,182,0.12);border-radius:16px;
  padding:1.6rem;cursor:pointer;transition:border-color .2s,transform .2s;
}
.atr-vehicle-card:hover{border-color:rgba(29,233,182,0.4);transform:translateY(-4px);}
.atr-vehicle-card.selected{border-color:var(--teal);background:rgba(29,233,182,0.06);}
.atr-vehicle-icon{font-size:2.2rem;margin-bottom:.7rem;}
.atr-vehicle-name{font-family:'Cinzel',serif;font-size:1rem;color:#e2f8f5;margin-bottom:.4rem;}
.atr-vehicle-models{font-size:0.72rem;color:rgba(226,248,245,0.5);line-height:1.6;margin-bottom:.8rem;}
.atr-vehicle-cap{font-size:0.68rem;color:var(--teal);margin-bottom:.8rem;}
.atr-vehicle-price{font-family:'Cinzel',serif;color:var(--gold);font-size:1.3rem;}
.atr-vehicle-price small{font-size:0.6rem;color:rgba(255,213,79,0.6);font-family:'Raleway',sans-serif;}

.atr-routes-table{width:100%;border-collapse:collapse;font-size:0.82rem;}
.atr-routes-table th{
  text-align:left;font-size:0.6rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);
  padding:.7rem .8rem;border-bottom:1px solid rgba(29,233,182,0.2);
}
.atr-routes-table td{padding:.8rem;border-bottom:1px solid rgba(255,255,255,0.05);color:rgba(226,248,245,0.8);}
.atr-routes-table tr:hover td{background:rgba(29,233,182,0.04);}
.atr-price-tag{color:var(--gold);font-family:'Cinzel',serif;}

.atr-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
.atr-info-card{background:rgba(255,255,255,0.03);border:1px solid rgba(29,233,182,0.1);border-radius:12px;padding:1.1rem 1.3rem;}
.atr-info-card-title{display:flex;align-items:center;gap:.5rem;font-family:'Cinzel',serif;font-size:0.82rem;color:var(--teal);margin-bottom:.5rem;}
.atr-info-card p{font-size:0.76rem;color:rgba(226,248,245,0.65);line-height:1.65;margin:0;}

.atr-book-btn{
  background:var(--teal);color:#04140f;border:none;padding:14px 32px;border-radius:10px;
  font-size:0.72rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;cursor:pointer;margin-top:1.5rem;
}
.atr-book-btn:hover{opacity:.9;}
.atr-selected-summary{font-size:0.8rem;color:rgba(226,248,245,0.6);margin-top:1rem;}

/* ── Car Rental specific: self-drive / with-driver toggle ── */
.car-mode-toggle{display:flex;justify-content:center;gap:.8rem;margin-bottom:1.6rem;}
.car-mode-btn{
  background:transparent;border:1px solid rgba(29,233,182,0.25);color:rgba(226,248,245,0.6);
  padding:10px 26px;border-radius:30px;font-size:0.68rem;letter-spacing:2px;text-transform:uppercase;
  cursor:pointer;font-family:'Raleway',sans-serif;transition:all .2s;
}
.car-mode-btn.active,.car-mode-btn:hover{background:rgba(29,233,182,0.12);border-color:var(--teal);color:var(--teal);}
.car-mileage-badge{
  display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,213,79,0.08);border:1px solid rgba(255,213,79,0.3);
  color:var(--gold);padding:.5rem 1.1rem;border-radius:30px;font-size:0.72rem;letter-spacing:1px;margin-bottom:1.4rem;
}
.car-requirements-list{list-style:none;padding:0;margin:0;}
.car-requirements-list li{
  font-size:0.8rem;color:rgba(226,248,245,0.7);padding:.6rem 0 .6rem 1.6rem;position:relative;
  border-bottom:1px solid rgba(255,255,255,0.05);
}
.car-requirements-list li::before{content:'✓';position:absolute;left:0;color:var(--teal);}
.car-addon-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem;}
.car-addon-chip{
  display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,0.03);border:1px solid rgba(29,233,182,0.15);
  border-radius:10px;padding:.7rem 1rem;font-size:0.76rem;color:rgba(226,248,245,0.75);
}
.car-addon-chip .price{color:var(--gold);font-family:'Cinzel',serif;margin-left:auto;}

@media(max-width:1024px){.atr-vehicle-grid{grid-template-columns:1fr;}.atr-info-grid{grid-template-columns:1fr;}}
@media(max-width:768px){.atr-search-grid{grid-template-columns:1fr;}}

.tpp-close-float{
  position:fixed;top:18px;right:22px;z-index:1200;
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(5,22,40,0.85);backdrop-filter:blur(10px);
  border:1px solid rgba(29,233,182,0.25);
  color:rgba(226,248,245,0.75);font-size:1rem;
  cursor:pointer;transition:all .2s;
}
.tpp-close-float:hover{color:var(--teal);border-color:var(--teal);background:rgba(29,233,182,0.1);}
.tpp-logo-float{
  position:fixed;top:26px;left:28px;z-index:1200;
  font-family:'Cinzel',serif;font-size:0.85rem;letter-spacing:2px;
  color:var(--teal);text-decoration:none;
}
.tpp-logo-float:hover{color:#fff;}
.tpp-hero{
  position:relative;padding:3rem 8% 1.2rem;
  background:linear-gradient(160deg,#0c2340 0%,#071628 60%,#030e1a 100%);
  text-align:center;
}
.tpp-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(29,233,182,0.08) 0%,transparent 65%);
  pointer-events:none;
}
.tpp-hero-tag{
  font-size:0.62rem;letter-spacing:4px;text-transform:uppercase;
  color:var(--teal);margin-bottom:.5rem;display:block;
}
.tpp-hero-title{
  font-family:'Cinzel',serif;font-size:clamp(1.6rem,4vw,2.8rem);
  letter-spacing:3px;margin-bottom:.6rem;
  background:linear-gradient(90deg,#7dfce0,#1de9b6 35%,#fff 50%,#1de9b6 65%,#7dfce0);
  background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shimmerText 3.5s linear infinite;
  filter:drop-shadow(0 0 18px rgba(29,233,182,0.5));
}
.tpp-hero-sub{
  font-size:0.85rem;color:rgba(226,248,245,0.55);
  max-width:560px;margin:0 auto;line-height:1.5;letter-spacing:1px;
}

/* Trip builder (same visual language as the day-tour bespoke widget, more detail) */
.tpp-builder-wrap{padding:0 1cm 1.5rem;width:100%;box-sizing:border-box;background:#0a1e36;position:relative;z-index:2;}
.tpp-builder-outer{position:relative;border-radius:16px;overflow:hidden;padding:2px;}
.tpp-builder-glow{position:absolute;inset:0;animation:dtpRotate 4s linear infinite;}
.tpp-builder-glow::before{
  content:'';position:absolute;top:-80%;left:20%;width:60%;height:60%;
  background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(29,233,182,0.95) 0%,rgba(0,229,255,0.6) 40%,transparent 75%);
  filter:blur(8px);
}
.tpp-builder-mask{position:absolute;inset:2px;border-radius:14px;background:#0a1e36;z-index:1;}
.tpp-builder-card{
  position:relative;z-index:2;
  background:linear-gradient(135deg,rgba(10,28,50,0.99),rgba(5,15,30,0.99));
  border-radius:15px;overflow:hidden;
}
.tpp-builder-cols{display:grid;grid-template-columns:220px repeat(5,1fr);}
.tpp-builder-identity{
  padding:1.6rem 1.4rem;border-right:1px solid rgba(29,233,182,0.12);
  display:flex;flex-direction:column;justify-content:space-between;background:rgba(29,233,182,0.03);
}
.tpp-builder-col{padding:0.85rem 1rem;border-right:1px solid rgba(29,233,182,0.08);}
.tpp-builder-col:last-child{border-right:none;}
.tpp-builder-col-label{font-size:0.55rem;letter-spacing:3px;text-transform:uppercase;color:rgba(226,248,245,0.95);margin-bottom:.6rem;}
.tpp-builder-col-hint{font-size:0.55rem;color:rgba(29,233,182,1);margin-bottom:.6rem;letter-spacing:1px;}
.tpp-city-grid{display:flex;flex-direction:column;gap:.2rem;}
.tpp-builder-col .dtp-city-btn{padding:3px 14px;}
.tpp-builder-bottom{
  display:flex;align-items:center;justify-content:space-between;padding:.6rem 1.6rem;
  border-top:1px solid rgba(29,233,182,0.1);background:rgba(0,0,0,0.2);
}
.tpp-progress{font-size:0.6rem;letter-spacing:2px;text-transform:uppercase;color:rgba(226,248,245,0.9);}
.tpp-design-btn{
  background:var(--teal);color:#000;border:none;padding:10px 32px;border-radius:8px;
  font-size:0.64rem;letter-spacing:2px;text-transform:uppercase;cursor:not-allowed;
  font-family:'Raleway',sans-serif;font-weight:700;opacity:0.4;transition:all .25s;
}
.tpp-date-input{
  width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(29,233,182,0.15);
  color:#e2f8f5;padding:8px 10px;border-radius:8px;font-size:0.72rem;
  font-family:'Raleway',sans-serif;outline:none;box-sizing:border-box;color-scheme:dark;margin-bottom:.6rem;
}

.tpp-filters{
  display:flex;justify-content:center;flex-wrap:wrap;gap:.7rem;
  padding:1.5rem 8% 2rem;
  background:#0a1e36;
}
.tpp-filter-btn{
  background:transparent;border:1px solid rgba(29,233,182,0.25);
  color:rgba(226,248,245,0.6);padding:8px 20px;
  border-radius:30px;font-size:0.64rem;letter-spacing:2px;
  text-transform:uppercase;cursor:pointer;
  font-family:'Raleway',sans-serif;transition:all .2s;
}
.tpp-filter-btn:hover,.tpp-filter-btn.active{
  background:rgba(29,233,182,0.12);border-color:var(--teal);color:var(--teal);
}
.tpp-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.6rem;padding:0 1cm 5rem;
  width:100%;box-sizing:border-box;
}
.tpp-card{
  position:relative;
  display:flex;flex-direction:column;
  background:rgba(255,255,255,0.035);
  border:1px solid rgba(29,233,182,0.12);
  border-radius:16px;
  cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s;
}
.tpp-card::before{
  content:'';position:absolute;inset:-1px;border-radius:17px;padding:1px;
  background:conic-gradient(from var(--angle,0deg),transparent 15%,rgba(29,233,182,0.9) 35%,rgba(255,255,255,0.95) 45%,rgba(29,233,182,0.9) 55%,transparent 75%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:1;z-index:2;pointer-events:none;animation:borderSpin 9s linear infinite;
}
.tpp-card::after{
  content:'';position:absolute;inset:-1px;border-radius:17px;
  background:conic-gradient(from var(--angle,0deg),transparent 15%,rgba(29,233,182,0.35) 40%,rgba(29,233,182,0.5) 50%,rgba(29,233,182,0.35) 60%,transparent 75%);
  filter:blur(6px);opacity:1;z-index:0;pointer-events:none;animation:borderSpin 9s linear infinite;
}
.tpp-card:hover{
  transform:translateY(-5px);
  border-color:rgba(29,233,182,0.4);
  box-shadow:0 12px 40px rgba(0,0,0,0.35);
}
.tpp-card.tpp-filtered-out{display:none !important;}
.tpp-card-icon{
  position:relative;z-index:1;overflow:hidden;flex-shrink:0;
  border-radius:16px 16px 0 0;
  padding:3.6rem 2rem;text-align:center;font-size:3rem;
}
.tpp-card-body{position:relative;z-index:1;background:#0a1e36;border-radius:0 0 16px 16px;flex:1;display:flex;flex-direction:column;}
.tpp-card-badge-top{
  position:absolute;top:10px;left:10px;font-size:0.56rem;letter-spacing:1px;
  padding:3px 10px;border-radius:20px;background:rgba(29,233,182,0.15);color:var(--teal);
  font-family:'Raleway',sans-serif;text-transform:uppercase;
}
.tpp-card-body{padding:1rem 1.4rem 1rem;}
.tpp-card-meta{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:.35rem;
}
.tpp-card-duration{font-size:0.62rem;letter-spacing:2px;color:var(--teal);text-transform:uppercase;}
.tpp-card-name{
  font-family:'Cinzel',serif;font-size:0.98rem;
  color:#e2f8f5;margin-bottom:.3rem;line-height:1.3;
}
.tpp-card-route{
  font-size:0.72rem;color:rgba(226,248,245,0.55);
  line-height:1.45;margin-bottom:.6rem;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.tpp-card-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:.6rem;border-top:1px solid rgba(29,233,182,0.08);}
.tpp-card-price{font-family:'Cinzel',serif;color:var(--gold);font-size:1rem;}
.tpp-card-price small{font-size:0.6rem;color:rgba(255,213,79,0.6);font-family:'Raleway',sans-serif;}
.tpp-book-btn{
  background:transparent;border:1px solid var(--teal);color:var(--teal);
  padding:8px 18px;border-radius:8px;font-size:0.62rem;
  letter-spacing:2px;text-transform:uppercase;cursor:pointer;
  font-family:'Raleway',sans-serif;transition:all .2s;
}
.tpp-book-btn:hover{background:var(--teal);color:#000;}
.tpp-freetour-banner{
  margin:0 1cm 2rem;padding:1.2rem 1.6rem;border-radius:14px;
  background:linear-gradient(135deg,rgba(29,233,182,0.07),rgba(0,229,255,0.03));
  border:1px dashed rgba(29,233,182,0.3);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.tpp-freetour-text{font-size:0.8rem;color:rgba(226,248,245,0.8);line-height:1.6;}
.tpp-freetour-text strong{color:var(--teal);}
.tpp-freetour-btn{
  background:var(--teal);color:#04140f;border:none;padding:10px 22px;border-radius:8px;
  font-size:0.64rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;
  font-family:'Raleway',sans-serif;font-weight:700;white-space:nowrap;
}
@media(max-width:1024px){
  .tpp-builder-cols{grid-template-columns:1fr 1fr 1fr;}
  .tpp-builder-identity{grid-column:1/-1;}
}
@media(max-width:768px){
  .tpp-header{padding:0 1.2rem;}
  .tpp-hero{padding:2.2rem 6% 1rem;}
  .tpp-filters{padding:1.2rem 6%;}
  .tpp-grid{padding:0 6% 4rem;grid-template-columns:1fr;}
  .tpp-builder-cols{grid-template-columns:1fr 1fr;}
}

/* Active nav Hotels link */
nav a[href="#hotels-page"].nav-active,
nav a[onclick*="openHotelsPage"]:hover{
  color:var(--teal) !important;
}

.hp-sort-row{
  display:flex;justify-content:center;gap:0.9rem;flex-wrap:wrap;
  max-width:1100px;margin:-228px auto 0;padding:0 1.5rem;
  position:relative;z-index:6;
}
.hp-sort-btn{
  display:flex;align-items:center;gap:0.5rem;
  padding:0.7rem 1.5rem;border-radius:999px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(212,175,55,0.25);
  color:#cfd8d6;font-family:'Cinzel',serif;font-size:0.78rem;
  letter-spacing:1.5px;text-transform:uppercase;font-weight:600;
  cursor:pointer;transition:all .3s ease;
}
.hp-sort-icon{font-size:1rem;line-height:1;}
.hp-sort-btn:hover{border-color:rgba(212,175,55,0.6);color:#fff;background:rgba(212,175,55,0.08);}
.hp-sort-btn.active{
  background:linear-gradient(135deg,var(--gold,#d4af37),#b8932f);
  border-color:var(--gold,#d4af37);color:#0a1410;
  box-shadow:0 4px 18px rgba(212,175,55,0.35);
}
@media(max-width:600px){.hp-sort-row{gap:0.6rem;}.hp-sort-btn{padding:0.55rem 1.1rem;font-size:0.7rem;}}
.hp-type-sort{
  display:flex;justify-content:center;gap:0.9rem;flex-wrap:wrap;
  max-width:1100px;margin:1.1rem auto 0;padding:0 1.5rem;
  position:relative;z-index:6;
}
.hp-type-btn{
  display:flex;align-items:center;gap:0.5rem;
  padding:0.7rem 1.5rem;border-radius:999px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(212,175,55,0.25);
  color:#cfd8d6;font-family:'Cinzel',serif;font-size:0.78rem;
  letter-spacing:1.5px;text-transform:uppercase;font-weight:600;
  cursor:pointer;transition:all .3s ease;
}
.hp-type-icon{font-size:1rem;line-height:1;}
.hp-type-btn:hover{border-color:rgba(212,175,55,0.6);color:#fff;background:rgba(212,175,55,0.08);}
.hp-type-btn.active{
  background:linear-gradient(135deg,var(--gold,#d4af37),#b8932f);
  border-color:var(--gold,#d4af37);color:#0a1410;
  box-shadow:0 4px 18px rgba(212,175,55,0.35);
}
.hotel-card.hp-hidden{display:none !important;}
@media(max-width:600px){.hp-type-sort{gap:0.6rem;}.hp-type-btn{padding:0.55rem 1.1rem;font-size:0.7rem;}}
.hotels-header{
  position:sticky;top:0;z-index:10;
  background:rgba(8,30,58,0.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(29,233,182,0.2);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 3rem;height:64px;
}
.hotels-back{border-radius:8px;
  background:transparent;border:1px solid rgba(29,233,182,0.35);
  color:var(--teal);font-family:'Raleway',sans-serif;
  font-size:0.64rem;letter-spacing:2px;text-transform:uppercase;
  padding:7px 16px;cursor:pointer;transition:all .25s;
  display:flex;align-items:center;gap:7px;
}
.hotels-back:hover{background:rgba(29,233,182,0.12);}
.hotels-back svg{stroke:var(--teal);}
.hotels-header-title{
  font-family:'Cinzel',serif;font-size:1.1rem;
  color:var(--teal);letter-spacing:3px;
}
.hotels-header-nav{display:flex;align-items:center;gap:1.8rem;}
.hotels-header-nav > a,
.hotels-header-nav > .nav-services > a{font-family:'Cinzel',serif;color:var(--teal);text-decoration:none;font-size:0.78rem;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;text-shadow:0 0 12px rgba(29,233,182,0.35);transition:color .3s,text-shadow .3s;}
.hotels-header-nav > a:hover,
.hotels-header-nav > .nav-services > a:hover{color:#fff;text-shadow:0 0 16px rgba(29,233,182,0.6);}

.hotels-hero{
  position:relative;
  padding:3rem 5% 2.5rem;
  background:
    linear-gradient(135deg, rgba(8,22,42,0.42), rgba(10,32,54,0.50)),
    
  background-position:center, center;
  background-repeat:no-repeat, no-repeat;
  min-height:420px;
  border-bottom:1px solid rgba(29,233,182,0.12);
  text-align:center;
}
.hotels-hero h1{
  font-family:'Mrs Saint Delafield',cursive;font-size:clamp(2.6rem,6vw,4.6rem);
  font-weight:400;
  color:#fff;letter-spacing:1px;margin-bottom:.8rem;
  text-shadow:0 2px 18px rgba(0,0,0,0.85), 0 1px 3px rgba(0,0,0,0.9);
  opacity:0;transform:translateY(30px);
  animation:hhTitleFadeUp 1s ease forwards;
  animation-delay:0.15s;
}
@keyframes hhTitleFadeUp{
  to{opacity:1;transform:translateY(0);}
}
.hotels-hero p{
  font-family:'Raleway',sans-serif;font-size:0.88rem;
  color:rgba(225,248,244,0.92);max-width:540px;margin:0 auto;
  line-height:1.9;font-weight:300;
  text-shadow:0 1px 10px rgba(0,0,0,0.8);
}
.hotels-hero-tag{
  font-size:0.62rem;letter-spacing:4px;text-transform:uppercase;
  color:var(--teal);margin-bottom:1rem;
  text-shadow:0 1px 10px rgba(0,0,0,0.8);
}

.hero-spot-card{
  position:absolute;top:50%;transform:translateY(-50%);
  width:286px;background:rgba(8,20,38,0.85);
  border:1px solid rgba(29,233,182,0.3);border-radius:20px;
  overflow:hidden;backdrop-filter:blur(10px);
  box-shadow:0 14px 34px rgba(0,0,0,0.5);
  text-align:left;cursor:pointer;z-index:8;
  pointer-events:auto;
  transition:transform .3s ease,box-shadow .3s ease;
}
.hero-spot-slide{display:none;pointer-events:auto;}
.hero-spot-slide.active{display:block;}
.hero-spot-img{
  width:100%;height:147px;display:flex;align-items:center;justify-content:center;
  font-size:2.6rem;
}
.hero-spot-img.g1{background:linear-gradient(135deg,#0e1e30,#142e20,#100e2a);}
.hero-spot-img.g2{background:linear-gradient(135deg,#1a1000,#2e1e00,#150e00);}
.hero-spot-img.g3{background:linear-gradient(135deg,#1a0e2a,#2a1620,#0e1a2a);}
.hero-spot-img.g4{background:linear-gradient(135deg,#0e2a26,#1a1e2e,#10240e);}
.hero-spot-card:hover{
  transform:translateY(-50%) translateY(-4px);
  box-shadow:0 20px 40px rgba(29,233,182,0.25),0 14px 34px rgba(0,0,0,0.5);
}
.hero-spot-card.left{left:1%;}
.hero-spot-card.right{right:1%;}
.hero-spot-img{width:100%;height:147px;object-fit:cover;display:block;}
.hero-spot-body{padding:15px 18px 18px;}
.hero-spot-city{
  font-family:'Raleway',sans-serif;font-size:0.78rem;letter-spacing:2px;
  text-transform:uppercase;color:var(--teal);margin-bottom:4px;
}
.hero-spot-name{
  font-family:'Cinzel',serif;font-size:1.2rem;color:#fff;
  margin-bottom:6px;line-height:1.25;
}
.hero-spot-stars{color:#ffd86b;font-size:0.92rem;letter-spacing:1px;margin-bottom:12px;}
.hero-spot-footer{display:flex;align-items:center;justify-content:space-between;}
.hero-spot-price{font-family:'Cinzel',serif;font-size:1.1rem;color:#fff;}
.hero-spot-price small{
  font-family:'Raleway',sans-serif;font-size:0.72rem;
  color:rgba(210,245,240,0.6);font-weight:300;
}
.hero-spot-btn{
  font-family:'Raleway',sans-serif;font-size:0.78rem;letter-spacing:1px;
  text-transform:uppercase;color:var(--teal);background:rgba(29,233,182,0.1);
  border:1px solid rgba(29,233,182,0.3);border-radius:8px;padding:5px 11px;
}
@media (max-width:1340px){
  .hero-spot-card{display:none;}
}

.hotels-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  grid-auto-rows:1fr;
  gap:0.75rem;
  padding:1rem;
  max-width:100%;margin:-38px 0 0;width:100%;
  box-sizing:border-box;
}
@media(max-width:1400px){.hotels-grid{grid-template-columns:repeat(4,1fr);}}
@media(max-width:1060px){.hotels-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:700px){.hotels-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:420px){.hotels-grid{grid-template-columns:1fr;}}
.hotel-card{
  background:#112e4c;
  border:none;
  border-radius:20px;
  overflow:visible;
  transition:transform .35s cubic-bezier(.22,.68,0,1.2),box-shadow .35s;
  cursor:pointer;
  display:flex;flex-direction:column;
  position:relative;
  z-index:0;
  height:100%;
}
/* clip the image/content inside rounded card */
.hotel-card > *:not(.hotel-card-glow){overflow:hidden;}
.hotel-card .hotel-img{border-radius:20px 20px 0 0;}
.hotel-card .hotel-body{border-radius:0 0 20px 20px;}

/* ── animated neon border ── */
@property --angle{syntax:'<angle>';initial-value:0deg;inherits:false;}
@keyframes borderSpin{to{--angle:360deg;}}

.hotel-card::before{
  content:'';
  position:absolute;
  inset:-2px;
  border-radius:22px;
  padding:2px;
  /* از rgba بجای transparent استفاده کن تا اینترپولیشن رنگ خراب نشه */
  background:conic-gradient(
    from var(--angle,0deg),
    rgba(29,233,182,0.10) 0%,
    rgba(29,233,182,0.10) 18%,
    rgba(29,233,182,0.70) 36%,
    rgba(255,255,255,0.94) 50%,
    rgba(29,233,182,0.70) 64%,
    rgba(29,233,182,0.10) 82%,
    rgba(29,233,182,0.10) 100%
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:1;
  z-index:1;
  pointer-events:none;
  animation:borderSpin 6s linear infinite;
}
/* glow halo — synced با border beam */
.hotel-card::after{
  content:'';
  position:absolute;
  inset:-3px;
  border-radius:23px;
  background:conic-gradient(
    from var(--angle,0deg),
    rgba(29,233,182,0)   0%,
    rgba(29,233,182,0)   35%,
    rgba(29,233,182,0.30) 50%,
    rgba(29,233,182,0)   65%,
    rgba(29,233,182,0)   100%
  );
  filter:blur(7px);
  opacity:1;
  z-index:-1;
  pointer-events:none;
  animation:borderSpin 6s linear infinite;
}
.hotel-card:hover{
  transform:translateY(-6px) scale(1.005);
  box-shadow:0 20px 50px rgba(29,233,182,0.15), 0 4px 20px rgba(0,0,0,0.35);
}
.hotel-card:hover::before{
  background:conic-gradient(
    from var(--angle,0deg),
    rgba(29,233,182,0.15) 0%,
    rgba(29,233,182,0.15) 18%,
    rgba(29,233,182,0.90) 36%,
    rgba(255,255,255,1.00) 50%,
    rgba(29,233,182,0.90) 64%,
    rgba(29,233,182,0.15) 82%,
    rgba(29,233,182,0.15) 100%
  );
}
.hotel-card:hover::after{
  background:conic-gradient(
    from var(--angle,0deg),
    rgba(29,233,182,0)    0%,
    rgba(29,233,182,0)    35%,
    rgba(29,233,182,0.45) 50%,
    rgba(29,233,182,0)    65%,
    rgba(29,233,182,0)    100%
  );
  filter:blur(10px);
}
/* inner content wrapper so rounded corners clip correctly */
.hotel-card-inner{
  border-radius:14px;
  overflow:hidden;
  display:flex;flex-direction:column;
  flex:1;
  position:relative;
  z-index:2;
  background:#112e4c;
  border:1px solid rgba(29,233,182,0.12);
}
.hotel-img{
  width:100%;height:210px;display:flex;align-items:center;
  justify-content:center;font-size:2.4rem;
  position:relative;overflow:hidden;
  border-radius:14px 14px 0 0;
}
.hotel-img::before{
  content:'';position:absolute;left:0;right:0;bottom:0;height:55%;
  background:linear-gradient(to top,rgba(5,18,32,0.85),transparent);
  z-index:2;pointer-events:none;
}
.hotel-info-line{
  display:flex;gap:.6rem;flex-wrap:wrap;
  font-size:0.56rem;color:rgba(29,233,182,0.8);
  margin-bottom:.5rem;letter-spacing:0.5px;
}
.hotel-info-line span{display:flex;align-items:center;gap:4px;}
.hotel-img.h1{background:linear-gradient(135deg,#0e1e30,#142e20,#100e2a);}
.hotel-img.h2{background:linear-gradient(135deg,#1a1000,#2e1e00,#150e00);}
.hotel-img.h3{background:linear-gradient(135deg,#001428,#001e30,#001018);}
.hotel-img.h4{background:linear-gradient(135deg,#1a0010,#2e0020,#100010);}
.hotel-img.h5{background:linear-gradient(135deg,#0a1e10,#122e18,#081008);}
.hotel-img.h6{background:linear-gradient(135deg,#101020,#181828,#0c0c18);}
.hotel-img::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 50% 80%,rgba(29,233,182,0.1),transparent 65%);
}
/* hotel-stars moved to description body */
.hotel-body{padding:.65rem .8rem;flex:1;display:flex;flex-direction:column;text-align:left !important;direction:ltr;min-height:0;}
.hotel-city{
  font-size:0.56rem;letter-spacing:2px;text-transform:uppercase;
  color:var(--teal);font-family:'Raleway',sans-serif;font-weight:600;
  margin-bottom:.25rem;
}
.hotel-name{
  font-family:'Cinzel',serif;font-size:0.78rem;color:#fff;
  margin-bottom:.3rem;letter-spacing:.4px;
}
.hotel-desc{
  font-size:0.62rem;color:rgba(210,245,240,0.70);
  line-height:1.5;margin-bottom:.55rem;
  text-align:left !important;align-self:stretch;width:100%;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;height:2.79rem;
}
.hotel-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:.7rem;border-top:1px solid rgba(255,255,255,0.07);
}
.hotel-price{
  font-family:'Cinzel',serif;font-size:0.82rem;color:var(--teal);
}
.hotel-price small{
  font-family:'Raleway',sans-serif;font-size:0.58rem;
  color:rgba(210,245,240,0.45);
}
.hotel-btn{border-radius:8px;
  font-size:0.58rem;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--teal);background:rgba(29,233,182,0.07);
  border:1px solid rgba(29,233,182,0.25);
  padding:6px 12px;cursor:pointer;
  font-family:'Raleway',sans-serif;transition:all .3s;
}
.hotel-btn:hover{
  background:var(--teal);color:#000;
  border-color:var(--teal);
  box-shadow:0 0 14px rgba(29,233,182,0.35);
}
.hotel-amenities{
  display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.7rem;
}
.amenity{border-radius:8px;
  font-size:0.56rem;background:rgba(29,233,182,0.08);
  border:1px solid rgba(29,233,182,0.15);
  color:rgba(210,245,240,0.65);padding:2px 7px;
}

/* ── LANGUAGE SWITCHER ── */
.lang-switcher{position:relative;display:flex;align-items:center;margin-left:1.2rem;}
.lang-btn{border-radius:8px;
  background:transparent;
  border:1px solid rgba(29,233,182,0.3);
  color:var(--teal);
  font-family:'Raleway',sans-serif;
  font-size:0.68rem;letter-spacing:1.5px;
  padding:6px 12px 6px 10px;
  cursor:pointer;display:flex;align-items:center;gap:6px;
  transition:all .25s;
  white-space:nowrap;
}
.lang-btn:hover{background:rgba(29,233,182,0.1);}
.lang-btn .flag{font-size:1rem;line-height:1;}
.lang-btn .arrow{font-size:0.55rem;opacity:0.6;transition:transform .2s;}
.lang-btn.open .arrow{transform:rotate(180deg);}
.lang-dropdown{border-radius:14px;overflow:hidden;
  position:absolute;top:calc(100% + 8px);right:0;
  background:rgba(7,22,42,0.97);
  border:1px solid rgba(29,233,182,0.25);
  backdrop-filter:blur(16px);
  min-width:160px;
  opacity:0;visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .25s,transform .25s,visibility .25s;
  z-index:300;
}
.lang-dropdown.open{opacity:1;visibility:visible;transform:translateY(0);}
.lang-option{
  display:flex;align-items:center;gap:10px;
  padding:10px 16px;cursor:pointer;
  font-family:'Raleway',sans-serif;font-size:0.72rem;
  color:rgba(210,245,240,0.75);
  letter-spacing:1px;
  transition:background .2s,color .2s;
  border-bottom:1px solid rgba(255,255,255,0.04);
}
.lang-option:last-child{border-bottom:none;}
.lang-option:hover{background:rgba(29,233,182,0.1);color:var(--teal);}
.lang-option.active{color:var(--teal);background:rgba(29,233,182,0.06);}
.lang-option .flag{font-size:1.1rem;}
.lang-name{flex:1;}
.lang-native{font-size:0.62rem;opacity:0.5;margin-left:auto;}

/* ─── CURRENCY SWITCHER ─── */
.curr-switcher{position:relative;display:flex;align-items:center;}
.curr-btn{border-radius:8px;
  background:transparent;
  border:1px solid rgba(255,213,79,0.3);
  color:var(--gold);
  font-family:'Raleway',sans-serif;
  font-size:0.65rem;letter-spacing:1.5px;
  padding:6px 10px 6px 8px;
  cursor:pointer;display:flex;align-items:center;gap:5px;
  transition:all .25s;
  white-space:nowrap;
}
.curr-btn:hover{background:rgba(255,213,79,0.1);}
.curr-btn .curr-symbol{font-size:0.9rem;line-height:1;font-weight:600;}
.curr-btn .arrow{font-size:0.55rem;opacity:0.6;transition:transform .2s;}
.curr-btn.open .arrow{transform:rotate(180deg);}
.curr-dropdown{border-radius:14px;overflow:hidden;
  position:absolute;top:calc(100% + 8px);right:0;
  background:rgba(7,22,42,0.97);
  border:1px solid rgba(255,213,79,0.2);
  backdrop-filter:blur(16px);
  min-width:170px;
  opacity:0;visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .25s,transform .25s,visibility .25s;
  z-index:300;
}
.curr-dropdown.open{opacity:1;visibility:visible;transform:translateY(0);}
.curr-option{
  display:flex;align-items:center;gap:10px;
  padding:9px 14px;cursor:pointer;
  font-family:'Raleway',sans-serif;font-size:0.7rem;
  color:rgba(210,245,240,0.75);
  letter-spacing:1px;
  transition:background .2s,color .2s;
  border-bottom:1px solid rgba(255,255,255,0.04);
}
.curr-option:last-child{border-bottom:none;}
.curr-option:hover{background:rgba(255,213,79,0.1);color:var(--gold);}
.curr-option.active{color:var(--gold);background:rgba(255,213,79,0.06);}
.curr-option .curr-sym{font-size:1rem;font-weight:700;min-width:18px;text-align:center;}
.curr-name{flex:1;}
.curr-code{font-size:0.6rem;opacity:0.5;margin-left:auto;}

/* ═══════════════════════════════════════════════════════════
   LIVE CHAT WIDGET
═══════════════════════════════════════════════════════════ */
#chatWidget{
  position:fixed; bottom:2rem; right:2rem;
  z-index:1400; font-family:'Raleway',sans-serif;
}

/* Floating button */
#chatToggleBtn{
  width:58px;height:58px;border-radius:16px;
  background:var(--teal);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(29,233,182,0.5);
  transition:transform .25s,box-shadow .25s;
  position:relative;
}
#chatToggleBtn:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(29,233,182,0.7);}
#chatToggleBtn svg{width:26px;height:26px;fill:#000;}
.chat-notif-dot{
  position:absolute;top:2px;right:2px;
  width:12px;height:12px;border-radius:50%;
  background:#ff4444;border:2px solid #0c2340;
  animation:pulseDot 1.5s infinite;
}
@keyframes pulseDot{0%,100%{transform:scale(1);}50%{transform:scale(1.3);}}

/* Chat window */
#chatWindow{
  position:absolute;bottom:70px;right:0;
  width:340px;background:#0d2440;
  border:1px solid rgba(29,233,182,0.25);
  border-radius:16px 16px 4px 16px;
  box-shadow:0 8px 40px rgba(0,0,0,0.6);
  display:none;flex-direction:column;overflow:hidden;
  opacity:0;transform:translateY(12px) scale(0.97);
  transition:opacity .3s,transform .3s;
}
#chatWindow.open{opacity:1;transform:translateY(0) scale(1);}

/* Header */
.chat-header{
  background:linear-gradient(135deg,#0a1e35,#0c2844);
  border-bottom:1px solid rgba(29,233,182,0.2);
  padding:14px 16px;display:flex;align-items:center;justify-content:space-between;
}
.chat-header-left{display:flex;align-items:center;gap:10px;}
.chat-avatar{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,var(--teal),#00bcd4);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;flex-shrink:0;
}
.chat-title{font-family:'Cinzel',serif;font-size:0.82rem;color:#fff;letter-spacing:1px;}
.chat-subtitle{font-size:0.62rem;color:rgba(29,233,182,0.7);margin-top:2px;}
.chat-online{display:flex;align-items:center;gap:4px;font-size:0.6rem;color:rgba(29,233,182,0.8);}
.chat-online-dot{width:7px;height:7px;border-radius:50%;background:#4cff91;animation:pulseDot 2s infinite;}
.chat-close-btn{
  background:none;border:none;cursor:pointer;
  color:rgba(224,247,245,0.5);font-size:1.1rem;line-height:1;
  padding:2px 4px;transition:color .2s;
}
.chat-close-btn:hover{color:var(--teal);}

/* Tab switcher */
.chat-tabs{
  display:flex;border-bottom:1px solid rgba(255,255,255,0.06);
}
.chat-tab{
  flex:1;padding:9px 0;font-size:0.65rem;letter-spacing:1.5px;
  text-transform:uppercase;font-family:'Raleway',sans-serif;
  background:none;border:none;cursor:pointer;
  color:rgba(224,247,245,0.45);transition:all .2s;
  border-bottom:2px solid transparent;
}
.chat-tab.active{color:var(--teal);border-bottom-color:var(--teal);}
.chat-tab:hover{color:rgba(224,247,245,0.75);}

/* Messages area */
.chat-messages{
  height:260px;overflow-y:auto;padding:14px 12px;
  display:flex;flex-direction:column;gap:10px;
  scrollbar-width:thin;scrollbar-color:rgba(29,233,182,0.3) transparent;
}
.chat-messages::-webkit-scrollbar{width:4px;}
.chat-messages::-webkit-scrollbar-thumb{background:rgba(29,233,182,0.3);border-radius:2px;}

.chat-msg{display:flex;gap:8px;align-items:flex-end;}
.chat-msg.user{flex-direction:row-reverse;}

.chat-msg-avatar{
  width:26px;height:26px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--teal),#00bcd4);
  display:flex;align-items:center;justify-content:center;
  font-size:0.7rem;
}
.chat-msg.user .chat-msg-avatar{background:linear-gradient(135deg,#2196f3,#0d47a1);}

.chat-bubble{
  max-width:72%;padding:9px 13px;border-radius:14px 14px 14px 3px;
  font-size:0.78rem;line-height:1.55;color:rgba(224,247,245,0.9);
  background:rgba(255,255,255,0.07);
}
.chat-msg.user .chat-bubble{
  background:linear-gradient(135deg,rgba(29,233,182,0.18),rgba(0,188,212,0.15));
  border-radius:14px 14px 3px 14px;
  border:1px solid rgba(29,233,182,0.2);
}
.chat-time{font-size:0.55rem;color:rgba(224,247,245,0.3);margin-top:3px;display:block;}

/* Quick replies */
.chat-quick-replies{
  display:flex;flex-wrap:wrap;gap:6px;
  padding:8px 12px;border-top:1px solid rgba(255,255,255,0.04);
}
.quick-reply{
  background:rgba(29,233,182,0.08);
  border:1px solid rgba(29,233,182,0.2);
  color:rgba(29,233,182,0.85);
  font-size:0.65rem;letter-spacing:.5px;
  padding:5px 10px;cursor:pointer;border-radius:12px;
  font-family:'Raleway',sans-serif;transition:all .2s;
}
.quick-reply:hover{background:rgba(29,233,182,0.18);color:var(--teal);}

/* Input bar */
.chat-input-area{
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;border-top:1px solid rgba(255,255,255,0.06);
}
#chatInput{
  flex:1;background:rgba(255,255,255,0.06);
  border:1px solid rgba(29,233,182,0.2);
  color:#fff;padding:8px 12px;font-size:0.78rem;
  font-family:'Raleway',sans-serif;border-radius:20px;outline:none;
  transition:border-color .2s;
}
#chatInput::placeholder{color:rgba(224,247,245,0.3);}
#chatInput:focus{border-color:rgba(29,233,182,0.5);}
.chat-send-btn{
  width:36px;height:36px;border-radius:50%;background:var(--teal);
  border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s;flex-shrink:0;
}
.chat-send-btn:hover{background:var(--teal2);transform:scale(1.05);}
.chat-send-btn svg{width:16px;height:16px;fill:#000;}

/* WhatsApp panel */
.chat-whatsapp-panel{
  padding:20px 16px;text-align:center;
  display:none;flex-direction:column;align-items:center;gap:14px;
}
.wa-avatar{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,#25d366,#128c7e);
  display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;box-shadow:0 4px 16px rgba(37,211,102,0.4);
}
.wa-name{font-family:'Cinzel',serif;font-size:0.9rem;color:#fff;letter-spacing:1px;}
.wa-desc{font-size:0.72rem;color:rgba(224,247,245,0.55);line-height:1.7;max-width:240px;}
.wa-online{display:flex;align-items:center;justify-content:center;gap:5px;font-size:0.65rem;color:#4cff91;}
.wa-btn{
  background:linear-gradient(135deg,#25d366,#128c7e);
  border:none;color:#fff;padding:12px 28px;border-radius:24px;
  font-size:0.78rem;letter-spacing:1.5px;text-transform:uppercase;
  cursor:pointer;font-family:'Raleway',sans-serif;font-weight:600;
  display:flex;align-items:center;gap:8px;
  box-shadow:0 4px 16px rgba(37,211,102,0.35);
  transition:all .25s;text-decoration:none;
}
.wa-btn:hover{transform:translateY(-2px);box-shadow:0 6px 22px rgba(37,211,102,0.5);}
.wa-separator{
  width:100%;display:flex;align-items:center;gap:8px;
  font-size:0.6rem;color:rgba(224,247,245,0.3);letter-spacing:2px;text-transform:uppercase;
}
.wa-separator::before,.wa-separator::after{
  content:'';flex:1;height:1px;background:rgba(255,255,255,0.06);
}

/* Typing indicator */
.chat-typing{display:none;align-items:center;gap:4px;padding:4px 8px;}
.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);opacity:0.5;
  animation:typingBounce .9s infinite;}
.typing-dot:nth-child(2){animation-delay:.15s;}
.typing-dot:nth-child(3){animation-delay:.3s;}
@keyframes typingBounce{0%,60%,100%{transform:translateY(0);}30%{transform:translateY(-6px);}}

/* ── ESPINAS PALACE SLIDER ── */
.esp-slider{
  position:relative;height:210px;overflow:hidden;
  background:#071a30;border-radius:18px 18px 0 0;
}
.esp-slide{
  position:absolute;inset:0;opacity:0;
  transition:opacity .7s ease;
}
.esp-slide.active{opacity:1;z-index:1;}
.esp-slide img{
  width:100%;height:100%;object-fit:cover;
  display:block;
}
.esp-caption{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(2,12,24,.88),transparent);
  color:rgba(224,247,244,.92);
  font-family:'Raleway',sans-serif;
  font-size:.65rem;letter-spacing:1.5px;
  padding:18px 12px 7px;
  text-transform:uppercase;
}
.esp-prev,.esp-next{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(2,12,24,.55);border:1px solid rgba(29,233,182,.3);
  color:rgba(29,233,182,.9);font-size:1.4rem;line-height:1;
  width:32px;height:32px;cursor:pointer;z-index:2;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;border-radius:50%;
  padding:0;
}
.esp-prev{left:8px;}
.esp-next{right:8px;}
.esp-prev:hover,.esp-next:hover{
  background:rgba(29,233,182,.18);
  border-color:var(--teal);
}
.esp-dots{
  position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  display:flex;gap:5px;z-index:2;
}
.esp-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.35);cursor:pointer;
  transition:all .25s;border:none;padding:0;
}
.esp-dot.active{background:var(--teal);transform:scale(1.3);}

/* ── AZADI HOTEL SLIDER ── */
.az-slider{position:relative;height:215px;overflow:hidden;background:#071a30;border-radius:18px 18px 0 0;}
.az-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;}
.az-slide.active{opacity:1;z-index:1;}
.az-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.az-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(2,12,24,.88),transparent);color:rgba(224,247,244,.92);font-family:'Raleway',sans-serif;font-size:.65rem;letter-spacing:1.5px;padding:18px 12px 7px;text-transform:uppercase;}
.az-prev,.az-next{border-radius:50%;position:absolute;top:50%;transform:translateY(-50%);background:rgba(2,12,24,.55);border:1px solid rgba(29,233,182,.3);color:rgba(29,233,182,.9);font-size:1.4rem;line-height:1;width:32px;height:32px;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.az-prev{left:8px;}.az-next{right:8px;}
.az-prev:hover,.az-next:hover{background:rgba(29,233,182,.18);border-color:var(--teal);}
.az-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:2;}
.az-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer;transition:all .25s;border:none;padding:0;}
.az-dot.active{background:var(--teal);transform:scale(1.3);}

/* ── ABBASI HOTEL SLIDER ── */
.ab-slider{position:relative;height:215px;overflow:hidden;background:#0e1e30;border-radius:18px 18px 0 0;}
.ab-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;}
.ab-slide.active{opacity:1;z-index:1;}
.ab-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.ab-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(2,12,24,.88),transparent);color:rgba(224,247,244,.92);font-family:'Raleway',sans-serif;font-size:.65rem;letter-spacing:1.5px;padding:18px 12px 7px;text-transform:uppercase;}
.ab-prev,.ab-next{border-radius:50%;position:absolute;top:50%;transform:translateY(-50%);background:rgba(2,12,24,.55);border:1px solid rgba(29,233,182,.3);color:rgba(29,233,182,.9);font-size:1.4rem;line-height:1;width:32px;height:32px;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.ab-prev{left:8px;}.ab-next{right:8px;}
.ab-prev:hover,.ab-next:hover{background:rgba(29,233,182,.18);border-color:var(--teal);}
.ab-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:2;}
.ab-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer;transition:all .25s;border:none;padding:0;}
.ab-dot.active{background:var(--teal);transform:scale(1.3);}

/* ═══════════════════════════════════════════════════════
   DATE PICKER WIDGET — below the 4 service cards
═══════════════════════════════════════════════════════ */
#datePickerWidget{
  position:absolute;
  bottom:2.28rem;
  left:50%;
  transform:translateX(-50%);
  z-index:50;
  display:none;
  opacity:0;
  transition:opacity .4s, transform .4s;
  transform:translateX(-50%) translateY(10px);
  white-space:nowrap;
}
#datePickerWidget.visible{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

.dp-wrap{
  background:rgba(5,18,35,0.92);
  backdrop-filter:blur(20px);
  border:1px solid rgba(29,233,182,0.22);
  border-radius:12px;
  box-shadow:0 8px 40px rgba(0,0,0,0.55), 0 0 0 1px rgba(29,233,182,0.06);
  display:flex;
  align-items:stretch;
  gap:0;
  overflow:visible;
  position:relative;
}

/* City label */
.dp-city{
  display:flex;align-items:center;gap:12px;
  padding:14px 26px;
  border-right:1px solid rgba(29,233,182,0.12);
  min-width:170px;
}
.dp-city-icon{font-size:1.1rem;}
.dp-city-info{display:flex;flex-direction:column;}
.dp-city-label{
  font-size:0.56rem;letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(29,233,182,0.6);font-family:'Raleway',sans-serif;
  margin-bottom:2px;
}
.dp-city-name{
  font-family:'Cinzel',serif;font-size:1.05rem;
  color:#fff;letter-spacing:2.4px;font-weight:700;
  text-shadow:0 0 14px rgba(29,233,182,0.3);
}

/* Date fields */
.dp-field{
  display:flex;align-items:center;gap:12px;
  padding:14px 26px;
  border-right:1px solid rgba(29,233,182,0.12);
  cursor:pointer;
  transition:background .2s;
  position:relative;
}
.dp-field:hover{background:rgba(29,233,182,0.05);}
.dp-field-icon{
  font-size:1rem;color:rgba(29,233,182,0.7);
  flex-shrink:0;
}
.dp-field-info{display:flex;flex-direction:column;}
.dp-field-label{
  font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;
  color:rgba(29,233,182,0.7);font-family:'Raleway',sans-serif;
  margin-bottom:4px;font-weight:500;
}
.dp-field-value{
  font-family:'Cinzel',serif;font-size:0.95rem;
  color:#fff;font-weight:600;letter-spacing:1.6px;
  min-width:120px;
}
.dp-field-value.placeholder{color:rgba(255,255,255,0.35);}

/* Nights badge */
.dp-nights{
  display:flex;align-items:center;
  padding:0 16px;
  border-right:1px solid rgba(29,233,182,0.12);
}
.dp-nights-badge{border-radius:8px;
  background:rgba(29,233,182,0.12);
  border:1px solid rgba(29,233,182,0.25);
  color:var(--teal);
  font-family:'Raleway',sans-serif;
  font-size:0.65rem;letter-spacing:1px;
  padding:4px 10px;
  white-space:nowrap;
}

/* Search button */
.dp-search{
  background:var(--teal);border:none;
  border-radius:0 12px 12px 0;
  color:#000;font-family:'Cinzel',serif;
  font-size:0.72rem;letter-spacing:2.5px;text-transform:uppercase;
  padding:0 32px;cursor:pointer;
  transition:all .25s;
  display:flex;align-items:center;gap:8px;
  font-weight:800;min-height:58px;
}
.dp-search:hover{
  background:#1de9b6;
  box-shadow:0 0 20px rgba(29,233,182,0.4);
}

/* ── CALENDAR POPUP ── */
.dp-calendar{
  position:absolute;
  bottom:calc(100% + 8px);
  top:auto;
  left:0;
  border-radius:14px;overflow:hidden;
  background:rgba(5,18,35,0.97);
  backdrop-filter:blur(20px);
  border:1px solid rgba(29,233,182,0.25);
  box-shadow:0 12px 48px rgba(0,0,0,0.7);
  padding:16px;
  z-index:9999;
  display:none;
  min-width:300px;
  animation:calFadeIn .2s ease;
}
.dp-calendar.open{display:block;}
@keyframes calFadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

.cal-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;
}
.cal-nav{border-radius:50%;
  background:none;border:1px solid rgba(29,233,182,0.2);
  color:var(--teal);width:28px;height:28px;cursor:pointer;
  font-size:1rem;display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.cal-nav:hover{background:rgba(29,233,182,0.1);}
.cal-month-year{
  font-family:'Cinzel',serif;font-size:0.82rem;
  color:#fff;letter-spacing:1.5px;
}
.cal-grid{
  display:grid;grid-template-columns:repeat(7,1fr);gap:2px;
}
.cal-day-name{
  font-size:0.58rem;color:rgba(29,233,182,0.55);
  text-align:center;padding:4px 0;
  font-family:'Raleway',sans-serif;letter-spacing:1px;
  text-transform:uppercase;
}
.cal-day{
  font-size:0.72rem;text-align:center;padding:7px 2px;
  cursor:pointer;font-family:'Raleway',sans-serif;
  color:rgba(224,247,244,.7);
  transition:all .15s;border-radius:8px;
  position:relative;
}
.cal-day:hover{background:rgba(29,233,182,.12);color:#fff;}
.cal-day.other-month{color:rgba(224,247,244,.2);cursor:default;}
.cal-day.other-month:hover{background:none;}
.cal-day.today{color:var(--teal);font-weight:600;}
.cal-day.selected{
  background:var(--teal);color:#000;font-weight:700;
  border-radius:8px;
}
.cal-day.in-range{
  background:rgba(29,233,182,.15);color:#fff;
}
.cal-day.range-start{
  background:var(--teal);color:#000;font-weight:700;
  border-radius:8px 0 0 8px;
}
.cal-day.range-end{
  background:var(--teal);color:#000;font-weight:700;
  border-radius:0 8px 8px 0;
}
.cal-day.past{color:rgba(224,247,244,.2);cursor:default;}
.cal-day.past:hover{background:none;}
.cal-footer{
  display:flex;justify-content:flex-end;gap:8px;
  margin-top:12px;padding-top:10px;
  border-top:1px solid rgba(29,233,182,0.1);
}
.cal-clear{border-radius:6px;
  background:none;border:1px solid rgba(255,255,255,.1);
  color:rgba(224,247,244,.5);font-size:0.62rem;letter-spacing:1px;
  padding:5px 12px;cursor:pointer;font-family:'Raleway',sans-serif;
  transition:all .2s;
}
.cal-clear:hover{border-color:rgba(255,255,255,.3);color:#fff;}

/* ── City Search Input ── */
.dp-city-search{cursor:default;position:relative;border-radius:12px 0 0 12px;}
.dp-city-input{
  background:transparent;border:none;outline:none;
  font-family:'Raleway',sans-serif;font-size:0.85rem;
  color:#fff;letter-spacing:.5px;
  width:160px;padding:0;
  caret-color:var(--teal);
}
.dp-city-input::placeholder{color:rgba(255,255,255,0.32);font-size:0.78rem;}
.dp-city-input:focus::placeholder{color:rgba(255,255,255,0.18);}

.dp-suggestions{border-radius:14px;
  position:absolute;
  bottom:calc(100% + 4px);
  left:0;
  background:rgba(5,18,35,0.97);
  backdrop-filter:blur(20px);
  border:1px solid rgba(29,233,182,0.25);
  box-shadow:0 -8px 32px rgba(0,0,0,0.6);
  min-width:220px;
  max-height:320px;
  z-index:9999;
  display:none;
  overflow-y:auto;
}
.dp-suggestions.open{display:block;}
.dp-sug-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;cursor:pointer;
  font-family:'Raleway',sans-serif;font-size:0.75rem;
  color:rgba(210,245,240,0.8);letter-spacing:.5px;
  transition:background .15s;
  border-bottom:1px solid rgba(255,255,255,0.04);
}
.dp-sug-item:last-child{border-bottom:none;}
.dp-sug-item:hover{background:rgba(29,233,182,0.1);color:#fff;}
.dp-sug-icon{font-size:0.9rem;flex-shrink:0;}
.dp-sug-name{font-weight:500;}
.dp-sug-sub{font-size:0.62rem;color:rgba(29,233,182,0.55);margin-left:auto;letter-spacing:1px;}

/* ── GUESTS PANEL ── */
.dp-guests-field{position:relative;cursor:pointer;}

.dp-guests-panel{border-radius:14px;overflow:hidden;
  position:absolute;
  bottom:calc(100% + 8px);
  right:0;left:auto;
  background:rgba(5,18,35,0.97);
  backdrop-filter:blur(20px);
  border:1px solid rgba(29,233,182,0.25);
  box-shadow:0 -12px 40px rgba(0,0,0,0.65);
  padding:6px 0;
  z-index:9999;
  display:none;
  min-width:260px;
  animation:calFadeIn .2s ease;
}
.dp-guests-panel.open{display:block;}

.dp-guest-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 18px;
  border-bottom:1px solid rgba(255,255,255,0.05);
}
.dp-guest-info{display:flex;flex-direction:column;gap:3px;}
.dp-guest-title{
  font-family:'Raleway',sans-serif;font-size:0.8rem;
  color:#fff;font-weight:500;letter-spacing:.5px;
}
.dp-guest-sub{
  font-family:'Raleway',sans-serif;font-size:0.6rem;
  color:rgba(29,233,182,0.55);letter-spacing:1px;
}
.dp-guest-counter{display:flex;align-items:center;gap:14px;}
.dp-cnt-btn{border-radius:50%;
  background:rgba(29,233,182,0.08);
  border:1px solid rgba(29,233,182,0.28);
  color:var(--teal);
  width:28px;height:28px;
  font-size:1.1rem;line-height:1;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;
  font-family:'Raleway',sans-serif;
}
.dp-cnt-btn:hover{background:rgba(29,233,182,0.2);border-color:var(--teal);}
.dp-cnt-btn:disabled{opacity:0.25;cursor:default;}
.dp-cnt-val{
  font-family:'Cinzel',serif;font-size:1rem;
  color:#fff;font-weight:600;
  min-width:18px;text-align:center;
}
.dp-guests-done{
  width:100%;background:rgba(29,233,182,0.1);
  border:none;border-top:1px solid rgba(29,233,182,0.15);
  color:var(--teal);font-family:'Raleway',sans-serif;
  font-size:0.7rem;letter-spacing:2px;text-transform:uppercase;
  padding:11px 0;cursor:pointer;
  transition:background .2s;font-weight:600;
}
.dp-guests-done:hover{background:rgba(29,233,182,0.18);}

/* ── Hotel Stars ── */



/* ── Hotel Stars Badge (in description) ── */
.hotel-stars-badge{
  margin-bottom:.6rem;
}
.hs-stars{
  color:#FFD600;
  font-size:0.84rem;
  letter-spacing:1.5px;
  text-shadow:0 0 8px rgba(255,214,0,0.5);
}

/* ══════════════════════════════════════════════════════
   TOURS DETAIL PAGE
══════════════════════════════════════════════════════ */
#toursPage{
  position:fixed;inset:0;z-index:1100;
  background:#0c2340;display:none;
  flex-direction:column;overflow-y:auto;
  opacity:0;transition:opacity 0.4s;
}
#toursPage.open{opacity:1;}

/* Tour header */
.tp-header{
  position:sticky;top:0;z-index:10;
  background:rgba(8,30,58,0.96);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(29,233,182,0.2);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 3rem;height:64px;
}
.tp-back{border-radius:8px;
  background:transparent;border:1px solid rgba(29,233,182,0.35);
  color:var(--teal);font-family:'Raleway',sans-serif;
  font-size:0.66rem;letter-spacing:2px;text-transform:uppercase;
  padding:7px 16px;cursor:pointer;transition:all .25s;
  display:flex;align-items:center;gap:7px;
}
.tp-back:hover{background:rgba(29,233,182,0.12);}
.tp-header-title{font-family:'Cinzel',serif;font-size:1.05rem;color:var(--teal);letter-spacing:2px;}

/* Tour tabs (6 tours) */
.tp-tabs{
  display:flex;flex-wrap:wrap;border-bottom:1px solid rgba(29,233,182,0.12);
  background:rgba(5,18,35,0.6);
}
.tp-tab{
  flex:1 1 150px;padding:14px 0;font-size:0.65rem;letter-spacing:2px;
  text-transform:uppercase;font-family:'Raleway',sans-serif;
  background:none;border:none;cursor:pointer;
  color:rgba(224,247,244,0.4);transition:all .2s;
  border-bottom:2px solid transparent;
}
.tp-tab.active{color:var(--teal);border-bottom-color:var(--teal);background:rgba(29,233,182,0.04);}
.tp-tab:hover{color:rgba(224,247,244,0.75);}
.tp-tab-viewall{color:var(--gold);opacity:.85;}
.tp-tab-viewall:hover{color:var(--gold);opacity:1;background:rgba(255,213,79,0.06);}

/* ── Shared tour route map ── */
.tp-route-map-section{padding:3rem 2.5% 4rem;border-top:1px solid rgba(29,233,182,0.1);background:rgba(5,18,35,0.4);}
.tp-route-map-title{font-family:'Cinzel',serif;font-size:1rem;letter-spacing:2px;color:#e2f8f5;text-align:center;margin-bottom:.4rem;}
.tp-route-map-title span{color:var(--teal);margin-right:.4rem;}
.tp-route-map-sub{text-align:center;font-size:0.78rem;color:rgba(224,247,244,0.5);margin-bottom:1.8rem;}
.tp-route-map-wrap{max-width:640px;margin:0 auto;}
.tp-route-flex{display:flex;gap:2.5rem;max-width:1100px;margin:0 auto;align-items:center;}
.tp-route-flex .tp-route-map-wrap{flex:1 1 580px;margin:0;}
.tp-route-legs-panel{flex:1 1 320px;min-width:260px;max-width:360px;position:relative;min-height:220px;}
.tp-route-leg{
  position:absolute;top:0;left:0;width:100%;
  opacity:0;transform:translateY(8px);
  padding:1.1rem 1.3rem;border-radius:12px;
  background:rgba(29,233,182,0.05);border:1px solid rgba(29,233,182,0.15);
  transition:opacity .6s ease, transform .6s ease;
  pointer-events:none;
}
.tp-route-leg.active{opacity:1;transform:translateY(0);pointer-events:auto;}
.tp-route-leg-cities{font-family:'Cinzel',serif;font-size:0.85rem;color:var(--teal);letter-spacing:1px;margin-bottom:.5rem;}
.tp-route-leg-cities .arrow{color:rgba(255,213,79,0.8);margin:0 .4rem;}
.tp-route-leg-text{font-size:0.82rem;line-height:1.65;color:rgba(224,247,244,0.75);}
@media(max-width:900px){
  .tp-route-flex{flex-direction:column;}
  .tp-route-flex .tp-route-map-wrap{flex:none;width:100%;}
  .tp-route-legs-panel{width:100%;max-width:100%;}
}
.tp-route-svg{width:100%;height:auto;display:block;}
.tp-route-city-dot{filter:drop-shadow(0 0 4px rgba(29,233,182,0.7));}
.tp-route-city-label{font-family:'Raleway',sans-serif;font-weight:600;paint-order:stroke;stroke:#050f1c;stroke-width:4px;}
.tp-route-path{fill:none;stroke:rgba(29,233,182,0.35);stroke-width:2.5;stroke-dasharray:6 5;}
.tp-route-light{filter:drop-shadow(0 0 8px rgba(255,255,255,0.9)) drop-shadow(0 0 14px rgba(29,233,182,0.9));}
.tp-route-svg path[data-province]{cursor:pointer;transition:filter .2s;}
.tp-route-svg path[data-province]:hover{filter:brightness(1.6);}

/* Tour content area */
.tp-content{display:none;max-width:none;margin:0;padding:0 2.5% 4rem;text-align:left;}
.tp-content.active{display:block;}

/* Hero banner */
.tp-hero{
  padding:3rem 0 2rem;
  display:grid;grid-template-columns:1fr 490px;
  gap:4.5rem;align-items:start;
  border-bottom:1px solid rgba(29,233,182,0.1);
  margin-bottom:1.6rem;
}
.tp-img-placeholder{
  width:100%;height:378px;border-radius:16px;
  background:repeating-linear-gradient(45deg,rgba(29,233,182,0.07),rgba(29,233,182,0.07) 12px,rgba(29,233,182,0.025) 12px,rgba(29,233,182,0.025) 24px);
  border:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.7rem;color:rgba(29,233,182,0.55);text-align:center;
  position:relative;
}
.tp-img-gallery{
  width:100%;height:378px;border-radius:16px;overflow:hidden;
  position:relative;
}
.tp-gallery-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  opacity:0;transition:opacity 1.2s ease-in-out;
}
.tp-gallery-img.active{opacity:1;z-index:1;}
@media(max-width:768px){.tp-img-gallery{max-width:490px;margin:0 auto;}}
.tp-img-placeholder-icon{font-size:2.4rem;opacity:.6;}
.tp-img-placeholder-text{font-family:'Raleway',sans-serif;font-size:0.74rem;letter-spacing:1px;text-transform:uppercase;line-height:1.6;padding:0 1.2rem;}
/* ── animated neon border (matches hotel cards) ── */
.tp-img-placeholder::before{
  content:'';position:absolute;inset:-1px;border-radius:17px;padding:1px;
  background:conic-gradient(from var(--angle,0deg),transparent 20%,rgba(29,233,182,0.9) 40%,rgba(255,255,255,0.95) 50%,rgba(29,233,182,0.9) 60%,transparent 80%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:1;z-index:1;pointer-events:none;animation:borderSpin 9s linear infinite;
}
.tp-img-placeholder::after{
  content:'';position:absolute;inset:-1px;border-radius:17px;
  background:conic-gradient(from var(--angle,0deg),transparent 20%,rgba(29,233,182,0.35) 45%,rgba(29,233,182,0.5) 50%,rgba(29,233,182,0.35) 55%,transparent 80%);
  filter:blur(6px);opacity:1;z-index:-1;pointer-events:none;animation:borderSpin 9s linear infinite;
}
@media(max-width:768px){
  .tp-hero{grid-template-columns:1fr;}
  .tp-img-placeholder{max-width:490px;margin:0 auto;}
}
.tp-badge{border-radius:10px;
  display:inline-block;font-size:0.62rem;letter-spacing:2px;
  text-transform:uppercase;font-family:'Raleway',sans-serif;
  background:rgba(29,233,182,0.12);border:1px solid rgba(29,233,182,0.3);
  color:var(--teal);padding:4px 12px;margin-bottom:1rem;
}
.tp-title{
  font-family:'Cinzel',serif;font-size:clamp(2rem,3.8vw,3.1rem);
  color:#fff;letter-spacing:2px;margin-bottom:.4rem;line-height:1.2;
}
.tp-subtitle{
  font-family:'Raleway',sans-serif;font-size:1.05rem;
  color:rgba(29,233,182,0.7);letter-spacing:1px;margin-bottom:1.2rem;
}
.tp-meta{
  display:flex;flex-wrap:wrap;gap:1.2rem;margin-bottom:1.2rem;
}
.tp-meta-item{
  display:flex;align-items:center;gap:7px;
  font-family:'Raleway',sans-serif;font-size:0.9rem;
  color:rgba(224,247,244,0.7);
}
.tp-meta-item svg{width:16px;height:16px;stroke:var(--teal);flex-shrink:0;}
.tp-overview{
  font-family:'Raleway',sans-serif;font-size:1.12rem;
  color:rgba(210,245,240,0.75);line-height:1.9;max-width:900px;
}

/* Price box */
/* ── Booking Card (horizontal, sits at the end of the description) ── */
.tp-price-box{
  border-radius:14px;
  background:linear-gradient(160deg,#112e4c,#0c2340);
  border:none;
  padding:0;width:100%;max-width:100%;
  display:flex;flex-wrap:wrap;align-items:stretch;
  position:relative;
  overflow:hidden;
  box-shadow:0 6px 28px rgba(0,0,0,0.35);
  margin-top:0;margin-bottom:2rem;
}
/* ── animated neon border (matches hotel cards) ── */
.tp-price-box::before{
  content:'';position:absolute;inset:0;border-radius:14px;padding:1px;
  background:conic-gradient(from var(--angle,0deg),transparent 20%,rgba(29,233,182,0.9) 40%,rgba(255,255,255,0.95) 50%,rgba(29,233,182,0.9) 60%,transparent 80%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:1;z-index:5;pointer-events:none;animation:borderSpin 9s linear infinite;
}
.tp-price-box::after{
  content:'';position:absolute;inset:0;border-radius:14px;
  background:conic-gradient(from var(--angle,0deg),transparent 20%,rgba(29,233,182,0.35) 45%,rgba(29,233,182,0.5) 50%,rgba(29,233,182,0.35) 55%,transparent 80%);
  filter:blur(6px);opacity:.7;z-index:-1;pointer-events:none;animation:borderSpin 9s linear infinite;
}
.tp-book-from{
  background:rgba(29,233,182,0.07);border-right:1px solid rgba(29,233,182,0.15);
  padding:.9rem 1.3rem;display:flex;align-items:center;justify-content:center;gap:.9rem;
  flex-direction:row;min-width:160px;
  position:relative;z-index:2;
}
.tp-price-label{font-size:0.58rem;letter-spacing:2px;text-transform:uppercase;color:rgba(29,233,182,0.6);font-family:'Raleway',sans-serif;}
.tp-price-val{font-family:'Cinzel',serif;font-size:1.65rem;color:var(--teal);line-height:1;}
.tp-price-per{font-size:0.6rem;color:rgba(224,247,244,0.4);font-family:'Raleway',sans-serif;margin-top:.1rem;}
.tp-book-inner{padding:.9rem 1.2rem;display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;flex:1;min-width:240px;position:relative;z-index:2;}
.tp-book-field{margin-bottom:0;min-width:130px;}
.tp-book-field label{display:block;font-size:0.6rem;letter-spacing:1.5px;text-transform:uppercase;color:rgba(29,233,182,0.7);font-family:'Raleway',sans-serif;margin-bottom:.32rem;}
.tp-book-field input,.tp-book-field select{
  width:100%;background:rgba(2,13,24,0.7);border:1px solid rgba(29,233,182,0.22);
  border-radius:8px;padding:8px 11px;color:#fff;font-size:0.8rem;
  font-family:'Raleway',sans-serif;outline:none;transition:border-color .2s;
  -webkit-appearance:none;box-sizing:border-box;
}
.tp-book-field input:focus,.tp-book-field select:focus{border-color:var(--teal);}
.tp-book-field select option{background:#0c2340;}
.tp-book-row{display:flex;gap:.6rem;}
.tp-book-row .tp-book-field{min-width:80px;}
.tp-book-divider{display:none;}
.tp-book-breakdown{font-size:0.7rem;color:rgba(224,247,244,0.6);font-family:'Raleway',sans-serif;margin-bottom:0;min-width:170px;border-left:1px solid rgba(29,233,182,0.12);padding-left:1.1rem;}
.tp-book-breakdown-row{display:flex;justify-content:space-between;gap:.8rem;padding:.16rem 0;}
.tp-book-breakdown-row.total{color:#fff;font-weight:600;font-size:0.82rem;border-top:1px solid rgba(29,233,182,0.15);padding-top:.35rem;margin-top:.1rem;}
.tp-book-breakdown-row.total span:last-child{color:var(--teal);font-family:'Cinzel',serif;}
.tp-book-btn{
  border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:var(--teal);border:none;white-space:nowrap;
  color:#000;font-family:'Cinzel',serif;font-size:0.76rem;
  letter-spacing:1.5px;text-transform:uppercase;padding:11px 22px;
  cursor:pointer;font-weight:700;transition:all .25s;
}
.tp-book-btn:hover{background:#1de9b6;box-shadow:0 0 22px rgba(29,233,182,0.45);}
.tp-book-wa{
  display:flex;align-items:center;justify-content:center;gap:7px;
  margin-top:0;font-size:0.66rem;color:rgba(224,247,244,0.45);
  font-family:'Raleway',sans-serif;cursor:pointer;
  padding:.45rem .8rem;border-radius:7px;border:1px solid rgba(255,255,255,0.06);
  transition:all .2s;white-space:nowrap;
}
.tp-book-wa:hover{background:rgba(29,233,182,0.06);color:var(--teal);}
.tp-book-trust{display:flex;flex-wrap:wrap;gap:.4rem 1rem;padding:.7rem 1.3rem;border-top:1px solid rgba(29,233,182,0.1);width:100%;justify-content:center;position:relative;z-index:2;}
.tp-trust-badge{font-size:0.6rem;color:rgba(224,247,244,0.5);display:flex;align-items:center;gap:5px;font-family:'Raleway',sans-serif;}
.tp-trust-badge span{color:var(--teal);}
.tp-difficulty{display:none;}

@media(max-width:900px){
  .tp-price-box{flex-direction:column;}
  .tp-book-from{border-right:none;border-bottom:1px solid rgba(29,233,182,0.15);justify-content:flex-start;}
  .tp-book-inner{flex-direction:column;align-items:stretch;}
  .tp-book-row{flex-direction:row;}
  .tp-book-breakdown{border-left:none;border-top:1px solid rgba(29,233,182,0.12);padding-left:0;padding-top:1rem;}
  .tp-book-btn{width:100%;}
  .tp-book-wa{width:100%;}
}

/* Single-column body: booking card sits at the end of the description */
.tp-body{display:grid;grid-template-columns:1fr;gap:1rem;}
@media(max-width:900px){.tp-body{grid-template-columns:1fr;}}

/* Sections */
.tp-section{margin-bottom:2.5rem;}
.tp-section-title{
  font-family:'Cinzel',serif;font-size:1.18rem;color:#fff;
  letter-spacing:2px;margin-bottom:1.2rem;padding-bottom:.7rem;
  border-bottom:1px solid rgba(29,233,182,0.15);
  display:flex;align-items:center;gap:10px;
}
.tp-section-title span{color:var(--teal);}

/* Highlights */
.tp-highlights li{
  font-family:'Raleway',sans-serif;font-size:0.95rem;
  color:rgba(210,245,240,0.8);line-height:1.7;
  padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,0.04);
  list-style:none;display:flex;gap:10px;align-items:flex-start;
}
.tp-highlights li::before{content:'✦';color:var(--teal);flex-shrink:0;font-size:0.6rem;margin-top:4px;}

/* Itinerary */
.tp-day{border-radius:14px;
  background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);
  margin-bottom:.6rem;overflow:hidden;
  transition:border-color .2s;
}
.tp-day:hover{border-color:rgba(29,233,182,0.2);}
.tp-day-header{
  display:flex;align-items:center;gap:12px;padding:.9rem 1.1rem;
  cursor:pointer;
}
.tp-day-num{
  font-family:'Cinzel',serif;font-size:0.8rem;color:var(--teal);
  letter-spacing:1.5px;flex-shrink:0;min-width:44px;
}
.tp-day-city{
  font-family:'Raleway',sans-serif;font-size:0.98rem;font-weight:600;
  color:#fff;flex:1;
}
.tp-day-arrow{color:rgba(29,233,182,0.5);font-size:0.7rem;transition:transform .2s;}
.tp-day.open .tp-day-arrow{transform:rotate(180deg);}
.tp-day-body{
  display:none;padding:0 1.1rem 1rem;
  font-family:'Raleway',sans-serif;font-size:0.93rem;
  color:rgba(210,245,240,0.7);line-height:1.8;
  border-top:1px solid rgba(255,255,255,0.04);padding-top:.8rem;
}
.tp-day.open .tp-day-body{display:block;}

/* Includes / Excludes */
.tp-inc-list{list-style:none;margin:0;padding:0;}
.tp-inc-list li{
  font-family:'Raleway',sans-serif;font-size:0.93rem;
  color:rgba(210,245,240,0.78);padding:.4rem 0;
  border-bottom:1px solid rgba(255,255,255,0.04);
  display:flex;gap:8px;align-items:center;
}
.tp-inc-list.includes li::before{content:'✓';color:#4cff91;flex-shrink:0;}
.tp-inc-list.excludes li::before{content:'✗';color:#ff6b6b;flex-shrink:0;}

/* Route path */
.tp-route{
  display:flex;align-items:center;flex-wrap:wrap;gap:0;
  margin:1rem 0;
}
.tp-route-city{border-radius:8px;
  font-family:'Cinzel',serif;font-size:0.85rem;color:#fff;letter-spacing:1px;
  background:rgba(29,233,182,0.1);border:1px solid rgba(29,233,182,0.25);
  padding:4px 12px;
}
.tp-route-arrow{color:var(--teal);font-size:0.92rem;padding:0 4px;}

/* ══════════════════════════════════════════════════════
   TOP BAR — social media & contact (above nav)
══════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════
   VISA DETAIL PAGE
══════════════════════════════════════════════════════ */
#visaPage{
  position:fixed;inset:0;z-index:1100;
  background:#0c2340;display:none;
  flex-direction:column;overflow-y:auto;
  opacity:0;transition:opacity 0.4s;
}
#visaPage.open{opacity:1;}

.legal-page{
  position:fixed;inset:0;z-index:1100;
  background:#0d1f3a;display:none;
  flex-direction:column;overflow-y:auto;
  opacity:0;transition:opacity 0.4s;
}
.legal-page.open{opacity:1;}
.legal-body{max-width:820px;margin:0 auto;padding:3rem 1.5rem 6rem;box-sizing:border-box;}
.legal-updated{font-size:0.72rem;color:rgba(226,248,245,0.4);letter-spacing:1px;margin-bottom:2.5rem;}
.legal-body h3{font-family:'Cinzel',serif;font-size:1.05rem;color:var(--teal);margin:2.4rem 0 1rem;letter-spacing:0.5px;}
.legal-body h3:first-of-type{margin-top:0;}
.legal-body p{font-size:0.85rem;line-height:1.85;color:rgba(226,248,245,0.72);margin-bottom:1rem;}
.legal-body ul{margin:0 0 1rem 1.3rem;padding:0;}
.legal-body li{font-size:0.85rem;line-height:1.85;color:rgba(226,248,245,0.72);margin-bottom:.5rem;}
.legal-body strong{color:#edfffe;}

/* ══════════════════════════════════════════════════════
   VISA PAGE — Premium Redesign
══════════════════════════════════════════════════════ */
#visaPage{background:#0d1f3a;min-height:100vh;}

.vp-header{
  position:sticky;top:0;z-index:10;
  background:rgba(6,15,30,0.94);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(29,233,182,0.2);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 3rem;height:68px;
}
.vp-back{
  border-radius:8px;background:transparent;
  border:1px solid rgba(29,233,182,0.35);
  color:var(--teal);font-family:'Raleway',sans-serif;
  font-size:0.66rem;letter-spacing:2px;text-transform:uppercase;
  padding:7px 16px;cursor:pointer;transition:all .25s;
  display:flex;align-items:center;gap:7px;
}
.vp-back:hover{background:rgba(29,233,182,0.12);box-shadow:0 0 12px rgba(29,233,182,0.2);}
.vp-header-title{
  font-family:'Cinzel',serif;font-size:1.15rem;
  color:var(--teal);letter-spacing:3px;font-weight:700;
  text-shadow:0 0 20px rgba(29,233,182,0.4);
}
.vp-body{max-width:100%;margin:0;padding:3rem 1cm 6rem;box-sizing:border-box;}

/* ── Stats ── */
.vp-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;
  margin-bottom:2.8rem;
}
@media(max-width:700px){.vp-stats{grid-template-columns:repeat(2,1fr);}}
.vp-stat{
  border-radius:16px;
  background:linear-gradient(145deg,rgba(10,22,42,0.9),rgba(6,15,30,0.95));
  border:1px solid rgba(29,233,182,0.15);
  padding:1.6rem 1rem;text-align:center;
  position:relative;overflow:hidden;transition:border-color .3s,transform .3s;
}
.vp-stat::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 50% 0%,rgba(29,233,182,0.07),transparent 70%);
  pointer-events:none;
}
.vp-stat:hover{border-color:rgba(29,233,182,0.35);transform:translateY(-2px);}
.vp-stat-val{
  font-family:'Cinzel',serif;font-size:2.4rem;
  background:linear-gradient(135deg,#7dfce0,var(--teal));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  display:block;margin-bottom:.5rem;font-weight:700;
  filter:drop-shadow(0 0 10px rgba(29,233,182,0.4));
}
.vp-stat-lbl{
  font-family:'Raleway',sans-serif;font-size:0.68rem;
  letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(224,247,244,0.55);font-weight:500;
}

/* ── Steps ── */
.vp-steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;
  margin-bottom:2rem;
}
@media(max-width:820px){.vp-steps{grid-template-columns:repeat(2,1fr);}}
.vp-step{
  border-radius:16px;
  background:linear-gradient(160deg,rgba(10,25,48,0.8),rgba(6,15,30,0.9));
  border:1px solid rgba(29,233,182,0.12);
  padding:1.6rem 1.2rem;text-align:center;
  position:relative;transition:border-color .3s,box-shadow .3s;
}
.vp-step:hover{
  border-color:rgba(29,233,182,0.3);
  box-shadow:0 8px 30px rgba(0,0,0,0.3),0 0 20px rgba(29,233,182,0.06);
}
.vp-step::after{
  content:'→';position:absolute;right:-20px;top:50%;transform:translateY(-50%);
  color:rgba(29,233,182,0.4);font-size:1.4rem;z-index:1;
}
.vp-step:last-child::after{display:none;}
.vp-step-num{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,rgba(29,233,182,0.15),rgba(29,233,182,0.05));
  border:1.5px solid rgba(29,233,182,0.4);
  color:var(--teal);font-family:'Cinzel',serif;font-size:1.1rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.1rem;
  box-shadow:0 0 16px rgba(29,233,182,0.2),inset 0 0 10px rgba(29,233,182,0.06);
}
.vp-step-title{
  font-family:'Cinzel',serif;font-size:0.88rem;color:#fff;
  letter-spacing:1.5px;margin-bottom:.7rem;font-weight:600;
}
.vp-step-desc{
  font-family:'Raleway',sans-serif;font-size:0.77rem;
  color:rgba(224,247,244,0.62);line-height:1.75;
}

/* ── Two-col layout ── */
.vp-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;}
@media(max-width:768px){.vp-grid{grid-template-columns:1fr;}}

/* ── Section titles ── */
.vp-section{margin-bottom:2rem;}
.vp-section-title{
  font-family:'Cinzel',serif;font-size:1.1rem;color:#fff;
  letter-spacing:2.5px;margin-bottom:1.4rem;
  padding-bottom:.8rem;
  border-bottom:1px solid rgba(29,233,182,0.15);
  display:flex;align-items:center;gap:10px;
}
.vp-section-title span{color:var(--teal);}

/* ── Visa types grid ── */
.vp-types{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;}
.vp-type{
  border-radius:12px;
  background:rgba(6,15,30,0.7);
  border:1px solid rgba(29,233,182,0.1);
  padding:1rem 1.1rem;transition:all .25s;
}
.vp-type:hover{
  border-color:rgba(29,233,182,0.35);
  background:rgba(10,25,48,0.9);
  transform:translateY(-1px);
}
.vp-type-icon{font-size:1.3rem;margin-bottom:.5rem;}
.vp-type-name{
  font-family:'Cinzel',serif;font-size:0.82rem;color:var(--teal);
  letter-spacing:1.5px;margin-bottom:.4rem;font-weight:700;
}
.vp-type-desc{
  font-family:'Raleway',sans-serif;font-size:0.76rem;
  color:rgba(210,245,240,0.65);line-height:1.75;
}

/* ── Requirements list ── */
.vp-req-list{list-style:none;margin:0;padding:0;}
.vp-req-list li{
  font-family:'Raleway',sans-serif;font-size:0.85rem;
  color:rgba(210,245,240,0.82);padding:.7rem 0;
  border-bottom:1px solid rgba(255,255,255,0.05);
  display:flex;align-items:flex-start;gap:10px;line-height:1.75;
}
.vp-req-list li::before{content:'✦';color:var(--teal);flex-shrink:0;font-size:0.6rem;margin-top:4px;}

/* ── Fee table ── */
.vp-free-table{width:100%;border-collapse:collapse;font-family:'Raleway',sans-serif;font-size:0.78rem;}
.vp-free-table th{
  background:rgba(29,233,182,0.1);color:var(--teal);
  padding:.8rem 1rem;text-align:left;letter-spacing:1.5px;
  text-transform:uppercase;font-size:0.66rem;
  border-bottom:1px solid rgba(29,233,182,0.2);font-weight:600;
}
.vp-free-table td{
  padding:.7rem 1rem;color:rgba(210,245,240,0.82);
  border-bottom:1px solid rgba(255,255,255,0.05);
  vertical-align:top;line-height:1.65;
}
.vp-free-table tr:hover td{background:rgba(29,233,182,0.04);}

/* ── Warning boxes ── */
.vp-warn{
  border-radius:10px;
  background:rgba(255,120,60,0.07);
  border:1px solid rgba(255,120,60,0.25);
  border-left:3px solid #ff7840;
  padding:1.1rem 1.4rem;
  font-family:'Raleway',sans-serif;font-size:0.82rem;
  color:rgba(255,200,180,0.9);line-height:1.85;margin-bottom:1rem;
}
.vp-warn strong{color:#ff9060;}

/* ── Alert banner ── */
.vp-alert{
  border-radius:14px;
  background:linear-gradient(135deg,rgba(29,233,182,0.06),rgba(5,60,50,0.12));
  border:1px solid rgba(29,233,182,0.28);
  border-left:4px solid var(--teal);
  padding:1.4rem 1.8rem;margin-bottom:2.5rem;
  font-family:'Raleway',sans-serif;font-size:0.9rem;
  color:rgba(210,245,240,0.9);line-height:1.9;
}
.vp-alert strong{color:var(--teal);}

/* ── Pricing Cards ── */
.vp-pricing-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;
  margin-top:.5rem;
}
@media(max-width:860px){.vp-pricing-grid{grid-template-columns:1fr;max-width:400px;}}
.vp-price-card{
  position:relative;
  border-radius:20px;
  background:linear-gradient(160deg,rgba(10,25,50,0.85),rgba(6,15,30,0.95));
  border:1px solid rgba(29,233,182,0.15);
  padding:2.2rem 1.8rem 1.8rem;
  display:flex;flex-direction:column;gap:.9rem;
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.vp-price-card:hover{
  transform:translateY(-4px);
  border-color:rgba(29,233,182,0.3);
  box-shadow:0 16px 40px rgba(0,0,0,0.3),0 0 20px rgba(29,233,182,0.06);
}
.vp-price-card--popular{
  border-color:rgba(29,233,182,0.45);
  background:linear-gradient(160deg,rgba(10,35,60,0.95),rgba(6,20,40,0.98));
  box-shadow:0 8px 30px rgba(29,233,182,0.1);
}
.vp-price-badge{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--teal);color:#000;
  font-family:'Cormorant Garamond',serif;font-size:0.75rem;font-weight:700;
  letter-spacing:3px;padding:5px 16px;border-radius:20px;
  white-space:nowrap;
}
.vp-price-name{
  font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:#fff;
  letter-spacing:3px;font-weight:600;
}
.vp-price-amount{
  font-family:'Cormorant Garamond',serif;font-size:3.4rem;font-weight:600;
  background:linear-gradient(135deg,#7dfce0,var(--teal));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 12px rgba(29,233,182,0.35));
  line-height:1;
}
.vp-price-sub{
  font-family:'Raleway',sans-serif;font-size:0.78rem;
  color:rgba(210,245,240,0.55);line-height:1.65;
  border-bottom:1px solid rgba(255,255,255,0.07);
  padding-bottom:.9rem;
}
.vp-price-list{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:.55rem;flex:1;
}
.vp-price-list li{
  font-family:'Raleway',sans-serif;font-size:0.82rem;
  color:rgba(210,245,240,0.8);
  display:flex;align-items:center;gap:8px;
}
.vp-price-list li::before{
  content:'\2713';color:var(--teal);font-size:0.75rem;font-weight:700;flex-shrink:0;
}
.vp-price-btn{
  margin-top:.5rem;width:100%;
  background:rgba(29,233,182,0.1);
  border:1px solid rgba(29,233,182,0.35);
  border-radius:10px;padding:12px;
  font-family:'Cormorant Garamond',serif;font-size:0.95rem;
  letter-spacing:3px;color:var(--teal);
  cursor:pointer;transition:all .25s;font-weight:600;
}
.vp-price-btn:hover{background:rgba(29,233,182,0.2);border-color:var(--teal);}
.vp-price-btn--popular{
  background:var(--teal);color:#000;border-color:var(--teal);
}
.vp-price-btn--popular:hover{background:#1de9b6;box-shadow:0 0 20px rgba(29,233,182,0.4);}

/* ── CTA ── */
.vp-cta{
  border-radius:12px;background:var(--teal);border:none;color:#000;
  font-family:'Cinzel',serif;font-size:0.88rem;letter-spacing:2.5px;
  text-transform:uppercase;padding:16px 48px;cursor:pointer;
  font-weight:800;transition:all .25s;display:inline-flex;align-items:center;gap:10px;
}
.vp-cta:hover{background:#1de9b6;box-shadow:0 0 28px rgba(29,233,182,0.5);transform:translateY(-1px);}
.vp-cta-row{text-align:center;padding:2.5rem 0;}

/* ══════════════════════════════════════════════════════
   PAYMENT PAGE
══════════════════════════════════════════════════════ */
.pp-header{position:sticky;top:0;z-index:10;background:rgba(8,30,58,0.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(29,233,182,0.2);display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:64px;}
.pp-back{border-radius:8px;background:transparent;border:1px solid rgba(29,233,182,0.25);color:rgba(224,247,244,0.8);font-family:'Raleway',sans-serif;font-size:0.72rem;letter-spacing:1px;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s;}
.pp-back:hover{background:rgba(29,233,182,0.12);}
.pp-header-title{font-family:'Cinzel',serif;font-size:1.5rem;color:var(--teal);letter-spacing:3px;font-weight:700;}
.pp-body{max-width:1000px;margin:0;padding:3rem 4% 5rem;text-align:left;}
.pp-intro{font-family:'Raleway',sans-serif;font-size:1.05rem;color:rgba(224,247,244,0.7);line-height:1.8;max-width:760px;margin-bottom:2.2rem;}
.pp-alert{border-radius:10px;background:rgba(29,233,182,0.06);border:1px solid rgba(29,233,182,0.25);padding:1rem 1.3rem;font-family:'Raleway',sans-serif;font-size:0.95rem;color:rgba(224,247,244,0.75);line-height:1.7;margin-bottom:2.5rem;}
.pp-alert strong{color:var(--teal);}
.pp-section-title{font-family:'Cinzel',serif;font-size:1.35rem;color:#fff;letter-spacing:1.5px;margin-bottom:1.2rem;display:flex;align-items:center;gap:10px;}
.pp-section-title span{color:var(--teal);}
.pp-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:3rem;}
@media(max-width:860px){.pp-methods{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.pp-methods{grid-template-columns:1fr;}}
.pp-method{border-radius:14px;background:#112e4c;border:1px solid rgba(29,233,182,0.18);padding:1.4rem 1.3rem;transition:border-color .25s,transform .25s;}
.pp-method:hover{border-color:rgba(29,233,182,0.4);transform:translateY(-3px);}
.pp-method-icon{font-size:2.2rem;margin-bottom:.7rem;}
.pp-method-name{font-family:'Cinzel',serif;font-size:1.2rem;color:#fff;letter-spacing:1px;margin-bottom:.5rem;}
.pp-method-desc{font-family:'Raleway',sans-serif;font-size:0.92rem;color:rgba(224,247,244,0.55);line-height:1.65;}
.pp-method-badge{display:inline-block;margin-top:.7rem;font-size:0.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);background:rgba(29,233,182,0.1);border:1px solid rgba(29,233,182,0.25);border-radius:6px;padding:3px 9px;}
.pp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3rem;}
@media(max-width:768px){.pp-steps{grid-template-columns:1fr;}}
.pp-step{border-radius:14px;background:rgba(255,255,255,0.02);border:1px solid rgba(29,233,182,0.12);padding:1.4rem;position:relative;}
.pp-step-num{font-family:'Cinzel',serif;font-size:2rem;color:rgba(29,233,182,0.3);margin-bottom:.5rem;}
.pp-step-title{font-family:'Cinzel',serif;font-size:1.08rem;color:#fff;margin-bottom:.4rem;letter-spacing:.5px;}
.pp-step-desc{font-family:'Raleway',sans-serif;font-size:0.92rem;color:rgba(224,247,244,0.55);line-height:1.6;}
.pp-faq{margin-bottom:2.5rem;}
.pp-faq-item{border-bottom:1px solid rgba(29,233,182,0.1);padding:1rem 0;}
.pp-faq-q{font-family:'Raleway',sans-serif;font-size:1.02rem;color:#fff;font-weight:600;margin-bottom:.45rem;display:flex;align-items:center;gap:8px;}
.pp-faq-q span{color:var(--teal);}
.pp-faq-a{font-family:'Raleway',sans-serif;font-size:0.95rem;color:rgba(224,247,244,0.55);line-height:1.7;padding-left:1.4rem;}
.pp-secure-row{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center;margin:.5rem 0 2.5rem;}
.pp-secure-badge{font-size:0.85rem;color:rgba(224,247,244,0.45);display:flex;align-items:center;gap:6px;font-family:'Raleway',sans-serif;}
.pp-secure-badge span{color:var(--teal);}
.pp-cta{border-radius:10px;background:var(--teal);border:none;color:#000;font-family:'Cinzel',serif;font-size:1.05rem;letter-spacing:2.5px;text-transform:uppercase;padding:16px 44px;cursor:pointer;font-weight:800;transition:all .25s;display:inline-flex;align-items:center;gap:10px;}
.pp-cta:hover{background:#1de9b6;box-shadow:0 0 24px rgba(29,233,182,0.45);}
.pp-cta-row{text-align:center;padding:1.5rem 0 0;}
#paymentPage{position:fixed;inset:0;z-index:1100;background:#0c2340;display:none;flex-direction:column;overflow-y:auto;opacity:0;transition:opacity 0.4s;}
#paymentPage.open{opacity:1;}



/* ══════════════════════════════════════════════════════
   TEHRAN WEATHER WIDGET — top-right corner
══════════════════════════════════════════════════════ */
#weatherWidget{
  position:fixed !important;
  top:122px !important;right:2rem !important;left:auto !important;bottom:auto !important;
  z-index:999;
  background:rgba(5,18,35,0.88);
  backdrop-filter:blur(14px);
  border:1px solid rgba(29,233,182,0.25);
  border-radius:10px;
  padding:7px 14px;
  display:flex;align-items:center;gap:8px;
  font-family:'Raleway',sans-serif;
  opacity:0;
  animation:weatherFadeIn .6s ease 1s forwards;
  box-shadow:0 4px 18px rgba(0,0,0,0.35);
}
@keyframes weatherFadeIn{to{opacity:1;}}
.wx-icon{font-size:1.15rem;line-height:1;flex-shrink:0;}
.wx-info{display:flex;flex-direction:column;line-height:1.25;}
.wx-temp{
  font-family:'Cinzel',serif;font-size:0.95rem;color:#fff;font-weight:700;
  display:flex;align-items:baseline;gap:2px;
}
.wx-temp .wx-deg{font-size:0.7rem;color:var(--teal);}
.wx-city{
  font-size:0.56rem;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(29,233,182,0.65);margin-top:1px;
}
.wx-time{
  font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.5px;
  color:rgba(255,255,255,0.85);margin-top:2px;display:block;
}


/* Move below topbar on small screens */
@media(max-width:600px){
  #weatherWidget{top:122px !important;right:0.6rem !important;padding:5px 10px;}
  .wx-city{display:none;}
}

/* ══════════════════════════════════════════════════════
   TOUR DATE PICKER — appears below the 4 service cards
══════════════════════════════════════════════════════ */
#tourDatePickerWidget{
  position:absolute;
  bottom:2.28rem;
  left:50%;
  z-index:50;
  display:none;
  opacity:0;
  transform:translateX(-50%) translateY(10px);
  transition:opacity .4s, transform .4s;
  white-space:nowrap;
}
#tourDatePickerWidget.visible{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.tdp-wrap{
  background:rgba(5,18,35,0.92);
  backdrop-filter:blur(20px);
  border:1px solid rgba(29,233,182,0.22);
  border-radius:12px;
  box-shadow:0 8px 40px rgba(0,0,0,0.55), 0 0 0 1px rgba(29,233,182,0.06);
  display:flex;align-items:stretch;gap:0;
  overflow:visible;position:relative;
}
.tdp-tour{
  display:flex;align-items:center;gap:12px;
  padding:14px 26px;
  border-right:1px solid rgba(29,233,182,0.12);
  border-radius:12px 0 0 12px;
  min-width:200px;
}
.tdp-tour-icon{font-size:1.3rem;}
.tdp-tour-info{display:flex;flex-direction:column;}
.tdp-tour-label{
  font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;
  color:rgba(29,233,182,0.7);font-family:'Raleway',sans-serif;
  margin-bottom:4px;font-weight:500;
}
.tdp-tour-name{
  font-family:'Cinzel',serif;font-size:1.05rem;
  color:#fff;letter-spacing:2px;font-weight:700;
}
.tdp-field{
  display:flex;align-items:center;gap:12px;
  padding:14px 26px;
  border-right:1px solid rgba(29,233,182,0.12);
  cursor:pointer;transition:background .2s;position:relative;
}
.tdp-field:hover{background:rgba(29,233,182,0.05);}
.tdp-field-icon{font-size:1rem;color:rgba(29,233,182,0.7);flex-shrink:0;}
.tdp-field-info{display:flex;flex-direction:column;}
.tdp-field-label{
  font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;
  color:rgba(29,233,182,0.7);font-family:'Raleway',sans-serif;
  margin-bottom:4px;font-weight:500;
}
.tdp-field-value{
  font-family:'Cinzel',serif;font-size:0.92rem;
  color:#fff;font-weight:600;letter-spacing:1px;min-width:120px;
}
.tdp-field-value.placeholder{color:rgba(255,255,255,0.35);}
.tdp-duration{
  display:flex;align-items:center;
  padding:0 16px;
  border-right:1px solid rgba(29,233,182,0.12);
}
.tdp-duration-badge{border-radius:8px;
  background:rgba(29,233,182,0.12);
  border:1px solid rgba(29,233,182,0.25);
  color:var(--teal);font-family:'Raleway',sans-serif;
  font-size:0.65rem;letter-spacing:1px;padding:4px 10px;white-space:nowrap;
}
.tdp-search{
  background:var(--teal);border:none;color:#000;
  border-radius:0 12px 12px 0;
  font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:2.5px;
  text-transform:uppercase;padding:0 32px;cursor:pointer;
  transition:all .25s;display:flex;align-items:center;gap:8px;
  font-weight:800;min-height:58px;
}
.tdp-search:hover{background:#1de9b6;box-shadow:0 0 20px rgba(29,233,182,0.4);}
/* Calendar reuse .dp-calendar / .cal-* styles already defined */
.tdp-field .dp-calendar{bottom:calc(100% + 8px);top:auto;left:0;}

/* ══════════════════════════════════════════════════════
   FLIGHT DATE PICKER — appears below the 4 service cards
══════════════════════════════════════════════════════ */
#flightDatePickerWidget{
  position:absolute;
  bottom:2.28rem;
  left:50%;
  z-index:50;
  display:none;
  opacity:0;
  transform:translateX(-50%) translateY(10px);
  transition:opacity .4s, transform .4s;
  white-space:nowrap;
}
#flightDatePickerWidget.visible{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.fdp-wrap{
  background:rgba(5,18,35,0.92);
  backdrop-filter:blur(20px);
  border:1px solid rgba(29,233,182,0.22);
  border-radius:12px;
  box-shadow:0 8px 40px rgba(0,0,0,0.55), 0 0 0 1px rgba(29,233,182,0.06);
  display:flex;align-items:stretch;gap:0;
  overflow:visible;position:relative;
}
.fdp-city{
  display:flex;align-items:center;gap:12px;
  padding:14px 26px;
  border-right:1px solid rgba(29,233,182,0.12);
  border-radius:12px 0 0 12px;
  min-width:170px;position:relative;cursor:default;
}
.fdp-city-icon{font-size:1.1rem;}
.fdp-city-info{display:flex;flex-direction:column;}
.fdp-city-label{
  font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;
  color:rgba(29,233,182,0.7);font-family:'Raleway',sans-serif;
  margin-bottom:4px;font-weight:500;
}
.fdp-city-input{
  background:transparent;border:none;outline:none;
  font-family:'Cinzel',serif;font-size:0.92rem;
  color:#fff;font-weight:600;letter-spacing:1px;
  width:130px;padding:0;caret-color:var(--teal);
}
.fdp-city-input::placeholder{color:rgba(255,255,255,0.32);font-size:0.8rem;font-family:'Raleway',sans-serif;}
.fdp-swap{
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:rgba(29,233,182,0.08);border:1px solid rgba(29,233,182,0.25);
  color:var(--teal);cursor:pointer;transition:all .25s;
  margin:0 -17px;z-index:5;flex-shrink:0;
}
.fdp-swap:hover{background:rgba(29,233,182,0.18);transform:rotate(180deg);}
.fdp-swap svg{width:14px;height:14px;}
.fdp-field{
  display:flex;align-items:center;gap:12px;
  padding:14px 26px;
  border-right:1px solid rgba(29,233,182,0.12);
  cursor:pointer;transition:background .2s;position:relative;
}
.fdp-field:hover{background:rgba(29,233,182,0.05);}
.fdp-field-icon{font-size:1rem;color:rgba(29,233,182,0.7);flex-shrink:0;}
.fdp-field-info{display:flex;flex-direction:column;}
.fdp-field-label{
  font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;
  color:rgba(29,233,182,0.7);font-family:'Raleway',sans-serif;
  margin-bottom:4px;font-weight:500;
}
.fdp-field-value{
  font-family:'Cinzel',serif;font-size:0.92rem;
  color:#fff;font-weight:600;letter-spacing:1px;min-width:120px;
}
.fdp-field-value.placeholder{color:rgba(255,255,255,0.35);}
.fdp-trip-toggle{
  display:flex;align-items:center;
  padding:0 16px;border-right:1px solid rgba(29,233,182,0.12);
  gap:6px;
}
.fdp-trip-btn{border-radius:6px;
  background:transparent;border:1px solid rgba(29,233,182,0.25);
  color:rgba(224,247,244,0.55);font-family:'Raleway',sans-serif;
  font-size:0.62rem;letter-spacing:1px;text-transform:uppercase;
  padding:5px 11px;cursor:pointer;transition:all .2s;
}
.fdp-trip-btn.active{background:rgba(29,233,182,0.15);border-color:var(--teal);color:var(--teal);}
.fdp-search{
  background:var(--teal);border:none;color:#000;
  border-radius:0 12px 12px 0;
  font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:2.5px;
  text-transform:uppercase;padding:0 32px;cursor:pointer;
  transition:all .25s;display:flex;align-items:center;gap:8px;
  font-weight:800;min-height:58px;
}
.fdp-search:hover{background:#1de9b6;box-shadow:0 0 20px rgba(29,233,182,0.4);}
.fdp-field .dp-calendar{bottom:calc(100% + 8px);top:auto;left:0;}
.fdp-suggestions{border-radius:14px;
  position:absolute;bottom:calc(100% + 4px);left:0;
  background:rgba(5,18,35,0.97);backdrop-filter:blur(20px);
  border:1px solid rgba(29,233,182,0.25);
  box-shadow:0 -8px 32px rgba(0,0,0,0.6);
  min-width:200px;z-index:9999;display:none;overflow:hidden;
}
.fdp-suggestions.open{display:block;}

/* ══════════════════════════════════════════════════════
   BUS DATE PICKER — appears below the 4 service cards
══════════════════════════════════════════════════════ */
#busDatePickerWidget{
  position:absolute;
  bottom:2.28rem;
  left:50%;
  z-index:50;
  display:none;
  opacity:0;
  transform:translateX(-50%) translateY(10px);
  transition:opacity .4s, transform .4s;
  white-space:nowrap;
}
#busDatePickerWidget.visible{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.bdp-wrap{
  background:rgba(5,18,35,0.92);
  backdrop-filter:blur(20px);
  border:1px solid rgba(29,233,182,0.22);
  border-radius:12px;
  box-shadow:0 8px 40px rgba(0,0,0,0.55), 0 0 0 1px rgba(29,233,182,0.06);
  display:flex;align-items:stretch;gap:0;
  overflow:visible;position:relative;
}
.bdp-city{
  display:flex;align-items:center;gap:12px;
  padding:14px 26px;
  border-right:1px solid rgba(29,233,182,0.12);
  border-radius:12px 0 0 12px;
  min-width:170px;position:relative;cursor:default;
}
.bdp-city-icon{font-size:1.1rem;}
.bdp-city-info{display:flex;flex-direction:column;}
.bdp-city-label{
  font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;
  color:rgba(29,233,182,0.7);font-family:'Raleway',sans-serif;
  margin-bottom:4px;font-weight:500;
}
.bdp-city-input{
  background:transparent;border:none;outline:none;
  font-family:'Cinzel',serif;font-size:0.92rem;
  color:#fff;font-weight:600;letter-spacing:1px;
  width:130px;padding:0;caret-color:var(--teal);
}
.bdp-city-input::placeholder{color:rgba(255,255,255,0.32);font-size:0.8rem;font-family:'Raleway',sans-serif;}
.bdp-swap{
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:rgba(29,233,182,0.08);border:1px solid rgba(29,233,182,0.25);
  color:var(--teal);cursor:pointer;transition:all .25s;
  margin:0 -17px;z-index:5;flex-shrink:0;
}
.bdp-swap:hover{background:rgba(29,233,182,0.18);transform:rotate(180deg);}
.bdp-swap svg{width:14px;height:14px;}
.bdp-field{
  display:flex;align-items:center;gap:12px;
  padding:14px 26px;
  border-right:1px solid rgba(29,233,182,0.12);
  cursor:pointer;transition:background .2s;position:relative;
}
.bdp-field:hover{background:rgba(29,233,182,0.05);}
.bdp-field-icon{font-size:1rem;color:rgba(29,233,182,0.7);flex-shrink:0;}
.bdp-field-info{display:flex;flex-direction:column;}
.bdp-field-label{
  font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;
  color:rgba(29,233,182,0.7);font-family:'Raleway',sans-serif;
  margin-bottom:4px;font-weight:500;
}
.bdp-field-value{
  font-family:'Cinzel',serif;font-size:0.92rem;
  color:#fff;font-weight:600;letter-spacing:1px;min-width:120px;
}
.bdp-field-value.placeholder{color:rgba(255,255,255,0.35);}
.bdp-trip-toggle{
  display:flex;align-items:center;
  padding:0 16px;border-right:1px solid rgba(29,233,182,0.12);
  gap:6px;
}
.bdp-trip-btn{border-radius:6px;
  background:transparent;border:1px solid rgba(29,233,182,0.25);
  color:rgba(224,247,244,0.55);font-family:'Raleway',sans-serif;
  font-size:0.62rem;letter-spacing:1px;text-transform:uppercase;
  padding:5px 11px;cursor:pointer;transition:all .2s;
}
.bdp-trip-btn.active{background:rgba(29,233,182,0.15);border-color:var(--teal);color:var(--teal);}
.bdp-search{
  background:var(--teal);border:none;color:#000;
  border-radius:0 12px 12px 0;
  font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:2.5px;
  text-transform:uppercase;padding:0 32px;cursor:pointer;
  transition:all .25s;display:flex;align-items:center;gap:8px;
  font-weight:800;min-height:58px;
}
.bdp-search:hover{background:#1de9b6;box-shadow:0 0 20px rgba(29,233,182,0.4);}
.bdp-field .dp-calendar{bottom:calc(100% + 8px);top:auto;left:0;}
.bdp-suggestions{border-radius:14px;
  position:absolute;bottom:calc(100% + 4px);left:0;
  background:rgba(5,18,35,0.97);backdrop-filter:blur(20px);
  border:1px solid rgba(29,233,182,0.25);
  box-shadow:0 -8px 32px rgba(0,0,0,0.6);
  min-width:200px;z-index:9999;display:none;overflow:hidden;
}
.bdp-suggestions.open{display:block;}

/* ══════════════════════════════════════════════════════
   LIVE AVAILABILITY RESULTS PANEL
══════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════
   HOTELS PAGE — Date Picker Bar (static, top of page)
══════════════════════════════════════════════════════ */
.hpdp-wrap{
  max-width:1100px;margin:1.4rem auto 2.5rem;
  border-radius:18px;
  position:relative;
  z-index:5;
}
.hpdp-wrap-inner{
  background:rgba(6,19,36,0.94);
  border:1px solid rgba(29,233,182,0.18);
  border-radius:18px;
  display:flex;align-items:stretch;
  flex-wrap:wrap;
  position:relative;
  z-index:2;
}
/* ── #403 moving light border (stays outside .hpdp-wrap-inner, never leaks inside) ── */
.hpdp-wrap::before{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:19px;
  padding:1px;
  background:conic-gradient(
    from var(--angle,0deg),
    rgba(29,233,182,0.18) 0%,
    rgba(29,233,182,0.32) 18%,
    rgba(29,233,182,0.55) 35%,
    rgba(29,233,182,0.62) 50%,
    rgba(29,233,182,0.55) 65%,
    rgba(29,233,182,0.32) 82%,
    rgba(29,233,182,0.18) 100%
  );
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  z-index:1;
  pointer-events:none;
  animation:borderSpin 6s linear infinite;
}
.hpdp-wrap::after{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:19px;
  background:conic-gradient(
    from var(--angle,0deg),
    rgba(29,233,182,0.05) 0%,
    rgba(29,233,182,0.1) 25%,
    rgba(29,233,182,0.18) 50%,
    rgba(29,233,182,0.1) 75%,
    rgba(29,233,182,0.05) 100%
  );
  filter:blur(14px);
  z-index:-1;
  pointer-events:none;
  animation:borderSpin 6s linear infinite;
}
.hpdp-field{
  display:flex;align-items:center;gap:12px;
  padding:14px 26px;
  border-right:1px solid rgba(29,233,182,0.12);
  cursor:pointer;transition:background .2s;position:relative;
  flex:1;min-width:160px;
}
.hpdp-field:hover{background:rgba(29,233,182,0.05);}
.hpdp-field-icon{font-size:1rem;color:rgba(29,233,182,0.7);flex-shrink:0;}
.hpdp-field-info{display:flex;flex-direction:column;}
.hpdp-field-label{
  font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;
  color:rgba(29,233,182,0.7);font-family:'Raleway',sans-serif;
  margin-bottom:4px;font-weight:500;
}
.hpdp-field-value{
  font-family:'Cinzel',serif;font-size:0.92rem;
  color:#fff;font-weight:600;letter-spacing:1px;
}
.hpdp-field-value.placeholder{color:rgba(255,255,255,0.35);}
.hpdp-nights{
  display:flex;align-items:center;justify-content:center;
  padding:0 16px;border-right:1px solid rgba(29,233,182,0.12);
  flex-shrink:0;
}
.hpdp-nights-badge{border-radius:8px;
  background:rgba(29,233,182,0.12);
  border:1px solid rgba(29,233,182,0.25);
  color:var(--teal);font-family:'Raleway',sans-serif;
  font-size:0.65rem;letter-spacing:1px;padding:4px 10px;white-space:nowrap;
}
.hpdp-apply{
  background:var(--teal);border:none;color:#000;
  font-family:'Cinzel',serif;font-size:0.7rem;letter-spacing:2.5px;
  text-transform:uppercase;padding:0 30px;cursor:pointer;
  transition:all .25s;display:flex;align-items:center;gap:8px;
  font-weight:800;flex-shrink:0;min-height:58px;
  border-radius:0 18px 18px 0;
}
.hpdp-apply:hover{background:#1de9b6;box-shadow:0 0 20px rgba(29,233,182,0.4);}
.hpdp-field .dp-calendar{top:calc(100% + 8px);bottom:auto;left:0;}

@media(max-width:768px){
  .hpdp-wrap-inner{flex-direction:column;}
  .hpdp-field,.hpdp-nights,.hpdp-apply{border-right:none;border-bottom:1px solid rgba(29,233,182,0.12);width:100%;}
  .hpdp-apply{justify-content:center;}
}


/* Per-hotel price display injected into hotel-footer */
.hotel-live-price{
  font-family:'Raleway',sans-serif;font-size:0.62rem;
  letter-spacing:1px;margin-top:3px;
}
.hotel-live-price.available{color:#4cff91;}
.hotel-live-price.limited{color:#ffc14c;}
.hotel-live-price.sold_out{color:#ff6b6b;}

/* ── Hotels Page Date Picker — City Search (#403) ── */
.hpdp-city-search{cursor:default;border-radius:18px 0 0 18px;}
.hpdp-city-input{
  background:transparent;border:none;outline:none;
  font-family:'Cinzel',serif;font-size:0.92rem;
  color:#fff;font-weight:600;letter-spacing:1px;
  width:140px;padding:0;caret-color:var(--teal);
}
.hpdp-city-input::placeholder{color:rgba(255,255,255,0.32);font-size:0.8rem;font-family:'Raleway',sans-serif;font-weight:400;}
@media(max-width:768px){
  .hpdp-city-search{border-radius:18px 18px 0 0;}
  .hpdp-apply{border-radius:0 0 18px 18px;}
}

/* ══════════════════════════════════════════════════════
   HOTEL BOOKING MODAL
══════════════════════════════════════════════════════ */
.bm-modal{
  border-radius:20px;
  background:rgba(10,28,52,0.97);
  border:1px solid rgba(29,233,182,0.25);
  box-shadow:0 20px 60px rgba(0,0,0,0.6);
  width:min(460px,92vw);
  max-height:90vh;overflow-y:auto;
  padding:1.8rem;
  transform:translateY(20px) scale(0.97);
  transition:transform .35s;
}
.bm-header{
  display:flex;align-items:flex-start;justify-content:space-between;
  margin-bottom:1.2rem;padding-bottom:1rem;
  border-bottom:1px solid rgba(29,233,182,0.12);
}
.bm-title{font-family:'Cinzel',serif;font-size:1.05rem;color:#fff;letter-spacing:1px;}
.bm-subtitle{font-family:'Raleway',sans-serif;font-size:0.7rem;color:var(--teal);letter-spacing:1.5px;text-transform:uppercase;margin-top:.3rem;}
.bm-close{
  background:transparent;border:1px solid rgba(29,233,182,0.25);
  color:rgba(224,247,244,0.6);width:28px;height:28px;
  border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:all .2s;
}
.bm-close:hover{color:var(--teal);border-color:var(--teal);}

.bm-field{margin-bottom:.35rem;}
.bm-label{
  display:block;font-family:'Raleway',sans-serif;font-size:0.6rem;
  letter-spacing:2px;text-transform:uppercase;color:rgba(29,233,182,0.7);
  margin-bottom:.15rem;font-weight:600;
}
.bm-input{
  border-radius:8px;
  width:100%;background:rgba(5,18,35,0.6);
  border:1px solid rgba(29,233,182,0.18);
  color:#fff;font-family:'Raleway',sans-serif;font-size:0.76rem;
  padding:5px 10px;outline:none;transition:border-color .2s;
  box-sizing:border-box;
}
.bm-input:focus{border-color:var(--teal);}
.bm-input::placeholder{color:rgba(255,255,255,0.3);}
select.bm-input{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231de9b6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:14px;padding-right:32px;
}
select.bm-input option{background:#0a1f3d;color:#fff;}
.bm-row{display:flex;gap:.6rem;}
.bm-row .bm-field{flex:1;}

/* Date fields reuse hpdp style but compact */
.bm-date-field{
  border-radius:8px;
  background:rgba(5,18,35,0.6);
  border:1px solid rgba(29,233,182,0.18);
  padding:6px 10px;cursor:pointer;position:relative;
}
.bm-date-field:hover{border-color:rgba(29,233,182,0.4);}
.bm-date-val{font-family:'Cinzel',serif;font-size:0.76rem;color:#fff;font-weight:600;}
.bm-date-val.placeholder{color:rgba(255,255,255,0.35);font-family:'Raleway',sans-serif;font-weight:400;}
.bm-date-field .dp-calendar{right:calc(100% + 10px);left:auto;top:0;bottom:auto;}

/* Guests counter (reuse dp-guest styles, compact) */
.bm-guests{border-radius:8px;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(5,18,35,0.6);border:1px solid rgba(29,233,182,0.18);
  padding:6px 10px;
}
.bm-guests-label{font-family:'Raleway',sans-serif;font-size:0.78rem;color:#fff;}
.bm-guests-sub{font-family:'Raleway',sans-serif;font-size:0.6rem;color:rgba(29,233,182,0.55);letter-spacing:1px;}
.bm-cnt{display:flex;align-items:center;gap:12px;}
.bm-cnt-btn{border-radius:50%;
  background:rgba(29,233,182,0.08);border:1px solid rgba(29,233,182,0.28);
  color:var(--teal);width:22px;height:22px;font-size:0.9rem;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s;font-family:'Raleway',sans-serif;
}
.bm-cnt-btn:hover{background:rgba(29,233,182,0.2);}
.bm-cnt-val{font-family:'Cinzel',serif;font-size:0.95rem;color:#fff;min-width:18px;text-align:center;}

/* Summary box */
.bm-summary{border-radius:8px;
  background:rgba(29,233,182,0.06);border:1px solid rgba(29,233,182,0.18);
  padding:.4rem .6rem;margin-bottom:.4rem;
  font-family:'Raleway',sans-serif;font-size:0.7rem;
  color:rgba(210,245,240,0.85);line-height:1.8;
}
.bm-summary b{color:var(--teal);}
.bm-summary .bm-total{
  font-family:'Cinzel',serif;font-size:1.05rem;color:var(--teal);
  margin-top:.4rem;padding-top:.4rem;border-top:1px solid rgba(29,233,182,0.12);
}

.bm-submit{border-radius:8px;
  width:100%;background:var(--teal);border:none;color:#000;
  font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:1.5px;
  text-transform:uppercase;padding:9px 0;cursor:pointer;
  font-weight:800;transition:all .25s;display:flex;align-items:center;justify-content:center;gap:8px;
}
.bm-submit:hover{background:#1de9b6;box-shadow:0 0 20px rgba(29,233,182,0.4);}
.bm-note{
  text-align:center;font-family:'Raleway',sans-serif;font-size:0.62rem;
  color:rgba(224,247,244,0.35);margin-top:.8rem;letter-spacing:.5px;
}
.bm-field.bm-error .bm-input,
.bm-field.bm-error .bm-date-field{border-color:#ff6b6b !important;}




/* ══════════════════════════════════════════════════════
   HOTEL DETAIL PAGE (full page, like Tours/Visa)
══════════════════════════════════════════════════════ */
#hotelDetailPage{
  position:fixed;inset:0;z-index:1200;
  background:#0c2340;display:none;
  flex-direction:column;overflow-y:auto;
  opacity:0;transition:opacity 0.4s;
}
#hotelDetailPage.open{opacity:1;}

.hdp-header{display:none;}
.hdp-back{
  position:absolute;top:1.4rem;left:1.8rem;z-index:1220;
  border-radius:8px;
  background:rgba(8,22,40,0.75);backdrop-filter:blur(8px);
  border:1px solid rgba(29,233,182,0.4);
  color:var(--teal);font-family:'Raleway',sans-serif;
  font-size:0.66rem;letter-spacing:2px;text-transform:uppercase;
  padding:7px 16px;cursor:pointer;transition:all .25s;
  display:flex;align-items:center;gap:7px;
}
.hdp-back:hover{background:rgba(29,233,182,0.15);border-color:var(--teal);}
.hdp-header-title{display:none;}

/* Hero gallery */
.hdp-hero{
  position:relative;height:100vh;min-height:100vh;
  overflow:hidden;background:#081c34;
}
.hdp-hero-slide{
  position:absolute;inset:0;opacity:0;transition:opacity .7s ease;
}
.hdp-hero-slide.active{opacity:1;}
.hdp-hero-slide img{width:100%;height:100%;object-fit:cover;}
.hdp-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom, rgba(8,28,52,0.05) 0%, rgba(8,28,52,0.2) 50%, rgba(8,28,52,0.88) 100%);
}
.hdp-hero-content{
  position:absolute;bottom:0;left:0;right:0;
  padding:3rem 4%;
}
.hdp-hero-stars{color:#FFD600;font-size:1.2rem;letter-spacing:4px;margin-bottom:.6rem;text-shadow:0 2px 8px rgba(0,0,0,0.6);}
.hdp-hero-title{
  font-family:'Cinzel',serif;font-size:clamp(2.2rem,5vw,3.5rem);
  color:#fff;letter-spacing:3px;margin-bottom:.5rem;
  text-shadow:0 2px 16px rgba(0,0,0,0.8);
}
.hdp-hero-location{
  font-family:'Raleway',sans-serif;font-size:0.9rem;
  color:rgba(224,247,244,0.9);display:flex;align-items:center;gap:8px;
  text-shadow:0 2px 8px rgba(0,0,0,0.6);
}
.hdp-hero-location svg{width:15px;height:15px;stroke:var(--teal);flex-shrink:0;}

/* Scroll-down hint */
.hdp-scroll-hint{
  position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:4px;z-index:5;
  opacity:0.6;animation:hdpScrollBob 2s ease-in-out infinite;
}
.hdp-scroll-hint span{font-size:0.55rem;letter-spacing:2px;text-transform:uppercase;color:rgba(29,233,182,0.7);}
.hdp-scroll-hint svg{width:18px;height:18px;stroke:var(--teal);}
@keyframes hdpScrollBob{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(6px);}}

/* Hero gallery dots/arrows */
.hdp-hero-dots{
  position:absolute;bottom:5rem;right:4%;display:flex;gap:6px;z-index:5;
}
.hdp-hero-dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(255,255,255,0.35);cursor:pointer;transition:all .2s;
}
.hdp-hero-dot.active{background:var(--teal);width:22px;border-radius:4px;}
.hdp-hero-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:48px;height:48px;border-radius:50%;
  background:rgba(5,18,35,0.45);border:1px solid rgba(29,233,182,0.35);
  color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;backdrop-filter:blur(6px);
  font-size:1.5rem;
}
.hdp-hero-arrow:hover{background:rgba(29,233,182,0.22);border-color:var(--teal);}
.hdp-hero-arrow.left{left:1.8rem;}
.hdp-hero-arrow.right{right:1.8rem;}

/* Body */
.hdp-body{max-width:1400px;padding:2.5rem 4% 5rem;}
.hdp-rating-row{
  display:flex;align-items:center;gap:12px;margin-bottom:1.6rem;
  font-family:'Raleway',sans-serif;font-size:0.8rem;color:rgba(224,247,244,0.6);
}
.hdp-rating-badge{border-radius:8px;
  background:rgba(29,233,182,0.12);border:1px solid rgba(29,233,182,0.3);
  color:var(--teal);padding:3px 11px;font-weight:700;font-family:'Cinzel',serif;font-size:0.9rem;
}

.hdp-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;}
@media(max-width:768px){.hdp-grid{grid-template-columns:1fr;}}

.hdp-section{margin-bottom:2.2rem;}
.hdp-section-title{
  font-family:'Cinzel',serif;font-size:1rem;color:#fff;
  letter-spacing:2px;margin-bottom:1.1rem;padding-bottom:.7rem;
  border-bottom:1px solid rgba(29,233,182,0.15);
  display:flex;align-items:center;gap:10px;
}
.hdp-section-title span{color:var(--teal);}

.hdp-desc{
  font-family:'Raleway',sans-serif;font-size:1.02rem;color:rgba(210,245,240,0.85);
  line-height:2.25;letter-spacing:0.3px;text-align:left !important;width:100%;
}
.hdp-desc-map{border-radius:8px;
  display:inline-flex;align-items:center;gap:8px;
  margin-top:1.1rem;padding:9px 16px;
  font-family:'Raleway',sans-serif;font-size:0.78rem;font-weight:600;
  letter-spacing:0.4px;color:var(--teal);text-decoration:none;cursor:pointer;
  border:1px solid rgba(29,233,182,0.3);background:rgba(29,233,182,0.07);
  transition:all .25s;
}
.hdp-desc-map:hover{background:rgba(29,233,182,0.16);border-color:var(--teal);box-shadow:0 0 16px rgba(29,233,182,0.25);}
.hdp-desc-map svg{width:14px;height:14px;stroke:var(--teal);flex-shrink:0;}

.hdp-checkinout{display:flex;gap:2rem;}
.hdp-cio-item{font-family:'Raleway',sans-serif;font-size:0.78rem;color:rgba(224,247,244,0.6);}
.hdp-cio-item b{color:var(--teal);display:block;font-family:'Cinzel',serif;font-size:1.1rem;margin-top:4px;}

.hdp-facilities{display:flex;flex-wrap:wrap;gap:.6rem;}
.hdp-facility{
  display:flex;align-items:center;gap:8px;
  border-radius:8px;
  background:rgba(29,233,182,0.06);border:1px solid rgba(29,233,182,0.15);
  color:rgba(210,245,240,0.78);font-family:'Raleway',sans-serif;
  font-size:0.72rem;padding:7px 14px;letter-spacing:.5px;
  transition:border-color .2s, background .2s;
}
.hdp-facility:hover{border-color:rgba(29,233,182,0.35);background:rgba(29,233,182,0.1);}
.hdp-facility-icon{
  display:flex;align-items:center;justify-content:center;
  width:18px;height:18px;flex-shrink:0;color:var(--teal);
}
.hdp-facility-icon svg{width:18px;height:18px;}

.hdp-rooms{display:flex;flex-direction:column;gap:.6rem;}
.hdp-restaurants{display:flex;flex-direction:column;gap:.8rem;}
.hdp-restaurant{
  background:rgba(29,233,182,0.04);
  border:1px solid rgba(29,233,182,0.15);
  border-radius:10px;
  padding:.85rem 1rem;
}
.hdp-restaurant-name{
  font-family:'Cinzel',serif;font-size:.8rem;
  color:var(--teal);letter-spacing:1px;margin-bottom:.3rem;
}
.hdp-restaurant-desc{
  font-size:.72rem;color:rgba(210,245,240,0.7);line-height:1.6;
}
.hdp-restaurant-cap{
  font-size:.65rem;color:rgba(29,233,182,0.55);
  margin-top:.3rem;letter-spacing:.5px;
}
.hdp-nearby{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;}
.hdp-nearby-item{
  background:rgba(29,233,182,0.04);
  border:1px solid rgba(29,233,182,0.12);
  border-radius:8px;padding:.6rem .8rem;
  display:flex;flex-direction:column;gap:.15rem;
}
.hdp-nearby-name{font-size:.72rem;color:rgba(210,245,240,0.9);font-weight:600;}
.hdp-nearby-dist{font-size:.65rem;color:rgba(29,233,182,0.7);}
.hdp-room{border-radius:10px;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.05);
  padding:.85rem 1.1rem;transition:border-color .2s;
}
.hdp-room:hover{border-color:rgba(29,233,182,0.25);}
.hdp-room-info{flex:1;}
.hdp-room-name{font-family:'Raleway',sans-serif;font-size:0.82rem;color:#fff;font-weight:600;}
.hdp-room-meta{font-family:'Raleway',sans-serif;font-size:0.68rem;color:rgba(29,233,182,0.6);margin-top:3px;letter-spacing:.5px;}
.hdp-room-price{
  font-family:'Cinzel',serif;font-size:1rem;color:var(--teal);font-weight:700;
  text-align:right;flex-shrink:0;white-space:nowrap;
}
.hdp-room-price small{font-size:0.62rem;color:rgba(224,247,244,0.4);font-weight:400;display:block;}

/* Sidebar booking box */
.hdp-sidebar{align-self:stretch;margin-top:-76px;margin-left:150px;margin-right:-4%;padding-bottom:38px;position:relative;}
.hdp-sidebar .hdp-book-box{position:sticky;top:90px;}
@media(max-width:768px){
  .hdp-sidebar .hdp-book-box{position:relative !important;top:auto !important;left:auto !important;}
}
.hdp-book-box{border-radius:16px;
  background:rgba(5,18,35,0.7);border:1px solid rgba(29,233,182,0.22);
  padding:.85rem;
  font-size:0.88em;
  position:relative;
}
.hdp-book-box::before{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:17px;
  padding:1px;
  background:conic-gradient(
    from var(--angle,0deg),
    transparent 10%,
    rgba(29,233,182,0.25) 30%,
    rgba(29,233,182,0.85) 50%,
    rgba(29,233,182,0.25) 70%,
    transparent 90%
  );
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  z-index:1;
  pointer-events:none;
  animation:borderSpin 9s linear infinite;
}
.hdp-book-price{font-family:'Cinzel',serif;font-size:1.3rem;color:var(--teal);margin-bottom:.2rem;}
.hdp-book-price small{font-size:0.68rem;color:rgba(224,247,244,0.4);font-weight:400;}
.hdp-book-availability{
  font-family:'Raleway',sans-serif;font-size:0.68rem;letter-spacing:1px;
  margin:.2rem 0 .5rem;padding-top:.35rem;border-top:1px solid rgba(255,255,255,0.06);
}
.hdp-book-availability.available{color:#4cff91;}
.hdp-book-availability.limited{color:#ffc14c;}
.hdp-book-availability.sold_out{color:#ff6b6b;}
.hdp-book-btn{border-radius:8px;
  display:block;width:100%;background:var(--teal);border:none;
  color:#000;font-family:'Cinzel',serif;font-size:0.78rem;
  letter-spacing:2.5px;text-transform:uppercase;padding:14px 0;
  cursor:pointer;font-weight:800;transition:all .25s;
}
.hdp-book-btn:hover{background:#1de9b6;box-shadow:0 0 20px rgba(29,233,182,0.4);}
.hdp-book-btn:disabled{opacity:0.4;cursor:not-allowed;}

.hdp-source{
  font-family:'Raleway',sans-serif;font-size:0.65rem;color:rgba(224,247,244,0.3);
  margin-top:2rem;text-align:center;font-style:italic;
}


/* ── Hotel Detail "About" Animation ── */
#hdpDesc .hdesc-word{
  display:inline-block;
  opacity:0;
  transform:translateY(10px);
  filter:blur(3px);
  animation:hdescWordIn 0.5s ease forwards;
}
@keyframes hdescWordIn{
  to{ opacity:1; transform:translateY(0); filter:blur(0); }
}

/* ── Hotel Facilities Animation ── */
.hdp-facility{
  opacity:0;
  transform:translateX(-16px) scale(0.9);
  animation:hdpFacilityIn 0.4s ease-out forwards;
}
@keyframes hdpFacilityIn{
  0%{ opacity:0; transform:translateX(-16px) scale(0.9); }
  60%{ opacity:1; transform:translateX(2px) scale(1.04); }
  100%{ opacity:1; transform:translateX(0) scale(1); }
}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes scrollPulse{0%,100%{opacity:0;transform:scaleY(0);transform-origin:top;}50%{opacity:1;transform:scaleY(1);}}

/* ── Insurance & Visa Form CSS ── */
/* ── INSURANCE PAGE ── */
/* INSURANCE PAGE */
#insurance-page{display:none;position:fixed;inset:0;z-index:500;background:#0c2340;overflow-y:auto;}
#insurance-page.open{display:block;}
.ins-page-header{position:sticky;top:0;z-index:10;background:rgba(5,22,40,0.97);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,213,79,0.12);padding:0 5%;height:68px;display:flex;align-items:center;justify-content:space-between;}
.ins-page-back{background:transparent;border:1px solid rgba(29,233,182,0.3);color:var(--teal);font-family:'Raleway',sans-serif;font-size:0.65rem;letter-spacing:2px;text-transform:uppercase;padding:8px 18px;border-radius:8px;cursor:pointer;transition:all .3s;}
.ins-page-back:hover{background:rgba(29,233,182,0.1);}
.ins-page-body{max-width:1100px;margin:0 auto;padding:4rem 5% 6rem;}
.ins-hero{text-align:center;margin-bottom:4rem;}
.ins-hero-badge{display:inline-block;background:rgba(255,213,79,0.12);border:1px solid rgba(255,213,79,0.3);color:var(--gold);font-size:0.65rem;letter-spacing:3px;text-transform:uppercase;padding:6px 18px;border-radius:20px;margin-bottom:1.5rem;}
.ins-hero h1{font-family:'Cinzel',serif;font-size:clamp(1.8rem,4vw,2.8rem);color:#fff;letter-spacing:3px;margin-bottom:1rem;}
.ins-hero p{color:rgba(226,248,245,0.7);font-size:1rem;max-width:600px;margin:0 auto;line-height:1.7;}
.ins-alert{background:rgba(255,213,79,0.08);border:1px solid rgba(255,213,79,0.3);border-radius:12px;padding:1.2rem 1.5rem;margin-bottom:3rem;display:flex;gap:1rem;align-items:flex-start;}
.ins-alert-icon{font-size:1.4rem;flex-shrink:0;margin-top:2px;}
.ins-alert-text{font-size:0.85rem;color:rgba(255,213,79,0.9);line-height:1.6;}
.ins-alert-text strong{color:var(--gold);display:block;margin-bottom:.3rem;font-size:0.9rem;letter-spacing:1px;}
.ins-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem;}
.ins-card{background:rgba(255,255,255,0.03);border:1px solid rgba(29,233,182,0.12);border-radius:16px;padding:2rem;transition:border-color .3s;}
.ins-card:hover{border-color:rgba(29,233,182,0.3);}
.ins-card-icon{font-size:2rem;margin-bottom:1rem;}
.ins-card h3{font-family:'Cinzel',serif;font-size:1rem;color:#fff;letter-spacing:2px;margin-bottom:.8rem;}
.ins-card p{font-size:0.82rem;color:rgba(226,248,245,0.6);line-height:1.7;}
.ins-coverage-table{width:100%;border-collapse:collapse;margin-bottom:3rem;background:rgba(255,255,255,0.02);border-radius:16px;overflow:hidden;}
.ins-coverage-table th{background:rgba(255,213,79,0.08);color:var(--gold);font-family:'Raleway',sans-serif;font-size:0.7rem;letter-spacing:2px;text-transform:uppercase;padding:1rem 1.2rem;text-align:left;border-bottom:1px solid rgba(255,213,79,0.15);}
.ins-coverage-table td{padding:.9rem 1.2rem;font-size:0.83rem;color:rgba(226,248,245,0.75);border-bottom:1px solid rgba(255,255,255,0.04);}
.ins-coverage-table tr:last-child td{border-bottom:none;}
.ins-coverage-table .ins-check{color:#1de9b6;font-size:1rem;}
.ins-coverage-table .ins-amount{color:#fff;font-weight:600;}
.ins-steps{counter-reset:step;margin-bottom:3rem;}
.ins-step{display:flex;gap:1.2rem;align-items:flex-start;padding:1.5rem;background:rgba(255,255,255,0.02);border:1px solid rgba(29,233,182,0.08);border-radius:12px;margin-bottom:1rem;}
.ins-step-num{width:36px;height:36px;border-radius:50%;background:rgba(255,213,79,0.12);border:1px solid rgba(255,213,79,0.3);color:var(--gold);font-family:'Cinzel',serif;font-size:0.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;}
.ins-step-body h4{font-family:'Cinzel',serif;font-size:0.9rem;color:#fff;letter-spacing:1.5px;margin-bottom:.4rem;}
.ins-step-body p{font-size:0.8rem;color:rgba(226,248,245,0.6);line-height:1.6;}
.ins-faq{margin-bottom:3rem;}
.ins-faq-item{border-bottom:1px solid rgba(255,255,255,0.06);padding:1.2rem 0;}
.ins-faq-q{font-family:'Raleway',sans-serif;font-size:0.85rem;color:#fff;letter-spacing:1px;margin-bottom:.6rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;}
.ins-faq-a{font-size:0.8rem;color:rgba(226,248,245,0.6);line-height:1.7;display:none;}
.ins-faq-item.open .ins-faq-a{display:block;}
.ins-faq-item.open .ins-faq-q{color:var(--gold);}
.ins-cta-box{background:linear-gradient(135deg,rgba(255,213,79,0.08),rgba(29,233,182,0.05));border:1px solid rgba(255,213,79,0.2);border-radius:20px;padding:3rem;text-align:center;}
.ins-cta-box h2{font-family:'Cinzel',serif;font-size:1.6rem;color:#fff;letter-spacing:2px;margin-bottom:1rem;}
.ins-cta-box p{color:rgba(226,248,245,0.65);font-size:0.9rem;margin-bottom:2rem;line-height:1.7;}
.ins-price-highlight{font-size:2.5rem;font-family:'Cinzel',serif;color:var(--gold);font-weight:700;margin-bottom:.5rem;}
.ins-price-sub{font-size:0.75rem;color:rgba(255,213,79,0.6);letter-spacing:2px;text-transform:uppercase;margin-bottom:2rem;}
.ins-apply-btn{display:inline-block;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#000;font-family:'Raleway',sans-serif;font-size:0.75rem;letter-spacing:3px;text-transform:uppercase;font-weight:700;padding:16px 40px;border-radius:10px;border:none;cursor:pointer;transition:all .3s;text-decoration:none;}
.ins-apply-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,170,60,0.4);}
.ins-partner{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:1.5rem;font-size:0.75rem;color:rgba(226,248,245,0.5);letter-spacing:1px;}
.ins-partner-logo{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:6px;padding:4px 12px;font-family:'Cinzel',serif;font-size:0.7rem;color:rgba(226,248,245,0.7);letter-spacing:2px;}

/* ── VISA CTA BUTTON ── */
#visaCTASection{padding:2rem 1cm 1.5rem;text-align:center;background:#0c2340;}
.visa-apply-cta-btn{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--teal);color:#000;
  font-family:'Cinzel',serif;font-size:1.05rem;font-weight:800;
  letter-spacing:3px;text-transform:uppercase;
  padding:22px 56px;border-radius:14px;border:none;cursor:pointer;
  animation:visaCtaGlow 2.5s ease-in-out infinite;
  transition:transform .25s;
}
.visa-apply-cta-btn:hover{transform:scale(1.04);}
@keyframes visaCtaGlow{
  0%,100%{box-shadow:0 0 25px rgba(29,233,182,0.35),0 6px 24px rgba(0,0,0,0.3);}
  50%{box-shadow:0 0 60px rgba(29,233,182,0.8),0 6px 24px rgba(0,0,0,0.3);}
}
/* ── VISA APPLICATION FORM ── */
#visaAppForm{background:linear-gradient(135deg,rgba(5,18,34,0.98),rgba(8,24,44,0.98));border:1px solid rgba(29,233,182,0.18);border-radius:20px;padding:2.5rem;margin-bottom:2.5rem;}
.vaf-title{font-family:'Cinzel',serif;font-size:1.4rem;color:#fff;letter-spacing:2px;text-align:center;margin-bottom:.5rem;}
.vaf-subtitle{text-align:center;font-size:0.8rem;color:rgba(226,248,245,0.5);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:2rem;}
.vaf-progress{display:flex;gap:0;margin-bottom:2.5rem;position:relative;}
.vaf-progress::before{content:'';position:absolute;top:17px;left:10%;right:10%;height:2px;background:rgba(29,233,182,0.1);z-index:0;}
.vaf-step-dot{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;z-index:1;cursor:pointer;}
.vaf-dot{width:36px;height:36px;border-radius:50%;border:2px solid rgba(29,233,182,0.2);background:#0c2340;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-family:'Cinzel',serif;color:rgba(29,233,182,0.4);transition:all .3s;}
.vaf-step-dot.active .vaf-dot{border-color:var(--teal);background:rgba(29,233,182,0.1);color:var(--teal);box-shadow:0 0 12px rgba(29,233,182,0.3);}
.vaf-step-dot.done .vaf-dot{border-color:var(--teal);background:var(--teal);color:#000;}
.vaf-dot-label{font-size:0.58rem;letter-spacing:1.5px;text-transform:uppercase;color:rgba(226,248,245,0.3);text-align:center;}
.vaf-step-dot.active .vaf-dot-label{color:var(--teal);}
.vaf-panel{display:none;}
.vaf-panel.active{display:block;}
.vaf-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.vaf-row.full{grid-template-columns:1fr;}
.vaf-row.tri{grid-template-columns:1fr 1fr 1fr;}
.vaf-group{display:flex;flex-direction:column;gap:.4rem;}
.vaf-label{font-size:0.68rem;letter-spacing:2px;text-transform:uppercase;color:rgba(226,248,245,0.5);}
.vaf-label span{color:#ef5350;margin-left:2px;}
.vaf-input,.vaf-select,.vaf-textarea{background:rgba(255,255,255,0.04);border:1px solid rgba(29,233,182,0.15);border-radius:8px;color:#e2f8f5;font-family:'Raleway',sans-serif;font-size:0.82rem;padding:10px 14px;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box;}
.vaf-input:focus,.vaf-select:focus,.vaf-textarea:focus{border-color:rgba(29,233,182,0.5);background:rgba(29,233,182,0.04);}
.vaf-select option{background:#0c2340;color:#e2f8f5;}
.vaf-textarea{resize:vertical;min-height:90px;line-height:1.6;}
.vaf-hint{font-size:0.68rem;color:rgba(226,248,245,0.35);margin-top:.2rem;line-height:1.5;}
.vaf-section-label{font-family:'Cinzel',serif;font-size:0.75rem;letter-spacing:3px;color:rgba(29,233,182,0.6);text-transform:uppercase;padding:.8rem 0 .5rem;border-bottom:1px solid rgba(29,233,182,0.08);margin-bottom:1rem;}
.vaf-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.05);}
.vaf-btn-back{background:transparent;border:1px solid rgba(29,233,182,0.2);color:rgba(29,233,182,0.6);font-family:'Raleway',sans-serif;font-size:0.7rem;letter-spacing:2px;text-transform:uppercase;padding:10px 22px;border-radius:8px;cursor:pointer;transition:all .3s;}
.vaf-btn-back:hover{border-color:var(--teal);color:var(--teal);}
.vaf-btn-next{background:linear-gradient(135deg,var(--teal),rgba(0,229,255,0.8));color:#000;font-family:'Raleway',sans-serif;font-size:0.72rem;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;padding:12px 28px;border-radius:8px;border:none;cursor:pointer;transition:all .3s;}
.vaf-btn-next:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(29,233,182,0.35);}
.vaf-btn-submit{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#000;font-family:'Raleway',sans-serif;font-size:0.72rem;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;padding:14px 32px;border-radius:10px;border:none;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px;}
.vaf-btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,170,60,0.45);}
.vaf-step-count{font-size:0.72rem;color:rgba(226,248,245,0.35);letter-spacing:1px;}
.vaf-upload-box{border:1px dashed rgba(29,233,182,0.25);border-radius:10px;padding:1.2rem;text-align:center;cursor:pointer;transition:all .3s;position:relative;}
.vaf-upload-box:hover{border-color:rgba(29,233,182,0.5);background:rgba(29,233,182,0.03);}
.vaf-upload-box input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.vaf-upload-icon{font-size:1.6rem;margin-bottom:.4rem;}
.vaf-upload-label{font-size:0.75rem;color:rgba(226,248,245,0.5);letter-spacing:1px;}
.vaf-upload-spec{font-size:0.65rem;color:rgba(226,248,245,0.3);margin-top:.3rem;}
.vaf-upload-preview{display:none;align-items:center;gap:.6rem;margin-top:.6rem;background:rgba(29,233,182,0.05);border-radius:6px;padding:.5rem .8rem;}
.vaf-preview-name{font-size:0.72rem;color:var(--teal);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vaf-remove-file{background:none;border:none;color:rgba(255,80,80,0.7);cursor:pointer;font-size:.9rem;}
.vaf-checkbox-group{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.3rem;}
.vaf-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;}
.vaf-checkbox input{accent-color:var(--teal);width:15px;height:15px;}
.vaf-checkbox span{font-size:0.78rem;color:rgba(226,248,245,0.65);}
.vaf-alert-box{background:rgba(255,213,79,0.07);border:1px solid rgba(255,213,79,0.25);border-radius:10px;padding:1rem 1.2rem;margin-bottom:1.2rem;font-size:0.78rem;color:rgba(255,213,79,0.85);line-height:1.7;}
.vaf-success{display:none;text-align:center;padding:3rem 1rem;}
.vaf-success-icon{font-size:4rem;margin-bottom:1rem;}
.vaf-success h3{font-family:'Cinzel',serif;font-size:1.3rem;color:#fff;letter-spacing:2px;margin-bottom:.8rem;}
.vaf-success p{font-size:0.83rem;color:rgba(226,248,245,0.6);line-height:1.7;max-width:450px;margin:0 auto;}
.vaf-review-box{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);border-radius:12px;padding:1.2rem;margin-bottom:1rem;}
.vaf-review-title{font-family:'Cinzel',serif;font-size:0.78rem;color:var(--teal);letter-spacing:2px;margin-bottom:.8rem;}
.vaf-review-row{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,0.04);font-size:0.78rem;}
.vaf-review-row:last-child{border-bottom:none;}
.vaf-review-key{color:rgba(226,248,245,0.4);}
.vaf-review-val{color:rgba(226,248,245,0.85);text-align:right;max-width:65%;}
.vaf-terms{background:rgba(255,255,255,0.02);border:1px solid rgba(29,233,182,0.1);border-radius:8px;padding:1rem;margin-bottom:1rem;}
.vaf-terms-text{font-size:0.72rem;color:rgba(226,248,245,0.45);line-height:1.7;max-height:100px;overflow-y:auto;margin-bottom:.8rem;}
.vaf-fee-box{background:rgba(255,213,79,0.06);border:1px solid rgba(255,213,79,0.2);border-radius:12px;padding:1.2rem;text-align:center;margin-bottom:1.5rem;}
.vaf-fee-amount{font-family:'Cinzel',serif;font-size:2rem;color:var(--gold);font-weight:700;}
.vaf-fee-label{font-size:0.7rem;color:rgba(255,213,79,0.5);letter-spacing:2px;text-transform:uppercase;margin-top:.2rem;}
.vaf-fee-note{font-size:0.72rem;color:rgba(226,248,245,0.4);margin-top:.6rem;line-height:1.6;}
@media(max-width:700px){
  .vaf-row{grid-template-columns:1fr;}
  .vaf-row.tri{grid-template-columns:1fr 1fr;}
  .vaf-dot-label{display:none;}
  #visaAppForm{padding:1.5rem 1rem;}
}



/* ══ Visa Form — 1cm side margin + neon border card ══ */
#visaFormWrapper{
  width:100%;
  background:#0c2340;
  border-bottom:1px solid rgba(29,233,182,0.1);
  padding:1rem 1cm 1.2rem;
  box-sizing:border-box;
}
/* The card that wraps the form with neon border */
/* ══ نوار نوری ══
   ساختار: visaFormCard (wrapper) → نوار نور در 2px بین card و inner
                        visaFormInner (سپر solid) → محتوا را می‌پوشاند
*/
#visaFormCard{
  position:relative;
  z-index:0;
  border-radius:16px;
  background:#07172d;
  padding:2px;
}
/* inner: سپر solid روی محتوا — نور نمی‌تونه نفوذ کنه */
#visaFormInner{
  position:relative;
  z-index:2;
  border-radius:14px;
  background:#07172d;
  padding:1.2rem 1.5rem 1rem;
  isolation:isolate;
}
/* لایه ۱: نوار نور — بین card و inner قرار می‌گیره */
/* نوار نوری متحرک — قوس پهن بدون نقطه اوج مشخص */
#visaFormCard::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:16px;
  padding:1.5px;
  background:conic-gradient(
    from var(--angle,0deg),
    rgba(29,233,182,0)    0deg,
    rgba(29,233,182,0)    20deg,
    rgba(29,233,182,0.4)  55deg,
    rgba(29,233,182,0.75) 80deg,
    rgba(29,233,182,0.75) 110deg,
    rgba(29,233,182,0.4)  145deg,
    rgba(29,233,182,0)    180deg,
    rgba(29,233,182,0)    360deg
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  z-index:1;
  pointer-events:none;
  animation:borderSpin 5s linear infinite;
}
/* هاله بیرونی blur شده */
#visaFormCard::after{
  content:'';
  position:absolute;
  inset:-5px;
  border-radius:21px;
  background:conic-gradient(
    from var(--angle,0deg),
    rgba(29,233,182,0)    0deg,
    rgba(29,233,182,0)    20deg,
    rgba(29,233,182,0.12) 55deg,
    rgba(29,233,182,0.28) 80deg,
    rgba(29,233,182,0.28) 110deg,
    rgba(29,233,182,0.12) 145deg,
    rgba(29,233,182,0)    180deg,
    rgba(29,233,182,0)    360deg
  );
  filter:blur(10px);
  z-index:-1;
  pointer-events:none;
  animation:borderSpin 5s linear infinite;
}
#visaAppForm{
  background:transparent!important;
  border:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  max-width:none!important;
  width:100%!important;
}
.vaf-title{font-size:1.35rem!important;margin-bottom:.2rem!important;}
.vaf-subtitle{font-size:0.78rem!important;margin-bottom:.9rem!important;letter-spacing:2px;}
.vaf-progress{margin-bottom:.9rem!important;}
.vaf-progress::before{top:13px!important;}
.vaf-dot{width:30px!important;height:30px!important;font-size:0.72rem!important;}
.vaf-dot-label{font-size:0.62rem!important;letter-spacing:1px!important;}
.vaf-section-label{font-size:0.8rem!important;padding:.5rem 0 .3rem!important;margin-bottom:.7rem!important;}
.vaf-row{gap:.5rem!important;margin-bottom:.5rem!important;}
.vaf-label{font-size:0.74rem!important;letter-spacing:1.5px!important;}
.vaf-input,.vaf-select{padding:7px 11px!important;font-size:0.9rem!important;}
.vaf-textarea{padding:7px 11px!important;font-size:0.9rem!important;min-height:60px!important;}
.vaf-hint{font-size:0.72rem!important;margin-top:.15rem!important;}
.vaf-nav{margin-top:.8rem!important;padding-top:.8rem!important;}
.vaf-btn-next,.vaf-btn-back{padding:9px 20px!important;font-size:0.78rem!important;}
.vaf-btn-submit{padding:11px 24px!important;font-size:0.78rem!important;}
.vaf-upload-box{padding:.6rem!important;}
.vaf-upload-icon{font-size:1.1rem!important;margin-bottom:.2rem!important;}
.vaf-upload-label{font-size:0.8rem!important;}
.vaf-upload-spec{font-size:0.72rem!important;}
.vaf-review-box{padding:.7rem!important;margin-bottom:.6rem!important;}
.vaf-review-title{font-size:0.68rem!important;margin-bottom:.5rem!important;}
.vaf-review-row{padding:.35rem 0!important;font-size:0.84rem!important;}
.vaf-fee-box{padding:.7rem!important;margin-bottom:1rem!important;}
.vaf-fee-amount{font-size:1.7rem!important;}
.vaf-fee-label{font-size:0.75rem!important;}
.vaf-fee-note{font-size:0.78rem!important;margin-top:.3rem!important;}
.vaf-terms{padding:.6rem!important;margin-bottom:.7rem!important;}
.vaf-terms-text{font-size:0.78rem!important;max-height:80px!important;margin-bottom:.6rem!important;}
.vaf-success{padding:1.5rem 1rem!important;}
.vaf-success-icon{font-size:2.5rem!important;margin-bottom:.6rem!important;}
.vaf-success h3{font-size:1rem!important;}
.vaf-alert-box{padding:.6rem .9rem!important;margin-bottom:.7rem!important;font-size:0.72rem!important;}
.vaf-checkbox-group{gap:.5rem!important;}
.vaf-checkbox span{font-size:0.86rem!important;}
.vaf-step-count{font-size:0.76rem!important;}




/* Override: this tour's content is now the main content of a standalone page */
.tp-content{ display:block !important; padding-top:68px; }
.tp-standalone-header{
  padding:1.3rem 8%; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem;
  background:#0c2340; border-bottom:1px solid rgba(29,233,182,0.15);
}
.tp-standalone-logo{font-family:'Cinzel',serif;font-size:1.1rem;letter-spacing:3px;color:var(--teal);text-decoration:none;}
.tp-standalone-back{
  font-family:'Raleway',sans-serif;font-size:0.7rem;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(226,248,245,0.7);text-decoration:none;display:flex;align-items:center;gap:.4rem;
  border:1px solid rgba(226,248,245,0.2);padding:.5rem 1rem;border-radius:7px;transition:all .2s;
}
.tp-standalone-back:hover{border-color:var(--teal);color:var(--teal);}
.tp-standalone-othertours{
  padding:1.5rem 8%;background:#0a1e36;border-top:1px solid rgba(29,233,182,0.12);
  display:flex;gap:1rem;flex-wrap:wrap;align-items:center;max-height:180px;overflow-y:auto;
}
.tp-standalone-othertours-label{font-size:0.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(226,248,245,0.4);margin-right:.5rem;}
.tp-standalone-nav-link{
  font-family:'Raleway',sans-serif;font-size:0.72rem;color:rgba(226,248,245,0.65);text-decoration:none;
  border:1px solid rgba(29,233,182,0.2);padding:.4rem .9rem;border-radius:20px;transition:all .2s;
}
.tp-standalone-nav-link:hover{border-color:var(--teal);color:var(--teal);}

