/**
 * TuT Pyramids View Hotel - Room details page.
 *
 * Scoped strictly to .tut-room-page so nothing leaks into the homepage,
 * tours, booking or admin. Uses the theme's design tokens (style.css :root)
 * for gold, cream, navy ink and serif/sans pairings.
 *
 * @package TutHotel
 */

/* ===================== Palette ===================== */
.tut-room-page{
	--tut-r-gold:#b8860b;                 /* accents, rules, icons           */
	--tut-r-gold-deep:#7a5c1e;            /* gold text on light bg (AA)      */
	--tut-r-navy:#1d2b3a;                 /* headings, primary buttons, CTA  */
	--tut-r-navy-soft:#24374a;
	--tut-r-bg:#faf6ee;                   /* warm light page background      */
	--tut-r-card:#ffffff;
	--tut-r-text:#3c372f;
	--tut-r-muted:#857a68;
	--tut-r-line:#ece4d6;
	--tut-r-shadow:0 10px 30px rgba(76,70,40,.08);

	background:var(--tut-r-bg);
	color:var(--tut-r-text);
	font-family:var(--tut-sans);
	line-height:1.6;
	padding-block:24px 80px;
}
.tut-room-page a{color:var(--tut-r-gold-deep)}
.tut-room-page a:hover{color:var(--tut-r-navy)}
.tut-room-page h1,.tut-room-page h2,.tut-room-page h3{
	font-family:var(--tut-serif);
	color:var(--tut-r-navy);
	font-weight:600;
	line-height:1.15;
	text-wrap:balance;
}
.tut-room-page :is(svg){flex:none}
.tut-room-page .tut-ico{
	width:22px;height:22px;stroke:var(--tut-r-gold);
	flex:none;
}
.tut-room-page .sro{
	position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
	clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ===================== Container ===================== */
.tut-room-page .tut-room-container{
	max-width:1200px;
	margin-inline:auto;
	padding-inline:24px;
}

/* ===================== Breadcrumb ===================== */
.tut-room-page .tut-room-breadcrumb{
	display:flex;align-items:center;gap:8px;flex-wrap:wrap;
	font-size:13px;color:var(--tut-r-muted);margin-block:8px 16px;
}
.tut-room-page .tut-room-breadcrumb a{color:var(--tut-r-muted)}
.tut-room-page .tut-room-breadcrumb a:hover{color:var(--tut-r-gold-deep)}
.tut-room-page .tut-room-breadcrumb .crumb-sep{color:var(--tut-r-line);user-select:none}
.tut-room-page .tut-room-breadcrumb .is-now{color:var(--tut-r-text);font-weight:600}

/* ===================== Gallery slider ===================== */
.tut-room-page .tut-room-gallery{
	position:relative;margin-bottom:24px;
	border-radius:16px;overflow:hidden;
	box-shadow:var(--tut-r-shadow);
	background:var(--tut-r-card);
}
.tut-room-page .tut-room-slider{position:relative;background:#0f151c}
.tut-room-page .tut-room-slider-track{
	display:flex;overflow-x:auto;overflow-y:hidden;
	scroll-snap-type:x mandatory;
	scrollbar-width:none;-ms-overflow-style:none;
	-webkit-overflow-scrolling:touch;
}
.tut-room-page .tut-room-slider-track::-webkit-scrollbar{display:none}
.tut-room-page .tut-room-slide{
	flex:0 0 100%;width:100%;position:relative;display:block;box-sizing:border-box;
	padding:0;border:0;margin:0;background:#0f151c;cursor:zoom-in;
	scroll-snap-align:center;scroll-snap-stop:always;
	aspect-ratio:2/1;
}
.tut-room-page .tut-room-slide:focus-visible{outline:2px solid var(--tut-r-gold);outline-offset:-4px}
.tut-room-page .tut-room-slide img{
	width:100%;height:100%;object-fit:contain;display:block;
}
.tut-room-page .tut-room-slide .tut-ph{
	position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;
	align-items:center;justify-content:center;
	background:linear-gradient(160deg,#2c4156,#18242f);
	color:#f5efe4;text-align:center;padding:24px;
}
.tut-room-page .tut-room-slide .tut-ph .tut-ph-text{font-family:var(--tut-serif);font-size:22px}
.tut-room-page .tut-room-slide.is-solo{cursor:default}
.tut-room-page .tut-slider-nav{
	position:absolute;top:50%;transform:translateY(-50%);z-index:3;
	width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;
	display:flex;align-items:center;justify-content:center;
	background:rgba(15,21,28,.55);color:#fff;font-size:26px;line-height:1;
	backdrop-filter:blur(4px);transition:background .2s ease;
}
.tut-room-page .tut-slider-nav:hover{background:rgba(15,21,28,.82)}
.tut-room-page .tut-slider-prev{inset-inline-start:14px}
.tut-room-page .tut-slider-next{inset-inline-end:14px}
.tut-room-page .tut-slider-dots{
	position:absolute;inset-block-end:12px;inset-inline:0;z-index:3;
	display:flex;justify-content:center;gap:8px;
}
.tut-room-page .tut-slider-dots button{
	width:9px;height:9px;padding:0;border-radius:50%;border:0;cursor:pointer;
	background:rgba(255,255,255,.45);transition:background .2s ease,transform .2s ease;
}
.tut-room-page .tut-slider-dots button.is-active{background:#fff;transform:scale(1.25)}
.tut-room-page .tut-slider-count{
	position:absolute;inset-block-start:12px;inset-inline-end:12px;z-index:3;
	background:rgba(15,21,28,.6);color:#fff;border-radius:999px;
	padding:4px 12px;font-size:13px;font-variant-numeric:tabular-nums;
	backdrop-filter:blur(4px);
}

/* ===================== Title block ===================== */
.tut-room-page .tut-room-head{
	display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
	margin-bottom:8px;
}
.tut-room-page .tut-room-title{
	font-size:clamp(32px,4.5vw,52px);margin:0;
	font-variant-numeric:lining-nums;letter-spacing:.2px;
}
.tut-room-page .tut-rule-gold{width:64px;height:3px;border-radius:2px;background:var(--tut-r-gold);margin-block:14px}
.tut-room-page .tut-room-tagline{
	margin:0 0 18px;font-family:var(--tut-serif);font-size:clamp(17px,2vw,20px);
	font-style:italic;color:var(--tut-r-gold-deep);max-width:64ch;
}
.tut-room-page .tut-share{
	flex:none;display:inline-flex;align-items:center;gap:8px;
	margin-top:8px;padding:9px 14px;border:1px solid var(--tut-r-line);
	border-radius:999px;background:#fff;color:var(--tut-r-text);
	font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s;
}
.tut-room-page .tut-share:hover{border-color:var(--tut-r-gold);color:var(--tut-r-gold-deep)}
.tut-room-page .tut-share svg{width:15px;height:15px;stroke:currentColor}

/* ===================== Fact chips ===================== */
.tut-room-page .tut-room-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.tut-room-page .tut-room-chip{
	display:inline-flex;align-items:center;gap:8px;
	background:#fff;border:1px solid var(--tut-r-line);border-radius:999px;
	padding:9px 14px;font-size:13px;color:var(--tut-r-text);
}
.tut-room-page .tut-room-chip .tut-ico{width:16px;height:16px;stroke:var(--tut-r-gold)}
.tut-room-page .tut-room-chip b{font-weight:700;font-variant-numeric:lining-nums}

/* ===================== Body: 65/35 ===================== */
.tut-room-page .tut-room-body{display:grid;grid-template-columns:minmax(0,65fr) minmax(0,35fr);gap:44px;align-items:start}
.tut-room-page .tut-room-main{min-width:0}

/* ===================== Section shells ===================== */
.tut-room-page .tut-rsect{margin-bottom:52px}
.tut-room-page .tut-rsect-title{font-size:28px;margin:0 0 6px}
.tut-room-page .tut-rsect-title .no{color:var(--tut-r-gold);font-variant-numeric:lining-nums;padding-inline-end:6px}
.tut-room-page .tut-rsect-sub{color:var(--tut-r-muted);font-size:14px;margin:0 0 18px}
.tut-room-page .tut-rsect-rule{height:1px;background:var(--tut-r-line);margin-block:14px 22px;position:relative}
.tut-room-page .tut-rsect-rule::after{
	content:"";position:absolute;inset-block-start:-1px;inset-inline-start:0;
	width:64px;height:3px;border-radius:2px;background:var(--tut-r-gold);
}

/* ===================== About / description ===================== */
.tut-room-page .tut-about-text{
	overflow:hidden;max-height:none;transition:max-height .3s ease;
}
.tut-room-page .tut-about-text.is-clamped{max-height:12.6em}
.tut-room-page .tut-read-toggle{
	display:none;margin-top:10px;padding:0;border:0;background:none;
	color:var(--tut-r-gold-deep);font-weight:700;font-size:14px;cursor:pointer;text-decoration:underline;
	text-underline-offset:3px;
}
.tut-room-page .tut-about-text.is-clamped ~ .tut-read-toggle{display:inline-flex;align-items:center;gap:6px}

/* ===================== Highlights ===================== */
.tut-room-page .tut-highlights{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.tut-room-page .tut-highlights li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.tut-room-page .tut-highlights svg{width:20px;height:20px;stroke:var(--tut-r-gold);margin-top:2px}
.tut-room-page .tut-highlights .check-circle{stroke:var(--tut-r-gold)}

/* ===================== Feature cards ===================== */
.tut-room-page .tut-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.tut-room-page .tut-feature{
	background:var(--tut-r-card);border:1px solid var(--tut-r-line);border-radius:14px;
	padding:18px 16px;display:flex;flex-direction:column;gap:8px;
}
.tut-room-page .tut-feature .tut-ico{width:24px;height:24px}
.tut-room-page .tut-feature .k{font-size:12px;color:var(--tut-r-muted)}
.tut-room-page .tut-feature .v{font-family:var(--tut-serif);font-size:19px;color:var(--tut-r-navy);font-variant-numeric:lining-nums}

/* ===================== Amenities ===================== */
.tut-room-page .tut-amenities{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.tut-room-page .tut-amenities li{display:flex;gap:10px;align-items:center;font-size:15px}
.tut-room-page .tut-amenities .tut-ico{width:20px;height:20px}

/* ===================== The view band ===================== */
.tut-room-page .tut-viewband{
	position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--tut-r-shadow);
	aspect-ratio:16/7;background:var(--tut-r-navy-soft);
}
.tut-room-page .tut-viewband img{width:100%;height:100%;object-fit:cover;display:block}
.tut-room-page .tut-viewband .cap{
	position:absolute;inset-inline:0;inset-block-end:0;padding:40px 20px 16px;
	background:linear-gradient(transparent,rgba(20,29,38,.82));
	color:#fff;font-family:var(--tut-serif);font-size:20px;display:flex;align-items:center;gap:10px;
}
.tut-room-page .tut-viewband .cap .tut-ico{width:20px;height:20px;stroke:#fff}

/* ===================== Good to know ===================== */
.tut-room-page .tut-g2k{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.tut-room-page .tut-g2k .item{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--tut-r-line);border-radius:14px;padding:16px}
.tut-room-page .tut-g2k .tut-ico{width:20px;height:20px}
.tut-room-page .tut-g2k .k{display:block;font-size:12px;color:var(--tut-r-muted);margin-bottom:2px}
.tut-room-page .tut-g2k .v{font-size:14px;font-weight:600;color:var(--tut-r-navy)}
.tut-room-page .tut-g2k a.v{color:var(--tut-r-gold-deep);text-decoration:underline;text-underline-offset:3px}

/* ===================== Booking card ===================== */
.tut-room-page .tut-room-booking{position:sticky;top:calc(var(--tut-header-h) + 24px)}
.tut-room-page .tut-book-card{
	background:var(--tut-r-card);border:1px solid var(--tut-r-line);
	border-radius:18px;box-shadow:var(--tut-r-shadow);padding:24px;
}
.tut-room-page .tut-book-price{display:flex;align-items:baseline;gap:8px;margin:0 0 4px}
.tut-room-page .tut-book-price .amount{
	font-family:var(--tut-serif);font-size:36px;color:var(--tut-r-navy);font-weight:600;
	font-variant-numeric:lining-nums;letter-spacing:.3px;
}
.tut-room-page .tut-book-price .per{font-size:13px;color:var(--tut-r-muted)}
.tut-room-page .tut-book-note{font-size:12.5px;color:var(--tut-r-muted);margin:0 0 18px}
.tut-room-page .tut-field{position:relative;margin-bottom:12px}
.tut-room-page .tut-field label{display:block;font-size:12px;font-weight:700;color:var(--tut-r-navy);margin-bottom:6px;letter-spacing:.2px}
.tut-room-page .tut-field .ctrl{
	display:flex;align-items:center;gap:10px;width:100%;min-height:48px;
	border:1px solid var(--tut-r-line);border-radius:12px;background:#fff;
	padding:10px 14px;font-size:14px;color:var(--tut-r-text);cursor:pointer;text-align:start;
	transition:border-color .15s;
}
.tut-room-page .tut-field .ctrl:hover{border-color:var(--tut-r-gold)}
.tut-room-page .tut-field .ctrl[aria-expanded="true"]{border-color:var(--tut-r-gold);box-shadow:0 0 0 3px var(--tut-gold-soft, rgba(184,134,11,.15))}
.tut-room-page .tut-field .ctrl .ic{color:var(--tut-r-gold)}
.tut-room-page .tut-field .ctrl .val{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tut-room-page .tut-field .ctrl .ph{color:var(--tut-r-muted)}
.tut-room-page .tut-field .ctrl .caret{color:var(--tut-r-muted);transition:transform .2s}
.tut-room-page .tut-field .ctrl[aria-expanded="true"] .caret{transform:rotate(180deg)}
.tut-room-page .tut-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.tut-room-page .tut-pop{
	position:absolute;inset-inline:0;z-index:6;margin-top:6px;
	background:#fff;border:1px solid var(--tut-r-line);border-radius:14px;
	box-shadow:0 18px 40px rgba(70,60,30,.16);padding:16px;display:none;
}
.tut-room-page .tut-pop.is-open{display:block}
.tut-room-page .tut-field .tut-date-fields{margin:0}

/* Calendar */
.tut-room-page .tut-cal{user-select:none}
.tut-room-page .tut-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}
.tut-room-page .tut-cal-title{font-family:var(--tut-serif);font-size:18px;color:var(--tut-r-navy)}
.tut-room-page .tut-cal-nav{
	width:34px;height:34px;border-radius:50%;border:1px solid var(--tut-r-line);
	background:#fff;color:var(--tut-r-navy);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:16px;
}
.tut-room-page .tut-cal-nav:hover{border-color:var(--tut-r-gold);color:var(--tut-r-gold-deep)}
.tut-room-page .tut-cal-nav:disabled{opacity:.35;cursor:not-allowed}
.tut-room-page .tut-cal table{width:100%;border-collapse:collapse}
.tut-room-page .tut-cal th{font-size:11px;color:var(--tut-r-muted);font-weight:600;padding:4px;text-transform:uppercase;letter-spacing:.4px}
.tut-room-page .tut-cal td{text-align:center;padding:2px}
.tut-room-page .tut-cal .day{
	width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--tut-r-text);
	cursor:pointer;font-size:13.5px;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;justify-content:center;
}
.tut-room-page .tut-cal .day:hover:not(:disabled){background:var(--tut-gold-soft, rgba(184,134,11,.14));color:var(--tut-r-gold-deep)}
.tut-room-page .tut-cal .day:disabled{color:#d8d2c6;cursor:not-allowed}
.tut-room-page .tut-cal .day.is-pick{background:var(--tut-r-navy);color:#fff;font-weight:700}
.tut-room-page .tut-cal .day.is-pick:hover{background:var(--tut-r-navy);color:#fff}
.tut-room-page .tut-cal .day.in-range{background:var(--tut-gold-soft, rgba(184,134,11,.18));color:var(--tut-r-navy)}
.tut-room-page .tut-cal .day.begin{background:var(--tut-r-gold);color:#fff}
.tut-room-page .tut-cal .day.end{background:var(--tut-r-gold);color:#fff}
.tut-room-page .tut-cal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.tut-room-page .tut-cal-clear{border:0;background:none;color:var(--tut-r-muted);font-size:12.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tut-room-page .tut-cal-swap{border:0;background:none;color:var(--tut-r-muted);font-size:12.5px;cursor:pointer}
.tut-room-page .tut-cal-hint{font-size:12px;color:var(--tut-r-muted)}

/* Guests popover */
.tut-room-page .tut-guests-pop{display:grid;gap:12px;padding:8px 0}
.tut-room-page .tut-guests-pop:not(.is-open){display:none}
.tut-room-page .tut-guests-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tut-room-page .tut-guests-row .g{flex:1}
.tut-room-page .tut-guests-row .g b{display:block;font-size:14px;color:var(--tut-r-navy)}
.tut-room-page .tut-guests-row .g .h{display:block;font-size:11.5px;color:var(--tut-r-muted)}
.tut-room-page .tut-stepper{display:flex;align-items:center;gap:10px}
.tut-room-page .tut-stepper button{
	width:34px;height:34px;border-radius:50%;border:1px solid var(--tut-r-line);background:#fff;
	color:var(--tut-r-navy);font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
}
.tut-room-page .tut-stepper button:hover:not(:disabled){border-color:var(--tut-r-gold);color:var(--tut-r-gold-deep)}
.tut-room-page .tut-stepper button:disabled{opacity:.35;cursor:not-allowed}
.tut-room-page .tut-stepper .n{min-width:22px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.tut-room-page .tut-guests-hint{display:none;font-size:12px;color:var(--tut-r-muted)}
.tut-room-page .tut-guests-pop .tut-cal-actions{margin-top:2px}

/* Availability + result */
.tut-room-page .tut-check-btn{
	width:100%;min-height:52px;margin-top:4px;
	background:var(--tut-r-navy);color:#fff;
	border:0;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	transition:background .15s, transform .08s;
}
.tut-room-page .tut-check-btn:hover{background:var(--tut-r-navy-soft)}
.tut-room-page .tut-check-btn:active{transform:translateY(1px)}
.tut-room-page .tut-check-btn[disabled]{opacity:.6;cursor:wait}
.tut-room-page .tut-check-btn .spinner{
	width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;
	animation:tut-spin .7s linear infinite;display:none;
}
.tut-room-page .tut-check-btn.is-loading .spinner{display:inline-block}
@keyframes tut-spin{to{transform:rotate(360deg)}}

.tut-room-page .tut-result{margin-top:14px;
	border:1px solid var(--tut-r-line);border-radius:14px;
	background:var(--tut-r-bg);overflow:hidden;display:none;
}
.tut-room-page .tut-result.is-visible{display:block}
.tut-room-page .tut-result.is-ok{border-color:#d8d8b2}
.tut-room-page .tut-result.is-no{border-color:#ecd9cf}
.tut-room-page .tut-result-head{padding:12px 14px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px}
.tut-room-page .tut-result.is-ok .tut-result-head{color:#5d6c0f}
.tut-room-page .tut-result.is-no .tut-result-head{color:#a2542a}
.tut-room-page .tut-result-head svg{width:17px;height:17px;flex:none}
.tut-room-page .tut-result.is-ok .tut-result-head svg{stroke:#6f7f14}
.tut-room-page .tut-result.is-no .tut-result-head svg{stroke:#b3582d}
.tut-room-page .tut-result-message{padding:0 14px 12px;font-size:13px;color:var(--tut-r-text)}
.tut-room-page .tut-breakdown{border-top:1px dashed var(--tut-r-line);padding:12px 14px;display:grid;gap:8px}
.tut-room-page .tut-breakdown .row{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;color:var(--tut-r-text)}
.tut-room-page .tut-breakdown .row.total{
	border-top:1px solid var(--tut-r-line);margin-top:4px;padding-top:10px;
	font-weight:700;color:var(--tut-r-navy);font-size:15px;
}
.tut-room-page .tut-breakdown .row.total .amt{font-variant-numeric:tabular-nums}
.tut-room-page .tut-book-cta-btn{
	display:block;width:100%;text-align:center;margin-top:14px;
	background:linear-gradient(180deg,#b8860b,#9a6f09);color:#fff;
	border:0;border-radius:12px;padding:14px 16px;font-size:15px;font-weight:700;text-decoration:none;
	transition:filter .15s;
}
.tut-room-page .tut-book-cta-btn:hover{filter:brightness(1.06);color:#fff}
.tut-room-page .tut-reassure{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12.5px;color:var(--tut-r-muted)}
.tut-room-page .tut-reassure svg{width:15px;height:15px;stroke:currentColor;flex:none}
.tut-room-page .tut-price-request{
	background:#fff4e6;border:1px solid #edddc2;border-radius:12px;padding:14px;
}
.tut-room-page .tut-price-request b{display:block;margin-bottom:4px}
.tut-room-page .tut-price-request p{margin:0;font-size:13px;color:#8a6a3a}

/* ===================== Tours carousel ===================== */
.tut-room-page .tut-room-tours{
	background:linear-gradient(180deg,#f3ecdc,var(--tut-r-bg));
	border-block:1px solid var(--tut-r-line);
	padding-block:56px;margin:8px 0 0;
}
.tut-room-page .tut-room-tours .tut-room-container{position:relative}
.tut-room-page .tut-carousel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.tut-room-page .tut-carousel-title-wrap h2{margin:0 0 6px;font-size:32px}
.tut-room-page .tut-carousel-title-wrap p{margin:0;color:var(--tut-r-muted);font-size:14px;max-width:54ch}
.tut-room-page .tut-carousel-navs{display:flex;gap:8px}
.tut-room-page .tut-carousel-nav{
	width:42px;height:42px;border-radius:50%;border:1px solid var(--tut-r-line);background:#fff;
	color:var(--tut-r-navy);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:18px;
}
.tut-room-page .tut-carousel-nav:hover{border-color:var(--tut-r-gold);color:var(--tut-r-gold-deep)}
.tut-room-page .tut-room-tours-track{
	display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;
	scrollbar-width:none;-ms-overflow-style:none;padding-block:4px;
}
.tut-room-page .tut-room-tours-track::-webkit-scrollbar{display:none}
.tut-room-page .tut-room-tours-track .tut-card{
	flex:0 0 clamp(230px,26vw,300px);scroll-snap-align:start;
	background:#fff;border:1px solid var(--tut-r-line);border-radius:16px;overflow:hidden;
	display:flex;flex-direction:column;box-shadow:var(--tut-r-shadow);
}
.tut-room-page .tut-room-tours-track .tut-card-media-link{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--tut-r-sand)}
.tut-room-page .tut-room-tours-track .tut-card-media-link img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.tut-room-page .tut-room-tours-track .tut-card:hover .tut-card-media-link img{transform:scale(1.04)}
.tut-room-page .tut-room-tours-track .tut-card-media-link .tut-ph{height:100%;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;text-align:center;padding:16px}
.tut-room-page .tut-room-tours-track .tut-card-body{padding:16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.tut-room-page .tut-room-tours-track .tut-card-title{font-size:21px;margin:0}
.tut-room-page .tut-room-tours-track .tut-card-text{font-size:13px;color:var(--tut-r-muted);margin:0}
.tut-room-page .tut-room-tours-track .tut-card-actions{margin-top:auto;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.tut-room-page .tut-room-tours-track .tut-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;border:0;cursor:pointer}
.tut-room-page .tut-room-tours-track .tut-btn-ghost{background:transparent;border:1px solid var(--tut-r-line);color:var(--tut-r-navy)}
.tut-room-page .tut-carousel-dots{display:flex;gap:6px;justify-content:center;margin-top:18px}
.tut-room-page .tut-carousel-dots button{width:8px;height:8px;border-radius:999px;border:0;background:var(--tut-r-line);cursor:pointer;padding:0;transition:width .2s,background .2s}
.tut-room-page .tut-carousel-dots button.is-active{width:22px;background:var(--tut-r-gold)}
.tut-room-page .tut-carousel-foot{text-align:center;margin-top:20px}
.tut-room-page .tut-carousel-foot a{font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:3px}

/* ===================== You may also like ===================== */
.tut-room-page .tut-room-others .tut-room-others-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tut-room-page .tut-room-others .tut-card{background:#fff;border:1px solid var(--tut-r-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--tut-r-shadow)}
.tut-room-page .tut-room-others .tut-card-media-link{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--tut-r-sand)}
.tut-room-page .tut-room-others .tut-card-media-link img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.tut-room-page .tut-room-others .tut-card:hover .tut-card-media-link img{transform:scale(1.04)}
.tut-room-page .tut-room-others .tut-card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.tut-room-page .tut-room-others .tut-card-title{font-size:21px;margin:0}
.tut-room-page .tut-room-others .tut-card-text{font-size:13px;color:var(--tut-r-muted);margin:0}
.tut-room-page .tut-room-others .tut-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.tut-room-page .tut-room-others .tut-tag{font-size:11.5px;color:var(--tut-r-gold-deep);background:var(--tut-gold-soft, rgba(184,134,11,.1));border-radius:999px;padding:3px 9px}
.tut-room-page .tut-room-others .tut-price{font-family:var(--tut-serif);font-size:17px;color:var(--tut-r-navy);margin:0}
.tut-room-page .tut-room-others .tut-card-actions{margin-top:auto;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.tut-room-page .tut-room-others .tut-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;border:0;cursor:pointer}
.tut-room-page .tut-room-others .tut-btn-ghost{background:transparent;border:1px solid var(--tut-r-line);color:var(--tut-r-navy)}

/* ===================== CTA band ===================== */
.tut-room-page .tut-room-cta{
	margin-top:64px;border-radius:20px;overflow:hidden;position:relative;
	background:linear-gradient(135deg,#1d2b3a,#2c4156 55%,#24374a);
	color:#fff;text-align:center;padding:64px 24px;
}
.tut-room-page .tut-room-cta::before{
	content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
	background:radial-gradient(600px 200px at 15% 0%, rgba(184,134,11,.35), transparent 60%),
	radial-gradient(500px 220px at 85% 100%, rgba(184,134,11,.22), transparent 60%);
}
.tut-room-page .tut-room-cta h2{color:#fff;font-size:clamp(26px,3.4vw,38px);margin:0 0 8px;position:relative}
.tut-room-page .tut-room-cta p{color:#d9cfc0;margin:0 auto 26px;max-width:52ch;font-size:15px;position:relative}
.tut-room-page .tut-room-cta .gold-rule{width:64px;height:3px;border-radius:2px;background:var(--tut-r-gold);margin:0 auto 22px;position:relative}
.tut-room-page .tut-room-cta .tut-cta-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	background:linear-gradient(180deg,#b8860b,#9a6f09);color:#fff;
	border:0;border-radius:12px;padding:15px 32px;font-size:16px;font-weight:700;text-decoration:none;position:relative;
	transition:filter .15s,transform .08s;
}
.tut-room-page .tut-room-cta .tut-cta-btn:hover{filter:brightness(1.08);color:#fff}
.tut-room-page .tut-room-cta .tut-cta-btn:active{transform:translateY(1px)}

/* ===================== Mini availability bar (desktop) ===================== */
.tut-room-page .tut-minibar{
	position:fixed;inset-inline:0;top:var(--tut-header-h);z-index:44;
	background:rgba(250,246,238,.96);backdrop-filter:blur(6px);
	border-bottom:1px solid var(--tut-r-line);
	padding:10px 0;transform:translateY(-110%);transition:transform .25s ease;
	box-shadow:0 8px 24px rgba(76,70,40,.08);
}
.tut-room-page .tut-minibar.is-visible{transform:none}
.tut-room-page .tut-minibar-in{max-width:1200px;margin-inline:auto;padding-inline:24px;display:flex;align-items:center;gap:16px}
.tut-room-page .tut-minibar .mb-name{font-family:var(--tut-serif);font-size:20px;color:var(--tut-r-navy);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tut-room-page .tut-minibar .mb-price{font-size:14px;color:var(--tut-r-muted);white-space:nowrap}
.tut-room-page .tut-minibar .mb-price b{font-family:var(--tut-serif);font-size:18px;color:var(--tut-r-navy);font-variant-numeric:lining-nums}
.tut-room-page .tut-minibar .mb-btn{
	background:var(--tut-r-navy);color:#fff;border:0;border-radius:10px;padding:11px 20px;
	font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;
}
.tut-room-page .tut-minibar .mb-btn:hover{background:var(--tut-r-navy-soft)}

/* ===================== Mobile bottom bar + sheet ===================== */
.tut-room-page .tut-mobile-bar{
	display:none;position:fixed;inset-inline:0;z-index:48;bottom:0;
	background:rgba(250,246,238,.97);backdrop-filter:blur(6px);
	border-top:1px solid var(--tut-r-line);
	padding:8px 14px calc(8px + env(safe-area-inset-bottom));
	box-shadow:0 -8px 24px rgba(76,70,40,.1);
}
.tut-room-page .tut-mobile-bar-in{max-width:1200px;margin-inline:auto;display:flex;align-items:center;gap:14px}
.tut-room-page .tut-mobile-bar .mb-price{flex:1;font-size:13px;color:var(--tut-r-muted)}
.tut-room-page .tut-mobile-bar .mb-price b{font-family:var(--tut-serif);font-size:22px;color:var(--tut-r-navy);font-variant-numeric:lining-nums}
.tut-room-page .tut-mobile-bar .mb-btn{
	background:var(--tut-r-navy);color:#fff;border:0;border-radius:12px;
	padding:13px 22px;font-size:14px;font-weight:700;cursor:pointer;
}
.tut-room-page .tut-mobile-bar .mb-btn:hover{background:var(--tut-r-navy-soft)}

.tut-room-page .tut-bottom-sheet{
	position:fixed;inset-inline:0;bottom:0;z-index:60;display:none;
}
.tut-room-page .tut-bottom-sheet.is-open{display:block}
.tut-room-page .tut-sheet-backdrop{
	position:fixed;inset:0;background:rgba(29,43,58,.5);z-index:-1;
	display:none;
}
.tut-room-page .tut-bottom-sheet.is-open .tut-sheet-backdrop{display:block}
.tut-room-page .tut-sheet-panel{
	position:relative;background:var(--tut-r-bg);
	border-radius:20px 20px 0 0;box-shadow:0 -18px 50px rgba(40,34,20,.25);
	padding:12px 16px calc(24px + env(safe-area-inset-bottom));
	max-height:88vh;overflow-y:auto;
	transform:translateY(100%);transition:transform .28s ease;
}
.tut-room-page .tut-bottom-sheet.is-open .tut-sheet-panel{transform:none}
.tut-room-page .tut-sheet-handle{
	width:44px;height:5px;border-radius:999px;background:var(--tut-r-line);margin:0 auto 14px;
}
.tut-room-page .tut-sheet-close{
	position:absolute;inset-inline-end:14px;top:12px;width:38px;height:38px;border-radius:50%;
	border:1px solid var(--tut-r-line);background:#fff;color:var(--tut-r-navy);cursor:pointer;font-size:16px;
}
.tut-room-page .tut-sheet-panel .tut-book-card{border:0;box-shadow:none;padding:6px 0 0}
.tut-room-page[dir="ltr"] .tut-sheet-close{right:14px}
.tut-room-page[dir="rtl"] .tut-sheet-close{left:14px}

/* ===================== Lightbox ===================== */
.tut-room-page .tut-lb{
	position:fixed;inset:0;z-index:70;background:rgba(14,18,24,.94);
	display:none;align-items:center;justify-content:center;flex-direction:column;
}
.tut-room-page .tut-lb.is-open{display:flex}
.tut-room-page .tut-lb-top{
	position:absolute;inset-inline:0;top:0;display:flex;justify-content:space-between;
	align-items:center;padding:14px 16px;gap:12px;
}
.tut-room-page .tut-lb-count{color:#cfc7b8;font-size:14px;font-variant-numeric:tabular-nums}
.tut-room-page .tut-lb-close{
	width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.25);
	background:rgba(255,255,255,.06);color:#fff;font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
}
.tut-room-page .tut-lb-close:hover{background:rgba(255,255,255,.16)}
.tut-room-page .tut-lb-stage{
	flex:1;min-height:0;display:flex;align-items:center;justify-content:center;
	position:relative;width:100%;
}
.tut-room-page .tut-lb-img{
	max-width:min(88vw,1080px);max-height:70vh;object-fit:contain;border-radius:10px;
	box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.tut-room-page .tut-lb-nav{
	position:absolute;top:50%;transform:translateY(-50%);
	width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.2);
	background:rgba(255,255,255,.06);color:#fff;font-size:26px;cursor:pointer;
	display:inline-flex;align-items:center;justify-content:center;z-index:2;
}
.tut-room-page .tut-lb-nav:hover{background:rgba(255,255,255,.16)}
.tut-room-page .tut-lb-prev{left:auto;right:auto;inset-inline-start:18px}
.tut-room-page .tut-lb-next{left:auto;right:auto;inset-inline-end:18px}
.tut-room-page .tut-lb-thumbs{display:flex;gap:8px;padding:14px 16px;max-width:100%;overflow-x:auto}
.tut-room-page .tut-lb-thumbs button{
	width:64px;height:48px;border:2px solid transparent;border-radius:8px;overflow:hidden;padding:0;cursor:pointer;flex:none;background:#000;
}
.tut-room-page .tut-lb-thumbs button.is-active{border-color:var(--tut-r-gold)}
.tut-room-page .tut-lb-thumbs img{width:100%;height:100%;object-fit:cover;display:block}

/* ===================== Responsive ===================== */
@media (max-width:1023px){
	.tut-room-page .tut-room-body{grid-template-columns:1fr;gap:0}
	.tut-room-page .tut-room-booking{display:none}
	.tut-room-page .tut-mobile-bar{display:block}
	.tut-room-page .tut-room-others .tut-room-others-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
	.tut-room-page .tut-rsect{margin-bottom:40px}
}
@media (max-width:767px){
	.tut-room-page .tut-room-container{padding-inline:16px}
	.tut-room-page .tut-room-slide{aspect-ratio:16/10}
	.tut-room-page .tut-slider-nav{width:38px;height:38px;font-size:22px}
	.tut-room-page .tut-room-head{flex-direction:column}
	.tut-room-page .tut-share{align-self:flex-start}
	.tut-room-page .tut-highlights,.tut-room-page .tut-amenities{grid-template-columns:1fr}
	.tut-room-page .tut-room-cta{padding:44px 18px}
	.tut-room-page .tut-room-chips{gap:8px}
}
@media (max-width:480px){
	.tut-room-page .tut-room-slide{aspect-ratio:16/10}
	.tut-room-page .tut-room-title{font-size:30px}
	.tut-room-page .tut-book-price .amount{font-size:32px}
	.tut-room-page .tut-minibar{display:none}
}
@media (min-width:1024px){
	.tut-room-page .tut-bottom-sheet{display:none !important}
}

/* ===================== Reduced motion ===================== */
@media (prefers-reduced-motion:reduce){
	.tut-room-page *,
	.tut-room-page *::before,.tut-room-page *::after{
		animation:none !important;
		transition:none !important;
		scroll-behavior:auto !important;
	}
}

/* ===================== Tour details extras (scoped) ===================== */
/* The tour single view reuses this layer; these rules add the pieces a tour
   has that a room does not (on-request form, numbered itinerary, excluded
   list) without touching any other page. */
.tut-room-page .tut-book-card-title{
	font-family:var(--tut-serif);font-size:20px;color:var(--tut-r-navy);
	margin:16px 0 6px;line-height:1.25;
}
.tut-room-page .tut-book-policy{margin:14px 0 0;font-size:12.5px;color:var(--tut-r-muted)}
.tut-room-page .tut-book-policy a{color:var(--tut-r-gold-deep);text-decoration:underline;text-underline-offset:3px}

/* On-request form: match the premium field look of the booking card. */
.tut-room-page .tut-request-form{display:grid;gap:12px;margin:14px 0 0;max-width:none}
.tut-room-page .tut-form-row{gap:6px}
.tut-room-page .tut-form-row label{font-size:12px;font-weight:700;color:var(--tut-r-navy);letter-spacing:.2px}
.tut-room-page .tut-form-row input,
.tut-room-page .tut-form-row textarea{
	width:100%;padding:11px 14px;border:1px solid var(--tut-r-line);border-radius:12px;
	background:#fff;font:inherit;font-size:14px;color:var(--tut-r-text);min-height:46px;
}
.tut-room-page .tut-form-row textarea{min-height:0}
.tut-room-page .tut-form-row input:focus,
.tut-room-page .tut-form-row textarea:focus{
	outline:none;border-color:var(--tut-r-gold);
	box-shadow:0 0 0 3px var(--tut-gold-soft, rgba(184,134,11,.15));
}
.tut-room-page .tut-form-row input:disabled,
.tut-room-page .tut-form-row textarea:disabled{background:var(--tut-r-bg);color:var(--tut-r-muted)}
.tut-room-page .tut-request-actions{display:grid;gap:10px;margin-top:2px}
.tut-room-page .tut-request-actions .tut-btn{
	display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;
	border:0;border-radius:12px;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;
}
.tut-room-page .tut-request-actions .tut-btn-primary{background:var(--tut-r-navy);color:#fff}
.tut-room-page .tut-request-actions .tut-btn-primary:hover{background:var(--tut-r-navy-soft);color:#fff}
.tut-room-page .tut-request-actions .tut-btn-wa{background:#25d366;color:#fff}
.tut-room-page .tut-request-actions .tut-btn-wa:hover{background:#1da851;color:#fff}
.tut-room-page .tut-request-status{margin:0;min-height:1.1em;font-size:13px;color:var(--tut-r-muted)}
.tut-room-page .tut-request-status.is-error{color:#c0392b}

/* Numbered itinerary. */
.tut-room-page .tut-itinerary{list-style:none;margin:0;padding:0}
.tut-room-page .tut-itinerary li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--tut-r-line)}
.tut-room-page .tut-itinerary li:first-child{border-top:0}
.tut-room-page .tut-itinerary .it-no{
	flex:none;font-family:var(--tut-serif);font-size:15px;font-weight:700;color:var(--tut-r-gold);
	min-width:28px;font-variant-numeric:lining-nums;
}
.tut-room-page .tut-itinerary li>span:last-child{font-size:15px;color:var(--tut-r-text)}

/* Excluded list: muted, with an x mark instead of a tick. */
.tut-room-page .tut-amenities-excluded li{color:var(--tut-r-muted)}
.tut-room-page .tut-amenities-excluded .tut-ico{stroke:#b98a6a}