@font-face{font-family:"RBDigits";src:local("Arial"),local("Helvetica Neue"),local("Helvetica"),local("Roboto"),local("Noto Sans");unicode-range:U+0030-0039}
/* Royal Bath homepage (draft design) — scoped to the new home page only */
:root{--ink:#f8f3e8;--muted:#ddd2ba;--navy:#062a3a;--navy-deep:#031d28;--gold:#d4b36a;--gold-light:#efd99f;--paper:#f4efe3;--charcoal:#20201d}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--charcoal);background:var(--paper);font-family:"RBDigits","Noto Serif Georgian",Sylfaen,Georgia,"Times New Roman",serif}
button,input,select{font:inherit}
img{max-width:100%}
.hero{min-height:100svh;color:var(--ink);position:relative;display:grid;grid-template-rows:auto 1fr;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,rgba(3,21,29,.90) 0%,rgba(3,21,29,.62) 46%,rgba(3,21,29,.25) 100%),linear-gradient(0deg,rgba(3,21,29,.62),transparent 45%),url("https://www.royalbath.ge/storage/slider/1699958799.jpg") center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;border:1px solid rgba(212,179,106,.28);margin:18px;pointer-events:none}
.nav{width:min(1220px,calc(100% - 48px));margin:0 auto;min-height:104px;display:flex;align-items:center;gap:28px;border-bottom:1px solid rgba(212,179,106,.48)}
.brand{display:flex;align-items:center;flex:0 0 460px;justify-content:space-between;gap:48px;margin-right:32px;text-decoration:none;color:var(--gold-light)}
.brand img{width:76px;height:auto}
.brand-name{color:var(--gold-light);font-size:24px;letter-spacing:.06em;white-space:nowrap;margin-left:auto}
.nav-links{display:flex;align-items:center;gap:18px;margin-left:auto}
.nav-links a,.language button{color:var(--ink);text-decoration:none;font:600 13px/1.2 "Noto Sans Georgian",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.language{display:flex;gap:5px;align-items:center}
.language button{padding:6px 5px;border:0;background:transparent;cursor:pointer;opacity:.6}
.language button[aria-pressed="true"]{color:var(--gold-light);opacity:1;border-bottom:1px solid var(--gold)}
.book-link{padding:13px 18px;border:1px solid var(--gold);color:var(--gold-light)!important}
.hero-inner{width:min(1220px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(440px,.92fr) minmax(360px,.78fr);align-items:center;gap:clamp(42px,6vw,88px);align-content:center;padding:76px 0 64px}
.hero-copy{min-width:0;grid-column:2;align-self:end;padding-bottom:48px}
.booking-wrap{width:100%;max-width:560px;grid-column:1;grid-row:1;justify-self:start}
.eyebrow{margin:0 0 14px;color:var(--gold-light);font:600 13px/1.3 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.intro{max-width:540px;margin:12px 0 0;color:var(--ink);font-size:clamp(18px,1.65vw,22px);line-height:1.55;text-shadow:0 2px 18px rgba(0,0,0,.82)}
.booking{width:100%;background:rgba(247,242,231,.98);color:var(--charcoal);box-shadow:0 24px 65px rgba(0,0,0,.28);border:1px solid rgba(239,217,159,.75);border-radius:82px 82px 4px 4px;position:relative;margin:0}
.booking::before{content:"";position:absolute;inset:8px;border:1px solid rgba(6,39,58,.14);border-radius:74px 74px 2px 2px;pointer-events:none}
.booking-title{display:grid;gap:7px;text-align:center;padding:52px 34px 8px;position:relative}
.booking-title strong{font-size:23px;font-weight:500}
.booking-title span{color:#655f55;font:14px/1.4 Arial,sans-serif}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:18px 0;padding:22px 34px 38px;position:relative}
.field{min-width:0;padding:0 18px;border-right:1px solid #cbbd9d}
.field:nth-child(odd){padding-left:0}
.field:nth-child(even){border-right:0}
label{display:block;margin-bottom:9px;color:#706858;font:700 11px/1 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
input,select{width:100%;min-height:38px;border:0;color:#25241f;background:transparent;outline:0;font-size:16px}
.search{min-height:58px;grid-column:1/-1;margin:2px 0 0;padding:0 26px;border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;font:700 13px/1 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.search:hover{background:#0a3b50}
.note{margin:18px 0 0;color:rgba(248,243,232,.80);font:14px/1.5 Arial,sans-serif}
.section{padding:96px max(24px,calc((100vw - 1220px)/2))}
.section-kicker{margin:0 0 12px;color:#92753f;font:700 12px/1.3 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
h2{margin:0;color:var(--navy-deep);font-weight:400;font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-.025em}
.section-lead{max-width:680px;margin:18px 0 0;color:#5e584e;font:17px/1.65 Arial,sans-serif}
.rooms-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:38px}
.rooms-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px}
.room{grid-column:span 4;display:grid;background:#fffdf8;border:1px solid #ded3bd;box-shadow:0 12px 35px rgba(28,25,19,.06)}
.room:nth-child(1),.room:nth-child(2){grid-column:span 6}
.room img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.room-body{padding:24px;display:grid;align-content:start}
.room-top{display:flex;align-items:start;justify-content:space-between;gap:16px}
.room h3{margin:0;color:var(--navy-deep);font-size:27px;font-weight:400}
.price{color:#85672f;white-space:nowrap;font:700 16px/1.4 Arial,sans-serif}
.details{margin:13px 0 20px;color:#625d53;font:15px/1.6 Arial,sans-serif}
.room-actions{display:flex;justify-content:space-between;align-items:center;margin-top:auto}
.capacity{color:#716a5d;font:700 12px/1.3 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.text-link{color:var(--navy);font:700 13px/1 Arial,sans-serif;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.ritual{color:var(--ink);background:var(--navy);position:relative;overflow:hidden}
.ritual::before{content:"";position:absolute;inset:0;background:url("/front/assets/img/royal-lion.png") 20px 30px/155px auto repeat;filter:grayscale(1) brightness(3);opacity:.07;pointer-events:none}
.ritual>*{position:relative;z-index:1}
.ritual h2{color:var(--ink);max-width:720px}
.ritual .section-lead{color:var(--muted)}
.ritual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:44px;background:rgba(212,179,106,.38);border:1px solid rgba(212,179,106,.38)}
.ritual-item{padding:32px;background:var(--navy-deep)}
.ritual-number{color:var(--gold);font-size:14px;letter-spacing:.14em}
.ritual-item h3{margin:32px 0 10px;color:#fff;font-size:27px;font-weight:400}
.ritual-item p{margin:0 0 24px;color:#d8cfbd;font:15px/1.6 Arial,sans-serif}
.ritual-price{color:var(--gold-light);font:700 15px/1.3 Arial,sans-serif}
.story{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(42px,8vw,110px);align-items:center;background:#e9dfcc}
.story-image{min-height:590px;background:linear-gradient(rgba(3,21,29,.08),rgba(3,21,29,.42)),url("https://www.royalbath.ge/storage/about/1700037780.jpg") center/cover;border:1px solid #bfa66d;box-shadow:22px 22px 0 var(--navy)}
.story blockquote{margin:34px 0;padding-left:24px;border-left:2px solid var(--gold);color:#3e3a32;font-size:22px;line-height:1.5}
.story-copy{color:#5b554b;font:17px/1.75 Arial,sans-serif}
.guide{background:#f7f3ea}
.guide-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;margin-top:44px}
.guide-socials{display:flex;gap:12px;align-items:flex-start}
.social-link{width:48px;height:48px;display:grid;place-items:center;color:var(--navy);border:1px solid #bca97f;border-radius:50%;background:#fffdf8;transition:color .2s ease,background .2s ease,transform .2s ease}
.social-link:hover{color:var(--gold-light);background:var(--navy);transform:translateY(-2px)}
.social-link svg{width:21px;height:21px;fill:currentColor}
.guide-list{border-top:1px solid #cdbf9f}
details{border-bottom:1px solid #cdbf9f}
summary{cursor:pointer;list-style:none;padding:23px 2px;color:var(--navy-deep);font-size:20px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:#96773c}
details[open] summary::after{content:"–"}
details p{margin:-6px 0 22px;color:#625d53;font:15px/1.65 Arial,sans-serif}
footer{padding:30px max(24px,calc((100vw - 1220px)/2));display:flex;justify-content:space-between;gap:20px;color:#8e887c;background:#04161e;font:13px/1.5 Arial,sans-serif}
@media (max-width:900px){
.nav{min-height:84px}
.brand{flex:1 1 auto;gap:30px;margin-right:0}
.nav-links a:not(.book-link){display:none}
.hero-inner{grid-template-columns:1fr;align-content:end;padding-top:48px}
.hero-copy{grid-column:1;grid-row:2;padding:8px 0 0}
.booking-wrap{max-width:100%;grid-column:1;grid-row:1;justify-self:stretch}
.booking-fields{grid-template-columns:1fr 1fr;gap:18px 0}
.field:nth-child(2),.field:nth-child(4){border-right:0}
.field:nth-child(3){padding-left:0}
.search{grid-column:1/-1;margin:0;width:100%}
.rooms-head{display:block}
.room,.room:nth-child(1),.room:nth-child(2){grid-column:span 6}
.ritual-grid{grid-template-columns:1fr}
.story,.guide-grid{grid-template-columns:1fr}
.story-image{min-height:460px}
}
@media (max-width:560px){
.hero{min-height:auto;background-position:62% center}
.hero::after{margin:8px}
.nav,.hero-inner{width:min(100% - 30px,1220px)}
.nav{min-height:76px}
.brand img{width:62px}
.brand-name{font-size:16px}
.brand{gap:18px}
.nav-links{display:none}
.book-link{padding:11px 13px}
.hero-inner{padding:76px 0 28px}
.intro{margin:18px 0 26px}
.booking{border-radius:58px 58px 4px 4px}
.booking::before{border-radius:50px 50px 2px 2px}
.booking-fields{grid-template-columns:1fr}
.field,.field:nth-child(3){padding:0 0 10px;border-right:0;border-bottom:1px solid #cbbd9d}
.note{margin-bottom:16px}
.section{padding-top:70px;padding-bottom:70px}
.rooms-grid{grid-template-columns:1fr}
.room,.room:nth-child(1),.room:nth-child(2){grid-column:1}
.story-image{min-height:390px;box-shadow:12px 12px 0 var(--navy)}
footer{display:grid}
}
.language a{padding:6px 5px;color:var(--ink);text-decoration:none;font:600 13px/1.2 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:.6}
.language a[aria-current="true"]{color:var(--gold-light);opacity:1;border-bottom:1px solid var(--gold)}

/* mobile: show menu links in a second row */
@media(max-width:1050px){
.nav{flex-wrap:wrap;row-gap:10px;padding-bottom:14px}
.nav-links{display:flex!important;order:3;width:100%;margin:0;justify-content:space-between;gap:6px;flex-wrap:wrap}
.nav-links a:not(.book-link){display:inline-block!important}
.nav-links a{font-size:12px;letter-spacing:.03em}
.nav-links .book-link{padding:8px 10px}
}

/* larger logo */
.brand img{width:auto;height:auto;max-width:132px;max-height:88px}
@media(max-width:620px){.brand img{max-width:104px;max-height:64px}}

/* logo: fixed larger size (image has padding) */
.brand img{width:80px;max-width:none;height:auto;max-height:none}
@media(max-width:620px){.brand img{width:64px}}

/* nav from the updated draft */
.brand-name{font-weight:700}.nav-links a{font-weight:800}.brand{flex-basis:360px;margin-right:12px}.nav-links{gap:14px}
@media(max-width:1100px){.nav{flex-wrap:wrap;padding-top:12px;padding-bottom:16px;gap:14px}.brand{flex:1 1 auto}.nav-links{display:flex!important;order:3;flex:0 0 100%;justify-content:center;flex-wrap:wrap;margin:0}.nav-links a{display:block!important}.nav-links .book-link{padding:8px 12px}}
@media(max-width:620px){.nav-links a{font-size:11px;letter-spacing:.03em}.nav-links{gap:14px}.brand-name{font-size:17px}}
.brand-name{font-family:Georgia,"Noto Serif Georgian",Sylfaen,serif;font-weight:400;letter-spacing:.06em}

/* booking card stays at the same height in every language (desktop) */
@media(min-width:901px){.hero-inner{align-content:end;align-items:end;padding-top:76px;padding-bottom:clamp(26px,4.5vh,44px)}.booking-wrap{align-self:end}.booking-wrap .note{min-height:3em;margin-bottom:0}.hero-copy{align-self:end;padding-bottom:36px}}

/* logo fits inside the header bar */
.brand img{height:68px!important;width:auto!important;max-width:none!important;max-height:68px!important;object-fit:contain;align-self:center;flex:0 0 auto;margin:0!important}
@media(min-width:1101px){.nav{min-height:116px!important;padding-top:16px!important;padding-bottom:16px!important;box-sizing:border-box}}
@media(max-width:1100px){.brand img{height:62px!important;max-height:62px!important}}
@media(max-width:620px){.brand img{height:54px!important;max-height:54px!important}}

/* date shown as dd/mm/yyyy */
.datebox{position:relative}
.datebox input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2;border:0;padding:0;min-height:0}
.datetext:after{content:"";flex:0 0 18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2325241f' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") no-repeat center/contain}
.datetext{display:flex;align-items:center;justify-content:space-between;min-height:38px;font-size:16px;color:#25241f}

/* mobile safety: nothing may be wider than the screen (all phone models) */
html,body{max-width:100%;overflow-x:hidden}
.nav>*,.hero-inner>*,.detail>*,.booking-wrap,.booking,.field,.room,.room-body,.gallery,.room-copy{min-width:0}
@media(max-width:1050px){.two-col>*,.history-grid>*,.contact-layout>*,.story>*,.guide-grid>*{min-width:0}}
.thumbnails{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:1050px){
.hero-inner,.detail,.two-col,.history-grid,.water-grid,.contact-layout,.story,.guide-grid,.ritual-grid{grid-template-columns:minmax(0,1fr)}
.rooms-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
}
@media(max-width:620px){
.rooms-grid,.booking-fields,.form-grid,.field-grid{grid-template-columns:minmax(0,1fr)}
.room-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){
.nav{gap:8px 10px}
.brand{gap:10px;min-width:0}
.brand-name{font-size:15px;letter-spacing:.03em}
.language a{padding:6px 3px}
.nav-links{gap:10px}
.nav-links a{font-size:10.5px;letter-spacing:.02em}
.nav-links .book-link{padding:7px 10px}
}

/* nav: no boxed button; only the current page (and the link under the mouse) is highlighted */
.nav-links a.book-link{padding:0!important;border:0!important;background:none!important;color:#f8f3e8!important}
.nav-links a.active{color:var(--gold-light)!important}
.nav-links a{transition:color .15s}
@media(hover:hover){.nav-links a:hover{color:var(--gold-light)!important}}
.nav-links a:focus-visible{color:var(--gold-light)!important;outline:1px solid var(--gold);outline-offset:4px}

/* long headings must never overflow their column (Georgian, Russian, English) */
h1,h2,h3{overflow-wrap:break-word;max-width:100%}
@media(max-width:620px){h2{font-size:clamp(28px,8.2vw,34px)}h1{font-size:clamp(34px,10vw,46px)}}

/* long labels / extras rows must fit on narrow phones and in every language */
.field label,label{overflow-wrap:anywhere}
.booking-fields .field label{letter-spacing:.08em}
@media(max-width:420px){
.booking-head,.booking-body{padding-left:16px;padding-right:16px}
.extra{flex-wrap:wrap;row-gap:2px}
.extra span:first-of-type{flex:1 1 0;min-width:120px}
.extra span:last-child{margin-left:28px;white-space:normal;flex-basis:100%}
}

/* ritual cards: price always on one line and aligned at the bottom of every card */
.ritual-item{display:flex;flex-direction:column;box-sizing:border-box}
.ritual-item p{margin-bottom:24px}
.ritual-item .ritual-price{margin-top:auto;white-space:nowrap}

/* sticky header (home): wrapper sits outside the hero, overlays it and sticks */
html,body{overflow-x:clip!important}
html{scroll-padding-top:150px}
.home-nav{position:sticky;top:0;z-index:1000;height:0}
.home-nav::before{content:"";position:absolute;top:0;left:0;right:0;height:var(--navh,116px);background:var(--navy-deep);border-bottom:1px solid rgba(212,179,106,.5);opacity:0;transition:opacity .2s;z-index:-1}
.home-nav.scrolled::before{opacity:1}
.home-nav .nav{position:absolute;top:0;left:50%;transform:translateX(-50%)}
.nav-spacer{display:block;height:var(--navh,116px)}
