/* Approved site only. Original current styles/theme are loaded before these rules. */
.catalog-shell{background:transparent;border:0;box-shadow:none}
.catalog-shell>.category-tiles{margin:-40px -40px 0;padding:32px 36px;background:#fff;border-radius:30px 16px 30px 16px;box-shadow:var(--catalog-shadow)}
.catalog-section .product-card,.catalog-section .product-card:hover,.catalog-section .product-card:focus-within{background:transparent;border:0;border-radius:0;box-shadow:none;transform:none}
.catalog-section .catalog-photo,.catalog-section .catalog-photo img{background:transparent;border:0;box-shadow:none}
.site-top-links{display:flex;align-items:center;gap:4px;margin-left:6px;padding:4px;background:transparent;border-radius:14px}
.site-top-links>a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 10px;border-radius:10px;text-decoration:none;white-space:nowrap}
.site-top-links>a,.category-nav a,.category-tiles .category-cards>a{transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
.site-top-links>a:hover{background:rgb(76 36 34 / 6%);color:inherit}
.site-top-links>a:focus-visible,.category-nav a:focus-visible,.category-tiles .category-cards>a:focus-visible,.promo-strip>a:focus-visible{outline:2px solid #4c2422;outline-offset:3px}
.category-tiles .category-cards>a{border-radius:16px;padding:8px}
.category-nav a{border-radius:13px;padding:9px 13px}
.promo-strip{gap:22px;padding:4px 3px;margin-left:-3px;margin-right:-3px}
.promo-strip>a{border-radius:18px;transition:box-shadow .18s ease}
.promo-strip>a img{border-radius:18px}
.promo-slider .promo-strip>a:hover{box-shadow:var(--promo-hover-shadow)}
@media(min-width:1100px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1300px){.catalog-shell>.category-tiles{margin:-20px -20px 20px;padding:24px}}
@media(max-width:991px){.site-top-links{flex:1 1 100%;margin:0;overflow-x:auto;max-width:100%;scrollbar-width:thin}.site-top-links>a{flex-shrink:0;font-size:12px;padding:7px 9px}.topbar>.site-top-links{display:flex}.promo-strip{gap:16px}}
@media(min-width:701px) and (max-width:991px){.catalog-shell{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.catalog-shell>.category-tiles{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}}
@media(max-width:700px){.catalog-shell>.category-tiles{margin:-16px -8px 8px;padding:18px 10px;border-radius:22px 12px 22px 12px}.category-tiles .category-cards>a{padding:6px}.category-nav a{padding:8px 11px}.promo-strip>a img{border-radius:16px}}










.site-promo-image{display:block;width:100%;height:auto;border-radius:16px}
.site-promo-copy{white-space:pre-wrap}
.catalog-section{scroll-margin-top:160px}
@media(max-width:700px){.catalog-section{scroll-margin-top:180px}}
@media(prefers-reduced-motion:reduce){.site-top-links>a,.category-nav a,.category-tiles .category-cards>a,.promo-strip>a{transition:none}}

/* Keep every existing header action accessible after grouping the four links. */
@media(max-width:991px){.topbar>a[href]{display:inline-flex;align-items:center}}


/* Owner review v2: same brand, original elevation, no colored category selection. */
.site-top-links>.site-telegram{padding:4px 6px;min-width:36px;min-height:36px}
.site-telegram img{display:block}
.site-top-links>a:focus-visible,.category-nav a:focus-visible,.category-tiles .category-cards>a:focus-visible,.promo-strip>a:focus-visible{background-color:transparent}
.site-top-links>a:hover:focus-visible{background:rgb(76 36 34 / 6%)}
.category-tiles .category-cards>a{background:#fff;transition:box-shadow .25s ease,transform .25s ease}
@media(hover:hover){.category-tiles .category-cards>a:hover{background:#fff;color:inherit;box-shadow:var(--card-hover-shadow);transform:translateY(-3px)}}
.category-nav a:hover{box-shadow:inset 0 2px 6px #4a232026,inset 0 -1px 3px #ffffff80}
.catalog-shell>.category-tiles{margin-bottom:40px}
.catalog-section>h2{position:relative;margin-top:0;line-height:1.3}
.promo-slider{padding-left:0;padding-right:0}
.promo-slider .promo-strip{padding:32px 0;margin:0;gap:24px;scroll-padding:0}
.promo-slider .promo-strip>a{flex:0 0 calc((100% - 72px)/4);transition:box-shadow .25s ease}
.promo-slider .promo-strip>a img{width:100%;height:auto;aspect-ratio:var(--site-promo-ratio,auto);object-fit:fill}
.mainbar .cart-button.empty{display:flex;background:#efefef;color:#555}
.mainbar .cart-button:not(.empty){background:var(--brand-primary)}
.mainbar .cart-button .ui-icon,.topbar button[data-action=city] .ui-icon{flex-shrink:0;object-fit:contain;overflow:visible}
.site-search-symbol{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px}
.site-search-symbol .site-search-icon{display:block;width:18px;height:18px;max-width:none;flex-shrink:0}
@media(max-width:991px){.promo-slider .promo-strip{padding:32px 0;gap:16px}.promo-slider .promo-strip>a{flex-basis:86%}}
@media(min-width:701px) and (max-width:991px){.promo-slider .promo-strip>a{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:700px){.catalog-shell>.category-tiles{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.category-tiles .category-cards>a,.promo-slider .promo-strip>a{transition:none}.category-tiles .category-cards>a:hover{transform:none}}

@media(max-width:991px){.site-top-links{gap:3px}.site-top-links>a:not(.site-telegram){padding-left:5px;padding-right:5px}}

/* Owner reference v3: one aligned delivery / city / address control. */
.topbar>.site-header-phone{display:inline-flex;align-items:center;font-size:14px;font-weight:500;line-height:24px;letter-spacing:0;white-space:nowrap;margin-left:0}
.mainbar .site-receiving{display:flex;align-items:center;gap:0;max-width:none;flex:0 1 auto;min-width:0;min-height:40px;background:#f4f4f4;border:1px solid #e7e7e7;border-radius:24px;overflow:visible}
.site-receiving>#mode-label{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;min-height:40px;padding:8px 14px;line-height:22px;font-size:14px;background:#fff;border:0;border-right:1px solid #e7e7e7;border-radius:24px;white-space:nowrap}
.mainbar .site-receiving>.site-city-control{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:40px;padding:8px 7px;background:transparent;border:0;border-radius:12px;white-space:nowrap;flex-shrink:0}
.site-city-control .ui-icon{display:block;flex:0 0 18px;width:18px;height:18px;object-fit:contain}
.site-city-control .site-city-text{color:var(--brand-primary);font-size:16px;font-weight:600;line-height:22px;white-space:nowrap}
.site-city-control:hover{box-shadow:inset 0 0 0 1px rgb(76 36 34 / 8%)}
.site-city-control:focus-visible{outline:2px solid #4c2422;outline-offset:2px}
.site-address-dot{display:block;align-self:center;position:relative;top:1px;flex:0 0 6px;width:6px;height:6px;margin:0 3px;background:#306dba;border-radius:50%}
.mainbar .site-receiving>.address-label{display:flex;align-items:center;min-height:40px;padding:8px 12px 8px 10px;background:transparent;border:0;border-radius:0 24px 24px 0;min-width:0;max-width:none;text-align:left}
.site-receiving .address-text{font-size:14px;font-weight:600;line-height:22px}
/* .address-needed and address-wave are the unchanged shimmer from original-style.css. */
@media(max-width:991px){
 .mainbar{height:auto;min-height:56px;flex-wrap:wrap}
 .mainbar .site-receiving{order:5;flex:1 1 100%;width:100%;max-width:100%;margin-top:0}
 .site-receiving>#mode-label{font-size:13px;padding:7px 10px}
 .mainbar .site-receiving>.site-city-control{padding:7px 5px}
 .site-city-control .site-city-text{font-size:14px}
 .mainbar .site-receiving>.address-label{flex:1;min-width:0;padding:7px 10px 7px 7px}
 .site-receiving .address-text{font-size:13px}
}
@media(max-width:360px){
 .topbar>.site-header-phone{font-size:14px;line-height:24px}
 .site-receiving>#mode-label{font-size:12px;padding-left:8px;padding-right:8px}
 .site-city-control .site-city-text{font-size:13px}
 .site-city-control .ui-icon{flex-basis:16px;width:16px;height:16px}
 .site-receiving .address-text{font-size:12px}
 .site-address-dot{margin-left:1px;margin-right:1px;flex-basis:4px;width:4px;height:4px}
}

.catalog-section{scroll-margin-top:var(--catalog-offset,calc(var(--site-header-height,140px) + 20px))}

/* Subtle cart feedback; keep the hit area and layout unchanged. */
.mainbar .cart-button{transition:box-shadow .18s ease;transform:none}
.mainbar .cart-button:hover{box-shadow:inset 0 0 0 100px rgb(76 36 34 / 6%);transform:none}
@media(prefers-reduced-motion:reduce){.mainbar .cart-button{transition:none}}

/* A uniform translucent inset wash, without an outside shadow. */
.mainbar .search>label{border-radius:24px;transition:box-shadow .18s ease}
.mainbar .search:hover>label{box-shadow:inset 0 0 0 100px rgb(76 36 34 / 6%)}
@media(prefers-reduced-motion:reduce){.mainbar .search>label{transition:none}}
.site-telegram img{width:28px;height:28px;object-fit:contain}

/* Shared owner-approved brand color. */
.topbar>.temporary-call{background-color:var(--brand-primary)}

/* Approved site brand system. Public source styles and the CMS snapshot stay intact. */
:root{
 --brand-primary:#f3ba6b;
 --brand-ink:#4c2422;
 --brand-text:color-mix(in srgb,var(--brand-primary) 35%,var(--brand-ink));
 --brand-hover:color-mix(in srgb,var(--brand-primary) 92%,black);
 --brand-active:color-mix(in srgb,var(--brand-primary) 85%,black);
 --brand-soft:color-mix(in srgb,var(--brand-primary) 12%,white);
 --brand-tint:color-mix(in srgb,var(--brand-primary) 24%,white);
 --brand-inset:color-mix(in srgb,var(--brand-ink) 6%,transparent);
 --brand-focus:var(--brand-ink);
 --text-muted-readable:#767676;
 --primary:var(--brand-primary);
 --primary-color:var(--brand-primary);
 --primary-button-color:var(--brand-primary);
}
.primary,.price-button,.card-counter button,.card-price,.card-price>button,
.topbar>.temporary-call{background:var(--brand-primary);color:var(--brand-ink)}
.primary:hover,.price-button:hover,.card-counter button:hover,.card-price>button:hover,
.topbar>.temporary-call:hover,.card-arrow:hover{background:var(--brand-hover);color:var(--brand-ink)}
.primary:active,.price-button:active,.card-counter button:active,.card-price>button:active,
.topbar>.temporary-call:active{background:var(--brand-active);color:var(--brand-ink)}
.card-counter{background:var(--brand-soft)}
.category-nav a[aria-current],.card-sizes button[aria-pressed=true]{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--brand-ink)}
.mobile-delivery>button:first-child{border-color:var(--brand-primary)}
.card-sizes .pie-size{background:linear-gradient(135deg,var(--brand-soft),var(--brand-tint));border-color:var(--brand-text);color:var(--brand-text);box-shadow:inset 0 0 0 3px var(--brand-soft),0 2px 4px #4a23200b}
.card-sizes .pie-size:hover{border-color:var(--brand-ink)}
.card-sizes .pie-size[aria-pressed=true]{background:var(--brand-ink);color:#fff;border-color:var(--brand-ink);box-shadow:0 3px 7px #4a232026}
.variants label:has(input:checked){background:var(--brand-ink);color:#fff;border-color:var(--brand-ink);box-shadow:var(--card-shadow)}






.card-dots button.active{color:var(--brand-text)}
.card-dots button.active:after{background:var(--brand-text)}
.mainbar .cart-button:not(.empty){background:var(--brand-primary);color:var(--brand-ink)}
.mainbar .cart-button:hover,.mainbar .search:hover>label{box-shadow:inset 0 0 0 100px var(--brand-inset)}
button:focus-visible,a:focus-visible,.variants label:has(input:focus-visible),
.site-top-links>a:focus-visible,.category-nav a:focus-visible,
.category-tiles .category-cards>a:focus-visible,.promo-strip>a:focus-visible,
.site-city-control:focus-visible{outline:2px solid var(--brand-focus);outline-offset:3px}
/* Keep the blue information color; match the moving highlight to the city accent. */
.address-needed .address-text{background-image:linear-gradient(155deg,#306dba 0%,#306dba 40%,var(--brand-primary) 48%,var(--brand-primary) 52%,#306dba 60%,#306dba 100%)}

/* One-step neutral adjustment keeps small product weights above 4.5:1 on white. */
.product-card .weight{color:var(--text-muted-readable)}

/* Match the existing category hover lift, without changing menu layout. */
.site-top-links>a,.site-mobile-links>a{transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .25s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .site-top-links>a:hover,.site-mobile-links>a:hover{transform:translateY(-3px)}
}
@media(prefers-reduced-motion:reduce){.site-top-links>a,.site-mobile-links>a{transition:none;transform:none}}

/* Only the photo moves, within the existing gap above the stationary title. */
.catalog-section .product-card,.catalog-section .product-card:hover{transition:none;transform:none}
.catalog-section .catalog-photo>img{transition:transform .2s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .catalog-section .catalog-photo:hover>img{transform:translateY(4px)}
}
@media(prefers-reduced-motion:reduce){.catalog-section .catalog-photo>img{transition:none;transform:none}}
/* A call-to-action never inherits the utility phone link underline. */
.topbar>.temporary-call,.topbar>.temporary-call:link,.topbar>.temporary-call:visited,
.topbar>.temporary-call:hover,.topbar>.temporary-call:focus,.topbar>.temporary-call:active{text-decoration:none}
.topbar>.temporary-call::after{content:none;display:none}

/* Adapt approved surfaces to the existing functional dialogs and counters. */
#product-dialog .variants label:has(input:checked){background:var(--brand-ink);color:#fff;border-color:var(--brand-ink)}
.cart-item .quantity>[data-quantity],.detail-counter button{background:var(--brand-primary);color:var(--brand-ink)}
.cart-item .quantity>[data-quantity]:hover,.detail-counter button:hover{background:var(--brand-hover)}
.cart-item .quantity>[data-quantity]:active,.detail-counter button:active{background:var(--brand-active)}
.city-option[aria-current]{background:var(--brand-primary);color:var(--brand-ink)}
/* Catalog keeps the city selector but never exposes ordering controls. */
.site-mode-catalog .mainbar .site-receiving{display:flex!important}
.site-mode-catalog .site-receiving>#mode-label,.site-mode-catalog .site-receiving>.address-label,.site-mode-catalog .site-address-dot{display:none}

@media(max-width:991px){.topbar{position:relative}.topbar>.site-header-phone{position:absolute;left:0;bottom:12px}}

/* Owner adjustment: Novosibirsk phone only, +1px. */
.topbar>.header-phone[href="tel:+73833731023"]{font-size:15px}

/* Public food disclosure: scoped to the new collapsed section, no existing card/header geometry changes. */
.food-details{margin-top:12px;border-top:1px solid #e8e8e8;font-size:14px;line-height:1.5}
.food-details>summary{cursor:pointer;font-weight:600;padding:12px 0;list-style-position:inside}
.food-details>summary:focus-visible{outline:2px solid var(--dp-brand,#F3BA6B);outline-offset:3px;border-radius:5px}
.food-details-content{padding:0 0 8px;min-width:0}
.food-details-content p{margin:8px 0;overflow-wrap:anywhere}
.food-details .food-note{color:#555;font-size:13px}
.food-nutrients{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}
.food-nutrients caption{text-align:left;font-weight:600;padding:8px 0}
.food-nutrients th,.food-nutrients td{padding:7px 5px;border-bottom:1px solid #e8e8e8;text-align:right;vertical-align:top;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.food-nutrients th:first-child{text-align:left;width:44%}
.food-nutrients thead th{font-weight:500;color:#555}
.food-nutrients tbody th{font-weight:400}
@media(max-width:600px){.food-details{font-size:13px}.food-nutrients{font-size:12px}.food-nutrients th,.food-nutrients td{padding:6px 3px}}
