/*
Theme Name: TrustResortServices
Theme URI: https://trustresortservices.com/
Author: TrustResortServices
Description: Custom premium hospitality theme for TrustResortServices with hardened booking, payment, account and event experiences.
Version: 0.11.6
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: trustresortservices
*/

:root {
  --trs-green-950: #00382a;
  --trs-green-900: #004333;
  --trs-green-850: #064c3a;
  --trs-green-800: #07533f;
  --trs-gold-700: #aa7f2e;
  --trs-gold-600: #be9440;
  --trs-gold-500: #c79c45;
  --trs-gold-200: #ead8ae;
  --trs-gold-100: #f4ead2;
  --trs-ivory: #fbfaf7;
  --trs-warm-white: #fffefa;
  --trs-cream: #f6f1e8;
  --trs-ink: #161914;
  --trs-muted: #686a65;
  --trs-line: #e8e4da;
  --trs-success: #176a49;
  --trs-danger: #9b2c2c;
  --trs-shadow-sm: 0 8px 24px rgba(20, 30, 24, .08);
  --trs-shadow-md: 0 18px 50px rgba(20, 30, 24, .12);
  --trs-shadow-lg: 0 28px 70px rgba(9, 37, 29, .18);
  --trs-radius-sm: 8px;
  --trs-radius-md: 14px;
  --trs-radius-lg: 24px;
  --trs-container: 1380px;
  --trs-display-font: Georgia, 'Times New Roman', serif;
  --trs-body-font: Arial, Helvetica, sans-serif;
  --trs-transition: 180ms ease;
  --trs-header-shadow: 0 6px 28px rgba(14, 35, 28, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--trs-ivory);
  color: var(--trs-ink);
  font-family: var(--trs-body-font);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.trs-menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--trs-green-900); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { color: var(--trs-gold-600); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--trs-gold-500); outline-offset: 3px; }

