/* Base layout restored for the preserved home-v2 design. */
.concept-hero { position:relative; isolation:isolate; min-height:620px; overflow:hidden; }
.concept-hero-image,.concept-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.concept-hero-image { object-fit:cover; }
.concept-hero-shade { background:linear-gradient(90deg,#070706e8,transparent); }
.concept-topbar { position:relative; z-index:1; }
.concept-hero-copy { position:absolute; z-index:1; }
.concept-hero-copy { max-width:1160px; margin:auto; padding:90px 32px 100px; }
.concept-logo img { max-width:100%; }
.concept-book,.concept-burger { cursor:pointer; color:inherit; }
.concept-burger { display:grid; gap:5px; border:0; background:none; padding:12px; }
.concept-burger i { display:block; height:1px; width:25px; background:currentColor; }
.concept-home { max-width:1200px; margin:auto; padding:32px 24px 100px; }
.concept-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.concept-feature-card { position:relative; display:block; overflow:hidden; min-height:200px; color:inherit; text-decoration:none; }
.concept-feature-card img { width:100%; height:100%; object-fit:cover; }
.concept-feature-card-copy { position:absolute; bottom:16px; left:16px; z-index:1; }
@media(max-width:700px){ .concept-hero-copy{padding:75px 22px;} }

/* Shared page and category layouts were absent from the recovered repository. */
.variant-one { color:#eadccd; }
.variant-one a { color:inherit; text-decoration:none; }
.variant-one button { font:inherit; }
.variant-one [hidden] { display:none !important; }
.concept-feature-card span { display:flex; flex-direction:column; gap:8px; }
.concept-feature-card small { display:block; }
.concept-menu-categories,.menu-landing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:28px 0; }
.concept-category-card,.menu-landing-grid>button { position:relative; display:flex; flex-direction:column; overflow:hidden; border:1px solid #d6ad8240; border-radius:16px; background:#13110e; color:inherit; padding:0; text-align:left; cursor:pointer; }
.concept-category-card>img,.menu-landing-grid>button>img { width:100%; height:230px; object-fit:contain; background:radial-gradient(ellipse at center,#31291e,#11100e 75%); }
.concept-category-card>span,.menu-landing-grid>button>span { display:grid; gap:12px; padding:22px; }
.concept-category-card b,.menu-landing-grid b { font-size:24px; font-weight:400; }
.concept-category-card small { color:#b3a799; line-height:1.6; }
.concept-category-card em,.menu-landing-grid small { color:#d6ad82; font-style:normal; }
.site-page { min-height:100vh; padding:0 24px 110px; }
.site-page-header { max-width:1160px; margin:auto; min-height:110px; display:flex; align-items:center; gap:24px; border-bottom:1px solid #d6ad8238; }
.site-page-brand { margin-right:auto; }
.site-page-brand img { display:block; width:65px; height:75px; object-fit:contain; }
.site-page-burger { display:grid; gap:6px; border:0; background:none; color:inherit; padding:12px; cursor:pointer; }
.site-page-burger i { width:25px; height:1px; background:currentColor; }
.site-page-content { max-width:1160px; margin:32px auto; }
.site-page-content h1 { font-size:clamp(30px,5vw,48px); font-weight:400; line-height:1.2; margin-bottom:24px; }
.site-navigation { position:fixed; inset:0; z-index:2000; background:#0b0907f9; padding:40px; overflow:auto; }
.site-navigation>img { width:80px; height:90px; object-fit:contain; }
.site-navigation nav { display:grid; gap:20px; max-width:600px; margin:35px auto; font-size:25px; }
.site-navigation nav button { color:inherit; background:none; border:1px solid #d6ad8270; padding:16px; cursor:pointer; }
.site-navigation-close { position:absolute; top:22px; right:28px; border:0; background:none; color:inherit; font-size:40px !important; cursor:pointer; }
.concept-section { margin-top:40px; }
.concept-section-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:18px; }
.concept-section-head h2 { font-size:30px; font-weight:400; }
.concept-section-head button { color:inherit; background:none; border:0; cursor:pointer; }
.interior-page-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; }
.concept-gallery { display:grid; grid-auto-flow:column; grid-auto-columns:min(70%,320px); gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#66523e transparent; padding-bottom:12px; }
.concept-gallery button { scroll-snap-align:start; }
.concept-gallery button,.interior-page-gallery button { border:0; padding:0; border-radius:12px; overflow:hidden; background:#15110d; color:inherit; cursor:pointer; }
.concept-gallery img,.interior-page-gallery img { display:block; width:100%; max-height:420px; object-fit:cover; }
.about-era { display:grid; grid-template-columns:1fr 1fr; gap:35px; align-items:center; margin:48px 0; line-height:1.7; }
.about-era h2 { font-weight:400; font-size:30px; line-height:1.25; }
.about-era figure { margin:0; }
.about-era img { width:100%; border-radius:12px; }
.about-history-epigraph { grid-column:1/-1; margin:0; color:#d6ad82; font-size:25px; }
.about-page-title { font-size:26px; }
.about-page-motto { color:#b3a799; }
.contacts-map iframe { width:100%; height:420px; border:0; border-radius:12px; }
.contacts-map>a { display:block; margin:16px 0; color:#d6ad82; }
.contacts-address,.contacts-links { margin:30px 0; line-height:1.8; }
.contacts-links { display:flex; flex-wrap:wrap; gap:24px; }
@media(max-width:700px) {
 .concept-menu-categories,.menu-landing-grid { grid-template-columns:1fr; gap:16px; }
 .concept-category-card,.menu-landing-grid>button { display:grid; grid-template-columns:120px minmax(0,1fr); align-items:center; }
 .concept-category-card>img,.menu-landing-grid>button>img { height:180px; }
 .concept-category-card>span,.menu-landing-grid>button>span { padding:18px 16px; gap:9px; }
 .concept-category-card b,.menu-landing-grid b { font-size:23px; }
 .concept-category-card small { font-size:12px; }
 .site-page { padding-inline:18px; }
 .site-page-header { min-height:98px; }
 .about-era { grid-template-columns:1fr; gap:18px; }
 .about-era figure { order:2; }
 .about-page-motto { display:none; }
 .contacts-links { flex-direction:column; gap:14px; }
}

/* Recovered templates rely on this base beneath home-v2.css and v12-miniapp.css. */
.concept-feature-card small { min-width:0; overflow-wrap:anywhere; }
.concept-home .concept-category-card { transition:border-color .2s,background .2s; }
.concept-category-card:hover { border-color:#d6ad8280; background:#19150f; }
.concept-section-head h2 { margin:0; }
.concept-section-head>a,.concept-section-head>button { color:#c9b59c; font-size:14px; }
.concept-gallery img { height:180px; object-position:center 65%; }
.concept-reviews-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.concept-reviews-head>div { display:flex; align-items:center; gap:14px; }
.concept-reviews-head h2 { font-size:30px; font-weight:400; line-height:1.2; }
.concept-yandex-badge { display:grid; place-items:center; flex-shrink:0; width:45px; height:45px; border:1px solid #d6ad8250; border-radius:50%; font-size:28px; color:#e9d3b8; }
.concept-rating { display:grid; grid-template-columns:auto auto; align-items:center; column-gap:10px; flex-shrink:0; }
.concept-rating b { font-size:30px; font-weight:400; }
.concept-rating>span { color:#d6ad82; letter-spacing:2px; font-size:14px; }
.concept-rating small { grid-column:2; color:#958a7f; font-size:12px; }
.concept-story-grid { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 36px)/3); gap:18px; overflow-x:auto; padding:0 0 16px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#66523e transparent; }
.concept-story-grid blockquote { display:flex; flex-direction:column; gap:16px; min-width:0; margin:0; padding:25px; border:1px solid #d6ad8238; border-radius:16px; background:linear-gradient(145deg,#14110e,#0a0907); scroll-snap-align:start; }
.review-stars { color:#d6ad82; letter-spacing:3px; font-size:13px; }
.concept-story-grid p { font-size:15px; line-height:1.7; color:#dbcec0; }
.concept-story-grid cite { margin-top:auto; font-size:12px; line-height:1.6; color:#958a7f; font-style:normal; }
.concept-review-actions { margin-top:12px; font-size:14px; color:#c9b59c; }
.concept-footer { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:64px; margin-top:64px; padding:40px 0 16px; border-top:1px solid #d6ad8238; }
.concept-footer-about { max-width:560px; }
.concept-footer-about p { margin-bottom:16px; color:#aa9c8e; font-size:14px; line-height:1.8; }
.concept-footer-about strong { color:#e3d2be; font-size:17px; font-weight:400; }
.concept-footer-row { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; align-content:start; gap:22px 16px; }
.concept-footer-row>img { width:40px; height:48px; object-fit:contain; }
.concept-footer-address { font-size:14px; line-height:1.6; }
.concept-footer-phone { color:#aa9c8e; line-height:1.8; font-size:12px; white-space:nowrap; }
.concept-footer-socials { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.concept-footer-socials-title { width:100%; color:#958a7f; font-size:12px; }
.concept-footer-socials a { display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:8px 14px; border:1px solid transparent; border-radius:24px; font-size:13px; }
.concept-footer-socials .social-telegram { color:#8dd7f7; background:linear-gradient(125deg,#10252bee,#0b1118f2) padding-box,linear-gradient(115deg,#68c9ee90,#208ab838,#6aafdb80) border-box; }
.concept-footer-socials .social-instagram { color:#f0adc5; background:linear-gradient(125deg,#291423ee,#161015f2) padding-box,linear-gradient(115deg,#bd7bc990,#e3849a90,#d6a17470) border-box; }
.concept-footer-socials i { color:inherit; font-size:17px; }
.site-navigation nav a { width:fit-content; }
.site-navigation nav a:hover,.contacts-links a:hover { color:#d6ad82; }
.site-navigation-telegram { font-size:16px; color:#d6ad82 !important; }
.site-navigation-close,.concept-burger,.site-page-burger { min-width:44px; min-height:44px; }
.site-page-brand { flex-shrink:0; }
.site-page-content { line-height:1.7; }
.about-era-copy p { margin-top:16px; color:#b3a799; }
.about-era-year { color:#d6ad82; font-size:14px; letter-spacing:.16em; }
.about-era-emphasis,.about-story-closing { color:#dfc4a4 !important; }
.about-story-closing { margin-top:24px; font-family:Georgia,serif; font-style:italic; font-size:26px; }
.contacts-links a { display:inline-flex; align-items:center; gap:12px; }
.contacts-links i { color:#d6ad82; }
.booking-card { position:relative; width:min(100%,500px); padding:30px; }
.booking-logo { display:block; width:45px; height:50px; object-fit:contain; margin-bottom:14px; }
.booking-kicker { display:block; font-size:10px; letter-spacing:.16em; color:#c9b59c; margin-bottom:8px; }
.booking-card h2 { padding-right:24px; line-height:1.2; }
.booking-card>p { margin:12px 0 20px; color:#aa9c8e; font-size:14px; line-height:1.6; }
.booking-close,.menu-brand-actions button { display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; padding:0; border:1px solid #d6ad824f; border-radius:50%; color:#dfc4a4; background:#100e0b; font-size:17px; cursor:pointer; }
.booking-close { position:absolute; top:18px; right:18px; z-index:2; }
.booking-form { display:grid; gap:14px; }
.booking-form label { display:grid; gap:5px; min-width:0; }
.booking-form input,.booking-form textarea { width:100%; min-height:44px; padding:10px 12px; background:#ffffff08; border:1px solid #d6ad8240; border-radius:10px; color:inherit; font:inherit; }
.booking-form>button { width:100%; padding:14px 20px; border-radius:12px; border:1px solid #d6ad8260; background:#d6ad82; color:#1b120b; cursor:pointer; }
.menu-brand-actions { margin-left:auto; display:flex; gap:8px; }
.menu-brand-actions button { width:38px; height:38px; }
.menu-brand-copy { min-width:0; }
.ui-svg-icon { display:inline-flex; align-items:center; justify-content:center; width:1.5em; height:1.5em; vertical-align:middle; }
.ui-svg-icon::before { content:''; display:block; width:24px; height:24px; background:currentColor; -webkit-mask:var(--ui-icon) center/contain no-repeat; mask:var(--ui-icon) center/contain no-repeat; }
.icon-bowl { --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11h16c0 5-3 8-8 8s-8-3-8-8Zm8 8v3m-5 0h10M8 7c-2-2 2-2 0-4m4 4c-2-2 2-2 0-5m4 5c-2-2 2-2 0-4'/%3E%3C/svg%3E"); }
.icon-cup,.icon-kettle { --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h13v7a5 5 0 0 1-5 5H9a5 5 0 0 1-5-5V8Zm13 1h2a3 3 0 0 1 0 6h-2M3 23h16M8 4V1m5 3V1'/%3E%3C/svg%3E"); }
.icon-plate { --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Cpath d='M2 2v6c0 3 4 3 4 0V2M4 2v20M22 22V2c-3 3-3 8 0 8'/%3E%3C/svg%3E"); }
.icon-sparkle,.icon-promotion { --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.5 6.5L21 12l-6.5 2.5L12 21l-2.5-6.5L3 12l6.5-2.5L12 3ZM21 2v4m-2-2h4'/%3E%3C/svg%3E"); }

.variant-one a:focus-visible,.variant-one button:focus-visible { outline:2px solid #d6ad82; outline-offset:4px; }
@media(max-width:900px) {
 .concept-story-grid { grid-auto-columns:calc((100% - 18px)/2); }
 .concept-footer { gap:32px; }
}
@media(max-width:700px) {
  .concept-reviews-head { align-items:flex-start; gap:12px; margin-bottom:18px; }
 .concept-reviews-head>div { gap:9px; }
 .concept-reviews-head h2 { font-size:21px; max-width:160px; }
 .concept-yandex-badge { width:35px; height:35px; font-size:23px; }
 .concept-rating { column-gap:5px; }
 .concept-rating b { font-size:25px; }
 .concept-rating>span { font-size:10px; letter-spacing:0; }
 .concept-rating small { font-size:10px; }
 .concept-story-grid { grid-auto-columns:86%; gap:12px; }
 .concept-story-grid blockquote { padding:22px; }
 .concept-story-grid p { font-size:14px; }
 .concept-footer { grid-template-columns:1fr; margin-top:40px; padding-top:28px; gap:24px; }
 .concept-footer-row { gap:16px 10px; }
 .concept-footer-about p { font-size:13px; }
 .concept-section-head h2 { font-size:25px; }
 .concept-section-head>a,.concept-section-head>button { font-size:12px; }
 .concept-gallery img { max-height:320px; }
 .booking-card { padding:24px 20px; }
 .booking-close { top:15px; right:15px; }
 .booking-logo { width:36px; height:40px; }
 .site-navigation { padding:28px 24px 100px; }
 .site-navigation nav { font-size:24px; gap:22px; }
}

.menu-brand { display:grid; grid-template-columns:54px minmax(0,1fr) 40px; gap:14px; padding:16px 20px; min-height:96px; }
.menu-brand .menu-brand-logo { position:static; width:54px; height:54px; }
.menu-brand-copy { justify-self:center; }
.menu-brand-actions { margin:0; }
.menu-brand:has(.manage-menu-button:not([hidden])) { grid-template-columns:44px minmax(0,1fr) 38px auto; gap:10px; }
.menu-brand:has(.manage-menu-button:not([hidden])) .menu-brand-name { font-size:18px; }
.icon-phone { --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h4l2 5-3 2a15 15 0 0 0 6 6l2-3 5 2v4c0 2-2 3-4 2A22 22 0 0 1 3 7c-1-2 0-4 2-4Z'/%3E%3C/svg%3E"); }
@media(max-width:370px) {
 .menu-brand { grid-template-columns:44px minmax(0,1fr) 36px; padding-inline:14px; gap:10px; }
 .menu-brand .menu-brand-logo { width:44px; height:44px; }
 .menu-brand:has(.manage-menu-button:not([hidden])) { gap:6px; }
 .menu-brand:has(.manage-menu-button:not([hidden])) .menu-brand-name { font-size:15px; letter-spacing:.14em; }
 .menu-brand:has(.manage-menu-button:not([hidden])) .menu-brand-city { font-size:8px; }
}

.variant-one.home-v2.v12-miniapp .concept-topbar .concept-burger { display:grid; flex-shrink:0; width:36px; height:40px; padding:8px; align-content:center; }
.variant-one.home-v2 .concept-feature-card span { display:block; }
.variant-one.home-v2 .concept-feature-card small { display:block; }
@media(max-width:700px) {
 .variant-one.home-v2 .concept-feature-card small { font-size:10px; line-height:1.4; }
 .variant-one.home-v2 .concept-feature-card b { font-size:11px; letter-spacing:.045em; }
 .variant-one.home-v2 .concept-feature-card { min-height:106px; }
 .variant-one.home-v2 .home-about-copy p { font-size:11px; line-height:1.55; }
 .variant-one.home-v2 .concept-intro-strip { min-height:145px; }
}
@media(max-width:370px) {
 .variant-one.home-v2.v12-miniapp .concept-topbar .concept-logo { width:114px; }
 .variant-one.home-v2.v12-miniapp .concept-topbar { gap:6px; }
 .variant-one.home-v2.v12-miniapp .concept-topbar .home-hours { font-size:7px; min-width:64px; }
}

.card-img-wrapper img[src$="V12.previous.svg"],.food-detail-image img[src$="V12.previous.svg"],.food-img img[src$="V12.previous.svg"],#modal-food-image[src$="V12.previous.svg"] { object-fit:contain; padding:22%; background:radial-gradient(ellipse,#292119,#0b0a08); }

.booking-form input,.booking-form textarea { color-scheme:dark; }

@media(max-width:700px) {
 .concept-home .concept-menu-categories { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:22px 0; }
 .concept-home .concept-category-card { display:flex; flex-direction:column; min-width:0; border-radius:12px; }
 .concept-home .concept-category-card>img { height:110px; width:100%; }
 .concept-home .concept-category-card>span { width:100%; padding:12px 7px; gap:8px; }
 .concept-home .concept-category-card b { font-size:clamp(12px,3.35vw,16px); white-space:nowrap; }
 .concept-home .concept-category-card small { display:none; }
 .concept-home .concept-category-card em { font-size:10px; line-height:1.4; }
 .concept-gallery { grid-auto-columns:74%; }
 .concept-gallery img { height:150px; }
}
@media(max-width:370px) {
 .concept-footer-row { grid-template-columns:34px minmax(0,1fr) auto; gap:16px 7px; }
 .concept-footer-row>img { width:32px; height:40px; }
 .concept-footer-address { font-size:12px; }
 .concept-footer-phone { font-size:11px; }
 .concept-home .concept-category-card>img { height:90px; }
 .concept-home .concept-category-card em { font-size:9px; }
}
.menu-brand .manage-menu-button { position:static; top:auto; right:auto; min-width:38px; min-height:38px; justify-content:center; }
#promotion-manager-modal .promotion-manager-content { padding-top:72px !important; }
.editor-heading img[src$="V12.previous.svg"] { object-fit:contain; padding:18px; background:#15110d; }
