/* luxorhotel.ge — სტილები. tokens.css ცალკე იტვირთება head.php-დან,
   რომ ?v=mtime-ით ქეში სწორად გაუქმდეს (@import ვერსიას ვერ იღებს). */

/* ── FiraGO: ქართული + ლათინური + კირილიცა + თურქული ერთ ოჯახში ── */
@font-face{font-family:'FiraGO';src:url('/assets/fonts/FiraGO-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'FiraGO';src:url('/assets/fonts/FiraGO-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'FiraGO';src:url('/assets/fonts/FiraGO-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'FiraGO';src:url('/assets/fonts/FiraGO-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-default);color:var(--text-main);
  font-family:var(--font-family-body);font-size:var(--font-size-base);
  line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh}
h1,h2,h3,h4{font-family:var(--font-family-display);line-height:var(--line-height-tight);
  font-weight:600;letter-spacing:-.01em;margin:0}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
address{font-style:normal}

:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}

.wrap{max-width:1152px;margin-inline:auto;padding-inline:var(--space-4)}
@media(min-width:640px){.wrap{padding-inline:var(--space-6)}}

.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:var(--space-2);top:var(--space-2);z-index:60;background:#fff;
  padding:var(--space-2) var(--space-4);box-shadow:var(--shadow-lg);border-radius:var(--radius-md)}

/* ── ღილაკები: ყველა სენსორული სამიზნე ≥44px ── */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);
  font-weight:600;font-size:var(--font-size-sm);border:1px solid transparent;
  cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}
.btn-primary{background:var(--color-brand-600);color:#fff}
.btn-primary:hover{background:var(--color-brand-700)}
.btn-gold{background:var(--color-brand-600);color:#fff}
.btn-gold:hover{background:var(--color-brand-600)}
.btn-ghost{border-color:var(--border-default);color:var(--text-main);background:transparent}
.btn-ghost:hover{background:var(--surface-muted)}
.btn-outline-light{border-color:rgba(255,255,255,.25);color:#fff}
.btn-outline-light:hover{background:rgba(255,255,255,.1)}

/* ── ჰედერი ── */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--border-default)}
.header-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:64px}
.brand{display:flex;align-items:baseline;gap:var(--space-2);flex-shrink:0}
.brand-mark{font-weight:600;font-size:var(--font-size-lg);color:var(--color-brand-600);letter-spacing:.02em}
.brand-sub{font-size:var(--font-size-sm);color:var(--text-muted);display:none}
@media(min-width:640px){.brand-sub{display:inline}}

.nav-desktop{display:none;align-items:center;gap:var(--space-1)}
@media(min-width:1024px){.nav-desktop{display:flex}}
.nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);
  font-size:var(--font-size-sm);color:var(--text-muted);min-height:44px;display:inline-flex;align-items:center}
.nav-link:hover{background:var(--color-primary-100)}
.nav-link.is-active{color:var(--color-brand-700);font-weight:600}

.header-actions{display:flex;align-items:center;gap:var(--space-2)}
.lang-switch{display:none;gap:var(--space-1)}
@media(min-width:640px){.lang-switch{display:flex}}
.lang-chip{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);
  font-size:var(--font-size-xs);text-transform:uppercase;font-weight:500;color:var(--text-muted);
  min-height:44px;display:inline-flex;align-items:center}
.lang-chip:hover{background:var(--color-primary-100)}
.lang-chip.is-active{background:var(--color-brand-100);color:var(--color-brand-700)}
.btn-book{display:none}
@media(min-width:480px){.btn-book{display:inline-flex}}

.nav-toggle{display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;min-width:44px;background:transparent;border:0;border-radius:var(--radius-sm);
  color:var(--text-main);cursor:pointer}
.nav-toggle:hover{background:var(--color-primary-100)}
@media(min-width:1024px){.nav-toggle{display:none}}

.nav-mobile{border-top:1px solid var(--border-subtle);padding:var(--space-2) var(--space-4) var(--space-4)}
.nav-mobile a{display:flex;align-items:center;min-height:48px;padding:0 var(--space-3);
  border-radius:var(--radius-sm);font-size:var(--font-size-base)}
.nav-mobile a.is-active{background:var(--color-brand-50);color:var(--color-brand-700);font-weight:600}
@media(min-width:1024px){.nav-mobile{display:none}}

