/* R.M Tourism — Midnight navy, black and gold. */
:root{color-scheme:dark;--ink:#050a12;--gold:#deb766;--paper:#080f1c;--line:#34435a;--surface:#101e32;--muted:#b7c3d4}
body{background:var(--paper);color:#f3f1eb}
header{background:#050a12;border-bottom:1px solid #66512d;gap:20px;padding-inline:4%}
nav{gap:20px}nav a:hover,footer a:hover{color:var(--gold)}
.hero:after{background:linear-gradient(90deg,rgba(3,9,18,.9),rgba(3,9,18,.28))}
#shop{background:linear-gradient(150deg,#080f1c,#11243e 65%,#080f1c)}
.heading p,.tag,.details-link{color:var(--gold)}
.heading span,#resultLine{color:var(--muted)}
.card{background:var(--surface);border-color:#34435a;box-shadow:0 8px 28px #0003}
.card h3,.ticket-booking h2,.payment-panel h2{color:#fff3d7}
.card p,.features,.ticket-description,.age-note,.price small,.cart-line p,.receipt-note,.payment-grid figcaption{color:var(--muted)}
.price,.total,#cartTotal{color:var(--gold)}
button,.button{background:linear-gradient(135deg,#edcb83,#c79a42);color:#10151d}
button:hover,.button:hover{filter:brightness(1.08)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f1ce85;outline-offset:3px}
.filters select,.ticket-choice select,.ticket-booking select,.ticket-booking input,input,select,textarea{background:#091321;color:#f3f1eb;border:1px solid #53617a;border-radius:6px}
select option{background:#101e32;color:#f3f1eb}
input::placeholder,textarea::placeholder{color:#aebbd0;opacity:1}
input[type=file]::file-selector-button{background:#203650;color:#f6d48c;border:1px solid #526580;padding:9px;border-radius:5px;margin-right:12px}
.how{background:#050a12;border-block:1px solid #34435a}.how p{color:var(--muted)}.how article{border-left-color:#796035}
footer{background:#050a12;border-top:1px solid #796035}footer a,.socials a{color:#eac985}
#cart,.payment-panel,.ticket-panel{background:var(--surface);color:#f3f1eb;border:1px solid #52617a}
.bank-details,.map-tools{background:#091321;color:#e8edf5;border:1px solid #34435a}
.receipt{border-color:#ad8a46;background:#0b1728}
.button.secondary,.remove{background:#20344e;color:#f1d28f;border:1px solid #867044}
#closeCart,.close-payment{color:#f1ce85;background:transparent}
#ticketModal .close-ticket,#packageModal .close-package{background:#07111f;color:#f6d48c;border:1px solid #bc9952}
.advance-note{background:#332a18;color:#f6dfa9;border-color:#deb766}
.final-policy{background:#321c23;color:#f5beb4;border-color:#ce8272}
.capacity-note,.option-note{background:#162e46;color:#d4e6f7!important;border-color:#deb766}
.form-error{color:#ffb5a9}
.ticket-gallery,#ticketModal .ticket-gallery,#packageModal .ticket-gallery{background:#08121f}
.gallery-thumb{background:#08121f}.gallery-thumb:hover{border-color:#b9924c}
.offer-panel{background:linear-gradient(135deg,#142943,#060d18);border:1px solid #aa8748;box-shadow:0 18px 42px #0008}
.offer-panel h2{color:#f5d591}.offer-panel p:not(.tag){color:#c7d3e3}.close-offer{color:#f5d591}
.offer-whatsapp{background:#166c43;color:#fff;border:1px solid #65b18a}
.offer-actions{display:flex;gap:10px;flex-wrap:wrap}.offer-facebook{background:#1877f2;color:#fff;border:1px solid #76a9f4}.offer-terms{display:block;margin-top:12px;color:#b7c3d4;font-size:.82rem}
.install-button{background:#0b1728cc;color:#ffe0a0;border:1px solid #deb766}
::selection{background:#deb766;color:#07111f}
@media(max-width:1100px){header{gap:12px;padding-inline:3%}nav{gap:12px;font-size:.88rem}header .brand{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.offer-modal{padding:0;z-index:4}
footer#contact{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.9fr);gap:36px;align-items:center}
.footer-contact{min-width:0}.footer-promo{padding:24px;border:1px solid #aa8748;border-radius:14px;background:linear-gradient(135deg,#142943,#060d18);box-shadow:0 12px 32px #0004}.footer-promo .tag{color:#deb766;font-size:.75rem;font-weight:800;letter-spacing:.12em;margin:0 0 8px}.footer-promo h2{font:1.8rem Georgia,serif;color:#f5d591;margin:0 32px 10px 0}.footer-promo p:not(.tag){color:#c7d3e3;line-height:1.5;margin:0 0 16px}.footer-promo small{display:block;color:#b7c3d4;font-size:.8rem;margin-top:12px}.footer-promo .offer-actions{display:flex;gap:10px;flex-wrap:wrap}.footer-promo .button{display:inline-block;text-align:center}.footer-promo .offer-facebook{background:#1877f2;color:#fff;border:1px solid #76a9f4}.footer-promo .offer-whatsapp{background:#166c43;color:#fff;border:1px solid #65b18a}
@media(max-width:760px){footer#contact{grid-template-columns:1fr;gap:20px;padding:36px 7%}.footer-promo{padding:20px}.footer-promo .offer-actions{display:grid;grid-template-columns:1fr}}
.hotel-availability,.hotel-location{color:var(--muted);font-size:.9rem}.hotel-rate-note{margin:0;padding:12px 14px;background:#162e46;color:#d4e6f7;border-left:3px solid #deb766;line-height:1.5}

/* Search-first travel homepage. */
.site-header{height:74px;background:#fff;color:#132033;border-bottom:1px solid #e6eaf0;box-shadow:0 4px 18px #0b17260a;padding-inline:4%;gap:24px}
.site-header .brand{display:flex;align-items:center;gap:9px;color:#101927;letter-spacing:.04em;white-space:nowrap}
.site-header .brand b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f5a23b;color:#101927;border:0;padding:0;margin:0;font-size:.9rem;letter-spacing:0}
.site-header .brand span{font-size:1.08rem}
.primary-nav{display:flex;gap:26px;margin-left:auto}
.primary-nav a{color:#263244;font-weight:600}
.site-header #language{margin:0 0 0 4px;background:#fff;color:#172536;border:1px solid #d8dfe8;border-radius:10px;padding:10px 12px}
.site-header #cartButton{border-radius:10px;padding:12px 18px;white-space:nowrap}
.home-categories{position:sticky;top:74px;z-index:3;display:flex;gap:12px;overflow-x:auto;padding:11px max(20px,4vw);background:#fff;border-bottom:1px solid #e8edf2;scrollbar-width:none}
.home-categories::-webkit-scrollbar{display:none}
.home-categories button{display:flex;align-items:center;gap:9px;flex:0 0 auto;background:#fff;color:#293547;border:1px solid #dfe5ec;border-radius:11px;padding:12px 18px;font-size:.95rem;font-weight:600;box-shadow:0 2px 6px #0b172608}
.home-categories button:hover{background:#fff8eb;border-color:#d8ad64;filter:none}
.home-categories button span{font-size:1.13rem}
.hero{height:590px;min-height:490px;padding:0;display:grid;place-items:center;text-align:center;background:#06111e}
.hero:after{background:linear-gradient(180deg,#07111f55 0%,#07111f2e 38%,#07111fba 100%)}
.hero img{inset:0;object-position:center 54%;filter:saturate(1.05)}
.hero .hero-content{width:min(1120px,100%);max-width:1120px;display:flex;flex-direction:column;align-items:center;gap:13px;padding:28px 28px 42px}
.home-search{width:min(100%,870px);height:74px;display:flex;align-items:center;gap:17px;padding:8px 9px 8px 24px;background:#fff;border:1px solid #dce3eb;border-radius:20px;box-shadow:0 12px 36px #07111f35;margin:0 0 21px}
.home-search>span{font-family:Arial,sans-serif;font-size:2.2rem;line-height:1;color:#283548;transform:rotate(-18deg)}
.home-search input#homeSearch{flex:1;min-width:0;height:100%;padding:0;border:0!important;outline:none;background:transparent!important;color:#152133!important;font-size:1.08rem;box-shadow:none}
.home-search input#homeSearch::placeholder{color:#858d99;opacity:1}
.home-search button{height:100%;min-width:124px;border-radius:13px;background:#f39200;color:#fff;font-size:1.05rem}
.hero .hero-eyebrow{margin:0;color:#f4cf83;font-weight:800;letter-spacing:.17em;font-size:.78rem}
.hero .hero-content h1{margin:0;color:#fff;font:700 clamp(2.5rem,5vw,4.3rem)/1.06 Arial,sans-serif;letter-spacing:-.035em;text-shadow:0 2px 18px #07111f60}
.hero .hero-content h1 em{color:#f5cf80;font-style:normal}
.hero .hero-subtitle{max-width:780px;margin:0;color:#fff;font-size:clamp(1rem,2vw,1.25rem);line-height:1.5;text-shadow:0 1px 10px #07111f80}
.hero .hero-actions{justify-content:center;margin:5px 0 0}
.hero .hero-actions>.button:first-child{padding:13px 22px;border-radius:9px}
.hero .install-button{background:#091726b8;border-color:#efcc7d;color:#ffe3a7}
.hero .install-help{margin:0;color:#f1f3f6;text-shadow:0 1px 8px #000}
#cards>.card[hidden]{display:none!important}
.search-empty{grid-column:1/-1;color:var(--muted);padding:20px 0}
@media(max-width:760px){.site-header{height:64px;padding-inline:16px;gap:9px}.site-header .brand b{width:36px;height:36px}.site-header .brand span{font-size:.87rem}.primary-nav{display:none}.site-header #language{margin-left:auto;margin-right:0;padding:8px;font-size:.78rem}.site-header #cartButton{padding:10px 12px;font-size:.84rem}.home-categories{top:64px;gap:8px;padding:9px 14px}.home-categories button{padding:10px 13px;font-size:.87rem}.hero{height:570px;min-height:510px}.hero .hero-content{padding:24px 18px 36px;gap:12px}.home-search{height:62px;border-radius:16px;padding:7px 7px 7px 16px;gap:9px;margin-bottom:13px}.home-search>span{font-size:1.8rem}.home-search input#homeSearch{font-size:.9rem}.home-search button{min-width:82px;padding-inline:12px;font-size:.92rem;border-radius:11px}.hero .hero-content h1{font-size:clamp(2.35rem,10vw,3.2rem)}.hero .hero-subtitle{font-size:1rem}.hero .hero-actions{gap:8px}.hero .hero-actions .button{font-size:.82rem;padding:11px 12px}}
@media(prefers-reduced-motion:reduce){.home-categories{scroll-behavior:auto}}

/* Full hotel listings and quote-only rate presentation */
.hotel-rate-banner{margin:20px 0 8px;padding:15px 18px;border-left:4px solid var(--gold);border-radius:0 10px 10px 0;background:#fff4dc;color:#26364a;line-height:1.55}
.hotel-start-price{margin:12px 0;color:#132033;font-size:1.08rem;font-weight:700}
.hotel-start-price strong{color:#9c6e1c;font-size:1.25rem}
.hotel-card .hotel-location{margin:8px 0;color:var(--muted)}
.hotel-card img{background:#0b1b2d;object-fit:cover}
.hotel-panel .hotel-start-price{margin:0;color:#132033}
.hotel-panel .hotel-rate-note{margin:4px 0 12px;padding:13px 15px;background:#fff4dc;color:#354258;border-left:4px solid var(--gold);line-height:1.55}
.footer-copyright{grid-column:1/-1;margin:12px 0 0;padding-top:14px;border-top:1px solid #796035;color:#b7c3d4;font-size:.86rem;text-align:center}
/* Unified premium midnight-navy and gold finish. */
:root{color-scheme:dark;--ink:#050a12;--gold:#e0b85f;--paper:#08111f;--line:#34435a;--surface:#101e32;--muted:#bdc8d8}
body{background:#08111f;color:#f4f6fa}
.site-header{background:linear-gradient(100deg,#050a12,#0b1728 58%,#050a12);color:#f4f6fa;border-bottom:1px solid #8f713a;box-shadow:0 8px 30px #0005}
.site-header .brand,.site-header .primary-nav a{color:#f6f2e9}
.site-header .brand b{background:linear-gradient(145deg,#f0cd7c,#bd8f3c);color:#08111f}
.site-header #language{background:#0b1728;color:#f5f3ed;border:1px solid #8b703d}
.home-categories{background:linear-gradient(100deg,#080f1c,#101e32 55%,#080f1c);border-bottom:1px solid #4c3c21;box-shadow:0 8px 22px #0003}
.home-categories button{background:#101e32;color:#e9edf4;border:1px solid #3a4a63;box-shadow:inset 0 1px #ffffff0b,0 5px 15px #0003}
.home-categories button:hover,.home-categories button:focus-visible{background:#172a43;color:#ffe0a0;border-color:#d7ad5c;box-shadow:0 0 0 2px #d7ad5c33}
.home-categories button span{filter:saturate(.8)}
.hero{background:#050a12}
.hero:after{background:linear-gradient(180deg,#050a1250 0%,#050a122e 35%,#050a12d9 100%)}
.home-search{background:linear-gradient(145deg,#101e32,#0a1423);border:1px solid #a88443;box-shadow:0 16px 42px #0008,inset 0 1px #ffffff12}
.home-search>span{color:#e0b85f}
.home-search input#homeSearch{color:#f5f3ed!important}
.home-search input#homeSearch::placeholder{color:#b4c0d0}
.home-search button{background:linear-gradient(135deg,#f0cf83,#c99b43);color:#10151d;box-shadow:0 6px 16px #0004}
#shop{background:linear-gradient(155deg,#07111f,#10213a 58%,#080f1c)}
.heading h2,.how h2{color:#f3ead4}
.filters label,.ticket-choice,.hotel-card h3{color:#edf1f7}
.hotel-rate-banner,.hotel-rate-note{background:#13243a!important;color:#e3ebf6!important;border-left-color:#e0b85f!important;border-top:1px solid #2e4260;border-right:1px solid #2e4260;border-bottom:1px solid #2e4260;border-radius:0 10px 10px 0}
.hotel-start-price,.hotel-panel .hotel-start-price{color:#e7edf6}
.hotel-start-price strong{color:#f0cb78}
.card{background:linear-gradient(160deg,#13233a,#0d192a);border-color:#364a66;box-shadow:0 12px 30px #0005}
.card h3,.ticket-booking h2,.payment-panel h2{color:#f8edcf}
.card p,.ticket-description,.features,.age-note,.price small{color:#bdc8d8}
footer{background:linear-gradient(110deg,#050a12,#0b1728);border-top:1px solid #806638}
#cart,.payment-panel,.ticket-panel{background:linear-gradient(145deg,#14243a,#0a1423);color:#f2f4f8;border-color:#705b36}
.ticket-booking select,.ticket-booking input,.filters select,.ticket-choice select,select,input,textarea{background:#091321;color:#f3f1eb;border-color:#52627c}
.ticket-booking label,.payment-panel label,.hotel-panel label{color:#e6ebf3}
.bank-details,.map-tools{background:#0c1829;color:#e6ebf3;border-color:#354965}
.hotel-panel .hotel-rate-note{background:#13243a!important;color:#e3ebf6!important}
.gallery-thumbs,.ticket-gallery{background:#08121f}
.advance-note{background:#332a18;color:#f6dfa9;border-color:#deb766}
.final-policy{background:#321c23;color:#f5beb4;border-color:#ce8272}
.price,.total,#cartTotal{color:#f0cb78}
.button.secondary,.remove{background:#1b304b;color:#f2d28b;border:1px solid #8a7040}
.offer-panel{background:linear-gradient(145deg,#142943,#060d18);border-color:#b08a45}
@media(max-width:760px){.site-header{background:linear-gradient(100deg,#050a12,#0b1728)}.home-categories{background:#091423}}
/* Premium storefront polish: consistent surfaces, typography, depth and gold details. */
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{background:radial-gradient(ellipse at 50% -18%,#172a45 0,#08111f 50rem);color:#eff2f7;letter-spacing:.005em}
.site-header{height:78px;border-bottom-color:#94733a;box-shadow:0 8px 26px #0006}
.site-header .brand{font-size:1.02rem;letter-spacing:.14em}
.site-header .brand b{width:44px;height:44px;border-radius:14px;box-shadow:0 4px 16px #d7ad5c35}
.site-header .primary-nav a{transition:color .2s ease}
.site-header .primary-nav a:hover{color:#e0b85f}
.site-header #language{border-radius:10px;padding:11px 14px}
.site-header #cartButton{border:1px solid #e7c878;border-radius:10px;box-shadow:0 5px 16px #0003}
.home-categories{top:78px;padding-block:13px;gap:13px}
.home-categories button{min-height:50px;border-radius:12px;padding:12px 17px;letter-spacing:.01em;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.home-categories button:hover{transform:translateY(-1px)}
.hero{height:min(680px,76vh);min-height:540px}
.hero img{filter:saturate(1.06) contrast(1.04)}
.hero:after{background:linear-gradient(180deg,#03081238 0%,#06101b30 33%,#050a12e8 100%)}
.home-search{height:76px;border-radius:18px;padding:8px 9px 8px 22px;backdrop-filter:blur(12px)}
.home-search button{border-radius:12px;font-weight:800;letter-spacing:.015em;transition:transform .18s ease,filter .18s ease}
.home-search button:hover{transform:translateY(-1px);filter:brightness(1.08)}
.hero .hero-eyebrow{color:#f0cc7d;text-shadow:0 2px 12px #000b}
.hero .hero-content h1{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.025em;text-shadow:0 3px 26px #000b}
.hero .hero-content h1 em{color:#e8c273}
.hero .hero-subtitle{max-width:760px;color:#f2f4f7}
#shop{background:radial-gradient(ellipse at 50% 0,#172b47 0,#0a1525 45%,#070d17 100%);border-top:1px solid #b08a4538}
#shop>.heading{max-width:1320px;margin-inline:auto}
.heading h2,.how h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.02em}
.heading p,.tag{letter-spacing:.15em}
.filters{gap:18px}
.filters select,.ticket-choice select,.ticket-booking select,.ticket-booking input{min-height:50px;border-radius:10px;background:#0b1728;border-color:#3b4c66;transition:border-color .18s ease,box-shadow .18s ease}
.filters select:focus,.ticket-choice select:focus,.ticket-booking select:focus,.ticket-booking input:focus{border-color:#d9b35e;box-shadow:0 0 0 3px #d9b35e25;outline:0}
#resultLine{color:#c5cfdd}
#cards{gap:23px}
.card{border:1px solid #334660;border-radius:14px;overflow:hidden;background:linear-gradient(155deg,#152640,#0c1728 70%);box-shadow:0 13px 34px #0004;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.card>img{height:220px;object-fit:cover;border-bottom:1px solid #80663866}
.card main{padding:22px;gap:13px}
.card .tag{color:#e2bd70;font-size:.69rem}
.card h3{font-size:1.47rem;line-height:1.24}
.card p{line-height:1.62}
.card-clickable:hover,.card-clickable:focus{transform:translateY(-5px);border-color:#c7a356;box-shadow:0 20px 42px #0007,0 0 0 1px #c7a35633;outline:none}
.details-link{color:#edcc80}
.card button,.ticket-booking button,.payment-actions .button,#cart button:not(#closeCart){border:1px solid #f0d18a;background:linear-gradient(135deg,#f0cf83,#c89a42);color:#111720;box-shadow:0 7px 20px #0004;transition:transform .18s ease,filter .18s ease}
.card button:hover,.ticket-booking button:hover,.payment-actions .button:hover{transform:translateY(-1px);filter:brightness(1.07)}
.hotel-rate-banner{margin-top:23px;padding:17px 20px;border-radius:0 12px 12px 0}
.hotel-start-price{font-size:1.12rem}
.hotel-start-price strong{font-size:1.34rem}
#packageModal .package-panel,#ticketModal .ticket-panel,.payment-panel{border:1px solid #927541;box-shadow:0 28px 90px #000b}
.ticket-booking{gap:17px}
.ticket-booking h2{font-size:2.15rem}
#packageModal .close-package,#ticketModal .close-ticket{background:#0b1728;color:#f1d18b;border:1px solid #c5a258}
.advance-note,.final-policy,.hotel-rate-note{border-radius:0 9px 9px 0}
.how{background:linear-gradient(110deg,#050a12,#0d1a2b 55%,#050a12);border-color:#80663866}
.how article{border-left-color:#a88a50}
.how b{color:#edcb7a}
footer{padding-top:58px;padding-bottom:28px;gap:34px}
.footer-promo{background:linear-gradient(145deg,#142843,#070e19);border-color:#9c7c42;box-shadow:0 16px 42px #0006}
.footer-copyright{color:#bec8d7;border-top-color:#80663880}
@media(max-width:1100px){.home-categories{gap:9px}.home-categories button{padding-inline:14px}}
@media(max-width:760px){html{scroll-padding-top:128px}.site-header{height:66px}.home-categories{top:66px;padding-block:9px}.hero{height:570px;min-height:510px}.home-search{height:64px}.card>img{height:200px}.card main{padding:19px}.ticket-booking h2{font-size:1.8rem}}

/* Premium text-only header wordmark; the badge stays removed. */
.site-header .brand-name{display:block;color:#f6f2e9;text-decoration:none;font-family:Georgia,serif;font-size:1.32rem;font-weight:700;letter-spacing:.045em;white-space:nowrap;text-shadow:0 1px 10px #0005}
.site-header .brand-name::first-letter{color:#e0b85f}
@media(max-width:760px){.site-header .brand-name{font-size:1.04rem;letter-spacing:.025em}}

/* Remove the centered brand line from the hero. */
.hero .hero-eyebrow{display:none!important}

/* Programme details and optional extras */
.ticket-addons{border:1px solid #b9914b;border-radius:12px;padding:18px;margin:20px 0}.ticket-addons label{display:block;margin:12px 0}.ticket-addons input{max-width:100px;margin:8px 0}.ticket-addons small{display:block}.option-note{white-space:pre-line;line-height:1.65}.ticket-panel:not(:has(.ticket-gallery)){display:block;max-width:900px}

/* Keep supplied Malaysia posters fully visible. */
.poster-card>img{height:360px;object-fit:contain;background:#0b1726;padding:8px;box-sizing:border-box}
.poster-detail .gallery-main{object-fit:contain;background:#0b1726;max-height:640px}
.tour-highlights{padding-left:22px;line-height:1.65}.tour-highlights li{margin-bottom:8px}
.tour-schedule{color:#d6b665;line-height:1.6}
