@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Great+Vibes&family=Inter:wght@300;400;500;600&display=swap");.hero{min-height:100vh;background:linear-gradient(135deg,#100a00,#1e1200 40%,#100a00);display:grid;grid-template-rows:auto 1fr;grid-template-columns:1fr 1fr;grid-template-areas:"nav nav" "content visual";position:relative;overflow:hidden;padding-bottom:80px}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 70% 60%,rgba(200,146,44,.18) 0,transparent 70%),radial-gradient(ellipse 40% 60% at 20% 80%,rgba(212,168,48,.12) 0,transparent 60%);pointer-events:none}.nav{grid-area:nav;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 60px;position:relative;z-index:10;border-bottom:1px solid rgba(255,255,255,.07)}.nav-links{list-style:none;display:flex;gap:36px;justify-content:center}.nav-links a{color:rgba(255,255,255,.6);text-decoration:none;font-size:13px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;transition:color .2s;position:relative;padding-bottom:3px}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .25s ease;transform-origin:center}.nav-links a:hover{color:#fff}.nav-links a:hover:after{transform:scaleX(1)}.nav-cta-wrap{display:flex;justify-content:flex-end;align-items:center;gap:14px}.nav-cta{background:transparent;color:var(--gold);border:1.5px solid rgba(212,168,48,.45);border-radius:50px;padding:10px 26px;font-size:12px;font-weight:500;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s,transform .15s;font-family:var(--font-body)}.nav-cta:hover{background:var(--rose);border-color:var(--rose);color:#fff;transform:translateY(-1px)}.hero-content{grid-area:content;display:flex;flex-direction:column;justify-content:center;padding:60px 60px 40px;position:relative;z-index:2}.hero-tag{display:inline-flex;align-items:center;gap:8px;color:var(--gold);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}.hero-tag:before{content:"";display:block;width:24px;height:1px;background:var(--gold)}.hero-title{font-family:var(--font-display);font-size:clamp(36px,8vw,88px);font-weight:400;line-height:1.05;color:#fff;margin-bottom:24px}.hero-title em{font-style:italic;color:var(--rose)}.hero-sub{color:rgba(255,255,255,.55);font-size:16px;font-weight:300;line-height:1.7;margin-bottom:40px;max-width:420px}.hero-ctas{display:flex;gap:14px;margin-bottom:48px;flex-wrap:wrap}.hero-btn{border-radius:50px;padding:14px 32px;font-size:14px;font-weight:500;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-body);transition:background .2s,border-color .2s,color .2s,transform .15s;border:1.5px solid transparent;white-space:nowrap}.hero-btn--primary{background:var(--gold);color:#fff;border-color:var(--gold)}.hero-btn--primary:hover{background:var(--rose-dark);border-color:var(--rose-dark);transform:translateY(-2px)}.hero-btn--secondary{background:transparent;color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.3)}.hero-btn--secondary:hover{border-color:rgba(255,255,255,.7);color:#fff;transform:translateY(-2px)}.hero-stats{display:flex;align-items:center;gap:28px}.stat{display:flex;flex-direction:column;gap:2px}.stat strong{color:#fff;font-size:22px;font-weight:600;font-family:var(--font-display)}.stat span{color:rgba(255,255,255,.4);font-size:12px;letter-spacing:.04em}.stat-divider{width:1px;height:36px;background:rgba(255,255,255,.15)}.hero-visual{grid-area:visual;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;padding:40px 60px 40px 20px}.hero-card{position:absolute;border-radius:20px;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.5)}.hero-card img{display:block;width:100%;height:100%;object-fit:cover}.hero-card--back{width:240px;height:320px;top:50%;left:50%;transform:translate(-60%,-40%) rotate(-6deg);opacity:.75}.hero-card--front{width:280px;height:380px;top:50%;left:50%;transform:translate(-30%,-52%) rotate(3deg);display:flex;flex-direction:column}.hero-card-badge{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(0,0,0,.85) 0,transparent);padding:40px 20px 20px;display:flex;flex-direction:column;gap:2px}.badge-label{color:var(--gold);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.badge-name{color:#fff;font-family:var(--font-display);font-size:20px}.badge-price{color:rgba(255,255,255,.6);font-size:13px}@media (max-width:900px){.hero{grid-template-columns:1fr;grid-template-areas:"nav" "content";min-height:auto;padding-bottom:60px}.hero-visual{display:none}.nav{padding:12px 24px;grid-template-columns:1fr auto}.nav-links{display:none}.nav-cta-wrap{display:flex}.nav-logo img{height:72px!important;width:72px!important}.hero-content{padding:36px 24px 48px}.hero-sub{font-size:15px;margin-bottom:28px}.hero-ctas{margin-bottom:32px;gap:10px}.hero-btn{padding:12px 24px;font-size:13px}.hero-stats{gap:16px}.stat strong{font-size:18px}}@media (max-width:480px){.nav{padding:8px 16px}.nav-logo img{height:60px!important;width:60px!important}.nav-cta{padding:8px 16px;font-size:11px}.hero-content{padding:28px 16px 40px}.hero-tag{font-size:11px;margin-bottom:14px}.hero-sub{font-size:14px}.hero-btn{padding:11px 20px;font-size:12px}.hero-stats{gap:12px}.stat strong{font-size:16px}.stat span{font-size:11px}.stat-divider{height:28px}}.filter-bar{background:var(--white);border-bottom:1px solid var(--border);padding:0 60px;display:flex;align-items:center;gap:0;position:-webkit-sticky;position:sticky;top:0;z-index:50;box-shadow:var(--shadow-soft);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.filter-bar::-webkit-scrollbar{display:none}.filter-group{display:flex;align-items:center;gap:12px;padding:14px 0;flex-shrink:0}.filter-label{font-size:10px;font-weight:600;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.filter-row{display:flex;align-items:center;gap:5px;flex-shrink:0}.filter-sep{width:1px;height:28px;background:var(--border);flex-shrink:0;margin:0 20px}.chip{border:1.5px solid var(--border);background:transparent;color:var(--muted);font-family:var(--font-body);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s,color .15s;line-height:1}.chip--size{min-width:38px;height:34px;border-radius:8px;padding:0 10px;text-align:center;letter-spacing:.04em}.chip--pill{height:32px;border-radius:50px;padding:0 14px;font-size:13px}.chip:hover{border-color:var(--gold);color:var(--charcoal)}.chip--active{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:600}.filter-row--colors{gap:7px}.swatch-btn{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;padding:0;cursor:pointer;flex-shrink:0}.swatch-name{font-size:10px;font-family:var(--font-body);color:var(--muted);white-space:nowrap}.swatch-btn--active .swatch-name{color:var(--charcoal);font-weight:600}.swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:border-color .15s,transform .15s}.swatch-btn:hover .swatch{border-color:var(--gold);transform:scale(1.1)}.swatch-btn--active .swatch{border-color:var(--charcoal)!important;transform:scale(1.05)}.swatch-dot--light{outline:1.5px solid var(--border);outline-offset:-1px}.swatch-dot{width:20px;height:20px;border-radius:50%;display:block}.swatch-all{font-size:9px;font-weight:700;color:var(--muted);letter-spacing:.05em;font-family:var(--font-body);text-transform:uppercase}.swatch-btn--active .swatch-all{color:var(--charcoal)}@media (max-width:900px){.filter-bar{flex-direction:column;align-items:stretch;padding:0;overflow-x:visible;position:-webkit-sticky;position:sticky;top:0}.filter-group{padding:9px 16px;gap:10px;border-bottom:1px solid var(--border)}.filter-group:last-child{border-bottom:none}.filter-label{min-width:50px;font-size:9px}.filter-sep{display:none}.filter-row{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;padding-bottom:1px}.filter-row::-webkit-scrollbar{display:none}.chip--size{min-width:34px;height:30px;border-radius:7px;font-size:11px}.chip--pill{height:28px;padding:0 12px;font-size:11px}.swatch{width:28px;height:28px}.swatch-dot{width:16px;height:16px}.swatch-all{font-size:8px}}@media (max-width:480px){.filter-group{padding:8px 12px}.filter-label{min-width:44px}.chip--size{min-width:30px;height:28px;padding:0 8px}.chip--pill{height:26px;padding:0 10px;font-size:10px}.swatch{width:26px;height:26px}.swatch-dot{width:14px;height:14px}}.dress-card{background:var(--white);border-radius:var(--radius);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;box-shadow:var(--shadow-soft);border:1px solid var(--border);will-change:transform}.dress-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}.card-img-wrap{position:relative;overflow:hidden;padding-top:133.33%;flex-shrink:0}.card-img{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);object-fit:cover;object-position:top center;display:block;transition:transform .5s ease}.dress-card:hover .card-img{transform:scale(1.04)}.card-tag{top:14px;left:14px;color:var(--charcoal);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:50px}.card-like,.card-tag{position:absolute;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.card-like{top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:none;color:#ccc;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.card-like:hover{background:#fff;color:var(--gold);transform:scale(1.1)}.card-like--active{color:var(--gold)!important}.card-overlay{position:absolute;inset:0;background:rgba(0,0,0,.25);display:flex;align-items:flex-end;justify-content:center;padding-bottom:24px;opacity:0;transition:opacity .25s ease}.dress-card:hover .card-overlay{opacity:1}@media (hover:none){.card-overlay{opacity:1;background:rgba(0,0,0,.15)}.card-quick{transform:translateY(0)}}.card-quick{background:rgba(255,255,255,.95);border:none;border-radius:50px;padding:10px 24px;font-size:13px;font-weight:500;color:var(--charcoal);cursor:pointer;letter-spacing:.02em;transform:translateY(8px);transition:transform .25s ease;font-family:var(--font-body)}.dress-card:hover .card-quick{transform:translateY(0)}.card-body{padding:18px 20px 20px;position:relative;z-index:1;background:var(--white);box-shadow:0 -4px 0 0 var(--white)}.card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.card-occasion{font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--gold)}.card-color-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);flex-shrink:0}.card-name{font-family:var(--font-display);font-size:22px;font-weight:400;color:var(--charcoal);margin-bottom:12px;line-height:1.2}.card-sizes{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.size-chip{font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-weight:500;letter-spacing:.04em}.card-footer{display:flex;align-items:center;justify-content:space-between}.card-price{display:flex;flex-direction:column;gap:2px}.price-anchor{font-size:12px;color:var(--muted)}.price-current{display:flex;align-items:baseline;gap:2px}.price-main{font-size:24px;font-weight:600;color:var(--charcoal);font-family:var(--font-display)}.price-unit{font-size:12px;color:var(--muted)}.card-rent{background:var(--charcoal);color:#fff;border:none;border-radius:50px;padding:9px 20px;font-size:13px;font-weight:500;cursor:pointer;letter-spacing:.02em;transition:background .2s,transform .15s;font-family:var(--font-body)}.card-rent:hover{background:var(--gold);transform:translateY(-1px)}.grid-section{padding:60px 60px 80px;flex:1 1}.grid-header{display:flex;align-items:baseline;gap:16px;margin-bottom:40px}.grid-title{font-family:var(--font-display);font-size:36px;font-weight:400;color:var(--charcoal)}.grid-price-note{margin-top:40px;max-width:900px;font-size:12px;line-height:1.6;color:var(--muted)}.grid-count{color:var(--muted);font-size:14px}.dress-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:32px;gap:32px}.grid-empty{flex:1 1;display:flex;align-items:center;justify-content:center;padding:100px 60px;color:var(--muted);font-size:16px}@media (max-width:900px){.grid-section{padding:40px 20px 60px}.grid-title{font-size:28px}.dress-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}}@media (max-width:480px){.grid-section{padding:28px 16px 48px}.grid-title{font-size:24px}.dress-grid{grid-template-columns:1fr 1fr;gap:12px}.card-body{padding:12px 14px 14px}.card-name{font-size:17px}.price-main{font-size:19px}.card-rent{padding:8px 14px;font-size:12px}}.drp{background:var(--cream);border:1px solid var(--border);border-radius:14px;padding:14px}.drp-nav{justify-content:space-between;margin-bottom:10px}.drp-nav,.drp-nav-btn{display:flex;align-items:center}.drp-nav-btn{width:28px;height:28px;border:1px solid var(--border);background:var(--white);border-radius:8px;font-size:16px;color:var(--charcoal);cursor:pointer;justify-content:center;transition:border-color .15s,background .15s;line-height:1;padding:0}.drp-nav-btn:hover{border-color:var(--gold);background:#fff}.drp-month-label{font-size:13px;font-weight:500;color:var(--charcoal);letter-spacing:.02em}.drp-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.drp-head{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px 0 6px}.drp-cell{aspect-ratio:1;border:none;background:transparent;border-radius:8px;font-size:12px;font-family:var(--font-body);color:var(--charcoal);cursor:pointer;transition:background .15s,color .15s;display:flex;align-items:center;justify-content:center}.drp-cell:hover:not(:disabled):not(.drp-reserved){background:var(--charcoal);color:#fff}.drp-past{color:var(--border);cursor:not-allowed}.drp-reserved{color:#ccc;cursor:not-allowed;text-decoration:line-through;background:#f5f0f0}.drp-selected{background:var(--charcoal)!important;color:#fff!important;font-weight:600}.drp-in-range{background:rgba(44,44,44,.08);border-radius:0}.drp-hint{font-size:11px;color:var(--gold);text-align:center;margin-top:8px;font-weight:500;letter-spacing:.04em;height:16px;opacity:0;transition:opacity .2s}.drp-hint--visible{opacity:1}.modal-backdrop{position:fixed;inset:0;background:rgba(20,10,8,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}.modal{background:var(--white);border-radius:24px;overflow:hidden;display:grid;grid-template-columns:380px 1fr;max-width:780px;width:100%;max-height:90vh;position:relative;animation:slideUp .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 40px 100px rgba(0,0,0,.35)}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;color:var(--charcoal);transition:background .2s,transform .15s}.modal-close:hover{background:#fff;transform:scale(1.1)}.modal-img-wrap{overflow:hidden;display:flex;flex-direction:column}.modal-img-area{position:relative;flex:1 1;min-height:0;overflow:hidden}.modal-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block;-webkit-backface-visibility:hidden;backface-visibility:hidden}.modal-img-next,.modal-img-prev{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--charcoal);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;transition:background .15s,transform .15s;font-family:var(--font-body)}.modal-img-prev{left:10px}.modal-img-next{right:10px}.modal-img-next:hover,.modal-img-prev:hover{background:#fff;transform:translateY(-50%) scale(1.08)}.modal-thumbs{display:flex;gap:5px;padding:8px;background:var(--white)}.modal-thumb{flex-shrink:0;width:52px;height:52px;border-radius:7px;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:none;transition:border-color .15s,opacity .15s;opacity:.65}.modal-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.modal-thumb:hover{opacity:1}.modal-thumb--active{border-color:var(--rose);opacity:1}.modal-img-tag{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.92);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--charcoal);padding:4px 12px;border-radius:50px}.modal-content{padding:36px;overflow-y:auto;display:flex;flex-direction:column;gap:0}.modal-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.modal-occasion{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.modal-name{font-family:var(--font-display);font-size:38px;font-weight:400;color:var(--charcoal);line-height:1.1;margin-bottom:6px}.modal-color{color:var(--muted);font-size:14px;margin-bottom:20px}.modal-color strong{color:var(--charcoal)}.modal-price-row{display:flex;align-items:baseline;gap:6px 16px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border);flex-wrap:wrap}.modal-price{font-family:var(--font-display);font-size:36px;font-weight:600;color:var(--charcoal)}.modal-price span{font-size:14px;font-weight:400;color:var(--muted);margin-left:2px}.modal-anchor,.modal-deposit{font-size:13px;color:var(--muted)}.modal-anchor{flex-basis:100%}.modal-section{margin-bottom:28px}.modal-label{display:block;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.modal-sizes{display:flex;gap:8px;flex-wrap:wrap}.size-chip-modal{width:48px;height:48px;border-radius:10px;border:1.5px solid var(--border);color:var(--charcoal);font-size:13px;font-weight:500;font-family:var(--font-body);display:flex;align-items:center;justify-content:center}.modal-actions{display:flex;gap:10px;margin-bottom:24px;align-items:stretch}.modal-book{flex:1 1;background:var(--charcoal);color:#fff;border:none;border-radius:12px;padding:14px 20px;font-size:14px;font-weight:500;cursor:pointer;letter-spacing:.02em;transition:background .2s,transform .15s;font-family:var(--font-body)}.modal-book:hover{background:#444;transform:translateY(-1px)}.modal-reserve-hint{font-size:13px;color:var(--muted);margin:0 0 10px}.modal-reserve-btn{width:100%;margin-top:12px;background:var(--rose);color:#fff;border:none;border-radius:12px;padding:13px 20px;font-size:14px;font-weight:500;font-family:var(--font-body);cursor:pointer;transition:background .2s,transform .15s}.modal-reserve-btn:hover{background:var(--rose-dark);transform:translateY(-1px)}.modal-wishlist{width:50px;border-radius:12px;border:1.5px solid var(--border);background:transparent;font-size:18px;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s;flex-shrink:0;font-family:var(--font-body)}.modal-wishlist:hover{border-color:var(--gold);color:var(--gold)}.modal-perks{display:flex;flex-direction:column;gap:8px}.perk{display:flex;gap:10px;font-size:13px;color:var(--muted);align-items:center}.perk span{font-size:15px}@media (max-width:760px){.modal-backdrop{padding:0;align-items:flex-end}.modal{grid-template-columns:1fr;grid-template-rows:260px 1fr;max-height:96vh;border-radius:24px 24px 0 0}.modal-name{font-size:28px}.modal-content{padding:24px}}@media (max-width:400px){.modal{grid-template-rows:220px 1fr}.modal-name{font-size:24px}.modal-price{font-size:28px}}.booking-modal{background:var(--white);border-radius:24px;max-width:620px;width:100%;max-height:92vh;overflow-y:auto;position:relative;animation:slideUp .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 40px 100px rgba(0,0,0,.35)}.bk-header{padding:40px 40px 24px;border-bottom:1px solid var(--border)}.bk-header h2{font-family:var(--font-display);font-size:32px;font-weight:400;color:var(--charcoal);margin-bottom:6px}.bk-header p{font-size:13px;color:var(--muted)}.bk-body{padding:32px 40px;display:flex;flex-direction:column;gap:32px}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.cal-month{font-family:var(--font-display);font-weight:600}.cal-month,.cal-nav-btn{font-size:20px;color:var(--charcoal)}.cal-nav-btn{width:36px;height:36px;border:1.5px solid var(--border);border-radius:50%;background:transparent;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .18s,color .18s;font-family:var(--font-body)}.cal-nav-btn:hover{border-color:var(--rose);color:var(--rose)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px}.cal-head{text-align:center;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding:4px 0 10px}.cal-head--closed{color:var(--border)}.cal-cell{aspect-ratio:1;border:none;background:transparent;border-radius:8px;font-size:14px;color:var(--charcoal);cursor:pointer;transition:background .15s,color .15s;font-family:var(--font-body);display:flex;align-items:center;justify-content:center}.cal-cell:hover:not([disabled]){background:var(--blush)}.cal-cell--empty{pointer-events:none}.cal-cell--disabled{color:var(--border);cursor:not-allowed}.cal-cell--sunday{color:var(--border)}.cal-cell--today{font-weight:600;color:var(--rose)}.cal-cell--selected{background:var(--rose)!important;color:#fff!important;font-weight:500}.bk-unavailable{display:flex;gap:14px;align-items:flex-start;background:#fffbf0;border:1px solid #f0d88a;border-radius:14px;padding:18px 20px}.bk-unavailable-icon{font-size:20px;flex-shrink:0;margin-top:1px}.bk-unavailable p{font-size:14px;color:var(--charcoal);line-height:1.6;margin:0}.bk-slots-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.bk-slots-date{font-size:14px;font-weight:500;color:var(--charcoal)}.bk-slots-closed{font-size:13px;color:var(--muted)}.bk-slots-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.slot-btn{padding:11px 6px;border:1.5px solid var(--border);border-radius:10px;background:transparent;font-size:13px;color:var(--charcoal);cursor:pointer;transition:border-color .18s,color .18s,background .18s;font-family:var(--font-body);text-align:center}.slot-btn:hover:not([disabled]){border-color:var(--rose);color:var(--rose)}.slot-btn--active{background:var(--charcoal);border-color:var(--charcoal);color:#fff}.slot-btn--taken{background:var(--blush);border-color:var(--border);color:var(--border);cursor:not-allowed;text-decoration:line-through}.bk-form{display:flex;flex-direction:column;gap:6px}.bk-form-label{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:8px}.bk-form-label span{color:var(--rose)}.bk-form-opt{font-weight:400;text-transform:none;letter-spacing:0;color:var(--border)}.bk-form-input{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;font-family:var(--font-body);color:var(--charcoal);background:transparent;outline:none;transition:border-color .18s}.bk-form-input:focus{border-color:var(--rose)}.bk-form-input::placeholder{color:var(--border)}.bk-form-error{font-size:13px;color:#c0392b;margin-top:4px}.bk-btn--ghost{background:transparent;color:var(--muted);border:1.5px solid var(--border)}.bk-btn--ghost:hover{border-color:var(--charcoal);color:var(--charcoal);transform:none;background:transparent}.bk-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.bk-footer{padding:24px 40px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}.bk-summary{display:flex;flex-direction:column;gap:2px}.bk-summary span{font-size:13px;color:var(--muted)}.bk-summary-time{font-size:16px!important;font-weight:600;color:var(--charcoal)!important}.bk-btn{background:var(--rose);color:#fff;border:none;border-radius:12px;padding:14px 28px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,transform .15s;font-family:var(--font-body);white-space:nowrap;letter-spacing:.02em}.bk-btn:hover{background:var(--rose-dark);transform:translateY(-1px)}.bk-confirm{padding:60px 40px;text-align:center;flex-direction:column;gap:10px}.bk-confirm,.bk-confirm-icon{display:flex;align-items:center}.bk-confirm-icon{width:64px;height:64px;border-radius:50%;background:var(--rose);color:#fff;font-size:28px;justify-content:center;margin-bottom:8px}.bk-confirm h2{font-family:var(--font-display);font-size:32px;font-weight:400;color:var(--charcoal)}.bk-confirm-date{font-size:16px;color:var(--charcoal)}.bk-confirm-time{font-size:22px;font-weight:600;color:var(--rose)}.bk-confirm-note{font-size:14px;color:var(--muted);max-width:300px;line-height:1.6;margin-bottom:8px}@media (max-width:600px){.modal-backdrop{padding:0;align-items:flex-end}.booking-modal{border-radius:20px 20px 0 0;max-height:96vh}.bk-header{padding:28px 20px 18px}.bk-header h2{font-size:26px}.bk-body{padding:20px;gap:20px}.bk-footer{flex-direction:column;padding:16px 20px}.bk-btn{width:100%;text-align:center}.bk-slots-grid{grid-template-columns:repeat(3,1fr)}.bk-confirm{padding:40px 20px}}.reserve-backdrop{position:fixed;inset:0;background:rgba(20,10,8,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.reserve-modal{background:#fff;border-radius:24px;padding:40px;width:100%;max-width:480px;position:relative;animation:slideUp .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 40px 100px rgba(0,0,0,.35);max-height:90vh;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.reserve-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;background:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--charcoal);transition:background .2s,transform .15s}.reserve-close:hover{background:var(--border);transform:scale(1.1)}.reserve-header{margin-bottom:24px}.reserve-subtitle{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}.reserve-title{font-family:var(--font-display);font-size:30px;font-weight:400;color:var(--charcoal);line-height:1.1}.reserve-summary{background:var(--cream);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.reserve-summary-row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px}.reserve-summary-row span{color:var(--muted)}.reserve-summary-row strong{color:var(--charcoal);font-weight:600}.reserve-summary-row--fee{padding-top:12px;margin-top:0;border-top:1px solid var(--border)}.reserve-summary-row--fee strong{font-family:var(--font-display);font-size:24px;color:var(--gold)}.reserve-note{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:24px}.reserve-form{gap:16px}.reserve-field,.reserve-form{display:flex;flex-direction:column}.reserve-field{gap:6px}.reserve-field label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.reserve-field input{padding:11px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:15px;font-family:var(--font-body);color:var(--charcoal);background:var(--cream);outline:none;transition:border-color .2s}.reserve-field input:focus{border-color:var(--gold);background:#fff}.reserve-error{background:#fdf0ee;border:1px solid #f5c6c2;color:#c0392b;border-radius:8px;padding:10px 14px;font-size:13px}.reserve-submit{background:var(--gold);color:#fff;border:none;border-radius:12px;padding:15px;font-size:15px;font-weight:500;font-family:var(--font-body);cursor:pointer;letter-spacing:.02em;transition:background .2s,transform .15s;width:100%;margin-top:4px}.reserve-submit:hover:not(:disabled){background:#b8974a;transform:translateY(-1px)}.reserve-submit:disabled{opacity:.6;cursor:not-allowed}.reserve-revolut-note{margin-top:14px;font-size:12px;color:var(--muted);text-align:center;line-height:1.4}.reserve-done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 0}.reserve-done-icon{width:64px;height:64px;background:#d4edda;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;color:#155724}.reserve-done h2{font-family:var(--font-display);font-size:28px;font-weight:400;color:var(--charcoal)}.reserve-done p{font-size:15px;color:var(--muted);line-height:1.5;max-width:360px}@media (max-width:520px){.reserve-backdrop{padding:0;align-items:flex-end}.reserve-modal{border-radius:24px 24px 0 0;max-height:94vh;padding:32px 24px}.reserve-title{font-size:26px}}.footer{background:var(--charcoal);color:rgba(255,255,255,.55);padding:60px 60px 0}.footer-inner{display:flex;gap:80px;padding-bottom:52px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-brand{flex:1 1;min-width:200px}.footer-logo{font-family:var(--font-display);font-size:28px;font-weight:600;color:#fff;display:block;margin-bottom:12px}.footer-brand p{font-size:14px;line-height:1.7;max-width:220px}.footer-links{display:flex;gap:60px}.footer-col{display:flex;flex-direction:column;gap:10px}.footer-col h4{color:#fff;font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}.footer-col a{color:rgba(255,255,255,.45);text-decoration:none;font-size:14px;transition:color .18s}.footer-col a:hover{color:var(--gold)}.footer-bottom{display:flex;justify-content:space-between;padding:20px 0;font-size:13px}@media (max-width:900px){.footer{padding:48px 24px 0}.footer-inner{flex-direction:column;gap:40px}.footer-links{flex-wrap:wrap;gap:32px}.footer-bottom{flex-direction:column;gap:6px;align-items:center;text-align:center}}