/* ── ჰირო ── */
.hero{position:relative;background:var(--color-primary-900);color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,
  var(--color-primary-900) 0%,var(--color-primary-800) 55%,var(--color-brand-900) 100%)}
.hero-inner{position:relative;padding-block:var(--space-16)}
@media(min-width:640px){.hero-inner{padding-block:112px}}
.hero-eyebrow{font-size:var(--font-size-sm);font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;color:var(--color-brand-300)}
.hero h1{margin-top:var(--space-4);font-size:var(--font-size-3xl);max-width:46rem}
@media(min-width:640px){.hero h1{font-size:var(--font-size-4xl)}}
@media(min-width:1024px){.hero h1{font-size:var(--font-size-5xl)}}
.hero-lead{margin-top:var(--space-6);font-size:var(--font-size-lg);
  color:var(--color-primary-200);max-width:40rem;line-height:var(--line-height-relaxed)}
.hero-cta{margin-top:var(--space-8);display:flex;flex-wrap:wrap;gap:var(--space-3)}
.hero-rating{margin-top:var(--space-12);display:flex;flex-wrap:wrap;align-items:center;
  gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-primary-200)}
.rating-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);
  border-radius:var(--radius-sm);background:var(--color-brand-600);
  color:#fff;font-weight:700}

/* ── სექციები ── */
.section{padding-block:var(--space-16)}
.section-muted{background:var(--surface-muted);border-block:1px solid var(--border-default)}
.section h2{font-size:var(--font-size-2xl)}
@media(min-width:640px){.section h2{font-size:var(--font-size-3xl)}}
.section-lead{margin-top:var(--space-3);color:var(--text-muted);max-width:42rem}

.grid{display:grid;gap:var(--space-6)}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.grid-4{grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}

/* ── ბარათები ── */
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-default);
  border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);
  transition:box-shadow var(--transition-normal)}
.card:hover{box-shadow:var(--shadow-md)}
.card-media{aspect-ratio:4/3;background:var(--color-primary-100);
  display:flex;align-items:center;justify-content:center;color:var(--color-primary-400);font-size:var(--font-size-sm)}
.card-body{display:flex;flex-direction:column;flex:1;padding:var(--space-5, 20px)}
.card-title{font-size:var(--font-size-lg);line-height:var(--line-height-snug)}
.card-meta{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--text-muted)}
.card-foot{margin-top:auto;padding-top:var(--space-5, 20px);display:flex;align-items:flex-end;
  justify-content:space-between;gap:var(--space-3)}

.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-4)}
.chip{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);
  background:var(--color-primary-100);color:var(--color-primary-700);font-size:var(--font-size-xs)}
.chip-gold{background:var(--color-brand-50);color:var(--color-brand-700);
  border-radius:var(--radius-full);padding:6px var(--space-3);font-size:var(--font-size-sm);font-weight:500}

.tile{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-md);
  padding:var(--space-4);font-size:var(--font-size-sm);font-weight:500}
.score-tile{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4)}
.score-value{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-brand-700)}
.score-label{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--line-height-snug)}

.panel{background:var(--color-primary-900);color:#fff;border-radius:var(--radius-xl);padding:var(--space-8)}
@media(min-width:640px){.panel{padding:var(--space-12)}}
.panel p{color:var(--color-primary-200)}

.rows{margin-top:var(--space-6)}
.row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);
  border-bottom:1px solid var(--border-default);padding-bottom:var(--space-3);margin-bottom:var(--space-3)}
.row-label{color:var(--text-muted)}
.row-value{font-weight:500;text-align:right}

.map-frame{border:1px solid var(--border-default);border-radius:var(--radius-lg);
  overflow:hidden;background:#fff;min-height:320px}
.map-frame iframe{width:100%;height:100%;min-height:320px;border:0;display:block}

/* ── ფორმა ── */
.form{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6)}
.field{margin-top:var(--space-4)}
.field label{display:block;font-size:var(--font-size-sm);font-weight:500;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;min-height:44px;padding:10px var(--space-3);
  border:1px solid var(--border-default);border-radius:var(--radius-md);background:#fff;
  font-family:inherit;font-size:var(--font-size-base);color:var(--text-main)}
