:root{--tdpm-pink:#087bf2;--tdpm-dark:#082b55;--tdpm-muted:#6d7b8c;--tdpm-line:#e6edf5;--tdpm-soft:#f4f9ff;--tdpm-green:#20b66a;--tdpm-radius:16px}*{box-sizing:border-box}.tdpm-grid{display:grid;gap:20px;margin:25px 0}.tdpm-columns-1{grid-template-columns:1fr}.tdpm-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tdpm-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tdpm-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tdpm-card{overflow:hidden;background:#fff;border:1px solid var(--tdpm-line);border-radius:var(--tdpm-radius);box-shadow:0 12px 35px rgba(16,24,40,.08);transition:.25s}.tdpm-card:hover{transform:translateY(-5px)}.tdpm-card-image{display:block;height:270px;background:var(--tdpm-soft)}.tdpm-card-image img{width:100%;height:100%;object-fit:cover}.tdpm-placeholder{width:100%;height:100%;display:grid;place-items:center;background:#f4f9ff;color:var(--tdpm-muted)}.tdpm-card-body{padding:18px}.tdpm-card h3{margin:0 0 8px;font-size:20px}.tdpm-card p{color:var(--tdpm-muted);margin:0 0 15px}.tdpm-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 22px;background:linear-gradient(135deg,#087bf2,#18a9d5);color:#fff!important;text-decoration:none!important;font-weight:750;cursor:pointer;box-shadow:0 10px 24px rgba(8,123,242,.22);transition:.25s}.tdpm-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(8,123,242,.28);filter:saturate(1.05)}.tdpm-notice{padding:18px;border:1px solid #f0d38b;background:#fff8e5;border-radius:12px}.tdpm-destination-page,.tdpm-package-page{width:min(1180px,calc(100% - 28px));margin:38px auto 70px;overflow-wrap:anywhere}.tdpm-destination-intro h1{font-size:clamp(34px,5vw,58px);margin:0 0 6px;color:#082b55}.tdpm-subtitle{font-size:19px;color:var(--tdpm-muted)}.tdpm-richtext{line-height:1.75;color:#334b66}.tdpm-why{white-space:normal;margin:18px 0 28px;line-height:1.55;color:#334b66}.tdpm-package-browser{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}.tdpm-filters{position:sticky;top:100px}.tdpm-filter-title{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--tdpm-line);padding-bottom:10px}.tdpm-filter-title h3{margin:0}.tdpm-clear{border:0;background:none;color:var(--tdpm-pink);text-decoration:underline;cursor:pointer}.tdpm-filter-group{padding:16px 0;border-bottom:1px solid var(--tdpm-line)}.tdpm-filter-group h4{margin:0 0 12px}.tdpm-filter-group label{display:block;margin:8px 0}.tdpm-filter-group input[type=checkbox]{accent-color:var(--tdpm-pink)}.tdpm-filter-group input[type=range]{width:100%;accent-color:var(--tdpm-pink)}.tdpm-filter-group select{width:100%;padding:10px;border:1px solid var(--tdpm-line);border-radius:9px;background:#fff}.tdpm-toolbar{display:flex;gap:12px;margin-bottom:18px}.tdpm-search{flex:1;display:flex;align-items:center;gap:8px;background:#f4f9ff;border-radius:999px;padding:0 16px}.tdpm-search input{width:100%;border:0!important;background:transparent!important;outline:0;padding:13px 0!important}.tdpm-sort{border:1px solid var(--tdpm-line);border-radius:10px;padding:0 12px;background:#fff}.tdpm-list{display:grid;gap:16px}.tdpm-list-card{display:grid;grid-template-columns:260px minmax(0,1fr) 190px;gap:14px;background:#fff;border-radius:15px;padding:12px;box-shadow:0 12px 35px rgba(16,24,40,.08)}.tdpm-list-card[hidden]{display:none}.tdpm-list-image{height:220px;position:relative;border-radius:11px;overflow:hidden}.tdpm-list-image img{width:100%;height:100%;object-fit:cover}.tdpm-heart{position:absolute;right:10px;top:10px;background:#082b55;color:#fff;border-radius:50%;width:31px;height:31px;display:grid;place-items:center}.tdpm-list-info h2{font-size:21px;line-height:1.15;margin:5px 0}.tdpm-list-info h2 a{color:#102033;text-decoration:none}.tdpm-list-info p{font-size:14px;color:#5f7083}.tdpm-small-meta{display:grid;gap:8px;color:#6d7b8c;font-size:14px}.tdpm-list-action{display:flex;flex-direction:column;gap:7px}.tdpm-list-action small{display:block;color:var(--tdpm-muted)}.tdpm-list-action strong{display:block}.tdpm-list-price{text-align:right;font-size:23px;font-weight:800}.tdpm-list-action .tdpm-btn{width:100%}.tdpm-departures{font-size:12px;display:grid;gap:4px}.tdpm-departures span{color:var(--tdpm-green)}.tdpm-departures em{color:var(--tdpm-muted)}.tdpm-no-results{padding:30px;text-align:center;color:var(--tdpm-muted)}.tdpm-package-top{display:grid;grid-template-columns:1.15fr .85fr;gap:8px;height:500px}.tdpm-main-media,.tdpm-side-gallery a{overflow:hidden;border-radius:13px}.tdpm-main-media img,.tdpm-side-gallery img{width:100%;height:100%;object-fit:cover}.tdpm-side-gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tdpm-side-gallery a{position:relative}.tdpm-side-gallery span{position:absolute;inset:auto 10px 10px auto;background:#fff;padding:7px 10px;border-radius:8px;color:#111;font-size:12px}.tdpm-package-title-row{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:25px;padding:25px 0}.tdpm-package-title-row h1{margin:0 0 18px;font-size:clamp(30px,4vw,48px)}.tdpm-summary-meta{display:flex;flex-wrap:wrap;gap:15px;color:#52677d}.tdpm-price-box{border-left:1px solid var(--tdpm-line);padding-left:22px;display:flex;flex-direction:column;gap:9px}.tdpm-price-box strong{font-size:30px}.tdpm-whatsapp{display:block;text-align:center;padding:11px;border-radius:999px;background:#25d366;color:#fff!important;text-decoration:none!important;font-weight:700}.tdpm-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:28px}.tdpm-content-section,.tdpm-booking-box{background:#fff;border-top:1px solid var(--tdpm-line);padding:25px 0;margin-bottom:12px}.tdpm-content-section h2{font-size:25px;margin:0 0 18px}.tdpm-sticky-book .tdpm-booking-box{position:sticky;top:100px;border:1px solid var(--tdpm-line);padding:22px;border-radius:14px;box-shadow:0 12px 35px rgba(16,24,40,.07)}.tdpm-itinerary{display:grid}.tdpm-itinerary article{display:grid;grid-template-columns:90px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid var(--tdpm-line)}.tdpm-itinerary article>span{display:inline-flex;align-self:start;justify-content:center;background:linear-gradient(135deg,#082b55,#087bf2);color:#fff;border-radius:7px;padding:7px;font-size:13px;font-weight:700}.tdpm-itinerary h3{margin:0 0 7px}.tdpm-itinerary p{margin:0;color:#5f7083}.tdpm-inex{display:grid;grid-template-columns:1fr 1fr;gap:30px}.tdpm-inex ul{list-style:none;padding:0;margin:0}.tdpm-inex li{padding:6px 0}.tdpm-inclusions li:before{content:'✓';color:var(--tdpm-green);font-weight:800;margin-right:8px}.tdpm-exclusions li:before{content:'✕';color:#e44b4b;font-weight:800;margin-right:8px}.tdpm-faqs details{border:1px solid var(--tdpm-line);border-bottom:0}.tdpm-faqs details:last-child{border-bottom:1px solid var(--tdpm-line)}.tdpm-faqs summary{padding:15px;cursor:pointer;font-weight:650}.tdpm-faqs p{padding:0 15px 15px;color:var(--tdpm-muted)}.tdpm-enquiry-section{background:#f4f9ff;padding:24px;border:0;border-radius:13px}.tdpm-booking-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tdpm-booking-form label{display:grid;gap:5px;font-size:13px}.tdpm-booking-form input,.tdpm-booking-form textarea{width:100%;border:1px solid #dbe8f4!important;border-radius:8px;padding:11px!important;background:#fff!important}.tdpm-booking-form .tdpm-full{grid-column:1/-1}.tdpm-booking-form.is-compact{grid-template-columns:1fr}.tdpm-booking-form.is-compact .tdpm-full{grid-column:auto}.tdpm-success,.tdpm-error{padding:12px;border-radius:8px;margin-bottom:12px}.tdpm-success{background:#eaf9ef;color:#176b38}.tdpm-error{background:#fff0f0;color:#a32121}
@media(max-width:980px){.tdpm-columns-4,.tdpm-columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}.tdpm-package-browser{grid-template-columns:1fr}.tdpm-filters{position:static}.tdpm-list-card{grid-template-columns:220px minmax(0,1fr)}.tdpm-list-action{grid-column:2}.tdpm-package-top{height:420px}.tdpm-detail-layout{grid-template-columns:1fr}.tdpm-sticky-book{display:none}}
@media(max-width:640px){html,body{max-width:100%;overflow-x:hidden}.tdpm-destination-page,.tdpm-package-page{width:min(100% - 20px,1180px);margin-top:22px}.tdpm-columns-4,.tdpm-columns-3,.tdpm-columns-2{grid-template-columns:1fr}.tdpm-card-image{height:250px}.tdpm-toolbar{flex-direction:column}.tdpm-sort{height:44px}.tdpm-list-card{grid-template-columns:1fr;padding:10px}.tdpm-list-image{height:245px}.tdpm-list-action{grid-column:auto}.tdpm-list-price{text-align:left}.tdpm-package-top{height:auto;grid-template-columns:1fr}.tdpm-main-media{height:300px}.tdpm-side-gallery{height:190px}.tdpm-package-title-row{grid-template-columns:1fr}.tdpm-price-box{border-left:0;border-top:1px solid var(--tdpm-line);padding:18px 0 0}.tdpm-inex{grid-template-columns:1fr}.tdpm-booking-form{grid-template-columns:1fr}.tdpm-booking-form .tdpm-full{grid-column:auto}.tdpm-itinerary article{grid-template-columns:72px 1fr}.tdpm-summary-meta{display:grid;gap:8px}}