.trs-container { width: min(calc(100% - 72px), var(--trs-container)); margin-inline: auto; }
.trs-screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.trs-skip-link { position: fixed; left: 16px; top: -100px; z-index: 99999; background: #fff; color: #000; padding: 10px 14px; border-radius: 8px; box-shadow: var(--trs-shadow-sm); }
.trs-skip-link:focus { top: 16px; }
.trs-icon { width: 1.25em; height: 1.25em; display: block; flex: 0 0 auto; }

/* Header */
.trs-site-header { position: relative; z-index: 100; background: var(--trs-warm-white); box-shadow: var(--trs-header-shadow); }
.trs-topbar { background: var(--trs-green-900); color: rgba(255,255,255,.92); }
.trs-topbar__inner { min-height: 38px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 28px; font-size: 12px; }
.trs-topbar__message { margin: 0; font-weight: 600; letter-spacing: .025em; }
.trs-topbar__contact { display: flex; align-items: center; gap: 24px; }
.trs-topbar__contact a, .trs-social-links a { color: #fff; text-decoration: none; }
.trs-topbar__contact a { display: inline-flex; align-items: center; gap: 8px; }
.trs-topbar__contact .trs-icon { width: 15px; height: 15px; }
.trs-social-links { display: flex; align-items: center; gap: 16px; }
.trs-social-links a { display: inline-grid; place-items: center; opacity: .9; transition: opacity var(--trs-transition), transform var(--trs-transition), color var(--trs-transition); }
.trs-social-links a:hover { opacity: 1; color: var(--trs-gold-200); transform: translateY(-1px); }
.trs-social-links .trs-icon { width: 15px; height: 15px; }
.trs-navbar { background: rgba(255,255,255,.985); }
.trs-navbar__inner { min-height: 96px; display: flex; align-items: center; gap: clamp(22px, 2.7vw, 54px); }
.trs-brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.trs-brand .custom-logo-link, .trs-default-logo { display: inline-flex; align-items: center; text-decoration: none; }
.trs-brand .custom-logo, .trs-default-logo img { width: auto; max-width: 122px; max-height: 86px; object-fit: contain; }
.trs-primary-nav { margin-left: auto; }
.trs-menu { display: flex; align-items: center; list-style: none; gap: clamp(18px, 2vw, 34px); margin: 0; padding: 0; }
.trs-menu li { position: relative; margin: 0; }
.trs-menu a { position: relative; display: inline-flex; align-items: center; min-height: 96px; color: #171a16; text-decoration: none; font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: .055em; text-transform: uppercase; white-space: nowrap; }
.trs-menu a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 20px; height: 2px; background: var(--trs-gold-500); transition: right var(--trs-transition); }
.trs-menu a:hover::after, .trs-menu .current-menu-item > a::after, .trs-menu .current_page_item > a::after { right: 0; }
.trs-menu a:hover, .trs-menu .current-menu-item > a, .trs-menu .current_page_item > a { color: var(--trs-green-900); }
.trs-menu .sub-menu { position: absolute; z-index: 50; top: calc(100% - 10px); left: -18px; width: 220px; display: grid; gap: 0; list-style: none; margin: 0; padding: 10px; background: #fff; border: 1px solid var(--trs-line); border-radius: 10px; box-shadow: var(--trs-shadow-md); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity var(--trs-transition), transform var(--trs-transition), visibility var(--trs-transition); }
.trs-menu li:hover > .sub-menu, .trs-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.trs-menu .sub-menu a { width: 100%; min-height: 42px; padding: 0 10px; border-radius: 6px; }
.trs-menu .sub-menu a::after { display: none; }
.trs-menu .sub-menu a:hover { background: var(--trs-ivory); }
.trs-book-now { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 48px; padding: 0 19px; border-radius: 4px; background: var(--trs-green-900); color: #fff; text-decoration: none; text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: .055em; box-shadow: 0 8px 18px rgba(0, 67, 51, .12); transition: background var(--trs-transition), transform var(--trs-transition), box-shadow var(--trs-transition); }
.trs-book-now:hover { background: var(--trs-green-800); color: #fff; transform: translateY(-1px); box-shadow: 0 12px 26px rgba(0, 67, 51, .18); }
.trs-book-now .trs-icon { width: 17px; height: 17px; }
.trs-nav-toggle { position: relative; z-index: 170; display: none; width: 44px; height: 44px; border: 1px solid var(--trs-line); border-radius: 6px; background: #fff; color: var(--trs-green-950); padding: 0; place-items: center; }
.trs-nav-toggle .trs-icon { width: 24px; height: 24px; }
.trs-nav-backdrop { display: none; position: fixed; inset: 0; z-index: 135; margin: 0; padding: 0; border: 0; background: rgba(2,17,12,.5); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 300ms ease, visibility 300ms ease; }

/* Shared UI */
.trs-main { min-height: 62vh; }
.trs-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 0 22px; border: 1px solid var(--trs-green-900); border-radius: 5px; background: var(--trs-green-900); color: #fff; text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; transition: background var(--trs-transition), color var(--trs-transition), border-color var(--trs-transition), transform var(--trs-transition), box-shadow var(--trs-transition); }
.trs-button:hover { background: var(--trs-green-800); border-color: var(--trs-green-800); color: #fff; transform: translateY(-1px); }
.trs-button .trs-icon { width: 17px; height: 17px; }
.trs-button--gold { background: var(--trs-gold-600); border-color: var(--trs-gold-600); color: #fff; }
.trs-button--gold:hover { background: var(--trs-gold-700); border-color: var(--trs-gold-700); }
.trs-button--green { background: var(--trs-green-900); border-color: var(--trs-green-900); }
.trs-button--outline-gold { background: transparent; border-color: var(--trs-gold-500); color: var(--trs-gold-700); }
.trs-button--outline-gold:hover { background: var(--trs-gold-500); border-color: var(--trs-gold-500); color: #fff; }
.trs-eyebrow { margin: 0 0 8px; color: var(--trs-gold-600); font-size: 12px; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.trs-eyebrow--light { color: #e3b757; }

/* Reference-matched home hero */
.trs-hero { position: relative; background: #10251f; }
.trs-hero__viewport { position: relative; min-height: clamp(470px, 50vw, 580px); overflow: hidden; }
.trs-hero__slide { position: absolute; inset: 0; display: grid; align-items: center; background-image: var(--trs-hero-image); background-size: cover; background-position: var(--trs-hero-position, center); opacity: 0; visibility: hidden; transform: scale(1.018); transition: opacity 900ms ease, visibility 900ms ease, transform 6000ms ease; }
.trs-hero__slide.is-active { opacity: 1; visibility: visible; transform: scale(1); z-index: 1; }
.trs-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,13,10,.78) 0%, rgba(4,13,10,.62) 34%, rgba(4,13,10,.18) 68%, rgba(4,13,10,.06) 100%); }
.trs-hero__content-wrap { position: relative; z-index: 2; }
.trs-hero__content { width: min(590px, 52vw); padding: 64px 0 98px; color: #fff; }
.trs-hero__content h1 { margin: 0; max-width: 560px; color: #fff; font-family: var(--trs-display-font); font-size: clamp(50px, 4.8vw, 76px); line-height: .98; font-weight: 700; letter-spacing: -.022em; text-shadow: 0 5px 24px rgba(0,0,0,.34); }
.trs-hero__description { max-width: 520px; margin: 20px 0 24px; color: rgba(255,255,255,.94); font-size: clamp(15px, 1.22vw, 18px); line-height: 1.55; text-shadow: 0 2px 12px rgba(0,0,0,.24); }
.trs-hero__controls { position: absolute; z-index: 5; top: 50%; right: clamp(28px, 4vw, 64px); display: grid; justify-items: center; gap: 15px; transform: translateY(-50%); }
.trs-hero__dots { display: grid; gap: 12px; }
.trs-hero__dot { width: 12px; height: 12px; padding: 0; border: 1px solid rgba(255,255,255,.96); border-radius: 50%; background: transparent; box-shadow: 0 1px 6px rgba(0,0,0,.18); }
.trs-hero__dot.is-active { background: #fff; }
.trs-hero__pause { display: grid; place-items: center; width: 27px; height: 27px; padding: 0; border: 0; border-radius: 50%; background: rgba(0,0,0,.28); color: #fff; opacity: 0; transform: translateY(4px); transition: opacity var(--trs-transition), transform var(--trs-transition), background var(--trs-transition); }
.trs-hero:hover .trs-hero__pause, .trs-hero__pause:focus-visible { opacity: 1; transform: translateY(0); }
.trs-hero__pause:hover { background: rgba(0,0,0,.48); }
.trs-hero__pause .trs-icon { width: 14px; height: 14px; }

/* Availability panel */
.trs-availability-wrap { position: relative; z-index: 8; margin-top: -54px; }
.trs-availability { display: grid; grid-template-columns: 1.12fr 1.12fr .88fr .88fr 1.26fr; min-height: 92px; background: #fff; border: 1px solid rgba(0,0,0,.035); border-radius: 10px; box-shadow: 0 15px 36px rgba(8,30,23,.12); overflow: hidden; }
.trs-availability__field { min-width: 0; display: flex; align-items: center; gap: 16px; padding: 15px 24px; border-right: 1px solid var(--trs-line); background: #fff; }
.trs-availability__icon { color: #454a45; }
.trs-availability__icon .trs-icon { width: 24px; height: 24px; }
.trs-availability__copy { min-width: 0; flex: 1; display: grid; gap: 4px; }
.trs-availability__label { color: #171a16; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.trs-availability input, .trs-availability select { width: 100%; min-width: 0; height: 28px; margin: 0; padding: 0 20px 0 0; border: 0; background-color: transparent; color: #696c66; outline: 0; font-size: 14px; line-height: 1.2; }
.trs-availability input[type="date"] { color-scheme: light; }
.trs-availability input:focus, .trs-availability select:focus { color: var(--trs-green-900); }
.trs-availability__action { display: flex; align-items: center; padding: 16px 22px; background: #fff; }
.trs-availability__submit { width: 100%; min-height: 54px; box-shadow: 0 10px 22px rgba(0,67,51,.12); }

/* Service strip */
.trs-service-strip { padding: 46px 0 38px; background: var(--trs-ivory); }
.trs-service-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); }
.trs-service { min-width: 0; display: grid; grid-template-columns: 38px 1fr; gap: 15px; padding: 8px 28px; color: var(--trs-ink); text-decoration: none; border-right: 1px solid var(--trs-line); }
.trs-service:first-child { padding-left: 12px; }
.trs-service:last-child { border-right: 0; padding-right: 12px; }
.trs-service__icon { color: var(--trs-gold-600); padding-top: 2px; transition: transform var(--trs-transition); }
.trs-service__icon .trs-icon { width: 30px; height: 30px; }
.trs-service strong { display: block; margin-bottom: 8px; color: #151816; font-size: 11px; line-height: 1.25; letter-spacing: .045em; text-transform: uppercase; }
.trs-service small { display: block; color: var(--trs-muted); font-size: 13px; line-height: 1.65; }
.trs-service:hover { color: var(--trs-ink); }
.trs-service:hover .trs-service__icon { transform: translateY(-2px); }

/* Rooms section */
.trs-rooms-home { padding: 24px 0 88px; background: var(--trs-ivory); }
.trs-section-heading { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 36px; margin: 0 0 28px; }
.trs-section-heading__main { width: min(720px, 100%); margin-inline: auto; text-align: center; grid-column: 1 / -1; }
.trs-section-heading h2 { margin: 0; color: var(--trs-green-950); font-family: var(--trs-display-font); font-size: clamp(42px, 4.3vw, 62px); line-height: 1.05; font-weight: 500; letter-spacing: -.025em; }
.trs-section-heading__main > p:last-child { max-width: 660px; margin: 14px auto 0; color: var(--trs-muted); font-size: 14px; line-height: 1.55; }
.trs-heading-flourish { position: relative; display: block; width: 74px; height: 12px; margin: 11px auto 0; }
.trs-heading-flourish::before, .trs-heading-flourish::after { content: ''; position: absolute; top: 5px; width: 30px; height: 1px; background: var(--trs-gold-500); }
.trs-heading-flourish::before { left: 0; }
.trs-heading-flourish::after { right: 0; }
.trs-heading-flourish { background: radial-gradient(circle at center, var(--trs-gold-500) 0 3px, transparent 3.5px); }
.trs-section-heading__action { position: absolute; right: 0; bottom: 25px; }
.trs-room-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 20px; }
.trs-room-card { overflow: hidden; border-radius: 8px; background: #ddd; box-shadow: 0 12px 34px rgba(20,30,24,.07); }
.trs-room-card__media { position: relative; display: block; aspect-ratio: 1.42; overflow: hidden; color: var(--trs-ink); text-decoration: none; }
.trs-room-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms ease, filter 300ms ease; }
.trs-room-card__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.08)); pointer-events: none; }
.trs-room-card__panel { position: absolute; z-index: 2; left: 0; bottom: 16px; min-width: 48%; max-width: 82%; display: grid; gap: 4px; padding: 11px 13px 10px; background: rgba(255,255,255,.97); border-radius: 0 4px 4px 0; box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.trs-room-card__panel strong { color: #171a16; font-size: 11px; line-height: 1.3; text-transform: uppercase; letter-spacing: .02em; }
.trs-room-card__panel small { color: #4f534e; font-size: 11px; }
.trs-room-card:hover img { transform: scale(1.035); filter: saturate(1.04); }

/* Reveal motion */
[data-trs-reveal] { opacity: 0; transform: translateY(16px); transition: opacity 560ms ease var(--trs-delay, 0ms), transform 560ms ease var(--trs-delay, 0ms); }
[data-trs-reveal].is-revealed { opacity: 1; transform: translateY(0); }

/* Premium base for inner pages */
.trs-content-wrap { width: min(calc(100% - 72px), 1080px); margin: 0 auto; padding: clamp(64px, 8vw, 112px) 0; }
.trs-entry { overflow: hidden; background: var(--trs-warm-white); border: 1px solid var(--trs-line); border-radius: var(--trs-radius-lg); box-shadow: var(--trs-shadow-sm); padding: clamp(30px, 5vw, 68px); }
.trs-entry-header { margin-bottom: 30px; }
.trs-entry-title { margin: 0; color: var(--trs-green-950); font-family: var(--trs-display-font); font-size: clamp(42px, 6vw, 68px); line-height: 1.05; font-weight: 500; letter-spacing: -.025em; }
.trs-entry-meta { margin-top: 12px; color: var(--trs-muted); font-size: 14px; }
.trs-entry-content > *:first-child { margin-top: 0; }
.trs-entry-content h2, .trs-entry-content h3 { color: var(--trs-green-950); font-family: var(--trs-display-font); font-weight: 500; line-height: 1.2; }
.trs-entry-content h2 { font-size: clamp(30px, 4vw, 44px); }
.trs-entry-content h3 { font-size: clamp(24px, 3vw, 34px); }
.trs-entry-content blockquote { border-left: 4px solid var(--trs-gold-500); margin-left: 0; padding: 12px 0 12px 24px; color: var(--trs-muted); }
.trs-entry-media { margin: -18px -18px 36px; border-radius: 16px; overflow: hidden; }
.trs-archive-header { margin-bottom: 36px; }
.trs-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.trs-card { background: var(--trs-warm-white); border: 1px solid var(--trs-line); border-radius: var(--trs-radius-md); overflow: hidden; box-shadow: var(--trs-shadow-sm); transition: transform var(--trs-transition), box-shadow var(--trs-transition); }
.trs-card:hover { transform: translateY(-4px); box-shadow: var(--trs-shadow-md); }
.trs-card > a { display: block; aspect-ratio: 1.45; overflow: hidden; }
.trs-card > a img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.trs-card:hover > a img { transform: scale(1.035); }
.trs-card__body { padding: 24px; }
.trs-card__title { margin: 0; font-family: var(--trs-display-font); font-size: 30px; line-height: 1.15; }
.trs-card__title a { color: var(--trs-green-950); text-decoration: none; }
.trs-empty { text-align: center; padding: 72px 30px; background: var(--trs-warm-white); border: 1px solid var(--trs-line); border-radius: var(--trs-radius-lg); box-shadow: var(--trs-shadow-sm); }

/* Footer */
.trs-site-footer { position: relative; overflow: hidden; background: var(--trs-green-950); color: rgba(255,255,255,.82); }
.trs-site-footer::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 15% 10%, rgba(199,156,69,.13), transparent 28%), linear-gradient(135deg, rgba(255,255,255,.025), transparent 50%); pointer-events: none; }
.trs-footer-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.2fr .72fr 1.1fr 1.08fr; gap: clamp(32px, 5vw, 72px); padding: 68px 0 56px; }
.trs-footer-logo .custom-logo, .trs-footer-logo .trs-default-logo img, .trs-footer-alt-logo img { max-height: 108px; max-width: 108px; width: auto; }
.trs-footer-alt-logo { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.trs-footer-alt-logo img { display: block; border-radius: 50%; background: rgba(255,255,255,.96); padding: 4px; box-shadow: 0 10px 26px rgba(0,0,0,.14); }
.trs-footer-brand > p { max-width: 330px; margin: 18px 0 20px; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.7; }
.trs-footer-social { gap: 14px; }
.trs-footer-social a { width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.trs-footer-kicker { margin: 4px 0 17px; color: var(--trs-gold-200); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.trs-footer-menu { display: grid; gap: 10px; list-style: none; padding: 0; margin: 0; }
.trs-footer-menu a, .trs-footer-contact a { color: rgba(255,255,255,.78); text-decoration: none; font-size: 14px; transition: color var(--trs-transition); }
.trs-footer-menu a:hover, .trs-footer-contact a:hover { color: var(--trs-gold-200); }
.trs-footer-contact { display: flex; flex-direction: column; align-items: flex-start; }
.trs-footer-contact p:not(.trs-footer-kicker) { margin: 0 0 12px; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.65; }
.trs-footer-contact a + a { margin-top: 6px; }
.trs-footer-cta h2 { margin: 0 0 20px; color: #fff; font-family: var(--trs-display-font); font-size: 34px; line-height: 1.1; font-weight: 500; }
.trs-footer-bottom { position: relative; z-index: 1; border-top: 1px solid rgba(255,255,255,.1); }
.trs-footer-bottom .trs-container { min-height: 58px; display: flex; align-items: center; }
.trs-footer-bottom p { margin: 0; color: rgba(255,255,255,.55); font-size: 12px; }

/* WhatsApp */
.trs-whatsapp { position: fixed; z-index: 90; right: 20px; bottom: 20px; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 18px; border-radius: 999px; background: #087a55; color: #fff; text-decoration: none; font-size: 14px; font-weight: 600; box-shadow: 0 14px 32px rgba(0,0,0,.2); transition: transform var(--trs-transition), box-shadow var(--trs-transition), background var(--trs-transition); }
.trs-whatsapp:hover { color: #fff; background: #066a49; transform: translateY(-2px); box-shadow: 0 18px 38px rgba(0,0,0,.24); }
.trs-whatsapp__icon { display: inline-grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; }
.trs-whatsapp__icon .trs-icon { width: 26px; height: 26px; }

/* Tablet */
@media (max-width: 1180px) {
  .trs-container { width: min(calc(100% - 48px), var(--trs-container)); }
  .trs-navbar__inner { gap: 22px; }
  .trs-menu { gap: 20px; }
  .trs-menu a { font-size: 11px; }
  .trs-book-now { padding-inline: 16px; }
  .trs-service { padding-inline: 18px; }
}

@media (max-width: 1080px) {
  .trs-topbar__inner { grid-template-columns: 1fr auto; }
  .trs-topbar__social { display: none; }
  .trs-nav-toggle { display: grid; margin-left: auto; }
  .trs-primary-nav { position: fixed; z-index: 150; top: 0; right: 0; bottom: 0; width: min(390px, 88vw); margin: 0; padding: 108px 28px 34px; background: #fff; box-shadow: -20px 0 50px rgba(0,0,0,.13); transform: translateX(105%); visibility: hidden; pointer-events: none; transition: transform 300ms ease, visibility 300ms ease; overflow-y: auto; }
  .trs-primary-nav.is-open, body.trs-menu-open .trs-primary-nav { transform: translateX(0); visibility: visible; pointer-events: auto; }
  .trs-nav-backdrop { display: block; }
  body.trs-menu-open .trs-nav-backdrop { opacity: 1; visibility: visible; pointer-events: auto; }
  .trs-menu { display: grid; gap: 0; align-items: stretch; }
  .trs-menu a { min-height: 52px; width: 100%; border-bottom: 1px solid var(--trs-line); font-size: 12px; }
  .trs-menu a::after { display: none; }
  .trs-menu .sub-menu { position: static; width: auto; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; border-radius: 0; padding: 0 0 0 16px; }
  .trs-menu .sub-menu a { min-height: 46px; }
  .trs-book-now { margin-left: 0; }
  .trs-availability { grid-template-columns: repeat(2, 1fr); }
  .trs-availability__field { border-bottom: 1px solid var(--trs-line); }
  .trs-availability__field:nth-child(2) { border-right: 0; }
  .trs-availability__action { grid-column: 1 / -1; padding: 14px; }
  .trs-service-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .trs-service { border-right: 0; border-bottom: 1px solid var(--trs-line); padding: 18px 12px; }
  .trs-service:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .trs-room-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .trs-section-heading__action { position: static; grid-column: 1 / -1; justify-self: center; margin-top: -6px; }
  .trs-footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 1400px) and (min-width: 1081px) {
  .trs-room-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .trs-container, .trs-content-wrap { width: min(calc(100% - 30px), var(--trs-container)); }
  .trs-topbar__inner { min-height: 36px; display: flex; justify-content: center; }
  .trs-topbar__message { display: block; margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .01em; text-transform: none; text-align: center; }
  .trs-topbar__contact { display: none; }
  .trs-navbar__inner { min-height: 84px; gap: 14px; }
  .trs-brand .custom-logo, .trs-default-logo img { max-height: 70px; max-width: 74px; }
  .trs-book-now { min-height: 42px; padding: 0 13px; font-size: 10px; gap: 7px; }
  .trs-book-now .trs-icon { display: none; }
  .trs-hero__viewport { min-height: 545px; }
  .trs-hero__slide { background-position: center; }
  .trs-hero__shade { background: linear-gradient(90deg, rgba(4,13,10,.82) 0%, rgba(4,13,10,.62) 72%, rgba(4,13,10,.22) 100%); }
  .trs-hero__content { width: min(92%, 570px); padding: 74px 0 124px; }
  .trs-hero__content h1 { font-size: clamp(44px, 12vw, 62px); }
  .trs-hero__description { font-size: 15px; }
  .trs-hero__controls { top: auto; bottom: 88px; right: 18px; transform: none; }
  .trs-hero__dots { grid-auto-flow: column; gap: 10px; }
  .trs-hero__pause { display: none; }
  .trs-availability-wrap { margin-top: -62px; }
  .trs-availability { grid-template-columns: 1fr; border-radius: 10px; }
  .trs-availability__field { min-height: 76px; border-right: 0; padding: 12px 18px; }
  .trs-availability__action { grid-column: auto; }
  .trs-service-strip { padding-top: 30px; }
  .trs-service-grid { grid-template-columns: 1fr; }
  .trs-service, .trs-service:last-child { grid-column: auto; }
  .trs-rooms-home { padding-top: 12px; padding-bottom: 68px; }
  .trs-section-heading { margin-bottom: 22px; }
  .trs-room-grid { grid-template-columns: 1fr; gap: 16px; }
  .trs-room-card__media { aspect-ratio: 1.5; }
  .trs-footer-grid { grid-template-columns: 1fr; gap: 34px; padding-block: 54px 42px; }
  .trs-footer-cta h2 { font-size: 32px; }
  .trs-whatsapp { width: 48px; height: 48px; min-height: 48px; padding: 0; justify-content: center; right: 14px; bottom: 14px; }
  .trs-whatsapp span { display: none; }
  .trs-grid { grid-template-columns: 1fr; }
  .trs-entry { border-radius: var(--trs-radius-md); padding: 28px 22px; }
}

@media (max-width: 440px) {
  .trs-book-now { display: none; }
  .trs-nav-toggle { margin-left: auto; }
  .trs-hero__content { width: 100%; padding-top: 64px; }
  .trs-hero__content h1 { font-size: 44px; }
  .trs-button { min-height: 46px; padding-inline: 18px; font-size: 11px; }
  .trs-service { grid-template-columns: 34px 1fr; }
  .trs-section-heading h2 { font-size: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-trs-reveal] { opacity: 1 !important; transform: none !important; }
  .trs-hero__slide { transform: none !important; }
}

/* =========================================================
   Phase 3 — Content, Rooms, Authentication & Location
   ========================================================= */
.trs-section{padding:clamp(72px,7vw,112px) 0;position:relative}.trs-section--warm{background:var(--trs-cream)}.trs-section--green{background:linear-gradient(145deg,var(--trs-green-950),#07533f);color:#fff;overflow:hidden}.trs-section--dark{background:#0d1f19;color:#fff}.trs-section--green::before,.trs-section--dark::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(199,156,69,.12),transparent 28%),radial-gradient(circle at 90% 82%,rgba(255,255,255,.05),transparent 22%);pointer-events:none}.trs-section--green>.trs-container,.trs-section--dark>.trs-container{position:relative;z-index:1}.trs-section-heading--light h2,.trs-section-heading--light p,.trs-centered-heading--light h2,.trs-centered-heading--light p{color:#fff}.trs-section-heading--light .trs-section-heading__main>p:not(.trs-eyebrow){color:rgba(255,255,255,.72)}.trs-button--outline-light{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}.trs-button--outline-light:hover{background:#fff;border-color:#fff;color:var(--trs-green-950)}.trs-text-link{display:inline-flex;align-items:center;gap:8px;color:var(--trs-green-900);font-size:13px;font-weight:700;text-decoration:none}.trs-text-link .trs-icon{width:17px;height:17px}.trs-inline-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px}.trs-centered-heading{max-width:760px;margin:0 auto 42px;text-align:center}.trs-centered-heading h2{margin:0;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:clamp(38px,4.5vw,58px);line-height:1.03;font-weight:500}.trs-centered-heading p:last-child{color:var(--trs-muted)}

/* Header account action */
.trs-header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.trs-account-link{display:inline-flex;align-items:center;gap:7px;color:var(--trs-green-950);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.trs-account-link:hover{color:var(--trs-gold-700)}.trs-account-link .trs-icon{width:17px;height:17px}.trs-mobile-account-actions{display:none}

/* Home expansion */
.trs-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(48px,7vw,108px);align-items:center}.trs-split--reverse{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.trs-split__content h2{margin:0;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:clamp(40px,4.4vw,60px);font-weight:500;line-height:1.04;letter-spacing:-.02em}.trs-split__content>p:not(.trs-eyebrow),.trs-rich-copy{color:var(--trs-muted);font-size:16px;line-height:1.85}.trs-split__media{position:relative}.trs-split__media>img{width:100%;display:block;border-radius:var(--trs-radius-lg);object-fit:cover;box-shadow:var(--trs-shadow-lg)}.trs-media-stack{padding:0 82px 76px 0}.trs-media-stack>img:first-child{aspect-ratio:1.16}.trs-media-stack__accent{position:absolute;right:0;bottom:0;width:48%!important;aspect-ratio:.95;border:8px solid var(--trs-ivory);box-shadow:var(--trs-shadow-md)!important}.trs-feature-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.trs-image-feature{position:relative;min-height:440px;border-radius:18px;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.22);text-decoration:none;color:#fff}.trs-image-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.74) 100%)}.trs-image-feature img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 600ms ease}.trs-image-feature:hover img{transform:scale(1.045)}.trs-image-feature>span{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;display:grid;gap:5px}.trs-image-feature strong{font-family:var(--trs-display-font);font-size:30px;font-weight:500}.trs-image-feature small{color:rgba(255,255,255,.8);font-size:13px;line-height:1.5}.trs-dining-collage{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.trs-dining-collage img:first-child{height:560px}.trs-dining-collage img:last-child{height:430px;margin-top:86px}.trs-event-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.trs-event-pair figure{position:relative;margin:0;border-radius:20px;overflow:hidden;box-shadow:var(--trs-shadow-md)}.trs-event-pair img{width:100%;height:420px;object-fit:cover;display:block;transition:transform 600ms ease}.trs-event-pair figure:hover img{transform:scale(1.035)}.trs-event-pair figcaption{position:absolute;left:20px;bottom:20px;padding:11px 15px;background:rgba(255,255,255,.94);border-radius:6px;color:var(--trs-green-950);font-weight:700;font-size:13px;box-shadow:var(--trs-shadow-sm)}.trs-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.trs-value-card{padding:30px 26px;background:#fff;border:1px solid var(--trs-line);border-radius:16px;box-shadow:var(--trs-shadow-sm)}.trs-value-card>span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--trs-gold-100);color:var(--trs-gold-700);margin-bottom:20px}.trs-value-card>span .trs-icon{width:23px;height:23px}.trs-value-card h3{margin:0 0 8px;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:26px;font-weight:500}.trs-value-card p{margin:0;color:var(--trs-muted);font-size:14px}.trs-value-grid--light .trs-value-card{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.13);box-shadow:none}.trs-value-grid--light .trs-value-card h3,.trs-value-grid--light .trs-value-card p{color:#fff}.trs-home-gallery{display:grid;grid-template-columns:1.25fr .75fr 1fr;grid-template-rows:250px 250px;gap:12px}.trs-home-gallery__item{border-radius:12px;overflow:hidden}.trs-home-gallery__item:first-child{grid-row:1/3}.trs-home-gallery__item:nth-child(4){grid-column:3;grid-row:1/3}.trs-home-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 500ms ease}.trs-home-gallery__item:hover img{transform:scale(1.04)}.trs-offer-grid,.trs-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.trs-offer-card{background:#fff;border:1px solid var(--trs-line);border-radius:18px;overflow:hidden;box-shadow:var(--trs-shadow-sm)}.trs-offer-card>img{width:100%;height:240px;object-fit:cover}.trs-offer-card>div{padding:25px}.trs-offer-card h3{margin:0 0 9px;font-family:var(--trs-display-font);font-size:30px;font-weight:500;color:var(--trs-green-950)}.trs-testimonial-card{margin:0;padding:28px;background:#fff;border:1px solid var(--trs-line);border-radius:16px;box-shadow:var(--trs-shadow-sm)}.trs-testimonial-card>div{font-family:var(--trs-display-font);font-size:22px;line-height:1.55;color:var(--trs-green-950)}.trs-testimonial-card footer{display:grid;margin-top:20px;padding-top:16px;border-top:1px solid var(--trs-line)}.trs-testimonial-card footer span{color:var(--trs-muted);font-size:12px}.trs-final-cta{position:relative;min-height:440px;display:grid;align-items:center;background-image:var(--trs-final-image);background-size:cover;background-position:center}.trs-final-cta__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,45,34,.88),rgba(0,45,34,.45),rgba(0,0,0,.12))}.trs-final-cta__content{position:relative;z-index:1;color:#fff;padding-block:80px}.trs-final-cta__content h2{max-width:720px;margin:0;font-family:var(--trs-display-font);font-size:clamp(46px,5.2vw,72px);font-weight:500;line-height:1}.trs-final-cta__content p:not(.trs-eyebrow){max-width:560px;color:rgba(255,255,255,.84);font-size:17px;margin:18px 0 28px}

/* Inner page hero */
.trs-inner-hero{position:relative;min-height:320px;display:grid;align-items:end;background:linear-gradient(135deg,var(--trs-green-950),var(--trs-green-800));overflow:hidden}.trs-inner-hero.has-image{background-image:var(--trs-inner-image);background-size:cover;background-position:center}.trs-inner-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,40,31,.82),rgba(0,40,31,.42),rgba(0,0,0,.08))}.trs-inner-hero__content{position:relative;z-index:1;color:#fff;padding:86px 0 64px}.trs-inner-hero__content h1{max-width:860px;margin:0;color:#fff;font-family:var(--trs-display-font);font-size:clamp(46px,6vw,76px);line-height:1;font-weight:500}.trs-inner-hero__content>p:not(.trs-eyebrow){max-width:660px;margin:16px 0 0;color:rgba(255,255,255,.84);font-size:17px}.trs-premium-content{max-width:900px;margin:auto;background:#fff;border:1px solid var(--trs-line);border-radius:20px;padding:clamp(28px,4vw,54px);box-shadow:var(--trs-shadow-sm)}.trs-premium-content h2,.trs-premium-content h3{color:var(--trs-green-950);font-family:var(--trs-display-font);font-weight:500}.trs-premium-content h2{font-size:clamp(34px,4vw,48px)}.trs-premium-content p,.trs-premium-content li{color:#4f554f}

/* Premium archives / rooms */
.trs-premium-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.trs-premium-card{background:#fff;border:1px solid var(--trs-line);border-radius:18px;overflow:hidden;box-shadow:var(--trs-shadow-sm);transition:transform var(--trs-transition),box-shadow var(--trs-transition)}.trs-premium-card:hover{transform:translateY(-5px);box-shadow:var(--trs-shadow-md)}.trs-premium-card__media{display:block;height:280px;overflow:hidden}.trs-premium-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 550ms ease}.trs-premium-card:hover .trs-premium-card__media img{transform:scale(1.035)}.trs-premium-card__body{padding:25px}.trs-premium-card__body h2{margin:0 0 10px;font-family:var(--trs-display-font);font-size:32px;font-weight:500}.trs-premium-card__body h2 a{text-decoration:none;color:var(--trs-green-950)}.trs-room-archive-grid{display:grid;gap:26px}.trs-room-list-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);background:#fff;border:1px solid var(--trs-line);border-radius:20px;overflow:hidden;box-shadow:var(--trs-shadow-sm)}.trs-room-list-card__media{min-height:360px;overflow:hidden}.trs-room-list-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 600ms ease}.trs-room-list-card:hover .trs-room-list-card__media img{transform:scale(1.035)}.trs-room-list-card__body{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;align-items:flex-start}.trs-room-list-card__body h2{margin:0 0 10px;font-family:var(--trs-display-font);font-size:clamp(34px,4vw,48px);font-weight:500}.trs-room-list-card__body h2 a{text-decoration:none;color:var(--trs-green-950)}.trs-room-list-card__body>p:not(.trs-eyebrow){color:var(--trs-muted)}.trs-room-meta{display:flex;flex-wrap:wrap;gap:12px 22px;margin:18px 0;color:#545b55;font-size:13px}.trs-room-meta span{display:inline-flex;align-items:center;gap:7px}.trs-room-meta .trs-icon{width:17px;height:17px;color:var(--trs-gold-700)}.trs-room-list-card__footer{width:100%;margin-top:auto;padding-top:22px;border-top:1px solid var(--trs-line);display:flex;align-items:center;justify-content:space-between;gap:18px}.trs-room-list-card__footer>strong{color:var(--trs-green-950);font-size:16px}.trs-room-detail-hero{background:var(--trs-cream);padding:52px 0 28px}.trs-room-detail-hero>.trs-container{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:60px;align-items:end}.trs-room-detail-hero__copy h1{margin:0;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:clamp(52px,6.5vw,84px);line-height:.98;font-weight:500}.trs-room-detail-hero__copy>p:not(.trs-eyebrow){max-width:720px;color:var(--trs-muted);font-size:17px}.trs-room-price-card{padding:24px;background:#fff;border:1px solid var(--trs-line);border-radius:16px;box-shadow:var(--trs-shadow-sm);display:grid;gap:2px}.trs-room-price-card small,.trs-room-price-card span{color:var(--trs-muted);font-size:12px}.trs-room-price-card strong{font-family:var(--trs-display-font);font-size:36px;color:var(--trs-green-950)}.trs-room-price-card .trs-button{margin-top:16px}.trs-room-gallery-section{padding:0 0 20px;background:var(--trs-cream)}.trs-room-detail-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);gap:40px;align-items:start}.trs-room-detail-grid .trs-premium-content{max-width:none;margin:0}.trs-room-amenities{padding:32px;background:var(--trs-green-950);color:#fff;border-radius:18px;box-shadow:var(--trs-shadow-md)}.trs-room-amenities h2{margin:0 0 20px;color:#fff;font-family:var(--trs-display-font);font-size:36px;font-weight:500}.trs-room-amenities ul{display:grid;gap:12px;list-style:none;padding:0;margin:0}.trs-room-amenities li{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.86);font-size:14px}.trs-room-amenities li .trs-icon{width:18px;color:var(--trs-gold-200)}.trs-room-policy{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15)}.trs-room-policy p{color:rgba(255,255,255,.7)}.trs-room-next{padding:54px 0;background:var(--trs-green-900);color:#fff}.trs-room-next>.trs-container{display:flex;align-items:center;justify-content:space-between;gap:28px}.trs-room-next h2{margin:0;font-family:var(--trs-display-font);font-size:42px;font-weight:500}

/* Gallery & lightbox */
.trs-gallery-album{margin-bottom:64px}.trs-gallery-album__heading{max-width:760px;margin-bottom:24px}.trs-gallery-album__heading h2{margin:0;font-family:var(--trs-display-font);font-size:46px;font-weight:500;color:var(--trs-green-950)}.trs-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.trs-gallery-tile{position:relative;aspect-ratio:1.28;padding:0;border:0;border-radius:12px;overflow:hidden;background:#eee}.trs-gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 500ms ease}.trs-gallery-tile:hover img{transform:scale(1.04)}.trs-gallery-video{margin-top:18px}.trs-lightbox{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:34px;background:rgba(0,20,15,.92);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 180ms ease,visibility 180ms ease}.trs-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}.trs-lightbox img{max-width:min(1200px,92vw);max-height:86vh;border-radius:12px;box-shadow:0 30px 90px rgba(0,0,0,.45)}.trs-lightbox__close{position:absolute;right:24px;top:22px;width:44px;height:44px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:28px}.trs-lightbox-open{overflow:hidden}.trs-single-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);gap:36px;align-items:start}.trs-single-layout .trs-premium-content{max-width:none;margin:0}.trs-single-gallery{padding:24px;background:#fff;border:1px solid var(--trs-line);border-radius:16px;box-shadow:var(--trs-shadow-sm)}.trs-single-gallery .trs-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Location & maps */
.trs-location-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);min-height:520px;background:#fff;border:1px solid var(--trs-line);border-radius:22px;overflow:hidden;box-shadow:var(--trs-shadow-md)}.trs-location-shell.without-map{grid-template-columns:1fr}.trs-location-map{min-height:520px;background:linear-gradient(135deg,#e8eee9,#d8e1db)}.trs-location-card{padding:clamp(30px,4vw,48px);display:flex;flex-direction:column;justify-content:center}.trs-location-card h2{margin:0;font-family:var(--trs-display-font);font-size:clamp(40px,4vw,56px);line-height:1.02;font-weight:500;color:var(--trs-green-950)}.trs-location-address{display:flex;gap:11px;margin:22px 0;color:var(--trs-muted)}.trs-location-address .trs-icon{margin-top:2px;color:var(--trs-gold-700)}.trs-location-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.trs-location-actions .trs-button{margin-bottom:6px}.trs-map-marker{width:34px;height:42px;background:var(--trs-green-900);border:4px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 8px 24px rgba(0,0,0,.3)}.trs-map-marker::after{content:'';position:absolute;width:10px;height:10px;border-radius:50%;background:var(--trs-gold-500);left:8px;top:8px}.maplibregl-popup-content{border-radius:8px!important;font-family:var(--trs-body-font)!important;font-weight:700!important;color:var(--trs-green-950)!important;box-shadow:var(--trs-shadow-sm)!important}

/* Forms & contact */
.trs-contact-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.05fr);gap:clamp(38px,6vw,90px);align-items:start}.trs-contact-intro h2,.trs-form-card h2,.trs-dashboard-form-card h2{margin:0;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:clamp(40px,4vw,54px);font-weight:500;line-height:1.04}.trs-contact-intro>p:not(.trs-eyebrow){color:var(--trs-muted)}.trs-contact-direct{display:grid;gap:12px;margin-top:26px}.trs-contact-direct>a{display:flex;align-items:center;gap:13px;padding:14px 16px;background:#fff;border:1px solid var(--trs-line);border-radius:10px;text-decoration:none;color:var(--trs-green-950)}.trs-contact-direct>a>.trs-icon{color:var(--trs-gold-700)}.trs-contact-direct span{display:grid}.trs-contact-direct small{color:var(--trs-muted)}.trs-form-card,.trs-dashboard-form-card{background:#fff;border:1px solid var(--trs-line);border-radius:20px;padding:clamp(26px,4vw,42px);box-shadow:var(--trs-shadow-sm)}.trs-form{display:grid;gap:18px}.trs-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.trs-form label:not(.trs-check){display:grid;gap:7px;color:var(--trs-green-950);font-size:13px;font-weight:700}.trs-form input:not([type=checkbox]),.trs-form textarea,.trs-form select{width:100%;min-height:50px;border:1px solid #d9ddd8;border-radius:8px;background:#fff;padding:10px 13px;color:var(--trs-ink);transition:border-color var(--trs-transition),box-shadow var(--trs-transition)}.trs-form textarea{min-height:130px;resize:vertical}.trs-form input:focus,.trs-form textarea:focus,.trs-form select:focus{border-color:var(--trs-gold-500);box-shadow:0 0 0 3px rgba(199,156,69,.14);outline:0}.trs-form label small{color:var(--trs-muted);font-weight:400}.trs-check{display:flex!important;align-items:flex-start;gap:10px;color:var(--trs-muted)!important;font-size:13px!important;font-weight:400!important}.trs-check input{margin-top:3px}.trs-check--panel{padding:16px;background:var(--trs-ivory);border:1px solid var(--trs-line);border-radius:10px}.trs-check--panel span{display:grid;gap:4px}.trs-button--full{width:100%}.trs-form-between{display:flex;align-items:center;justify-content:space-between;gap:15px}.trs-form-between>a{font-size:13px;text-decoration:none}.trs-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.trs-recaptcha{min-height:78px}.trs-notice{padding:13px 15px;border-radius:8px;border:1px solid;margin-bottom:18px;font-size:14px}.trs-notice.is-success{background:#edf8f2;border-color:#b8ddc7;color:#195f42}.trs-notice.is-error{background:#fff2f2;border-color:#efc6c6;color:#8d2929}.trs-notice.is-info{background:#f4f6f4;border-color:#dce1dc;color:#445047}

/* Authentication */
.trs-auth-shell{min-height:760px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(520px,.95fr);background:var(--trs-ivory)}.trs-auth-shell--compact{min-height:650px}.trs-auth-visual{position:relative;display:grid;align-items:end;min-height:100%;padding:clamp(44px,7vw,96px);background-image:linear-gradient(180deg,rgba(0,32,24,.15),rgba(0,32,24,.84)),var(--trs-auth-image);background-size:cover;background-position:center;color:#fff}.trs-auth-visual>div{max-width:700px}.trs-auth-visual h1{margin:0;font-family:var(--trs-display-font);font-size:clamp(52px,5.8vw,82px);line-height:.98;font-weight:500}.trs-auth-visual p:not(.trs-eyebrow){max-width:560px;color:rgba(255,255,255,.82);font-size:17px}.trs-auth-panel{display:grid;place-items:center;padding:48px 34px}.trs-auth-card{width:min(100%,560px)}.trs-auth-card h2{margin:0;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:52px;line-height:1;font-weight:500}.trs-auth-lead{margin:14px 0 24px;color:var(--trs-muted)}.trs-google-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;border:1px solid #d8ddd8;border-radius:8px;background:#fff;color:#202520;text-decoration:none;font-weight:700;box-shadow:0 5px 14px rgba(0,0,0,.035)}.trs-google-button:hover{border-color:#c8cec8;color:var(--trs-green-900);box-shadow:var(--trs-shadow-sm)}.trs-google-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid #ddd;color:#4285f4;font-weight:800}.trs-auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#90958f;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.trs-auth-divider::before,.trs-auth-divider::after{content:'';height:1px;background:var(--trs-line);flex:1}.trs-auth-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:26px;padding:20px;border-radius:14px;background:var(--trs-green-950);color:#fff}.trs-auth-banner--soft{background:var(--trs-cream);color:var(--trs-green-950)}.trs-auth-banner strong{font-family:var(--trs-display-font);font-size:22px;font-weight:500}.trs-auth-banner p{margin:3px 0 0;color:rgba(255,255,255,.72);font-size:12px}.trs-auth-banner--soft p{color:var(--trs-muted)}.trs-auth-back{margin-top:22px;text-align:center}.trs-auth-back a{text-decoration:none;font-weight:700;font-size:13px}

/* Guest dashboard */
.trs-dashboard-shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:760px;background:#f5f3ed}.trs-dashboard-sidebar{background:var(--trs-green-950);color:#fff;padding:34px 22px;display:flex;flex-direction:column}.trs-dashboard-user{display:flex;align-items:center;gap:12px;padding:0 8px 25px;border-bottom:1px solid rgba(255,255,255,.12)}.trs-dashboard-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--trs-gold-600);font-family:var(--trs-display-font);font-size:24px}.trs-dashboard-user>div{display:grid;min-width:0}.trs-dashboard-user small{color:rgba(255,255,255,.55)}.trs-dashboard-user strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trs-dashboard-nav{display:grid;gap:5px;margin-top:20px}.trs-dashboard-nav>a{display:flex;align-items:center;gap:11px;min-height:46px;padding:0 12px;border-radius:8px;color:rgba(255,255,255,.75);text-decoration:none;font-size:13px;font-weight:600}.trs-dashboard-nav>a:hover,.trs-dashboard-nav>a.is-active{background:rgba(255,255,255,.1);color:#fff}.trs-dashboard-nav>a.is-active{box-shadow:inset 3px 0 var(--trs-gold-500)}.trs-dashboard-nav .trs-icon{width:18px;height:18px}.trs-dashboard-logout{margin-top:10px!important;border-top:1px solid rgba(255,255,255,.1);padding-top:12px!important;color:#f1c6c6!important}.trs-dashboard-help{margin-top:auto;padding:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:12px}.trs-dashboard-help p{color:rgba(255,255,255,.62);font-size:12px}.trs-dashboard-help a{color:var(--trs-gold-200);font-weight:700;text-decoration:none}.trs-dashboard-main{padding:clamp(28px,4vw,58px)}.trs-dashboard-top{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.trs-dashboard-top h1{margin:0;font-family:var(--trs-display-font);font-size:clamp(44px,5vw,64px);font-weight:500;color:var(--trs-green-950)}.trs-dashboard-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.trs-dashboard-card{padding:26px;background:#fff;border:1px solid var(--trs-line);border-radius:16px;box-shadow:var(--trs-shadow-sm)}.trs-dashboard-card--hero{grid-column:1/-1;min-height:250px;background:linear-gradient(120deg,#fff,#f7f0df);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.trs-dashboard-card--wide{grid-column:1/-1}.trs-dashboard-card h2{margin:0;font-family:var(--trs-display-font);font-size:42px;font-weight:500;color:var(--trs-green-950)}.trs-dashboard-card>strong{display:block;margin:12px 0 7px;color:var(--trs-green-950)}.trs-dashboard-card p{color:var(--trs-muted);font-size:14px}.trs-dashboard-card>a{font-weight:700;text-decoration:none;font-size:13px}.trs-dashboard-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--trs-gold-100);color:var(--trs-gold-700)}.trs-dashboard-empty{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:44px;background:#fff;border:1px solid var(--trs-line);border-radius:18px;box-shadow:var(--trs-shadow-sm)}.trs-dashboard-empty>span{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:var(--trs-gold-100);color:var(--trs-gold-700);margin-bottom:18px}.trs-dashboard-empty>span .trs-icon{width:28px;height:28px}.trs-dashboard-empty h2{margin:0;font-family:var(--trs-display-font);font-size:42px;font-weight:500;color:var(--trs-green-950)}.trs-dashboard-empty p{max-width:520px;color:var(--trs-muted)}.trs-dashboard-form-card{max-width:780px}.trs-dashboard-form-card hr{border:0;border-top:1px solid var(--trs-line);margin:30px 0}

/* Responsive Phase 3 */
@media (max-width:1260px){.trs-header-actions{gap:8px}.trs-navbar__inner{gap:18px}.trs-menu{gap:16px}.trs-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trs-premium-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1080px){.trs-header-actions{display:none}.trs-mobile-account-actions{display:grid;gap:10px;margin-top:24px}.trs-mobile-account-actions .trs-account-link{min-height:48px;padding:0 12px;border:1px solid var(--trs-line);border-radius:6px;justify-content:center}.trs-mobile-account-actions .trs-account-link span{display:inline}.trs-split,.trs-split--reverse{grid-template-columns:1fr;gap:46px}.trs-split--reverse .trs-split__content{order:2}.trs-split--reverse .trs-split__media{order:1}.trs-feature-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trs-feature-image-grid .trs-image-feature:last-child{grid-column:1/-1;min-height:360px}.trs-home-gallery{grid-template-columns:repeat(2,1fr);grid-template-rows:260px 260px 260px}.trs-home-gallery__item:first-child,.trs-home-gallery__item:nth-child(4){grid-row:auto;grid-column:auto}.trs-offer-grid,.trs-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trs-location-shell{grid-template-columns:1fr}.trs-location-map{min-height:430px}.trs-contact-layout{grid-template-columns:1fr}.trs-room-detail-grid,.trs-single-layout{grid-template-columns:1fr}.trs-dashboard-shell{grid-template-columns:230px minmax(0,1fr)}.trs-dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.trs-dashboard-card--hero,.trs-dashboard-card--wide{grid-column:1/-1}}
@media (max-width:820px){.trs-feature-image-grid,.trs-event-pair,.trs-premium-archive-grid,.trs-room-list-card{grid-template-columns:1fr}.trs-image-feature,.trs-feature-image-grid .trs-image-feature:last-child{min-height:380px;grid-column:auto}.trs-room-list-card__media{min-height:280px}.trs-room-detail-hero>.trs-container{grid-template-columns:1fr}.trs-room-price-card{max-width:360px}.trs-room-next>.trs-container{align-items:flex-start;flex-direction:column}.trs-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trs-auth-shell{grid-template-columns:1fr}.trs-auth-visual{min-height:420px}.trs-auth-panel{padding:40px 24px}.trs-dashboard-shell{grid-template-columns:1fr}.trs-dashboard-sidebar{padding:18px}.trs-dashboard-user{padding-bottom:15px}.trs-dashboard-nav{display:flex;overflow-x:auto;gap:6px;padding-bottom:4px}.trs-dashboard-nav>a{flex:0 0 auto;min-height:42px}.trs-dashboard-nav>a span{white-space:nowrap}.trs-dashboard-logout{border-top:0!important;margin-top:0!important;padding-top:0!important}.trs-dashboard-help{display:none}.trs-dashboard-main{padding:28px 18px 48px}.trs-dashboard-top{align-items:flex-start}.trs-dashboard-top .trs-button{display:none}}
@media (max-width:620px){.trs-media-stack{padding:0 38px 38px 0}.trs-media-stack__accent{width:52%!important;border-width:5px}.trs-dining-collage{grid-template-columns:1fr}.trs-dining-collage img:first-child,.trs-dining-collage img:last-child{height:auto;margin:0}.trs-value-grid,.trs-offer-grid,.trs-testimonial-grid,.trs-form-row,.trs-gallery-grid,.trs-dashboard-cards{grid-template-columns:1fr}.trs-home-gallery{grid-template-columns:1fr;grid-template-rows:none}.trs-home-gallery__item{height:250px}.trs-location-card{padding:26px 22px}.trs-inner-hero{min-height:290px}.trs-inner-hero__content{padding:72px 0 44px}.trs-auth-visual{min-height:340px;padding:36px 22px}.trs-auth-visual h1{font-size:48px}.trs-auth-panel{padding:34px 15px}.trs-auth-card h2{font-size:44px}.trs-auth-banner{align-items:flex-start;flex-direction:column}.trs-form-between{align-items:flex-start;flex-direction:column}.trs-room-detail-hero{padding-top:50px}.trs-room-detail-hero__copy h1{font-size:52px}.trs-room-list-card__body{padding:26px 20px}.trs-room-list-card__footer{align-items:flex-start;flex-direction:column}.trs-gallery-tile{aspect-ratio:1.35}.trs-lightbox{padding:18px}.trs-lightbox__close{right:14px;top:14px}.trs-dashboard-top h1{font-size:44px}.trs-dashboard-empty{padding:34px 20px}.trs-topbar__message{text-transform:none;letter-spacing:.01em;font-size:10.5px}}

/* Phase 3 dining menu management */
.trs-dining-facts{display:grid;gap:10px;margin:26px 0}.trs-dining-facts p{display:flex;gap:18px;justify-content:space-between;margin:0;padding:12px 0;border-bottom:1px solid var(--trs-line)}.trs-dining-facts strong{color:var(--trs-green-900)}.trs-menu-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:34px}.trs-menu-item{display:grid;grid-template-columns:140px 1fr;min-height:160px;background:#fff;border:1px solid var(--trs-line);border-radius:12px;overflow:hidden;box-shadow:var(--trs-shadow-sm)}.trs-menu-item__image img{width:100%;height:100%;object-fit:cover}.trs-menu-item__body{padding:22px}.trs-menu-item__head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.trs-menu-item__head h3{margin:0;color:var(--trs-green-900);font-family:var(--trs-display-font);font-size:27px}.trs-menu-item__head strong{white-space:nowrap;color:var(--trs-gold-700)}.trs-menu-item__body>p{margin:10px 0}.trs-menu-item__body>small{display:block;margin-top:10px;color:var(--trs-muted)}
@media(max-width:860px){.trs-menu-list{grid-template-columns:1fr}}@media(max-width:520px){.trs-menu-item{grid-template-columns:1fr}.trs-menu-item__image{height:190px}.trs-menu-item__head{flex-direction:column;gap:8px}}

/* =========================================================
   Phase 3.1 — live visual completion hotfix
   ========================================================= */

/* Keep the full hotel header visible while scrolling. */
.trs-site-header{position:sticky;top:0;z-index:999;box-shadow:0 8px 24px rgba(0,42,32,.08)}
body.admin-bar .trs-site-header{top:32px}
@media(max-width:782px){body.admin-bar .trs-site-header{top:46px}}

/* Strong contrast on all dark hospitality panels. */
.trs-room-next h2,.trs-final-cta__content h2,.trs-auth-visual h1,.trs-section--green .trs-centered-heading h2,.trs-section--green .trs-centered-heading p,.trs-section--dark .trs-section-heading h2{color:#fff!important}

/* Homepage gallery: one large image plus six supporting images, no dead cell. */
.trs-home-gallery{grid-template-columns:1.15fr .85fr .85fr .85fr;grid-template-rows:245px 245px}
.trs-home-gallery__item:first-child{grid-column:1;grid-row:1/3}
.trs-home-gallery__item:nth-child(4){grid-column:auto;grid-row:auto}

/* Room explorer filters. */
.trs-room-explorer{background:linear-gradient(180deg,#fff 0%,var(--trs-ivory) 100%)}
.trs-room-explorer__heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px}
.trs-room-explorer__heading>div{max-width:760px}.trs-room-explorer__heading h2{margin:0;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:clamp(40px,5vw,62px);line-height:1;font-weight:500}.trs-room-explorer__heading p:not(.trs-eyebrow){color:var(--trs-muted);font-size:16px;line-height:1.7}
.trs-room-filters{margin-bottom:38px;padding:28px;background:#fff;border:1px solid var(--trs-line);border-radius:18px;box-shadow:var(--trs-shadow-sm)}
.trs-room-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.trs-room-filter-grid label{display:grid;gap:7px;color:var(--trs-green-950);font-size:12px;font-weight:700}.trs-room-filter-grid select,.trs-room-filter-grid input{width:100%;min-height:48px;padding:9px 12px;border:1px solid #d9ddd8;border-radius:8px;background:#fff;color:var(--trs-ink)}
.trs-room-filter-grid select:focus,.trs-room-filter-grid input:focus{outline:0;border-color:var(--trs-gold-500);box-shadow:0 0 0 3px rgba(199,156,69,.14)}
.trs-room-filter-amenities{margin:20px 0 0;padding:20px 0 0;border:0;border-top:1px solid var(--trs-line)}.trs-room-filter-amenities legend{padding:0 0 10px;color:var(--trs-green-950);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.trs-room-filter-amenities>div{display:flex;flex-wrap:wrap;gap:9px}.trs-filter-chip{position:relative}.trs-filter-chip input{position:absolute;opacity:0;pointer-events:none}.trs-filter-chip span{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid var(--trs-line);border-radius:999px;background:var(--trs-ivory);color:#505851;font-size:12px;cursor:pointer;transition:.18s ease}.trs-filter-chip input:checked+span{border-color:var(--trs-gold-500);background:var(--trs-gold-100);color:var(--trs-green-950);font-weight:700}.trs-filter-chip input:focus-visible+span{outline:2px solid var(--trs-gold-500);outline-offset:2px}
.trs-room-filter-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.trs-room-results-meta{margin:0 0 18px;color:var(--trs-muted);font-size:14px}.trs-room-results-meta strong{color:var(--trs-green-950);font-size:18px}.trs-room-amenity-preview{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 22px}.trs-room-amenity-preview span{padding:6px 9px;border-radius:999px;background:var(--trs-cream);color:#5a605a;font-size:11px}

/* Richer room detail page. */
.trs-room-gallery-section{padding:18px 0 50px;background:var(--trs-cream)}.trs-room-gallery-heading{width:min(100%,860px);margin:0 auto 18px}.trs-room-gallery-heading h2{margin:0;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:clamp(34px,3.5vw,46px);line-height:1.06;font-weight:500}.trs-room-gallery-heading>p:not(.trs-eyebrow){margin:10px 0 0;color:var(--trs-muted);font-size:15px;line-height:1.65}.trs-room-carousel{display:grid;gap:12px;width:min(100%,860px);margin:0 auto;outline:none}.trs-room-carousel__viewport{position:relative;overflow:hidden;border-radius:18px;background:#e5e0d5;box-shadow:0 14px 36px rgba(20,30,24,.12)}.trs-room-carousel__slide{display:none;width:100%;aspect-ratio:3/2;height:auto;padding:0;border:0;background:#ddd;cursor:zoom-in}.trs-room-carousel__slide.is-active{display:block}.trs-room-carousel__slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.trs-room-carousel__arrow{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:46px;height:46px;margin-top:-23px;border:1px solid rgba(255,255,255,.56);border-radius:50%;background:rgba(0,56,42,.86);color:#fff;font-size:31px;line-height:1;box-shadow:0 7px 22px rgba(0,0,0,.16);transition:transform var(--trs-transition),background var(--trs-transition)}.trs-room-carousel__arrow:hover{background:var(--trs-green-950);transform:scale(1.04)}.trs-room-carousel__arrow.is-prev{left:16px}.trs-room-carousel__arrow.is-next{right:16px}.trs-room-carousel__count{position:absolute;right:16px;bottom:14px;z-index:3;padding:7px 10px;border-radius:999px;background:rgba(0,35,27,.76);color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em}.trs-room-carousel__thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.trs-room-carousel__thumb{height:92px;padding:0;border:2px solid transparent;border-radius:11px;overflow:hidden;background:#eee;opacity:.78;transition:opacity var(--trs-transition),border-color var(--trs-transition),transform var(--trs-transition)}.trs-room-carousel__thumb:hover,.trs-room-carousel__thumb.is-active{opacity:1}.trs-room-carousel__thumb.is-active{border-color:var(--trs-gold-600);transform:translateY(-1px)}.trs-room-carousel__thumb img{width:100%;height:100%;object-fit:cover;display:block}.trs-room-assurance{padding-top:22px}.trs-room-assurance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.trs-room-assurance-grid article{padding:28px;background:#fff;border:1px solid var(--trs-line);border-radius:16px;box-shadow:var(--trs-shadow-sm)}.trs-room-assurance-grid article>span{display:grid;place-items:center;width:46px;height:46px;margin-bottom:18px;border-radius:50%;background:var(--trs-gold-100);color:var(--trs-gold-700)}.trs-room-assurance-grid .trs-icon{width:22px;height:22px}.trs-room-assurance-grid h3{margin:0 0 10px;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:30px;font-weight:500}.trs-room-assurance-grid p{margin:0;color:var(--trs-muted);line-height:1.75}
.trs-room-detail-gallery{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);grid-template-rows:240px 240px;gap:14px}.trs-room-detail-gallery .trs-gallery-tile{aspect-ratio:auto;height:100%}.trs-room-detail-gallery .trs-gallery-tile:first-child{grid-row:1/3}.trs-room-detail-gallery .trs-gallery-tile:first-child img{height:100%}
.trs-room-story{padding-top:56px}.trs-room-copy{padding:clamp(34px,4vw,56px)}.trs-room-copy .trs-rich-copy,.trs-room-copy .trs-rich-copy p{font-size:18px;line-height:1.9}.trs-room-copy>h2{margin-top:0;font-size:clamp(42px,5vw,58px)}
.trs-room-glance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:34px}.trs-room-glance>div{padding:20px;border:1px solid var(--trs-line);border-radius:12px;background:var(--trs-ivory)}.trs-room-glance>div>span{display:grid;place-items:center;width:40px;height:40px;margin-bottom:12px;border-radius:50%;background:var(--trs-gold-100);color:var(--trs-gold-700)}.trs-room-glance .trs-icon{width:20px;height:20px}.trs-room-glance strong{display:block;color:var(--trs-green-950);font-size:13px}.trs-room-glance p{margin:4px 0 0;color:var(--trs-muted);font-size:13px}
.trs-room-amenities{padding:clamp(32px,3vw,42px)}.trs-room-amenities li{font-size:15px;line-height:1.5}.trs-room-next h2{font-size:clamp(38px,4.5vw,56px)}
.trs-related-rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.trs-related-room{border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--trs-line);box-shadow:var(--trs-shadow-sm)}.trs-related-room>a{display:block;color:inherit;text-decoration:none}.trs-related-room img{width:100%;height:260px;object-fit:cover;display:block}.trs-related-room span{display:grid;gap:4px;padding:20px}.trs-related-room strong{font-family:var(--trs-display-font);font-size:28px;color:var(--trs-green-950);font-weight:500}.trs-related-room small{color:var(--trs-muted)}

/* Facility detail completion. */
.trs-facility-media{padding:0 66px 64px 0}.trs-facility-media>img:first-child{height:560px}.trs-facility-media__accent{position:absolute;right:0;bottom:0;width:48%!important;height:280px!important;border:7px solid var(--trs-ivory);box-shadow:var(--trs-shadow-md)!important}.trs-facility-points{display:grid;gap:10px;margin:28px 0}.trs-facility-points p{display:flex;align-items:center;gap:10px;margin:0;padding:11px 0;border-bottom:1px solid var(--trs-line);color:#4d554f}.trs-facility-points .trs-icon{width:18px;height:18px;color:var(--trs-gold-700)}.trs-facility-note{padding:16px 18px;border-radius:10px;background:var(--trs-cream);color:#555d56;font-size:14px}

/* Event venue completion. */
.trs-event-overview{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);gap:40px;align-items:start}.trs-event-copy{padding:clamp(34px,4vw,54px);background:#fff;border:1px solid var(--trs-line);border-radius:20px;box-shadow:var(--trs-shadow-sm)}.trs-event-copy h2{margin:0;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:clamp(40px,4.7vw,58px);font-weight:500;line-height:1.04}.trs-event-details{padding:34px;background:var(--trs-green-950);color:#fff;border-radius:18px;box-shadow:var(--trs-shadow-md)}.trs-event-details h2{margin:0 0 22px;color:#fff;font-family:var(--trs-display-font);font-size:38px;font-weight:500}.trs-event-details ul{display:grid;gap:18px;margin:0;padding:0;list-style:none}.trs-event-details li{display:grid;grid-template-columns:28px 1fr;gap:11px;color:rgba(255,255,255,.8);font-size:13px;line-height:1.55}.trs-event-details li .trs-icon{width:20px;height:20px;color:var(--trs-gold-200)}.trs-event-details li span{display:grid;gap:3px}.trs-event-details li strong{color:#fff}.trs-event-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.trs-event-showcase figure{margin:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--trs-shadow-md)}.trs-event-showcase img{width:100%;height:420px;object-fit:cover;display:block}.trs-event-showcase figcaption{display:grid;gap:6px;padding:24px}.trs-event-showcase figcaption strong{font-family:var(--trs-display-font);font-size:30px;color:var(--trs-green-950);font-weight:500}.trs-event-showcase figcaption span{color:var(--trs-muted);line-height:1.7}.trs-centered-cta{text-align:center;margin-top:38px}

/* Dining facts: deliberate label/value layout. */
.trs-dining-facts{display:grid;gap:0;margin:28px 0}.trs-dining-fact{display:grid;grid-template-columns:130px minmax(0,1fr);gap:18px;padding:15px 0;border-bottom:1px solid var(--trs-line)}.trs-dining-fact__label{color:var(--trs-green-950);font-weight:800}.trs-dining-fact__value{color:#454d47;line-height:1.7}

/* Gallery collections should always visibly hold their media. */
.trs-gallery-grid--collection{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense}.trs-gallery-grid--collection .trs-gallery-tile:nth-child(5n+1){grid-column:span 2;aspect-ratio:2.58}.trs-gallery-album{padding-bottom:12px;border-bottom:1px solid var(--trs-line)}

/* WhatsApp mobile icon: keep the actual glyph visible while hiding only the label. */
@media(max-width:620px){.trs-whatsapp>span:last-child{display:none!important}.trs-whatsapp .trs-whatsapp__icon{display:inline-grid!important;width:30px;height:30px}.trs-whatsapp .trs-whatsapp__icon .trs-icon{display:block!important;width:27px;height:27px;color:#fff}.trs-whatsapp{overflow:visible}}

/* Dashboard: no horizontal page scrolling on phones. */
.trs-dashboard-shell,.trs-dashboard-main,.trs-dashboard-sidebar,.trs-dashboard-cards,.trs-dashboard-card,.trs-dashboard-empty{min-width:0}
@media(max-width:820px){
  body.trs-dashboard-page{overflow-x:hidden}
  .trs-dashboard-shell{display:block;width:100%;overflow:hidden}
  .trs-dashboard-sidebar{width:100%;padding:18px 15px 20px}
  .trs-dashboard-user{padding-inline:4px}
  .trs-dashboard-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible!important;gap:7px;margin-top:15px;padding:0!important}
  .trs-dashboard-nav>a{min-width:0!important;min-height:44px!important;padding:8px 10px!important;gap:8px!important;white-space:normal!important}
  .trs-dashboard-nav>a span{min-width:0;white-space:normal!important;line-height:1.2;font-size:11px;overflow-wrap:anywhere}
  .trs-dashboard-nav .trs-icon{flex:0 0 17px}
  .trs-dashboard-logout{margin:0!important;border-top:0!important;padding-top:8px!important}
  .trs-dashboard-main{width:100%;padding:28px 15px 46px;overflow:hidden}
  .trs-dashboard-top{display:block;margin-bottom:22px}.trs-dashboard-top h1{font-size:40px;overflow-wrap:anywhere}
  .trs-dashboard-cards{grid-template-columns:1fr!important;width:100%}.trs-dashboard-card--hero,.trs-dashboard-card--wide{grid-column:auto!important}
  .trs-dashboard-card,.trs-dashboard-empty,.trs-dashboard-form-card{width:100%;max-width:100%;overflow:hidden}
  .trs-dashboard-card h2,.trs-dashboard-empty h2{font-size:34px;line-height:1.06;overflow-wrap:anywhere}
  .trs-dashboard-card p,.trs-dashboard-empty p{overflow-wrap:anywhere}
}
@media(max-width:460px){.trs-dashboard-nav{grid-template-columns:1fr 1fr}.trs-dashboard-nav>a{font-size:10px}.trs-dashboard-card{padding:22px 18px}.trs-dashboard-empty{padding:30px 18px}.trs-dashboard-top h1{font-size:36px}}

/* Responsive completion. */
@media(max-width:1080px){.trs-home-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.trs-home-gallery__item:first-child{grid-column:auto;grid-row:auto}.trs-home-gallery__item{height:270px}.trs-room-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trs-event-overview{grid-template-columns:1fr}.trs-related-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.trs-room-explorer__heading{display:block}.trs-room-gallery-heading{width:min(100%,720px)}.trs-room-carousel{width:min(100%,720px)}.trs-room-carousel__slide{aspect-ratio:4/3}.trs-room-carousel__thumb{height:82px}.trs-room-assurance-grid{grid-template-columns:1fr}.trs-room-filter-grid{grid-template-columns:1fr}.trs-room-filters{padding:22px 16px}.trs-room-detail-gallery{grid-template-columns:1fr;grid-template-rows:none}.trs-room-detail-gallery .trs-gallery-tile,.trs-room-detail-gallery .trs-gallery-tile:first-child{grid-row:auto;height:260px}.trs-room-glance{grid-template-columns:1fr}.trs-related-rooms,.trs-event-showcase,.trs-gallery-grid--collection{grid-template-columns:1fr}.trs-event-showcase img{height:300px}.trs-gallery-grid--collection .trs-gallery-tile:nth-child(5n+1){grid-column:auto;aspect-ratio:1.28}.trs-facility-media{padding:0 36px 42px 0}.trs-facility-media>img:first-child{height:auto}.trs-facility-media__accent{height:190px!important}.trs-dining-fact{grid-template-columns:1fr;gap:5px}}
@media(max-width:620px){.trs-home-gallery{grid-template-columns:1fr}.trs-room-gallery-section{padding-top:14px;padding-bottom:38px}.trs-room-gallery-heading{margin-bottom:14px}.trs-room-gallery-heading h2{font-size:clamp(30px,9vw,40px)}.trs-room-carousel__slide{aspect-ratio:4/3}.trs-room-carousel__arrow{width:40px;height:40px;margin-top:-20px;font-size:28px}.trs-room-carousel__arrow.is-prev{left:10px}.trs-room-carousel__arrow.is-next{right:10px}.trs-room-carousel__count{right:10px;bottom:10px}.trs-room-carousel__thumbs{gap:7px}.trs-room-carousel__thumb{height:70px}.trs-home-gallery__item{height:250px}.trs-room-gallery-section{padding-bottom:44px}.trs-room-copy .trs-rich-copy,.trs-room-copy .trs-rich-copy p{font-size:16px}.trs-related-rooms{grid-template-columns:1fr}}


/* =========================================================
   0.3.2 — Phase 3 polish & motion hotfix
   ========================================================= */

/* Stronger, still restrained scroll motion across the premium UI. */
[data-trs-reveal]{
  opacity:0;
  transform:translateY(28px) scale(.988);
  filter:blur(1.5px);
  transition:
    opacity 680ms cubic-bezier(.2,.72,.2,1) var(--trs-delay,0ms),
    transform 680ms cubic-bezier(.2,.72,.2,1) var(--trs-delay,0ms),
    filter 680ms ease var(--trs-delay,0ms);
}
[data-trs-reveal].is-revealed{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:none;
}
.trs-room-card,
.trs-value-card,
.trs-premium-card,
.trs-room-list-card,
.trs-gallery-tile,
.trs-offer-card,
.trs-testimonial-card,
.trs-event-showcase figure,
.trs-image-feature{
  transition:transform 320ms ease,box-shadow 320ms ease,border-color 320ms ease;
}
@media (hover:hover) and (pointer:fine){
  .trs-room-card:hover,
  .trs-value-card:hover,
  .trs-premium-card:hover,
  .trs-room-list-card:hover,
  .trs-offer-card:hover,
  .trs-testimonial-card:hover{
    transform:translateY(-7px);
    box-shadow:0 22px 48px rgba(9,39,30,.12);
  }
  .trs-gallery-tile:hover{transform:translateY(-4px)}
  .trs-button:hover,.trs-book-now:hover{transform:translateY(-2px) scale(1.012)}
}
.trs-section-heading.is-revealed .trs-heading-flourish,
.trs-centered-heading.is-revealed .trs-heading-flourish{
  animation:trsFlourish 760ms cubic-bezier(.2,.72,.2,1) both;
}
@keyframes trsFlourish{
  from{transform:scaleX(.2);opacity:.2}
  to{transform:scaleX(1);opacity:1}
}

/* Keep the account-creation CTA compact instead of stretching visually. */
.trs-auth-banner>div{min-width:0;flex:1 1 auto}
.trs-auth-banner .trs-button{
  flex:0 0 auto;
  width:auto;
  min-width:0;
  padding-inline:20px;
  white-space:nowrap;
}

@media(max-width:620px){
  .trs-auth-banner .trs-button{
    width:100%;
    white-space:normal;
  }
}

@media(prefers-reduced-motion:reduce){
  [data-trs-reveal]{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
  .trs-section-heading.is-revealed .trs-heading-flourish,
  .trs-centered-heading.is-revealed .trs-heading-flourish{
    animation:none!important;
  }
}


/* =========================================================
   0.3.3 — compact mobile maps retained
   ========================================================= */
@media(max-width:820px){
  .trs-location-map{min-height:360px}
}
@media(max-width:620px){
  .trs-location-map{min-height:300px}
}

/* =========================================================
   0.3.4 — gallery restoration & mobile header correction
   ========================================================= */
/* Restore the original premium gallery grid proportions. */
.trs-gallery-grid--collection{
  display:grid;
  columns:auto;
  column-gap:normal;
}

/* Gallery media must never depend on scroll-reveal JavaScript to be visible. */
.trs-gallery-grid--collection .trs-gallery-tile{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}
@media(max-width:820px){
  .trs-gallery-grid--collection{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .trs-gallery-grid--collection{
    grid-template-columns:1fr;
    gap:12px;
  }
  .trs-gallery-grid--collection .trs-gallery-tile,
  .trs-gallery-grid--collection .trs-gallery-tile:nth-child(5n+1){
    display:block;
    width:100%;
    margin:0;
    grid-column:auto;
    aspect-ratio:1.35;
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
  .trs-gallery-grid--collection .trs-gallery-tile img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

/* Mobile/tablet branding returns to the natural left position.
   The slide-out drawer/backdrop stays above the header brand when open. */
@media(max-width:1080px){
  .trs-brand{
    position:static;
    left:auto;
    top:auto;
    transform:none;
    z-index:auto;
  }
  .trs-nav-toggle{margin-left:auto}
}


/* =========================================================
   0.3.5 — gallery spacing & bottom-right fill polish
   ========================================================= */
.trs-gallery-grid--collection{
  gap:18px;
}
@media(max-width:820px){
  .trs-gallery-grid--collection{gap:16px}
}
@media(max-width:620px){
  .trs-gallery-grid--collection{gap:14px}
}


/* =========================================================
   0.3.6 — mobile homepage Facilities CTA alignment
   ========================================================= */
@media(max-width:760px){
  .trs-facilities-home .trs-section-heading > .trs-button{
    grid-column:1 / -1;
    justify-self:center;
    width:auto;
    min-width:220px;
    margin-inline:auto;
  }
}


/* =========================================================
   0.3.7 — mobile header: Book Now / centered logo / menu
   ========================================================= */
.trs-mobile-book-now{display:none}
@media(max-width:760px){
  .trs-navbar__inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:10px;
    min-height:92px;
  }
  .trs-mobile-book-now{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    justify-self:start;
    min-height:42px;
    min-width:82px;
    padding:0 12px;
    border-radius:5px;
    background:var(--trs-green-900);
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    font-size:10px;
    line-height:1;
    font-weight:700;
    letter-spacing:.045em;
    box-shadow:0 8px 18px rgba(0,67,51,.12);
  }
  .trs-mobile-book-now:hover,
  .trs-mobile-book-now:focus-visible{background:var(--trs-green-800);color:#fff}
  .trs-brand{
    grid-column:2;
    justify-self:center;
    margin:0;
    position:static;
    transform:none;
    z-index:auto;
  }
  .trs-brand .custom-logo,
  .trs-default-logo img{
    max-height:74px;
    max-width:78px;
  }
  .trs-nav-toggle{
    grid-column:3;
    justify-self:end;
    margin-left:0;
  }
  .trs-primary-nav,
  .trs-nav-backdrop{grid-column:auto}
}
@media(max-width:360px){
  .trs-navbar__inner{gap:7px}
  .trs-mobile-book-now{min-width:74px;padding-inline:9px;font-size:9px}
  .trs-brand .custom-logo,.trs-default-logo img{max-height:68px;max-width:72px}
}

/* =========================================================
   0.4.0 — Booking engine, live availability and reservation UI
   ========================================================= */
.trs-room-filter-grid--booking{grid-template-columns:repeat(5,minmax(0,1fr))}
.trs-live-availability{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:18px 0 4px;padding:12px 14px;border-radius:10px;background:#f4efe3;color:var(--trs-green-900)}
.trs-live-availability strong{font-size:14px}.trs-live-availability span{font-size:13px;color:#655f54}
.trs-booking-shell{background:var(--trs-warm-50)}
.trs-booking-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.65fr);gap:34px;align-items:start}
.trs-booking-main{display:grid;gap:24px;min-width:0}
.trs-booking-room-summary,.trs-booking-dates,.trs-booking-guest-card,.trs-booking-summary-card,.trs-status-card,.trs-simulation-card,.trs-next-payment-card,.trs-booking-unavailable,.trs-booking-empty{border:1px solid rgba(21,74,59,.12);background:#fff;border-radius:20px;box-shadow:0 18px 44px rgba(24,55,45,.08)}
.trs-booking-room-summary{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1fr);gap:28px;padding:20px;align-items:center}
.trs-booking-room-summary__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block}
.trs-booking-room-summary h2,.trs-booking-guest-card h2,.trs-booking-summary-card h2,.trs-status-card h2,.trs-booking-empty h2{font-family:var(--trs-font-display);color:var(--trs-green-900);font-size:clamp(30px,4vw,48px);line-height:1.02;margin:.25em 0}
.trs-booking-dates,.trs-booking-guest-card{padding:28px}
.trs-booking-dates label>span,.trs-booking-guest-card label>span,.trs-simulation-card label>span{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:var(--trs-green-900)}
.trs-booking-dates input,.trs-booking-dates select,.trs-booking-guest-card input:not([type=checkbox]),.trs-simulation-card select{width:100%;min-height:52px;border:1px solid #d8d5cc;border-radius:9px;padding:0 14px;background:#fff;font:inherit}
.trs-button--wide{width:100%;justify-content:center}
.trs-booking-summary-card{position:sticky;top:168px;padding:28px}
.trs-booking-summary-card dl{margin:20px 0;display:grid;gap:0}.trs-booking-summary-card dl>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #ece7dc}.trs-booking-summary-card dt{color:#6c675f}.trs-booking-summary-card dd{margin:0;font-weight:700;color:var(--trs-green-900);text-align:right}
.trs-booking-price{margin-top:22px;padding-top:18px;border-top:1px solid #ded8cb;display:grid;gap:6px}.trs-booking-price span{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#7a7163}.trs-booking-price strong{font-family:var(--trs-font-display);font-size:38px;color:var(--trs-green-900)}.trs-booking-price small{color:#716b61;line-height:1.5}
.trs-booking-unavailable,.trs-booking-empty{padding:36px;text-align:center}.trs-booking-unavailable h3{font-family:var(--trs-font-display);font-size:30px;color:var(--trs-green-900);margin-top:0}
.trs-status-wrap{max-width:1220px}.trs-status-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.55fr);gap:30px;align-items:start}.trs-status-card{padding:32px}.trs-status-card__head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.trs-booking-badge{display:inline-flex;padding:8px 12px;border-radius:999px;background:#f3ede0;color:#6d5a2a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.trs-booking-badge.is-confirmed{background:#e7f3ed;color:#0b654e}.trs-booking-badge.is-cancelled,.trs-booking-badge.is-expired{background:#f5e8e4;color:#874437}
.trs-hold-panel{margin:24px 0;padding:20px;border-radius:14px;background:var(--trs-green-900);color:#fff}.trs-hold-panel p{color:rgba(255,255,255,.82)}.trs-hold-timer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.22)}.trs-hold-timer strong{font-family:var(--trs-font-display);font-size:34px;color:#fff}
.trs-status-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.trs-status-details>div{padding:16px;border-radius:12px;background:#faf8f2}.trs-status-details span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#777064;margin-bottom:6px}.trs-status-details strong{color:var(--trs-green-900)}
.trs-simulation-card,.trs-next-payment-card{margin-top:24px;padding:24px;background:#fbf6e9}.trs-simulation-card form{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.trs-simulation-card label{min-width:220px;flex:1}.trs-test-label{display:inline-block;margin-top:14px;padding:7px 10px;border-radius:999px;background:#f5e8c9;color:#6d5419;font-size:12px;font-weight:800}
.trs-dashboard-bookings{display:grid;gap:16px}.trs-dashboard-booking{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:22px;border:1px solid rgba(21,74,59,.12);border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(24,55,45,.06)}.trs-dashboard-booking h2{font-family:var(--trs-font-display);font-size:28px;color:var(--trs-green-900);margin:.15em 0}.trs-dashboard-booking>div:last-child{display:grid;gap:10px;justify-items:end}.trs-dashboard-booking>div:last-child>strong{font-family:var(--trs-font-display);font-size:26px;color:var(--trs-green-900)}
@media(max-width:1100px){.trs-room-filter-grid--booking{grid-template-columns:repeat(3,minmax(0,1fr))}.trs-booking-grid,.trs-status-grid{grid-template-columns:1fr}.trs-booking-summary-card{position:static}.trs-status-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.trs-room-filter-grid--booking{grid-template-columns:1fr 1fr}.trs-booking-room-summary{grid-template-columns:1fr}.trs-booking-dates,.trs-booking-guest-card,.trs-status-card,.trs-booking-summary-card{padding:20px}.trs-status-card__head{display:grid}.trs-status-details{grid-template-columns:1fr}.trs-dashboard-booking{display:grid}.trs-dashboard-booking>div:last-child{justify-items:start}.trs-simulation-card form{display:grid}.trs-simulation-card label{min-width:0}.trs-booking-price strong{font-size:32px}}
@media(max-width:480px){.trs-room-filter-grid--booking{grid-template-columns:1fr}.trs-booking-room-summary,.trs-booking-unavailable,.trs-booking-empty{padding:16px}.trs-booking-room-summary h2,.trs-booking-guest-card h2,.trs-booking-summary-card h2,.trs-status-card h2,.trs-booking-empty h2{font-size:34px}}

/* Phase 4 booking price breakdown */
.trs-booking-price .trs-price-line,
.trs-reservation-price-breakdown>div{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:18px;
}
.trs-booking-price .trs-price-line strong{
  font-family:var(--trs-font-body);
  font-size:17px;
  line-height:1.3;
}
.trs-booking-price .trs-price-line.is-total{
  margin-top:8px;
  padding-top:13px;
  border-top:1px solid #ded8cb;
}
.trs-booking-price .trs-price-line.is-total strong{
  font-family:var(--trs-font-display);
  font-size:38px;
}
.trs-reservation-price-breakdown{
  display:grid;
  gap:10px;
  margin:0 0 24px;
  padding:18px 20px;
  border-radius:14px;
  background:#faf8f2;
}
.trs-reservation-price-breakdown span{color:#746d61}
.trs-reservation-price-breakdown strong{color:var(--trs-green-900)}
@media(max-width:760px){
  .trs-booking-price .trs-price-line.is-total strong{font-size:32px}
}
.trs-price-line.is-discount strong,
.trs-reservation-price-breakdown .is-discount strong{color:#7a5a16}


/* Theme 0.4.3 booking completion: guest roster, compact terms, receipts and verification. */
.trs-booking-guest-form{gap:20px}
.trs-booking-guest-group{display:grid;gap:14px;padding:18px;border:1px solid rgba(21,74,59,.10);border-radius:14px;background:#fbfaf6}
.trs-booking-guest-group--additional{padding:16px;background:#fff}
.trs-booking-guest-group__head{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--trs-green-900)}
.trs-booking-guest-group__head>strong{font-family:var(--trs-font-display);font-size:22px;font-weight:600}
.trs-booking-guest-group__head>span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#887b66;font-weight:700}
.trs-additional-guests{display:grid;gap:12px}
.trs-additional-guests>.trs-booking-guest-group__head{padding:4px 2px}
.trs-booking-guest-group--additional>strong{color:var(--trs-green-900);font-size:13px;text-transform:uppercase;letter-spacing:.07em}
.trs-booking-terms{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;padding:16px 18px;border:1px solid var(--trs-line);border-radius:12px;background:var(--trs-ivory);color:var(--trs-muted)!important;font-size:13px!important;font-weight:400!important;line-height:1.5}
.trs-booking-terms input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:2px 0 0!important;padding:0!important;border:0!important;box-shadow:none!important;accent-color:var(--trs-green-900)}
.trs-booking-terms>span{display:grid;gap:3px;min-width:0}
.trs-booking-terms strong{color:var(--trs-green-900);font-size:14px;line-height:1.35}
.trs-booking-terms small{display:block;color:#6e6b64;font-size:12px;line-height:1.55;font-weight:400}
.trs-status-guests{margin:24px 0;padding:20px;border:1px solid rgba(21,74,59,.10);border-radius:14px;background:#fbfaf6}
.trs-status-guest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.trs-status-guest-list>span{display:grid;gap:3px;padding:12px 14px;background:#fff;border:1px solid var(--trs-line);border-radius:10px;color:#5f625d}
.trs-status-guest-list strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--trs-green-900)}
.trs-receipt-panel{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:28px;align-items:center;margin:26px 0;padding:24px;border-radius:16px;background:var(--trs-green-900);color:#fff}
.trs-receipt-panel h3{margin:.2em 0 .35em;font-family:var(--trs-font-display);font-size:30px;line-height:1.05;color:#fff}
.trs-receipt-panel p:not(.trs-eyebrow){color:rgba(255,255,255,.82);line-height:1.65}
.trs-receipt-panel .trs-eyebrow{color:var(--trs-gold-300)}
.trs-receipt-panel .trs-button--green{background:#fff;color:var(--trs-green-900)}
.trs-receipt-qr{display:grid;place-items:center;gap:8px;background:#fff;border-radius:13px;padding:10px;color:var(--trs-green-900)}
.trs-receipt-qr svg{display:block;width:138px;height:138px;max-width:100%}
.trs-receipt-qr small{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.trs-verify-shell{max-width:880px;margin:0 auto}
.trs-verify-card{padding:clamp(26px,5vw,52px);border:1px solid rgba(21,74,59,.12);border-radius:22px;background:#fff;box-shadow:0 18px 44px rgba(24,55,45,.08)}
.trs-verify-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:28px}
.trs-verify-card__head h1{margin:.15em 0;font-family:var(--trs-font-display);font-size:clamp(40px,6vw,66px);line-height:1;color:var(--trs-green-900)}
.trs-verify-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.trs-verify-grid>div{padding:16px;border-radius:12px;background:#faf8f2}
.trs-verify-grid span{display:block;margin-bottom:5px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#766f63}
.trs-verify-grid strong{color:var(--trs-green-900)}
.trs-verify-test{margin-top:18px;padding:12px 14px;border-radius:9px;background:#fff7df;color:#7a5815;font-size:13px;font-weight:700}

@media(max-width:760px){
  .trs-booking-guest-group__head{align-items:flex-start;flex-direction:column;gap:5px}
  .trs-booking-terms{grid-template-columns:18px minmax(0,1fr);padding:14px;gap:10px}
  .trs-booking-terms input[type=checkbox]{width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important}
  .trs-status-guest-list{grid-template-columns:1fr}
  .trs-receipt-panel{grid-template-columns:1fr;padding:20px}
  .trs-receipt-qr{max-width:168px}
  .trs-verify-card__head{display:grid}
  .trs-verify-grid{grid-template-columns:1fr}
}
.trs-dashboard-booking-actions{display:grid;gap:8px;justify-items:end}.trs-dashboard-booking-actions .trs-text-link{font-size:12px;font-weight:700;text-decoration:none}@media(max-width:760px){.trs-dashboard-booking-actions{justify-items:start}}


/* Phase 4.6 — completed reservation success state */
.trs-confirmation-success{display:grid;grid-template-columns:auto minmax(0,1fr) 150px;gap:22px;align-items:center;margin:0 0 30px;padding:26px;border-radius:18px;background:linear-gradient(135deg,#eef7f2 0%,#fffaf0 100%);border:1px solid rgba(11,101,78,.16)}
.trs-confirmation-success__mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--trs-green-900);color:#fff;box-shadow:0 10px 26px rgba(0,67,51,.18)}
.trs-confirmation-success__mark svg{width:28px;height:28px}
.trs-confirmation-success__copy h2{margin:.12em 0 .28em!important;font-size:clamp(34px,4vw,52px)!important}
.trs-confirmation-success__copy>p:not(.trs-eyebrow){margin:0;color:#555d58;line-height:1.7}
.trs-confirmation-success__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.trs-confirmation-success__qr{display:grid;place-items:center;gap:7px;background:#fff;border:1px solid rgba(21,74,59,.12);border-radius:14px;padding:10px;color:var(--trs-green-900)}
.trs-confirmation-success__qr svg{display:block;width:124px;height:124px;max-width:100%}
.trs-confirmation-success__qr small{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;text-align:center}
.trs-confirmation-email{display:grid;gap:2px;margin-top:16px;padding:11px 13px;border-radius:10px;font-size:12px;line-height:1.5}
.trs-confirmation-email.is-ok{background:#e6f3ec;color:#165f48}
.trs-confirmation-email.is-warning{background:#fff0e8;color:#8b4b2b}
.trs-confirmation-email span{font-weight:400}
@media(max-width:900px){.trs-confirmation-success{grid-template-columns:auto minmax(0,1fr)}.trs-confirmation-success__qr{grid-column:1/-1;justify-self:start;max-width:150px}}
@media(max-width:560px){.trs-confirmation-success{grid-template-columns:1fr;padding:20px}.trs-confirmation-success__mark{width:50px;height:50px}.trs-confirmation-success__qr{grid-column:auto}.trs-confirmation-success__actions{display:grid}.trs-confirmation-success__actions .trs-button{width:100%;justify-content:center;text-align:center}}

/* Phase 4.5 — authoritative room-quantity selector */
.trs-booking-rooms-field{align-self:start}
.trs-booking-room-availability{display:block;margin-top:8px!important;margin-bottom:0!important;color:#6f695f!important;font-size:12px!important;font-weight:500!important;line-height:1.45}
.trs-booking-room-availability.is-available{color:var(--trs-green-800)!important}
.trs-booking-room-availability.is-unavailable{color:#8a4b3b!important}
.trs-booking-room-availability.is-loading{color:#8a7448!important}
.trs-booking-dates select:disabled{cursor:not-allowed;background:#f3f1eb;color:#7b776e;opacity:1}
.trs-booking-dates.is-checking-room-quantity [data-trs-booking-check-button]{opacity:.7;cursor:wait}
@media(max-width:760px){.trs-booking-room-availability{font-size:11.5px!important;margin-top:7px!important}}

.trs-confirmation-email.is-pending{background:#f6f0df;color:#745b24}
[data-trs-booking-submit][disabled]{opacity:.72;cursor:wait}


/* Phase 4.8 — booking verification mobile fit + account booking notifications */
.trs-dashboard-nav__badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;border-radius:999px;background:var(--trs-gold-500);color:var(--trs-green-950);font-style:normal;font-size:10px;font-weight:800;line-height:1}
.trs-dashboard-notifications{display:grid;gap:14px}
.trs-dashboard-notification{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;padding:24px;background:#fff;border:1px solid var(--trs-line);border-radius:17px;box-shadow:var(--trs-shadow-sm);position:relative;overflow:hidden}
.trs-dashboard-notification.is-unread{border-color:rgba(194,145,46,.48);background:linear-gradient(120deg,#fff 0%,#fffbf1 100%)}
.trs-dashboard-notification.is-unread::before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--trs-gold-500)}
.trs-dashboard-notification__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--trs-gold-100);color:var(--trs-gold-700)}
.trs-dashboard-notification__icon .trs-icon{width:22px;height:22px}
.trs-dashboard-notification__top{display:flex;justify-content:space-between;align-items:center;gap:16px}
.trs-dashboard-notification__top .trs-eyebrow{margin:0}
.trs-dashboard-notification__top time{color:var(--trs-muted);font-size:11px;white-space:nowrap}
.trs-dashboard-notification h2{margin:8px 0 6px;font-family:var(--trs-display-font);font-size:30px;line-height:1.05;font-weight:500;color:var(--trs-green-950)}
.trs-dashboard-notification__body>p:not(.trs-eyebrow){margin:0;color:var(--trs-muted);line-height:1.65}
.trs-dashboard-notification__reference{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:13px;font-size:12px}
.trs-dashboard-notification__reference span{color:var(--trs-muted)}
.trs-dashboard-notification__reference strong{color:var(--trs-green-950);letter-spacing:.02em}
.trs-dashboard-notification__actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px}
.trs-dashboard-notification__actions form{margin:0}
.trs-notification-read{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;font:inherit}
.trs-notification-read-state{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:999px;background:#edf2ef;color:#587066;font-size:11px;font-weight:700}
.trs-booking-verify-hero .trs-inner-hero__content h1{overflow-wrap:anywhere;word-break:normal}
.trs-verify-card__head h1{overflow-wrap:anywhere}
@media(max-width:620px){
  .trs-booking-verify-hero{min-height:360px}
  .trs-booking-verify-hero .trs-inner-hero__content{padding:54px 0 42px}
  .trs-booking-verify-hero .trs-inner-hero__content h1{max-width:100%;font-size:clamp(38px,11vw,48px);line-height:.98}
  .trs-booking-verify-hero .trs-inner-hero__content>p:not(.trs-eyebrow){max-width:100%;font-size:15px;line-height:1.55}
  .trs-verify-card{padding:24px 20px}
  .trs-verify-card__head h1{font-size:clamp(32px,10vw,44px);line-height:1.02}
  .trs-dashboard-notification{grid-template-columns:40px minmax(0,1fr);gap:13px;padding:19px 16px}
  .trs-dashboard-notification__icon{width:40px;height:40px}
  .trs-dashboard-notification__top{display:grid;gap:5px}
  .trs-dashboard-notification__top time{white-space:normal}
  .trs-dashboard-notification h2{font-size:27px}
  .trs-dashboard-notification__actions{align-items:flex-start;flex-direction:column;gap:12px}
}


/* About page — Phase 4 content completion */
.trs-about-hero{min-height:440px;background-position:center 48%}
.trs-about-hero .trs-inner-hero__content{padding-block:110px 74px}
.trs-about-hero .trs-inner-hero__content h1{max-width:920px}
.trs-about-intro .trs-split{align-items:center}
.trs-about-copy{display:grid;gap:18px;margin-top:24px;color:var(--trs-muted);font-size:17px;line-height:1.88}
.trs-about-copy p{margin:0}
.trs-about-experience{padding-top:34px}
.trs-about-experience__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(48px,8vw,120px);align-items:center;padding:clamp(44px,6vw,76px);background:#fff;border:1px solid var(--trs-line);border-radius:24px;box-shadow:var(--trs-shadow-sm)}
.trs-about-experience__statement h2{margin:18px 0 0;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:clamp(38px,4.4vw,58px);font-weight:500;line-height:1.03;letter-spacing:-.02em}
.trs-about-decade{display:flex;align-items:flex-end;gap:16px;margin-top:18px;color:var(--trs-green-950)}
.trs-about-decade strong{font-family:var(--trs-display-font);font-size:clamp(64px,7vw,96px);font-weight:500;line-height:.82;color:var(--trs-gold-700)}
.trs-about-decade span{max-width:130px;padding-bottom:5px;color:var(--trs-muted);font-size:13px;font-weight:700;line-height:1.35;text-transform:uppercase;letter-spacing:.08em}
.trs-about-experience__copy>p{margin:0;color:#4f554f;font-size:18px;line-height:1.9}
.trs-about-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px}
.trs-about-mini-grid>div{display:grid;gap:10px;padding:20px 17px;background:var(--trs-cream);border:1px solid rgba(170,127,46,.16);border-radius:14px;color:var(--trs-green-950)}
.trs-about-mini-grid span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--trs-gold-700);box-shadow:0 5px 14px rgba(20,30,24,.06)}
.trs-about-mini-grid .trs-icon{width:19px;height:19px}
.trs-about-mini-grid strong{font-size:13px;line-height:1.35}
.trs-section--soft{background:#f4efe5}
.trs-about-services .trs-centered-heading{max-width:860px;margin-inline:auto}
.trs-about-services .trs-centered-heading>p:not(.trs-eyebrow){max-width:800px;margin:18px auto 0;color:var(--trs-muted);font-size:17px;line-height:1.85}
.trs-about-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px}
.trs-about-service-card{padding:34px 30px;background:#fff;border:1px solid var(--trs-line);border-radius:18px;box-shadow:var(--trs-shadow-sm)}
.trs-about-service-card>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:22px;border-radius:50%;background:var(--trs-gold-100);color:var(--trs-gold-700)}
.trs-about-service-card .trs-icon{width:23px;height:23px}
.trs-about-service-card h3{margin:0 0 9px;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:28px;font-weight:500;line-height:1.1}
.trs-about-service-card p{margin:0;color:var(--trs-muted);font-size:14px;line-height:1.7}
.trs-about-compliance__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(48px,8vw,110px);align-items:center}
.trs-about-compliance h2{max-width:760px;margin:0;color:#fff;font-family:var(--trs-display-font);font-size:clamp(40px,4.5vw,60px);font-weight:500;line-height:1.03}
.trs-about-compliance p:not(.trs-eyebrow){max-width:720px;margin:22px 0 0;color:rgba(255,255,255,.8);font-size:17px;line-height:1.85}
.trs-about-compliance__items{display:grid;gap:12px}
.trs-about-compliance__items>div{display:flex;align-items:center;gap:15px;padding:18px 20px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07);color:#fff}
.trs-about-compliance__items span{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:rgba(234,216,174,.15);color:var(--trs-gold-200)}
.trs-about-compliance__items .trs-icon{width:20px;height:20px}
.trs-about-compliance__items strong{font-size:14px;line-height:1.4}
.trs-about-commitment__media{position:relative}
.trs-about-commitment__media img{display:block;width:100%;aspect-ratio:1.12;object-fit:cover;border-radius:24px;box-shadow:var(--trs-shadow-lg)}
.trs-about-custom-copy{padding-top:0}

@media(max-width:1080px){
  .trs-about-experience__grid,.trs-about-compliance__grid{grid-template-columns:1fr;gap:38px}
  .trs-about-experience__grid{padding:44px}
}
@media(max-width:760px){
  .trs-about-mini-grid,.trs-about-service-grid{grid-template-columns:1fr}
  .trs-about-hero{min-height:360px}
  .trs-about-hero .trs-inner-hero__content{padding-block:76px 48px}
}
@media(max-width:620px){
  .trs-about-hero{min-height:330px}
  .trs-about-hero .trs-inner-hero__content h1{font-size:clamp(40px,11vw,52px)}
  .trs-about-copy,.trs-about-experience__copy>p,.trs-about-services .trs-centered-heading>p:not(.trs-eyebrow),.trs-about-compliance p:not(.trs-eyebrow){font-size:15px;line-height:1.75}
  .trs-about-experience{padding-top:10px}
  .trs-about-experience__grid{padding:30px 22px;border-radius:18px}
  .trs-about-decade{align-items:center}
  .trs-about-decade strong{font-size:72px}
  .trs-about-service-card{padding:28px 24px}
  .trs-about-compliance__items>div{padding:16px}
  .trs-about-commitment__media img{border-radius:18px;aspect-ratio:1.05}
}

/* Phase 4 paid-booking cancellation request workflow */
.trs-cancellation-request-card {
  margin-top: 24px;
  padding: 28px;
  border: 1px solid rgba(190, 148, 64, .32);
  border-radius: var(--trs-radius-lg);
  background: linear-gradient(145deg, #fffdf8 0%, #f8f1e2 100%);
  box-shadow: var(--trs-shadow-sm);
}
.trs-cancellation-request-card h3 { margin: 4px 0 10px; color: var(--trs-green-900); font-family: var(--trs-display-font); font-size: clamp(1.7rem, 2.2vw, 2.3rem); line-height: 1.12; }
.trs-cancellation-request-card p { max-width: 760px; margin: 0 0 18px; color: var(--trs-muted); }
.trs-cancellation-request-card__previous { padding: 12px 14px; border-left: 3px solid var(--trs-gold-500); background: rgba(255,255,255,.72); color: var(--trs-ink) !important; }
.trs-cancellation-request-card form { display: grid; gap: 16px; }
.trs-cancellation-request-card label { display: grid; gap: 8px; max-width: 820px; font-weight: 700; color: var(--trs-green-900); }
.trs-cancellation-request-card textarea { width: 100%; min-height: 120px; resize: vertical; border: 1px solid var(--trs-line); border-radius: 12px; background: #fff; padding: 14px 16px; color: var(--trs-ink); line-height: 1.55; }
.trs-cancellation-request-card .trs-button { justify-self: start; }
.trs-cancellation-state { margin-top: 14px; }
@media (max-width: 620px) {
  .trs-cancellation-request-card { padding: 20px 18px; border-radius: 18px; }
  .trs-cancellation-request-card h3 { font-size: 1.75rem; }
  .trs-cancellation-request-card .trs-button { width: 100%; justify-content: center; }
}

/* Phase 5 secure hosted payment checkout */
.trs-payment-card{margin-top:24px;padding:30px;border:1px solid rgba(190,148,64,.28);border-radius:var(--trs-radius-lg);background:linear-gradient(145deg,#fff 0%,#fbf7ee 100%);box-shadow:var(--trs-shadow-sm)}
.trs-payment-card__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.trs-payment-card__head h3{max-width:650px;margin:5px 0 0;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:clamp(1.8rem,2.7vw,2.55rem);font-weight:500;line-height:1.08}
.trs-payment-card__amount{flex:0 0 auto;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:clamp(1.7rem,2.4vw,2.3rem);font-weight:500;white-space:nowrap}
.trs-payment-sandbox-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 16px;margin:0 0 20px;padding:15px 17px;border:1px solid rgba(194,145,46,.28);border-radius:13px;background:#fff8e8;color:var(--trs-green-950)}
.trs-payment-sandbox-note strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--trs-gold-700)}
.trs-payment-sandbox-note span{font-size:13px;line-height:1.55;color:var(--trs-muted)}
.trs-payment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.trs-payment-option{margin:0}
.trs-payment-option .trs-button{min-height:50px;text-align:center}
.trs-payment-card__fine{margin:17px 0 0;color:var(--trs-muted);font-size:12px;line-height:1.6}
.trs-payment-provider-label{margin:8px 0 0;color:var(--trs-muted);font-size:12px;font-weight:700}
@media(max-width:720px){
  .trs-payment-card{padding:23px 19px}
  .trs-payment-card__head{display:grid;gap:12px;align-items:start}
  .trs-payment-card__amount{white-space:normal}
  .trs-payment-sandbox-note{grid-template-columns:1fr;gap:5px}
  .trs-payment-options{grid-template-columns:1fr}
}

/* Phase 5.2 embedded payment experience */
.trs-payment-live{margin:16px 0 2px;padding:13px 15px;border:1px solid rgba(0,67,51,.15);border-radius:12px;background:#f1f8f5;color:var(--trs-green-950);font-size:13px;font-weight:600;line-height:1.55}
.trs-payment-live[hidden]{display:none}
.trs-payment-live.is-success{border-color:rgba(23,106,73,.24);background:#edf8f2;color:var(--trs-success)}
.trs-payment-live.is-error{border-color:rgba(155,44,44,.2);background:#fff2f1;color:var(--trs-danger)}

/* Phase 6 — guest portal completion */
.trs-portal-alert{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin:0 0 24px;border:1px solid var(--trs-gold-200);border-radius:18px;background:linear-gradient(135deg,#fffdf7,#f6efe0);box-shadow:var(--trs-shadow-sm)}
.trs-portal-alert h2{margin:.2rem 0 .35rem;font-size:clamp(1.25rem,2vw,1.7rem)}
.trs-portal-alert p{margin:0;max-width:760px}.trs-portal-alert form{flex:0 0 auto}
.trs-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}
.trs-portal-card{margin:0}.trs-portal-muted{padding:14px 16px;border-radius:12px;background:var(--trs-cream);color:var(--trs-muted)}
.trs-portal-action-list{display:grid;gap:10px;margin-top:18px}.trs-portal-action-list a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid var(--trs-line);border-radius:13px;text-decoration:none;color:var(--trs-ink);background:#fff;transition:.2s ease}.trs-portal-action-list a:hover{border-color:var(--trs-gold-500);transform:translateY(-1px)}.trs-portal-action-list span{display:grid;gap:4px}.trs-portal-action-list small{color:var(--trs-muted)}.trs-portal-action-list strong{color:var(--trs-green-900);font-size:.9rem}
.trs-change-request-panel,.trs-payment-history,.trs-account-email-card,.trs-support-conversation{margin-top:24px}.trs-change-request-panel__head,.trs-account-email-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.trs-change-request-panel__head h2,.trs-account-email-card__head h2{margin-top:.2rem}.trs-portal-policy-note{display:grid;gap:5px;padding:15px 16px;border-left:3px solid var(--trs-gold-500);background:#fbf7ed;border-radius:0 10px 10px 0;color:var(--trs-muted)}.trs-portal-policy-note strong{color:var(--trs-ink)}
.trs-portal-history{display:grid;gap:12px;margin-top:18px}.trs-portal-history>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:start;padding:16px;border:1px solid var(--trs-line);border-radius:14px;background:#fff}.trs-portal-history>article>div{display:grid;gap:4px}.trs-portal-history span{color:var(--trs-muted)}.trs-portal-history article>p{grid-column:1/-1;margin:0;color:var(--trs-muted)}
.trs-portal-status{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:6px 9px;border-radius:999px;background:#eef2ef;color:var(--trs-green-900);font-size:.76rem;font-style:normal;font-weight:700;letter-spacing:.02em}.trs-portal-status.is-requested,.trs-portal-status.is-under_review{background:#f6edd8;color:#7a571a}.trs-portal-status.is-approved{background:#e5f2ea;color:#176a49}.trs-portal-status.is-declined{background:#f8e7e7;color:#8a2828}.trs-portal-status.is-price_adjustment_required{background:#f8eed9;color:#7a571a}
.trs-payment-history__booking{grid-template-columns:minmax(0,1fr) auto!important}.trs-payment-history__row{grid-column:1/-1;display:flex!important;justify-content:space-between;gap:18px;padding-top:12px;border-top:1px solid var(--trs-line)}.trs-payment-history__row span{display:grid;gap:2px}.trs-payment-history__row span:last-child{text-align:right}.trs-payment-history__row small{color:var(--trs-muted)}.trs-payment-history__refund{grid-column:1/-1!important;display:flex!important;justify-content:space-between;padding:12px 14px;border-radius:10px;background:#eef6f0}.trs-payment-history__refund strong{color:var(--trs-success)}
.trs-support-grid{align-items:start}.trs-support-thread-list{display:grid;gap:9px;margin-top:16px}.trs-support-thread-list a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 15px;border:1px solid var(--trs-line);border-radius:13px;color:var(--trs-ink);text-decoration:none;background:#fff}.trs-support-thread-list a.is-active,.trs-support-thread-list a:hover{border-color:var(--trs-gold-500);background:#fffdf8}.trs-support-thread-list span{display:grid;gap:3px}.trs-support-thread-list small{color:var(--trs-muted)}.trs-support-thread-list em{font-size:.75rem;font-style:normal;color:var(--trs-green-900);font-weight:700}.trs-support-messages{display:grid;gap:12px;margin:22px 0}.trs-support-messages article{max-width:82%;padding:15px 16px;border-radius:15px;background:#f3f2ed}.trs-support-messages article.is-guest{justify-self:end;background:#edf5f1}.trs-support-messages article.is-staff{justify-self:start}.trs-support-messages p{margin:.45rem 0;line-height:1.65}.trs-support-messages time{font-size:.74rem;color:var(--trs-muted)}
.trs-account-email-card hr{margin:24px 0;border:0;border-top:1px solid var(--trs-line)}
.trs-account-link-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;margin:22px 0;border:1px solid var(--trs-gold-200);border-radius:16px;background:#fffaf0}.trs-account-link-card h3{margin:.2rem 0 .35rem}.trs-account-link-card p{margin:0;max-width:720px}.trs-auth-claim{margin-bottom:18px}
.trs-dashboard-empty--compact{padding:26px 14px}.trs-dashboard-empty--compact h3{margin-bottom:6px}
@media (max-width:900px){.trs-portal-grid{grid-template-columns:1fr}.trs-portal-alert,.trs-account-link-card{align-items:flex-start;flex-direction:column}.trs-portal-alert form,.trs-account-link-card .trs-button{width:100%}.trs-portal-alert .trs-button,.trs-account-link-card .trs-button{justify-content:center}.trs-support-messages article{max-width:92%}}
@media (max-width:560px){.trs-portal-alert{padding:20px}.trs-change-request-panel__head,.trs-account-email-card__head{flex-direction:column}.trs-portal-history>article{grid-template-columns:1fr}.trs-portal-history .trs-portal-status{justify-self:start}.trs-payment-history__booking{grid-template-columns:1fr!important}.trs-payment-history__row{flex-direction:column}.trs-payment-history__row span:last-child{text-align:left}.trs-support-thread-list a{align-items:flex-start;flex-direction:column}.trs-support-messages article{max-width:100%}}

/* Phase 6.3 — optional account creation inside the reservation checkout */
.trs-checkout-account-card{margin:24px 0;padding:28px;border:1px solid rgba(190,148,64,.3);border-radius:var(--trs-radius-lg);background:linear-gradient(145deg,#fffdf8 0%,#f7f0e3 100%);box-shadow:var(--trs-shadow-sm)}
.trs-checkout-account-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}
.trs-checkout-account-card__head h3{margin:5px 0 8px;color:var(--trs-green-950);font-family:var(--trs-display-font);font-size:clamp(1.8rem,2.6vw,2.45rem);font-weight:500;line-height:1.08}
.trs-checkout-account-card__head p:last-child{max-width:720px;margin:0;color:var(--trs-muted);line-height:1.65}
.trs-checkout-account-card__head>span{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;background:var(--trs-green-900);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.trs-checkout-account-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.trs-checkout-account-choice{display:flex;align-items:flex-start;gap:12px;padding:17px 18px;border:1px solid var(--trs-line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.trs-checkout-account-choice:has(input:checked){border-color:var(--trs-gold-500);box-shadow:0 8px 24px rgba(0,67,51,.08);transform:translateY(-1px)}
.trs-checkout-account-choice input{flex:0 0 auto;margin-top:4px;accent-color:var(--trs-green-900)}
.trs-checkout-account-choice span{display:grid;gap:4px}
.trs-checkout-account-choice strong{color:var(--trs-green-950);font-size:.95rem}
.trs-checkout-account-choice small{color:var(--trs-muted);font-size:.8rem;line-height:1.5}
.trs-checkout-account-password{margin-top:16px;padding:18px;border:1px solid rgba(0,67,51,.13);border-radius:14px;background:#fff}
.trs-checkout-account-password[hidden]{display:none}
.trs-checkout-account-password label{display:grid;gap:8px;max-width:520px;color:var(--trs-green-950);font-weight:700}
.trs-checkout-account-password input{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--trs-line);border-radius:11px;background:#fff;color:var(--trs-ink);font:inherit;outline:none}
.trs-checkout-account-password input:focus{border-color:var(--trs-gold-500);box-shadow:0 0 0 3px rgba(190,148,64,.12)}
.trs-checkout-account-password p{margin:10px 0 0;color:var(--trs-muted);font-size:.82rem;line-height:1.55}
.trs-checkout-account-password .trs-checkout-account-saved{color:var(--trs-green-800)}
.trs-checkout-account-error{margin-top:12px;padding:11px 13px;border-radius:10px;background:#fff2f1;color:var(--trs-danger);font-size:.84rem;font-weight:700}
.trs-checkout-account-error[hidden]{display:none}
.trs-confirmation-account-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 24px;padding:24px 26px;border:1px solid rgba(190,148,64,.32);border-radius:18px;background:linear-gradient(135deg,var(--trs-green-950),var(--trs-green-800));box-shadow:var(--trs-shadow-sm);color:#fff}
.trs-confirmation-account-card .trs-eyebrow{color:var(--trs-gold-300)}
.trs-confirmation-account-card h3{margin:.2rem 0 .45rem;color:#fff;font-family:var(--trs-display-font);font-size:clamp(1.65rem,2.4vw,2.2rem);font-weight:500;line-height:1.1}
.trs-confirmation-account-card p:last-child{max-width:760px;margin:0;color:rgba(255,255,255,.84);line-height:1.6}
.trs-confirmation-account-card .trs-button{flex:0 0 auto}
@media(max-width:760px){
  .trs-checkout-account-card{padding:22px 18px}
  .trs-checkout-account-card__head,.trs-confirmation-account-card{align-items:flex-start;flex-direction:column}
  .trs-checkout-account-choices{grid-template-columns:1fr}
  .trs-confirmation-account-card .trs-button{width:100%;justify-content:center}
}

/* Phase 8 — event enquiry, quotes and instant reservations */
.trs-event-reserve { background: linear-gradient(180deg, var(--trs-warm-white), var(--trs-cream)); }
.trs-event-reserve__intro { max-width: 790px; margin: 0 auto 34px; text-align: center; }
.trs-event-reserve__intro h2, .trs-event-status-card h2, .trs-event-quote-card h3, .trs-event-next-card h3, .trs-event-confirmed h2 { font-family: var(--trs-display-font); color: var(--trs-green-900); }
.trs-event-reserve__form { max-width: 1040px; margin: 0 auto; padding: clamp(24px,4vw,52px); background: var(--trs-warm-white); border: 1px solid var(--trs-line); border-radius: var(--trs-radius-lg); box-shadow: var(--trs-shadow-md); }
.trs-event-reserve__form label { display: grid; gap: 8px; color: var(--trs-green-900); font-weight: 700; }
.trs-event-reserve__form label > span { font-size: 13px; letter-spacing: .025em; }
.trs-event-reserve__form input:not([type="checkbox"]):not([type="radio"]), .trs-event-reserve__form select, .trs-event-reserve__form textarea { width: 100%; min-height: 50px; border: 1px solid #d8d3c8; border-radius: 10px; background: #fff; color: var(--trs-ink); padding: 11px 13px; }
.trs-event-reserve__form textarea { min-height: 112px; resize: vertical; }
.trs-event-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-bottom: 22px; }
.trs-event-form-grid--contact { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 24px; }
.trs-event-options { border: 0; padding: 0; margin: 30px 0; }
.trs-event-options legend { margin-bottom: 14px; font-family: var(--trs-display-font); font-size: 22px; color: var(--trs-green-900); }
.trs-event-package-grid, .trs-event-extra-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.trs-event-option-card, .trs-event-extra-card { grid-template-columns: auto 1fr !important; align-items: start; gap: 12px !important; padding: 18px; border: 1px solid var(--trs-line); border-radius: 14px; background: #fff; transition: border-color var(--trs-transition), box-shadow var(--trs-transition), transform var(--trs-transition); cursor: pointer; }
.trs-event-option-card:hover, .trs-event-extra-card:hover { border-color: var(--trs-gold-500); box-shadow: var(--trs-shadow-sm); transform: translateY(-1px); }
.trs-event-option-card input, .trs-event-extra-card input { margin-top: 5px; accent-color: var(--trs-green-900); }
.trs-event-option-card span, .trs-event-extra-card span { display: grid; gap: 4px; }
.trs-event-option-card strong, .trs-event-extra-card strong { font-family: var(--trs-display-font); font-size: 18px; color: var(--trs-green-900); }
.trs-event-option-card small, .trs-event-extra-card small { color: var(--trs-gold-700); }
.trs-event-option-card em, .trs-event-extra-card em { color: var(--trs-muted); font-size: 13px; font-style: normal; font-weight: 400; }
.trs-event-terms { margin: 28px 0; padding: 22px; border-radius: 16px; background: var(--trs-cream); border: 1px solid var(--trs-gold-200); }
.trs-event-terms h3 { margin-top: 0; font-family: var(--trs-display-font); color: var(--trs-green-900); }
.trs-event-terms > p { white-space: normal; color: var(--trs-muted); }
.trs-event-reserve__submit { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--trs-line); }
.trs-event-reserve__submit p { margin: 0; max-width: 500px; color: var(--trs-muted); font-size: 13px; }

.trs-event-status-wrap { max-width: 1220px; }
.trs-event-status-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(280px,.65fr); gap: 28px; align-items: start; }
.trs-event-status-main { display: grid; gap: 22px; }
.trs-event-status-card, .trs-event-next-card, .trs-event-quote-card, .trs-event-status-summary, .trs-event-history, .trs-event-confirmed { background: var(--trs-warm-white); border: 1px solid var(--trs-line); border-radius: var(--trs-radius-lg); box-shadow: var(--trs-shadow-sm); }
.trs-event-status-card, .trs-event-next-card, .trs-event-quote-card { padding: clamp(22px,3vw,34px); }
.trs-event-status-card__head, .trs-event-quote-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.trs-event-status-card__head h2, .trs-event-quote-card__head h3 { margin: 4px 0 0; }
.trs-event-status-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 7px 11px; background: var(--trs-gold-100); color: var(--trs-green-900); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.trs-event-status-pill.is-confirmed { background: #e3f1e8; color: var(--trs-success); }
.trs-event-status-pill.is-cancelled, .trs-event-status-pill.is-rejected, .trs-event-status-pill.is-expired { background: #f7e8e8; color: var(--trs-danger); }
.trs-event-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 26px 0; }
.trs-event-facts div { padding: 14px; border-radius: 12px; background: var(--trs-cream); }
.trs-event-facts span { display: block; color: var(--trs-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.trs-event-facts strong { display: block; margin-top: 4px; color: var(--trs-green-900); }
.trs-event-status-side { display: grid; gap: 20px; position: sticky; top: 24px; }
.trs-event-status-summary, .trs-event-history { padding: 24px; }
.trs-event-status-summary h3 { margin: 4px 0 8px; font-family: var(--trs-display-font); color: var(--trs-green-900); }
.trs-event-history > div { display: grid; gap: 3px; padding: 13px 0; border-top: 1px solid var(--trs-line); }
.trs-event-history > div:first-of-type { border-top: 0; }
.trs-event-history span, .trs-event-history small { color: var(--trs-muted); font-size: 12px; }
.trs-event-quote-card__head > strong { white-space: nowrap; font-family: var(--trs-display-font); font-size: clamp(24px,3vw,34px); color: var(--trs-gold-700); }
.trs-event-quote-copy { padding: 16px 0; border-top: 1px solid var(--trs-line); }
.trs-event-quote-copy h4 { margin: 0 0 5px; color: var(--trs-green-900); }
.trs-event-quote-copy p { margin: 0; }
.trs-event-quote-expiry { color: var(--trs-muted); }
.trs-event-quote-accept { display: grid; gap: 16px; margin-top: 20px; }
.trs-event-confirmed { display: flex; align-items: center; gap: 20px; padding: 26px; margin-bottom: 26px; background: linear-gradient(135deg,#f7fbf8,#fffefa); border-color: #cde3d5; }
.trs-event-confirmed__mark { width: 54px; height: 54px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--trs-green-900); color: #fff; font-size: 24px; }
.trs-event-confirmed h2 { margin: 2px 0 6px; }
.trs-event-confirmed p { margin: 0 0 14px; }
.trs-dashboard-booking--event { border-left: 4px solid var(--trs-gold-500); }

@media (max-width: 900px) {
  .trs-event-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trs-event-status-grid { grid-template-columns: 1fr; }
  .trs-event-status-side { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trs-event-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .trs-event-form-grid, .trs-event-form-grid--contact, .trs-event-package-grid, .trs-event-extra-grid, .trs-event-status-side { grid-template-columns: 1fr; }
  .trs-event-reserve__submit, .trs-event-status-card__head, .trs-event-quote-card__head, .trs-event-confirmed { align-items: stretch; flex-direction: column; }
  .trs-event-reserve__submit .trs-button { width: 100%; justify-content: center; }
  .trs-event-facts { grid-template-columns: 1fr; }
  .trs-event-quote-card__head > strong { white-space: normal; }
}



/* Phase 10 — privacy consent, accessibility and launch hardening */
.trs-hero__title{margin:0;color:#fff;font-family:var(--trs-display-font);font-size:clamp(2.6rem,5.4vw,5.25rem);line-height:.98;font-weight:500;letter-spacing:-.035em}
.trs-cookie-consent{position:fixed;left:50%;bottom:20px;z-index:99990;display:flex;align-items:center;justify-content:space-between;gap:28px;width:min(1080px,calc(100% - 32px));padding:22px 24px;border:1px solid rgba(190,148,64,.34);border-radius:18px;background:rgba(15,51,38,.98);box-shadow:0 18px 55px rgba(0,0,0,.24);color:#fff;transform:translateX(-50%)}
.trs-cookie-consent__copy{display:grid;gap:5px;max-width:690px}.trs-cookie-consent__copy strong{font-family:var(--trs-display-font);font-size:1.35rem;font-weight:600}.trs-cookie-consent__copy span{color:rgba(255,255,255,.82);font-size:.9rem;line-height:1.55}.trs-cookie-consent__actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.trs-cookie-consent .trs-button{min-height:44px}
.trs-footer-bottom .trs-container{display:flex;align-items:center;justify-content:space-between;gap:20px}.trs-cookie-preferences-link{border:0;padding:3px 0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}.trs-cookie-preferences-link:hover,.trs-cookie-preferences-link:focus-visible{color:var(--trs-gold-300)}
@media(max-width:760px){.trs-cookie-consent{align-items:stretch;flex-direction:column;bottom:12px;padding:20px}.trs-cookie-consent__actions{display:grid;grid-template-columns:1fr 1fr}.trs-cookie-consent .trs-button{width:100%;justify-content:center}.trs-footer-bottom .trs-container{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.trs-cookie-consent__actions{grid-template-columns:1fr}}


/* =========================================================
   0.10.3 — focused /rooms Amenities heading alignment
   ========================================================= */
/* Center only the two specifically approved homepage CTAs on phones. */
@media(max-width:760px){
  .trs-events-home .trs-section-heading > .trs-button,
  .trs-gallery-home .trs-section-heading > .trs-button{
    grid-column:1 / -1;
    justify-self:center;
    width:auto;
    max-width:100%;
    min-width:220px;
    margin-inline:auto;
  }
}

/* Balance the /rooms Amenities filter chips around the centre line. */
/* Center the /rooms Amenities heading with the already-centered chip group. */
.trs-room-filter-amenities legend{
  display:block;
  width:100%;
  box-sizing:border-box;
  text-align:center;
}

.trs-room-filter-amenities > div{
  justify-content:center;
}

/* =========================================================
   0.10.4 — focused /rooms filter-action alignment
   ========================================================= */
/* Center only the /rooms Show Rooms / Update Availability and Reset actions. */
.trs-room-filter-actions{
  justify-content:center;
}


/* =========================================================
   0.10.5 — WhatsApp number fallback update
   No visual/layout changes.
   ========================================================= */

/* Mini-Phase 6: lightweight hotel house-rule addendum on existing premium legal/FAQ pages. */
.trs-house-rules{margin-block:2.25rem 0;padding:clamp(1.3rem,3vw,2.4rem);border:1px solid rgba(176,143,79,.25);border-radius:20px;background:#faf8f3}
.trs-house-rules>h2{margin:0 0 1.25rem;color:#073f32}
.trs-house-rules__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 1.8rem}
.trs-house-rules__grid>div{min-width:0}
.trs-house-rules h3{margin:0 0 .45rem;color:#073f32;font-size:1.04rem}
.trs-house-rules p{margin:0;line-height:1.75}
@media(max-width:680px){.trs-house-rules__grid{grid-template-columns:1fr}}

/* Client-approved room-gallery thumbnail refinement (October 2026). */
.trs-room-carousel__thumb{height:108px}
@media(max-width:760px){.trs-room-carousel__thumb{height:96px}}
@media(max-width:620px){.trs-room-carousel__thumb{height:84px}}