.field textarea{min-height:120px;resize:vertical}
/* `/reserve`-ის ველები `<label>ტექსტი <input></label>` სტრუქტურისაა, `.field`
   wrapper-ის გარეშე — ამიტომ 44px-ის წესი მათზე არ ვრცელდებოდა და მობილურზე
   22px რჩებოდა (build059). წესი ახლა `.form`-ის ნებისმიერ ველს ფარავს. */
.form input:not([type=hidden]):not(.hp),.form select,.form textarea{
  width:100%;min-height:44px;padding:10px var(--space-3);
  border:1px solid var(--border-default);border-radius:var(--radius-md);background:#fff;
  font-family:inherit;font-size:var(--font-size-base);color:var(--text-main)}
.form textarea{min-height:120px;resize:vertical}
.form label{display:block;font-size:var(--font-size-sm);font-weight:500;margin-top:var(--space-4)}
.form .field-row{display:flex;flex-wrap:wrap;gap:var(--space-4)}
.form .field-row label{flex:1 1 160px;margin-top:0}
.req{color:var(--color-brand-600)}
.hp{position:absolute;left:-9999px}
.form-status{margin-top:var(--space-4);font-size:var(--font-size-sm);min-height:1.25rem}
.form-status.ok{color:var(--color-accent-600)}
.form-status.err{color:#b91c1c}

/* ── ფუტერი ── */
.site-footer{background:var(--surface-inverse);color:var(--text-inverse);margin-top:var(--space-24)}
.footer-grid{display:grid;gap:var(--space-8);padding-block:var(--space-12);grid-template-columns:1fr}
@media(min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
/* ფუტერის მენიუ ორ სვეტად (build073) — header-იდან ჩამოსული გვერდები.
   `columns` თვითონ ანაწილებს; ვიწრო ეკრანზე ავტომატურად ერთ სვეტად ჩამოდის. */
.footer-links-2col{columns:2;column-gap:var(--space-6)}
.footer-links-2col li{break-inside:avoid}
@media(max-width:479px){.footer-links-2col{columns:1}}
@media(min-width:1024px){.footer-grid{grid-template-columns:1fr 1.7fr 1.1fr 1.1fr}}
.footer-brand{font-weight:600;font-size:var(--font-size-lg)}
.footer-brand span{color:var(--color-brand-300)}
.site-footer address,.site-footer li{color:var(--color-primary-200);font-size:var(--font-size-sm);line-height:1.9}
.site-footer address{margin-top:var(--space-3)}
.footer-heading{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.06em;
  font-weight:600;color:var(--color-brand-300)}
.footer-heading.mt{margin-top:var(--space-6)}
.site-footer ul{margin-top:var(--space-3)}
.site-footer a:hover{color:#fff}
.footer-legal{border-top:1px solid rgba(255,255,255,.1)}
.footer-legal p{padding-block:var(--space-4);font-size:var(--font-size-xs);color:var(--color-primary-400)}

.empty{padding:var(--space-12) 0;color:var(--text-muted)}
.mt-6{margin-top:var(--space-6)}
.mt-8{margin-top:var(--space-8)}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ── დამხმარე კლასები ──────────────────────────────────────────────────── */
/* build006: inline style ატრიბუტები ამოღებულია — მკაცრი CSP-ს (`style-src 'self'`)
   ისინი ბრაუზერში ჩუმად ეწირებოდა და layout ილეოდა. */
.u-center{text-align:center}
.u-center-block{margin-inline:auto}
.u-narrow{max-width:46rem}
.u-full{width:100%}
.u-lg{font-size:var(--font-size-lg)}
.u-sm{font-size:var(--font-size-sm)}
.u-strong{color:var(--text-main)}
.u-radius{border-radius:var(--radius-md)}
.u-gap-4{gap:var(--space-4)}
.u-gap-col-12{gap:0 var(--space-12)}
.error-code{font-size:var(--font-size-5xl);font-weight:600;color:var(--color-brand-500)}

/* ── ჰიროს ფოტო (build007) ─────────────────────────────────────────────── */
.hero.has-photo{background:var(--color-primary-950)}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* კონტრასტის გარანტია ტექსტზე — ფოტო როგორიც უნდა იყოს, WCAG AA რჩება */
.hero-scrim{position:absolute;inset:0;background:
  linear-gradient(100deg, rgba(2,6,23,.92) 0%, rgba(2,6,23,.80) 48%, rgba(2,6,23,.45) 100%)}
.hero.has-photo .hero-inner{padding-block:var(--space-24)}

/* ── გალერეა ───────────────────────────────────────────────────────────── */
.gallery-item{display:block;overflow:hidden;border-radius:var(--radius-md);min-height:auto}
.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform var(--transition-slow)}
.gallery-item:hover img{transform:scale(1.04)}

/* ოთახის ბარათის ფოტო — object-fit, რომ პროპორცია არ დაიმახინჯოს */
img.card-media{object-fit:cover;width:100%}

/* ── მისალმება / ციფრები / შეფასებები / გარანტიები (build008) ─────────── */
.welcome{align-items:center}
.welcome-media img{width:100%;border-radius:var(--radius-lg);aspect-ratio:4/3;object-fit:cover}
.stat-row{gap:var(--space-3)}
.score-grid{gap:var(--space-3)}
@media(min-width:1024px){.score-grid{grid-template-columns:repeat(7,1fr)}}
.review-score{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);
  background:var(--color-brand-600);color:#fff;font-weight:700}

.quote{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-lg);
  padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}
.quote blockquote{margin:0;color:var(--text-main);line-height:var(--line-height-relaxed)}
.quote blockquote::before{content:'“';color:var(--color-brand-300);font-size:var(--font-size-2xl);
  line-height:0;vertical-align:-.25em;margin-inline-end:2px}
.quote-meta{margin-top:auto;font-size:var(--font-size-sm);color:var(--text-muted);
  display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.quote-rating{margin-inline-start:auto;padding:2px var(--space-2);border-radius:var(--radius-sm);
  background:var(--color-brand-100);color:var(--color-brand-700);font-weight:600}

.guarantees{background:var(--color-primary-900);color:var(--color-primary-200)}
.guarantee-list{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);
  padding-block:var(--space-4);font-size:var(--font-size-sm)}
.guarantee-list li::before{content:'✓';color:var(--color-brand-300);font-weight:700;margin-inline-end:6px}

/* ── ოთახის ბარათი: ბეჯი და ფასი ფოტოზე (build008) ─────────────────────── */
.room-media{position:relative}
.room-badge{position:absolute;top:var(--space-3);inset-inline-start:var(--space-3);
  padding:4px var(--space-3);border-radius:var(--radius-full);
  background:rgba(2,6,23,.78);color:#fff;font-size:var(--font-size-xs);font-weight:500}
.room-price{position:absolute;bottom:var(--space-3);inset-inline-end:var(--space-3);
  display:inline-flex;align-items:baseline;gap:4px;padding:6px var(--space-3);
  border-radius:var(--radius-md);background:var(--color-brand-600);color:#fff}
.room-price strong{font-size:var(--font-size-lg);font-weight:700}
.room-price span{font-size:var(--font-size-xs)}
.spec-chips{margin-top:var(--space-3)}
.spec-chips .chip{background:var(--color-brand-50);color:var(--color-brand-700);font-weight:500}
.chip-soft{background:var(--color-primary-100);color:var(--color-primary-700)}

/* ── ტექსტური ბმული და 8-პუნქტიანი ნავიგაცია (build009) ────────────────── */
.text-link{color:var(--color-brand-700);font-weight:600;min-height:auto;display:inline}
.text-link:hover{text-decoration:underline}
.card-title a{color:inherit}
.card-title a:hover{color:var(--color-brand-700)}
@media(min-width:1024px) and (max-width:1200px){
  .nav-link{padding-inline:var(--space-2);font-size:var(--font-size-xs)}
}

/* ── რესტორნის მენიუ (build010) ────────────────────────────────────────── */
.hero-compact .hero-inner{padding-block:var(--space-16)}
.hero-compact h1{font-size:var(--font-size-4xl)}

.menu-nav{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-8);
  padding-bottom:var(--space-6);border-bottom:1px solid var(--border-default)}
.menu-nav a{display:inline-flex;align-items:center;min-height:44px;
  padding:0 var(--space-4);border-radius:var(--radius-full);
  background:var(--surface-muted);border:1px solid var(--border-default);
  font-size:var(--font-size-sm);font-weight:500;transition:background-color var(--transition-fast)}
.menu-nav a:hover{background:var(--color-brand-50);border-color:var(--color-brand-200);color:var(--color-brand-700)}

.menu-group{margin-top:var(--space-12);scroll-margin-top:80px}
.menu-group-title{font-size:var(--font-size-xl);color:var(--color-brand-700);
  padding-bottom:var(--space-3);border-bottom:2px solid var(--color-brand-100)}

.menu-list{margin-top:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:1fr}
@media(min-width:900px){.menu-list{grid-template-columns:repeat(2,1fr);gap:var(--space-6) var(--space-12)}}

.menu-item.is-signature .menu-item-name{color:var(--color-brand-700)}
.menu-item-head{display:flex;align-items:baseline;gap:var(--space-2)}
.menu-item-name{font-weight:600;line-height:var(--line-height-snug)}
.menu-star{color:var(--color-brand-500);font-size:var(--font-size-sm)}
/* წერტილოვანი ხაზი სახელსა და ფასს შორის — კლასიკური მენიუს ტიპოგრაფია */
.menu-dots{flex:1;min-width:var(--space-6);align-self:flex-end;height:1px;
  margin-bottom:5px;border-bottom:1px dotted var(--color-primary-400)}
.menu-item-price{font-weight:700;color:var(--text-main);white-space:nowrap}
.menu-item-desc{margin-top:var(--space-1);font-size:var(--font-size-sm);
  color:var(--text-muted);line-height:var(--line-height-snug)}
.menu-note{margin-top:var(--space-12);padding-top:var(--space-6);
  border-top:1px solid var(--border-default);font-size:var(--font-size-sm);color:var(--text-muted)}

/* ── სენსორული სამიზნეები ≥44px (build011) ─────────────────────────────── */
/* ფუტერის ბმულები inline იყო — მხოლოდ 17px სიმაღლის შეხების არე.
   inline-flex + min-height აძლევს სრულ 44px-ს ვიზუალური ჩამონგრევის გარეშე. */
.site-footer li a{display:inline-flex;align-items:center;min-height:44px}
.site-footer li{line-height:var(--line-height-normal)}
.site-footer address{line-height:var(--line-height-relaxed)}
.brand{min-height:44px}
.skip-link:focus{min-height:44px;display:inline-flex;align-items:center}
.menu-nav a,.gallery-item{min-height:44px}
.gallery-item{min-height:auto}

/* ── ოთახის ფოტო-ზოლი (build017) ───────────────────────────────────────── */
/* JS-ის გარეშე: ჰორიზონტალური სქროლი snap-ით — CSP-თავსებადი და მობილურზე ბუნებრივი */
.room-strip{display:flex;gap:6px;margin-top:var(--space-4);overflow-x:auto;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.room-strip li{flex:0 0 33.333%;scroll-snap-align:start;min-width:84px}
.room-strip-item{display:block;min-height:auto;border-radius:var(--radius-sm);overflow:hidden}
.room-strip-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform var(--transition-normal)}
.room-strip-item:hover img{transform:scale(1.06)}
.room-strip::-webkit-scrollbar{height:4px}
.room-strip::-webkit-scrollbar-thumb{background:var(--color-primary-200);border-radius:2px}

/* ── ჰიროს ჯავშნის ზოლი (build020) ─────────────────────────────────────── */
/* ზიპის „FLOATING VISER BOOKING BAR"-ის ანალოგი. ჯავშნის ძრავა ჯერ არ გვაქვს,
   ამიტომ ველები /contact-ის ფორმას ავსებს query-პარამეტრებით. */
.booking-bar{margin-top:var(--space-12);display:grid;gap:var(--space-3);
  grid-template-columns:1fr;padding:var(--space-4);border-radius:var(--radius-lg);
  background:rgba(255,255,255,.96);box-shadow:var(--shadow-xl)}
@media(min-width:720px){.booking-bar{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.booking-bar{grid-template-columns:repeat(4,1fr) auto;align-items:end}}

.booking-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.booking-field label{font-size:var(--font-size-xs);font-weight:600;
  text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.booking-field input,.booking-field select{min-height:44px;width:100%;
  padding:8px var(--space-3);border:1px solid var(--border-default);
  border-radius:var(--radius-md);background:#fff;color:var(--text-main);
  font-family:inherit;font-size:var(--font-size-sm)}
.booking-submit{white-space:nowrap}
@media(min-width:1024px){.booking-submit{height:44px}}

/* ── ჯავშნის გვერდი (build023) ─────────────────────────────────────────── */
.booking-bar-page{margin-top:var(--space-8);background:var(--surface-muted);
  border:1px solid var(--border-default);box-shadow:none}
.booking-bar-page .booking-field label{color:var(--text-muted)}
.muted-inline{font-size:var(--font-size-base);font-weight:400;color:var(--text-muted)}

.booking-total{margin-top:var(--space-4);display:flex;align-items:baseline;gap:var(--space-2)}
.booking-total strong{font-size:var(--font-size-xl);color:var(--color-brand-700)}
.booking-left{margin-top:var(--space-2);font-size:var(--font-size-sm);
  color:#b45309;font-weight:600}

.booking-note{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);
  border-radius:var(--radius-md);background:var(--surface-muted);
  border:1px solid var(--border-default);font-size:var(--font-size-sm);color:var(--text-muted)}
.booking-note-err{background:#fef2f2;border-color:#fecaca;color:#991b1b}

.booking-done{max-width:42rem;padding:var(--space-8);border-radius:var(--radius-lg);
  background:var(--surface-muted);border:1px solid var(--border-default)}
.booking-ref{display:inline-flex;align-items:center;gap:var(--space-2);
  padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);
  background:var(--color-brand-100);color:var(--color-brand-700);
  font-size:var(--font-size-sm);margin-bottom:var(--space-4)}
.booking-ref strong{font-size:var(--font-size-lg);letter-spacing:.06em}

/* ── ოთახის ცალკე გვერდი (build027) ── */
.breadcrumb{padding:var(--space-4) 0 0;font-size:var(--font-size-sm);color:var(--color-primary-700)}
.breadcrumb a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.breadcrumb a:hover{color:var(--color-brand-700);text-decoration:underline}
.breadcrumb span{margin:0 var(--space-2);color:var(--color-primary-400)}
.breadcrumb [aria-current]{color:var(--color-primary-900);font-weight:500}

.room-detail{display:grid;gap:var(--space-8);grid-template-columns:1fr}
@media (min-width:900px){.room-detail{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}}
.room-hero-img{width:100%;height:auto;border-radius:var(--radius-lg);display:block;box-shadow:var(--shadow-md)}
.room-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-top:var(--space-3);padding:0;list-style:none}
.room-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);display:block}
.room-gallery a{display:block;border-radius:var(--radius-sm);overflow:hidden}
.room-gallery a:hover img{opacity:.88}

.room-detail-h2{font-size:var(--font-size-lg);margin:var(--space-6) 0 var(--space-3)}
.room-detail-book{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin:var(--space-6) 0;
  padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--color-brand-50)}