/* Destination image-card design — v2.1 */
.tdpm-destination-grid{gap:16px!important;margin:26px 0!important;width:100%;max-width:100%}
.tdpm-destination-card{position:relative;min-width:0;height:286px;border:0!important;border-radius:15px;overflow:hidden;background:#111;box-shadow:0 10px 30px rgba(16,24,40,.12);isolation:isolate;transition:transform .28s ease,box-shadow .28s ease}
.tdpm-destination-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(16,24,40,.18)}
.tdpm-destination-link{position:absolute;inset:0;display:block;color:#fff!important;text-decoration:none!important;overflow:hidden}
.tdpm-destination-card .tdpm-card-image{position:absolute;inset:0;display:block;width:100%;height:100%;background:#eaf6ff}
.tdpm-destination-card .tdpm-card-image img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;transition:transform .55s ease}
.tdpm-destination-card:hover .tdpm-card-image img{transform:scale(1.065)}
.tdpm-destination-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,4,8,.02) 25%,rgba(4,4,8,.22) 54%,rgba(4,4,8,.92) 100%);z-index:1}
.tdpm-destination-content{position:absolute;z-index:2;left:15px;right:15px;bottom:14px;display:grid;gap:8px;color:#fff}
.tdpm-destination-title{display:block;font-size:16px;line-height:1.2;font-weight:800;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.tdpm-destination-description{display:block;max-width:95%;font-size:12px;line-height:1.35;color:rgba(255,255,255,.86)}
.tdpm-destination-button{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:13px;line-height:1.2;font-weight:750;color:#fff}
.tdpm-destination-button>span{font-size:17px;transition:transform .25s ease}
.tdpm-destination-card:hover .tdpm-destination-button>span{transform:translateX(4px)}
.tdpm-destination-card .tdpm-placeholder{height:100%;background:linear-gradient(135deg,#eaf6ff,#d8edff);color:#6d7b8c}
@media(max-width:980px){.tdpm-destination-grid{gap:16px!important}.tdpm-destination-card{height:300px}}
@media(max-width:640px){.tdpm-destination-grid{grid-template-columns:1fr!important;gap:16px!important;margin:20px 0!important}.tdpm-destination-card{width:100%;height:auto;aspect-ratio:1.18/1;border-radius:14px}.tdpm-destination-title{font-size:18px}.tdpm-destination-button{font-size:14px}}


/* LETS GO TRIPTO brand theme additions */
.tdpm-destination-intro h1,.tdpm-package-title-row h1,.tdpm-content-section h2,.tdpm-filter-title h3,.tdpm-filter-group h4{color:#082b55}
.tdpm-list-card:hover,.tdpm-card:hover{box-shadow:0 18px 42px rgba(8,43,85,.12)}
.tdpm-list-info h2 a:hover,.tdpm-clear{color:#087bf2!important}
.tdpm-search:focus-within,.tdpm-filter-group select:focus,.tdpm-sort:focus,.tdpm-booking-form input:focus,.tdpm-booking-form textarea:focus{border-color:#18a9d5!important;box-shadow:0 0 0 3px rgba(24,169,213,.12);outline:0}
.tdpm-enquiry-section{background:linear-gradient(180deg,#f4f9ff,#eaf6ff)}
.tdpm-price-box strong,.tdpm-list-price{color:#082b55}
.tdpm-faqs details[open] summary{color:#087bf2}
.tdpm-destination-card:hover{box-shadow:0 18px 42px rgba(8,123,242,.20)}


/* v2.3 - All Tour Packages shortcode */
.tdpm-all-packages-page{
    width:min(1180px,calc(100% - 32px));
    margin:0 auto;
    padding:48px 0 70px;
}
.tdpm-all-packages-intro{
    margin-bottom:28px;
}
.tdpm-all-packages-intro h1{
    margin-bottom:8px;
}
@media(max-width:700px){
    .tdpm-all-packages-page{
        width:min(100% - 22px,1180px);
        padding:30px 0 50px;
    }
}
