:root{
  --thtp-navy:#073E77;
  --thtp-dark:#082B49;
  --thtp-deep:#031A2F;
  --thtp-gold:#F5A900;
  --thtp-aqua:#13A8C9;
  --thtp-text:#173042;
  --thtp-muted:#6E7C87;
  --thtp-white:#FFFFFF;
  --thtp-soft:#F7FAFC;
  --thtp-ivory:#FFFDF8;
  --thtp-border:#E5ECF1;
  --thtp-shadow:0 16px 42px rgba(8,43,73,.075);
}

/* ---------------------------------------------------------
   Strong isolation / typography
   --------------------------------------------------------- */
.thtp-package-section,
.thtp-package-section *,
.thtp-single-page,
.thtp-single-page *{
  box-sizing:border-box;
  font-family:'Raleway',Arial,sans-serif !important;
}

.thtp-package-section img,
.thtp-single-page img{max-width:100%;}

.thtp-package-section a,
.thtp-single-page a{text-decoration:none;}

.thtp-container{
  width:100%;
  max-width:1320px;
  margin:0 auto;
  padding:0 24px;
}

/* =========================================================
   PACKAGE LISTING
   ========================================================= */
.thtp-package-section{
  width:100%;
  padding:46px 0 76px;
  background:
    radial-gradient(circle at 0% 5%,rgba(19,168,201,.055),transparent 27%),
    radial-gradient(circle at 100% 95%,rgba(245,169,0,.065),transparent 27%),
    linear-gradient(180deg,#F8FBFC 0%,#FFFFFF 52%,#FFFDF8 100%);
}

.thtp-layout{
  display:grid;
  grid-template-columns:minmax(0,2.35fr) minmax(300px,.95fr);
  align-items:start;
  gap:24px;
}

.thtp-package-column{min-width:0;}
.thtp-package-list{display:flex;flex-direction:column;gap:16px;}

.thtp-package-card{
  width:100%;
  height:252px;
  display:grid;
  grid-template-columns:230px minmax(0,1fr) 185px;
  overflow:hidden;
  border:1px solid var(--thtp-border);
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 36px rgba(8,43,73,.06);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.thtp-package-card:hover{
  transform:translateY(-3px);
  border-color:rgba(245,169,0,.35);
  box-shadow:0 22px 52px rgba(8,43,73,.10);
}

.thtp-package-image{position:relative;height:100%;overflow:hidden;background:#DFE8EC;}
.thtp-package-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .7s ease;}
.thtp-package-card:hover .thtp-package-image img{transform:scale(1.045);}
.thtp-package-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(3,26,47,.22),transparent 54%);pointer-events:none;}
.thtp-package-badge{
  position:absolute;z-index:3;left:14px;top:14px;
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;
  background:rgba(3,26,47,.68);color:#fff;
  font-size:9px;font-weight:700;letter-spacing:.65px;text-transform:uppercase;
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
}
.thtp-package-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--thtp-gold);}

.thtp-package-info{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:22px 24px;}
.thtp-package-location{color:var(--thtp-aqua);font-size:10px;font-weight:700;letter-spacing:1.25px;text-transform:uppercase;}
.thtp-package-info h3{margin:7px 0 0;color:var(--thtp-navy);font-size:23px;line-height:1.18;font-weight:700;letter-spacing:-.35px;}
.thtp-package-info>p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:9px 0 0;color:var(--thtp-muted);font-size:12.5px;line-height:1.55;font-weight:500;}
.thtp-package-divider{width:100%;height:1px;margin:15px 0 13px;background:var(--thtp-border);}

.thtp-inclusions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;}
.thtp-inclusion{min-width:0;text-align:center;}
.thtp-icon{
  width:47px;height:47px;display:flex;align-items:center;justify-content:center;margin:0 auto 7px;
  border:1px solid rgba(19,168,201,.18);border-radius:15px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F4FBFD 100%);
  color:var(--thtp-aqua);box-shadow:0 8px 20px rgba(19,168,201,.07);
}
.thtp-icon svg{width:21px!important;height:21px!important;display:block!important;fill:none!important;stroke:currentColor!important;}
.thtp-inclusion>span:last-child{display:block;overflow:hidden;color:var(--thtp-text);font-size:9px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;}

