/* ===== TOUR HERO SECTION ===== */
.details summary:hover{
  color:#ff7a00;
}

.tour-hero{
  background:#f7f9fc;
  padding:50px 20px;
}

.tour-hero-container{
  max-width:1150px;
  margin:auto;
  display:flex;
  align-items:center;
  gap:50px;
}

/* IMAGE */
.tour-hero-image{
  flex:1;
}

.tour-hero-image img{
  width:100%;
  height:auto;
  border-radius:16px;
  box-shadow:0 12px 28px rgba(0,0,0,0.18);
}

/* CONTENT */
.tour-hero-content{
  flex:1;
}

.badge{
  display:inline-block;
  background:#ffe8cc;
  color:#b45309;
  padding:6px 12px;
  border-radius:20px;
  font-size:13px;
  font-weight:600;
  margin-bottom:12px;
}

.tour-hero h1{
  font-size:36px;
  line-height:1.25;
  margin:10px 0;
}

.tour-hero h1 span{
  color:#ff7a00;
  font-weight:700;
}

.includes{
  font-size:17px;
  color:#444;
  margin-bottom:14px;
}

/* PRICE */
.price-box{
  margin:18px 0 5px;
}

.price-box .old{
  text-decoration:line-through;
  color:#888;
  font-size:18px;
  margin-right:10px;
}

.price-box .new{
  font-size:34px;
  color:#e63946;
  font-weight:800;
  margin-right:10px;
}

.price-box small{
  display:block;
  color:#666;
  font-size:13px;
}

.urgency{
  color:#d90429;
  font-weight:600;
  margin-top:6px;
  font-size:14px;
}

/* BUTTONS */
.cta-buttons{
  margin:22px 0 14px;
}

.btn-wa,
.btn-quote{
  padding:14px 26px;
  border-radius:10px;
  text-decoration:none;
  font-weight:700;
  display:inline-block;
  transition:.25s;
}

.btn-wa{
  background:#25D366;
  color:#fff;
  margin-right:12px;
}

.btn-wa:hover{
  background:#1ebe5d;
}

.btn-quote{
  background:#ff7a00;
  color:#fff;
}

.btn-quote:hover{
  background:#e56e00;
}

.trust{
  margin-top:10px;
  color:#555;
  font-size:14px;
}

/* ================= MOBILE ================= */

@media (max-width: 900px){

  .tour-hero-container{
    flex-direction:column;
    gap:25px;
    text-align:center;
  }

  .tour-hero{
    padding:30px 16px;
  }

  .tour-hero h1{
    font-size:26px;
  }

  .includes{
    font-size:15px;
  }

  .price-box .new{
    font-size:28px;
  }

  .btn-wa,
  .btn-quote{
    width:100%;
    margin:6px 0;
  }

  .cta-buttons{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .trust{
    font-size:13px;
  }
}

/* EXTRA SMALL MOBILE */

@media (max-width:480px){

  .tour-hero h1{
    font-size:22px;
  }

  .price-box .new{
    font-size:26px;
  }

  .badge{
    font-size:12px;
    padding:5px 10px;
  }

}


.price-box small{
  display:block;
  color:#666;
}

.cta-buttons{
  margin:18px 0;
}

.btn-wa{
  background:#25D366;
  color:#fff;
  padding:12px 22px;
  border-radius:8px;
  text-decoration:none;
  margin-right:10px;
  display:inline-block;
  font-weight:600;
}

.btn-quote{
  background:#ff7a00;
  color:#fff;
  padding:12px 22px;
  border-radius:8px;
  text-decoration:none;
  display:inline-block;
  font-weight:600;
}

.trust{
  margin-top:12px;
  color:#555;
  font-size:14px;
}

/* MOBILE */
@media(max-width:768px){

  .tour-hero-container{
    flex-direction:column;
    text-align:center;
  }

  .tour-hero h1{
    font-size:26px;
  }

  .price-box .new{
    font-size:26px;
  }
}

.top-left{
  display:flex;
  flex-direction:column;
}

.packages-title{
  font-size:20px;
  font-weight:700;
  margin:0 0 4px;
}

.mobile-hero {
  background-image:url('/asset/images/Thailand/slider-1.webp');
  background-size:cover;
  background-position:center;
}

.th-header,
.th-header.sticky,
.th-header.fixed,
.th-header.is-sticky,
.th-header.sticky-header {
    position: relative !important;
    top: auto !important;
}

body {
    padding-top: 0 !important;
}
/* ===== PRICE DISCLAIMER ===== */
.price-disclaimer{
  display:block;
  font-size:13px;
  color:#334155;
  line-height:1.5;
  background:#f8fafc;
  border-left:4px solid #3b82f6;
  padding:10px 16px;
  border-radius:10px;
  max-width:760px;
  margin:14px auto 18px;
  box-shadow:0 1px 2px rgba(0,0,0,0.04);
  margin-top:-20px;
}

/* ===== CARD IMAGE ===== */
.tour-img img{
  height:160px;
  object-fit:cover;
  border-radius:12px;
}

/* ===== TEXT SPACING ===== */
.tour-title{
  margin-bottom:2px;
  font-weight:600;
}

.tour-fit{
  font-size:12px;
  color:#64748b;
  margin-top:2px;
}

.tour-route{
  margin-bottom:4px;
  font-size:13px;
  color:#6b7280;
}

.tour-high{
  margin:4px 0 4px;
  line-height:1.35;
  font-size:13px;
  color:#374151;
}

/* ===== META BADGES ===== */
.tour-meta{
  margin-top:4px;
}

.tour-meta span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:11.5px;
  color:#374151;
  background:#f3f4f6;
  padding:3px 7px;
  border-radius:6px;
  margin:3px 4px 0 0;
  white-space:nowrap;
}

