:root{--wine:#a92642;--ink:#262124;--muted:#746d70;--paper:#fffaf8;--line:#eee5e3;--shadow:0 14px 35px rgba(70,35,40,.10)}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{max-width:1480px;margin:auto;padding:28px clamp(18px,4vw,64px) 50px}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:36px}.brand-title{font-size:clamp(26px,4vw,46px);letter-spacing:.08em;margin:0;color:var(--wine);font-weight:900}.subtitle{margin:7px 0 0;color:var(--muted);font-size:clamp(15px,2vw,20px)}.refresh,.back,.primary,.danger,.secondary{border:0;border-radius:14px;padding:13px 18px;font-weight:700;min-height:48px}.refresh,.primary{background:var(--wine);color:#fff;box-shadow:0 8px 18px rgba(169,38,66,.2)}.refresh:disabled{opacity:.65}.back,.secondary{background:#fff;color:var(--wine);border:1px solid var(--line)}.danger{background:#fff0f1;color:#a0233a}.section-title{font-size:clamp(22px,3vw,32px);margin:0 0 20px}.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.brand-card{min-height:160px;border:0;text-align:left;padding:22px;border-radius:22px;background:linear-gradient(135deg,#fff,#f7eeee);box-shadow:var(--shadow);display:flex;align-items:end;position:relative;overflow:hidden;font-size:23px;font-weight:800;color:#3d2830}.brand-card:before{content:"";width:110px;height:110px;position:absolute;right:-28px;top:-30px;border-radius:50%;background:#e9cbd1}.brand-card img{max-width:80%;max-height:74px;object-fit:contain;object-position:left center;position:absolute;top:26px;left:22px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}.product-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:0;text-align:left;padding:0;color:var(--ink);width:100%;display:flex;flex-direction:column}.product-card>img,.product-card .product-image-area{width:100%;height:246px!important;min-height:246px;max-height:246px;margin:0;padding:0;overflow:hidden;border-radius:22px 22px 0 0;background:#f3edeb;flex:0 0 246px}.product-card>img{display:block;object-fit:contain;object-position:center}.product-card .product-image-area{position:relative!important;inset:auto!important;display:flex;align-items:center;justify-content:center;aspect-ratio:auto!important}.product-card .product-image-area>img{width:100%;height:100%;margin:0;padding:0;display:block;object-fit:contain;object-position:center}.product-card .product-info{padding:16px;margin:0}.product-name{font-size:18px;font-weight:800;line-height:1.25}.small{color:var(--muted);margin-top:7px}.price{font-size:22px;font-weight:900;color:var(--wine);margin-top:10px}.empty{background:#fff;padding:35px;border-radius:18px;color:var(--muted);text-align:center}.detail{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,.9fr);gap:clamp(24px,5vw,70px);align-items:start}.detail-image{width:100%;aspect-ratio:1;object-fit:cover;background:#f3edeb;border-radius:28px;box-shadow:var(--shadow)}.eyebrow{color:var(--wine);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:13px}.detail h2{font-size:clamp(30px,4vw,48px);line-height:1.1;margin:8px 0 18px}.detail .price{font-size:clamp(30px,4vw,42px);margin:0 0 26px}.facts{display:grid;gap:0;margin:0}.facts div{padding:13px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:135px 1fr;gap:10px}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600}.composition{line-height:1.55;color:#4b4547}.loading{padding:50px;text-align:center;color:var(--muted)}#toast{position:fixed;z-index:10;right:20px;bottom:20px;max-width:330px;background:#292326;color:white;padding:15px 18px;border-radius:14px;box-shadow:var(--shadow);transform:translateY(120px);transition:.25s}.show{transform:translateY(0)!important}.admin-page{background:#f7f2f0}.admin-wrap{max-width:1200px;margin:auto;padding:26px}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.admin-head h1{margin:0;color:var(--wine);font-size:28px}.admin-head p{margin:4px 0 0;color:var(--muted)}.login{max-width:390px;margin:10vh auto;background:#fff;padding:28px;border-radius:20px;box-shadow:var(--shadow)}.login h1{color:var(--wine)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .full{grid-column:1/-1}.admin-card{background:#fff;border-radius:18px;padding:22px;margin-bottom:20px;box-shadow:0 5px 20px rgba(70,35,40,.06)}.admin-card h2{margin-top:0}.field{display:grid;gap:6px;color:#584f52;font-weight:700;font-size:14px}.field input,.field select,.field textarea{border:1px solid #ded5d3;border-radius:10px;padding:11px;background:#fff;color:var(--ink);font-weight:400}.field textarea{min-height:88px;resize:vertical}.check{display:flex;align-items:center;gap:8px}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-list{display:grid;gap:10px}.row{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px}.row img{width:54px;height:54px;object-fit:cover;border-radius:9px;background:#eee}.row .grow{flex:1}.row strong{display:block}.row span{font-size:13px;color:var(--muted)}.row-actions{display:flex;gap:7px}.row-actions button{border:0;border-radius:8px;padding:8px 10px;background:#f7eeee;color:var(--wine);font-weight:700}.row-actions .delete{color:#a0233a;background:#fff0f1}.form-actions{display:flex;gap:10px;margin-top:18px}.muted{color:var(--muted)}@media(max-width:650px){.shell{padding-top:20px}.topbar{margin-bottom:24px;flex-direction:column}.refresh{width:100%}.detail{grid-template-columns:1fr}.detail-image{max-width:550px}.facts div{grid-template-columns:110px 1fr}.form-grid{grid-template-columns:1fr}.admin-head{align-items:flex-start;flex-direction:column}.row{align-items:flex-start}.row-actions{flex-wrap:wrap}}
.product-card{width:100%;margin:0;padding:0;display:flex;flex-direction:column}.product-card>img,.product-card>.product-image-area{width:100%!important;height:246px!important;min-height:246px!important;max-height:246px!important;flex:0 0 246px!important;margin:0!important;padding:0!important;aspect-ratio:auto!important;overflow:hidden!important;border-radius:22px 22px 0 0!important;background:#f3edeb!important}.product-card>img{display:block!important;object-fit:contain!important;object-position:center!important}.product-card>.product-image-area{position:relative!important}.product-card>.product-image-area>img{width:100%!important;height:100%!important;margin:0!important;padding:0!important;display:block!important;object-fit:contain!important;object-position:center!important}.product-card>.product-info{flex:1;margin:0!important;padding:16px!important}
.cream-category-card span{font-size:14px!important;line-height:1.15}

/* ===== 0.3: единая сетка плиток (бренды и категории) ===== */
.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.tile--wide{grid-column:1/-1}
.brand-card--logo{align-items:center;justify-content:center;padding:14px}
.brand-card--logo:before{display:none}
.brand-card.brand-card--logo img{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);max-width:none;max-height:none;object-fit:contain;object-position:center}
.category-card{position:relative;display:block;min-height:175px;overflow:hidden;padding:0;border:0;border-radius:22px;background:linear-gradient(135deg,#fff,#f7eeee);box-shadow:var(--shadow);color:#fff;text-align:left}
.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.category-card__caption{position:absolute;right:0;bottom:0;left:0;z-index:1;display:block;padding:28px 15px 12px;background:linear-gradient(transparent,rgba(29,12,12,.8));color:#fff;font-size:22px;font-weight:800;line-height:1.12}
.category-card__caption small{display:block;margin-top:5px;font-size:15px;line-height:1.1}
.category-card__caption--long{font-size:13px;line-height:1.2}
.category-card--plain .category-card__caption{background:none;color:#a92642}
.category-card--plain .category-card__caption small{color:var(--muted)}
.product-variants{display:grid;gap:4px;margin-top:10px;color:var(--wine);font-size:15px;font-weight:800}
.product-variants div{display:flex;justify-content:space-between;gap:8px}
.detail-variants{display:grid;gap:8px;margin:0 0 26px}
.detail-variants div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line)}
.detail-variants strong{color:var(--wine)}
.detail-image[src*="/presenter/"],.product-card img[src*="/presenter/"]{object-fit:contain;background:#fff}
.toast-action{margin-left:10px;border:0;border-radius:9px;padding:7px 12px;background:#fff;color:var(--wine);font-weight:800}
.detail-variants small{display:block;margin-top:2px;color:var(--muted);font-size:13px;font-weight:400}
/* Строка фасовки: вес — цена — штуки в коробке */
/* В карточке все фасовки — одна таблица: подпись | цена | штуки, столбцы выровнены между строками */
.product-variants{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:10px;row-gap:5px;align-items:baseline}
.product-variants .variant-line{display:contents}
.detail-variants .variant-line{display:grid;grid-template-columns:minmax(0,1fr) auto 9.5em;align-items:baseline;gap:12px}
.variant-line span{min-width:0}
/* Фасовка с подписью (вкус, вид): подпись строкой выше, под ней цена и штуки */
.product-variants .variant-line.labelled span{grid-column:1/-1;margin-top:3px}
.product-variants .variant-line.labelled strong{grid-column:2}
.product-variants .variant-line.labelled em{grid-column:3}
.variant-line strong{text-align:right;white-space:nowrap}
.variant-line em{font-style:normal;font-weight:600;color:var(--muted);white-space:nowrap;text-align:right}
.detail-variants .variant-line em{font-weight:400;font-size:14px}

.detail .detail-image{object-fit:contain;padding:18px;background:#f3edeb}
.top-actions{display:flex;gap:10px;align-items:center}.exit{border:1px solid var(--line);border-radius:14px;padding:13px 18px;font-weight:700;min-height:48px;background:#fff;color:var(--wine)}@media(max-width:650px){.top-actions{width:100%}.top-actions .refresh{flex:1;width:auto}}
/* Переключатель «Весь товар» */
.all-goods{border:1px solid var(--line);border-radius:14px;padding:13px 18px;font-weight:700;min-height:48px;background:#fff;color:var(--wine);white-space:nowrap}
.all-goods.on{background:#f7e3e7;border-color:var(--wine)}
@media(max-width:650px){.top-actions{flex-wrap:wrap}}
.all-goods-brand{margin-top:34px;padding-bottom:8px;border-bottom:2px solid var(--line);color:var(--wine)}
.all-goods-brand:first-of-type{margin-top:0}
/* iPhone: не залезать под «чёлку» и полосу «Домой» в полноэкранном режиме */
.shell{padding-top:max(28px,env(safe-area-inset-top));padding-bottom:max(50px,env(safe-area-inset-bottom))}
#toast{bottom:max(20px,env(safe-area-inset-bottom))}