.room-detail-price{margin:0;display:flex;align-items:baseline;gap:var(--space-2)}
.room-detail-price strong{font-size:var(--font-size-2xl);font-family:var(--font-family-display)}
.room-detail-price span{font-size:var(--font-size-sm);color:var(--color-primary-700)}
.room-detail-book .btn{margin-left:auto}
.room-detail-rules{margin-top:var(--space-6)}
.card-title a{color:inherit;text-decoration:none}
.card-title a:hover{color:var(--color-brand-700);text-decoration:underline}

/* ── სამართლებრივი / CMS გვერდები (build028) ── */
.page-body h2{font-size:var(--font-size-xl);margin:var(--space-8) 0 var(--space-3);
  padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}
.page-body h2:first-child{margin-top:0;padding-top:0;border-top:0}
/* გლობალურად ul{list-style:none} — CMS-ის ტექსტში ბულეთები უკან ვაბრუნებთ */
.page-body ul{margin:0 0 var(--space-4);padding-left:var(--space-6);list-style:disc}
.page-body li::marker{color:var(--color-brand-600)}
.page-body li{margin-bottom:var(--space-2)}
.page-body code{font-size:.9em;padding:1px var(--space-1);border-radius:var(--radius-sm);
  background:var(--color-primary-100);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.page-body p{max-width:72ch}
.page-body li{max-width:70ch}

/* ── მობილური ქმედებების ზოლი (build030) ── */
.mobile-bar{display:none}
@media (max-width:767px){
  .mobile-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;
    inset-inline:0;bottom:0;z-index:40;background:#fff;
    border-top:1px solid var(--border-default);box-shadow:0 -2px 12px rgb(15 23 42 / .10);
    padding-bottom:env(safe-area-inset-bottom)}
  .mobile-bar-item{display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:2px;min-height:56px;padding:var(--space-2) var(--space-1);text-decoration:none;
    font-size:var(--font-size-xs);color:var(--color-primary-800);font-weight:500;line-height:1.2}
  .mobile-bar-item.is-primary{color:var(--color-brand-700);font-weight:600}
  .mobile-bar-item:active{background:var(--color-brand-50)}
  .mobile-bar-icon{font-size:1.15rem;line-height:1}
  /* ზოლი გვერდის ბოლო სტრიქონს არ უნდა ფარავდეს.
     padding `body`-ზეა და არა `.footer-legal`-ზე: აბზაცის საკუთარი margin
     კონტეინერის padding-ს გარეთ რჩებოდა და © ზოლის უკან ხვდებოდა. */
  body{padding-bottom:calc(57px + var(--space-4) + env(safe-area-inset-bottom))}
}

