:root{--paper:#f7f4ee;--ink:#283c31;--muted:#6a756c;--red:#8a352b;--line:#d9ded4;--white:#fff;--green:#deeadf;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ba6a36;outline-offset:4px}h1,h2,h3,p,figure{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(48px,5.8vw,86px);margin:22px 0 28px}h2{font-size:clamp(36px,4vw,58px);margin-bottom:24px}h3{font-size:21px;line-height:1.3}p{margin-bottom:20px}.header{max-width:1440px;margin:auto;min-height:96px;padding:20px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{text-decoration:none;font-size:30px;font-family:Georgia,serif;line-height:1.1;letter-spacing:.12em;display:inline-flex;flex-direction:column}.brand span{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.38em;margin-top:5px}.header nav{display:flex;gap:30px;align-items:center;font-size:14px}.header nav a{text-decoration:none}.language{border:1px solid var(--line);border-radius:30px;padding:6px 12px;color:var(--ink);background:transparent}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:620px}.hero-copy{padding:60px 9% 30px 10%;align-self:center}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--red);margin-bottom:16px}.lead{font-size:19px;line-height:1.65;max-width:580px}.hero-photo{position:relative;min-height:600px}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.photo-label{position:absolute;bottom:28px;right:30px;padding:8px 15px;background:var(--paper);border-radius:30px;font-size:12px}.hero-foot{display:flex;flex-wrap:wrap;gap:16px;margin-top:50px;font-size:9px;letter-spacing:.08em;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--red);color:#fff;border:1px solid var(--red);border-radius:8px;padding:14px 22px;text-decoration:none;font-size:14px;font-weight:600;line-height:1.4;transition:background .15s}.button:hover{background:#6c2820}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:var(--green)}.button.danger{background:#fff0ed;color:#862e25;border-color:#e6b7b0}.section{padding:88px 5%;max-width:1320px;margin:auto}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:14px;border-top:1px solid var(--line);padding-top:26px;margin-top:30px}.amenities span:before{content:'✓';margin-right:9px;color:var(--red)}.sauna-banner{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);max-width:1440px;margin:auto}.sauna-banner img{width:100%;height:470px;object-fit:cover}.sauna-banner>div{padding:65px 13%;align-self:center}.sauna-banner .eyebrow{color:#d9b796}.section-top{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:32px}.section-top h2{margin-bottom:0}.section-top>p{color:var(--muted);max-width:400px;font-size:15px;margin:0}.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px}.gallery figure{margin:0}.gallery img{width:100%;height:310px;object-fit:cover;border-radius:var(--radius)}.gallery figcaption{margin-top:12px;font-size:14px}.booking-section{border-top:1px solid var(--line)}.booking-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start}.card{border:1px solid var(--line);background:var(--white);border-radius:var(--radius);padding:28px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.calendar-toolbar h3{margin:0;font-size:18px}.icon-button{background:var(--paper);border:0;border-radius:50%;width:36px;height:36px;flex-shrink:0;color:var(--ink)}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:5px}.weekdays{font-size:11px;color:var(--muted);margin:15px 0}.day{border:0;border-radius:8px;aspect-ratio:1;background:#edf4eb;color:var(--ink);font-size:14px}.day:disabled{background:#edeae5;color:#adaaa3;cursor:default}.day.busy{background:#ecd6d2;color:#8a352b;text-decoration:line-through}.day.selected{background:var(--ink);color:white}.day.range{background:#bbd1bc}.day.checkout{box-shadow:inset 0 0 0 2px var(--ink)}.legend{display:flex;gap:18px;font-size:12px;margin-top:22px}.legend>span{display:flex;align-items:center;gap:7px}.legend i{width:10px;height:10px;display:inline-block;background:#deeadf;border-radius:3px}.legend i.busy{background:#ecd6d2}.muted{color:var(--muted);font-size:13px;line-height:1.6}.calendar .muted{margin:14px 0 0;min-height:40px}.price-summary{padding:28px 8px}.price-summary p{margin-bottom:8px}.estimate{font-weight:700;color:var(--red)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form label,.settings-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;padding:11px 12px;color:var(--ink);background:#fdfdfb}input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--ink)}textarea{resize:vertical}.form .muted{margin:14px 0}.choices{display:flex;gap:20px;margin:22px 0}.choices label,.form .consent{flex-direction:row;align-items:start;font-weight:400}.consent{margin:22px 0;font-size:12px!important;line-height:1.5}.form .button{width:100%}.honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}#form-message{margin:16px 0 0;white-space:pre-line;font-size:14px}.error{color:#a02e24!important}.success{color:#247346!important}.location-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;border-top:1px solid var(--line)}.text-link{text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px;display:inline-block}.location-grid .muted{margin-top:28px;max-width:420px}.contact-card{background:#ebe9df;border-radius:var(--radius);padding:40px;align-self:center}.contact-card h3{font-family:Georgia,serif;font-size:32px;font-weight:400}.contact-card .text-link{overflow-wrap:anywhere}footer{max-width:1320px;margin:auto;border-top:1px solid var(--line);padding:35px 5%;display:flex;align-items:center;gap:30px;justify-content:space-between;font-size:12px;color:var(--muted)}footer .brand{color:var(--ink);font-size:24px}.skip{position:fixed;left:12px;top:-100px;z-index:20;background:#fff;padding:10px}.skip:focus{top:10px}[hidden]{display:none!important}.admin-body{background:#f3f4f0}.admin-header{border-bottom:1px solid var(--line);max-width:none;background:white;padding:18px 4%}.admin-header nav{gap:18px}.admin-shell{max-width:1300px;margin:auto;padding:36px 4% 60px}.login-card{max-width:430px;margin:80px auto}.login-card h1{font-size:40px}.login-card label{display:block;font-size:14px}.login-card input{margin:8px 0 18px}.login-card .button{width:100%}.admin-top{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:30px}.admin-top h1{font-size:44px;margin:0 0 10px}.admin-top p{margin:0;color:var(--muted)}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:28px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.stat strong{display:block;font-family:Georgia,serif;font-size:36px;line-height:1.2}.stat span{font-size:12px;color:var(--muted)}.admin-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:28px}.admin-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);padding:14px 20px;font-size:14px}.admin-tabs button.active{border-color:var(--ink);color:var(--ink);font-weight:700}.toolbar{display:flex;gap:12px;margin-bottom:18px}.toolbar input{flex:1}.toolbar select{width:220px}.booking-list{display:grid;gap:14px}.booking-card{padding:24px;background:white;border:1px solid var(--line);border-radius:12px}.booking-card-top{display:flex;justify-content:space-between;gap:20px;align-items:start}.booking-card h3{margin:0 0 4px}.booking-dates{font-size:14px;color:var(--muted);margin:0}.badge{display:inline-block;white-space:nowrap;font-size:11px;font-weight:700;border-radius:20px;padding:5px 12px;background:#f5e5c3;color:#78551f}.badge.confirmed{background:#dcebdd;color:#286144}.badge.cancelled,.badge.rejected{background:#ebece8;color:#6a706a}.booking-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;margin:15px 0}.booking-contact{font-size:14px;overflow-wrap:anywhere}.booking-message{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;background:var(--paper);border-radius:8px;font-size:14px}.booking-edit{display:grid;grid-template-columns:1fr 170px;gap:14px;margin:18px 0}.booking-edit label{font-size:12px;color:var(--muted)}.booking-edit textarea{min-height:46px;height:46px;font-size:14px}.booking-edit input{font-size:14px}.booking-card .button{font-size:12px;padding:10px 15px}.job-warning{background:#fff6e4;color:#80581b;padding:12px;border-radius:8px;font-size:12px;margin:16px 0}.empty-state{padding:60px 20px;text-align:center;border:1px dashed var(--line);border-radius:12px;background:#ffffff80}.empty-state h3{font-weight:400}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-form{display:grid;gap:16px}.settings-card h2{font-size:30px}.settings-card .button{justify-self:start}.settings-card ol{font-size:13px;line-height:1.8;padding-left:20px}.settings-card code{overflow-wrap:anywhere;background:var(--paper);padding:3px 5px;font-size:12px}.notice{padding:16px 20px;background:#fff1d7;border:1px solid #ecd5aa;border-radius:10px;font-size:14px;margin-bottom:22px}.admin-message{position:sticky;top:0;z-index:5;margin-bottom:20px;background:#fff;border-radius:8px;padding:10px 14px;border:1px solid var(--line)}.block-form{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:15px;align-items:end;margin:25px 0}.block-form label{font-size:12px}.calendar-months{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.calendar-months .day{font-size:12px;cursor:default}.admin-calendar-info{font-size:13px;color:var(--muted)}.privacy-page{max-width:850px;padding:60px 5%;margin:auto}.privacy-page h1{font-size:50px}.privacy-page h2{font-size:28px;margin-top:32px}.privacy-page p{font-size:16px}.divider{border:0;border-top:1px solid var(--line);margin:28px 0}
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;min-height:530px}.hero-photo{min-height:530px}.hero-copy{padding:35px 8%}.hero-foot{margin-top:30px}.intro-grid{gap:35px}.sauna-banner>div{padding:40px 10%}.gallery img{height:230px}.section{padding:60px 5%}.booking-layout{grid-template-columns:.85fr 1.15fr;gap:18px}.card{padding:22px}.location-grid{gap:35px}.settings-grid{grid-template-columns:1fr}.calendar-months{grid-template-columns:1fr 1fr}.block-form{grid-template-columns:1fr 1fr}.stats{gap:10px}.stat{padding:17px}}
@media(max-width:640px){.header{min-height:80px;padding:18px 5%}.header nav{gap:16px;font-size:12px}.brand{font-size:24px}.header nav a:first-child{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:32px 6% 35px}.hero h1{font-size:58px}.hero .lead{font-size:17px}.hero-photo{min-height:360px;order:2}.hero-foot{gap:12px}.intro-grid,.sauna-banner,.booking-layout,.location-grid{grid-template-columns:1fr}.intro-grid{gap:10px}.section{padding:50px 6%}.section-top{display:block}.section-top>p{margin-top:20px}.sauna-banner img{height:310px}.sauna-banner>div{padding:40px 6%}.gallery{grid-template-columns:1fr 1fr;gap:14px}.gallery figure:first-child{grid-column:1/-1}.gallery img{height:200px}.gallery figure:first-child img{height:280px}.form-grid{gap:14px}.form-grid label{font-size:12px}.card{padding:20px}.choices{gap:12px;font-size:12px}.calendar .day{max-height:52px}.price-summary{padding:22px 4px 0}.location-grid{gap:25px}.contact-card{padding:28px}footer{flex-wrap:wrap;gap:20px;padding:25px 6%}footer .brand{flex-basis:100%}.admin-header{gap:15px;align-items:center}.admin-header nav{gap:10px;font-size:12px}.admin-header .button{padding:8px 12px}.admin-top{display:block}.admin-top .admin-actions{margin-top:18px}.admin-shell{padding:26px 5%}.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:30px}.toolbar{flex-wrap:wrap}.toolbar select{width:100%}.booking-card{padding:18px}.booking-card-top{gap:10px}.booking-card h3{font-size:18px}.booking-edit{grid-template-columns:1fr}.admin-tabs button{padding:12px 14px}.calendar-months{grid-template-columns:1fr}.block-form{grid-template-columns:1fr 1fr}.block-form label:nth-child(3){grid-column:1/-1}.block-form .button{grid-column:1/-1}.admin-top h1{font-size:38px}.privacy-page h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.confirm-dialog{max-width:460px;border:1px solid var(--line);border-radius:16px;padding:28px;color:var(--ink);background:white}.confirm-dialog::backdrop{background:#182c2380}

.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery a{display:block;border-radius:var(--radius);overflow:hidden}.gallery img{display:block;transition:transform .2s}.gallery a:hover img{transform:scale(1.025)}.map-panel{min-width:0;grid-column:2;grid-row:1/3;align-self:stretch}.map-panel iframe{display:block;width:100%;height:100%;min-height:420px;border:0;border-radius:var(--radius)}.location-grid .contact-card{grid-column:1;padding:28px;align-self:start}@media(max-width:900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.gallery figure:first-child{grid-column:auto}.gallery figure:first-child img{height:200px}.map-panel{grid-column:1;grid-row:auto}.map-panel iframe{height:360px;min-height:360px}.location-grid .contact-card{grid-column:1}}

.faq-section{border-top:1px solid var(--line)}.faq-list{max-width:850px}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list summary{cursor:pointer;font-weight:600;line-height:1.5;padding-right:12px}.faq-list summary:focus-visible{outline:3px solid #ba6a36;outline-offset:4px}.faq-list p{margin:14px 0 0;max-width:760px;color:var(--muted)}.faq-list a{overflow-wrap:anywhere}