/* ===== RIGHT COLUMN ===== */
.tour-action{
  padding-top:4px;
}

.price{
  margin-bottom:6px;
}

.final{
  font-size:22px;
  font-weight:700;
}

.pp{
  font-size:11px;
  color:#6b7280;
}

/* ===== BUTTONS ===== */
.btn-wa{
  margin-bottom:4px;
}

.btn-enq{
  margin-bottom:4px;
}

/* ===== TRUST TEXT ===== */
.reply-time{
  font-size:12px;
  color:#059669;
  margin:2px 0 6px;
  font-weight:500;
}

.payment-note{
  font-size:11.5px;
  color:black;
  margin-top:4px;
}

/* ===== MOBILE ===== */
@media (max-width:768px){

  .price-disclaimer{
    font-size:12.5px;
    padding:9px 14px;
    margin:10px 12px 14px;
    margin-top:-20px;
  }

  .tour-img img{
    height:200px;
  }

  .final{
    font-size:20px;
  }

}

/* make right column stronger */
.tour-action{
  min-width:210px;
}

/* price more prominent */
.price del{
  font-size:12px;
  color:#9ca3af;
}

.off{
  font-size:12px;
  color:#ef4444;
  font-weight:600;
}

.final{
  font-size:24px;
  font-weight:700;
  color:#111827;
  margin-top:2px;
}
/* ===== HIGHLIGHTS STRIP ===== */

.tour-highlights{
  background:#ffffff;
  padding:30px 15px;
  border-bottom:1px solid #eee;
}

.highlights-container{
  max-width:1150px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.highlight-item{
  flex:1;
  min-width:170px;
  display:flex;
  align-items:center;
  gap:12px;
  background:#fafafa;
  padding:14px;
  border-radius:12px;
  transition:.25s;
}

.highlight-item:hover{
  background:#fff3e8;
  transform:translateY(-2px);
}

.icon{
  font-size:26px;
}

.text strong{
  display:block;
  font-size:15px;
}

.text span{
  font-size:13px;
  color:#666;
}

/* MOBILE */
@media(max-width:768px){

  .highlights-container{
    gap:10px;
  }

  .highlight-item{
    flex:1 1 48%;
  }

}

@media(max-width:480px){

  .highlight-item{
    flex:1 1 100%;
  }

}
/* ===== COMPACT DETAILS TABS ===== */

/* ===== BEAUTIFUL TOUR DETAILS ===== */

.tour-details{
  padding:50px 15px;
  background:#f4f7fb;
}

.details-container{
  max-width:900px;
  margin:auto;
}

.details-title{
  text-align:center;
  font-size:30px;
  margin-bottom:25px;
  font-weight:700;
}

/* tabs */
.tabs{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-bottom:25px;
}

.tab-btn{
  padding:10px 22px;
  border:none;
  background:#eaeaea;
  border-radius:30px;
  cursor:pointer;
  font-weight:600;
  transition:.25s;
}

.tab-btn:hover{
  background:#ffd7b3;
}

.tab-btn.active{
  background:#ff7a00;
  color:#fff;
  box-shadow:0 4px 12px rgba(255,122,0,.35);
}

/* itinerary cards */
.tab-content details{
  background:#fff;
  margin-bottom:14px;
  padding:18px 20px;
  border-radius:16px;
  box-shadow:0 6px 18px rgba(0,0,0,0.08);
  transition:.25s;
}

.tab-content details:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,0.12);
}

