﻿/*
Theme Name: TuT Pyramids View
Theme URI: https://astavjjj.com
Author: Astavjjj Web Systems
Author URI: https://astavjjj.com
Description: Premium luxury hotel theme for TuT Pyramids View Hotel. Cinematic, sophisticated and elegant. Designed as a thin view layer paired with the TuT Hotel System plugin. v2.0.1 = responsive design system rework (single-bar header, true off-canvas drawer, fluid type/spacing, zero horizontal overflow on all breakpoints, complete RTL).
Version: 3.0.2
License: GPL-2.0-or-later
Text Domain: tut-pyramids
Requires at least: 6.0
Tested up to: 6.7
*/

/* ============================================================
   1. Design tokens
   ============================================================ */
:root{
	/* palette */
	--tut-gold:#b8860b;
	--tut-gold-light:#d4af37;
	--tut-gold-soft:rgba(184,134,11,.12);
	--tut-ink:#1c1a17;
	--tut-stone:#f5efe4;
	--tut-sand:#efe6d5;
	--tut-text:#3c372f;
	--tut-muted:#857a68;
	--tut-line:#ece4d6;
	--tut-line-soft:#f0eadb;
	--tut-bg:#fff;

	/* type */
	--tut-serif:"Cormorant Garamond",Georgia,serif;
	--tut-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
	--tut-size-1:clamp(.92rem,1.3vw,1rem);   /* small   */
	--tut-size-2:clamp(.95rem,1.4vw,1rem);   /* body    */
	--tut-size-3:clamp(1rem,1.6vw,1.15rem);  /* lead    */
	--tut-size-display:clamp(2.35rem,9vw,5.4rem);
	--tut-size-h1:clamp(1.9rem,4.6vw,2.9rem);
	--tut-size-h2:clamp(1.4rem,3vw,2.15rem);
	--tut-size-h3:clamp(1.15rem,1.8vw,1.4rem);
	--tut-size-btn:clamp(.95rem,1.2vw,1rem);

	/* layout. Fluid gutter scales with viewport (mobile 18 -> desktop 28). */
	--tut-gutter:clamp(18px,4.5vw,28px);
	/* Vertical rhythm responds to viewport instead of one fixed value. */
	--tut-space:clamp(60px,9vw,112px);
	--tut-space-sm:clamp(28px,4.5vw,48px);
	--tut-space-xs:clamp(16px,2.4vw,24px);

	/* header */
	--tut-header-h:64px;
	--tut-header-h-mobile:54px;

	/* shape & motion */
	--tut-radius:6px;
	--tut-radius-lg:14px;
	--tut-shadow:0 16px 40px rgba(28,26,23,.10);
	--tut-shadow-sm:0 6px 20px rgba(28,26,23,.07);
	--tut-ease:cubic-bezier(.22,.61,.36,1);
	--tut-speed:.28s;
}

*{box-sizing:border-box}
html{
	scroll-behavior:smooth;
	-webkit-text-size-adjust:100%;
	-webkit-tap-highlight-color:transparent;
}
body{
	margin:0;
	font-family:var(--tut-sans);
	font-size:var(--tut-size-2);
	color:var(--tut-text);
	background:var(--tut-bg);
	line-height:1.7;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:var(--tut-serif);font-weight:500;color:var(--tut-ink);line-height:1.16;letter-spacing:.3px}