.thtp-price-area{
  height:100%;display:flex;flex-direction:column;justify-content:center;padding:18px;
  border-left:1px solid var(--thtp-border);
  background:linear-gradient(145deg,#FBFDFE 0%,#FFFDF8 100%);text-align:center;
}
.thtp-duration{padding-bottom:12px;border-bottom:1px solid var(--thtp-border);color:var(--thtp-text);font-size:11.5px;font-weight:700;line-height:1.3;}
.thtp-category{padding:11px 0;border-bottom:1px solid var(--thtp-border);color:var(--thtp-muted);font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;}
.thtp-price{margin-top:13px;color:var(--thtp-aqua);font-size:25px;line-height:1;font-weight:800;}
.thtp-price-note{display:block;margin-top:6px;color:var(--thtp-muted);font-size:9px;font-weight:500;}
.thtp-card-actions{display:flex;flex-direction:column;gap:7px;margin-top:14px;}
.thtp-btn{width:100%;min-height:39px;display:flex;align-items:center;justify-content:center;padding:0 12px;border-radius:9px;font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;transition:.22s ease;}
.thtp-btn-primary{border:1px solid var(--thtp-navy);background:var(--thtp-navy);color:#fff!important;}
.thtp-btn-primary:hover{transform:translateY(-1px);border-color:var(--thtp-gold);background:var(--thtp-gold);color:var(--thtp-dark)!important;}
.thtp-btn-primary:focus,.thtp-btn-primary:active{border-color:var(--thtp-navy)!important;background:var(--thtp-navy)!important;color:#fff!important;}
.thtp-btn-enquiry{border:1px solid var(--thtp-aqua);background:var(--thtp-aqua);color:#fff!important;}
.thtp-btn-enquiry:hover{transform:translateY(-1px);border-color:var(--thtp-navy);background:var(--thtp-navy);color:#fff!important;}
.thtp-btn-enquiry:focus,.thtp-btn-enquiry:active{border-color:var(--thtp-aqua)!important;background:var(--thtp-aqua)!important;color:#fff!important;}

.thtp-empty{padding:40px 20px;border:1px solid var(--thtp-border);border-radius:18px;background:#fff;color:var(--thtp-muted);font-size:13px;text-align:center;}

/* Clean pagination: no browser bullets */
.thtp-pagination{margin-top:26px;}
.thtp-pagination-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;}
.thtp-pagination-links .page-numbers{
  min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  margin:0!important;padding:0 12px!important;border:1px solid var(--thtp-border)!important;border-radius:10px!important;
  background:#fff!important;color:var(--thtp-navy)!important;font-size:11px!important;font-weight:700!important;line-height:1!important;
  box-shadow:0 7px 18px rgba(8,43,73,.04);transition:.22s ease;
}
.thtp-pagination-links a.page-numbers:hover{border-color:var(--thtp-gold)!important;background:var(--thtp-gold)!important;color:var(--thtp-dark)!important;transform:translateY(-1px);}
.thtp-pagination-links .current{border-color:var(--thtp-navy)!important;background:var(--thtp-navy)!important;color:#fff!important;}

/* =========================================================
   SHARED SIDEBAR / FORM
   ========================================================= */
.thtp-sidebar{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px;min-width:0;}
.thtp-enquiry-box{overflow:hidden;border:1px solid var(--thtp-border);border-radius:20px;background:#fff;box-shadow:var(--thtp-shadow);}
.thtp-enquiry-top{padding:24px 22px 21px;background:radial-gradient(circle at 100% 0%,rgba(19,168,201,.24),transparent 42%),linear-gradient(135deg,#073E77 0%,#082B49 100%);}
.thtp-enquiry-mini{color:var(--thtp-gold);font-size:9px;font-weight:700;letter-spacing:1.35px;text-transform:uppercase;}
.thtp-enquiry-top h3{margin:7px 0 0;color:#fff;font-size:23px;line-height:1.15;font-weight:700;letter-spacing:-.35px;}
.thtp-enquiry-top p{margin:8px 0 0;color:rgba(255,255,255,.73);font-size:11px;line-height:1.55;font-weight:500;}
.thtp-enquiry-form{padding:20px;}
.thtp-enquiry-form label{display:block;margin-bottom:12px;color:var(--thtp-text);font-size:9px;font-weight:700;letter-spacing:.65px;text-transform:uppercase;}
.thtp-enquiry-form input[type=text],.thtp-enquiry-form input[type=tel],.thtp-enquiry-form input[type=email]{width:100%;height:45px;margin-top:6px;padding:0 12px;border:1px solid var(--thtp-border);border-radius:9px;outline:none;background:#FBFDFE;color:var(--thtp-text);font-size:12px;font-weight:500;transition:.22s ease;}
.thtp-enquiry-form input:focus{border-color:rgba(19,168,201,.75);background:#fff;box-shadow:0 0 0 3px rgba(19,168,201,.08);}
.thtp-enquiry-form button{width:100%;min-height:45px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:3px;border:0;border-radius:9px;background:var(--thtp-gold);color:var(--thtp-dark);cursor:pointer;font-size:9px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;transition:.22s ease;}
.thtp-enquiry-form button:hover{transform:translateY(-2px);background:#FFC13A;}
.thtp-enquiry-form button svg{width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important;}
.thtp-privacy{margin:11px 0 0!important;color:#8B98A1!important;font-size:8.5px!important;line-height:1.5!important;text-align:center!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;}
.thtp-selected-package{margin-bottom:11px;padding:10px 11px;border:1px solid rgba(245,169,0,.22);border-radius:8px;background:rgba(245,169,0,.075);color:var(--thtp-text);font-size:10px;line-height:1.45;}
.thtp-selected-package strong{color:var(--thtp-navy);}
.thtp-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;}
.thtp-form-message{padding:12px 16px;font-size:10px;font-weight:600;}.thtp-form-message.is-success{background:#edf9f2;color:#237a43;}.thtp-form-message.is-error{background:#fff2f2;color:#9d3030;}

.thtp-promo-banner{position:relative;min-height:205px;display:flex;align-items:flex-end;overflow:hidden;border-radius:20px;background:var(--thtp-dark);box-shadow:0 14px 38px rgba(8,43,73,.09);}
.thtp-promo-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.thtp-promo-banner:hover img{transform:scale(1.04);}
.thtp-promo-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(3,26,47,.97),rgba(3,26,47,.12) 72%);}
.thtp-promo-content{position:relative;z-index:3;display:block;padding:20px;}
.thtp-promo-content small{display:block;color:var(--thtp-gold);font-size:9px;font-style:normal;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.thtp-promo-content strong{display:block;max-width:250px;margin-top:5px;color:#fff;font-size:21px;line-height:1.08;font-weight:800;letter-spacing:-.4px;}
.thtp-promo-content em{display:block;max-width:245px;margin-top:7px;color:rgba(255,255,255,.72);font-size:9px;line-height:1.5;font-style:normal;font-weight:500;}

/* =========================================================
   SINGLE PACKAGE PAGE
   ========================================================= */
body.single-thtp_package{background:#fff!important;}
body.single-thtp_package #content,
body.single-thtp_package #content>.ast-container,
body.single-thtp_package #primary,
body.single-thtp_package .content-area,
body.single-thtp_package main.site-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important;}
body.single-thtp_package #secondary,
body.single-thtp_package .widget-area,
body.single-thtp_package .ast-sidebar{display:none!important;}
body.single-thtp_package .thtp-single-page{position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:0!important;background:#fff;color:var(--thtp-text);overflow:hidden;}
body.single-thtp_package .thtp-single-page svg{max-width:none!important;}
.thtp-print-brand{display:none;}

.thtp-detail-hero{
  position:relative;
  width:100%;
  min-height:610px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background-image:var(--thtp-detail-bg);
  background-size:cover;
  background-position:center 52%;
  background-repeat:no-repeat;
  background-color:var(--thtp-deep);
  color:#fff;
}
.thtp-detail-hero:before{
  content:"";
  position:absolute;
  z-index:1;
  width:500px;
  height:500px;
  left:-280px;
  top:-270px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(19,168,201,.20),transparent 68%);
  pointer-events:none;
}
.thtp-detail-hero:after{
  content:"";
  position:absolute;
  z-index:1;
  width:430px;
  height:430px;
  right:-230px;
  bottom:-285px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(245,169,0,.16),transparent 68%);
  pointer-events:none;
}
.thtp-detail-hero-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(3,26,47,.91) 0%,rgba(3,26,47,.80) 30%,rgba(3,26,47,.52) 57%,rgba(3,26,47,.18) 100%),
    linear-gradient(180deg,rgba(3,26,47,.10) 0%,rgba(3,26,47,.02) 44%,rgba(3,26,47,.40) 100%);
}
.thtp-detail-hero-inner{
  position:relative;
  z-index:3;
  width:100%;
  max-width:1320px;
  margin:0 auto;
  padding:70px 24px;
}
.thtp-detail-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 24px;
}
.thtp-detail-breadcrumb a,
.thtp-detail-breadcrumb span{
  color:rgba(255,255,255,.64)!important;
  font-size:7px!important;
  line-height:1.2;
  font-weight:600!important;
  letter-spacing:1px!important;
  text-transform:uppercase;
  text-decoration:none!important;
}
.thtp-detail-breadcrumb a:hover{color:var(--thtp-gold)!important}
.thtp-detail-breadcrumb i{
  width:4px;
  height:4px;
  flex:0 0 4px;
  border-radius:50%;
  background:var(--thtp-gold);
}
.thtp-detail-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--thtp-gold);
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:2.2px;
  text-transform:uppercase;
}
.thtp-detail-kicker:before{
  content:"";
  width:31px;
  height:2px;
  flex:0 0 31px;
  border-radius:50px;
  background:var(--thtp-aqua);
}
.thtp-detail-hero h1{
  width:100%;
  max-width:780px;
  margin:17px 0 0!important;
  color:#fff!important;
  font-family:'Raleway',Arial,sans-serif!important;
  font-size:58px!important;
  line-height:1.06!important;
  font-weight:800!important;
  letter-spacing:-1.5px!important;
  text-transform:uppercase;
}
.thtp-detail-hero p{
  max-width:590px;
  margin:21px 0 0!important;
  color:rgba(255,255,255,.74)!important;
  font-family:'Raleway',Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.8!important;
  font-weight:500!important;
}
.thtp-detail-hero-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:29px;
}
.thtp-detail-hero-btn{
  min-height:47px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 21px;
  border:1px solid var(--thtp-gold);
  border-radius:8px;
  background:var(--thtp-gold);
  color:var(--thtp-dark)!important;
  text-decoration:none!important;
  font-family:'Raleway',Arial,sans-serif!important;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.9px!important;
  text-transform:uppercase;
  box-shadow:0 12px 28px rgba(245,169,0,.18);
  transition:transform .25s ease,background .25s ease,border-color .25s ease,color .25s ease;
}
.thtp-detail-hero-btn:hover{
  transform:translateY(-2px);
  background:#FFC03A;
  border-color:#FFC03A;
  color:var(--thtp-dark)!important;
}
.thtp-detail-hero-btn:focus,
.thtp-detail-hero-btn:active{
  background:var(--thtp-gold)!important;
  border-color:var(--thtp-gold)!important;
  color:var(--thtp-dark)!important;
}
.thtp-detail-hero-btn svg{
  width:14px!important;
  height:14px!important;
  flex:0 0 14px;
  fill:none!important;
  stroke:currentColor!important;
}
.thtp-detail-hero-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:30px;
}
.thtp-detail-route-hero{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:rgba(255,255,255,.66);
  font-size:7px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:.65px;
  text-transform:uppercase;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.thtp-detail-route-hero svg{
  width:13px!important;
  height:13px!important;
  flex:0 0 13px;
  fill:none!important;
  stroke:var(--thtp-gold)!important;
}
.thtp-hero-type-chips{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin:0;
}
.thtp-hero-type-chips span{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:rgba(255,255,255,.62);
  font-size:7px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:.9px;
  text-transform:uppercase;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.thtp-hero-type-chips span:before{
  content:"";
  width:4px;
  height:4px;
  flex:0 0 4px;
  border-radius:50%;
  background:var(--thtp-aqua);
}
.thtp-hero-type-chips span:nth-child(even):before{background:var(--thtp-gold)}

.thtp-detail-section{
  position:relative;width:100%;padding:58px 0 84px;
  background:
    radial-gradient(circle at 0% 0%,rgba(19,168,201,.065),transparent 27%),
    radial-gradient(circle at 100% 100%,rgba(245,169,0,.07),transparent 30%),
    linear-gradient(180deg,#F7FAFC 0%,#FFFFFF 54%,#FFFDF8 100%);
  background-image:none!important;
}
.thtp-detail-layout{display:grid;grid-template-columns:minmax(0,1.72fr) 330px;align-items:start;gap:26px;}
.thtp-detail-main{min-width:0;}
.thtp-detail-sidebar{gap:16px;}

/* premium inclusions */
.thtp-detail-inclusion-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px;padding:20px;border:1px solid rgba(7,62,119,.09);border-radius:20px;background:linear-gradient(180deg,#FFFFFF 0%,#FBFDFE 100%);box-shadow:0 16px 38px rgba(8,43,73,.055);}
.thtp-detail-inclusion-item{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:5px 4px;text-align:center;}
.thtp-detail-inclusion-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(19,168,201,.18);border-radius:17px;background:linear-gradient(180deg,#FFFFFF 0%,#F4FBFD 100%);color:var(--thtp-aqua);box-shadow:0 10px 22px rgba(19,168,201,.07);}
.thtp-detail-inclusion-icon svg{width:24px!important;height:24px!important;display:block!important;fill:none!important;stroke:currentColor!important;}
.thtp-detail-inclusion-item strong{display:block;color:var(--thtp-text);font-size:11px;line-height:1.3;font-weight:700;}

.thtp-detail-mobile-summary,.thtp-mobile-contact-tools{display:none!important;}

.thtp-detail-nav{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-bottom:22px;overflow:hidden;border:1px solid var(--thtp-border);border-radius:14px;background:#fff;box-shadow:0 9px 25px rgba(8,43,73,.045);}
.thtp-detail-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:0 15px;border-right:1px solid var(--thtp-border);color:var(--thtp-navy)!important;font-size:10px;font-weight:700;letter-spacing:.35px;text-transform:uppercase;transition:.2s ease;}
.thtp-detail-nav a:last-child{border-right:0;}
.thtp-detail-nav a:hover{background:var(--thtp-navy);color:#fff!important;}

.thtp-detail-block{margin-bottom:22px;scroll-margin-top:28px;}
.thtp-detail-block>h2{margin:0;padding:0;background:linear-gradient(135deg,var(--thtp-navy),var(--thtp-dark));border-radius:14px 14px 0 0;}
.thtp-detail-block>h2 span{display:block;padding:15px 18px;color:#fff;font-size:13px;line-height:1.2;font-weight:700;letter-spacing:1.15px;text-transform:uppercase;}
.thtp-detail-block-body{padding:21px 19px;border:1px solid var(--thtp-border);border-top:0;border-radius:0 0 16px 16px;background:#fff;color:var(--thtp-text);box-shadow:0 13px 30px rgba(8,43,73,.04);}
.thtp-detail-block-body>p{margin:0;color:var(--thtp-muted);font-size:13px;line-height:1.85;font-weight:500;}

/* itinerary */
.thtp-itinerary{position:relative;padding:2px 0 1px;}
.thtp-itinerary:before{content:"";position:absolute;left:22px;top:20px;bottom:20px;width:2px;background:linear-gradient(var(--thtp-aqua),rgba(19,168,201,.12));}
.thtp-itinerary-item{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:17px;padding:0 0 25px;}
.thtp-itinerary-item:last-child{padding-bottom:0;}
.thtp-itinerary-marker{position:relative;z-index:2;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(19,168,201,.20);border-radius:50%;background:#fff;box-shadow:0 5px 15px rgba(8,43,73,.07);}
.thtp-itinerary-marker span{width:29px;height:29px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--thtp-aqua);color:#fff;font-size:10px;font-weight:800;}
.thtp-itinerary-copy{padding-top:1px;}
.thtp-itinerary-day{color:var(--thtp-gold);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.thtp-itinerary-copy h3{margin:4px 0 0;color:var(--thtp-navy);font-size:16px;line-height:1.3;font-weight:700;}
.thtp-itinerary-copy p{margin:7px 0 0;color:var(--thtp-muted);font-size:12.5px;line-height:1.75;font-weight:500;}

/* lists */
.thtp-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:11px 22px;margin:0;padding:0;list-style:none!important;}
.thtp-detail-list li{position:relative;margin:0!important;padding:0 0 0 23px!important;list-style:none!important;color:var(--thtp-muted);font-size:12px;line-height:1.65;font-weight:500;}
.thtp-detail-list li:before{position:absolute;left:0;top:2px;width:17px;height:17px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;font-weight:800;}
.thtp-detail-list-in li:before{content:"✓";background:rgba(19,168,201,.10);color:var(--thtp-aqua);}
.thtp-detail-list-out li:before{content:"×";background:rgba(245,169,0,.11);color:#C68100;}

/* hotels */
.thtp-hotel-list{display:flex;flex-direction:column;gap:12px;}
.thtp-hotel-card{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;align-items:center;padding:10px;border:1px solid var(--thtp-border);border-radius:14px;background:#FBFDFE;}
.thtp-hotel-image{height:88px;overflow:hidden;border-radius:10px;background:#E9EFF2;display:flex;align-items:center;justify-content:center;color:var(--thtp-muted);font-size:11px;}
.thtp-hotel-image img{width:100%;height:100%;object-fit:cover;display:block;}
.thtp-hotel-info h3{margin:0;color:var(--thtp-navy);font-size:15px;line-height:1.25;font-weight:700;}
.thtp-hotel-info p{margin:6px 0 0;color:var(--thtp-muted);font-size:11px;line-height:1.45;}
.thtp-stars{display:flex;gap:2px;margin-top:7px;color:var(--thtp-gold);font-size:15px;letter-spacing:1px;}

.thtp-disclaimer-block .thtp-detail-block-body{background:#FFFDF8;}
.thtp-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.thtp-gallery-grid a{height:150px;display:block;overflow:hidden;border-radius:11px;background:#E9EFF2;}
.thtp-gallery-grid img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease;}
.thtp-gallery-grid a:hover img{transform:scale(1.04);}

/* desktop price + tools */
.thtp-detail-price-card{overflow:hidden;padding:0 18px 18px;border:1px solid var(--thtp-border);border-radius:20px;background:#fff;box-shadow:var(--thtp-shadow);text-align:center;}
.thtp-detail-price-line{padding:16px 5px;border-bottom:1px solid var(--thtp-border);color:var(--thtp-text);font-size:13px;font-weight:700;}
.thtp-detail-price-main{padding:20px 0 4px;color:var(--thtp-aqua);font-size:34px;line-height:1;font-weight:800;}
.thtp-detail-price-main small{display:block;margin-top:8px;color:var(--thtp-muted);font-size:10px;font-weight:500;}
.thtp-detail-primary{width:100%;min-height:47px;display:flex;align-items:center;justify-content:center;margin-top:16px;border-radius:11px;background:var(--thtp-navy);color:#fff!important;font-size:9px;font-weight:700;letter-spacing:.75px;text-transform:uppercase;transition:.22s ease;}
.thtp-detail-primary:hover{background:var(--thtp-gold);color:var(--thtp-dark)!important;transform:translateY(-1px);}

.thtp-detail-contact-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:13px;border:1px solid var(--thtp-border);border-radius:18px;background:#fff;box-shadow:0 11px 30px rgba(8,43,73,.05);}
.thtp-detail-contact-tools .thtp-tool{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:94px;padding:8px 5px;border:1px solid rgba(7,62,119,.08);border-radius:14px;background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFD 100%);color:var(--thtp-text)!important;font-size:10px;font-weight:700;cursor:pointer;transition:.22s ease;}
.thtp-detail-contact-tools .thtp-tool:hover{transform:translateY(-2px);border-color:rgba(19,168,201,.30);box-shadow:0 12px 26px rgba(8,43,73,.07);}
.thtp-tool-icon{width:43px;height:43px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(19,168,201,.20);border-radius:14px;background:linear-gradient(180deg,#fff,#F3FBFD);color:var(--thtp-aqua);}
.thtp-tool-icon svg{width:23px!important;height:23px!important;display:block!important;max-width:23px!important;max-height:23px!important;}
.thtp-tool-whatsapp .thtp-tool-icon{color:#25D366;border-color:rgba(37,211,102,.20);background:linear-gradient(180deg,#fff,#F1FBF5);}
.thtp-print-button .thtp-tool-icon{color:var(--thtp-gold);border-color:rgba(245,169,0,.22);background:linear-gradient(180deg,#fff,#FFF9ED);}

/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:1100px){
  .thtp-layout{grid-template-columns:minmax(0,1fr) 290px;gap:18px;}
  .thtp-package-card{grid-template-columns:205px minmax(0,1fr) 172px;}
  .thtp-package-info{padding:20px 18px;}.thtp-package-info h3{font-size:20px;}.thtp-package-info>p{font-size:11.5px;}.thtp-icon{width:42px;height:42px;}.thtp-inclusion>span:last-child{font-size:8px;}.thtp-price{font-size:22px;}
  .thtp-detail-layout{grid-template-columns:minmax(0,1fr) 305px;gap:20px;}
  .thtp-detail-hero{min-height:570px;}
  .thtp-detail-hero h1{max-width:740px;font-size:50px!important;}
}

@media(max-width:900px){
  .thtp-layout{display:block;}
  .thtp-sidebar{position:static;margin-top:24px;}
  .thtp-package-card{grid-template-columns:220px minmax(0,1fr) 180px;}
  .thtp-package-section .thtp-sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:start;}
  .thtp-detail-layout{grid-template-columns:minmax(0,1fr) 285px;gap:18px;}
}

/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:767px){
  .thtp-container{padding:0 15px;}

  /* listing */
  .thtp-package-section{padding:34px 0 50px;}
  .thtp-package-section .thtp-sidebar{display:flex;grid-template-columns:none;margin-top:18px;}
  .thtp-package-list{gap:12px;}
  .thtp-package-card{height:auto;display:block;border-radius:17px;}
  .thtp-package-image{width:100%;height:220px;}
  .thtp-package-badge{left:11px;top:11px;font-size:8px;}
  .thtp-package-info{padding:17px 15px 16px;}
  .thtp-package-location{font-size:8px;}.thtp-package-info h3{margin-top:5px;font-size:20px;}.thtp-package-info>p{font-size:11px;}.thtp-package-divider{margin:13px 0 12px;}
  .thtp-inclusions{gap:5px;}.thtp-icon{width:39px;height:39px;border-radius:13px;margin-bottom:6px;box-shadow:none;}.thtp-icon svg{width:17px!important;height:17px!important;}.thtp-inclusion>span:last-child{font-size:7px;}
  .thtp-price-area{height:auto;padding:15px;border-top:1px solid var(--thtp-border);border-left:0;}.thtp-duration{padding:0;border:0;font-size:10px;}.thtp-category{padding:6px 0 0;border:0;font-size:9px;}.thtp-price{margin-top:10px;font-size:23px;}.thtp-price-note{font-size:8px;}.thtp-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px;}.thtp-btn{min-height:40px;font-size:8px;}
  .thtp-pagination{margin-top:20px;}.thtp-pagination-links .page-numbers{min-width:38px;height:38px;padding:0 10px!important;font-size:10px!important;}.thtp-page-text{display:none;}
  .thtp-enquiry-top{padding:21px 18px 18px;}.thtp-enquiry-top h3{font-size:21px;}.thtp-enquiry-form{padding:17px;}.thtp-promo-banner{min-height:195px;}

  /* detail hero */
  .thtp-single-page{overflow:visible!important;}
  .thtp-detail-hero{min-height:535px;align-items:flex-end;background-position:58% center;}
  .thtp-detail-hero-shade{background:linear-gradient(180deg,rgba(3,26,47,.10) 0%,rgba(3,26,47,.22) 31%,rgba(3,26,47,.72) 65%,rgba(3,26,47,.95) 100%);}
  .thtp-detail-hero-inner{padding:118px 15px 42px;text-align:center;}
  .thtp-detail-breadcrumb{display:none;}
  .thtp-detail-kicker{justify-content:center;font-size:7px;letter-spacing:1.5px;}.thtp-detail-kicker:before{width:20px;flex-basis:20px;}
  .thtp-detail-hero h1{max-width:355px;margin:12px auto 0!important;font-size:35px!important;line-height:1.09!important;letter-spacing:-.7px!important;text-transform:uppercase;}
  .thtp-detail-hero p{max-width:310px;margin:13px auto 0!important;font-size:10px!important;line-height:1.65!important;}
  .thtp-detail-hero-actions{justify-content:center;margin-top:20px;}
  .thtp-detail-hero-btn{min-height:43px;padding:0 17px;font-size:6.5px!important;}
  .thtp-detail-hero-meta{justify-content:center;gap:8px 12px;margin-top:20px;}
  .thtp-detail-route-hero{max-width:100%;justify-content:center;font-size:5.8px;line-height:1.4;}
  .thtp-hero-type-chips{justify-content:center;gap:8px 12px;margin:0;}.thtp-hero-type-chips span{min-height:0;padding:0;font-size:5.5px;}

  .thtp-detail-section{padding:30px 0 56px;background:linear-gradient(180deg,#F7FAFC 0%,#FFFFFF 60%,#FFFDF8 100%)!important;}
  .thtp-detail-layout{display:block;}

  /* mobile inclusion = horizontal scroll, never ugly wrap */
  .thtp-detail-inclusion-strip{display:flex;grid-template-columns:none;flex-wrap:nowrap;gap:10px;margin-bottom:12px;padding:14px 12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:17px;}
  .thtp-detail-inclusion-strip::-webkit-scrollbar{display:none;}
  .thtp-detail-inclusion-item{flex:0 0 88px;min-width:88px;max-width:88px;scroll-snap-align:start;gap:6px;padding:2px 0;}
  .thtp-detail-inclusion-icon{width:45px;height:45px;border-radius:14px;box-shadow:none;}
  .thtp-detail-inclusion-icon svg{width:19px!important;height:19px!important;}
  .thtp-detail-inclusion-item strong{font-size:8px;line-height:1.25;}

  /* mobile cost immediately below inclusion icons */
  .thtp-detail-mobile-summary{display:block!important;margin:0 0 12px;padding:15px;border:1px solid rgba(7,62,119,.09);border-radius:17px;background:#fff;box-shadow:0 10px 26px rgba(8,43,73,.05);}
  .thtp-detail-mobile-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--thtp-text);font-size:9px;font-weight:700;text-transform:uppercase;}
  .thtp-detail-mobile-meta span:last-child{color:var(--thtp-muted);}
  .thtp-detail-mobile-price-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;}
  .thtp-detail-mobile-price{color:var(--thtp-aqua);font-size:27px;line-height:1;font-weight:800;}
  .thtp-detail-mobile-price small{display:block;margin-top:5px;color:var(--thtp-muted);font-size:8px;font-weight:500;}
  .thtp-detail-mobile-btn{min-width:122px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:10px;background:var(--thtp-navy);color:#fff!important;font-size:8px;font-weight:700;letter-spacing:.65px;text-transform:uppercase;}

  /* mobile tools directly under price */
  .thtp-mobile-contact-tools{display:grid!important;margin:0 0 14px;}
  .thtp-desktop-contact-tools{display:none!important;}
  .thtp-detail-contact-tools{grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;border-radius:17px;}
  .thtp-detail-contact-tools .thtp-tool{min-height:82px;padding:7px 4px;font-size:9px;border-radius:12px;}
  .thtp-tool-icon{width:39px;height:39px;border-radius:12px;}.thtp-tool-icon svg{width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important;}

  .thtp-detail-nav{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;margin-bottom:16px;border-radius:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .thtp-detail-nav::-webkit-scrollbar{display:none;}
  .thtp-detail-nav a{flex:0 0 auto;min-height:43px;padding:0 13px;font-size:8.5px;}

  .thtp-detail-block{margin-bottom:16px;}
  .thtp-detail-block>h2 span{padding:13px 14px;font-size:11px;}
  .thtp-detail-block-body{padding:16px 14px;}
  .thtp-detail-block-body>p{font-size:11px;line-height:1.75;}
  .thtp-itinerary:before{left:18px;}.thtp-itinerary-item{grid-template-columns:38px minmax(0,1fr);gap:13px;padding-bottom:20px;}.thtp-itinerary-marker{width:38px;height:38px;}.thtp-itinerary-marker span{width:25px;height:25px;font-size:9px;}.thtp-itinerary-copy h3{font-size:14px;}.thtp-itinerary-copy p{font-size:10.5px;}.thtp-detail-list{grid-template-columns:1fr;gap:8px;}.thtp-detail-list li{font-size:10.5px;}.thtp-hotel-card{grid-template-columns:100px minmax(0,1fr);gap:12px;}.thtp-hotel-image{height:76px;}.thtp-hotel-info h3{font-size:13px;}.thtp-hotel-info p{font-size:9px;}.thtp-gallery-grid{grid-template-columns:1fr 1fr;gap:8px;}.thtp-gallery-grid a{height:125px;}

  .thtp-detail-sidebar{position:static;margin-top:20px;}
  .thtp-detail-sidebar .thtp-detail-price-card{display:none!important;}
}

@media(max-width:390px){
  .thtp-package-image{height:200px;}.thtp-package-info h3{font-size:18px;}.thtp-inclusions{gap:3px;}.thtp-icon{width:35px;height:35px;}.thtp-inclusion>span:last-child{font-size:6.5px;}.thtp-card-actions{grid-template-columns:1fr;}
  .thtp-detail-hero h1{font-size:31px;}
  .thtp-detail-mobile-price-wrap{gap:8px;}.thtp-detail-mobile-price{font-size:24px;}.thtp-detail-mobile-btn{min-width:110px;padding:0 11px;}
}

/* =========================================================
   PRINT - clean premium itinerary
   ========================================================= */
@media print{
  @page{size:A4;margin:14mm;}
  body.single-thtp_package{background:#fff!important;color:#111!important;}
  body.single-thtp_package header,
  body.single-thtp_package footer,
  body.single-thtp_package #wpadminbar,
  body.single-thtp_package .thtp-detail-nav,
  body.single-thtp_package .thtp-detail-contact-tools,
  body.single-thtp_package .thtp-enquiry-box,
  body.single-thtp_package .thtp-promo-banner,
  body.single-thtp_package .thtp-detail-mobile-summary{display:none!important;}
  .thtp-print-brand{display:flex!important;align-items:center;justify-content:space-between;margin:0 0 12px;padding:0 0 10px;border-bottom:2px solid #073E77;color:#073E77;}.thtp-print-brand strong{font-size:16px;letter-spacing:1px;}.thtp-print-brand span{font-size:9px;text-transform:uppercase;letter-spacing:1px;}
  .thtp-single-page,.thtp-detail-section,.thtp-detail-hero{width:100%!important;margin:0!important;padding-left:0!important;padding-right:0!important;background:#fff!important;color:#111!important;}
  .thtp-detail-hero{min-height:auto!important;display:block!important;border:1px solid #E5ECF1!important;border-radius:10px!important;page-break-after:avoid;background-image:none!important;}
  .thtp-detail-hero-shade{display:none!important;}
  .thtp-detail-hero-inner{padding:18px!important;}
  .thtp-detail-kicker{color:#F5A900!important;font-size:8px!important;}.thtp-detail-kicker:before{background:#13A8C9!important;}
  .thtp-detail-hero h1{margin-top:7px!important;color:#073E77!important;font-size:28px!important;}
  .thtp-detail-hero p{margin-top:7px!important;color:#555!important;font-size:10px!important;}
  .thtp-detail-route-hero{margin-top:9px!important;border:1px solid #E5ECF1!important;background:#F7FAFC!important;color:#173042!important;}
  .thtp-hero-type-chips span{border:1px solid #E5ECF1!important;background:#fff!important;color:#173042!important;}
  .thtp-detail-section{padding:14px 0 0!important;}
  .thtp-detail-layout{display:block!important;}
  .thtp-detail-main{width:100%!important;}
  .thtp-detail-sidebar{display:none!important;}
  .thtp-detail-inclusion-strip{display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:10px!important;border:1px solid #E5ECF1!important;box-shadow:none!important;}
  .thtp-detail-inclusion-item{flex:0 0 90px!important;min-width:90px!important;max-width:90px!important;}.thtp-detail-inclusion-icon{width:34px!important;height:34px!important;box-shadow:none!important;}.thtp-detail-inclusion-icon svg{width:16px!important;height:16px!important;}.thtp-detail-inclusion-item strong{font-size:7px!important;}
  .thtp-detail-block{break-inside:avoid;margin-bottom:12px!important;}.thtp-detail-block>h2{background:#073E77!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}.thtp-detail-block>h2 span{padding:8px 10px!important;font-size:9px!important;}.thtp-detail-block-body{padding:10px!important;border:1px solid #ddd!important;box-shadow:none!important;}.thtp-detail-block-body>p,.thtp-itinerary-copy p,.thtp-detail-list li{font-size:8px!important;line-height:1.45!important;color:#333!important;}.thtp-itinerary-copy h3{font-size:10px!important;}.thtp-itinerary-day{font-size:7px!important;}.thtp-itinerary-item{padding-bottom:10px!important;}.thtp-hotel-card{break-inside:avoid;}.thtp-gallery-grid{display:none!important;}
}