/* summary header */
.tab-content summary{
  font-weight:700;
  font-size:16px;
  cursor:pointer;
  list-style:none;
  position:relative;
  padding-left:42px;
}

/* day number badge */
.tab-content summary::before{
  content:"Day";
  position:absolute;
  left:0;
  top:-2px;
  background:#ff7a00;
  color:#fff;
  font-size:11px;
  padding:4px 8px;
  border-radius:6px;
  font-weight:700;
}

/* list */
.tab-content ul{
  margin-top:12px;
  padding-left:20px;
}

.tab-content li{
  margin:7px 0;
  color:#444;
  line-height:1.5;
}

/* included excluded */
.list{
  background:#fff;
  padding:18px 22px;
  border-radius:16px;
  box-shadow:0 6px 18px rgba(0,0,0,0.08);
}

.list li{
  margin:10px 0;
  padding-left:5px;
  font-size:15px;
}

/* markers */
.yes li::marker{ color:#2e7d32; }
.no li::marker{ color:#d90429; }

/* mobile */
@media(max-width:600px){

  .details-title{
    font-size:24px;
  }

  .tab-btn{
    padding:8px 16px;
    font-size:14px;
  }

  .tab-content summary{
    font-size:15px;
    padding-left:38px;
  }

}
/* ===== INCLUDED / EXCLUDED ICON STYLE ===== */

.list{
  list-style:none;
  padding-left:0;
}

.list li{
  position:relative;
  padding-left:30px;
  margin:10px 0;
  font-size:15px;
}

/* included check */
.yes li::before{
  content:"✔";
  position:absolute;
  left:0;
  top:0;
  color:#2e7d32;
  font-weight:bold;
}

/* excluded cross */
.no li::before{
  content:"✖";
  position:absolute;
  left:0;
  top:0;
  color:#d90429;
  font-weight:bold;
}
/* FORCE TAB VISIBILITY CONTROL */

.tab-content{
  display:none !important;
}

.tab-content.active{
  display:block !important;
}
/* intro */
.tour-intro{padding:35px 15px 10px;background:#fff}
.tour-intro-container{max-width:1050px;margin:auto}
.tour-intro h2{font-size:28px;margin-bottom:10px}
.tour-intro p{color:#555;line-height:1.7}

/* layout */
.tour-main{padding:40px 15px;background:#f4f7fb}
.tour-container{max-width:1200px;margin:auto;display:grid;grid-template-columns:2fr 1fr;gap:35px}

/* sticky form */
.enquiry-box{position:sticky;top:110px;background:#fff;padding:24px;border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.12);text-align:center}
.enquire-btn{display:block;background:#ff7a00;color:#fff;padding:13px;border-radius:10px;font-weight:700;text-decoration:none;margin:12px 0}
.whatsapp-btn{display:block;background:#25D366;color:#fff;padding:13px;border-radius:10px;font-weight:700;text-decoration:none}
.divider{margin:12px 0;color:#777}
.trust-mini{margin-top:14px;font-size:13px;color:#666}

/* tabs visibility */
.tab-content{display:none!important}
.tab-content.active{display:block!important}

/* mobile */
@media(max-width:900px){
.tour-container{grid-template-columns:1fr}
.enquiry-box{position:static}
}

/* ===== ACCORDION ARROW ===== */

/* remove default arrow */
details summary::-webkit-details-marker {
  display: none;
}
details summary::marker {
  display: none;
}

/* summary styling */
details summary{
  position:relative;
  cursor:pointer;
  padding-right:35px;
}

/* custom arrow */
details summary::after{
  content:"▼";
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%) rotate(0deg);
  font-size:14px;
  color:#ff7a00;
  transition:transform .25s ease;
}

/* rotate when open */
details[open] summary::after{
  transform:translateY(-50%) rotate(180deg);
}
.related-packages{
  background:#f5f7fb;
  padding:30px 15px;
  margin-top:30px;
}

.related-container{
  max-width:1000px;
  margin:auto;
}

.related-list{
  list-style:none;
  padding:0;
}

.related-list li{
  margin:8px 0;
}

.related-list a{
  color:#1e63d6;
  text-decoration:none;
  font-weight:600;
}

.related-list a:hover{
  text-decoration:underline;
}