h1,h2,h3,h4,p{margin-top:0}
p{text-wrap:pretty}
img{max-width:100%;height:auto;border:0}
a{color:var(--tut-gold)}
a:hover{color:#9a7410}

/*
 * The off-canvas drawer lives translated off-viewport while closed, so the
 * root needs overflow clipping to avoid phantom horizontal scrollbars.
 * This is the correct behaviour for a slide-in drawer (not a "hack") once
 * the drawer itself is a true viewport-fixed panel â€” see note below.
 */
html,body{overflow-x:hidden}

/* ============================================================
   2. Header â€” single bar, drawer on <=900px
   ============================================================ */
.tut-header{
	position:sticky;top:0;z-index:50;
	background:rgba(255,255,255,.97);
	border-bottom:1px solid var(--tut-line);
	/* NOTE: no backdrop-filter here. A filter/backdrop-filter on the header
	   would become the containing block for the position:fixed drawer and
	   overlay children, trapping them at the header box instead of the
	   viewport (this broke the mobile drawer in v2.0.0). */
}
.tut-header-inner{
	max-width:1400px;margin:0 auto;padding-inline:var(--tut-gutter);
	display:flex;align-items:center;justify-content:space-between;gap:14px;
	height:var(--tut-header-h);
}
.tut-logo{
	font-family:var(--tut-serif);font-size:clamp(1.15rem,2vw,1.4rem);
	letter-spacing:.8px;color:var(--tut-ink);text-decoration:none;
	font-weight:600;white-space:nowrap;line-height:1;min-width:0;
}
.tut-logo em{color:var(--tut-gold);font-style:italic}
.tut-logo:hover{color:var(--tut-gold)}

/* Branding logo in the header: bounded height, natural width, with the hotel
   name as an optional inline companion. Never wider than the row allows. */
.tut-logo-img{
	display:inline-block;height:48px;width:auto;max-width:40vw;
	object-fit:contain;vertical-align:middle;margin-inline-end:10px;
}
.tut-logo-name{
	font-family:var(--tut-serif);font-size:clamp(.95rem,1.6vw,1.2rem);
	letter-spacing:.5px;color:var(--tut-ink);vertical-align:middle;
	white-space:nowrap;
}
.tut-logo:hover .tut-logo-name{color:var(--tut-gold)}

/* Hamburger is a sibling of the nav (it appears on the left of the toggle). */
.tut-menu-toggle{display:none}
.tut-nav-overlay{display:none}
.tut-nav-close-row{display:none}

/* Desktop nav lives inside the header bar (single row). */
.tut-nav{
	display:flex;gap:clamp(18px,2.2vw,30px);align-items:center;justify-content:flex-end;
	flex-wrap:nowrap;
}
.tut-nav > a{
	color:var(--tut-text);text-decoration:none;
	font-size:.95rem;letter-spacing:.3px;display:inline-block;padding:6px 2px;
	position:relative;white-space:nowrap;transition:color .2s;
}
.tut-nav > a::after{
	content:"";position:absolute;inset-inline:2px;bottom:2px;height:1px;
	background:var(--tut-gold);transform:scaleX(0);transform-origin:center;
	transition:transform .25s var(--tut-ease);
}
.tut-nav > a:hover{color:var(--tut-gold)}
.tut-nav > a:hover::after{transform:scaleX(1)}
.tut-nav-cta{
	border:1px solid var(--tut-gold);padding:10px 20px;color:var(--tut-gold)!important;
	border-radius:var(--tut-radius);transition:.25s var(--tut-ease);
}
.tut-nav-cta::after{display:none}
.tut-nav-cta:hover{background:var(--tut-gold);color:#fff!important}

/* Current page: hold the gold underline instead of only showing it on hover. */
.tut-nav > a.tut-nav-current{color:var(--tut-gold)}
.tut-nav > a.tut-nav-current::after{transform:scaleX(1)}
.tut-nav > a.tut-nav-current:hover{color:var(--tut-gold)}
/* The CTA reads as a button, not a tab, so it fills rather than underlines. */
.tut-nav > a.tut-nav-cta.tut-nav-current{background:var(--tut-gold);color:#fff!important}

/* Language dropdown (desktop) */
.tut-lang{position:relative;display:flex;align-items:center;flex:none}
.tut-lang-btn{
	display:inline-flex;align-items:center;gap:9px;
	border:1px solid #e2dbcc;background:#fff;border-radius:var(--tut-radius);
	padding:9px 14px;cursor:pointer;color:var(--tut-ink);
	font-size:.9rem;transition:border-color .2s,box-shadow .2s;line-height:1;
}
.tut-lang-btn:hover{border-color:var(--tut-gold)}
.tut-lang.is-open .tut-lang-btn{border-color:var(--tut-gold);box-shadow:0 0 0 3px var(--tut-gold-soft)}
.tut-lang-code{font-size:.78rem;font-weight:700;color:var(--tut-gold);letter-spacing:.5px}
.tut-lang-name{color:var(--tut-text)}
.tut-lang-caret{
	width:0;height:0;margin-inline-start:2px;
	border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--tut-muted);
	transition:transform .2s;
}
.tut-lang.is-open .tut-lang-caret{transform:rotate(180deg)}
.tut-lang-dd{
	position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:60;
	min-width:210px;background:#fff;border:1px solid var(--tut-line);border-radius:10px;
	box-shadow:var(--tut-shadow);padding:6px;
	display:none;max-height:70vh;overflow-y:auto;
}
.tut-lang.is-open .tut-lang-dd{display:block}
.tut-lang-dd a{
	display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;
	color:var(--tut-text);text-decoration:none;font-size:.92rem;transition:background .15s;
}
.tut-lang-dd a:hover{background:#faf5e9;color:var(--tut-ink)}
.tut-lang-dd a.active{background:#faf5e9;color:var(--tut-gold);font-weight:600}
.tut-lang-dd-code{
	font-size:.7rem;font-weight:700;letter-spacing:.4px;color:var(--tut-muted);
	background:#f5f1e7;border-radius:4px;padding:2px 6px;min-width:30px;text-align:center;
}
.tut-lang-dd a.active .tut-lang-dd-code{background:var(--tut-gold);color:#fff}

/* ============================================================
   3. Hero (cinematic)
   ============================================================ */
.tut-hero{
	position:relative;
	min-height:72vh;
	display:flex;align-items:center;justify-content:center;text-align:center;
	background-color:#1c150b;
	background-image:
		linear-gradient(rgba(12,9,5,.6),rgba(12,9,5,.5)),
		radial-gradient(circle at 20% 15%,rgba(212,175,55,.2),transparent 42%),
		radial-gradient(circle at 82% 78%,rgba(184,134,11,.18),transparent 46%),
		var(--tut-hero-img, url('https://images.unsplash.com/photo-1503177119275-0aa32b3a9368?auto=format&fit=crop&w=1800&q=80'));
	background-size:cover;background-position:center;color:#fff;
	padding:calc(var(--tut-header-h) + var(--tut-space-sm)) var(--tut-gutter) var(--tut-space-sm);
	overflow:hidden;
}
.tut-hero-inner{max-width:860px;position:relative;z-index:2;width:100%;margin-inline:auto}
.tut-hero .tut-eyebrow{color:var(--tut-gold-light);letter-spacing:4px;margin-bottom:14px}
.tut-hero-title{
	font-size:var(--tut-size-display);color:#fff;margin:0 0 10px;line-height:1.02;
	text-shadow:0 4px 30px rgba(0,0,0,.4);
}
.tut-hero-title em{color:var(--tut-gold-light);font-style:italic}
.tut-hero-sub{
	font-size:clamp(1.02rem,2.2vw,1.4rem);color:#f3ead8;opacity:.96;
	margin:0 0 clamp(26px,4vw,38px);max-width:640px;margin-inline:auto;
}
.tut-hero .tut-btn{font-size:1.02rem}

/* ============================================================
   4. Layout primitives â€” fluid containers & rhythm
   ============================================================ */
.tut-container{max-width:1200px;width:100%;margin-inline:auto;padding-inline:var(--tut-gutter)}
.tut-narrow{max-width:820px}
.tut-page{padding-block:clamp(36px,6vw,72px)}
.tut-page .tut-container{max-width:1000px}
.tut-page-title{font-size:var(--tut-size-h1);margin:0 0 14px;font-weight:600;letter-spacing:-.5px}
.tut-section{padding-block:var(--tut-space);position:relative}
.tut-section-alt{background:#faf7f2;border-block:1px solid var(--tut-line-soft)}
.tut-section-inner{max-width:860px}
.tut-section-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:clamp(20px,3vw,30px);position:relative}
.tut-section-head > a{font-size:.95rem;white-space:nowrap}
.tut-h2{font-size:var(--tut-size-h2);margin:0 0 12px;font-weight:600;letter-spacing:-.3px;line-height:1.15}
.tut-eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:.78rem;font-weight:600;color:#a77b2e;margin-bottom:12px}

/* Buttons */
.tut-btn{
	display:inline-block;padding:14px 28px;border:1px solid var(--tut-gold);color:#7a5c1e;
	background:transparent;text-decoration:none;border-radius:var(--tut-radius);
	cursor:pointer;font-size:var(--tut-size-btn);line-height:1.2;text-align:center;
	transition:background .22s,color .22s,border-color .22s,box-shadow .22s,transform .15s;
}
.tut-btn:hover{background:var(--tut-gold);border-color:var(--tut-gold);color:#fff}
.tut-btn:active{transform:translateY(1px)}
.tut-btn-primary{background:#7a5c1e;border-color:#7a5c1e;color:#fff;font-weight:500}
.tut-btn-primary:hover{background:#5d4516;border-color:#5d4516;color:#fff}
.tut-btn-lg{padding:17px 36px;font-size:1.05rem}
.tut-btn-wa{background:#25d366;border-color:#25d366;color:#fff}
.tut-btn-wa:hover{background:#1da851;border-color:#1da851;color:#fff}
.tut-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}

/* Cards & rooms â€” premium grid */
.tut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(20px,2.6vw,30px)}
.tut-card{
	border:1px solid var(--tut-line);background:#fff;padding:0;
	transition:box-shadow .3s var(--tut-ease),transform .3s var(--tut-ease),border-color .3s;
	border-radius:var(--tut-radius-lg);display:flex;flex-direction:column;overflow:hidden;
}
.tut-card:hover{box-shadow:var(--tut-shadow);transform:translateY(-4px);border-color:var(--tut-gold-light)}
.tut-card-img{
	width:100%;aspect-ratio:4/3;object-fit:cover;background:#e8e0d2;display:block;
	transition:transform .8s var(--tut-ease);
}
.tut-card:hover .tut-card-img{transform:scale(1.05)}
.tut-card-body{
	padding:clamp(20px,2.6vw,28px);display:flex;flex-direction:column;flex:1;
	background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0));
}
.tut-card:not(:has(.tut-card-img)) .tut-card-body{padding-top:clamp(26px,3.2vw,34px)}
.tut-card-icon{
	width:46px;height:46px;border-radius:50%;flex:none;
	background:linear-gradient(135deg,var(--tut-gold-light),#a57920);color:#fff;
	display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:16px;
}
.tut-card-title{font-size:var(--tut-size-h3);margin:0 0 10px;font-weight:600}
.tut-card-title a{color:inherit;text-decoration:none}
.tut-card-title a:hover{color:var(--tut-gold-deep)}
.tut-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.tut-btn-ghost{background:transparent;color:var(--tut-gold-deep);border-color:var(--tut-gold)}
.tut-btn-ghost:hover{background:var(--tut-gold);color:#fff;border-color:var(--tut-gold)}
.tut-card-meta{display:flex;gap:10px 16px;flex-wrap:wrap;color:var(--tut-muted);font-size:.9rem;margin:0 0 12px}
.tut-card-meta span{display:inline-flex;align-items:center;gap:6px}
.tut-card-body > p{color:var(--tut-muted);margin:0 0 14px;font-size:.97rem}
.tut-price{color:#7a5c1e;font-weight:600;font-size:1.2rem;margin:0 0 16px}
.tut-price small{color:#8b8272;font-weight:400;font-size:.85rem}
.tut-card-actions{margin-top:auto;padding-top:14px}
.tut-card .tut-btn{width:100%}

/* Amenities / room facts */
.tut-amenities{columns:2;column-gap:clamp(20px,3vw,34px);list-style:none;padding:0;margin:14px 0}
.tut-amenities li{
	padding:7px 0;border-bottom:1px dotted #e3dac8;break-inside:avoid;
	display:flex;gap:8px;align-items:baseline;
}
.tut-amenities li::before{content:"â—†";font-size:.5rem;color:var(--tut-gold);align-self:center}
.tut-room-facts{display:flex;gap:14px 26px;flex-wrap:wrap;margin:22px 0;padding-block:18px;border-block:1px solid var(--tut-line)}
.tut-room-facts > div{font-size:.98rem}
.tut-room-facts strong{color:var(--tut-ink);font-weight:600}
.tut-room-cta{margin-top:clamp(22px,3vw,30px)}
.tut-breadcrumb{color:#8b8272;margin-bottom:14px;font-size:.9rem}
.tut-room-desc{margin:18px 0;max-width:70ch}
.tut-itinerary{padding-inline-start:24px}

/* Empty / coming-soon states */
.tut-empty{
	position:relative;overflow:hidden;text-align:center;
	background:linear-gradient(135deg,#faf6ec,#f2ead8);
	border:1px solid #e6dcc4;border-radius:var(--tut-radius-lg);padding:clamp(36px,6vw,60px) clamp(20px,3vw,28px);
	margin:6px 0;
}
.tut-empty .tut-empty-icon{
	width:62px;height:62px;line-height:62px;margin:0 auto 18px;display:block;
	font-size:1.7rem;color:#fff;border-radius:50%;
	background:linear-gradient(135deg,var(--tut-gold-light),#a57920);
	box-shadow:0 8px 22px rgba(184,134,11,.25);
}
.tut-empty h3{font-family:var(--tut-serif);color:var(--tut-ink);font-size:1.35rem;margin:0 0 8px}
.tut-empty p{color:var(--tut-muted);max-width:480px;margin:0 auto;font-size:.97rem}

/* CTA band */
.tut-cta{
	background:
		radial-gradient(circle at 50% 0%,rgba(212,175,55,.16),transparent 55%),
		linear-gradient(120deg,#26211a,#1c1710);
	color:#fff;border-radius:clamp(14px,2vw,20px);margin-block:var(--tut-space-xs);
	padding-block:clamp(40px,6vw,72px);text-align:center;
}
.tut-cta .tut-h2,.tut-cta h2{color:#fff}
.tut-cta p{color:#d8cbb0;margin-bottom:24px}

/* Gallery */
.tut-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:clamp(14px,2vw,22px)}
.tut-gallery-preview{grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,22px)}
.tut-gallery-item{margin:0;overflow:hidden;border-radius:10px;box-shadow:var(--tut-shadow-sm);background:#fff}
.tut-gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .65s var(--tut-ease)}
.tut-gallery-item:hover img{transform:scale(1.05)}
.tut-gallery-item figcaption{padding:10px 12px;font-size:.9rem;color:#7a7568;background:#fff}

/* Map */
.tut-map{
	position:relative;margin-top:clamp(22px,3.4vw,34px);
	border-radius:var(--tut-radius-lg);overflow:hidden;
	border:1px solid rgba(184,134,11,.3);box-shadow:var(--tut-shadow-sm);
	background:#e8e0d2;aspect-ratio:16/9;
}
.tut-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* ============================================================
   Footer - compact premium full-width footer
   Rows: CTA band, brand/contact/newsletter, explore/policies rows, legal bar
   ============================================================ */
.tut-footer{
	--tut-footer-bg:#141a21;
	--tut-footer-fg:#eae3d5;
	--tut-footer-muted:#a9a08e;
	--tut-footer-head:#f6f1e6;
	--tut-footer-line:#262d37;
	--tut-footer-gold:#b8860b;
	--tut-footer-gold-light:#d4af37;
	position:relative;
	background:var(--tut-footer-bg);
	color:var(--tut-footer-fg);
	margin-top:var(--tut-space-sm);
	border-top:2px solid var(--tut-footer-gold-light);
	font-size:15px;
}
.tut-footer *,.tut-footer *::before,.tut-footer *::after{box-sizing:border-box}
.tut-footer a{color:var(--tut-footer-muted);text-decoration:none;transition:color .2s ease}
.tut-footer a:hover,.tut-footer a:focus-visible{color:var(--tut-footer-gold-light)}
.tut-footer .tut-btn{font-family:inherit}
.tut-footer a.tut-btn-primary,
.tut-footer a.tut-btn-primary:hover,
.tut-footer a.tut-btn-primary:focus-visible{color:#fff}

/* Row 1 - slim CTA */
.tut-footer-cta{border-block-end:1px solid rgba(212,175,55,.6)}
.tut-footer-cta-inner{
	max-width:1380px;
	margin:0 auto;
	padding-block:clamp(12px,1.6vw,16px);
	padding-inline:var(--tut-gutter);
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:12px 24px;
}
.tut-footer .tut-footer-cta-text{
	margin:0;
	font-family:var(--tut-serif);
	font-weight:600;
	font-size:clamp(1.18rem,2.2vw,1.6rem);
	line-height:1.16;
	letter-spacing:.3px;
	color:var(--tut-footer-head);
}
.tut-footer-cta-btn{
	flex:0 0 auto;
	padding-block:9px;
	padding-inline:22px;
	font-size:.92rem;
	line-height:1.2;
}

/* Row 2 - brand/contact/newsletter */
.tut-footer-row-main{width:100%}
.tut-footer-main{
	max-width:1380px;
	margin:0 auto;
	padding-block:clamp(18px,2.2vw,26px);
	padding-inline:var(--tut-gutter);
	display:grid;
	grid-template-columns:minmax(0,1.08fr) minmax(0,1.12fr) minmax(0,1.05fr);
	gap:clamp(18px,3vw,38px);
	align-items:start;
}
.tut-footer-brand{min-width:0}
.tut-footer-logo-link{display:inline-flex;align-items:center;max-width:100%}
.tut-footer-logo{
	display:block;
	height:48px;
	width:auto;
	max-width:100%;
	object-fit:contain;
}
.tut-footer-name{
	font-family:var(--tut-serif);
	font-weight:600;
	font-size:1.38rem;
	color:var(--tut-footer-head);
	line-height:1.2;
}
.tut-footer-tagline{
	margin:10px 0 0;
	color:var(--tut-footer-muted);
	line-height:1.55;
	font-size:.93rem;
	max-width:32ch;
}
.tut-footer-social{
	list-style:none;
	margin:14px 0 0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
.tut-footer-social li{margin:0}
.tut-footer-social a{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	border:1px solid var(--tut-footer-line);
	border-radius:50%;
	color:var(--tut-footer-muted);
}
.tut-footer-social svg{
	width:16px;
	height:16px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.6;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.tut-footer-social a:hover,.tut-footer-social a:focus-visible{
	color:var(--tut-footer-gold-light);
	border-color:var(--tut-footer-gold-light);
	background:rgba(212,175,55,.08);
}

.tut-footer-col-title{
	font-family:var(--tut-serif);
	font-weight:600;
	color:var(--tut-footer-head);
	font-size:1.06rem;
	letter-spacing:.4px;
	line-height:1.2;
	margin:0 0 10px;
}
.tut-footer-contact-list{
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:8px 14px;
}
.tut-fc{
	display:flex;
	align-items:flex-start;
	gap:9px;
	min-width:0;
}
.tut-fc-address{grid-column:1 / -1}
.tut-fc-icon{
	flex:0 0 auto;
	display:inline-flex;
	width:16px;
	height:16px;
	margin-top:3px;
	color:var(--tut-footer-gold-light);
}
.tut-fc-icon svg{
	width:16px;
	height:16px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.7;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.tut-fc a,
.tut-fc address{
	color:var(--tut-footer-muted);
	line-height:1.52;
	font-size:.9rem;
	min-width:0;
	overflow-wrap:anywhere;
	font-style:normal;
}
.tut-fc a:hover,.tut-fc a:focus-visible{color:var(--tut-footer-gold-light)}

.tut-footer-news-desc{
	margin:0 0 10px;
	color:var(--tut-footer-muted);
	line-height:1.52;
	font-size:.9rem;
	max-width:38ch;
}
.tut-news-form{
	display:flex;
	gap:8px;
	max-width:380px;
}
.tut-footer-news input[type=email]{
	flex:1 1 auto;
	min-width:0;
	height:42px;
	padding:0 12px;
	font:inherit;
	font-size:.9rem;
	color:#f3ede0;
	background:rgba(255,255,255,.05);
	border:1px solid rgba(212,175,55,.4);
	border-radius:8px;
}
.tut-footer-news input[type=email]::placeholder{color:#9c9384}
.tut-footer-news input[type=email]:focus{
	outline:2px solid var(--tut-footer-gold-light);
	outline-offset:1px;
	background:rgba(255,255,255,.1);
}
.tut-footer-news .tut-btn{
	height:42px;
	flex:0 0 auto;
	padding-inline:16px;
	white-space:nowrap;
	font-size:.9rem;
}
.tut-footer .tut-footer-news-msg{
	margin:8px 0 0;
	font-size:.82rem;
	min-height:1.1em;
}
.tut-footer-news-msg.is-ok{color:#9fd39b}
.tut-footer-news-msg.is-err{color:#e8a6a6}

/* Row 3 - explore and policies as wrapping rows */
.tut-footer-row-links{width:100%}
.tut-footer-links{
	max-width:1380px;
	margin:0 auto;
	padding-block:clamp(8px,1vw,10px);
	padding-inline:var(--tut-gutter);
	border-block-start:1px solid var(--tut-footer-line);
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:6px 26px;
}
.tut-footer-linkgroup{
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:6px 12px;
	min-width:0;
}
.tut-footer-linkgroup-label{
	flex:0 0 auto;
	font-family:var(--tut-serif);
	font-weight:600;
	font-size:.78rem;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--tut-footer-gold-light);
}
.tut-footer-linknav{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:4px 6px;
	min-width:0;
}
.tut-footer-linknav a{
	display:inline-block;
	padding:2px 0;
	font-size:.9rem;
	line-height:1.4;
}
.tut-footer-sep{
	color:rgba(212,175,55,.6);
	font-size:.9rem;
	line-height:1;
}

/* Row 4 - legal bar */
.tut-footer-row-legal{width:100%}
.tut-footer-legal{
	max-width:1380px;
	margin:0 auto;
	padding-block:10px;
	padding-inline:var(--tut-gutter);
	border-block-start:1px solid var(--tut-footer-line);
	display:grid;
	grid-template-columns:1fr auto 1fr;
	align-items:center;
	gap:8px 16px;
}
.tut-footer-legal-left{display:flex;align-items:center;gap:12px}
.tut-footer-legal-center{display:flex;align-items:center;justify-content:center;text-align:center}
.tut-footer-legal-right{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.tut-footer .tut-copy{
	margin:0;
	padding:0;
	border:0;
	font-size:.82rem;
	color:var(--tut-footer-muted);
}
.tut-footer .tut-footer-credits{
	margin:0;
	font-size:.82rem;
	color:var(--tut-footer-muted);
}
.tut-footer .tut-credit{
	margin:0;
	font-size:.82rem;
	color:var(--tut-footer-muted);
	white-space:nowrap;
}
.tut-footer-top{
	appearance:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	flex:0 0 auto;
	background:transparent;
	color:var(--tut-footer-muted);
	border:1px solid var(--tut-footer-line);
	border-radius:50%;
	padding:0;
	cursor:pointer;
	transition:color .2s ease,border-color .2s ease,background .2s ease;
}
.tut-footer-top svg{
	width:16px;
	height:16px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.8;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.tut-footer-top:hover,.tut-footer-top:focus-visible{
	color:var(--tut-footer-gold-light);
	border-color:var(--tut-footer-gold-light);
	background:rgba(212,175,55,.08);
}
[dir=\"rtl\"] .tut-footer-legal-right{justify-content:flex-start}

/* Tablet */
@media (max-width:1024px){
	.tut-footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
	.tut-footer-news{grid-column:1 / -1}
	.tut-footer-legal{grid-template-columns:1fr auto}
	.tut-footer-legal-center{grid-column:1 / -1;text-align:start;justify-content:flex-start}
	[dir=\"rtl\"] .tut-footer-legal-center{text-align:end;justify-content:flex-end}
}

/* Mobile */
@media (max-width:768px){
	.tut-footer-cta-inner{flex-direction:column;align-items:stretch}
	.tut-footer-cta-btn{width:100%;text-align:center}
	.tut-footer-main{grid-template-columns:minmax(0,1fr);gap:18px}
	.tut-footer-contact-list{grid-template-columns:minmax(0,1fr);gap:6px}
	.tut-fc-address{grid-column:auto}
	.tut-news-form{max-width:none;flex-direction:column}
	.tut-news-form .tut-btn{width:100%}
	.tut-footer-links{flex-direction:column;align-items:flex-start;gap:10px}
	.tut-footer-linkgroup{flex-direction:column;align-items:flex-start;gap:6px}
	.tut-footer-linknav{gap:8px}
	.tut-footer-linknav a{
		padding:6px 10px;
		border:1px solid var(--tut-footer-line);
		border-radius:999px;
		font-size:.86rem;
	}
	.tut-footer-sep{display:none}
	.tut-footer-legal{
		grid-template-columns:minmax(0,1fr);
		justify-items:center;
		text-align:center;
		gap:8px;
	}
	.tut-footer-legal-left,
	.tut-footer-legal-center,
	.tut-footer-legal-right{justify-content:center;text-align:center}
	.tut-footer .tut-credit{white-space:normal}
	[dir=\"rtl\"] .tut-footer-legal-right{justify-content:center}
}
@media (max-width:360px){
	.tut-footer-main{padding-inline:16px}
	.tut-footer-cta-inner{padding-inline:16px}
	.tut-footer-links{padding-inline:16px}
	.tut-footer-legal{padding-inline:16px}
}
/* Booking */
.tut-booking-panel{background:#fff;border:1px solid var(--tut-line);border-radius:var(--tut-radius-lg);padding:clamp(22px,3.4vw,36px);box-shadow:var(--tut-shadow-sm)}
.tut-step{margin-bottom:clamp(26px,3.6vw,38px)}
.tut-step h2{font-size:var(--tut-size-h3);margin:0 0 16px;color:var(--tut-ink)}
.tut-type-toggle{display:flex;gap:12px;flex-wrap:wrap}
.tut-type-btn{
	padding:14px 26px;border:1px solid #d9cfbb;background:#fff;cursor:pointer;
	border-radius:var(--tut-radius);font-size:var(--tut-size-btn);color:var(--tut-text);
	transition:border-color .2s,background .2s,color .2s;
}
.tut-type-btn:hover{border-color:var(--tut-gold)}
.tut-type-btn.active{border-color:#7a5c1e;background:#7a5c1e;color:#fff}
.tut-field{margin-bottom:18px}
.tut-field label{display:block;margin-bottom:7px;font-weight:500;font-size:.95rem;color:#5c5548}
.tut-field input,.tut-field select,.tut-field textarea{
	width:100%;padding:14px 14px;border:1px solid #d9cfbb;border-radius:var(--tut-radius);
	font-size:1rem;background:#fff;line-height:1.3;color:var(--tut-ink);
	transition:border-color .2s,box-shadow .2s;
}
.tut-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#857a68 50%),linear-gradient(135deg,#857a68 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;background-size:5px 5px;background-repeat:no-repeat}
[dir="rtl"] .tut-field select{background-position:20px 55%,15px 55%}
.tut-field input:focus,.tut-field select:focus,.tut-field textarea:focus{border-color:var(--tut-gold);outline:none;box-shadow:0 0 0 3px var(--tut-gold-soft)}
.tut-field input.tut-full,.tut-field textarea.tut-full{width:100%}
.tut-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.tut-price-box{background:#faf7f2;border-inline-start:3px solid #b8860b;padding:18px;border-radius:var(--tut-radius);font-size:.96rem}
.tut-price-box p{margin:0 0 6px}
.tut-price-row{display:flex;justify-content:space-between;padding:4px 0;gap:12px}
.tut-price-total{font-weight:700;font-size:1.2rem;border-top:1px solid #e3dac8;margin-top:8px;padding-top:12px;color:#7a5c1e}
.tut-price-error{color:#c0392b}
.tut-policies{font-size:.96rem}
.tut-policies h3{margin-block:10px 8px}
.tut-check{display:flex;gap:12px;align-items:flex-start;margin-top:18px;cursor:pointer}
.tut-check input{margin-top:3px;flex:none}
.tut-actions{margin-top:10px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.tut-process-error{color:#c0392b;font-weight:500}
.tut-alert{padding:15px 18px;border-radius:var(--tut-radius);margin-bottom:22px;font-size:.97rem}
.tut-alert-error{background:#fdecea;border:1px solid #f5c6c4;color:#c0392b}
.tut-alert-warning{background:#fff8e1;border:1px solid #f2e2b0;color:#8a6d1a}

/* Results / voucher */
.tut-booking-result{background:#faf7f2;border:1px solid var(--tut-line);padding:clamp(20px,3vw,28px);border-radius:var(--tut-radius);margin-top:18px;font-size:.98rem}
.tut-booking-result p{margin:7px 0}
.tut-booking-result .tut-room-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.tut-success-title{color:#217b3f}
.tut-pending-title{color:#b8860b}
.tut-voucher{border:2px solid #b8860b;padding:clamp(22px,3.4vw,34px);border-radius:var(--tut-radius-lg);max-width:760px}
.tut-voucher h1{border-bottom:2px solid #b8860b;padding-bottom:14px;font-size:clamp(1.3rem,2.4vw,1.6rem)}
.tut-voucher-row{margin:9px 0}
.tut-voucher-label{font-weight:700;color:#555;display:inline-block;min-width:130px}
.tut-voucher-total{font-size:1.2rem;font-weight:700;border-top:1px solid #d9cfbb;margin-top:16px;padding-top:12px;color:#7a5c1e}
.tut-voucher-status{color:#217b3f;font-weight:700}
.tut-voucher-footer{margin-top:24px;font-size:.85rem;color:#8b8272;border-top:1px solid #ddd;padding-top:12px}

/* ============================================================
   5. Scroll reveal (progressive enhancement)
   ============================================================ */
.tut-reveal{will-change:opacity,transform;transition:opacity .7s ease,transform .7s ease}
.tut-section.tut-reveal,.tut-card.tut-reveal{opacity:0;transform:translateY(22px)}
.tut-section.tut-revealed,.tut-card.tut-revealed{opacity:1;transform:none}
.tut-revealed{opacity:1;transform:none}

/* ============================================================
   6. Focus + reduced motion
   ============================================================ */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--tut-gold);outline-offset:2px}
@media (prefers-reduced-motion: reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* ============================================================
   7. Responsive system
   ============================================================ */

/* Tablet â†’ comfort spacing on the desktop nav */
@media (max-width:1080px){
	.tut-nav{gap:16px}
}

/* ---- Drawer navigation <=900px ---- */
@media (max-width:900px){
.tut-header-inner{height:var(--tut-header-h-mobile)}
	.tut-logo{font-size:clamp(1rem,4.4vw,1.15rem);margin-inline-end:auto;overflow:hidden;text-overflow:ellipsis}
	.tut-logo-img{height:40px;max-width:38vw}
	.tut-logo-name{max-width:42vw;overflow:hidden;text-overflow:ellipsis}

	/* Hamburger */
	.tut-menu-toggle{
		display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
		width:44px;height:44px;flex:none;border:1px solid var(--tut-line);background:#fff;
		border-radius:9px;cursor:pointer;padding:0 11px;
		transition:border-color .2s,box-shadow .2s;
	}
	.tut-menu-toggle:hover{border-color:var(--tut-gold)}
	.tut-menu-toggle[aria-expanded="true"]{border-color:var(--tut-gold);box-shadow:0 0 0 3px var(--tut-gold-soft)}
	.tut-menu-bar{height:2px;background:var(--tut-ink);display:block;border-radius:3px;transition:transform .28s var(--tut-ease),opacity .2s}
	.tut-menu-toggle[aria-expanded="true"] .tut-menu-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
	.tut-menu-toggle[aria-expanded="true"] .tut-menu-bar:nth-child(2){opacity:0}
	.tut-menu-toggle[aria-expanded="true"] .tut-menu-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

	/* Overlay â€” true full-viewport (header carries no filter, so fixed works) */
	.tut-nav-overlay{
		display:block;position:fixed;inset:0;z-index:70;
		background:rgba(20,16,10,.5);
		opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;
	}
	.tut-nav-overlay.is-visible{opacity:1;visibility:visible}

	/* Drawer â€” fixed to the viewport, full height, columns of links */
	.tut-nav{
		position:fixed;top:0;bottom:0;inset-inline-end:0;z-index:80;
		width:min(84vw,360px);
		flex-direction:column;align-items:stretch;justify-content:flex-start;
		gap:0;flex-wrap:nowrap;
		background:#fff;border-inline-start:1px solid var(--tut-line);
		box-shadow:-20px 0 60px rgba(0,0,0,.22);
		padding:0 0 24px;
		overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
		transform:translateX(104%);transition:transform .34s var(--tut-ease),visibility .34s;
		visibility:hidden;
	}
	[dir="rtl"] .tut-nav{transform:translateX(-104%)}
	.tut-nav.is-open{transform:translateX(0);visibility:visible}

	.tut-nav-close-row{
		display:flex;align-items:center;justify-content:space-between;gap:12px;
		padding:16px var(--tut-gutter);border-bottom:1px solid var(--tut-line-soft);
		position:sticky;top:0;background:#fff;z-index:2;
	}
	.tut-nav-brand{font-family:var(--tut-serif);font-size:1.08rem;font-weight:600;color:var(--tut-ink);letter-spacing:.4px}
	.tut-nav-close{
		background:transparent;border:1px solid #e6dcc4;border-radius:8px;padding:7px 13px;
		font-size:.85rem;color:var(--tut-muted);cursor:pointer;transition:color .2s,border-color .2s;flex:none;
	}
	.tut-nav-close:hover{color:var(--tut-ink);border-color:var(--tut-gold)}

	.tut-nav > a{
		padding:17px var(--tut-gutter);font-size:1.05rem;border-bottom:1px solid #f5f0e6;
		display:block;letter-spacing:.3px;
	}
	.tut-nav > a::after{display:none}
	.tut-nav > a:active{background:#faf5e9}
	.tut-nav-cta{margin:20px var(--tut-gutter) 6px;text-align:center;border-radius:10px;font-weight:500}

	/* Language: compact accordion inside the drawer */
	.tut-lang{width:100%;padding:20px var(--tut-gutter) 0;flex:none}
	.tut-lang-btn{width:100%;justify-content:space-between;border-radius:10px;padding:13px 14px;font-size:.98rem}
	.tut-lang-dd{
		position:static;inset-inline:auto;top:auto;width:100%;min-width:0;
		border:0;box-shadow:none;background:none;padding:12px 0 0;
		display:none;max-height:none;overflow:visible;
	}
	.tut-lang.is-open .tut-lang-dd{display:block}
	.tut-lang-dd a{
		padding:12px 12px;border:1px solid #ece6d8;border-radius:9px;font-size:.95rem;
		gap:12px;margin-bottom:8px;
	}
	.tut-lang-dd a:hover,.tut-lang-dd a.active{border-color:var(--tut-gold);background:#faf5e9}
	.tut-lang-dd-code{min-width:34px}

	/* Modal scroll lock */
	body.tut-menu-locked{overflow:hidden}
}

/* ---- Small screens â€” comfortable, touch-first ---- */
@media (max-width:767px){
	.tut-header-inner{gap:10px}
	.tut-menu-toggle{width:42px;height:42px;padding:0 10px}

	/* Hero */
	.tut-hero{min-height:64vh;padding-inline:var(--tut-gutter)}
	.tut-hero-sub{font-size:1.05rem}
	.tut-hero .tut-btn{padding:16px 36px}

	/* Cards: one column, generous targets */
	.tut-grid{grid-template-columns:1fr;gap:26px}
	.tut-card-img{aspect-ratio:16/10}
	.tut-card .tut-btn,.tut-actions .tut-btn{width:100%;min-height:52px;font-size:1.02rem}

	/* Amenities / facts stack */
	.tut-amenities{columns:1}
	.tut-room-facts{gap:10px}

	/* Booking: single column, bigger touch areas */
	.tut-field-row{grid-template-columns:1fr;gap:0}
	.tut-field-row .tut-field{margin-bottom:18px}
	.tut-type-toggle{flex-direction:column;align-items:stretch}
	.tut-type-btn{width:100%;text-align:center;padding:16px 22px;min-height:52px}
	.tut-field input,.tut-field select,.tut-field textarea{padding:15px 13px;min-height:52px;font-size:1.02rem}
	.tut-actions{flex-direction:column;align-items:stretch;gap:12px}
	.tut-actions .tut-btn{text-align:center}
	.tut-check{align-items:flex-start}

	/* Gallery one column */
	.tut-gallery{grid-template-columns:1fr;gap:16px}
	.tut-gallery-item img{aspect-ratio:16/10}

	/* Footer & voucher */
	.tut-footer{text-align:center}
	.tut-voucher-label{min-width:0;display:block}
}

/* ---- Tablet: two-column room grid ---- */
@media (min-width:768px) and (max-width:1100px){
	.tut-grid{grid-template-columns:repeat(2,1fr);gap:20px}
}

/* ---- Comfortable large-hero on tall screens ---- */
@media (min-width:2000px){
	.tut-hero{min-height:76vh}
}

/* ============================================================
   8. RTL â€” logical properties keep things mirrored automatically;
      explicit overrides below are limited to remaining trumps.
   ============================================================ */
[dir="rtl"] body{text-align:right}
[dir="rtl"] .tut-section-head{text-align:right}
[dir="rtl"] .tut-card{text-align:right}
/* Builder page head: gives every public page a single, translated h1. */
.tut-page-head{
  padding-block:var(--tut-space-sm) var(--tut-space-xs);
  background:var(--tut-stone);
  border-bottom:1px solid var(--tut-line);
  text-align:center;
}
.tut-page-title{
  font-family:var(--tut-serif);
  font-size:var(--tut-size-h2);
  font-weight:500;line-height:1.15;color:var(--tut-ink);
  margin:0;
}

/* ============================================================
   Rooms - detail layout, media, specs, booking card
   ============================================================ */
.tut-room-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(24px,3.4vw,44px);align-items:start}
.tut-room-main{min-width:0}
.tut-room-title{font-variant-numeric:lining-nums;font-feature-settings:"tnum" 1}

/* Branded placeholder used instead of a broken/empty image box. */
.tut-ph{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:180px;width:100%;
  background:
    radial-gradient(circle at 50% 35%,rgba(212,175,55,.14),transparent 60%),
    linear-gradient(140deg,#23201a,#171410);
  color:#b9ae97;text-align:center;overflow:hidden;
}
.tut-ph-mark{
  width:46px;height:34px;border:1.5px solid rgba(212,175,55,.55);border-radius:4px;
  position:relative;margin-bottom:10px;
}
.tut-ph-mark::before{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:20px;height:20px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,rgba(212,175,55,.85),rgba(212,175,55,.25));
}
.tut-ph-mark::after{
  content:"";position:absolute;inset:auto 4px 3px 4px;height:12px;
  background:linear-gradient(180deg,transparent,rgba(212,175,55,.35));
  clip-path:polygon(0 100%,38% 34%,62% 62%,78% 44%,100% 100%);
}
.tut-ph-text{font-size:.86rem;letter-spacing:.3px;padding:0 12px}
.tut-card-media .tut-ph{min-height:200px}
.tut-room-media-ph{min-height:clamp(240px,34vw,420px)}

/* Media + thumbnails */
.tut-room-media{margin:0 0 14px;border-radius:var(--tut-radius-lg);overflow:hidden;background:#171410;border:1px solid var(--tut-line)}
.tut-room-media-img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.tut-room-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:10px}
.tut-room-thumb{padding:0;border:1px solid var(--tut-line);border-radius:8px;overflow:hidden;background:#fff;cursor:pointer;line-height:0;transition:border-color .2s}
.tut-room-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.tut-room-thumb.is-active,.tut-room-thumb:hover{border-color:var(--tut-gold)}

/* Gallery viewer */
.tut-room-media[data-tut-gallery-stage]{position:relative;cursor:zoom-in;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.tut-room-media[data-tut-gallery-stage] .tut-room-media-img{transition:opacity .22s ease,transform .34s cubic-bezier(.2,.7,.2,1)}
.tut-room-media[data-tut-gallery-stage].is-swiping .tut-room-media-img{opacity:.35;transform:scale(1.015)}
.tut-gal-nav,.tut-gal-expand,.tut-lb-nav,.tut-lb-close{
	position:absolute;z-index:3;display:grid;place-items:center;
	border:1px solid rgba(255,255,255,.32);background:rgba(23,20,16,.62);color:#f3ede0;
	backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
	cursor:pointer;line-height:1;padding:0;
	transition:background .2s,border-color .2s,transform .2s;
}
.tut-gal-nav,.tut-lb-nav{top:50%;width:44px;height:44px;margin-top:-22px;border-radius:50%;font-size:1.7rem}
.tut-gal-nav:hover,.tut-lb-nav:hover,.tut-lb-close:hover{background:rgba(23,20,16,.9);border-color:var(--tut-gold)}
.tut-gal-prev,.tut-lb-prev{left:12px}
.tut-gal-next,.tut-lb-next{right:12px}
.tut-gal-expand{top:12px;right:12px;width:40px;height:40px;border-radius:50%;font-size:1.05rem}
.tut-gal-count{
	position:absolute;z-index:3;left:12px;bottom:12px;
	padding:5px 11px;border-radius:999px;
	background:rgba(23,20,16,.66);border:1px solid rgba(255,255,255,.22);
	color:#f3ede0;font-size:.76rem;letter-spacing:.04em;
	backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
body.tut-lb-open{overflow:hidden}
.tut-lightbox{
	position:fixed;inset:0;z-index:9999;
	display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(8px,2vw,26px);
	padding:clamp(14px,3vw,42px);background:rgba(12,10,8,.96);
	animation:tutLbIn .22s ease both;touch-action:none;
}
.tut-lightbox[hidden]{display:none}
.tut-lb-img{grid-column:2;width:100%;max-height:88vh;object-fit:contain;justify-self:center;border-radius:10px}
.tut-lb-nav{position:static;width:52px;height:52px;margin:0;justify-self:center}
.tut-lb-close{top:clamp(12px,2.4vw,26px);right:clamp(12px,2.4vw,26px);width:44px;height:44px;border-radius:50%;font-size:1.1rem}
.tut-lb-count{
	grid-column:1 / -1;justify-self:center;
	padding:5px 13px;border-radius:999px;
	background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);
	color:#e9e1d2;font-size:.8rem;letter-spacing:.05em;
}
@keyframes tutLbIn{from{opacity:0}to{opacity:1}}
@media (max-width:640px){
	.tut-gal-nav{width:38px;height:38px;margin-top:-19px;font-size:1.45rem}
	.tut-gal-prev{left:8px}
	.tut-gal-next{right:8px}
	.tut-lb-nav{width:42px;height:42px;font-size:1.45rem}
	.tut-lightbox{grid-template-columns:auto 1fr auto;padding:10px}
	.tut-gallery-preview{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
	.tut-lightbox{animation:none}
	.tut-room-media[data-tut-gallery-stage] .tut-room-media-img{transition:none}
}

/* Specs */
.tut-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 8px;padding:0}
.tut-spec{margin:0;padding:12px 14px;background:#fff;border:1px solid var(--tut-line);border-radius:var(--tut-radius)}
.tut-spec dt{font-size:.78rem;letter-spacing:.6px;text-transform:uppercase;color:var(--tut-muted);margin-bottom:4px}
.tut-spec dd{margin:0;font-size:.98rem;color:var(--tut-ink)}

.tut-goodtoknow{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tut-goodtoknow li{padding:11px 14px;background:#fff;border:1px solid var(--tut-line);border-radius:var(--tut-radius);font-size:.95rem}

/* Sticky booking card */
.tut-room-aside{position:sticky;top:calc(var(--tut-header-h) + 16px)}
.tut-book-card{background:#fff;border:1px solid var(--tut-line);border-radius:var(--tut-radius-lg);box-shadow:var(--tut-shadow-sm);padding:20px}
.tut-book-card-price{margin:0 0 14px;display:flex;flex-direction:column;gap:2px}
.tut-book-card-amount{font-family:var(--tut-serif);font-size:1.6rem;color:var(--tut-ink);font-variant-numeric:lining-nums}
.tut-book-card-unit{font-size:.82rem;color:var(--tut-muted)}
.tut-book-card-form{display:grid;gap:6px}
.tut-book-card-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.tut-book-card .tut-label{margin-top:8px}
.tut-book-card .tut-btn-block{width:100%;margin-top:14px}
.tut-book-card-note{margin:10px 0 0;font-size:.78rem;color:var(--tut-muted);text-align:center}

/* Room cards: consistent media ratio + hover zoom */
.tut-card-media{display:flex;flex-direction:column;overflow:hidden;padding:0}
.tut-card-media .tut-card-body{padding:16px 18px 18px}
.tut-card-media-link{display:block;overflow:hidden;line-height:0;background:#171410}
.tut-card-media-link img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .6s var(--tut-ease)}
.tut-card-media:hover .tut-card-media-link img{transform:scale(1.06)}
.tut-card-text{margin:0 0 8px;font-size:.92rem;color:var(--tut-muted)}
.tut-price-from{font-size:.78rem;color:var(--tut-muted);margin-inline-end:2px}
.tut-tag{display:inline-block;padding:3px 9px;border:1px solid var(--tut-line);border-radius:999px;font-size:.76rem;color:var(--tut-muted);background:#fbf9f4}
.tut-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;font-size:.85rem;color:var(--tut-muted)}

/* Empty-state icon without the broken glyph */
.tut-empty-icon{display:block;width:56px;height:56px;margin:0 auto 14px;border-radius:14px;
  background:linear-gradient(140deg,#23201a,#171410);position:relative}
.tut-empty-icon::after{content:"";position:absolute;inset:16px;border:1.5px solid rgba(212,175,55,.5);border-radius:4px}

/* Header CTA sits at the far end and gains a shadow once the page scrolls. */
.tut-header.is-stuck{box-shadow:0 6px 22px rgba(20,16,10,.13)}
.tut-nav-cta-item{flex:0 0 auto}

/* ============================================================
   Footer - fixed four columns, CTA band, newsletter band
   ============================================================ */
.tut-footer .tut-footer-inner{grid-template-columns:1.4fr 1fr 1fr 1.25fr}
.tut-footer ul.tut-footer-list{
	list-style:none;margin:0;padding:0;display:grid;gap:9px;
}
.tut-footer ul.tut-footer-list li{margin:0}
.tut-footer ul.tut-footer-list a{display:inline-block;padding:1px 0}
.tut-footer-contact ul.tut-footer-list{gap:11px}
.tut-footer-contact li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:flex;align-items:flex-start;gap:8px}

/* Contact page contact details: link rows with the same mask icons as the
   footer, nowrap so numbers/emails never wrap on small columns. */
.tut-contact-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.tut-contact-list li{white-space:nowrap;display:flex;align-items:center;gap:10px}
.tut-contact-list a{color:var(--tut-text);text-decoration:none;font-size:1.02rem;transition:color .2s;font-weight:500}
.tut-contact-list a:hover,.tut-contact-list a:focus-visible{color:var(--tut-gold)}
.tut-footer-contact li a{min-width:0}
.tut-footer-contact li::before,.tut-contact-list li::before{
	content:"";flex:0 0 15px;width:15px;height:15px;margin-top:2px;
	background:currentColor;opacity:.8;
	-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat;
}
.tut-c-phone::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
.tut-c-mobile::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='7' y='2' width='10' height='20' rx='2'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='7' y='2' width='10' height='20' rx='2'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E")}
.tut-c-mail::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E")}
.tut-c-maps::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.tut-c-wa::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15l-1.3 4.7 4.8-1.3A10 10 0 1 0 12 2Zm5.2 14.2c-.2.7-1.2 1.3-1.9 1.4-.5.1-1.1.1-1.8-.1-4.7-1.5-7.6-5-7.8-5.2-.2-.2-1.9-2.5-1.9-4.7s1.2-3.4 1.6-3.8c.4-.5.9-.6 1.2-.6h.9c.3 0 .6-.1.9.7l1.2 3c.1.2.1.5 0 .7l-.6.9c-.2.2-.3.4-.1.7.2.2.8 1.3 1.7 2.1 1.2 1.1 2.2 1.4 2.5 1.6.3.1.5.1.7-.1l1-1.2c.2-.3.4-.2.7-.1l2.8 1.3c.3.2.6.3.7.4.1.2.1.7-.1 1.4Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15l-1.3 4.7 4.8-1.3A10 10 0 1 0 12 2Zm5.2 14.2c-.2.7-1.2 1.3-1.9 1.4-.5.1-1.1.1-1.8-.1-4.7-1.5-7.6-5-7.8-5.2-.2-.2-1.9-2.5-1.9-4.7s1.2-3.4 1.6-3.8c.4-.5.9-.6 1.2-.6h.9c.3 0 .6-.1.9.7l1.2 3c.1.2.1.5 0 .7l-.6.9c-.2.2-.3.4-.1.7.2.2.8 1.3 1.7 2.1 1.2 1.1 2.2 1.4 2.5 1.6.3.1.5.1.7-.1l1-1.2c.2-.3.4-.2.7-.1l2.8 1.3c.3.2.6.3.7.4.1.2.1.7-.1 1.4Z'/%3E%3C/svg%3E")}

/* CTA band */
.tut-footer-cta{border-block-end:1px solid var(--tut-footer-line)}
.tut-footer-cta-inner{
	max-width:1400px;margin:0 auto;
	padding-block:clamp(24px,3.2vw,34px);
	padding-inline:var(--tut-gutter);
	display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
	gap:16px 28px;
}
.tut-footer .tut-footer-cta-text{
	margin:0;font-family:var(--tut-serif);
	font-size:clamp(1.3rem,2.6vw,1.85rem);
	line-height:1.2;letter-spacing:.3px;color:var(--tut-footer-head);
}
.tut-footer-cta-btn{flex:0 0 auto}

/* Newsletter - own full-width band, never inside the contact column */
.tut-footer-newsletter{border-block-start:1px solid var(--tut-footer-line)}
.tut-footer-newsletter-inner{
	max-width:1400px;margin:0 auto;
	padding-block:clamp(24px,3vw,32px);
	padding-inline:var(--tut-gutter);
	display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
	gap:14px 30px;
}
.tut-footer-newsletter-inner h4{margin:0;flex:0 0 auto}
.tut-news-form{display:flex;gap:8px;flex:1 1 460px;max-width:560px}
.tut-footer-newsletter input[type=email]{
	flex:1 1 auto;min-width:0;height:46px;padding:0 14px;
	font:inherit;font-size:.92rem;
	color:#f3ede0;background:rgba(255,255,255,.05);
	border:1px solid rgba(212,175,55,.38);border-radius:8px;
	transition:border-color .2s,background .2s;
}
.tut-footer-newsletter input[type=email]::placeholder{color:#9c9384}
.tut-footer-newsletter input[type=email]:focus{
	outline:2px solid var(--tut-gold-light);outline-offset:1px;
	background:rgba(255,255,255,.1);
}
.tut-footer-newsletter .tut-btn{height:46px;flex:0 0 auto}
.tut-footer .tut-footer-news-msg{margin:0;font-size:.85rem;min-height:1.2em;flex:1 1 100%;order:2}
.tut-footer-news-msg.is-ok{color:#9fd39b}
.tut-footer-news-msg.is-err{color:#e8a6a6}

@media (max-width:960px){
  .tut-room-layout{grid-template-columns:minmax(0,1fr)}
  .tut-room-aside{position:static}
  .tut-footer .tut-footer-inner{grid-template-columns:1fr 1fr}
  .tut-news-form{flex:1 1 340px}
}
@media (max-width:760px){
  .tut-footer-cta-inner{flex-direction:column;align-items:flex-start}
  .tut-footer-cta-btn{width:100%;text-align:center}
  .tut-footer-newsletter-inner{flex-direction:column;align-items:stretch}
  .tut-news-form{flex:1 1 auto;max-width:none}
  .tut-footer .tut-footer-legal{flex-direction:column;align-items:center;text-align:center}
}
@media (max-width:620px){
  .tut-footer .tut-footer-inner{grid-template-columns:1fr}
  .tut-news-form{flex-direction:column}
  .tut-news-form .tut-btn{width:100%}
  .tut-footer-social{justify-content:flex-start}
}

/* ============================================================
   Tour category filter tabs
   ============================================================ */
.tut-filter-tabs{
  display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0 0 2px;
  border-bottom:1px solid var(--tut-line);
}
.tut-filter-tab{
  display:inline-flex;align-items:center;gap:7px;
  padding:10px 14px;border:1px solid transparent;border-bottom:2px solid transparent;
  border-radius:10px 10px 0 0;background:none;color:var(--tut-muted);
  font-size:.92rem;font-weight:600;text-decoration:none;white-space:nowrap;
  transition:color .2s,border-color .2s,background-color .2s;
}
.tut-filter-tab:hover{color:var(--tut-ink);background:rgba(212,175,55,.08)}
.tut-filter-tab.is-active{
  color:var(--tut-ink);background:#fff;border-color:var(--tut-line);
  border-bottom-color:var(--tut-gold);margin-bottom:-1px;
}
.tut-filter-count{
  display:inline-block;min-width:22px;padding:1px 6px;border-radius:999px;
  background:rgba(0,0,0,.06);font-size:.76rem;font-weight:700;
  font-variant-numeric:lining-nums;text-align:center;
}
.tut-filter-tab.is-active .tut-filter-count{background:var(--tut-gold);color:#231f19}
.tut-filter-summary{margin:0 0 14px;font-size:.9rem;color:var(--tut-muted)}
.tut-card-tags{margin:0 0 8px}
.tut-card-tags .tut-tag{font-size:.74rem;letter-spacing:.2px}

@media (max-width:620px){
  .tut-filter-tabs{gap:4px}
  .tut-filter-tab{padding:8px 10px;font-size:.85rem}
  .tut-filter-tab.is-active{margin-bottom:-1px}
}

/* Booking availability badge */
.tut-avail{
  display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:9px 12px;
  border-radius:8px;font-size:.88rem;font-weight:600;line-height:1.45;
}
.tut-avail-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
.tut-avail.is-available{background:rgba(46,125,50,.09);color:#27632a}
.tut-avail.is-available .tut-avail-dot{background:#2e7d32}
.tut-avail.is-unavailable{background:rgba(183,28,28,.09);color:#8c1d1d}
.tut-avail.is-unavailable .tut-avail-dot{background:#b71c1c}
[dir="rtl"] .tut-avail{flex-direction:row-reverse;text-align:right}

/* ==========================================================================
   Ported from plugins/tut-hotel/assets/css/frontend.css
   --------------------------------------------------------------------------
   Those 11 selectors were the only ones the plugin stylesheet owned and the
   theme did not. They are ported here so the plugin stylesheet can be
   dequeued entirely instead of silently overriding 56 shared .tut-* classes
   at equal specificity. Values now use the theme design tokens.
   ========================================================================== */

/* Tour "request" panel (used on tour detail pages) */
.tut-tour-request{
  margin-top:var(--tut-space-sm);padding:24px;
  background:#faf7f2;border:1px solid var(--tut-line);
  border-inline-start:3px solid var(--tut-gold);
  border-radius:var(--tut-radius);
}
.tut-tour-request h2{margin-top:0}
.tut-tour-request-intro{color:var(--tut-muted);font-size:.95rem}

/* Request / inquiry form */
.tut-request-form{display:grid;gap:14px;margin-top:18px;max-width:560px}
.tut-form-row{display:grid;gap:6px}
.tut-form-row label{font-size:.9rem;font-weight:600;color:var(--tut-ink)}
.tut-form-row input,
.tut-form-row textarea{
  width:100%;padding:12px 14px;border:1px solid var(--tut-line);
  border-radius:var(--tut-radius);background:#fff;font:inherit;color:inherit;
}
.tut-form-row input:focus,
.tut-form-row textarea:focus{
  outline:2px solid var(--tut-gold);outline-offset:1px;border-color:var(--tut-gold);
}
.tut-form-row input:disabled,
.tut-form-row textarea:disabled{background:var(--tut-stone);color:var(--tut-muted)}
.tut-request-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.tut-request-status{margin:0;min-height:1.2em;font-size:.95rem}
.tut-request-status.is-error{color:#c0392b}

/* Price shown as "on request" instead of a number */
.tut-price-request{font-style:italic;color:#8b6d1f}

/* Inline promo / voucher validation messages */
.tut-promo-msg{margin:8px 0 0;font-size:.9rem;color:#8a6d1a}
.tut-promo-msg.tut-promo-ok{color:#217b3f}
.tut-promo-msg.tut-promo-bad{color:#c0392b}

/* ==========================================================================
   Home cards + carousels + language switcher (v2.3.0)
   ========================================================================== */

/* The serif display face ships oldstyle figures, so a room number like "101"
   renders as "IOI". Lining figures restore real digits in every numbered UI. */
:root{--tut-gold-deep:#9a7410}

.tut-card-title,
.tut-card-title a,
.tut-price,
.tut-card-meta,
.tut-book-card-amount,
.tut-filter-count,
.tut-voucher-total{
	font-variant-numeric:lining-nums;
	font-feature-settings:"tnum" 1;
}

/* Shared room/tour card shell: equal heights, whole-card click. */
.tut-card{position:relative;height:100%}
.tut-card-body{position:relative}
.tut-card-text{
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
	overflow:hidden;
}
.tut-card-cover-link::after{content:"";position:absolute;inset:0;z-index:1}
.tut-card-actions{position:relative;z-index:2}

/* Duration chip + inline icon */
.tut-card-duration{display:inline-flex;align-items:center;gap:6px;color:var(--tut-muted)}
.tut-ico{flex:none;color:var(--tut-gold)}

/* "Price on request" reads calm, not like a giant italic price. */
.tut-card .tut-card-price-request,
.tut-card-price-request{
	margin:0 0 16px;font-family:var(--tut-sans);font-style:normal;
	font-size:1rem;font-weight:500;color:var(--tut-muted);letter-spacing:.2px;
}

/* Language switcher: never break CJK/Russian names onto their own line. */
.tut-lang-dd a{white-space:nowrap}
.tut-lang-dd-name{white-space:nowrap}

/* --- Home carousels: native scroll-snap on phones, grid above --- */
.tut-carousel{position:relative}
.tut-carousel-dots{display:none}

@media (max-width:900px){
	/* Drawer language list: flat rows with hairline dividers, no bubbles. */
	.tut-lang{border-top:1px solid var(--tut-line-soft)}
	.tut-lang-btn{
		border:0;border-radius:0;box-shadow:none;background:transparent;
		min-height:52px;padding:14px var(--tut-gutter);
	}
	.tut-lang.is-open .tut-lang-btn{box-shadow:none;background:#faf7f2}
	.tut-lang-dd{padding:0 0 6px}
	.tut-lang-dd a{
		border:0;border-radius:0;border-bottom:1px solid var(--tut-line-soft);
		margin:0;min-height:46px;padding:12px var(--tut-gutter);
		justify-content:flex-start;
	}
	.tut-lang-dd a:last-child{border-bottom:0}
	.tut-lang-dd a.active{background:#faf7f2}
	.tut-lang-dd a.active .tut-lang-dd-name{color:var(--tut-gold);font-weight:600}
	.tut-lang-dd-code{min-width:34px;text-align:center}
}

@media (max-width:767px){
	.tut-carousel .tut-grid{
		display:flex;flex-wrap:nowrap;align-items:stretch;gap:14px;
		overflow-x:auto;overflow-y:hidden;
		scroll-snap-type:x mandatory;
		-webkit-overflow-scrolling:touch;
		scroll-padding-inline:var(--tut-gutter);
		padding-bottom:6px;scrollbar-width:none;
	}
	.tut-carousel .tut-grid::-webkit-scrollbar{display:none}
	.tut-carousel .tut-card{flex:0 0 82%;max-width:82%;scroll-snap-align:start}
	.tut-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
	.tut-carousel-dot{
		width:8px;height:8px;border-radius:50%;border:0;padding:0;
		background:var(--tut-line);cursor:pointer;
		transition:background .2s,transform .2s;
	}
	.tut-carousel-dot.is-active{background:var(--tut-gold);transform:scale(1.18)}
}

/* ============================================================
   4. Mobile language picker â€” independent bottom sheet (v3.0.0)
   Replaces the old absolute in-drawer dropdown on phones.
   Desktop keeps the normal dropdown.
   ============================================================ */
.tut-lang-sheet{display:none}
body.tut-lang-open{overflow:hidden}

@media (min-width:901px){
	.tut-lang{display:flex;align-items:center}
	.tut-lang-sheet{display:none !important}
}

@media (max-width:900px){
	/* The drawer control is now one full-width row, not a flex row of pills. */
	.tut-lang{display:block;width:100%;padding:0;border-top:1px solid var(--tut-line-soft);flex:none}
	.tut-lang-btn{
		display:flex;width:100%;min-height:52px;gap:12px;
		padding:14px var(--tut-gutter);border:0;border-radius:0;box-shadow:none;background:transparent;
	}
	.tut-lang-btn .tut-lang-name{flex:1 1 auto;text-align:start}
	.tut-lang-btn .tut-lang-caret{margin-inline-start:auto}
	.tut-lang.is-open .tut-lang-btn{box-shadow:none;background:transparent}
	/* Retire the old in-drawer dropdown on phones; the sheet replaces it. */
	.tut-lang-dd{display:none !important}

	/* Book Now is a real full-width gold button, last in the drawer */
	.tut-nav > a.tut-nav-cta-item{display:block;width:auto;margin:14px var(--tut-gutter) 8px}

	/* Bottom sheet */
	.tut-lang-sheet{display:flex;position:fixed;inset:0;z-index:10000;align-items:flex-end;justify-content:center}
	.tut-lang-sheet[hidden]{display:none}
	.tut-lang-sheet-backdrop{position:absolute;inset:0;z-index:1;background:rgba(17,14,8,.55);opacity:0;transition:opacity .22s ease}
	.tut-lang-sheet.is-open .tut-lang-sheet-backdrop{opacity:1}
	.tut-lang-sheet-panel{
		position:relative;z-index:2;width:100%;max-width:100%;
		background:#fff;border-radius:16px 16px 0 0;
		max-height:80vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
		padding-bottom:calc(8px + env(safe-area-inset-bottom));
		box-shadow:0 -10px 40px rgba(0,0,0,.25);
		transform:translateY(100%);transition:transform .26s ease;
	}
	.tut-lang-sheet.is-open .tut-lang-sheet-panel{transform:translateY(0)}
	.tut-lang-sheet-head{
		display:flex;align-items:center;justify-content:space-between;gap:12px;
		padding:8px 16px;border-bottom:1px solid var(--tut-line-soft);
		position:sticky;top:0;background:#fff;border-radius:16px 16px 0 0;
	}
	.tut-lang-sheet-title{font-weight:600;font-size:1rem;color:var(--tut-ink)}
	.tut-lang-sheet-close{
		width:44px;height:44px;flex:none;display:grid;place-items:center;
		border:0;border-radius:50%;background:#f5f1e7;color:var(--tut-ink);cursor:pointer;
	}
	.tut-lang-sheet-list{list-style:none;margin:0;padding:6px 0 0}
	.tut-lang-sheet-item{
		display:flex;align-items:center;gap:14px;width:100%;box-sizing:border-box;
		min-height:52px;padding:10px 18px;
		color:var(--tut-text);text-decoration:none;font-size:1rem;
		white-space:nowrap;writing-mode:horizontal-tb;
	}
	.tut-lang-sheet-code{
		min-width:34px;text-align:center;flex:none;
		font-size:.72rem;font-weight:700;letter-spacing:.4px;color:var(--tut-muted);
		background:#f5f1e7;border-radius:5px;padding:3px 6px;
	}
	.tut-lang-sheet-name{flex:1 1 auto;white-space:nowrap;word-break:normal;overflow-wrap:normal;writing-mode:horizontal-tb;text-align:start}
	.tut-lang-sheet-check{color:transparent;flex:none;font-weight:700}
	.tut-lang-sheet-item.active{color:var(--tut-gold);font-weight:600;background:#faf7f2}
	.tut-lang-sheet-item.active .tut-lang-sheet-code{background:var(--tut-gold);color:#fff}
	.tut-lang-sheet-item.active .tut-lang-sheet-check{color:var(--tut-gold)}
}

/* RTL: keep rows horizontal; flex auto-mirrors code/check placement. */
html[dir="rtl"] .tut-lang-sheet-name{text-align:right}

/* Footer compact tidy pass */
.tut-footer{font-size:14px}
.tut-footer-main{
	max-width:1340px;
	padding-block:clamp(16px,2vw,22px);
	gap:clamp(16px,2.6vw,32px);
}
.tut-footer-cta-inner{max-width:1340px;padding-block:clamp(10px,1.4vw,14px)}
.tut-footer-links{max-width:1340px;padding-block:clamp(7px,1vw,9px)}
.tut-footer-legal{max-width:1340px;padding-block:9px}
.tut-footer .tut-footer-cta-text{font-size:clamp(1.12rem,2vw,1.52rem)}
.tut-footer-col-title{margin:0 0 9px}
.tut-footer-tagline{margin-top:9px}
.tut-footer-social{margin-top:12px}
.tut-footer-news-desc{margin-bottom:9px}
.tut-footer-linkgroup-label{font-size:.76rem}
.tut-footer-linknav a{font-size:.88rem}
.tut-fc a,.tut-fc address{font-size:.88rem}
.tut-footer .tut-copy,.tut-footer .tut-footer-credits,.tut-footer .tut-credit{font-size:.81rem}
.tut-footer-top{width:32px;height:32px}
.tut-footer-top svg{width:15px;height:15px}
.tut-footer-social a{width:32px;height:32px}
.tut-footer-social svg{width:15px;height:15px}
.tut-fc-icon{width:15px;height:15px;margin-top:2px}
.tut-fc-icon svg{width:15px;height:15px}
@media (max-width:1024px){
	.tut-footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
	.tut-footer-news{grid-column:1/-1}
}
@media (max-width:768px){
	.tut-footer-main{grid-template-columns:minmax(0,1fr)}
	.tut-footer-links{gap:8px}
	.tut-footer-linkgroup{gap:4px 10px}
	.tut-footer-linknav{gap:6px}
}
/* Footer link separators via CSS - no literal separators in markup */
.tut-footer-linknav{display:flex;flex-wrap:wrap;align-items:center;gap:0}
.tut-footer-linknav a{display:inline-flex;align-items:center;padding:2px 0}
.tut-footer-linknav a + a::before{
	content:"\00B7";
	display:inline-block;
	margin-inline:8px;
	color:var(--tut-gold-light);
	opacity:.9;
	font-weight:600;
}
[dir="rtl"] .tut-footer-linknav a + a::before{margin-inline:8px}
@media (max-width:768px){
	.tut-footer-linknav a + a::before{margin-inline:6px}
}