@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-Bput3-QP.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-DCpCPQOf.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-DxZsaF_h.woff2) format("woff2"),url(/assets/inter-greek-400-normal-BZzXV7-1.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-BUNmGMP1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-hnt3BR84.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-C1t-h-pH.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-BOOGhInR.woff2) format("woff2"),url(/assets/inter-latin-400-normal-gitzw0hO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-DH2hs3aW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-B6guLgqG.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-M2hEX8vc.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-CeQXL5ds.woff2) format("woff2"),url(/assets/inter-greek-500-normal-d_eO-yCQ.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-UMdmhHu2.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-D2bGa7uu.woff2) format("woff2"),url(/assets/inter-latin-500-normal-deR1Tlfd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-BGBWG807.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-BuzJQFbW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-C9WLioJ8.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-Dhlb-90d.woff2) format("woff2"),url(/assets/inter-greek-600-normal-CwicyhtI.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-BnYJhD27.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CAF0vJDd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-D273HNI0.woff2) format("woff2"),url(/assets/inter-latin-600-normal-B5cFAncS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-ext-600-normal-D6fkc3d2.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-600-normal-BcHsWlhQ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-600-normal-BXBgq4i2.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-600-normal-LowGUXNN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-vietnamese-600-normal-qwg6okXb.woff2) format("woff2"),url(/assets/cormorant-garamond-vietnamese-600-normal-ChkmQnaS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-ext-600-normal-HI8w5B7s.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-600-normal-bYGqJdkF.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-BgV6qtQt.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-CHSIiAkC.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-cyrillic-ext-700-normal-BowfIpI9.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-700-normal-Cbt9IxKF.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-cyrillic-700-normal-DaNry_4y.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-700-normal-XPECzkIf.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-vietnamese-700-normal-CxZU4blT.woff2) format("woff2"),url(/assets/cormorant-garamond-vietnamese-700-normal-BuU3udxu.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-ext-700-normal-7ofmQ_41.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-700-normal-yFn2chZe.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-700-normal-BsExzJpN.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-700-normal-E9ajrsLq.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f7f3ec;--surface: #ffffff;--surface-2: #f2ede3;--surface-3: #ebe4d6;--text: #23262d;--muted: #6a6f78;--border: #e4ddcf;--border-soft: #efe9de;--primary: #2b4c7e;--primary-dark: #1f3a63;--primary-soft: #e8eef7;--primary-line: #c3d1e6;--gold: #c99a3e;--gold-dark: #8f6a22;--gold-soft: #f7eedb;--brown: #6b4a2f;--ok: #2f7a55;--ok-soft: #e5f3eb;--warn: #9a6a12;--warn-soft: #fbf1dc;--danger: #b0392f;--danger-soft: #fbeceb;--booked: #2b4c7e;--blocked: #e8e1d3;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(35, 30, 20, .06);--shadow: 0 1px 2px rgba(35, 30, 20, .05), 0 6px 20px rgba(35, 30, 20, .07);--shadow-lg: 0 18px 50px rgba(20, 24, 34, .22);--serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--slot-h: 26px;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}html,body{margin:0}body{font-family:var(--sans);background:var(--bg);color:var(--text);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body.modal-open{overflow:hidden}h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em}h1,h2,h3{font-family:var(--serif);font-weight:700;letter-spacing:-.005em}h1{font-size:2.1rem}h2{font-size:1.7rem}h3{font-size:1.3rem}h4{font-size:.95rem;font-weight:600}a{color:var(--primary);text-underline-offset:2px}p{margin:0 0 .8em}img{max-width:100%;display:block}button{font:inherit;color:inherit}svg{flex:none}:focus-visible{outline:3px solid rgba(43,76,126,.35);outline-offset:2px}code,.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;letter-spacing:.02em}.muted{color:var(--muted)}.small{font-size:.85rem}.nowrap{white-space:nowrap}.muted svg,.small svg{vertical-align:-2px}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;width:100%}.page{padding-top:24px;padding-bottom:48px}.narrow-page{max-width:720px}.loading,.empty{color:var(--muted);text-align:center;padding:24px 12px}.lead{font-size:1.04rem;color:#4a4f59}.site-header{background:var(--primary-dark);color:#fff;position:sticky;top:0;z-index:30;box-shadow:0 1px #ffffff0f,0 4px 18px #101c302e;padding-top:env(safe-area-inset-top)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;position:relative}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;min-width:0}.logo-default{color:#fff}.logo-img{object-fit:contain;border-radius:10px;background:#fffffff2;padding:3px}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-title{font-family:var(--serif);font-size:1.12rem;font-weight:700;line-height:1.08}.brand-sub{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#e7c27a;font-weight:500}.menu-btn{background:#ffffff1a;border:0;color:#fff;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;cursor:pointer}.main-nav{display:none;position:absolute;top:100%;left:-16px;right:-16px;background:var(--primary-dark);padding:6px 12px 14px;flex-direction:column;gap:2px;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 14px 24px #101c3040}.main-nav.open{display:flex}.main-nav a{color:#fff;text-decoration:none;padding:13px 14px;border-radius:10px;font-weight:500;opacity:.9}.main-nav a:hover{background:#ffffff14;opacity:1}.main-nav a.active{background:#ffffff24;opacity:1;box-shadow:inset 3px 0 0 var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:.95rem;border-radius:12px;padding:11px 18px;min-height:44px;border:1px solid transparent;cursor:pointer;text-decoration:none;background:var(--surface);color:var(--text);transition:background .15s,border-color .15s,transform .1s,box-shadow .15s;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled,.btn.disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px #2b4c7e40}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-gold{background:var(--gold);color:#1d1a12;box-shadow:0 4px 14px #c99a3e59}.btn-gold:hover{background:#d6a849}.btn-outline-light{background:transparent;color:#fff;border-color:#ffffff73}.btn-outline-light:hover{background:#ffffff1a}.btn-ghost{background:var(--surface);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.93)}.btn-danger-ghost{background:var(--surface);color:var(--danger);border-color:#ecc8c4}.btn-danger-ghost:hover:not(:disabled){background:var(--danger-soft)}.btn-lg{padding:14px 22px;font-size:1.02rem;min-height:52px}.btn-small{padding:7px 12px;font-size:.86rem;min-height:36px;border-radius:10px}.btn-block{width:100%}.btn-icon{padding:0;width:46px;min-width:46px}.link-btn{background:none;border:0;padding:0;color:var(--primary);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-size:.9rem;display:inline-flex;align-items:center;gap:4px}.icon-btn{background:none;border:0;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--muted);width:40px;height:40px;border-radius:10px}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-round{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;cursor:pointer}.icon-round:disabled{opacity:.35;cursor:not-allowed}.icon-round:hover:not(:disabled){background:var(--surface-2)}.hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(120% 90% at 85% 0%,rgba(201,154,62,.28),transparent 55%),linear-gradient(165deg,#1f3a63,#2b4c7e 55%,#3a5e93);padding:34px 0 96px}.hero-inner{position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:600;color:#e7c27a;margin-bottom:10px}.hero h1{font-size:2.35rem;max-width:16ch;margin-bottom:14px}.hero-lead{font-size:1.06rem;opacity:.92;max-width:46ch}.hero-actions{display:flex;flex-direction:column;gap:10px;margin:22px 0 20px}.hero-facts{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.9rem;opacity:.9}.hero-facts li{display:inline-flex;align-items:center;gap:6px}.hero-facts svg{color:#e7c27a}.arches{position:absolute;left:0;right:0;bottom:-2px;width:100%;height:90px}.arches path{fill:none;stroke:#ffffff29;stroke-width:2}.steps-section{margin-top:-54px;position:relative;z-index:2}.steps{list-style:none;margin:0;padding:6px;display:grid;gap:4px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.steps li{display:flex;gap:14px;align-items:center;padding:12px}.steps li div{display:flex;flex-direction:column}.steps strong{font-size:.98rem}.steps span:not(.step-icon){font-size:.87rem;color:var(--muted)}.step-icon{width:46px;height:46px;border-radius:12px;background:var(--gold-soft);color:var(--gold-dark);display:grid;place-items:center;flex:none}.wizard{margin:28px 0 8px;background:var(--surface);border-radius:20px;box-shadow:var(--shadow);padding:18px 14px 0;position:relative}.wizard-head h2{margin-bottom:14px;padding:0 4px}.progress{list-style:none;display:flex;margin:0 0 18px;padding:0;position:relative}.progress li{flex:1;position:relative}.progress li:not(:last-child):after{content:"";position:absolute;top:15px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--border)}.progress li.done:not(:last-child):after{background:var(--primary)}.progress button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;padding:0;cursor:default}.progress button:not(:disabled){cursor:pointer}.progress-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:.85rem;font-weight:700;background:var(--surface-2);color:var(--muted);border:2px solid var(--border)}.progress li.current .progress-dot{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 0 4px var(--primary-soft)}.progress li.done .progress-dot{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.progress-label{font-size:.74rem;font-weight:600;color:var(--muted)}.progress li.current .progress-label{color:var(--primary-dark)}.filters-panel{background:var(--surface-2);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:14px;margin-bottom:14px}.filter-block{display:flex;flex-direction:column;gap:8px;min-width:0}.filter-label{font-weight:600;font-size:.9rem}.stepper{display:inline-flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:max-content}.stepper button{width:46px;height:46px;border:0;background:none;cursor:pointer;display:grid;place-items:center;color:var(--primary)}.stepper button:disabled{color:#b9b4aa;cursor:default}.stepper input{width:64px;height:46px;border:0;border-left:1px solid var(--border-soft);border-right:1px solid var(--border-soft);text-align:center;font:inherit;font-weight:700;font-size:1.1rem;background:none;-moz-appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.chip-scroll{display:flex;gap:8px;overflow-x:auto;margin:0 -14px;padding:2px 14px 6px;scrollbar-width:none;scroll-snap-type:x proximity}.chip-scroll::-webkit-scrollbar{display:none}.chip-wrap{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;scroll-snap-align:start;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 13px;min-height:40px;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.chip svg{color:var(--primary)}.chip:hover:not(:disabled){border-color:var(--primary-line)}.chip.on{background:var(--primary);border-color:var(--primary);color:#fff}.chip.on svg{color:#fff}.chip:disabled{opacity:.4;cursor:not-allowed}.clear-filters{align-self:flex-start;color:var(--muted)}.result-count{font-weight:600;color:var(--primary-dark);margin:4px 2px 12px}.others-title{font-size:1.15rem;color:var(--muted);margin:24px 2px 12px}.room-grid{display:grid;gap:14px;grid-template-columns:1fr}.room-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s,border-color .2s}.room-card:hover{box-shadow:var(--shadow)}.room-card.selected{border-color:var(--room);box-shadow:0 0 0 2px var(--room)}.room-card.dimmed{opacity:.72}.room-cover{position:relative;aspect-ratio:16 / 7;background:linear-gradient(140deg,var(--room),color-mix(in srgb,var(--room) 55%,#1b1b1b));overflow:hidden}.room-cover.small{aspect-ratio:4 / 3;width:92px;border-radius:10px;flex:none}.room-cover img{width:100%;height:100%;object-fit:cover}.room-cover svg{position:absolute;inset:auto 0 0 0;width:100%;height:75%}.room-cover svg path{fill:none;stroke:#ffffff47;stroke-width:2}.room-cover-cap{position:absolute;right:10px;bottom:10px;background:#fffffff0;color:var(--text);font-size:.8rem;font-weight:700;padding:4px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:5px}.room-cover.small .room-cover-cap{display:none}.room-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}.room-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.room-card-title h3{margin:0;font-size:1.5rem;color:var(--room);filter:brightness(.8)}.cap-pill{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;font-weight:600;color:var(--muted)}.room-desc{font-size:.92rem;color:#4a4f59;margin:0}.amenity-list{list-style:none;padding:0;margin:2px 0;display:flex;flex-wrap:wrap;gap:6px}.amenity-list li{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;background:var(--surface-2);border-radius:8px;padding:4px 8px}.amenity-list svg{color:var(--primary)}.room-extra{font-size:.82rem;color:var(--muted);margin:0;font-style:italic}.room-warn{font-size:.82rem;color:var(--warn);background:var(--warn-soft);padding:6px 10px;border-radius:8px;margin:0}.room-card .btn-block{margin-top:auto}.schedule-step{padding-bottom:8px}.section-label{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-weight:700;font-size:.95rem;margin:2px 2px 10px}.strip-nav{display:flex;align-items:center;gap:6px}.calendar-btn{position:relative;overflow:hidden}.calendar-btn input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer}.day-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 14px 10px;margin:0 -14px;scroll-snap-type:x mandatory;scrollbar-width:none}.day-strip::-webkit-scrollbar{display:none}.day{flex:none;width:68px;scroll-snap-align:center;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:8px 4px 7px;display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.day:active:not(:disabled){transform:scale(.96)}.day-wd{font-size:.72rem;font-weight:600;text-transform:uppercase;color:var(--muted);letter-spacing:.03em}.day-num{font-size:1.3rem;font-weight:700;line-height:1.2}.day-month{font-size:.72rem;color:var(--muted)}.day-lvl{font-size:.66rem;font-weight:700;margin-top:4px;padding:2px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.day.lvl-free .day-lvl{background:var(--ok-soft);color:var(--ok)}.day.lvl-partial .day-lvl{background:var(--warn-soft);color:var(--warn)}.day.lvl-full,.day.lvl-closed{background:var(--surface-2);opacity:.6;cursor:not-allowed}.day.lvl-full .day-num,.day.lvl-closed .day-num{text-decoration:line-through;color:var(--muted)}.day.today .day-wd{color:var(--gold-dark)}.day.on{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 16px #2b4c7e4d}.day.on .day-wd,.day.on .day-month{color:#ffffffd9}.day.on .day-lvl{background:#fff3;color:#fff}.time-panel{margin-top:8px}.time-summary{border:1px dashed var(--primary-line);background:var(--primary-soft);border-radius:var(--radius);padding:12px 14px;margin-bottom:12px}.time-summary.set{border-style:solid;background:var(--surface);border-color:var(--primary);display:flex;align-items:center;justify-content:space-between;gap:10px}.time-big{font-size:1.4rem;font-weight:700;color:var(--primary-dark);font-variant-numeric:tabular-nums}.time-big span{color:var(--gold);margin:0 2px}.time-dur{font-weight:600;font-size:.88rem;background:var(--primary-soft);color:var(--primary);padding:4px 10px;border-radius:999px}.time-hint{display:flex;gap:8px;font-size:.9rem;color:var(--primary-dark)}.time-hint svg{margin-top:3px}.durations{display:flex;gap:8px;overflow-x:auto;padding:2px 14px 10px;margin:0 -14px 4px;scrollbar-width:none}.durations::-webkit-scrollbar{display:none}.slot-group{margin-bottom:14px}.slot-group h4{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin:8px 2px}.slot-group h4 svg{color:var(--gold)}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.slot{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-height:48px;padding:4px 2px;font-weight:600;font-size:.95rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .12s,border-color .12s;font-variant-numeric:tabular-nums}.slot small{font-size:.62rem;font-weight:500;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 3px}.slot.free:hover{border-color:var(--primary);background:var(--primary-soft)}.slot.booked{background:var(--surface-2);color:#a49e93;text-decoration:line-through;cursor:not-allowed;border-color:transparent}.slot.booked small{text-decoration:none}.slot.blocked{background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 5px,var(--surface-3) 5px,var(--surface-3) 10px);color:#9a9488;cursor:not-allowed;border-color:transparent}.slot.in-range{background:var(--primary-soft);border-color:var(--primary-line);color:var(--primary-dark)}.slot.range-start,.slot.range-end{background:var(--primary);border-color:var(--primary);color:#fff}.wizard-bar{position:sticky;bottom:0;z-index:10;margin:8px -14px 0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;border-radius:0 0 20px 20px}.wizard-bar-summary{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.wizard-bar-summary strong{font-size:.92rem}.wizard-bar-summary span{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.details-step{display:flex;flex-direction:column;gap:16px;padding-bottom:16px}.booking-recap{display:flex;gap:12px;align-items:center;background:var(--surface-2);border-radius:var(--radius);padding:10px}.booking-recap strong{font-family:var(--serif);font-size:1.3rem}.booking-recap p{margin:2px 0;font-size:.88rem;display:flex;align-items:center;gap:6px}.booking-recap svg{color:var(--primary)}fieldset{border:0;padding:0;margin:0 0 6px;display:flex;flex-direction:column;gap:12px;min-width:0}legend{font-family:var(--serif);font-weight:700;font-size:1.35rem;padding:0;margin-bottom:10px}.consents{background:var(--gold-soft);border-radius:var(--radius);padding:14px}.consents legend{float:left;width:100%;margin-bottom:4px}.input-icon{position:relative;display:flex;align-items:center}.input-icon>svg{position:absolute;left:12px;color:var(--muted)}.input-icon input{padding-left:38px!important;padding-right:70px!important}.input-suffix{position:absolute;right:12px;font-size:.8rem;color:var(--muted);font-weight:500}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:.9rem;font-weight:600;color:#3a3f48}.field-help{font-size:.82rem;color:var(--muted);margin-top:-4px}.sticky-actions{position:sticky;bottom:0;background:linear-gradient(transparent,var(--surface) 30%);padding:18px 0 calc(12px + env(safe-area-inset-bottom));margin-top:0;z-index:5}.form-actions .grow{flex:1}.confirmation{padding:4px 2px 20px}.confirm-head{text-align:center}.confirm-head h3{font-size:1.8rem;margin-bottom:4px}.success-icon{width:64px;height:64px;border-radius:50%;background:var(--ok-soft);color:var(--ok);display:grid;place-items:center;margin:4px auto 12px;box-shadow:0 0 0 8px #2f7a5514}.code-box{background:var(--surface-2);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;margin:18px 0;text-align:center}.code-box>span{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}.code-box strong{font-family:ui-monospace,Consolas,monospace;font-size:1.9rem;letter-spacing:.16em;color:var(--primary-dark)}.code-box small{color:var(--muted);max-width:38ch}.confirm-actions{display:flex;flex-direction:column;gap:8px;margin:16px 0}.summary{display:grid;grid-template-columns:1fr;gap:0;margin:10px 0;font-size:.95rem}.summary dt{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-top:10px}.summary dd{margin:2px 0 0;overflow-wrap:anywhere}.inline-amenities{display:flex;flex-wrap:wrap;gap:4px 12px}.inline-amenities span{display:inline-flex;align-items:center;gap:4px}.inline-amenities svg{color:var(--primary)}.donation-card{background:var(--gold-soft);border:1px solid #ecdcb5;border-radius:var(--radius);padding:16px}.donation-card h4{display:flex;align-items:center;gap:8px;color:var(--gold-dark);font-size:1rem}.donation-card p{font-size:.92rem;margin:.3em 0}.iban code{background:#ffffffbf;padding:2px 6px;border-radius:6px;word-break:break-all}.donation-section{margin-top:36px}.donation-band{background:linear-gradient(135deg,#fbf5e8,#f3e5c4);border:1px solid #ead7ac;border-radius:20px;padding:22px 18px;display:flex;flex-direction:column;gap:14px}.donation-icon{width:60px;height:60px;border-radius:16px;background:#fff;color:var(--gold-dark);display:grid;place-items:center;box-shadow:var(--shadow-sm)}.donation-body h2{color:#5d4513}.donation-body p{color:#4c4232}.iban-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:#ffffffbf;border-radius:12px;padding:8px 10px}.iban-label{font-size:.75rem;font-weight:700;color:var(--gold-dark);letter-spacing:.08em}.iban-row code{font-size:.92rem;word-break:break-all;flex:1;min-width:180px}.faq-section{margin:40px auto 48px;max-width:820px}.faq{display:flex;flex-direction:column;gap:8px}.faq details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.faq summary{list-style:none;cursor:pointer;padding:15px 16px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq-chevron{color:var(--muted);transition:transform .2s}.faq details[open] .faq-chevron{transform:rotate(180deg)}.faq details p{padding:0 16px 16px;margin:0;color:#4a4f59;font-size:.95rem}.faq-more{margin-top:14px;color:var(--muted);font-size:.92rem}.site-footer{background:#1b2433;color:#c9ced8;padding:32px 0 calc(16px + env(safe-area-inset-bottom));font-size:.92rem;margin-top:auto}.site-footer a{color:#fff}.footer-grid{display:grid;gap:26px}.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:10px}.footer-brand div{display:flex;flex-direction:column}.footer-brand strong{color:#fff;font-family:var(--serif);font-size:1.2rem}.footer-brand span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#e7c27a}.footer-note{max-width:40ch;opacity:.85}.site-footer h4{color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin-bottom:10px}.footer-contacts p{display:flex;gap:8px;align-items:flex-start;margin:0 0 6px}.footer-contacts svg{margin-top:4px;color:#e7c27a}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}.footer-links a{color:#c9ced8;text-decoration:none}.footer-links a:hover{color:#fff;text-decoration:underline}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:26px;padding-top:14px;font-size:.8rem;opacity:.7}.form{display:flex;flex-direction:column;gap:12px}.form label{display:flex;flex-direction:column;gap:5px;font-size:.9rem;font-weight:600;color:#3a3f48;flex:1;min-width:0}.form label small{font-weight:400;color:var(--muted)}.form input:not([type=checkbox]):not([type=color]):not([type=file]),.form select,.form textarea,.filters input,.filters select,.select-inline,.date-input{font:inherit;font-size:16px;font-weight:400;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--text);width:100%;min-height:46px;transition:border-color .15s,box-shadow .15s}.form select,.filters select,.select-inline{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236a6f78' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px!important}.form input:focus,.form select:focus,.form textarea:focus,.filters input:focus,.filters select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form input[type=color]{height:46px;width:100%;border:1px solid var(--border);border-radius:11px;padding:4px;background:#fff}.form textarea{resize:vertical}.row2{display:flex;gap:12px;flex-wrap:wrap}.row2>label{flex:1 1 160px}.row2>label.grow{flex:3 1 220px}.row2>label.narrow{flex:1 1 90px;max-width:150px}.form label.check,label.check{flex-direction:row;align-items:flex-start;gap:11px;font-weight:400;font-size:.92rem;cursor:pointer}.check input{margin-top:2px;width:21px;height:21px;accent-color:var(--primary);flex:none;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:4px}.form-section{font-size:1.15rem;display:flex;align-items:center;gap:8px;margin:14px 0 0;padding-top:14px;border-top:1px solid var(--border-soft)}.form-section svg,.card h2 svg{color:var(--gold-dark);vertical-align:-3px}.card h2{display:flex;align-items:center;gap:8px}.alert{padding:11px 14px;border-radius:11px;font-size:.92rem;margin:8px 0}.alert p{margin:.3em 0}.alert ul{margin:.3em 0;padding-left:1.2em}.alert-error{background:var(--danger-soft);color:#7d241e;border:1px solid #f0cfcc}.alert-ok{background:var(--ok-soft);color:#1c5a3f;border:1px solid #c4e5d4}.alert-warn{background:var(--warn-soft);color:#6d4c10;border:1px solid #efd9a9}.alert-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.alert-row span{flex:1;min-width:200px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);margin-bottom:16px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.card-head h2{margin:0}.status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.76rem;font-weight:700;text-transform:capitalize;white-space:nowrap}.status-confermata{background:var(--ok-soft);color:var(--ok)}.status-annullata{background:var(--danger-soft);color:var(--danger)}.status-in_attesa{background:var(--warn-soft);color:var(--warn)}.status-rifiutata{background:#efece6;color:#6d6a63}.status{text-transform:none}.status-help{font-size:.88rem!important;padding:7px 10px;border-radius:9px;margin:6px 0 8px!important}.status-help.status-in_attesa{background:var(--warn-soft);color:#6d4c10}.status-help.status-confermata{background:var(--ok-soft);color:#1c5a3f}.status-help.status-rifiutata,.status-help.status-annullata{background:var(--surface-2);color:var(--muted)}.my-booking.in_attesa{border-left-color:var(--gold)}.my-booking.rifiutata{border-left-color:#b9b4aa;opacity:.8}.admin-note{font-size:.88rem;font-style:italic;color:#4a4f59}.request-note{font-size:.88rem;color:#6d4c10;background:var(--warn-soft);border-radius:11px;padding:10px 12px;margin:0}.success-icon.pending{background:var(--warn-soft);color:var(--warn);box-shadow:0 0 0 8px #c99a3e1f}.next-steps{list-style:none;margin:18px auto 0;padding:0;max-width:420px;display:flex;flex-direction:column;gap:0}.next-steps li{display:flex;gap:12px;align-items:flex-start;position:relative;padding-bottom:14px}.next-steps li:not(:last-child):before{content:"";position:absolute;left:15px;top:32px;bottom:2px;width:2px;background:var(--border)}.next-steps li>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);flex:none}.next-steps li.done>span{background:var(--ok-soft);color:var(--ok)}.next-steps li.current>span{background:var(--warn-soft);color:var(--warn);box-shadow:0 0 0 4px #c99a3e26}.next-steps div{display:flex;flex-direction:column}.next-steps strong{font-size:.95rem}.next-steps small{color:var(--muted);font-size:.83rem}.btn-success{background:var(--ok);color:#fff;box-shadow:0 2px 8px #2f7a5540}.btn-success:hover:not(:disabled){filter:brightness(.92)}.count-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:.75rem;font-weight:700;margin-left:2px}.stat.stat-alert{border-color:#efd9a9;background:var(--warn-soft)}.stat.stat-alert strong,.stat.stat-alert svg{color:var(--warn)}.pending-section{border-color:#efd9a9}.empty-state.compact{padding:18px;margin:0}.pending-list{display:grid;gap:10px}.pending-card{border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:12px;padding:12px;background:#fffdf8}.pending-card.status-confermata{border-left-color:var(--ok);background:#f7fcf9}.pending-card.status-rifiutata{border-left-color:#b9b4aa;background:var(--surface-2)}.pending-main{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:4px;width:100%}.pending-main:focus-visible{outline:3px solid rgba(43,76,126,.35);border-radius:6px}.pending-when{display:flex;flex-direction:column}.pending-when span{font-size:.9rem;color:var(--primary-dark);font-weight:600}.pending-what{font-size:.93rem}.pending-notes{font-size:.85rem;font-style:italic;color:#5a5f69}.pending-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.pending-done{margin-top:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.notify{background:var(--surface-2);border-radius:11px;padding:10px 12px;margin:10px 0;width:100%}.notify p{font-size:.87rem;margin:0 0 8px}.notify-actions{display:flex;gap:6px;flex-wrap:wrap}.status-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:11px;background:var(--surface-2);font-size:.9rem}.status-banner.status-in_attesa{background:var(--warn-soft);color:#6d4c10}.agenda button.is-pending{background:var(--warn-soft)}.agenda-body .status{align-self:flex-start;margin-top:2px}.lg-pending{background:repeating-linear-gradient(45deg,#f3e2b8,#f3e2b8 3px,#fbf1dc 3px,#fbf1dc 6px);border-color:var(--gold)!important}.cell.event.booked.pending{background:var(--warn-soft)!important;color:#6d4c10;border:2px dashed var(--gold)}@media(min-width:900px){.pending-list{grid-template-columns:repeat(2,1fr)}}.tag{display:inline-block;font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);margin-left:6px;vertical-align:middle;font-weight:600}.tag-weekly{background:var(--primary-soft);color:var(--primary)}.empty-state{text-align:center;padding:30px 16px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);margin-bottom:20px}.empty-state svg{color:var(--gold);margin-bottom:8px}.list-title{font-size:1.3rem;margin-top:10px}.my-bookings{display:grid;gap:12px;margin-bottom:20px}.my-booking{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius);padding:14px 16px}.my-booking.annullata{border-left-color:var(--danger);opacity:.75}.my-booking.past{border-left-color:var(--border)}.my-booking-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.my-booking-head h3{margin:0}.my-booking p{margin:4px 0;display:flex;align-items:center;gap:7px;font-size:.93rem}.my-booking p svg{color:var(--primary)}.my-booking p.muted{display:block}.my-booking-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.past-list{margin-bottom:20px}.past-list summary{cursor:pointer;font-weight:600;color:var(--muted);padding:8px 0 12px}.lookup h2{font-size:1.35rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14182280;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal{background:var(--surface);width:100%;max-height:92vh;display:flex;flex-direction:column;border-radius:20px 20px 0 0;box-shadow:var(--shadow-lg);animation:sheet .22s ease-out}@keyframes sheet{0%{transform:translateY(30px);opacity:.5}to{transform:none;opacity:1}}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 6px}.modal-head h2{margin:0;font-size:1.5rem}.modal-body{padding:6px 18px calc(18px + env(safe-area-inset-bottom));overflow-y:auto}.login-page{display:flex;justify-content:center}.login{width:100%;max-width:420px;text-align:left;padding:26px 22px}.login h1{font-size:1.9rem;margin-bottom:0}.login-icon{width:56px;height:56px;border-radius:16px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.admin-head h1{margin-bottom:2px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:14px -16px 18px;padding:0 16px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{background:none;border:0;padding:12px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;font-weight:600;font-size:.92rem;display:inline-flex;align-items:center;gap:6px}.tabs button.on{color:var(--primary);border-bottom-color:var(--primary)}.split{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:2px}.stat svg{color:var(--gold-dark)}.stat strong{font-size:1.7rem;line-height:1.15;color:var(--primary-dark);font-variant-numeric:tabular-nums}.stat span{font-size:.82rem;color:var(--muted)}.agenda-day h4{margin:14px 0 6px;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.agenda,.recent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.agenda button,.recent button{width:100%;text-align:left;background:var(--surface-2);border:0;border-radius:11px;padding:10px 12px;cursor:pointer;display:flex;gap:12px;align-items:flex-start}.agenda button:hover,.recent button:hover{background:var(--surface-3)}.agenda-time{font-weight:700;font-size:.85rem;color:var(--primary);font-variant-numeric:tabular-nums;line-height:1.3}.agenda-body{display:flex;flex-direction:column;gap:2px;font-size:.92rem;min-width:0}.recent li{display:flex;align-items:center;gap:6px}.recent button{justify-content:space-between;align-items:center;flex:1}.recent button>span:first-child{display:flex;flex-direction:column;min-width:0}.recent-contacts{display:flex;gap:4px}.recent-contacts a{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--primary-soft)}.planner-panel{padding:14px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.segmented{display:inline-flex;background:var(--surface-2);border-radius:12px;padding:3px;gap:2px}.segmented.full{display:flex}.segmented.full button{flex:1}.segmented button{border:0;background:transparent;padding:8px 13px;border-radius:9px;cursor:pointer;color:var(--muted);font-weight:600;font-size:.88rem;min-height:38px}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001a}.select-inline{width:auto;min-width:170px;min-height:42px;padding:8px 12px}.date-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1;justify-content:flex-end}.date-label{font-weight:600;text-align:center;font-size:.92rem}.date-input{width:auto;min-height:38px;padding:6px 8px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin:6px 0 10px;align-items:center}.legend span{display:inline-flex;align-items:center;gap:6px}.lg{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid var(--border)}.lg-free{background:#fff}.lg-booked{background:var(--booked);border-color:var(--booked)}.lg-blocked{background:repeating-linear-gradient(45deg,var(--blocked),var(--blocked) 3px,#d6cdbb 3px,#d6cdbb 6px)}.grid-scroll{overflow:auto;border:1px solid var(--border);border-radius:12px;max-height:70vh;-webkit-overflow-scrolling:touch}.week-grid{display:grid;min-width:min-content;background:var(--border-soft);gap:0 1px}.week-grid>*{background:var(--surface)}.corner,.col-head{position:sticky;top:0;z-index:2}.corner{left:0;z-index:3}.col-head{padding:8px 6px;text-align:center;display:flex;flex-direction:column;border-bottom:1px solid var(--border);border-top:3px solid var(--room, transparent)}.col-head strong{font-size:.88rem}.col-head span{font-size:.74rem;color:var(--muted)}.col-head.today{background:var(--primary-soft)}.time-label{position:sticky;left:0;z-index:1;font-size:.72rem;color:var(--muted);text-align:right;padding:0 7px;line-height:1;transform:translateY(-5px);background:var(--surface)}.cell{border:0;margin:0;padding:0;border-top:1px dashed #f0ebe1;min-width:0}.cell.hour{border-top:1px solid var(--border)}.cell.free{background:#fff;cursor:pointer;position:relative}.cell.free.past{background:#faf8f4}.cell.free:hover{background:var(--primary-soft)}.cell-hint{font-size:.7rem;color:var(--primary);opacity:0;position:absolute;left:6px;top:50%;transform:translateY(-50%)}.cell.free:hover .cell-hint{opacity:1}.cell.event{margin:1px 3px;border-radius:7px;padding:3px 7px;text-align:left;overflow:hidden;display:flex;flex-direction:column;font-size:.76rem;line-height:1.25;border-top:0;cursor:pointer}.cell.event.booked{background:var(--booked)!important;color:#fff}.cell.event.blocked{background:repeating-linear-gradient(45deg,var(--blocked),var(--blocked) 6px,#ddd4c3 6px,#ddd4c3 12px)!important;color:#5c5546}.cell.event:hover{filter:brightness(.95)}.ev-time{font-weight:700;font-size:.7rem;opacity:.9}.ev-label{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev-sub{opacity:.85;overflow:hidden;text-overflow:ellipsis}.hint{font-size:.84rem;color:var(--muted);margin:10px 2px 0}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}.filters label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:600;flex:1 1 140px}.filters label.grow{flex:3 1 200px}.table-wrap{overflow-x:auto;margin:0 -18px;padding:0 18px}.table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:720px}.table th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--border)}.table td{padding:10px;border-bottom:1px solid var(--border-soft);vertical-align:top}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:#faf8f3}.block-list,.room-list{list-style:none;margin:0;padding:0}.block-list li{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--border-soft)}.block-list li.expired{opacity:.55}.room-list li{border-left:4px solid var(--room);padding:12px;margin:10px 0;background:#fcfbf8;border-radius:0 12px 12px 0}.room-row{display:flex;gap:12px;align-items:flex-start}.room-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.room-editor{margin:6px 0 12px}.photo-editor .room-cover{border-radius:12px;max-width:420px}.photo-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.logo-editor{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.logo-editor>div:last-child{flex:1;min-width:200px}.logo-preview{background:var(--primary-dark);color:#fff;padding:14px;border-radius:16px}.legal-layout{display:grid;gap:16px}.legal-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.legal-nav h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:4px 6px 8px}.legal-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.legal-nav a{display:flex;align-items:center;gap:9px;padding:10px;border-radius:10px;text-decoration:none;color:var(--text);font-weight:500;font-size:.93rem}.legal-nav a svg{color:var(--gold-dark)}.legal-nav a:hover{background:var(--surface-2)}.legal-nav a.active{background:var(--primary-soft);color:var(--primary-dark);font-weight:600}.legal{padding:22px 18px 28px}.legal-head{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border-soft)}.legal-head>div{flex:1;min-width:200px}.legal-head h1{font-size:2rem;margin-bottom:4px}.legal-icon{width:52px;height:52px;border-radius:14px;background:var(--gold-soft);color:var(--gold-dark);display:grid;place-items:center;flex:none}.legal-body{max-width:72ch;font-size:.98rem;color:#33373f}.legal-body h2{font-size:1.4rem;margin:26px 0 8px;color:var(--primary-dark)}.legal-body ol,.legal-body ul{padding-left:1.3em}.legal-body li{margin-bottom:6px}.legal-intro{font-size:1.04rem;background:var(--surface-2);border-left:4px solid var(--gold);padding:14px 16px;border-radius:0 12px 12px 0}.legal-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:10px 0 14px;display:block;overflow-x:auto}.legal-table th,.legal-table td{text-align:left;padding:9px 10px;border:1px solid var(--border);vertical-align:top}.legal-table th{background:var(--surface-2);font-size:.8rem}mark.placeholder{background:#fff1c2;color:#7a5a00;padding:0 4px;border-radius:4px;font-size:.9em}@media(min-width:640px){.hero-actions{flex-direction:row}.steps{grid-template-columns:repeat(3,1fr)}.room-grid{grid-template-columns:repeat(2,1fr)}.slot-grid{grid-template-columns:repeat(6,1fr)}.confirm-actions{flex-direction:row;flex-wrap:wrap;justify-content:center}.stat-grid{grid-template-columns:repeat(4,1fr)}.summary{grid-template-columns:max-content 1fr;gap:8px 18px}.summary dt{margin-top:0;font-size:.85rem;text-transform:none;letter-spacing:0;font-weight:500}.summary dd{margin:0}.modal-backdrop{align-items:center;padding:20px}.modal{max-width:600px;border-radius:18px;max-height:calc(100vh - 40px)}.donation-band{flex-direction:row;align-items:flex-start;padding:28px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.wizard{padding:24px 22px 0}.wizard-bar{margin:8px -22px 0;padding-left:22px;padding-right:22px}.chip-scroll{flex-wrap:wrap;overflow:visible;margin:0;padding:0}.day-strip,.durations{margin:0 -22px;padding-left:22px;padding-right:22px}}@media(min-width:900px){h1{font-size:2.5rem}.menu-btn{display:none}.main-nav{display:flex;position:static;flex-direction:row;background:none;padding:0;border:0;box-shadow:none;gap:4px}.main-nav a{padding:9px 13px;font-size:.93rem}.main-nav a.active{box-shadow:inset 0 -2px 0 var(--gold)}.brand-title{font-size:1.4rem}.hero{padding:64px 0 130px}.hero h1{font-size:3.4rem}.arches{height:130px}.steps-section{margin-top:-70px}.wizard{padding:30px 30px 0;margin-top:36px}.wizard-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.wizard-head h2{margin:0;font-size:2rem}.progress{margin:0;width:460px}.wizard-bar{margin:8px -30px 0;padding-left:30px;padding-right:30px}.day-strip,.durations{margin:0;padding-left:2px;padding-right:2px}.filters-panel{flex-direction:row;align-items:flex-start;padding:16px 18px}.filter-block.grow{flex:1}.clear-filters{align-self:center}.room-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.slot-grid{grid-template-columns:repeat(8,1fr)}.details-step{flex-direction:row-reverse;align-items:flex-start;gap:26px}.booking-recap{position:sticky;top:90px;width:300px;flex-direction:column;align-items:stretch;padding:14px;flex:none}.booking-recap .room-cover.small{width:100%;aspect-ratio:16 / 8}.details-fields{flex:1}.details-fields fieldset{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.details-fields fieldset>legend{grid-column:1 / -1}.details-fields fieldset>.field,.details-fields fieldset>label:has(textarea),.consents>label,.details-fields fieldset>label.check{grid-column:1 / -1}.consents{display:flex!important}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.legal-layout{grid-template-columns:260px 1fr;align-items:start}.legal-nav{position:sticky;top:90px}.legal{padding:34px 40px 40px}.card{padding:22px}.table-wrap{margin:0;padding:0}.login{padding:34px 32px}}@media print{.site-header,.site-footer,.legal-nav,.print-btn{display:none!important}body{background:#fff}.legal{border:0;box-shadow:none;padding:0}.legal-layout{display:block}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.dialog-backdrop{z-index:60}.dialog{padding:20px 18px calc(18px + env(safe-area-inset-bottom));gap:12px;overflow-y:auto}.dialog h2{margin:0;font-size:1.45rem}.dialog-message{color:#4a4f59;margin:0}.dialog-field{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;color:#3a3f48}.dialog-field textarea{font:inherit;font-weight:400;font-size:1rem;padding:11px 12px;border-radius:11px;border:1px solid var(--border);background:var(--surface);resize:vertical;min-height:84px}.dialog-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2b4c7e26}.dialog .chip{font-size:.84rem;text-align:left;white-space:normal}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.dialog-actions .btn{flex:1}.choice-list{display:flex;flex-direction:column;gap:8px}.choice{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;border-radius:12px;border:1.5px solid var(--border);cursor:pointer;transition:border-color .15s,background .15s}.choice input{margin-top:3px;width:19px;height:19px;accent-color:var(--primary);flex:none}.choice span{display:flex;flex-direction:column;gap:2px}.choice small{color:var(--muted);font-size:.8rem;line-height:1.35}.choice.on{border-color:var(--primary);background:var(--primary-soft)}@media(min-width:640px){.dialog-backdrop{align-items:center}.dialog{max-width:460px;border-radius:18px}.dialog-actions .btn{flex:none}}.toasts{position:fixed;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));z-index:70;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 12px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;max-width:520px;width:100%;background:#23262d;color:#fff;padding:12px 12px 12px 14px;border-radius:13px;box-shadow:var(--shadow-lg);font-size:.92rem;line-height:1.4;animation:toast-in .2s ease-out}.toast>svg{margin-top:1px}.toast span{flex:1}.toast button{background:none;border:0;color:inherit;opacity:.7;cursor:pointer;padding:0 2px}.toast-ok>svg{color:#7fd4a5}.toast-error{background:#7d241e}.toast-info>svg{color:#e7c27a}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.skeleton{display:flex;flex-direction:column;gap:10px;padding:6px 0}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px}.skeleton span{display:block;height:13px;border-radius:7px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 40%,var(--surface-2) 80%);background-size:200% 100%;animation:shimmer 1.3s linear infinite}.skeleton span:first-child{height:20px;width:45%!important}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.repeat-field{padding:12px 13px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border-soft)}.repeat-field .check svg{vertical-align:-2px;color:var(--primary)}.repeat-body{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-left:31px}.repeat-body label{max-width:220px}.field-error{color:var(--danger);font-size:.84rem;margin:0}.series-box{background:var(--primary-soft);border:1px solid var(--primary-line);border-radius:12px;padding:10px 12px;margin:8px 0 12px}.series-box p{margin:0 0 8px;font-size:.9rem}.series-box svg{vertical-align:-2px;color:var(--primary)}.series-box.compact{padding:8px 10px;margin:4px 0 8px}.series-dates{list-style:none;display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0}.series-dates li{font-size:.78rem;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.series-dates li.status-confermata{background:var(--ok-soft);border-color:#c4e5d4;color:var(--ok)}.series-dates li.status-in_attesa{background:var(--warn-soft);border-color:#efd9a9;color:var(--warn)}.series-dates li.status-annullata,.series-dates li.status-rifiutata{text-decoration:line-through;opacity:.6}.series-dates li.current{outline:2px solid var(--primary);outline-offset:1px}.series-badge{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;font-size:.76rem;font-weight:700;color:var(--primary);background:var(--primary-soft);padding:3px 9px;border-radius:999px}.series-inline svg{vertical-align:-2px;color:var(--primary)}.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.mail-note{display:inline-block;font-size:.9rem;color:var(--ok);line-height:1.45;background:var(--ok-soft);padding:8px 13px;border-radius:10px;margin-top:4px;overflow-wrap:anywhere}.mail-note svg{vertical-align:-3px;margin-right:4px}.notify-sent{display:flex;gap:8px;align-items:flex-start}.notify-sent svg{color:var(--ok);margin-top:3px}.mail-log,.activity,.users{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.mail-log li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--border-soft);font-size:.9rem}.mail-log li>span{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.mail-log small{color:var(--muted);font-size:.8rem}.mail-log .mail-sent svg{color:var(--ok)}.mail-log .mail-failed svg{color:var(--danger)}.mail-log .mail-failed small{color:var(--danger)}.mail-log .mail-queued svg{color:var(--warn)}.inline-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:12px 0 6px}.inline-form label{flex:1 1 220px;display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600}.inline-form input{font:inherit;font-weight:400;padding:10px 12px;border-radius:11px;border:1px solid var(--border);min-height:44px}.copy-field{display:flex;gap:8px;margin:10px 0}.copy-field input{flex:1;min-width:0;font-size:.8rem;padding:9px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:#3a3f48}.howto{margin:6px 0 10px;padding-left:1.1em;color:#4a4f59}.howto li{margin:3px 0}.activity li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--border-soft)}.activity-tag{flex:none;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--surface-2);color:#4a4f59;min-width:86px;text-align:center}.activity-tag.tag-confirm,.activity-tag.tag-restore{background:var(--ok-soft);color:var(--ok)}.activity-tag.tag-reject,.activity-tag.tag-cancel{background:var(--danger-soft);color:var(--danger)}.activity-tag.tag-block{background:var(--blocked);color:var(--brown)}.activity-tag.tag-users,.activity-tag.tag-account{background:var(--primary-soft);color:var(--primary)}.activity-body{display:flex;flex-direction:column;font-size:.9rem;min-width:0;overflow-wrap:anywhere}.activity-body small{color:var(--muted);font-size:.78rem}.users li{display:flex;align-items:center;gap:11px;padding:10px 0;border-top:1px solid var(--border-soft)}.user-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--primary);color:#fff;font-weight:700;font-family:var(--serif);font-size:1.15rem}.user-body{flex:1;display:flex;flex-direction:column;min-width:0}.user-body small{color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.user-actions{display:flex;gap:6px}.icon-round.danger{color:var(--danger)}.icon-round.danger:hover{background:var(--danger-soft)}.sub-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-soft)}.print-only{display:none}@media print{@page{margin:14mm}.tabs,.admin-head,.alert,.toolbar,.legend,.grid-scroll,.hint,.toasts,.planner-panel>*:not(.print-agenda){display:none!important}.planner-panel{border:0;box-shadow:none;padding:0}.print-only{display:block}.print-agenda{font-family:var(--sans);color:#000;font-size:10.5pt}.print-agenda h1{font-size:13pt;margin:0}.print-agenda h2{font-size:17pt;margin:2pt 0 12pt}.print-agenda h3{font-family:var(--sans);font-size:11pt;margin:12pt 0 4pt;padding-bottom:3pt;border-bottom:1.5pt solid #000;text-transform:capitalize}.print-agenda section{break-inside:avoid}.print-agenda table{width:100%;border-collapse:collapse}.print-agenda td{padding:4pt 6pt 4pt 0;vertical-align:top;border-bottom:.5pt solid #bbb}.print-empty{color:#666;font-style:italic;margin:2pt 0}}@media(max-width:899px){.settings-split .settings-side{order:-1}}