/* ── ფუტერის CTA ზოლი (build030) ── */
.footer-cta{background:var(--color-brand-50);border-top:1px solid var(--color-brand-200);
  padding:var(--space-8) 0}
.footer-cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4)}
.footer-cta-title{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-xl);
  color:var(--color-brand-900)}
.footer-cta-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}

/* ── ჯავშნის ნაბიჯები (build030) ── */
.stepper{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:var(--space-6) 0 0;padding:0;counter-reset:none}
.stepper-item{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);
  border-radius:var(--radius-full);background:var(--color-primary-100);color:var(--color-primary-600);
  font-size:var(--font-size-sm)}
.stepper-item.is-current{background:var(--color-brand-600);color:#fff;font-weight:600}
.stepper-item.is-done{background:var(--color-brand-100);color:var(--color-brand-700)}
.stepper-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;
  border-radius:var(--radius-full);background:rgb(255 255 255 / .28);font-size:var(--font-size-xs);font-weight:700}
.stepper-item.is-done .stepper-num,.stepper-item:not(.is-current) .stepper-num{background:rgb(15 23 42 / .08)}
@media (max-width:520px){.stepper-label{display:none}.stepper-item{padding:var(--space-2)}}

/* ── ჰიროს მეორეხარისხოვანი ბმული (build030) ── */
.hero-alt{margin:var(--space-3) 0 0;font-size:var(--font-size-sm)}
.hero-alt a{color:rgb(255 255 255 / .82);text-decoration:underline;
  display:inline-flex;align-items:center;min-height:44px}
