/* Theme-specific product and booking views. All rules are scoped to tpp-* pages. */
:root{--tpp-ink:#142d52;--tpp-muted:#71819a;--tpp-line:#e1e9f3;--tpp-accent:#e5167b;--tpp-surface:#fff;--tpp-canvas:#f5f8fc;--tpp-radius:22px}
.tpp-product,.tpp-booking-page{max-width:1440px;margin:0 auto;padding:clamp(18px,3vw,48px);color:var(--tpp-ink);background:var(--tpp-canvas);font-family:inherit}
.tpp-product *,.tpp-booking-page *{box-sizing:border-box}
.tpp-product a,.tpp-booking-page a{color:inherit}
.tpp-page{max-width:1320px;margin:auto}
.tpp-product-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,370px);gap:clamp(20px,3vw,42px);align-items:start}
.tpp-product-primary{min-width:0}
.tpp-product-intro{padding:0 0 18px}
.tpp-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;color:var(--tpp-muted)!important;text-decoration:none;font-weight:700}
.tpp-product-meta,.tpp-summary-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.tpp-category-pill,.tpp-demo-pill{display:inline-flex;border-radius:999px;padding:7px 12px;background:#eaf3ff;color:#2562a2;font-size:.78rem;font-weight:800}
.tpp-demo-pill{background:#fff4df;color:#805613}
.tpp-product-intro h1{margin:12px 0 8px;font-size:clamp(1.8rem,3.3vw,3.2rem);line-height:1.13;letter-spacing:-.035em;color:var(--tpp-ink)}
.tpp-destination{margin:0 0 10px;color:var(--tpp-muted)}
.tpp-summary-line{justify-content:space-between;color:var(--tpp-muted)}
.tpp-rating{display:inline-flex;align-items:center;gap:8px}.tpp-rating b{color:#e9a526;letter-spacing:2px}.tpp-rating strong{color:var(--tpp-ink)}
.tpp-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:0 0 22px}
.tpp-gallery-main{position:relative;overflow:hidden;min-height:clamp(260px,38vw,520px);border-radius:var(--tpp-radius);background:#e9eff6;box-shadow:0 14px 40px #12294c16}
.tpp-gallery-main>img{display:block;width:100%;height:100%;min-height:inherit;max-height:560px;object-fit:cover;transition:transform .5s ease,opacity .25s ease}
.tpp-gallery-main:hover>img{transform:scale(1.015)}
.tpp-fullscreen,.tpp-photo-index{position:absolute;top:16px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fffF;color:#173253!important;text-decoration:none;font-size:1.2rem;box-shadow:0 4px 18px #10294b25}
.tpp-fullscreen{right:16px}.tpp-product[dir=rtl] .tpp-fullscreen{right:auto;left:16px}
.tpp-photo-index{right:68px;width:auto;min-width:54px;padding:0 10px;font-size:.82rem;font-weight:800}
.tpp-thumbs{display:flex;gap:9px;overflow:auto;padding:2px 1px 5px;scrollbar-width:thin}
.tpp-thumb{position:relative;flex:0 0 clamp(76px,10vw,126px);height:76px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;transition:border-color .2s,transform .2s}
.tpp-thumb:hover{transform:translateY(-2px)}.tpp-thumb.is-active{border-color:var(--tpp-accent)}.tpp-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.tpp-video{justify-self:start;color:var(--tpp-accent)!important;font-weight:800;text-decoration:none}
.tpp-booking{position:sticky;top:22px;z-index:2;padding:24px;border:1px solid var(--tpp-line);border-radius:var(--tpp-radius);background:var(--tpp-surface);box-shadow:0 18px 50px #10294b14}
.tpp-booking-head{padding-bottom:17px;border-bottom:1px solid var(--tpp-line)}.tpp-eyebrow{margin:0 0 7px;color:var(--tpp-accent);font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.tpp-price-caption{margin:14px 0 4px;color:var(--tpp-muted);font-size:.9rem}.tpp-price-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.tpp-price-row strong,.tpp-ticket-price strong{font-size:1.75rem;color:var(--tpp-ink)}.tpp-booking-head>small{display:block;margin-top:4px;color:var(--tpp-muted)}.tpp-booking-head>del{color:#8b96a6}.tpp-discount{border-radius:999px;padding:5px 9px;background:#fff0f5;color:#c31268;font-weight:900}
.tpp-availability-form{display:grid;gap:13px;margin:18px 0}.tpp-availability-form label,.tpp-request-fields label,.tpp-request-form form>label{display:grid;gap:6px;color:var(--tpp-ink);font-size:.84rem;font-weight:750}
.tpp-availability-form input,.tpp-request-fields input,.tpp-request-fields select,.tpp-request-fields textarea{width:100%;min-width:0;min-height:45px;padding:10px 12px;border:1px solid var(--tpp-line);border-radius:11px;background:#fff;color:var(--tpp-ink);font:inherit}
.tpp-traveler-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tpp-primary,.tpp-request-fields button,.tpp-request-fields input[type=submit]{display:flex;justify-content:center;align-items:center;min-height:48px;width:100%;border:0;border-radius:12px;background:var(--tpp-accent);color:#fff!important;font:inherit;font-weight:900;text-decoration:none;cursor:pointer;transition:transform .18s,filter .18s}
.tpp-primary:hover,.tpp-request-fields button:hover,.tpp-request-fields input[type=submit]:hover{transform:translateY(-2px);filter:brightness(1.04)}
.tpp-whatsapp{display:flex;justify-content:center;align-items:center;min-height:44px;margin:12px 0;border:1px solid #bde9d4;border-radius:12px;background:#f0fbf5;color:#16834d!important;text-decoration:none;font-weight:800}
.tpp-payments{padding-top:8px;color:var(--tpp-muted);font-size:.75rem}.tpp-payments>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tpp-payments span{padding:5px 8px;border-radius:7px;background:#f2f5f9;color:var(--tpp-ink)}
.tpp-booking-note{margin:12px 0 0;color:var(--tpp-muted);font-size:.8rem;line-height:1.6}
.tpp-quick-facts,.tpp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.tpp-fact{display:flex;align-items:center;gap:10px;min-width:0;padding:13px;border:1px solid var(--tpp-line);border-radius:14px;background:var(--tpp-surface)}
.tpp-fact>i{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#eef5ff;color:var(--tpp-accent);font-style:normal}.tpp-fact span{display:grid;gap:3px;min-width:0}.tpp-fact small{color:var(--tpp-muted)}.tpp-fact b{overflow-wrap:anywhere}
.tpp-subnav{display:flex;gap:8px;overflow:auto;margin:22px 0;padding:7px;border:1px solid var(--tpp-line);border-radius:14px;background:#fff}
.tpp-subnav a{flex:0 0 auto;padding:9px 13px;border-radius:10px;color:var(--tpp-muted)!important;text-decoration:none;font-weight:750}.tpp-subnav a:hover{background:#f1f5fb;color:var(--tpp-ink)!important}
.tpp-section{margin:22px 0;padding:clamp(18px,2.2vw,30px);border:1px solid var(--tpp-line);border-radius:var(--tpp-radius);background:#fff}
.tpp-section-heading{margin-bottom:15px}.tpp-section-heading h2,.tpp-section>h2,.tpp-include-column h2,.tpp-exclude-column h2{margin:0;color:var(--tpp-ink);font-size:clamp(1.2rem,2vw,1.65rem)}.tpp-section-heading .tpp-eyebrow{margin-bottom:5px}
.tpp-description{color:#586d88;font-size:1.05rem;line-height:1.9}
.tpp-itinerary-list{display:grid;gap:12px}.tpp-day{display:grid;grid-template-columns:minmax(110px,190px) minmax(0,1fr);overflow:hidden;border:1px solid var(--tpp-line);border-radius:15px;background:#fff}.tpp-day>img{width:100%;height:100%;min-height:130px;object-fit:cover}.tpp-day>div{padding:16px}.tpp-day small{color:var(--tpp-accent);font-weight:900}.tpp-day h3{margin:5px 0;color:var(--tpp-ink)}.tpp-day p{margin:5px 0;color:var(--tpp-muted);line-height:1.65}.tpp-day ul{margin:8px 0;padding-inline-start:20px;color:var(--tpp-muted)}.tpp-day-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tpp-day-meta span{padding:6px 8px;border-radius:8px;background:#f3f6fa;color:#586d88;font-size:.78rem}
.tpp-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tpp-service-grid article{display:flex;gap:11px;padding:14px;border-radius:13px;background:var(--tpp-canvas)}.tpp-service-grid article>i{color:var(--tpp-accent);font-style:normal;font-size:1.15rem}.tpp-service-grid small{color:var(--tpp-muted)}.tpp-service-grid p{margin:4px 0 0;line-height:1.55}
.tpp-includes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.tpp-includes ul{padding-inline-start:20px;color:#586d88;line-height:1.9}.tpp-exclude-column li::marker{color:#c47834}.tpp-include-column li::marker{color:#28a36a}
.tpp-map-panel{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(210px,.55fr);min-height:300px;overflow:hidden;border:1px solid var(--tpp-line);border-radius:18px;background:color-mix(in srgb,var(--tpp-accent) 7%,#fff)}.tpp-map-panel iframe{display:block;width:100%;height:100%;min-height:300px;border:0}.tpp-map-caption{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:start;gap:13px;padding:22px}.tpp-map-caption>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--tpp-accent);color:#fff;font-size:1.45rem;box-shadow:0 10px 26px color-mix(in srgb,var(--tpp-accent) 28%,transparent)}.tpp-map-caption>div{display:grid;gap:9px;min-width:0}.tpp-map-caption strong{color:var(--tpp-ink);line-height:1.65;overflow-wrap:anywhere}.tpp-map-panel a{color:var(--tpp-accent)!important;font-weight:850;text-decoration:none}.tpp-map-panel a:hover{text-decoration:underline}
.tpp-faq details{padding:12px 0;border-bottom:1px solid var(--tpp-line)}.tpp-faq summary{cursor:pointer;font-weight:800}.tpp-faq details p{color:var(--tpp-muted);line-height:1.65}
.tpp-reviews>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tpp-review-card{display:grid;align-content:start;gap:10px;min-width:0;padding:16px;border:1px solid var(--tpp-line);border-radius:14px;background:var(--tpp-canvas)}.tpp-review-card p{margin:0;color:var(--tpp-muted);line-height:1.7}.tpp-review-card strong{color:var(--tpp-ink)}.tpp-review-score{color:#c18b37;font-weight:900}
.tpp-related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.tpp-related-card{display:grid;gap:6px;overflow:hidden;border:1px solid var(--tpp-line);border-radius:14px;background:#fff;text-decoration:none}.tpp-related-card img{width:100%;aspect-ratio:1.5;object-fit:cover}.tpp-related-card span,.tpp-related-card strong,.tpp-related-card small{margin-inline:12px}.tpp-related-card span,.tpp-related-card small{color:var(--tpp-muted);font-size:.8rem}.tpp-related-card strong{margin-bottom:12px}
.tpp-trust-strip{display:flex;justify-content:space-between;gap:15px;margin-top:22px;padding:14px 18px;border:1px solid var(--tpp-line);border-radius:14px;background:#fff;color:var(--tpp-muted);font-size:.85rem}.tpp-trust-strip span:first-child{color:#25845b;font-weight:850}
.tpp-mobile-book{display:none}
/* Six compositions retain distinct theme personalities rather than recoloring one layout. */
.tpp-skyline{--tpp-accent:#2277d3;--tpp-canvas:#f1f7ff;--tpp-radius:18px}.tpp-skyline .tpp-gallery-main{border-radius:24px 24px 70px 24px}.tpp-skyline .tpp-booking{border-top:4px solid #3f9ae9}.tpp-skyline .tpp-fact>i{background:#e4f3ff}
.tpp-umrah{--tpp-ink:#173e32;--tpp-muted:#6f7d6e;--tpp-accent:#a8833c;--tpp-line:#e7dfcc;--tpp-canvas:#faf8f0;--tpp-radius:10px}.tpp-umrah .tpp-umrah-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;padding:25px clamp(20px,5vw,65px);border:1px solid #c7a861;border-radius:14px;background:linear-gradient(110deg,#123f32,#1c5b45);color:#f5e7bf;text-align:center}.tpp-umrah-banner>span{color:#d6b76a;font-size:1.7rem}.tpp-umrah-banner>div{display:grid;gap:7px}.tpp-umrah-banner strong{font-size:1.5rem}.tpp-umrah .tpp-category-pill{background:#f1ebdb;color:#6e5625}.tpp-umrah .tpp-gallery-main{border:4px solid #e4d6b2}.tpp-umrah .tpp-booking{border:1px solid #cbb77d;background:#fffdf7}
.tpp-ticketplan{--tpp-accent:#1366ca;--tpp-canvas:#f5f8fc;--tpp-radius:20px}.tpp-ticket-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;padding:24px;border-radius:20px;background:#fff}.tpp-ticket-heading .tpp-product-intro{padding:0}.tpp-ticket-price{display:grid;gap:5px;text-align:end}.tpp-ticket-feature-row{margin:16px 0}.tpp-ticketplan .tpp-gallery-main{min-height:clamp(290px,35vw,480px)}.tpp-ticketplan .tpp-booking{background:#fafdff}
.tpp-traveleo{--tpp-ink:#19355f;--tpp-accent:#c18b37;--tpp-canvas:#f8f6f1;--tpp-line:#e9e3d9;--tpp-radius:24px}.tpp-luxury-hero{position:relative;min-height:420px;overflow:hidden;border-radius:26px;background:#162e53}.tpp-luxury-hero .tpp-gallery{position:absolute;inset:0;margin:0}.tpp-luxury-hero .tpp-gallery-main,.tpp-luxury-hero .tpp-gallery-main>img{height:100%;max-height:none;border-radius:0}.tpp-luxury-hero .tpp-gallery-main:after{position:absolute;inset:25% 0 0;content:"";background:linear-gradient(0deg,#101e37d9,transparent)}.tpp-luxury-hero .tpp-thumbs,.tpp-luxury-hero .tpp-video{display:none}.tpp-luxury-copy{position:absolute;z-index:1;inset:auto 0 0;padding:clamp(22px,4vw,52px);color:white}.tpp-luxury-copy .tpp-product-intro h1,.tpp-luxury-copy .tpp-destination,.tpp-luxury-copy .tpp-back{color:white!important}.tpp-luxury-copy .tpp-fact{display:inline-flex;width:max-content;border-color:#ffffff55;background:#10284cad;color:#fff}.tpp-luxury-copy .tpp-fact small,.tpp-luxury-copy .tpp-fact b{color:#fff}.tpp-traveleo .tpp-product-grid{margin-top:26px}.tpp-traveleo .tpp-booking{border-top:3px solid #c18b37}
.tpp-travelora{--tpp-ink:#17416a;--tpp-accent:#ec6b55;--tpp-canvas:#f2f9fb;--tpp-radius:26px}.tpp-travelora .tpp-modern-title{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;margin-bottom:20px}.tpp-travelora .tpp-modern-title .tpp-product-intro{margin:0}.tpp-travelora .tpp-category-pill{background:#fff0eb;color:#bc543e}.tpp-travelora .tpp-gallery-main{min-height:clamp(260px,34vw,450px);border-radius:28px 90px 28px 28px}.tpp-travelora .tpp-booking{border-top:4px solid #ec6b55}.tpp-travelora .tpp-modern-quick{margin:12px 0}
.tpp-riad{--tpp-ink:#173c53;--tpp-accent:#1388a1;--tpp-canvas:#f0f8fa;--tpp-line:#d9eaed;--tpp-radius:16px}.tpp-riad-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:22px;align-items:start}.tpp-riad-hero .tpp-gallery-main{min-height:350px}.tpp-riad-service-ribbon{margin:14px 0 20px;padding:12px;border-radius:16px;background:#dff1f3}.tpp-riad-service-ribbon .tpp-quick-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.tpp-riad-story{max-width:1000px}.tpp-riad .tpp-booking{border-top:3px solid #1388a1}
/* Booking step preserves the agency's existing CSRF-protected request form. */
.tpp-booking-page{min-height:65vh}.tpp-booking-page-head{display:flex;justify-content:space-between;gap:15px;margin:0 auto 20px;max-width:1080px;color:var(--tpp-muted)}.tpp-booking-page-head a{text-decoration:none;font-weight:800}.tpp-booking-page-grid{display:grid;grid-template-columns:minmax(250px,360px) minmax(0,1fr);gap:22px;max-width:1080px;margin:auto;align-items:start}.tpp-booking-summary,.tpp-request-form{padding:clamp(20px,3vw,32px);border:1px solid var(--tpp-line);border-radius:var(--tpp-radius);background:#fff;box-shadow:0 14px 40px #10294b10}.tpp-booking-summary>img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:14px}.tpp-booking-summary>span{display:block;margin-top:14px;color:var(--tpp-accent);font-weight:800}.tpp-booking-summary h2{margin:8px 0 18px}.tpp-booking-summary>div{display:grid;gap:5px;padding-top:14px;border-top:1px solid var(--tpp-line)}.tpp-booking-summary>div strong{font-size:1.5rem}.tpp-booking-summary>p{color:var(--tpp-muted)}.tpp-request-form>h1{margin:5px 0 10px;font-size:clamp(1.55rem,2.8vw,2.25rem)}.tpp-request-form>p:not(.tpp-eyebrow){color:var(--tpp-muted);line-height:1.7}.tpp-request-fields>form,.tpp-request-form form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:20px}.tpp-request-fields>form>input[type=hidden]{display:none}.tpp-request-fields textarea{min-height:100px}.tpp-request-fields button,.tpp-request-fields input[type=submit]{grid-column:1/-1}.tpp-preview-notice{margin:15px 0;padding:12px;border-radius:10px;background:#fff4df;color:#805613;line-height:1.6}.tpp-request-form form:has([disabled]){opacity:.86}.tpp-booking-page.tpp-paperplane{--tpp-ink:#173e32;--tpp-accent:#a8833c;--tpp-canvas:#faf8f0;--tpp-line:#e7dfcc;--tpp-radius:10px}.tpp-booking-page.tpp-ticketplan{--tpp-accent:#1366ca}.tpp-booking-page.tpp-traveleo{--tpp-accent:#c18b37}.tpp-booking-page.tpp-travelora{--tpp-accent:#ec6b55}.tpp-booking-page.tpp-wandervista{--tpp-accent:#1388a1}
@media(max-width:900px){.tpp-product-grid{grid-template-columns:minmax(0,1fr) 300px;gap:16px}.tpp-booking{padding:18px}.tpp-riad-hero{grid-template-columns:minmax(0,1fr) 300px}.tpp-luxury-hero{min-height:360px}}
.tpp-mobile-book{align-items:center;justify-content:space-between;gap:15px;padding:13px 18px;border-radius:14px;background:var(--tpp-accent);color:#fff!important;text-decoration:none;font-weight:900;box-shadow:0 12px 32px #15294535}
@media(max-width:700px){.tpp-product{padding:14px 14px 98px}.tpp-product-grid,.tpp-riad-hero,.tpp-booking-page-grid{grid-template-columns:minmax(0,1fr)}.tpp-product-grid>.tpp-booking{position:static;grid-row:1}.tpp-riad-hero>.tpp-booking{grid-row:2}.tpp-gallery-main{min-height:290px}.tpp-gallery-main>img{max-height:390px}.tpp-ticket-heading{display:block}.tpp-ticket-price{text-align:start;margin-top:12px}.tpp-luxury-hero{min-height:380px}.tpp-traveleo .tpp-product-grid{display:flex;flex-direction:column}.tpp-traveleo .tpp-product-grid>.tpp-booking{order:-1;width:100%}.tpp-service-grid,.tpp-includes{grid-template-columns:1fr}.tpp-related>div{grid-template-columns:repeat(2,minmax(0,1fr))}.tpp-reviews>div:last-child{grid-template-columns:1fr 1fr}.tpp-day{grid-template-columns:100px minmax(0,1fr)}.tpp-day>img{min-height:115px}.tpp-booking-page{padding:14px}.tpp-booking-page-head{display:grid}.tpp-request-fields>form,.tpp-request-form form{grid-template-columns:1fr}.tpp-request-fields button,.tpp-request-fields input[type=submit]{grid-column:auto}.tpp-trust-strip{display:grid}.tpp-quick-facts,.tpp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tpp-mobile-book{position:fixed;z-index:20;inset:auto 14px max(12px,env(safe-area-inset-bottom));display:flex;max-width:620px;margin:auto}}
@media(max-width:420px){.tpp-product{padding:10px}.tpp-product-intro h1{font-size:1.65rem}.tpp-gallery-main{min-height:235px}.tpp-thumb{flex-basis:70px;height:64px}.tpp-umrah .tpp-umrah-banner{padding:17px 12px}.tpp-umrah-banner strong{font-size:1.15rem}.tpp-related>div{grid-template-columns:1fr 1fr}.tpp-reviews>div:last-child{grid-template-columns:1fr}.tpp-day{grid-template-columns:1fr}.tpp-day>img{height:150px}.tpp-booking{padding:16px}.tpp-quick-facts,.tpp-facts{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.tpp-product *, .tpp-booking-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Booking steps use the selected master theme's own composition and palette. */
.tpp-booking-page{--tpp-ink:#18345b;--tpp-muted:#63748c;--tpp-accent:#237bd1;--tpp-line:#dfe7f1;--tpp-canvas:#f2f7fd;--tpp-radius:20px;max-width:1440px;padding:clamp(18px,3.5vw,48px);background:var(--tpp-canvas)}
.tpp-booking-page h1,.tpp-booking-page h2,.tpp-booking-page p{margin-top:0}
.tpp-booking-back{display:inline-flex;align-items:center;gap:8px;color:var(--tpp-accent)!important;text-decoration:none;font-weight:850}
.tpp-booking-flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,370px);gap:clamp(18px,2.5vw,32px);max-width:1200px;margin:24px auto 0;align-items:start}
.tpp-booking-flow>aside{grid-column:auto;grid-row:1;position:sticky;top:18px}
.tpp-booking-flow>div{min-width:0;display:grid;gap:18px}
.tpp-booking-summary{padding:20px;border:1px solid var(--tpp-line);border-radius:var(--tpp-radius);background:#fff;box-shadow:0 18px 50px #10294b12}
.tpp-booking-summary-gallery{display:grid;grid-template-columns:1fr 1fr;gap:7px;overflow:hidden;margin-bottom:15px;border-radius:calc(var(--tpp-radius) - 5px);background:var(--tpp-canvas)}
.tpp-booking-summary-gallery img{display:block;width:100%;height:110px;object-fit:cover}.tpp-booking-summary-gallery img:first-child{grid-column:1/-1;height:190px}.tpp-booking-summary-gallery img:only-child{grid-column:1/-1;height:220px}
.tpp-booking-summary>span{color:var(--tpp-accent);font-size:.83rem;font-weight:850}.tpp-booking-summary h2{margin:7px 0 13px;color:var(--tpp-ink);font-size:1.25rem;line-height:1.45}
.tpp-booking-price{display:grid;gap:4px;padding:13px 0;border-block:1px solid var(--tpp-line)}.tpp-booking-price small{color:var(--tpp-muted)}.tpp-booking-price strong{color:var(--tpp-ink);font-size:1.7rem}
.tpp-booking-summary>p{margin:10px 0;color:var(--tpp-muted)}.tpp-booking-selection{display:grid;gap:7px;margin-top:12px}.tpp-booking-selection span{padding:9px 11px;border-radius:10px;background:var(--tpp-canvas);color:var(--tpp-ink);font-size:.84rem;font-weight:750;overflow-wrap:anywhere}
.tpp-booking-theme-card,.tpp-request-form{padding:clamp(18px,2.5vw,28px);border:1px solid var(--tpp-line);border-radius:var(--tpp-radius);background:#fff;box-shadow:0 14px 38px #10294b0c}
.tpp-booking-kicker{margin:0 0 8px;color:var(--tpp-accent);font-size:.78rem;font-weight:900;letter-spacing:.06em}
.tpp-booking-theme-card h2{margin-bottom:8px;color:var(--tpp-ink);font-size:1.25rem}.tpp-booking-theme-card p{color:var(--tpp-muted);line-height:1.7}
.tpp-booking-route{display:grid;grid-template-columns:1fr auto;gap:4px 15px;align-items:center;padding:16px;border-radius:15px;background:var(--tpp-canvas)}.tpp-booking-route span,.tpp-booking-route small{color:var(--tpp-muted);font-size:.8rem}.tpp-booking-route strong{grid-column:1;color:var(--tpp-ink);font-size:1.1rem}.tpp-booking-route i{grid-column:2;grid-row:1/4;color:var(--tpp-accent);font-size:1.7rem;font-style:normal}
.tpp-booking-service-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}.tpp-booking-service-row:empty{display:none}.tpp-booking-service-row article{display:flex;gap:10px;min-width:0;padding:12px;border-radius:12px;background:var(--tpp-canvas)}.tpp-booking-service-row article>span{color:var(--tpp-accent);font-size:1.15rem}.tpp-booking-service-row article div{display:grid;gap:4px;min-width:0}.tpp-booking-service-row small{color:var(--tpp-muted)}.tpp-booking-service-row strong{color:var(--tpp-ink);font-size:.86rem;line-height:1.5;overflow-wrap:anywhere}
.tpp-booking-itinerary{margin-top:18px}.tpp-booking-itinerary h2{margin-bottom:10px;font-size:1.08rem}.tpp-booking-itinerary ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.tpp-booking-itinerary li{display:grid;grid-template-columns:minmax(72px,100px) minmax(0,1fr);gap:10px;padding:10px;border-inline-start:2px solid var(--tpp-accent);background:var(--tpp-canvas);border-radius:8px}.tpp-booking-itinerary li span{color:var(--tpp-accent);font-size:.78rem;font-weight:850}.tpp-booking-itinerary li strong{color:var(--tpp-ink);font-size:.86rem;line-height:1.5}
.tpp-booking-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none}.tpp-booking-progress li{display:flex;align-items:center;gap:7px;min-width:0;padding:10px;border-bottom:2px solid var(--tpp-line);color:var(--tpp-muted);font-size:.79rem}.tpp-booking-progress li[aria-current=step]{border-color:var(--tpp-accent);color:var(--tpp-ink);font-weight:850}.tpp-booking-progress b{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:var(--tpp-canvas);color:var(--tpp-accent);font-size:.72rem}
.tpp-booking-sky-head,.tpp-booking-safar-head{display:flex;align-items:center;gap:clamp(16px,4vw,56px);max-width:1200px;margin:auto;padding:8px 0 18px}.tpp-booking-sky-head>div:last-child,.tpp-booking-safar-head>div:last-child{margin-inline-start:auto}.tpp-booking-sky-head h1,.tpp-booking-safar-head h1,.tpp-booking-luxury-head h1{margin:5px 0;color:var(--tpp-ink);font-size:clamp(1.5rem,3vw,2.4rem)}.tpp-booking-sky-head p,.tpp-booking-safar-head p{margin:0;color:var(--tpp-muted)}
.tpp-booking-layout-sky>aside{border-top:4px solid var(--tpp-accent)}.tpp-booking-flight-card{border-inline-start:4px solid var(--tpp-accent)}.tpp-booking-flight-card .tpp-booking-route{background:linear-gradient(115deg,#e8f5ff,#f5faff)}.tpp-booking-flight-card .tpp-booking-itinerary li{border-inline-start-style:dashed}
.tpp-booking-paperplane{--tpp-ink:#173f33;--tpp-muted:#687a6c;--tpp-accent:#a98135;--tpp-line:#e4dac0;--tpp-canvas:#faf7ee;--tpp-radius:13px}.tpp-booking-umrah-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1200px;margin:0 auto;padding:20px clamp(18px,4vw,42px);border:1px solid #c8ac68;border-radius:var(--tpp-radius);background:linear-gradient(115deg,#143d31,#205d46);color:#f6e9c6;text-align:center}.tpp-booking-umrah-banner>div{display:grid;gap:5px}.tpp-booking-umrah-banner small{color:#e2c97f;font-weight:850}.tpp-booking-umrah-banner h1{margin:0;font-size:clamp(1.3rem,2.5vw,2rem)}.tpp-booking-umrah-banner p{margin:0;color:#e7dbbd}.tpp-booking-umrah-banner>span,.tpp-booking-sacred-mark{color:#e1c77b;font-size:1.6rem}.tpp-booking-paperplane .tpp-booking-summary{background:#fffdf7}.tpp-booking-umrah-card{display:flex;gap:18px;align-items:flex-start;border-color:#d2bd84;background:#fffdf7}.tpp-booking-umrah-card .tpp-booking-sacred-mark{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:#f3ead1}.tpp-booking-layout-umrah .tpp-request-form{background:#fffdf8}
.tpp-booking-ticketplan{--tpp-ink:#17375d;--tpp-muted:#63758d;--tpp-accent:#ed705d;--tpp-line:#dce9f1;--tpp-canvas:#f1f8fb;--tpp-radius:21px}.tpp-booking-city-hero{max-width:1200px;margin:auto}.tpp-booking-city-hero>.tpp-booking-back{margin:0 0 15px}.tpp-booking-city-card{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);gap:20px;overflow:hidden;background:#fff}.tpp-booking-city-cover{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-content:start;overflow:hidden;border-radius:16px}.tpp-booking-city-cover img{width:100%;height:90px;object-fit:cover}.tpp-booking-city-cover img:first-child{grid-column:1/-1;height:200px}.tpp-booking-city-card .tpp-booking-service-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tpp-booking-layout-city>.tpp-request-form{border-top:4px solid var(--tpp-accent)}
.tpp-booking-traveleo{--tpp-ink:#f8f3e6;--tpp-muted:#d7deea;--tpp-accent:#d4a64f;--tpp-line:#375176;--tpp-canvas:#12294b;--tpp-radius:24px}.tpp-booking-luxury-head{display:flex;align-items:center;gap:clamp(18px,5vw,70px);max-width:1200px;margin:auto;padding:22px 0;color:#fff}.tpp-booking-luxury-head>div{margin-inline-start:auto;text-align:end}.tpp-booking-luxury-head>div>span{color:#e5c779;font-size:.8rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.tpp-booking-luxury-head h1,.tpp-booking-luxury-head p{color:#fff}.tpp-booking-layout-luxury>aside,.tpp-booking-layout-luxury>.tpp-booking-summary{background:#193457;border-color:#466084}.tpp-booking-luxury-card{border-color:#466084;background:linear-gradient(135deg,#193457,#112746)}.tpp-booking-layout-luxury .tpp-request-form{background:#fff;color:#193457;--tpp-ink:#193457;--tpp-muted:#68768a;--tpp-line:#dce4ec;--tpp-canvas:#f4f6f8}.tpp-booking-layout-luxury .tpp-booking-price strong,.tpp-booking-layout-luxury .tpp-booking-summary h2{color:#fff}
.tpp-booking-travelora{--tpp-ink:#17435e;--tpp-muted:#627d88;--tpp-accent:#178d9a;--tpp-line:#d5e8e8;--tpp-canvas:#eff8f6;--tpp-radius:18px}.tpp-booking-safar-head{max-width:1200px;margin:0 auto 16px;padding:18px 22px;border:1px solid #c4e0dc;border-radius:22px;background:linear-gradient(100deg,#e3f5ef,#f8fcfa)}.tpp-booking-safar-card{border-color:#c5e2dc;background:linear-gradient(130deg,#eff9f5,#fff)}.tpp-booking-safar-card .tpp-booking-route{background:#dff1ec}.tpp-booking-layout-safar>.tpp-booking-summary{border-top:4px solid var(--tpp-accent)}
.tpp-booking-wandervista{--tpp-ink:#183d5a;--tpp-muted:#667b8c;--tpp-accent:#1988a0;--tpp-line:#d9e8e8;--tpp-canvas:#f2f7f3;--tpp-radius:17px}.tpp-booking-atlas-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;max-width:1200px;margin:auto}.tpp-booking-atlas-head>.tpp-booking-back{grid-column:1/-1}.tpp-booking-atlas-card{min-width:min(360px,100%);padding:16px;background:#fff;border-bottom:4px solid #d8bb74}.tpp-booking-map-art{position:relative;display:grid;place-items:center;min-height:112px;overflow:hidden;border-radius:13px;background:linear-gradient(135deg,#dcefeb,#f5e8cf)}.tpp-booking-map-art span{position:relative;z-index:1;color:#db9b42;font-size:2rem}.tpp-booking-map-art i,.tpp-booking-map-art b,.tpp-booking-map-art em{position:absolute;width:145%;height:2px;background:#8cb7b0;transform:rotate(21deg)}.tpp-booking-map-art b{transform:rotate(-30deg)}.tpp-booking-map-art em{width:1px;height:140%;transform:rotate(50deg)}.tpp-booking-layout-atlas>.tpp-booking-summary{border-top:4px solid #d2a44e}
.tpp-booking-page .tpp-request-form>h1{color:#18345b}.tpp-booking-page .tpp-request-form>p:not(.tpp-eyebrow){color:#63748c}.tpp-booking-page .tpp-request-fields>form,.tpp-booking-page .tpp-request-form form{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px}.tpp-booking-page .tpp-request-fields>form>input[type=hidden]{display:none}.tpp-booking-page .tpp-request-form form>label{display:grid;gap:6px;color:#18345b;font-size:.84rem;font-weight:750}.tpp-booking-page .tpp-request-fields textarea{min-height:100px}.tpp-booking-page .tpp-request-fields button,.tpp-booking-page .tpp-request-fields input[type=submit],.tpp-booking-page .tpp-preview-form button{grid-column:1/-1}.tpp-booking-page .tpp-preview-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px}.tpp-booking-page .tpp-preview-form>label{display:grid;gap:6px;color:var(--tpp-ink);font-size:.84rem;font-weight:750}.tpp-booking-page .tpp-preview-form input{width:100%;min-width:0;min-height:45px;padding:10px 12px;border:1px solid var(--tpp-line);border-radius:11px;background:#fff;color:var(--tpp-ink);font:inherit}.tpp-booking-page .tpp-preview-form input[disabled]{opacity:.82}.tpp-booking-page .tpp-preview-form button{min-height:48px;border:0;border-radius:12px;background:#8794a4;color:#fff;font:inherit;font-weight:850;cursor:not-allowed}
.tpp-booking-page .tpp-whatsapp{margin-top:0}
@media(max-width:900px){.tpp-booking-flow{grid-template-columns:minmax(0,1fr) 300px}.tpp-booking-city-card{grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr)}.tpp-booking-atlas-card{min-width:300px}}
@media(max-width:700px){.tpp-booking-flow{grid-template-columns:minmax(0,1fr);gap:14px}.tpp-booking-flow>aside{position:static;grid-row:1}.tpp-booking-flow>div{grid-row:2}.tpp-booking-summary-gallery img:first-child{height:190px}.tpp-booking-city-card{grid-template-columns:1fr}.tpp-booking-city-cover img:first-child{height:180px}.tpp-booking-service-row{grid-template-columns:1fr 1fr}.tpp-booking-progress{grid-template-columns:1fr}.tpp-booking-progress li{padding:8px}.tpp-booking-sky-head,.tpp-booking-safar-head,.tpp-booking-luxury-head{align-items:flex-start;flex-direction:column;gap:14px}.tpp-booking-sky-head>div:last-child,.tpp-booking-safar-head>div:last-child,.tpp-booking-luxury-head>div{margin-inline-start:0;text-align:start}.tpp-booking-atlas-head{grid-template-columns:1fr}.tpp-booking-atlas-card{min-width:0}.tpp-booking-page .tpp-request-fields>form,.tpp-booking-page .tpp-request-form form,.tpp-booking-page .tpp-preview-form{grid-template-columns:1fr}.tpp-booking-page .tpp-request-fields button,.tpp-booking-page .tpp-request-fields input[type=submit],.tpp-booking-page .tpp-preview-form button{grid-column:auto}.tpp-booking-umrah-banner{padding:17px 12px}.tpp-booking-umrah-banner>span{font-size:1.2rem}.tpp-booking-umrah-banner h1{font-size:1.3rem}}
@media(max-width:420px){.tpp-booking-page{padding:12px}.tpp-booking-summary,.tpp-booking-theme-card,.tpp-request-form{padding:16px}.tpp-booking-service-row{grid-template-columns:1fr}.tpp-booking-city-cover img:first-child{height:150px}}

/* SkyRoute product detail: gallery-led reference layout, isolated to this theme. */
.tpp-page.tpp-skyline{--tpp-ink:#183653;--tpp-muted:#6e7f91;--tpp-accent:#ef7d12;--tpp-line:#dfe5ea;--tpp-canvas:#f7f8fa;--tpp-radius:4px;max-width:1440px;padding:clamp(14px,2.5vw,34px);overflow:hidden;background:#fff;color:var(--tpp-ink)}
.tpp-skyline-reference-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:12px}.tpp-skyline-reference-head>div{min-width:0;flex:1}.tpp-skyline-reference-head .tpp-product-intro{padding:0;border:0;background:transparent;box-shadow:none}.tpp-skyline .tpp-back{display:inline-flex;margin-bottom:10px;color:#50708b!important}.tpp-skyline .tpp-product-intro h1{margin:8px 0 6px;color:#30373d;font-size:clamp(1.7rem,3vw,2.7rem);font-weight:650;line-height:1.18;letter-spacing:0}.tpp-skyline .tpp-destination{margin:3px 0;color:#657789;font-weight:650}.tpp-skyline .tpp-summary-line{margin-top:7px}.tpp-skyline .tpp-category-pill{background:#eef6fb;color:#27729f}.tpp-skyline .tpp-demo-pill{background:#fff3df;color:#925714}.tpp-share-link{flex:0 0 auto;margin-top:4px;color:#1674af!important;font-weight:750;text-decoration:none}.tpp-share-link:hover{text-decoration:underline}
.tpp-skyline-subnav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;overflow-x:auto;margin:0 0 12px;padding:0;background:transparent;scrollbar-width:thin}.tpp-skyline-subnav a{display:grid;place-items:center;min-height:52px;padding:10px 14px;border:1px solid #e1e5e8;border-bottom:3px solid #e1e5e8;background:linear-gradient(#fff,#f5f6f7);color:#2673a6;text-align:center;text-decoration:none;font-size:clamp(.82rem,1.4vw,1rem);font-weight:650;white-space:nowrap}.tpp-skyline-subnav a:first-child{border-bottom-color:#454d54;color:#245f86}.tpp-skyline-subnav a:hover,.tpp-skyline-subnav a:focus-visible{border-bottom-color:var(--tpp-accent);background:#fff;color:#d96b07;outline:none}
.tpp-skyline-reference-main{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(315px,.92fr);gap:20px;align-items:start;direction:ltr}.tpp-skyline-gallery-column,.tpp-skyline-booking{min-width:0}.tpp-skyline .tpp-gallery-skyline{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin:0}.tpp-skyline .tpp-gallery-main{position:relative;min-height:clamp(430px,52vw,680px);overflow:hidden;border:1px solid #d8dde2;border-radius:2px;background:#edf1f4}.tpp-skyline .tpp-gallery-main>img{display:block;width:100%;height:100%;max-height:680px;object-fit:cover}.tpp-gallery-arrow{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:52px;height:68px;padding:0;transform:translateY(-50%);border:0;background:#ffffffbf;color:#fff;font:300 4.5rem/1 Arial;text-shadow:0 1px 5px #26384999;cursor:pointer;transition:background .18s ease,transform .18s ease}.tpp-gallery-arrow:hover,.tpp-gallery-arrow:focus-visible{background:#ffffffed;transform:translateY(-50%) scale(1.04);outline:2px solid #fff}.tpp-gallery-prev{left:12px}.tpp-gallery-next{right:12px}.tpp-skyline .tpp-fullscreen{top:auto;right:auto;bottom:0;left:0;width:48px;height:42px;border-radius:0;background:#16364ed6}.tpp-skyline .tpp-photo-index{right:auto;bottom:0;left:48px;min-width:94px;height:42px;padding:0 16px;border-radius:0;background:#16364ed6;color:#fff;line-height:42px}.tpp-skyline-gallery-rail{display:grid;grid-template-columns:minmax(112px,.25fr) minmax(0,1fr);gap:9px;align-items:stretch}.tpp-skyline-video{position:relative;display:grid;min-height:78px;overflow:hidden;border-radius:2px;background:#183c65;color:#fff!important;text-decoration:none}.tpp-skyline-video img{width:100%;height:100%;min-height:78px;object-fit:cover;opacity:.72}.tpp-skyline-video span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;text-align:center;font-size:.78rem;font-weight:850;text-shadow:0 1px 8px #0c2745}.tpp-skyline-video b{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#fff;color:#1576c3}.tpp-skyline .tpp-skyline-gallery-rail .tpp-thumbs{align-content:center;min-width:0;gap:7px;padding:0}.tpp-skyline .tpp-thumb{flex-basis:clamp(72px,8vw,104px);height:72px;border-radius:2px}.tpp-skyline .tpp-thumb.is-active{outline:3px solid var(--tpp-accent);outline-offset:-3px}
.tpp-skyline .tpp-booking{position:sticky;top:14px;padding:20px;border:1px solid #dfe3e6;border-radius:2px;background:#fff;box-shadow:0 3px 12px #20364c0b}.tpp-skyline .tpp-booking-head{padding-bottom:15px;border-bottom:1px solid #e4e7e9}.tpp-skyline .tpp-booking-head .tpp-eyebrow{margin:0 0 10px;color:var(--tpp-accent);font-size:1.45rem;letter-spacing:0;text-transform:none}.tpp-skyline .tpp-price-row strong{color:#2f3337;font-size:clamp(2.2rem,4vw,3.35rem);line-height:1}.tpp-skyline .tpp-price-caption,.tpp-skyline .tpp-booking-head>small{color:#68747c}.tpp-skyline .tpp-availability-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.tpp-skyline .tpp-availability-form>label{grid-column:1/-1}.tpp-skyline .tpp-availability-form>label:has(input[type=date]){grid-column:auto}.tpp-skyline .tpp-availability-form input,.tpp-skyline .tpp-availability-form textarea{border-radius:2px}.tpp-skyline .tpp-traveler-fields{grid-column:1/-1}.tpp-skyline .tpp-availability-form .tpp-primary{min-height:52px;border-radius:2px;background:var(--tpp-accent);font-size:1.05rem}.tpp-skyline .tpp-booking-actions>a{border-radius:2px}.tpp-skyline .tpp-contact-button{background:#f5f5f5;color:#d76d0c;border-color:#e4e4e4}.tpp-skyline-quick{margin:18px 0}.tpp-skyline .tpp-quick-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tpp-skyline .tpp-quick-facts>div,.tpp-skyline .tpp-quick-facts>span{min-width:0;padding:12px;border:1px solid #e0e5e9;border-radius:2px;background:#fafbfc;color:#405b70}
.tpp-skyline-content{display:grid;gap:clamp(22px,3vw,38px)}.tpp-skyline .tpp-section{scroll-margin-top:76px}.tpp-skyline-hotel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:center;overflow:hidden;padding:clamp(18px,2.5vw,30px);border:1px solid #dfe5ea;border-radius:4px;background:#fff}.tpp-skyline-hotel h2{margin:0 0 8px;color:#183653;font-size:clamp(1.2rem,2vw,1.65rem)}.tpp-skyline-hotel p:last-child{margin:0;color:#687d96;line-height:1.7}.tpp-skyline-hotel>img{display:block;width:100%;height:clamp(180px,22vw,290px);border-radius:3px;object-fit:cover}.tpp-skyline-travel-details,.tpp-skyline-location{padding:clamp(18px,2.5vw,30px);border:1px solid #dfe5ea;border-radius:4px;background:#fff}.tpp-skyline .tpp-section-heading{margin-bottom:17px}.tpp-skyline .tpp-section-heading h2{color:#183653}.tpp-skyline .tpp-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tpp-skyline .tpp-service-grid>article{min-width:0;padding:14px;border:1px solid #e1e7eb;border-radius:3px;background:#fafbfc}.tpp-skyline .tpp-service-grid>article p{margin:5px 0 0;color:#395b70;line-height:1.6;overflow-wrap:anywhere}.tpp-skyline-attractions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.tpp-skyline-attractions article{min-width:0;overflow:hidden;border:1px solid #e0e6ea;border-radius:3px;background:#fff}.tpp-skyline-attractions img{display:block;width:100%;height:clamp(115px,14vw,180px);object-fit:cover}.tpp-skyline-attractions article>div{display:grid;gap:4px;padding:11px 13px}.tpp-skyline-attractions strong{color:#183653}.tpp-skyline-attractions small{color:#72849a}.tpp-skyline-map{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(190px,.6fr);min-height:220px;overflow:hidden;border:1px solid #dce5eb;border-radius:3px;background:#edf4f8}.tpp-skyline-map iframe{display:block;width:100%;height:100%;min-height:220px;border:0}.tpp-skyline-map>div{display:grid;align-content:center;gap:12px;padding:20px}.tpp-skyline-map strong{color:#183653;line-height:1.6}.tpp-skyline-map a{color:#1375bd;font-weight:850;text-decoration:none}.tpp-skyline .tpp-trust-strip{margin-top:20px;border-color:#dce5e9;background:#f6f8fa;color:#315770}
@media(max-width:980px){.tpp-skyline-reference-main{grid-template-columns:minmax(0,1.55fr) minmax(285px,.85fr)}.tpp-skyline .tpp-gallery-main{min-height:470px}.tpp-skyline .tpp-availability-form{grid-template-columns:1fr}.tpp-skyline .tpp-availability-form>label:has(input[type=date]){grid-column:1/-1}.tpp-skyline .tpp-quick-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.tpp-page.tpp-skyline{padding:12px}.tpp-skyline-reference-head{display:block}.tpp-share-link{display:inline-flex;margin:3px 0 10px}.tpp-skyline-subnav{grid-template-columns:repeat(6,minmax(118px,1fr));margin-inline:-12px;padding-inline:12px}.tpp-skyline-reference-main{grid-template-columns:1fr;gap:14px}.tpp-skyline .tpp-gallery-main{min-height:clamp(300px,78vw,500px)}.tpp-skyline .tpp-booking{position:static}.tpp-skyline-gallery-rail{grid-template-columns:1fr}.tpp-skyline-video,.tpp-skyline-video img{min-height:74px;height:74px}.tpp-gallery-arrow{width:42px;height:58px;font-size:3.7rem}.tpp-gallery-prev{left:6px}.tpp-gallery-next{right:6px}.tpp-skyline .tpp-thumb{flex-basis:78px;height:62px}.tpp-skyline-content{gap:18px}.tpp-skyline-hotel{grid-template-columns:1fr;gap:14px;padding:17px}.tpp-skyline-hotel>img{height:205px}.tpp-skyline-travel-details,.tpp-skyline-location{padding:17px}.tpp-skyline .tpp-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tpp-skyline-attractions{grid-template-columns:repeat(2,minmax(0,1fr))}.tpp-skyline-map{grid-template-columns:1fr}.tpp-skyline-map iframe{height:230px}.tpp-skyline-map>div{padding:14px}}
@media(max-width:420px){.tpp-skyline .tpp-product-intro h1{font-size:1.6rem}.tpp-skyline .tpp-quick-facts{grid-template-columns:1fr 1fr}.tpp-skyline .tpp-service-grid{grid-template-columns:1fr}.tpp-skyline-attractions{grid-template-columns:1fr 1fr}.tpp-skyline-attractions img{height:112px}.tpp-skyline-map iframe{min-height:190px;height:190px}.tpp-skyline .tpp-booking{padding:16px}}
@media(prefers-reduced-motion:reduce){.tpp-skyline *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Viaja+ product and booking pages: isolated bright-blue travel editorial layout. */
.tpp-product.tpp-viaja,.tpp-booking-page.tpp-booking-viaja{--tpp-ink:#14284d;--tpp-muted:#647793;--tpp-accent:var(--reference-accent,#2355d8);--tpp-highlight:#ffda32;--tpp-line:#dbe5f1;--tpp-surface:var(--reference-secondary,#fff7d9);color:var(--tpp-ink)}
.tpp-viaja .tpp-viaja-heading{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:clamp(18px,3vw,38px);align-items:center;padding:clamp(20px,4vw,56px);border-radius:28px;background:linear-gradient(130deg,#fff7d9 0%,#fff 52%,#eaf2ff 100%)}
.tpp-viaja .tpp-viaja-heading>.tpp-gallery{min-width:0}.tpp-viaja .tpp-viaja-heading .tpp-gallery-main{height:clamp(300px,40vw,560px);border-radius:22px;overflow:hidden}.tpp-viaja .tpp-product-intro{padding:0;background:transparent;border:0;box-shadow:none}.tpp-viaja .tpp-product-intro h1{color:var(--tpp-ink);font-size:clamp(2rem,4.3vw,4.2rem);line-height:1.08}.tpp-viaja .tpp-category-pill{background:var(--tpp-highlight);color:#15284a}.tpp-viaja .tpp-viaja-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,370px);gap:clamp(20px,3vw,42px);padding:clamp(18px,3.5vw,50px)}.tpp-viaja .tpp-viaja-nav{position:sticky;top:8px;z-index:2;background:#fff;border:1px solid var(--tpp-line);border-radius:999px}.tpp-viaja .tpp-viaja-nav a{color:var(--tpp-accent)}.tpp-viaja .tpp-booking-card,.tpp-viaja .tpp-booking{border-color:var(--tpp-line);border-radius:24px;box-shadow:0 18px 45px #1b3c6818}.tpp-viaja .tpp-product-booking{align-self:start}.tpp-viaja .tpp-section h2{color:var(--tpp-ink)}.tpp-booking-page.tpp-booking-viaja{background:linear-gradient(145deg,#fff 10%,#f1f6ff 65%,#fff7d9);padding:clamp(16px,4vw,48px)}.tpp-booking-viaja .tpp-booking-viaja-head{display:flex;align-items:center;gap:clamp(20px,4vw,52px);max-width:1180px;margin:0 auto 22px;padding:clamp(22px,4vw,52px);border-radius:28px;background:linear-gradient(115deg,#2355d8,#397ce4);color:#fff}.tpp-booking-viaja .tpp-booking-viaja-head a,.tpp-booking-viaja .tpp-booking-viaja-head h1,.tpp-booking-viaja .tpp-booking-viaja-head p{color:#fff}.tpp-booking-viaja .tpp-booking-viaja-head>div>span{color:#ffda32;font-weight:800}.tpp-booking-viaja .tpp-booking-flow.tpp-booking-layout-viaja{grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr)}.tpp-booking-viaja .tpp-booking-viaja-card{background:#fff7d9;border:1px solid #f0df9b;border-radius:22px;padding:clamp(18px,2.5vw,30px)}.tpp-booking-viaja .tpp-booking-theme-card h2{color:#14284d}.tpp-booking-viaja .tpp-request-form button,.tpp-product.tpp-viaja .tpp-booking-button{background:var(--tpp-accent)}
@media(max-width:850px){.tpp-viaja .tpp-viaja-heading{grid-template-columns:1fr}.tpp-viaja .tpp-viaja-heading>.tpp-gallery{grid-row:1}.tpp-viaja .tpp-viaja-columns{grid-template-columns:minmax(0,1fr)}.tpp-booking-viaja .tpp-booking-flow.tpp-booking-layout-viaja{grid-template-columns:1fr}}
@media(max-width:600px){.tpp-viaja .tpp-viaja-heading{padding:14px;border-radius:18px}.tpp-viaja .tpp-viaja-heading .tpp-gallery-main{height:clamp(250px,72vw,390px)}.tpp-viaja .tpp-viaja-columns{padding:14px}.tpp-booking-page.tpp-booking-viaja{padding:12px}.tpp-booking-viaja .tpp-booking-viaja-head{display:block;padding:22px;border-radius:20px}.tpp-booking-viaja .tpp-booking-flow.tpp-booking-layout-viaja{display:grid;grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tpp-viaja *,.tpp-booking-viaja *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Multi-channel product booking: contact, WhatsApp and agency bank deposit. */
.tpp-availability-form textarea{width:100%;min-height:72px;padding:11px 12px;border:1px solid var(--tpp-line);border-radius:11px;background:#fff;color:var(--tpp-ink);font:inherit;resize:vertical}
.tpp-booking-actions{display:grid;gap:9px;margin-top:11px}.tpp-booking-actions>a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 13px;border-radius:12px;font-weight:850;text-decoration:none;text-align:center}
.tpp-booking-actions .tpp-whatsapp{margin:0;background:#eafaf1;color:#147a46;border:1px solid #bfe8d1}.tpp-deposit-button{background:#fff3f9;color:#b50b67;border:1px solid #f2c1db}.tpp-contact-button{background:#f5f8fc;color:var(--tpp-ink);border:1px solid var(--tpp-line)}
.tpp-bank-choices{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0;padding:14px;border:1px solid var(--tpp-line);border-radius:14px}.tpp-bank-choices legend{padding:0 8px;font-weight:900;color:var(--tpp-ink)}.tpp-bank-choice{position:relative;display:block}.tpp-bank-choice>input{position:absolute;opacity:0}.tpp-bank-choice>span{display:grid;gap:6px;height:100%;padding:13px;border:1px solid var(--tpp-line);border-radius:13px;background:#fff;cursor:pointer}.tpp-bank-choice input:checked+span{border-color:var(--tpp-accent);box-shadow:0 0 0 2px rgba(232,20,126,.14)}.tpp-bank-choice img{width:auto;max-width:88px;height:30px;object-fit:contain}.tpp-bank-choice code{overflow-wrap:anywhere;color:var(--tpp-ink);font-weight:800}.tpp-bank-choice em{color:var(--tpp-accent);font-style:normal;font-size:.75rem}.tpp-proof-field{grid-column:1/-1!important;padding:14px;border:1px dashed var(--tpp-accent);border-radius:13px;background:#fff8fc}.tpp-proof-field input{padding:10px;background:#fff}
@media(max-width:760px){.tpp-bank-choices{grid-template-columns:1fr}}


/* Advanced product details for every master theme. Layout, symbols and motion stay theme-scoped. */
.tpp-themed-detail{isolation:isolate}.tpp-theme-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin:18px 0}.tpp-theme-toolbar .tpp-subnav{margin:0}.tpp-theme-nav{scrollbar-width:thin}.tpp-theme-nav a[href="#booking"]{font-weight:900}.tpp-theme-signature{display:flex;flex-wrap:wrap;gap:8px}.tpp-theme-signature>span{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px 11px;border:1px solid var(--tpp-line);border-radius:999px;background:#fff;color:var(--tpp-ink);white-space:nowrap}.tpp-theme-signature i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--tpp-canvas);color:var(--tpp-accent);font-style:normal;font-size:1rem}.tpp-theme-signature b{font-size:.78rem}.tpp-themed-grid{align-items:start}.tpp-themed-detail .tpp-gallery-arrow{opacity:.78}.tpp-themed-detail .tpp-gallery-main:hover .tpp-gallery-arrow,.tpp-themed-detail .tpp-gallery-arrow:focus-visible{opacity:1}.tpp-themed-detail .tpp-booking{scroll-margin-top:18px}.tpp-themed-detail .tpp-reviews{scroll-margin-top:18px}

/* Umrah Noor: calm sacred green and gold, centered rhythm and restrained motion. */
.tpp-umrah.tpp-themed-detail{max-width:1360px;padding:clamp(18px,3vw,42px);background:linear-gradient(180deg,#fbf8ed,#fff)}.tpp-umrah .tpp-theme-toolbar{grid-template-columns:1fr}.tpp-umrah .tpp-theme-nav{justify-content:center;border-color:#d8c58e;border-radius:8px;background:#fffdf7}.tpp-umrah .tpp-theme-nav a{border-radius:5px;color:#476758!important}.tpp-umrah .tpp-theme-nav a:hover{background:#f2ead5;color:#8a692d!important}.tpp-umrah .tpp-theme-signature{justify-content:center}.tpp-umrah .tpp-theme-signature>span{border-color:#d8c58e;background:#fffdf7}.tpp-umrah .tpp-theme-signature i{background:#173e32;color:#dfc477}.tpp-umrah .tpp-gallery-main{border-radius:8px 8px 42px 8px;box-shadow:0 18px 50px #173e3217}.tpp-umrah .tpp-gallery-arrow{border-radius:50%;background:#173e32d9;color:#f6e6b8}.tpp-umrah .tpp-primary{background:linear-gradient(135deg,#173e32,#2c6852)}.tpp-umrah .tpp-booking{border-top:5px solid #b5934e;box-shadow:0 20px 55px #173e3214}.tpp-umrah .tpp-section{border-radius:10px}.tpp-umrah .tpp-day{border-radius:9px;border-inline-start:4px solid #b5934e}

/* AeroVista: cinematic violet marketplace with an editorial split. */
.tpp-ticketplan.tpp-themed-detail{--tpp-ink:#302453;--tpp-muted:#786f8d;--tpp-accent:#a92893;--tpp-line:#e7ddef;--tpp-canvas:#faf5fc;max-width:1380px;padding:clamp(18px,3vw,44px);background:radial-gradient(circle at 85% 0,#f4dff2,transparent 30%),#fff}.tpp-ticketplan .tpp-ticket-heading{border:1px solid #eadff0;border-radius:28px;background:linear-gradient(125deg,#2b1747,#772d72);color:#fff;box-shadow:0 22px 60px #4123572a}.tpp-ticketplan .tpp-ticket-heading h1,.tpp-ticketplan .tpp-ticket-heading .tpp-destination,.tpp-ticketplan .tpp-ticket-heading .tpp-back,.tpp-ticketplan .tpp-ticket-price strong{color:#fff!important}.tpp-ticketplan .tpp-ticket-price small{color:#ebd7eb}.tpp-ticketplan .tpp-ticket-price del{color:#d7bad7}.tpp-ticketplan .tpp-theme-nav{border:0;background:#f4eaf6}.tpp-ticketplan .tpp-theme-nav a{color:#65466f!important}.tpp-ticketplan .tpp-theme-nav a:hover{background:#fff;color:#a92893!important}.tpp-ticketplan .tpp-theme-signature>span{border-color:#dfcae7;background:#fff}.tpp-ticketplan .tpp-theme-signature i{background:#f5dff2;color:#a92893}.tpp-ticketplan .tpp-gallery-main{border-radius:34px 8px 34px 8px;box-shadow:0 22px 55px #4b2b6326}.tpp-ticketplan .tpp-gallery-arrow{border-radius:18px;background:#6f2c72d9;color:#fff}.tpp-ticketplan .tpp-booking{border:0;border-top:5px solid #c83e9f;background:#fff;box-shadow:0 24px 60px #4d2d6322}.tpp-ticketplan .tpp-primary{background:linear-gradient(135deg,#7a2c78,#d23d9e)}.tpp-ticketplan .tpp-section{box-shadow:0 12px 34px #4d2d630d}

/* Horizon Escape: navy, ivory and gold luxury with a cinematic hero. */
.tpp-traveleo.tpp-themed-detail{--tpp-ink:#172d4f;--tpp-muted:#6f7887;--tpp-accent:#c69943;--tpp-line:#e3dac8;--tpp-canvas:#f8f4eb;max-width:1400px;padding:clamp(18px,3vw,42px);background:#f8f5ee}.tpp-traveleo .tpp-luxury-hero{min-height:clamp(470px,58vw,690px);border-radius:4px}.tpp-traveleo .tpp-luxury-copy{padding:clamp(28px,5vw,70px)}.tpp-traveleo .tpp-luxury-copy h1{max-width:780px;font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,4.8rem)}.tpp-traveleo .tpp-luxury-toolbar{margin-top:0;padding:15px;background:#172d4f}.tpp-traveleo .tpp-theme-nav{border:0;border-radius:0;background:transparent}.tpp-traveleo .tpp-theme-nav a{color:#f2e9d8!important}.tpp-traveleo .tpp-theme-nav a:hover{background:#ffffff12;color:#e5bd68!important}.tpp-traveleo .tpp-theme-signature>span{border-color:#ffffff28;background:#ffffff0d;color:#fff}.tpp-traveleo .tpp-theme-signature i{background:#c69943;color:#172d4f}.tpp-traveleo .tpp-gallery-arrow{border-radius:0;background:#172d4fcc;color:#f3d792}.tpp-traveleo .tpp-booking{border-radius:2px;border-top:5px solid #c69943;background:#fffdf8}.tpp-traveleo .tpp-primary{border-radius:2px;background:#172d4f}.tpp-traveleo .tpp-section{border-radius:2px;background:#fffdf8}.tpp-traveleo .tpp-day{border-radius:0}

/* Safar Wings: mobile-first turquoise cards and energetic, friendly spacing. */
.tpp-travelora.tpp-themed-detail{--tpp-ink:#083e59;--tpp-muted:#617d87;--tpp-accent:#08a6a6;--tpp-line:#cfe8e7;--tpp-canvas:#edf9f8;max-width:1360px;padding:clamp(16px,3vw,40px);background:linear-gradient(160deg,#effbfa,#fff 48%)}.tpp-travelora .tpp-modern-title{align-items:center;padding:clamp(18px,3vw,34px);border-radius:30px;background:linear-gradient(125deg,#083e59,#087d8b);color:#fff}.tpp-travelora .tpp-modern-title h1,.tpp-travelora .tpp-modern-title .tpp-destination,.tpp-travelora .tpp-modern-title .tpp-back{color:#fff!important}.tpp-travelora .tpp-modern-title .tpp-theme-signature>span{border-color:#ffffff35;background:#ffffff12;color:#fff}.tpp-travelora .tpp-modern-title .tpp-theme-signature i{background:#fff;color:#08a6a6}.tpp-travelora .tpp-theme-nav{border:0;border-radius:18px;background:#dff5f3}.tpp-travelora .tpp-theme-nav a{color:#245d67!important}.tpp-travelora .tpp-theme-nav a:hover{background:#fff;color:#008d8d!important}.tpp-travelora .tpp-modern-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,370px);gap:24px}.tpp-travelora .tpp-gallery-main{border-radius:32px 90px 32px 32px}.tpp-travelora .tpp-gallery-arrow{border-radius:50%;background:#07a1a1d9}.tpp-travelora .tpp-booking{border:0;border-top:5px solid #08a6a6;border-radius:24px;box-shadow:0 20px 50px #087d8b1d}.tpp-travelora .tpp-primary{background:linear-gradient(135deg,#08a6a6,#08758b)}.tpp-travelora .tpp-section{border-radius:24px}

/* Atlas Journey: Moroccan sand, ocean blue and story-first sections. */
.tpp-riad.tpp-themed-detail{--tpp-ink:#183d57;--tpp-muted:#6c7e85;--tpp-accent:#c5863e;--tpp-line:#dfded4;--tpp-canvas:#f4f0e6;max-width:1370px;padding:clamp(18px,3vw,44px);background:linear-gradient(180deg,#f2eadb,#fff 28%)}.tpp-riad-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;margin-bottom:18px;padding:clamp(20px,3vw,38px);border-inline-start:7px solid #c5863e;background:#fff}.tpp-riad .tpp-theme-signature>span{border-radius:6px;border-color:#d8c7aa;background:#fbf7ef}.tpp-riad .tpp-theme-signature i{border-radius:5px;background:#183d57;color:#f4d9a3}.tpp-riad .tpp-theme-nav{border-radius:6px;background:#183d57}.tpp-riad .tpp-theme-nav a{color:#f7eee1!important}.tpp-riad .tpp-theme-nav a:hover{background:#ffffff16;color:#f1c376!important}.tpp-riad .tpp-riad-hero{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.tpp-riad .tpp-gallery-main{border-radius:4px 70px 4px 4px;box-shadow:0 20px 55px #183d571f}.tpp-riad .tpp-gallery-arrow{border-radius:5px;background:#183d57d9;color:#f4d9a3}.tpp-riad .tpp-booking{border-radius:6px;border-top:5px solid #c5863e}.tpp-riad .tpp-primary{border-radius:5px;background:#183d57}.tpp-riad .tpp-section{border-radius:6px}.tpp-riad .tpp-riad-story{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tpp-riad .tpp-riad-story>.tpp-section{margin:0}.tpp-riad .tpp-riad-story>.tpp-itinerary,.tpp-riad .tpp-riad-story>.tpp-related{grid-column:1/-1}

/* Viaja+: bold blue/yellow editorial journey with diagonal energy. */
.tpp-viaja.tpp-themed-detail .tpp-theme-signature{margin-top:18px}.tpp-viaja.tpp-themed-detail .tpp-theme-signature>span{border-color:#f1d662;background:#fffdf2}.tpp-viaja.tpp-themed-detail .tpp-theme-signature i{background:#2355d8;color:#ffda32}.tpp-viaja.tpp-themed-detail .tpp-gallery-arrow{border-radius:999px;background:#2355d8d9;color:#fff}.tpp-viaja.tpp-themed-detail .tpp-viaja-nav{border:2px solid #2355d8;background:#fff}.tpp-viaja.tpp-themed-detail .tpp-viaja-nav a{color:#2355d8!important}.tpp-viaja.tpp-themed-detail .tpp-viaja-nav a:hover{background:#2355d8;color:#fff!important}.tpp-viaja.tpp-themed-detail .tpp-booking{border-top:6px solid #ffda32}.tpp-viaja.tpp-themed-detail .tpp-primary{background:#2355d8}

/* FlowTravel Arabic: structured navy/cyan booking portal. */
.tpp-flowtravel.tpp-themed-detail{--tpp-ink:#082b56;--tpp-muted:#71849b;--tpp-accent:#078fe8;--tpp-line:#d7e5f1;--tpp-canvas:#eef7ff;max-width:1390px;padding:clamp(16px,3vw,42px);background:#f7fbff}.tpp-flowtravel.tpp-themed-detail .tpp-flowtravel-hero{border-radius:28px;box-shadow:0 24px 65px #052b5926}.tpp-flowtravel.tpp-themed-detail .tpp-theme-signature>span{border-color:#ffffff30;background:#061f43cc;color:#fff}.tpp-flowtravel.tpp-themed-detail .tpp-theme-signature i{background:#10a6ff;color:#fff}.tpp-flowtravel.tpp-themed-detail .tpp-theme-nav{border:0;background:#082b56}.tpp-flowtravel.tpp-themed-detail .tpp-theme-nav a{color:#fff!important}.tpp-flowtravel.tpp-themed-detail .tpp-theme-nav a:hover{background:#0f9dec;color:#fff!important}.tpp-flowtravel.tpp-themed-detail .tpp-gallery-arrow{border-radius:14px;background:#082b56d9;color:#45c4ff}.tpp-flowtravel.tpp-themed-detail .tpp-booking{border-top:5px solid #0ca5ff}.tpp-flowtravel.tpp-themed-detail .tpp-primary{background:linear-gradient(135deg,#078fe8,#005ac0)}

@media(max-width:980px){.tpp-theme-toolbar{grid-template-columns:1fr}.tpp-theme-signature{justify-content:flex-start}.tpp-travelora .tpp-modern-grid{grid-template-columns:minmax(0,1fr) 310px}.tpp-riad-heading{grid-template-columns:1fr}.tpp-riad .tpp-riad-story{grid-template-columns:1fr}.tpp-riad .tpp-riad-story>.tpp-section{grid-column:1}}
@media(max-width:760px){.tpp-theme-nav{margin-inline:-10px;padding-inline:10px;border-radius:0!important}.tpp-theme-signature{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.tpp-theme-signature>span{justify-content:center;min-width:0;padding:7px}.tpp-theme-signature b{overflow:hidden;text-overflow:ellipsis}.tpp-themed-grid,.tpp-travelora .tpp-modern-grid,.tpp-riad .tpp-riad-hero{display:flex!important;flex-direction:column}.tpp-themed-grid>.tpp-booking,.tpp-travelora .tpp-modern-grid>.tpp-booking{position:static;order:2;width:100%}.tpp-themed-grid>.tpp-product-primary,.tpp-travelora .tpp-modern-grid>.tpp-product-primary{order:1;width:100%}.tpp-traveleo .tpp-luxury-hero{min-height:430px}.tpp-riad-heading{padding:18px}.tpp-riad .tpp-gallery-main{border-radius:4px 42px 4px 4px}.tpp-ticketplan .tpp-ticket-heading{border-radius:20px}.tpp-travelora .tpp-modern-title{grid-template-columns:1fr;padding:20px;border-radius:22px}}
@media(max-width:460px){.tpp-theme-signature{grid-template-columns:1fr}.tpp-theme-signature>span{justify-content:flex-start}.tpp-traveleo .tpp-luxury-hero{min-height:390px}.tpp-traveleo .tpp-luxury-copy h1{font-size:2rem}.tpp-umrah .tpp-umrah-banner{gap:8px}.tpp-umrah .tpp-umrah-banner>span{font-size:1.1rem}}


/* Validated booking actions and agency-owned Moroccan bank checkout. */
.tpp-booking-actions a.is-disabled{opacity:.48;filter:grayscale(.35);cursor:not-allowed;pointer-events:auto}.tpp-validation-hint{margin:8px 0 0;color:#9b315e;font-size:.78rem;line-height:1.5}.tpp-validation-hint[hidden]{display:none}.tpp-availability-form button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.tpp-payment-form{display:grid;gap:16px}.tpp-payment-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:15px;border:1px solid var(--tpp-line);border-radius:16px}.tpp-payment-choice legend{padding:0 8px;font-weight:900}.tpp-payment-choice label{position:relative}.tpp-payment-choice input{position:absolute;opacity:0}.tpp-payment-choice label span{display:grid;gap:5px;height:100%;padding:16px;border:1px solid var(--tpp-line);border-radius:13px;background:#fff;cursor:pointer}.tpp-payment-choice input:checked+span{border-color:var(--tpp-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tpp-accent) 16%,transparent)}.tpp-payment-choice strong{font-size:1.15rem;color:var(--tpp-accent)}.tpp-payment-note{padding:12px 14px;border-radius:12px;background:var(--tpp-canvas);color:var(--tpp-muted);font-size:.84rem;line-height:1.6}.tpp-payment-form .form-actions{margin:0}.tpp-payment-form .form-actions button{width:100%;min-height:50px;border:0;border-radius:13px;background:var(--tpp-accent);color:#fff;font-weight:900}
@media(max-width:640px){.tpp-payment-choice{grid-template-columns:1fr}.tpp-payment-form{gap:12px}}

/* Real product maps inherit each master theme's accent and geometry. */
.tpp-skyline-map{grid-template-columns:minmax(0,1.4fr) minmax(210px,.6fr);min-height:280px}.tpp-skyline-map iframe{min-height:280px}.tpp-skyline-map .tpp-map-caption{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:center;gap:13px;padding:20px}.tpp-skyline-map .tpp-map-caption>div{display:grid;gap:9px;padding:0}.tpp-skyline-map .tpp-map-caption>span{border-radius:3px;background:#1375bd}
.tpp-umrah .tpp-map-panel{border-radius:10px;border-color:#d8bf78;background:#fffaf0}.tpp-ticketplan .tpp-map-panel{border-radius:20px}.tpp-traveleo .tpp-map-panel{border-radius:2px;border-color:#c9ab6d}.tpp-travelora .tpp-map-panel{border-radius:24px}.tpp-riad .tpp-map-panel{border-radius:6px;border-color:#d8c7aa;background:#fbf7ef}.tpp-viaja .tpp-map-panel{border:2px solid #2355d8;border-radius:18px;background:#fffdf2}.tpp-flowtravel .tpp-map-panel{border-radius:22px;background:#eef7ff}
@media(max-width:760px){.tpp-map-panel,.tpp-skyline-map{grid-template-columns:1fr}.tpp-map-panel iframe,.tpp-skyline-map iframe{height:250px;min-height:250px}.tpp-map-caption,.tpp-skyline-map .tpp-map-caption{padding:15px}}

/* Theme-aware Moroccan bank checkout. Scoped to payment pages only. */
.tpp-booking-page.is-checkout{--checkout-glow:color-mix(in srgb,var(--tpp-accent) 14%,transparent);max-width:none;padding:clamp(16px,3.5vw,52px);background:radial-gradient(circle at 8% 4%,var(--checkout-glow),transparent 26%),var(--tpp-canvas)}
.is-checkout .tpp-booking-flow{grid-template-columns:minmax(280px,360px) minmax(0,760px);max-width:1180px;justify-content:center;gap:clamp(20px,3vw,38px)}
.is-checkout .tpp-booking-flow>aside{top:24px;overflow:hidden;padding:0 0 22px;border:0;box-shadow:0 22px 70px #10294b20}
.is-checkout .tpp-booking-summary-gallery{margin:0 0 18px;border-radius:0;background:var(--tpp-canvas)}
.is-checkout .tpp-booking-summary>span,.is-checkout .tpp-booking-summary>h2,.is-checkout .tpp-booking-summary>.tpp-booking-price,.is-checkout .tpp-booking-summary>p,.is-checkout .tpp-booking-summary>.tpp-booking-selection,.is-checkout .tpp-checkout-traveler{margin-inline:20px}
.is-checkout .tpp-booking-summary>.tpp-booking-price{padding:16px;margin-top:16px;border:1px solid var(--tpp-line);border-radius:14px;background:var(--tpp-canvas)}
.is-checkout .tpp-booking-price strong{font-size:clamp(1.35rem,3vw,1.8rem)}
.tpp-checkout-status{display:flex!important;align-items:center;gap:8px;margin:0 20px 16px!important;padding:10px 12px!important;border:0!important;border-radius:999px;background:color-mix(in srgb,var(--tpp-accent) 10%,#fff);color:var(--tpp-accent);font-weight:850}
.tpp-checkout-status i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--tpp-accent);color:#fff;font-style:normal}
.tpp-checkout-traveler{display:grid!important;gap:6px;margin-top:14px!important;padding:14px!important;border:1px solid var(--tpp-line)!important;border-radius:14px;background:#fff}
.tpp-checkout-traveler small{color:var(--tpp-muted);font-weight:800}.tpp-checkout-traveler span{color:var(--tpp-ink);font-size:.83rem;font-weight:750;overflow-wrap:anywhere}
.is-checkout .tpp-request-form{padding:clamp(18px,3vw,32px);border:0;box-shadow:0 22px 70px #10294b16}
.is-checkout .tpp-checkout-form-shell>.tpp-eyebrow{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:var(--checkout-glow);color:var(--tpp-accent)}
.is-checkout .tpp-checkout-form-shell>h1{max-width:650px;font-size:clamp(1.65rem,3vw,2.35rem)}
.is-checkout .tpp-checkout-form-shell>p{max-width:680px}
.is-checkout .tpp-payment-form{display:grid!important;grid-template-columns:1fr!important;gap:18px;margin-top:24px!important}
.tpp-checkout-section{display:grid;gap:15px;padding:clamp(15px,2vw,20px);border:1px solid var(--tpp-line);border-radius:18px;background:color-mix(in srgb,var(--tpp-canvas) 46%,#fff)}
.tpp-legacy-booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tpp-legacy-booking-fields>label{display:grid;gap:6px;color:var(--tpp-ink);font-size:.82rem;font-weight:800}.tpp-legacy-booking-fields textarea{min-height:88px}.tpp-legacy-booking-fields>input[type=hidden]{display:none}
.tpp-legacy-deposit-amount{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--tpp-line);border-radius:13px;background:#fff}.tpp-legacy-deposit-amount small{color:var(--tpp-muted);font-weight:800}.tpp-legacy-deposit-amount strong{color:var(--tpp-accent);font-size:1.2rem}
.tpp-checkout-section-head{display:flex;align-items:center;gap:12px}.tpp-checkout-section-head>b{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:var(--tpp-accent);color:#fff}.tpp-checkout-section-head>div{display:grid;gap:2px}.tpp-checkout-section-head small{color:var(--tpp-accent);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.tpp-checkout-section-head h2{margin:0;color:var(--tpp-ink);font-size:1rem}
.is-checkout .tpp-payment-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;border:0;border-radius:0}.is-checkout .tpp-payment-choice label span{position:relative;min-height:132px;padding:16px;border-width:2px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.is-checkout .tpp-payment-choice label span>i{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--tpp-canvas);color:var(--tpp-accent);font-style:normal;font-weight:900}.is-checkout .tpp-payment-choice label span>b{color:var(--tpp-ink)}.is-checkout .tpp-payment-choice label span>small{color:var(--tpp-muted);line-height:1.45}.is-checkout .tpp-payment-choice input:checked+span{transform:translateY(-2px);background:#fff;box-shadow:0 12px 28px var(--checkout-glow)}
.is-checkout .tpp-bank-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;border:0}.is-checkout .tpp-bank-choices legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.is-checkout .tpp-bank-choice>span{position:relative;gap:7px;padding:15px;border-width:2px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.is-checkout .tpp-bank-choice input:checked+span{transform:translateY(-2px);background:#fff;box-shadow:0 12px 28px var(--checkout-glow)}
.tpp-bank-check{position:absolute;inset:10px 10px auto auto;display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--tpp-line);color:#fff;font-size:.72rem;opacity:.65}.tpp-bank-choice input:checked+span .tpp-bank-check{background:var(--tpp-accent);opacity:1}[dir=rtl] .tpp-bank-check{inset:10px auto auto 10px}
.tpp-bank-brand{display:flex;align-items:center;gap:8px;min-height:38px}.tpp-bank-brand img{max-width:74px!important;height:28px!important}.tpp-bank-brand b{font-size:.83rem}.is-checkout .tpp-bank-choice small{color:var(--tpp-muted);font-size:.68rem}.is-checkout .tpp-bank-choice strong{color:var(--tpp-ink);font-size:.8rem;overflow-wrap:anywhere}.is-checkout .tpp-bank-choice code{min-height:42px;padding:8px;border-radius:8px;background:var(--tpp-canvas);font-size:.75rem;line-height:1.4;letter-spacing:.035em}
.tpp-copy-rib{min-height:36px;border:1px solid var(--tpp-line);border-radius:9px;background:#fff;color:var(--tpp-accent);font:inherit;font-size:.74rem;font-weight:900;cursor:pointer}.tpp-copy-rib:hover,.tpp-copy-rib:focus-visible,.tpp-copy-rib.is-copied{border-color:var(--tpp-accent);background:var(--checkout-glow)}
.is-checkout .tpp-proof-field{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr);gap:12px;padding:0;border:0;background:transparent}.is-checkout .tpp-proof-field>input{position:absolute;width:1px;height:1px;opacity:0}.tpp-proof-drop,.tpp-proof-preview{display:flex;align-items:center;gap:12px;min-height:112px;padding:16px;border:2px dashed var(--tpp-line);border-radius:15px;background:#fff;cursor:pointer}.tpp-proof-drop i{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:var(--checkout-glow);color:var(--tpp-accent);font-size:1.4rem;font-style:normal}.tpp-proof-drop strong,.tpp-proof-drop small{display:block}.tpp-proof-drop small{margin-top:5px;color:var(--tpp-muted);font-weight:600}.tpp-proof-preview{justify-content:center;color:var(--tpp-muted);cursor:pointer}.tpp-proof-preview.has-file{justify-content:flex-start;border-style:solid;border-color:var(--tpp-accent);color:var(--tpp-ink)}.tpp-proof-preview img,.tpp-proof-preview>b{flex:0 0 58px;width:58px;height:58px;border-radius:10px;object-fit:cover}.tpp-proof-preview>b{display:grid;place-items:center;background:#fff1f1;color:#c43b3b;font-size:.8rem}.tpp-proof-preview span{display:grid;gap:4px;min-width:0}.tpp-proof-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.tpp-proof-preview small{color:var(--tpp-muted)}.tpp-proof-preview>i{margin-inline-start:auto;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#28a56b;color:#fff;font-style:normal}
.is-checkout .tpp-payment-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:13px 14px;border:1px solid var(--tpp-line);background:#fff}.is-checkout .tpp-payment-form .form-actions button{min-height:55px;border-radius:14px;box-shadow:0 14px 30px var(--checkout-glow);font-size:.96rem;cursor:pointer}.is-checkout .tpp-payment-form .form-actions button:hover{transform:translateY(-1px)}
.is-checkout .tpp-checkout-progress{grid-template-columns:repeat(4,minmax(0,1fr))}.tpp-checkout-progress .is-complete b{background:#2ba56c;color:#fff}.tpp-checkout-progress .is-complete:after{background:#2ba56c}
.tpp-booking-page.is-checkout.tpp-booking-paperplane{--tpp-ink:#173e32;--tpp-muted:#687a6c;--tpp-accent:#b5934e;--tpp-line:#e4dac0;--tpp-canvas:#faf7ee;--checkout-glow:#b5934e24}.tpp-booking-page.is-checkout.tpp-booking-ticketplan{--tpp-ink:#302453;--tpp-muted:#786f8d;--tpp-accent:#a92893;--tpp-line:#e7ddef;--tpp-canvas:#faf5fc;--checkout-glow:#a9289320}.tpp-booking-page.is-checkout.tpp-booking-traveleo{--tpp-ink:#f8f3e6;--tpp-muted:#d7deea;--tpp-accent:#c69943;--tpp-line:#375176;--tpp-canvas:#12294b;--checkout-glow:#c6994326}.tpp-booking-page.is-checkout.tpp-booking-travelora{--tpp-ink:#083e59;--tpp-muted:#617d87;--tpp-accent:#08a6a6;--tpp-line:#cfe8e7;--tpp-canvas:#edf9f8;--checkout-glow:#08a6a621}.tpp-booking-page.is-checkout.tpp-booking-wandervista{--tpp-ink:#183d57;--tpp-muted:#6c7e85;--tpp-accent:#c5863e;--tpp-line:#dfded4;--tpp-canvas:#f4f0e6;--checkout-glow:#c5863e22}.tpp-booking-page.is-checkout.tpp-booking-viaja{--tpp-ink:#14284d;--tpp-muted:#647793;--tpp-accent:var(--reference-accent,#2355d8);--tpp-line:#dbe5f1;--tpp-canvas:#f1f6ff;--checkout-glow:#2355d820}.tpp-booking-page.is-checkout.tpp-booking-flowtravel_ar{--tpp-ink:#082b56;--tpp-muted:#71849b;--tpp-accent:#078fe8;--tpp-line:#d7e5f1;--tpp-canvas:#eef7ff;--checkout-glow:#078fe821}
.tpp-booking-paperplane.is-checkout .tpp-checkout-section,.tpp-booking-paperplane.is-checkout .tpp-request-form{border-radius:10px}.tpp-booking-traveleo.is-checkout .tpp-checkout-section,.tpp-booking-traveleo.is-checkout .tpp-request-form,.tpp-booking-traveleo.is-checkout .tpp-bank-choice>span{border-radius:2px}.tpp-booking-ticketplan.is-checkout .tpp-checkout-section-head>b{border-radius:50%}.tpp-booking-travelora.is-checkout .tpp-checkout-section{border-radius:24px}.tpp-booking-wandervista.is-checkout .tpp-checkout-section{border-radius:7px}.tpp-booking-viaja.is-checkout .tpp-checkout-section{border-radius:22px}.tpp-booking-flowtravel_ar.is-checkout .tpp-checkout-section{border-radius:16px}
@media(max-width:920px){.is-checkout .tpp-booking-flow{grid-template-columns:minmax(240px,300px) minmax(0,1fr)}.is-checkout .tpp-bank-choices{grid-template-columns:1fr}.is-checkout .tpp-proof-field{grid-template-columns:1fr}}
@media(max-width:700px){.is-checkout .tpp-booking-flow{grid-template-columns:1fr}.is-checkout .tpp-booking-flow>aside{position:static}.is-checkout .tpp-booking-summary-gallery{grid-template-columns:1fr 1fr}.is-checkout .tpp-payment-choice{grid-template-columns:1fr}.is-checkout .tpp-checkout-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.is-checkout .tpp-checkout-progress li{padding:6px 2px;text-align:center}.is-checkout .tpp-checkout-progress li:after{display:none}.is-checkout .tpp-checkout-progress span{font-size:.66rem}.is-checkout .tpp-checkout-section{padding:14px}.is-checkout .tpp-bank-choices{grid-template-columns:1fr}.tpp-proof-drop,.tpp-proof-preview{min-height:96px}.tpp-legacy-booking-fields{grid-template-columns:1fr}}
@media(max-width:420px){.tpp-booking-page.is-checkout{padding:10px}.is-checkout .tpp-request-form{padding:15px}.tpp-checkout-section-head{align-items:flex-start}.tpp-checkout-section-head>b{flex-basis:32px;height:32px}.is-checkout .tpp-booking-summary-gallery img:first-child{height:165px}}
/* Verified product reviews: theme color is inherited through --reference-accent. */
.tpp-reviews{scroll-margin-top:110px}
.tpp-review-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.tpp-review-card{display:flex!important;flex-direction:column;gap:12px;min-height:210px;padding:22px!important;border:1px solid color-mix(in srgb,var(--reference-accent) 16%,#dce4ee)!important;border-radius:22px!important;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--reference-accent) 3%,#fff))!important;box-shadow:0 16px 40px rgba(15,35,65,.08)!important;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.tpp-review-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(15,35,65,.13)!important;border-color:color-mix(in srgb,var(--reference-accent) 35%,#dce4ee)!important}
.tpp-review-card header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.tpp-review-card header>div:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}
.tpp-review-card header strong{color:#102a50;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tpp-review-card header small{color:#16805b;font-size:.76rem;font-weight:800}
.tpp-review-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:color-mix(in srgb,var(--reference-accent) 13%,#eef4ff);color:var(--reference-accent);font-weight:900}
.tpp-review-avatar img{width:100%;height:100%;object-fit:cover}
.tpp-review-score{direction:ltr;color:#f6aa00!important;letter-spacing:1px;font-size:1rem;white-space:nowrap}
.tpp-review-card h3{margin:2px 0 0;color:#102a50;font-size:1rem}
.tpp-review-card p{margin:0;line-height:1.85;color:#4a5c73;flex:1}
.tpp-review-card time{font-size:.75rem;color:#8795a8}
.tpp-review-gate,.tpp-review-form{margin-top:22px;border-radius:22px;border:1px dashed color-mix(in srgb,var(--reference-accent) 40%,#cbd5e1);background:color-mix(in srgb,var(--reference-accent) 4%,#fff);padding:22px}
.tpp-review-gate{display:flex;align-items:center;gap:14px}
.tpp-review-gate>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--reference-accent);color:#fff;font-size:1.2rem}
.tpp-review-gate p{margin:0;flex:1;color:#42546c}
.tpp-review-gate a,.tpp-review-form button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:13px;background:var(--reference-accent);color:#fff!important;font-weight:900;padding:12px 18px;text-decoration:none;cursor:pointer;transition:transform .2s ease,filter .2s ease}
.tpp-review-gate a:hover,.tpp-review-form button:hover{transform:translateY(-2px);filter:brightness(1.06)}
.tpp-review-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}
.tpp-review-form>div,.tpp-review-form>label:last-of-type{grid-column:1/-1}
.tpp-review-form h3{margin:3px 0;color:#102a50}
.tpp-review-form small{color:#16805b;font-weight:900}
.tpp-review-notice{margin:8px 0 0;color:#946200}
.tpp-review-form label,.tpp-review-form fieldset{display:grid;gap:7px;margin:0;border:0;padding:0;color:#243b5a;font-weight:800}
.tpp-review-form input[type=text],.tpp-review-form input:not([type]),.tpp-review-form textarea{width:100%;box-sizing:border-box;border:1px solid #d7e0ea;border-radius:13px;padding:12px 14px;background:#fff;font:inherit;color:#132b4d}
.tpp-review-form textarea{min-height:110px;resize:vertical}
.tpp-star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:5px;direction:ltr}
.tpp-star-input label{display:inline-flex;cursor:pointer}
.tpp-star-input input{position:absolute;opacity:0;pointer-events:none}
.tpp-star-input span{font-size:1.65rem;color:#cfd7e2;transition:color .15s ease,transform .15s ease}
.tpp-star-input label:hover span,.tpp-star-input label:hover~label span,.tpp-star-input input:checked~span,.tpp-star-input label:has(input:checked) span,.tpp-star-input label:has(input:checked)~label span{color:#f6aa00;transform:scale(1.06)}
.client-reviews-section{padding:clamp(54px,7vw,92px) clamp(20px,5vw,72px);background:linear-gradient(145deg,color-mix(in srgb,var(--reference-accent) 6%,#fff),#fff);color:#102a50}
.client-reviews-section>header{text-align:center;max-width:760px;margin:0 auto 30px}
.client-reviews-section>header p{margin:0 0 8px;color:var(--reference-accent);text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.client-reviews-section>header h2{margin:0 0 9px;font-size:clamp(1.8rem,4vw,3rem)}
.client-reviews-section>header span{color:#66768d}
.client-reviews-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1240px;margin:auto}
.client-review-card{display:flex;flex-direction:column;gap:16px;padding:22px;border-radius:22px;background:#fff;border:1px solid color-mix(in srgb,var(--reference-accent) 15%,#dce4ee);box-shadow:0 16px 36px rgba(15,35,65,.08);transition:transform .25s ease,box-shadow .25s ease}
.client-review-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(15,35,65,.13)}
.client-review-card header{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center}
.client-review-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--reference-accent);color:#fff;font-weight:900}
.client-review-avatar img{width:100%;height:100%;object-fit:cover}
.client-review-card header>div:nth-child(2){display:flex;flex-direction:column;min-width:0}
.client-review-card header strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-review-card header small{color:#16805b;font-weight:800;font-size:.72rem}
.client-review-card header>b{direction:ltr;color:#f6aa00;letter-spacing:1px;font-size:.82rem}
.client-review-card>p{margin:0;line-height:1.85;color:#52647b;flex:1}
.client-review-card footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #edf1f6;padding-top:12px;font-size:.75rem;color:#8290a4}
@media(max-width:860px){.tpp-review-grid,.client-reviews-track{grid-template-columns:1fr}.tpp-review-form{grid-template-columns:1fr}.tpp-review-form>*{grid-column:1!important}}
@media(max-width:560px){.tpp-review-card header,.client-review-card header{grid-template-columns:auto 1fr}.tpp-review-score,.client-review-card header>b{grid-column:1/-1}.tpp-review-gate{align-items:flex-start;flex-wrap:wrap}.tpp-review-gate a{width:100%}}
@media(prefers-reduced-motion:reduce){.tpp-review-card,.client-review-card,.tpp-review-gate a,.tpp-review-form button{transition:none!important}.tpp-review-card:hover,.client-review-card:hover{transform:none}}

/* Shared contact capture and real agency map. Theme colors are inherited. */
.agency-home-contact,.agency-home-map{--agency-section-accent:var(--reference-accent,var(--primary,var(--pink,#ec0a78)));box-sizing:border-box;width:min(1240px,calc(100% - 40px));margin:clamp(34px,6vw,80px) auto;padding:clamp(24px,4vw,52px);border:1px solid color-mix(in srgb,var(--agency-section-accent) 18%,#dce4ee);border-radius:clamp(22px,3vw,38px);background:linear-gradient(135deg,color-mix(in srgb,var(--agency-section-accent) 8%,#fff),#fff 58%);box-shadow:0 24px 70px rgba(15,35,65,.11);color:#102a50}
.agency-home-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.78fr);align-items:center;gap:clamp(24px,5vw,64px)}
.agency-home-contact-copy{display:grid;gap:10px}.agency-home-contact-copy p,.agency-home-map-copy>p{margin:0;color:var(--agency-section-accent);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.agency-home-contact-copy h2,.agency-home-map-copy h2{margin:0;color:inherit;font-size:clamp(1.65rem,3.8vw,3rem);line-height:1.12}.agency-home-contact-copy>span,.agency-home-map-copy>span{max-width:650px;color:#64748b;line-height:1.8}
.agency-contact-capture{display:flex;align-items:end;gap:10px;padding:10px;border:1px solid color-mix(in srgb,var(--agency-section-accent) 22%,#dce4ee);border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(15,35,65,.08)}.agency-contact-capture label{display:grid;flex:1;gap:6px;min-width:0}.agency-contact-capture label>span{padding-inline:5px;color:#52647b;font-size:.76rem;font-weight:800}.agency-contact-capture input{box-sizing:border-box;width:100%;min-height:48px;padding:0 14px;border:0;border-radius:12px;background:#f4f7fb;color:#102a50;font:inherit;outline:0}.agency-contact-capture input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--agency-section-accent) 22%,transparent)}.agency-contact-capture button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border:0;border-radius:12px;background:var(--agency-section-accent);color:#fff;font:inherit;font-weight:900;white-space:nowrap;cursor:pointer;transition:transform .2s ease,filter .2s ease}.agency-contact-capture button:hover,.agency-contact-capture button:focus-visible{transform:translateY(-2px);filter:brightness(1.05)}
.agency-home-map{display:grid;grid-template-columns:minmax(240px,.68fr) minmax(0,1.32fr);align-items:stretch;gap:clamp(22px,4vw,48px);padding:clamp(18px,3vw,32px)}.agency-home-map-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:11px;padding:clamp(8px,2vw,20px)}.agency-home-map-copy h2{font-size:clamp(1.35rem,2.6vw,2.2rem);overflow-wrap:anywhere}.agency-home-map-copy a{display:inline-flex;align-items:center;gap:7px;margin-top:7px;padding:11px 16px;border-radius:12px;background:var(--agency-section-accent);color:#fff!important;font-weight:900;text-decoration:none}.agency-home-map-frame{min-height:360px;overflow:hidden;border-radius:22px;background:#e9eef5;box-shadow:inset 0 0 0 1px #dce4ee}.agency-home-map-frame iframe{display:block;width:100%;height:100%;min-height:360px;border:0}
.viaja-contact-suite{--agency-section-accent:#2355d8}.flow-home-contact-suite{--agency-section-accent:var(--primary,#0057d9)}.reference-contact-paperplane{--agency-section-accent:#b5934e}.reference-contact-ticketplan{--agency-section-accent:#a92893}.reference-contact-traveleo{--agency-section-accent:#c69943}.reference-contact-travelora{--agency-section-accent:#08a6a6}.reference-contact-wandervista{--agency-section-accent:#c5863e}
@media(max-width:820px){.agency-home-contact,.agency-home-map{grid-template-columns:1fr;width:min(100% - 24px,720px);margin-block:28px;padding:22px}.agency-home-map-copy{padding:4px}.agency-home-map-frame,.agency-home-map-frame iframe{min-height:300px}}
@media(max-width:560px){.agency-home-contact,.agency-home-map{width:calc(100% - 18px);padding:18px;border-radius:22px}.agency-contact-capture{display:grid;padding:8px}.agency-contact-capture button{width:100%}.agency-home-map-frame,.agency-home-map-frame iframe{min-height:260px;border-radius:16px}.agency-home-contact-copy h2{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){.agency-contact-capture button{transition:none}.agency-contact-capture button:hover{transform:none}}
