@font-face{font-family:"RBDigits";src:local("Arial"),local("Helvetica Neue"),local("Helvetica"),local("Roboto"),local("Noto Sans");unicode-range:U+0030-0039}
:root{--navy:#062a3a;--deep:#031d28;--gold:#d4b36a;--gold-light:#efd99f;--paper:#f4efe3;--ivory:#fffdf8;--ink:#20201d;--muted:#625d53;--line:#cdbf9f;--green:#275441}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"RBDigits","Noto Serif Georgian",Sylfaen,Georgia,"Times New Roman",serif}
.nav-shell{color:#fff;background:var(--deep);border-bottom:1px solid rgba(212,179,106,.5)}
.nav{width:min(1220px,calc(100% - 48px));min-height:104px;margin:auto;display:flex;align-items:center;gap:24px}
.brand{flex:0 0 460px;display:flex;justify-content:space-between;align-items:center;gap:48px;margin-right:32px;color:var(--gold-light);text-decoration:none}
.brand img{width:76px}
.brand-name{margin-left:auto;font-size:24px;letter-spacing:.06em;white-space:nowrap}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:16px}
.nav-links a,.language button{color:#f8f3e8;text-decoration:none;font:600 13px/1.2 "Noto Sans Georgian",Arial,sans-serif;letter-spacing:.075em;text-transform:uppercase}
.nav-links a.active{color:var(--gold-light)}
.book-link{padding:13px 17px;border:1px solid var(--gold);color:var(--gold-light)!important}
.language{display:flex;gap:4px}
.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)}
.hero{position:relative;isolation:isolate;overflow:hidden;color:#f8f3e8;background:var(--navy)}
.hero::after{content:"";position:absolute;inset:18px;z-index:-1;border:1px solid rgba(212,179,106,.28)}
.hero-inner{width:min(1220px,calc(100% - 48px));min-height:560px;margin:auto;display:flex;align-items:center;padding:76px 0}
.hero-copy{max-width:820px}
.kicker{margin:0 0 14px;color:#92753f;font:700 12px/1.3 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.hero .kicker,.dark .kicker{color:var(--gold-light)}
h1{margin:0;font-size:clamp(48px,6vw,82px);font-weight:400;line-height:.98;letter-spacing:-.03em}
.hero-lead{max-width:720px;margin:24px 0 0;color:#ddd2ba;font:18px/1.7 Arial,sans-serif}
.section{padding:96px max(24px,calc((100vw - 1220px)/2))}
h2{margin:0;color:var(--deep);font-size:clamp(38px,5vw,64px);font-weight:400;line-height:1.03;letter-spacing:-.025em}
.prose{color:var(--muted);font:17px/1.78 Arial,sans-serif}
.prose p{margin:0 0 19px}
.two-col{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(45px,8vw,120px);align-items:start}
.dark{color:#f8f3e8;background:var(--navy);position:relative;overflow:hidden}
.dark::before{content:"";position:absolute;inset:0;background:url("/front/assets/img/royal-lion.png") 24px 28px/160px auto repeat;filter:grayscale(1) brightness(3);opacity:.055}
.dark>*{position:relative}
.dark h2{color:#f8f3e8}
.dark .prose{color:#ded3bd}
.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}
.footer a{color:#b9ad96;text-decoration:none}
.history-hero{background:linear-gradient(90deg,rgba(3,21,29,.88),rgba(3,21,29,.34)),url("https://www.royalbath.ge/storage/slider/1699958799.jpg") center/cover}
.history-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,110px);align-items:start}
.history-aside{position:sticky;top:38px}
.history-mark{width:100%;aspect-ratio:4/5;margin-top:35px;background:linear-gradient(rgba(3,21,29,.08),rgba(3,21,29,.45)),url("https://www.royalbath.ge/storage/about/1700132847_1.jpg") center/cover;border:1px solid var(--gold);box-shadow:20px 20px 0 var(--deep)}
.history-sections section{padding:0 0 42px;margin-bottom:42px;border-bottom:1px solid #d4c6a8}
.history-sections h3{margin:0 0 16px;color:var(--deep);font-size:31px;font-weight:400}
.water-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.water-image{min-height:520px;background:linear-gradient(rgba(3,21,29,.1),rgba(3,21,29,.42)),url("https://www.royalbath.ge/storage/about/1700132847_1.jpg") center/cover;border:1px solid var(--gold)}
.benefit-list{display:block;margin:25px 0 0;padding:0 0 0 40px;list-style:disc;background:rgba(212,179,106,.38)}
.benefit-list li{padding:0;background:none;font:inherit}
.disclaimer{margin-top:28px;padding:18px 20px;border-left:2px solid var(--gold);font:14px/1.65 Arial,sans-serif}
.contact-hero{background:linear-gradient(90deg,rgba(3,21,29,.9),rgba(3,21,29,.5)),url("https://www.royalbath.ge/storage/slider/1699958799.jpg") center/cover}
.contact-hero .hero-inner{min-height:430px}
.contact-cards{display:grid;grid-template-columns:1fr;max-width:760px;gap:1px;background:var(--line);border:1px solid var(--line)}
.contact-card{min-height:auto;padding:24px 28px;background:var(--ivory)}
.contact-card small{display:block;margin:0 0 10px;color:#8a6d35;font:700 11px/1.2 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.contact-card a,.contact-card p{margin:0;color:var(--deep);text-decoration:none;font:16px/1.55 Arial,sans-serif}
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.contact-form{padding:36px;background:var(--ivory);border:1px solid var(--line);box-shadow:0 18px 50px rgba(27,24,18,.08)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field.full{grid-column:1/-1}
.field label{display:block;margin-bottom:9px;color:#716958;font:700 11px/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.field input,.field textarea{width:100%;border:1px solid var(--line);background:#fff;font:16px/1.5 Arial,sans-serif}
.field input{min-height:48px;padding:0 13px}
.field textarea{min-height:145px;padding:13px}
.send{width:100%;min-height:54px;margin-top:22px;border:0;color:#fff;background:var(--navy);cursor:pointer;font:700 13px/1 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.form-note{color:var(--green);font:14px/1.5 Arial,sans-serif}
.map iframe{width:100%;height:590px;border:1px solid var(--line);display:block}
@media(max-width:1050px){.nav-links a:not(.book-link){display:none}.brand{flex:1 1 auto}.two-col,.history-grid,.water-grid,.contact-layout{grid-template-columns:1fr}.history-aside{position:static}.history-mark{max-width:620px;aspect-ratio:16/10}.contact-cards{grid-template-columns:1fr}}
@media(max-width:620px){.nav{width:calc(100% - 30px);min-height:78px;gap:14px}.brand{gap:16px}.brand img{width:62px}.brand-name{font-size:16px}.nav-links{display:none}.hero::after{inset:8px}.hero-inner{width:calc(100% - 30px);min-height:470px;padding:62px 0}.section{padding-top:70px;padding-bottom:70px}.contact-cards,.field-grid{grid-template-columns:1fr}.contact-form{padding:24px}.footer{display:grid}}
.language a{padding:6px 5px;color:#f8f3e8;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}

/* gallery page */
.gallery-intro{padding:70px max(24px,calc((100vw - 1220px)/2)) 45px;background:var(--deep);color:var(--ivory)}.gallery-intro h1{font-size:clamp(44px,6vw,76px)}.gallery-intro p{color:var(--gold-light);line-height:1.6}.photos{padding:45px max(24px,calc((100vw - 1220px)/2)) 80px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.photo{display:block;border:1px solid var(--line);padding:10px;background:var(--ivory);cursor:zoom-in;transition:box-shadow .2s}.photo:hover,.photo:focus-visible{box-shadow:0 8px 25px #031d2826;outline:2px solid var(--gold)}.photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}dialog{width:96vw;max-width:1500px;height:94dvh;max-height:94dvh;background:#03151d;color:white;border:1px solid var(--gold);padding:55px 60px 40px}dialog::backdrop{background:#000d}.viewer{width:100%;height:100%;object-fit:contain}.close,.prev,.next{position:absolute;border:1px solid #d4b36a88;background:#031d28dd;color:white;min-width:44px;min-height:44px;cursor:pointer;font-size:25px}.close{top:8px;right:10px}.prev{left:8px;top:48%}.next{right:8px;top:48%}.count{position:absolute;bottom:9px;left:0;right:0;text-align:center;font:14px Arial,sans-serif}@media(max-width:800px){.photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media(max-width:480px){.photos{padding-left:15px;padding-right:15px;gap:10px}.photo{padding:5px}dialog{padding:55px 38px 36px}.gallery-intro{padding-top:45px}}
.video-intro{padding-top:45px;padding-bottom:30px}.video-intro h2{margin:0;font-size:clamp(32px,4vw,48px);font-weight:400}.videos{padding:40px max(24px,calc((100vw - 1220px)/2)) 80px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.video-box{position:relative;aspect-ratio:16/9;border:1px solid var(--line);background:#000}.video-box iframe{position:absolute;inset:0;width:100%;height:100%}@media(max-width:800px){.videos{grid-template-columns:1fr}}

/* 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}}

/* 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%}
}

/* sticky header */
html,body{overflow-x:clip!important}
html{scroll-padding-top:150px}
.nav-shell{position:sticky;top:0;z-index:1000}

/* fix: no fi/fl ligatures in form fields (missing glyph hid letters in e-mail) */
input,textarea,select,button{font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0,"calt" 0}
