:root{--pageBg:#fffafa;--topbarBg:#fffafa;--ink:#151515;--muted:#66616a;--line:#e8e1e4;--soft:#f7f1f3;--accent:#b3123a;--buttonText:#fff;--cardBg:#fff;--filterBg:#fff;--heroA:#23191d;--heroB:#b3123a;--heroC:#f0c6d0;--price:#151515}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--pageBg);color:var(--ink)}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,56px);border-bottom:1px solid var(--line);background:var(--topbarBg)}.brand,.plain-link{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:800}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff}.cart-button,.submit-button,.add-button{border:0;border-radius:8px;background:var(--accent);color:var(--buttonText);cursor:pointer;font-weight:800}.cart-button{padding:10px 14px}.cart-button b{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:8px;border-radius:999px;background:#fff;color:var(--accent)}main{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,32px) 64px}.hero{min-height:330px;display:flex;align-items:end;margin:24px 0;padding:clamp(28px,7vw,76px);border-radius:8px;background:linear-gradient(115deg,rgba(21,21,21,.9),rgba(21,21,21,.58),rgba(179,18,58,.34)),linear-gradient(135deg,var(--heroA),var(--heroB) 55%,var(--heroC));color:#fff}.hero-copy{max-width:680px}.eyebrow{margin:0 0 12px;text-transform:uppercase;font-size:13px;font-weight:900}h1{margin:0;font-size:clamp(34px,7vw,72px);line-height:.95}.hero p:last-child{max-width:560px;margin:18px 0 0;color:rgba(255,255,255,.88);font-size:18px}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--filterBg)}label{display:grid;gap:7px;color:var(--muted);font-size:14px;font-weight:800}select,input,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:12px;outline:none}.catalog-header{display:flex;align-items:end;justify-content:space-between;margin:30px 0 14px}.product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.product-card{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--cardBg)}.product-media{aspect-ratio:1/1;background:var(--soft)}.product-media img{width:100%;height:100%;object-fit:cover;display:block}.empty-media{height:100%;display:grid;place-items:center;color:var(--accent);font-size:46px;font-weight:900}.product-body{display:grid;gap:10px;padding:14px}.product-body h3{margin:0;font-size:18px}.meta{display:flex;flex-wrap:wrap;gap:8px}.meta span{padding:6px 8px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:800}.description{margin:0;color:var(--muted);line-height:1.45}.price{font-size:20px;font-weight:900;color:var(--price)}.add-button,.submit-button{padding:12px}.cart-panel{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:0}.cart-panel.is-open{pointer-events:auto;opacity:1}.cart-backdrop{position:absolute;inset:0;background:rgba(21,21,21,.45)}.cart-sheet{position:absolute;top:0;right:0;display:grid;grid-template-rows:auto minmax(120px,1fr) auto;width:min(460px,100%);height:100%;padding:18px;background:#fff;overflow:auto}.cart-head{display:flex;align-items:center;justify-content:space-between}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font-size:24px}.cart-items{display:grid;align-content:start;gap:10px;margin:18px 0}.cart-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px}.cart-actions{display:flex;align-items:center;gap:6px}.cart-actions button{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font-weight:900}.order-form,.admin-form,.settings-form{display:grid;gap:12px}.empty-state{grid-column:1/-1;padding:44px 18px;border:1px dashed var(--line);border-radius:8px;text-align:center;color:var(--muted)}.admin-main{max-width:1400px}.admin-login{max-width:420px;margin:50px auto;display:grid;gap:12px}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.admin-tabs button{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 14px;cursor:pointer;font-weight:800}.admin-tabs button.active{background:var(--ink);color:#fff}.admin-grid{display:grid;grid-template-columns:360px 1fr;gap:16px;margin-top:16px}.admin-panel{padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.admin-panel.wide{grid-column:1/-1}.admin-list{display:grid;gap:8px;margin-top:14px;max-height:70vh;overflow:auto}.admin-item{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px;text-align:left;cursor:pointer}.admin-item small{display:block;color:var(--muted)}.admin-item-row{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center}.thumb{width:54px;height:54px;border-radius:8px;background:var(--soft);object-fit:cover}.qty-pill{padding:6px 9px;border-radius:999px;background:var(--soft);font-weight:900}.stock-list{display:grid;gap:8px}.stock-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px}.writeoff-cart-item{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px}.check-row{display:flex;align-items:center;gap:10px}.check-row input{width:auto}.settings-form{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:860px){.filters,.admin-grid,.settings-form{grid-template-columns:1fr}.admin-panel.wide{grid-column:auto}}.product-body{grid-template-rows:auto 1fr auto;align-items:start;overflow-wrap:anywhere}.product-body h3{font-size:16px}.product-body .add-button{align-self:end;grid-row:3}@media(max-width:1000px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:540px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-body{padding:10px}}.stock-row small{display:block;color:var(--muted)}.stock-edit{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.stock-edit input[type=number]{width:84px;padding:8px}.stock-edit .check-row{min-height:38px}.stock-edit .submit-button{padding:9px}.stock-status{min-height:1.25em;margin:4px 0 0;color:var(--muted);font-size:14px}.stock-info{overflow-wrap:anywhere}@media(max-width:740px){.stock-row{grid-template-columns:54px minmax(0,1fr)}.stock-controls{grid-column:1/-1}}:root:has(.shop-page){--pageBg:#080808;--topbarBg:#111111;--ink:#ffffff;--muted:#a0a0a0;--line:#292929;--soft:#171717;--accent:#e6e6e6;--buttonText:#080808;--cardBg:#111111;--filterBg:#080808;--heroA:#101010;--heroB:#181818;--heroC:#242424;--price:#ffffff;}.shop-page{color-scheme:dark;font-family:Inter,"Helvetica Neue",Arial,sans-serif}
.shop-page *{letter-spacing:0}
.shop-page a{color:inherit}
.shop-page .topbar,.shop-footer{padding-inline:clamp(16px,5vw,80px)}
.shop-page .topbar{min-height:68px;display:grid;grid-template-columns:1fr auto 1fr;background:var(--topbarBg)}
.shop-page .brand{font-weight:700;font-size:19px;overflow-wrap:anywhere}
.shop-page .topbar nav{display:flex;gap:26px;align-items:center}
.shop-page .topbar nav a,.shop-footer>a:not(.brand){font-size:13px;text-decoration:none;color:var(--muted)}
.shop-page .topbar nav a:hover,.shop-footer a:hover{color:var(--ink)}
.shop-page .cart-button{justify-self:end;display:flex;align-items:center;gap:8px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:4px;font-size:13px;font-weight:600;min-height:44px}
.shop-page .cart-button b{min-width:20px;height:20px;margin:0;background:var(--soft);color:var(--ink)}
.shop-page main{max-width:none;padding:0}
.shop-page .hero{position:relative;isolation:isolate;overflow:hidden;min-height:0;height:clamp(360px,66svh,690px);margin:0;border-radius:0;align-items:center;padding:clamp(24px,7vw,104px);background:var(--heroA)}
.hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}
.shop-page .hero-copy{max-width:540px}
.shop-page .eyebrow{margin:0 0 20px;font-size:12px;font-weight:600;text-transform:uppercase}
.shop-page .hero h1{font-size:76px;font-weight:300;line-height:1.01;overflow-wrap:anywhere}
.shop-page .hero-subtitle{max-width:32ch;margin:18px 0 0;line-height:1.5;font-size:17px;color:#e2e2e2}
.hero-cta{display:inline-flex;min-height:48px;align-items:center;gap:24px;margin-top:26px;padding:0 15px;border:1px solid #777;text-decoration:none;font-size:14px}
.hero-cta span{transition:transform .2s ease}
.hero-cta:hover span{transform:translateY(3px)}
.shop-catalog{max-width:1536px;margin:0 auto;padding:42px clamp(16px,5vw,80px) 72px;scroll-margin-top:68px}
.shop-page .catalog-header{margin:0 0 22px;gap:12px}
.shop-page .catalog-header h2{font-size:38px;font-weight:400;margin:0}
.shop-page #resultCount{margin:0;color:var(--muted);font-size:13px;text-align:right}
.shop-page .filters{grid-template-columns:1fr 1fr 1.4fr auto;align-items:end;gap:12px;padding:14px 0;margin:0 0 22px;border:0;border-block:1px solid var(--line);border-radius:0;background:var(--filterBg)}
.shop-page label{font-size:13px;font-weight:500}
.shop-page :is(input,select,textarea){background:var(--pageBg);color:var(--ink);border-radius:4px;min-height:44px;padding:9px}
.shop-page :is(input,textarea)::placeholder{color:var(--muted)}
.shop-page #resetFilters{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);cursor:pointer}
.shop-page .product-grid{gap:28px 14px}
.shop-page .product-card{min-width:0;border:0;border-radius:0;background:var(--cardBg)}
.shop-page .product-media{background:var(--soft)}
.shop-page .product-media img{object-fit:cover;transition:transform .25s ease}
.photo-trigger{display:block;width:100%;height:100%;padding:0;border:0;background:none;overflow:hidden;cursor:zoom-in}
.photo-trigger:hover img{transform:scale(1.045)}
.shop-page .product-body{grid-template-rows:1fr auto auto;padding:12px;gap:10px;border-bottom:1px solid var(--line)}
.shop-page .product-body h3{font-weight:500;font-size:15px;line-height:1.35}
.shop-page .price{grid-row:2;align-self:end;font-size:16px;font-weight:600}
.shop-page :is(.add-button,.submit-button){min-height:44px;border-radius:4px;font-size:13px;font-weight:600}
.shop-page .add-button{background:transparent;color:var(--ink);border:1px solid var(--line)}
.shop-page .add-button:hover{border-color:var(--muted)}
.shop-page .add-button[aria-pressed=true]{background:var(--soft);border-color:var(--muted)}
.shop-page .submit-button:disabled{opacity:.45;cursor:not-allowed}
.favorite-item{grid-template-columns:52px minmax(0,1fr) auto;align-items:center;overflow-wrap:anywhere}
.favorite-item img{display:block;object-fit:cover}
.favorite-item p{margin:5px 0 0;color:var(--muted)}
#messageFallback:not([hidden]){display:grid;gap:8px;font-size:14px}
.shop-page .submit-button:hover{opacity:.87}
.shop-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-block:24px;background:var(--topbarBg)}
.shop-page .cart-sheet,.shop-page .icon-button,.shop-page .cart-actions button{background:var(--cardBg);color:var(--ink)}
.shop-page .cart-sheet{display:block;overflow-y:auto;overscroll-behavior-y:contain;border-left:1px solid var(--line)}
.shop-page .cart-items{min-width:0}
.shop-page .order-form{padding-top:16px;border-top:1px solid var(--line)}
.shop-page .cart-head h2{font-weight:500}
.shop-page .cart-backdrop,.photo-dialog::backdrop{background:#000c}
.shop-page .form-status{margin:0;color:var(--muted)}
.shop-page :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.photo-dialog{width:min(92vw,670px);max-height:92svh;padding:16px;border:1px solid var(--line);border-radius:4px;background:var(--cardBg);color:var(--ink)}
.photo-dialog img{display:block;width:100%;max-height:72svh;object-fit:contain}
.photo-dialog button{position:absolute;right:20px;top:20px}
.photo-dialog p{margin:14px 0 0}
@media(max-width:1050px){.shop-page .hero h1{font-size:62px}}
@media(max-width:720px){
  .shop-page .topbar{gap:8px;padding-block:9px;min-height:62px}
  .shop-page .brand{font-size:16px}
  .shop-page .topbar nav .nav-contact{display:none}
  .shop-page .cart-button{padding:7px 8px;gap:4px}
  .shop-page .cart-button svg{display:none}
  .shop-page .hero{align-items:end;height:clamp(380px,60svh,520px);padding:24px}
  .hero-image{object-position:70% center}
  .shop-page .hero::before{content:"";position:absolute;inset:0;z-index:-1;background:#0005}
  .shop-page .hero h1{font-size:48px}
  .shop-page .hero-copy{max-width:360px}
  .shop-page .eyebrow{margin-bottom:10px}
  .shop-page .hero-subtitle{font-size:15px;margin-top:10px}
  .hero-cta{margin-top:18px;background:#080808c9}
  .shop-catalog{padding-block:26px 48px}
  .shop-page .catalog-header h2{font-size:30px}
  .shop-page .filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .shop-page .filters label:nth-child(3){grid-column:1/-1}
  .shop-page .product-grid{gap:16px 10px}
  .shop-page .product-body{padding:10px}
}
@media(max-width:380px){.shop-page .hero h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){.shop-page *, .shop-page *::before{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

#productPlacements summary{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 8px;cursor:pointer;border-radius:4px}
#productPlacements summary::-webkit-details-marker{display:none}
#productPlacements summary::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);pointer-events:none}
#productPlacements details[open]>summary::before{transform:rotate(45deg)}
#productPlacements summary:hover{background:var(--soft)}
#productPlacements summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.admin-photo-crop{width:min(92vw,420px);max-height:92dvh;padding:16px;border:1px solid var(--line);border-radius:8px}
.admin-photo-crop::backdrop{background:#0009}
.crop-frame{position:relative;width:min(100%,40dvh);margin:0 auto 12px}
.admin-photo-crop canvas{display:block;width:100%;height:auto;touch-action:none;cursor:grab}
.crop-guide{position:absolute;inset:0;pointer-events:none;border:1px solid #fff9}
.crop-guide i{position:absolute;background:#fffb;box-shadow:0 0 2px #000}
.crop-guide i:nth-child(-n+2){width:1px;height:100%}
.crop-guide i:nth-child(n+3){height:1px;width:100%}
.crop-guide i:nth-child(1){left:33.333%}
.crop-guide i:nth-child(2){left:66.667%}
.crop-guide i:nth-child(3){top:33.333%}
.crop-guide i:nth-child(4){top:66.667%}
.crop-ticks{display:grid;grid-template-columns:1fr auto 1fr;font-size:12px}
.crop-ticks span:last-child{text-align:right}
.crop-actions{display:flex;flex-wrap:wrap;gap:8px}
.admin-photo-crop h2{margin:0 0 12px}
.admin-photo-crop input[type=range]{padding:4px;accent-color:var(--accent)}
.admin-photo-crop label{margin-bottom:8px}
.shop-page .favorite-item input[type=number]{width:85px}
.product-meta{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.35}
.favorite-item .unavailable{color:#ff8a8a}
.direct-link{font-weight:600}
.settings-form h3{grid-column:1/-1;margin:10px 0 0}
.admin-top-actions{display:inline-flex;align-items:center;gap:16px}
button.plain-link{border:0;background:none;padding:0;cursor:pointer;font:inherit;font-weight:800;color:inherit}
/* ---------- Тема вітрини з налаштувань (CSS-змінні ставить сервер і превʼю) ---------- */
.shop-page{color-scheme:var(--scheme,dark);font-family:var(--fontBody,Inter,"Helvetica Neue",Arial,sans-serif)}
.shop-page :is(h1,h2,.brand){font-family:var(--fontHeading,inherit)}
.shop-page .hero h1{font-size:var(--heroTitleSize,76px);font-weight:var(--headingWeight,300)}
.shop-page :is(.catalog-header h2,.cart-head h2){font-weight:var(--headingWeight,400)}
.shop-page .eyebrow{text-transform:var(--eyebrowCase,uppercase)}
.shop-page .eyebrow:empty{display:none}
.shop-page .hero{height:clamp(320px,var(--heroHeight,66svh),940px)}
.shop-page .hero::after{content:"";position:absolute;inset:0;z-index:-1;background:#000;opacity:var(--heroOverlay,0);pointer-events:none}
.shop-page[data-hero-align=center] .hero{justify-content:center;text-align:center}
.shop-page[data-hero-align=center] .hero-copy,.shop-page[data-hero-align=center] .hero-subtitle{margin-inline:auto}
.shop-page .product-grid{grid-template-columns:repeat(var(--cols,5),minmax(0,1fr))}
.shop-page .product-card{border-radius:var(--radius,0);overflow:hidden}
.shop-page :is(.add-button,.submit-button,.cart-button,#resetFilters,input,select,textarea,.hero-cta,.icon-button,.photo-dialog,.cart-item,.qty-stepper){border-radius:var(--radius,4px)}
.nav-instagram{display:none}
.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--line);margin-top:8px;overflow:hidden}
.qty-stepper button{width:40px;height:40px;border:0;background:transparent;color:var(--ink);font-size:20px;cursor:pointer}
.qty-stepper button:disabled{opacity:.35;cursor:default}
.qty-stepper output{min-width:32px;text-align:center;font-weight:600;color:var(--ink)}
@media(max-width:1050px){.shop-page .hero h1{font-size:calc(var(--heroTitleSize,76px) * .82)}}
@media(max-width:1000px){.shop-page .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){
  .shop-page .hero h1{font-size:calc(var(--heroTitleSize,76px) * .63)}
  .shop-page .hero{height:clamp(360px,calc(var(--heroHeight,66svh) * .9),640px)}
  .shop-page .topbar nav .nav-catalog{display:none}
  .nav-instagram{display:inline-grid;place-items:center;width:44px;height:44px;color:var(--ink)!important}
}
@media(max-width:600px){.shop-page .product-grid{grid-template-columns:repeat(var(--colsMobile,2),minmax(0,1fr))}}
@media(max-width:380px){.shop-page .hero h1{font-size:calc(var(--heroTitleSize,76px) * .55)}}

/* ---------- Адмінка: кнопки, файли, редактор дизайну ---------- */
.admin-page button:not(.submit-button):not(.admin-item):not(.preset):not([data-tab]){border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:10px 14px;cursor:pointer;font-weight:700}
.admin-page button:disabled{opacity:.5;cursor:default}
.admin-page .submit-button:disabled{opacity:.5}
.file-button{position:relative;display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px dashed var(--muted);border-radius:8px;background:var(--soft);color:var(--ink);cursor:pointer;font-weight:700}
.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}
.file-button:hover{border-color:var(--accent)}
#productPlacements{border:1px solid var(--line);border-radius:8px;padding:6px 10px 10px}
#productPlacements legend{padding:0 6px;color:var(--muted);font-weight:800;font-size:14px}
#productPlacements:not(:has(details))::after{content:"Оберіть товар зі списку або натисніть «Новий товар»";display:block;padding:8px;color:var(--muted);font-size:14px}
.admin-item b{display:block;margin-bottom:2px;line-height:1.3}
.admin-item-row{gap:12px}
.qty-pill{min-width:36px;text-align:center}
.qty-pill.low{background:#fde8ec;color:#b3123a}
.design-layout{display:grid;grid-template-columns:minmax(330px,440px) minmax(0,1fr);gap:16px;align-items:start;margin-top:16px}
.design-controls{max-height:calc(100vh - 210px);overflow:auto}
.design-controls h2{margin:0 0 4px}
.design-status{min-height:1.3em;margin:0 0 8px;color:var(--accent);font-weight:700}
.settings-form{display:grid;gap:10px;grid-template-columns:1fr!important}
.settings-form details{border:1px solid var(--line);border-radius:8px;padding:0 12px}
.settings-form details[open]{padding-bottom:12px}
.settings-form details>*:not(summary){margin-top:10px}
.settings-form summary{cursor:pointer;padding:12px 0;font-weight:900;list-style:none}
.settings-form summary::-webkit-details-marker{display:none}
.settings-form summary::after{content:"＋";float:right;color:var(--muted)}
.settings-form details[open] summary::after{content:"－"}
.hint{margin:0;color:var(--muted);font-size:13px;font-weight:500}
.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.preset{display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font-weight:800;text-align:left}
.preset:hover{border-color:var(--ink)}
.preset-dots{display:flex}
.preset-dots i{width:20px;height:20px;border-radius:50%;border:1px solid #0002;margin-right:-5px}
.font-sample{margin:-2px 0 4px;padding:10px 12px;border-radius:8px;background:var(--soft);font-size:24px;line-height:1.2;color:var(--ink)}
.font-sample.small{font-size:16px}
.range-row{grid-template-columns:1fr auto}
.range-row output{color:var(--ink);font-weight:800}
.range-row input{grid-column:1/-1;padding:0;accent-color:var(--accent)}
.radio-row{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;color:var(--muted);font-size:14px;font-weight:800}
.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.color-row{display:grid!important;grid-template-columns:44px 1fr;align-items:center;gap:8px!important}
.color-row input[type=color]{width:44px;height:44px;padding:2px;border-radius:8px;cursor:pointer}
.color-row span{display:grid;gap:4px;font-size:12px}
.color-row .hex{padding:5px 8px;font-family:ui-monospace,monospace;font-size:13px}
.hero-pick{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:start}
.hero-pick img{width:120px;height:80px;object-fit:cover;border-radius:8px;background:var(--soft)}
.hero-pick>div{display:grid;gap:8px}
.design-preview{position:sticky;top:76px;display:grid;gap:8px}
.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.admin-page .seg button{border:0!important;border-radius:0!important;padding:8px 14px!important}
.admin-page .seg button.active{background:var(--ink)!important;color:#fff!important}
.preview-stage{position:relative;height:calc(100vh - 210px);min-height:420px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#e9e4e6}
.preview-stage iframe{position:absolute;top:0;left:0;border:0;transform-origin:0 0;background:#fff}
.preview-stage[data-device=mobile]{display:flex;justify-content:center;background:repeating-linear-gradient(45deg,#eee5e8 0 10px,#e4dde0 10px 20px)}
.preview-stage[data-device=mobile] iframe{position:relative;box-shadow:0 10px 40px #0003}
.design-actions{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:12px 0;background:var(--pageBg);border-top:1px solid var(--line)}
@media(max-width:900px){.design-layout{grid-template-columns:1fr}.design-controls{max-height:none}.design-preview{position:static}.preview-stage{height:70vh}}
/* ---------- Вітрина: наявність, посилання на товар ---------- */
.stock-note{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.35}
.product-card.is-target{outline:2px solid var(--ink);outline-offset:4px}
.photo-price{margin:6px 0 0!important;color:var(--muted)}
.photo-dialog .share-button{position:static!important;width:100%;margin-top:12px}
/* ---------- Адмінка: категорії, масові дії, дані ---------- */
.design-controls>.hint{margin-bottom:12px}
.product-link-row{display:flex;flex-wrap:wrap;gap:8px}
.ghost-button{border-style:dashed!important}
.cat-box{display:grid;gap:12px;margin-top:12px}
.cat-part{border:1px solid var(--line);border-radius:8px;padding:10px}
.cat-row{display:grid;grid-template-columns:minmax(0,1fr) auto 40px 40px 40px;gap:6px;align-items:center}
.cat-row input{padding:9px}
.cat-row button{padding:8px!important}
.cat-row-part input{font-weight:800}
.cat-types{display:grid;gap:6px;margin:8px 0 0 22px;padding-left:12px;border-left:2px solid var(--line)}
.cat-count{min-width:72px;color:var(--muted);font-size:13px;text-align:right}
.bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}
.bulk-bar select,.bulk-bar input{width:auto;padding:8px}
.bulk-bar #bulkStatus{flex-basis:100%;min-height:0}
.stock-row{grid-template-columns:22px 54px minmax(0,1fr) auto!important}
.stock-row .bulk-check{width:20px;height:20px}
.data-grid{grid-template-columns:1fr 1fr!important}
.data-grid h3{margin:18px 0 8px}
.data-grid .admin-panel{display:grid;gap:10px;align-content:start}
.backup-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px}
@media(max-width:740px){.stock-row{grid-template-columns:22px 54px minmax(0,1fr)!important}.data-grid{grid-template-columns:1fr!important}.cat-row{grid-template-columns:minmax(0,1fr) 36px 36px 36px}.cat-count{display:none}}
/* Склад: фото на всю висоту рядка (висота рядка не змінюється — її задає блок «В наявності / Зберегти») */
.stock-row{grid-template-columns:22px 81px minmax(0,1fr) auto!important}
.stock-row .thumb{width:81px;height:81px}
@media(max-width:740px){.stock-row{grid-template-columns:22px 64px minmax(0,1fr)!important}.stock-row .thumb{width:64px;height:64px}}
.admin-page [hidden]{display:none!important}
/* Склад: фільтри, позначка прихованих; списання: скасування */
.stock-filters{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px}
.hidden-tag{display:inline-block!important;margin-top:4px;padding:2px 8px;border-radius:999px;background:#f1e7ea;color:#8a1530!important;font-size:12px;font-weight:800}
.sale-item{display:grid;gap:4px;cursor:default}
.sale-item button{justify-self:start;margin-top:6px;padding:6px 10px!important;font-size:13px}
.sale-item.is-cancelled{opacity:.6}
.sale-item.is-cancelled b{text-decoration:line-through}
.cancel-note{color:#8a1530!important}

@media(min-width:861px){[data-panel="products"] .admin-panel:has(#productList){display:flex;flex-direction:column;min-height:75svh}[data-panel="products"] .admin-panel:has(#productList)>:not(#productList){flex-shrink:0}#productList{flex:1 1 0;min-height:0;max-height:none;align-content:start}}