.hero-alt a:hover{color:#fff}
.hero:not(.has-photo) .hero-alt a{color:var(--color-primary-700)}

/* ── მონაცემთა შეგროვების შეტყობინება (build037) ── */
.form-privacy{margin:var(--space-4) 0 0;font-size:var(--font-size-xs);color:var(--color-primary-700);max-width:60ch}
.form-privacy a{color:var(--color-brand-700);display:inline-flex;align-items:center;min-height:44px}

/* ── ვიწრო ეკრანის გასწორებები (build059) ── */
/* 320px-ზე `.card-foot`-ის ორი ღილაკი გვერდიგვერდ ეკრანს სცდებოდა (x=363>320)
   და „დაჯავშნა" ნაწილობრივ უხილავი რჩებოდა. */
@media (max-width:400px){
  .card-foot{flex-wrap:wrap;gap:var(--space-2)}
  .card-foot .btn{flex:1 1 100%;justify-content:center}
  .room-detail-book{flex-direction:column;align-items:stretch}
  .room-detail-book .btn{margin-left:0;justify-content:center}
  .footer-cta-actions{width:100%}
  .footer-cta-actions .btn{flex:1 1 100%;justify-content:center}
}
/* WCAG 2.2 (2.5.8): დამოუკიდებელი სამიზნე ≥24px. ბარათის სათაურის ბმული 22px იყო. */
.card-title a{display:inline-block;min-height:24px;line-height:24px}
