@font-face{font-family:CrimsonProFallback;src:local("Crimson Pro"),local("Times New Roman")}
:root{color-scheme:light;--bg:#fff;--text:#111;--muted:rgba(0,0,0,.62);--border:#111;--borderSoft:rgba(0,0,0,.22);--shadow:none;--radius:18px}
html,body{height:100%;max-width:100%;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:inherit}
.frWrap{max-width:1140px;margin:0 auto;padding:0 20px}
.frTop{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--borderSoft)}
.frTopInner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 0}
.frTopLeft{min-height:1px;display:flex;justify-content:flex-start;align-items:center}
.frTopCenter{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.frTopRight{display:flex;justify-content:flex-end;gap:10px;align-items:center}
.frBrand{display:flex;justify-content:center;align-items:center}
.frLogoLink{display:inline-flex;text-decoration:none}
.frLogo{width:120px;max-width:30vw;height:auto;display:block;object-fit:contain}
.frNav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.frNavBtn{display:inline-flex;align-items:center;justify-content:center;height:34px;min-width:90px;padding:0 14px;border-radius:999px;border:1px solid rgba(0,0,0,.40);background:#fff;text-decoration:none;color:#111;font-family:CrimsonProFallback,serif;letter-spacing:.08em;text-transform:uppercase}
.frNavBtn:hover{background:#111;color:#fff;border-color:#111}
.frMobNavDd{display:none;position:relative}
.frMobNavList{position:absolute;left:0;top:calc(100% + 6px);min-width:180px;border:1px solid rgba(0,0,0,.35);border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:8px;display:none;z-index:90}
.frMobNavDd.isOpen .frMobNavList{display:block}
.frLangDd{display:flex;justify-content:flex-end;position:relative}
.frLangBtn{display:inline-flex;align-items:center;justify-content:center;height:34px;min-width:74px;padding:0 12px;border-radius:999px;border:1px solid rgba(0,0,0,.40);background:#fff;color:#111;font-family:CrimsonProFallback,serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.frLangList{position:absolute;right:0;top:calc(100% + 6px);min-width:120px;border:1px solid rgba(0,0,0,.35);border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:8px;display:none;z-index:90}
.frLangDd.isOpen .frLangList{display:block}
.frLangOpt{display:flex;align-items:center;justify-content:space-between;gap:10px;height:34px;padding:0 12px;border-radius:10px;text-decoration:none;color:#111;font-family:CrimsonProFallback,serif;letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent}
.frLangOpt:hover{background:#111;color:#fff}
.frLangOpt.isOn{border-color:#111}
.frBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 14px;border-radius:12px;border:1px solid rgba(0,0,0,.40);background:#fff;text-decoration:none;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.frBtn[aria-disabled="true"]{opacity:.55;pointer-events:none}
.frBtnPrimary{background:#111;color:#fff;border-color:#111}
.frNotice{margin:16px 0;padding:12px 14px;border-radius:14px;border:1px dashed rgba(0,0,0,.35);background:#fff;color:var(--muted)}
.frHero{padding:22px 0 10px}
.frHeroGrid{display:grid;grid-template-columns:1fr;gap:16px;align-items:stretch;max-width:860px;margin:0 auto}
.frHeroGrid>*{min-width:0}
.frHeroText{border:1px solid var(--border);border-radius:var(--radius);padding:22px;background:#fff;text-align:center}
.frHeroText .frLinks{justify-content:center}
.frHeroMedia{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#000;aspect-ratio:16/9;min-height:340px;display:flex;align-items:center;justify-content:center;max-width:100%;width:100%}
.frHeroVideo{display:block;width:100%;max-width:100%;height:100%;object-fit:cover;background:#000;pointer-events:none}
.frReserveSection{padding-top:8px}
.frReserveCard{max-width:860px;margin:0 auto;border:1px solid var(--border);border-radius:var(--radius);padding:22px;background:#fff}
.frReserveHead{margin-bottom:14px}
.frReserveForm{display:flex;flex-direction:column;gap:14px}
.frReserveGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.frReserveField{display:flex;flex-direction:column;gap:7px}
.frReserveField span{font-size:12px;color:rgba(0,0,0,.62);letter-spacing:.04em;text-transform:uppercase}
.frReserveField input,.frReserveField select{height:46px;border:1px solid rgba(0,0,0,.22);border-radius:12px;padding:0 14px;background:#fff;color:#111;font:inherit;outline:none}
.frReserveField select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, #111 50%),linear-gradient(135deg, #111 50%, transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 12px) 19px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:38px}
.frReserveField input:focus,.frReserveField select:focus{border-color:#111}
.frReserveActions{display:flex;justify-content:center;padding-top:2px}
.frReserveSuccess{margin-top:16px;border:1px solid #111;border-radius:14px;padding:16px 18px;background:#fff}
.frReserveError{margin-top:16px;border:1px solid rgba(0,0,0,.28);border-radius:14px;padding:16px 18px;background:#fff}
.frReserveSuccessTitle{font-family:CrimsonProFallback,serif;font-size:18px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.frHoursSection{padding-top:8px}
.frHoursCard{max-width:860px;margin:0 auto;border:1px solid var(--border);border-radius:var(--radius);padding:22px;background:#fff}
.frHoursGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.frHoursItem{border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:14px 16px;background:#fafafa;text-align:center}
.frHoursItem span{display:block;font-size:12px;color:rgba(0,0,0,.62);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}
.frHoursItem strong{font-family:CrimsonProFallback,serif;font-size:22px;font-weight:700;letter-spacing:.06em}
.frHoursStatusWrap{border:1px solid #111;border-radius:16px;padding:18px 16px;text-align:center;background:#fff}
.frHoursStatusTitle,.frHoursCountdownLabel{font-size:12px;color:rgba(0,0,0,.62);letter-spacing:.04em;text-transform:uppercase}
.frHoursStatus{margin-top:6px;font-family:CrimsonProFallback,serif;font-size:24px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.frHoursCountdownLabel{margin-top:10px}
.frHoursCountdown{margin-top:6px;font-size:28px;font-weight:700;letter-spacing:.08em}
.frHoursCard.isOpen .frHoursStatus{color:#111}
.frHoursCard.isClosed .frHoursStatus{color:rgba(0,0,0,.72)}
.frImg{width:100%;height:100%;object-fit:cover;display:block}
.frH1{margin:0;font-family:CrimsonProFallback,serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:22px}
.frLead{margin-top:10px;color:var(--muted);line-height:1.5}
.frHint{margin-top:10px;color:rgba(0,0,0,.55);font-size:12px}
.frSection{padding:18px 0}
.frSplit{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:stretch}
.frSplitRev{grid-template-columns:1.1fr .9fr}
.frSplitMedia{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff}
.frSplitText{border:1px solid var(--border);border-radius:var(--radius);padding:18px;background:#fff}
.frMap{min-height:360px}
.frMapFrame{width:100%;height:100%;border:0;display:block;filter:invert(92%) hue-rotate(180deg) saturate(140%)}
.frH2{margin:0 0 10px 0;font-family:CrimsonProFallback,serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:18px}
.frText{color:var(--muted);line-height:1.55}
.frSectionHead{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:12px}
.frSectionSub{color:rgba(0,0,0,.62);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.frEmpty{border:1px dashed rgba(0,0,0,.35);border-radius:14px;padding:14px;background:#fff;color:rgba(0,0,0,.62)}
.frCat{margin:14px 0;padding:18px 18px 12px;background:#fff;border:1px solid #111;border-radius:18px}
.frCatTitle{font-family:CrimsonProFallback,serif;font-size:20px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;color:#111}
.frMenuList{display:flex;flex-direction:column;gap:0;padding-bottom:6px}
.frItem{border:0;background:transparent;padding:10px 0}
.frItem+.frItem{border-top:1px solid rgba(0,0,0,.14)}
.frItemTop{display:flex;align-items:flex-start;gap:10px}
.frItemName{font-family:CrimsonProFallback,serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:14px;min-width:0}
.frItemLine{flex:1;border-bottom:1px dotted rgba(0,0,0,.28);transform:translateY(-.35em)}
.frItemPrice{font-family:CrimsonProFallback,serif;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.frItemPriceGrid{min-width:180px;display:flex;flex-direction:column;gap:5px;font-size:12px;line-height:1.4;color:#111}
.frItemPriceGridHead,.frItemPriceGridBody{display:grid;grid-template-columns:72px 1fr;gap:8px}
.frItemPriceGridHead{font-family:CrimsonProFallback,serif;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#111}
.frItemPriceGridBody{font-family:CrimsonProFallback,serif;font-weight:700;letter-spacing:.04em;color:#111}
.frItemDesc{margin-top:8px;color:rgba(0,0,0,.62);font-size:12.5px;line-height:1.45}
.frItemExtras{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.frItemExtraRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,220px);gap:10px;align-items:flex-start;font-size:12px}
.frItemExtraName{font-family:CrimsonProFallback,serif;color:#111;font-weight:700;letter-spacing:.04em}
.frItemExtraCols{display:grid;grid-template-columns:72px 1fr;gap:8px}
.frItemExtraCol{min-width:0;font-family:CrimsonProFallback,serif;color:#111;font-weight:700;letter-spacing:.04em}
.frBottleList{display:flex;flex-wrap:wrap;gap:6px}
.frBottleChip{display:inline-flex;align-items:center;padding:0;border:0;border-radius:0;background:transparent;white-space:nowrap;font-family:CrimsonProFallback,serif;color:#111;font-weight:700;letter-spacing:.04em}
@media (max-width:640px){
  .frItemTop{flex-wrap:wrap}
  .frItemLine{display:none}
  .frItemPrice,.frItemPriceGrid{width:100%}
  .frItemExtraRow{grid-template-columns:1fr}
  .frItemExtraCols,.frItemPriceGridHead,.frItemPriceGridBody{grid-template-columns:1fr}
}
.frEmptyRow{color:rgba(0,0,0,.55);padding:10px 0}
.frFooter{margin-top:28px;border-top:1px solid var(--borderSoft);background:#fff}
.frFooterInner{display:flex;justify-content:center;gap:22px;padding:22px 0;align-items:flex-start;flex-wrap:wrap}
.frFooterCol{display:flex;flex-direction:column;gap:8px;flex:0 1 280px;min-width:220px;align-items:center;text-align:center}
.frFooterBrand{font-family:CrimsonProFallback,serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.frFooterMeta{color:rgba(0,0,0,.62);font-size:12px;line-height:1.45}
.frFooterTel{display:inline-flex;width:fit-content;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.22);padding-bottom:2px;font-weight:700;font-size:12.5px;letter-spacing:.02em}
.frFooterTel:hover{border-bottom-color:#111}
.frFooterNav{gap:10px}
.frFooterLink{display:inline-flex;width:fit-content;text-decoration:none;font-family:CrimsonProFallback,serif;letter-spacing:.08em;text-transform:uppercase;font-size:12.5px;border-bottom:1px solid transparent;padding-bottom:2px}
.frFooterLink:hover{border-bottom-color:#111}
.frFooterSocial{align-items:center;text-align:center}
.frFooterCopy{color:rgba(0,0,0,.62);font-size:12px;width:100%;text-align:center}
.frFooterBottom{display:flex;justify-content:center;padding:6px 0 22px}
.frFooterIcons{display:flex;gap:10px;align-items:center}
.frIconLink{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;border:1px solid rgba(0,0,0,.18);background:#fff;text-decoration:none}
.frIconLink[aria-disabled="true"]{opacity:.55;pointer-events:none}
.frIcon{width:18px;height:18px;display:block;object-fit:contain}
.frLinks{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.frLink{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:12px;border:1px solid rgba(0,0,0,.40);background:#fff;text-decoration:none;font-weight:700}
.frLink.frBtnPrimary{background:#111;color:#fff;border-color:#111}
.frLink:hover{background:#111;color:#fff;border-color:#111}
.frLink[aria-disabled="true"]{opacity:.55;pointer-events:none}

.frAdminWrap{max-width:1100px;margin:0 auto;padding:18px}
.frAdminTop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.frAdminTitle{font-family:CrimsonProFallback,serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.frCard{border:1px solid var(--border);border-radius:18px;background:#fff;padding:14px}
.frGrid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.frField{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.frField label{font-size:12px;color:rgba(0,0,0,.62)}
.frField input,.frField textarea,.frField select{border:1px solid rgba(0,0,0,.22);border-radius:12px;padding:10px 12px;font:inherit;outline:none}
.frField textarea{min-height:90px;resize:vertical}
.frRow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.frTabs{display:flex;gap:10px;flex-wrap:wrap}
.frTab{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(0,0,0,.22);background:#fff;text-decoration:none;font-weight:700;font-size:12px}
.frTab.isOn{border-color:#111}
.frTable{width:100%;border-collapse:collapse}
.frTable th,.frTable td{border-top:1px solid rgba(0,0,0,.12);padding:10px 8px;text-align:left;font-size:12.5px;vertical-align:top}
.frTable th{border-top:none;color:rgba(0,0,0,.62);font-weight:700}
.frMsg{margin-top:10px;color:rgba(0,0,0,.62);font-size:12px}
.frMsgOk{color:#0f766e}
.frMsgErr{color:#b91c1c}

@media (max-width:900px){
  .frHeroGrid{grid-template-columns:1fr}
  .frHeroMedia{min-height:220px}
  .frSplit,.frSplitRev{grid-template-columns:1fr}
  .frReserveGrid{grid-template-columns:1fr}
  .frHoursGrid{grid-template-columns:1fr}
  .frSectionHead{flex-direction:column;align-items:flex-start}
  .frSectionSub{max-width:100%;white-space:normal}
  .frMap{min-height:300px}
  .frFooterSocial{align-items:flex-start}
}
@media (max-width:520px){
  .frWrap{padding:0 14px}
  .frTopInner{grid-template-columns:44px minmax(0,1fr) 74px;grid-template-areas:"mob center lang";gap:8px;row-gap:8px;align-items:center}
  .frTopLeft{grid-area:mob;align-self:center;min-width:44px}
  .frTopCenter{grid-area:center;align-items:center;min-width:0}
  .frTopRight{grid-area:lang;align-self:center;min-width:74px}
  .frBrand,.frLogoLink{width:100%;justify-content:center}
  .frNav{display:none}
  .frMobNavDd{display:flex}
  .frMobNavBtn{min-width:44px;width:44px;padding:0;font-size:18px}
  .frLogo{width:96px;max-width:100%}
  .frLangBtn{min-width:74px}
  .frHero{padding-top:16px}
  .frHeroMedia{min-height:0}
  .frHeroVideo{height:auto;aspect-ratio:16/9}
  .frGrid2{grid-template-columns:1fr}
}
