:root{
  --blue:#005bff; --blue-dark:#0047cc; --ink:#001a34; --muted:#6b7a8f;
  --bg:#f5f5f7; --card:#ffffff; --line:#e4e7ec; --gold:#ffa900; --red:#ff3f3f; --green:#0acf5a;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;}
html{scroll-padding-top:env(safe-area-inset-top,0px);}
html,body{height:100%;margin:0;}
body{background:var(--bg);color:var(--ink);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#0d1117;--card:#161b22;--ink:#e8eef7;--muted:#8b98a9;--line:#262c36;}}
:root[data-theme="dark"]{--bg:#0d1117;--card:#161b22;--ink:#e8eef7;--muted:#8b98a9;--line:#262c36;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px;}
header{background:var(--blue);color:#fff;position:sticky;top:0;z-index:50;padding-top:env(safe-area-inset-top,0px);}
.headrow{display:flex;align-items:center;gap:16px;padding:14px 16px;max-width:1200px;margin:0 auto;flex-wrap:wrap;}
.logo{font-weight:800;font-size:22px;letter-spacing:-.5px;display:flex;align-items:center;gap:6px;white-space:nowrap;}
.logo span{color:#c9dcff;font-weight:600;font-size:13px;}
.search{flex:1;min-width:180px;display:flex;background:#fff;border-radius:8px;overflow:hidden;}
.search input{flex:1;border:none;padding:10px 14px;font-size:14px;outline:none;color:#001a34;}
.search button{background:var(--blue-dark);color:#fff;padding:0 18px;font-size:14px;font-weight:600;}
.hdr-actions{display:flex;gap:18px;align-items:center;}
.hdr-actions button{background:none;color:#fff;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;position:relative;padding:4px;}
.badge{position:absolute;top:-4px;right:-8px;background:var(--red);color:#fff;border-radius:10px;font-size:10px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.cats{background:var(--blue-dark);}
.cats-row{display:flex;gap:20px;padding:9px 16px;max-width:1200px;margin:0 auto;overflow-x:auto;font-size:13.5px;}
.cats-row button{background:none;color:#dbe7ff;white-space:nowrap;padding:2px 0;}
.cats-row button.active{color:#fff;font-weight:700;border-bottom:2px solid #fff;}
.subs-row{display:flex;gap:16px;padding:8px 16px;max-width:1200px;margin:0 auto;overflow-x:auto;font-size:12.5px;background:var(--card);border-bottom:1px solid var(--line);}
.subs-row button{background:none;color:var(--muted);white-space:nowrap;padding:4px 10px;border-radius:14px;}
.subs-row button.active{background:var(--blue);color:#fff;}
main{padding:20px 0 60px;}
h1.hero{font-size:20px;margin:6px 0 14px;font-weight:700;}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;}
@media(max-width:560px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .card{padding:8px;gap:5px;border-radius:10px;}
  .title{font-size:13px;line-height:1.3;min-height:34px;}
  .sku{font-size:10.5px;}
  .rating{font-size:11.5px;gap:3px;}
  .price{font-size:16px;}
  .old-price{font-size:11px;}
  .disc-badge{font-size:10px;padding:2px 6px;top:6px;left:6px;}
  .addbtn{padding:8px;font-size:13px;}
  .qtystep{gap:8px;padding:5px;}
  .qtystep button{width:22px;height:22px;font-size:13px;}
  .avatar{font-size:15px;}
}
@media(max-width:360px){
  .grid{gap:8px;}
  .card{padding:6px;}
}
.formgrid textarea{padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:var(--bg);color:var(--ink);font-family:inherit;resize:vertical;}
.pd-main{aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#eef2f8;display:flex;align-items:center;justify-content:center;position:relative;cursor:zoom-in;}
.pd-main img{width:100%;height:100%;object-fit:contain;} /* фото целиком, без обрезки; показывается по мере загрузки */
.pd-main.loading::after{content:'';position:absolute;top:10px;right:10px;width:22px;height:22px;border:3px solid rgba(255,255,255,.85);border-top-color:var(--blue);border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.1);animation:pdspin .8s linear infinite;}
.pd-main.err::before{content:'Фото не загрузилось. Нажмите, чтобы повторить';position:absolute;left:12px;right:12px;text-align:center;color:var(--muted);font-size:13px;}
@keyframes pdspin{to{transform:rotate(360deg);}}
#pdModal .modal{max-height:92vh;}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;z-index:300;touch-action:pan-y;}
.lightbox.show{display:flex;}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;}
.lb-x{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:14px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:18px;}
.lb-count{position:absolute;top:calc(22px + env(safe-area-inset-top,0px));left:16px;color:#fff;font-size:14px;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:28px;line-height:1;}
.lb-prev{left:10px;} .lb-next{right:10px;}
.lightbox.single .lb-nav{display:none;}
.pd-thumbs{display:flex;gap:8px;margin:8px 0;}
.pd-thumbs img{width:52px;height:52px;border-radius:8px;object-fit:cover;border:2px solid transparent;cursor:pointer;}
.pd-thumbs img.active{border-color:var(--blue);}
.card{cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;transition:box-shadow .15s;}
.qtystep{display:flex;align-items:center;justify-content:center;gap:14px;background:var(--bg);border-radius:8px;padding:7px;margin-top:auto;}
.qtystep button{background:#fff;width:26px;height:26px;border-radius:6px;font-weight:800;box-shadow:0 1px 2px rgba(0,0,0,.1);color:var(--blue);}
.qtystep span{font-weight:700;min-width:14px;text-align:center;}
.card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);}
.thumb{aspect-ratio:1/1;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;}
.avatar{width:56%;height:56%;border-radius:50%;background:#c9dcff;color:var(--blue-dark);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;}
.disc-badge{position:absolute;top:6px;left:6px;background:var(--red);color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px;}
.price-row{display:flex;align-items:baseline;gap:8px;}
.price{font-size:17px;font-weight:800;}
.old-price{font-size:12px;color:var(--muted);text-decoration:line-through;}
.title{font-size:13px;line-height:1.3;min-height:34px;}
.sku{font-size:11px;color:var(--muted);}
.rating{font-size:12px;color:var(--muted);display:flex;gap:4px;align-items:center;}
.rating .stars{color:var(--gold);}
.addbtn{margin-top:auto;background:var(--blue);color:#fff;padding:8px;border-radius:8px;font-size:13px;font-weight:600;}
.addbtn.added{background:var(--green);}
.out{opacity:.5;}
.stockflag{font-size:11px;color:var(--red);font-weight:600;}
.empty{text-align:center;color:var(--muted);padding:40px 0;font-size:13px;}
.catsection{background:var(--card);border-top:8px solid var(--bg);padding:26px 0 34px;margin-top:20px;}
.catsection h2{font-size:18px;margin:0 0 14px;}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;}
@media(max-width:560px){ .cat-grid{grid-template-columns:repeat(3,1fr);gap:8px;} .cat-tile .cn{font-size:11.5px;} .cat-tile .cc{font-size:9.5px;padding:4px 6px;} }
.cat-tile{border:1px solid var(--line);border-radius:10px;overflow:hidden;text-align:center;background:var(--bg);}
.cat-tile .ci{width:100%;aspect-ratio:1/1;border-radius:0;background:#c9dcff;color:var(--blue-dark);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;overflow:hidden;}
.cat-tile .ci img{width:100%;height:100%;object-fit:cover;}
.cat-tile .cn{font-size:13px;font-weight:600;margin-top:6px;padding:0 8px;}
.cat-tile .cc{font-size:11px;color:var(--muted);padding:6px 8px;}
.catback{background:none;color:var(--blue);font-size:13px;font-weight:600;margin-bottom:12px;padding:0;}
.accform{display:flex;flex-direction:column;gap:8px;max-width:420px;}
.accform input,.accform select{padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--bg);color:var(--ink);}
.accform label{font-size:11px;color:var(--muted);}
.acc-order{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-top:8px;font-size:13px;}
.acc-order .st{font-size:11px;font-weight:700;color:var(--blue);}
.admintabs{display:inline-flex;gap:4px;background:var(--bg);border-radius:10px;padding:3px;margin-bottom:16px;}
.admintabs button{background:none;color:var(--muted);padding:7px 14px;border-radius:8px;font-size:13px;font-weight:600;}
.admintabs button.active{background:var(--blue);color:#fff;}
.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:18px;}
.panel h2{font-size:15px;margin:0 0 12px;}
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;}
.formgrid label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:4px;}
.formgrid input,.formgrid select{padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:var(--bg);color:var(--ink);}
.savebtn{margin-top:12px;background:var(--blue);color:#fff;padding:9px 20px;border-radius:8px;font-size:13px;font-weight:700;}
.inlinebtn{background:var(--bg);color:var(--blue);padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;}
table{width:100%;border-collapse:collapse;font-size:13px;}
th{text-align:left;color:var(--muted);font-weight:600;padding:8px 6px;border-bottom:1px solid var(--line);font-size:12px;}
td{padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:middle;}
.rowthumb{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:#c9dcff;color:var(--blue-dark);}
.rowbtns button{background:none;padding:4px 8px;font-size:12px;border-radius:5px;}
.editb{color:var(--blue);} .delb{color:var(--red);}
.tablewrap{overflow-x:auto;}
.catcard{border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:10px;}
.catcard-head{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.catcard-head b{font-size:14px;flex:1;}
.catimg{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#eef2f8;}
.catimglabel{font-size:11px;color:var(--blue);cursor:pointer;}
.toggle{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;}
.toggle input{opacity:0;width:0;height:0;}
.toggle .slider{position:absolute;inset:0;background:#d0d5dd;border-radius:24px;transition:.2s;cursor:pointer;}
.toggle .slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.2);}
.toggle input:checked + .slider{background:var(--blue);}
.toggle input:checked + .slider:before{transform:translateX(18px);}
.togglerow{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);margin-top:10px;}
.subchip{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border-radius:14px;padding:4px 6px 4px 6px;font-size:12px;margin:6px 6px 0 0;}
.subchip img{width:20px;height:20px;border-radius:50%;object-fit:cover;}
.subchip button{background:none;color:var(--red);font-size:13px;line-height:1;padding:2px;}
.addsub{display:flex;gap:6px;margin-top:8px;}
.addsub input{flex:1;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:12px;background:var(--bg);color:var(--ink);}
.status-pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:12px;display:inline-block;}
.st-Новый{background:#fff3e0;color:#ff8a00;}
.st-Вобработке{background:#e6efff;color:var(--blue);}
.st-Выполнен{background:#e6f9ee;color:var(--green);}
.order-card{border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:10px;}
.order-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
.order-items{font-size:12.5px;color:var(--muted);margin:8px 0;}
.order-actions{display:flex;gap:6px;flex-wrap:wrap;}
.order-actions button{font-size:12px;padding:5px 10px;border-radius:6px;background:var(--bg);}
.order-total{font-weight:800;}
.view{display:none;} .view.active{display:block;}
footer{text-align:center;color:var(--muted);font-size:12px;padding:24px 0 10px;}
.support-line{text-align:center;color:var(--muted);font-size:12px;padding-bottom:30px;}
.support-line b{color:var(--blue);}
.bottomnav{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--line);display:flex;z-index:80;padding-bottom:env(safe-area-inset-bottom,0px);}
.bottomnav button{flex:1;background:none;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 8px;font-size:11px;color:var(--muted);position:relative;}
.bottomnav button .bnicon{font-size:21px;line-height:1;}
.bottomnav button.active{color:var(--blue);font-weight:700;}
.bottomnav .bnbadge{position:absolute;top:2px;right:20%;background:var(--red);color:#fff;border-radius:9px;font-size:10px;min-width:15px;height:15px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.bnicon svg{width:22px;height:22px;}
.hdr-actions svg{width:22px;height:22px;}
.viewhidden{display:none !important;}
body{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px));}
.cform{display:flex;flex-direction:column;gap:8px;margin:10px 0;}
.cform input,.cform select{padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--bg);color:var(--ink);}
.cform label{font-size:11px;color:var(--muted);}
.modal-bg{position:fixed;inset:0;background:rgba(0,10,30,.4);display:none;align-items:flex-end;justify-content:center;z-index:100;}
.modal-bg.show{display:flex;}
.modal{background:var(--card);width:100%;max-width:460px;border-radius:16px 16px 0 0;padding:18px;max-height:80vh;overflow:auto;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));}
@media(min-width:640px){.modal-bg{align-items:center;} .modal{border-radius:16px;}}
.modal h2{margin:0 0 12px;font-size:16px;}
.citem{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;gap:8px;}
.citem .qty{display:flex;align-items:center;gap:8px;}
.citem .qty button{background:var(--bg);width:24px;height:24px;border-radius:6px;font-weight:700;}
.ctotal{display:flex;justify-content:space-between;font-weight:800;padding:12px 0;font-size:15px;}
.closebtn{background:var(--bg);padding:8px;border-radius:8px;font-size:13px;width:100%;margin-top:4px;}
.checkoutbtn{background:var(--blue);color:#fff;padding:11px;border-radius:8px;font-size:14px;font-weight:700;width:100%;}
.toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;opacity:0;transition:.2s;pointer-events:none;z-index:200;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
@media(max-width:600px){.hdr-actions span.lbl{display:none;}}
.vbadge{width:16px;height:16px;vertical-align:-3px;margin-left:4px;flex-shrink:0;display:inline-block;}

/* размеры */
.sizelabel{font-size:12px;font-weight:700;color:var(--muted);margin:10px 0 6px;}
.sizes{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.sizechip{min-width:42px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font-size:13px;font-weight:700;cursor:pointer;}
.sizechip.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.sizebox{border:1px dashed var(--line);border-radius:10px;padding:10px 12px;background:var(--bg);}
.sizebox .sizehead{display:flex;flex-direction:column;gap:2px;margin-bottom:8px;font-size:13px;}
.sizebox .sizehead span{font-size:11px;color:var(--muted);}
.sizebox .sizechip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;}
.sizebox .sizechip i{font-style:normal;opacity:.6;padding:0 2px;font-size:15px;line-height:1;}
.sizebox .sizechip i:hover{opacity:1;}
.sizebox .sizeactions{display:flex;gap:8px;margin-top:8px;}
.sizebox .addsub input{flex:1;min-width:0;}

/* наличие: подпись на кнопке */
.addbtn small,.checkoutbtn small{display:block;font-size:10px;font-weight:600;opacity:.92;margin-top:1px;letter-spacing:.2px;}
.addbtn.stock,.checkoutbtn.stock{background:#0a9f4a;}
.addbtn.preorder,.checkoutbtn.preorder{background:#f07f00;}
.avtag{font-style:normal;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;white-space:nowrap;}
.avtag.stock{background:#e6f9ee;color:#0a8a40;} .avtag.preorder{background:#fff1de;color:#c96a00;}
.splitnote{font-size:12px;color:var(--muted);background:var(--bg);border-radius:8px;padding:0;margin:6px 0;}
.splitnote:not(:empty){padding:8px 10px;}
/* чек и отслеживание */
.receipt{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:10px;background:var(--card);border-left:4px solid #f07f00;}
.receipt.stock{border-left-color:#0a9f4a;}
.rc-head{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.rc-date{font-size:11px;color:var(--muted);margin:2px 0 8px;}
.rc-line{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:3px 0;}
.rc-total{display:flex;justify-content:space-between;border-top:1px dashed var(--line);margin-top:6px;padding-top:6px;font-size:14px;}
.rc-status{margin-top:10px;font-size:12px;font-weight:800;color:var(--blue);}
.rc-note{font-size:11px;color:var(--muted);margin-top:8px;}
.track{display:flex;margin-top:8px;}
.tstep{flex:1;text-align:center;position:relative;font-size:9.5px;color:var(--muted);line-height:1.15;}
.tstep::before{content:'';position:absolute;top:6px;left:-50%;right:50%;height:2px;background:var(--line);}
.tstep:first-child::before{display:none;}
.tstep .dot{display:block;width:14px;height:14px;border-radius:50%;background:var(--line);margin:0 auto 4px;position:relative;z-index:1;}
.tstep.done::before,.tstep.cur::before{background:var(--blue);}
.tstep.done .dot{background:var(--blue);} .tstep.cur .dot{background:#fff;border:4px solid var(--blue);box-sizing:border-box;}
.tstep.cur{color:var(--ink);font-weight:800;}
.receipt.stock .tstep.done::before,.receipt.stock .tstep.cur::before,.receipt.stock .tstep.done .dot{background:#0a9f4a;} .receipt.stock .tstep.cur .dot{border-color:#0a9f4a;}
.receipt.stock .rc-status{color:#0a8a40;}
/* админка: статусы заказов */
.status-pill.sp0{background:#fff3e0;color:#ff8a00;} .status-pill.sp1{background:#e6efff;color:var(--blue);}
.status-pill.sp2{background:#e8f0ff;color:#0047cc;} .status-pill.sp3{background:#e0f7f4;color:#0b8a7a;} .status-pill.sp4{background:#e6f9ee;color:var(--green);}
.order-actions select{font-size:12px;padding:5px 8px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--ink);}

/* подарочные карты */
.sub{font-size:11px;color:var(--muted);}
.gcscan{display:flex;gap:6px;align-items:center;} .gcscan input,.gcscan select{flex:1;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:var(--bg);color:var(--ink);}
.gchead{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.gcbox,.gccard{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:12px;background:var(--card);}
.gccard{border-left:4px solid #0a9f4a;} .gccard.BLOCKED,.gccard.EXPIRED{border-left-color:#c0392b;} .gccard.DEPLETED,.gccard.CREATED{border-left-color:#9aa5b1;}
.gcbal{font-size:26px;font-weight:800;margin:4px 0;}
.gcstat{font-size:10px;font-weight:700;padding:3px 8px;border-radius:10px;background:#eef1f5;color:#556;white-space:nowrap;}
.gcstat.ACTIVE{background:#e6f9ee;color:#0a8a40;} .gcstat.BLOCKED,.gcstat.EXPIRED{background:#fdecea;color:#b42318;} .gcstat.CREATED{background:#fff3e0;color:#c96a00;}
.gcgrid{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px;margin:8px 0;} .gcgrid span{color:var(--muted);}
.gcbtns{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;} .gcbtns .danger{color:#b42318;}
.gctxrow{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:13px;}
.gcamt{text-align:right;font-weight:800;white-space:nowrap;} .gcamt.neg{color:#c0392b;} .gcamt.pos{color:#0a8a40;}
.gcpin{margin-top:12px;border:2px dashed #f07f00;background:#fff8ee;border-radius:12px;padding:12px;font-size:13px;text-align:center;color:#333;}
.gcpin .pin{font-size:30px;font-weight:800;letter-spacing:5px;margin:6px 0;}
.gctable{width:100%;border-collapse:collapse;font-size:12px;} .gctable th,.gctable td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;} .gctable tr.row{cursor:pointer;} .gctable tr.row:hover{background:var(--bg);}
.gcpay{margin:8px 0;} .gcpay .rc-line{font-size:13px;} .gcpay select{width:100%;margin:6px 0;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);}
.gcrow{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;padding:8px 0;} .gcrow input{width:18px;height:18px;}
.gcpay-no{background:#fdecea;color:#b42318;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600;}
details summary{cursor:pointer;font-size:13px;font-weight:700;margin-top:6px;}
.receipt.cancelled{opacity:.75;border-left-color:#c0392b;} .status-pill.spx{background:#fdecea;color:#b42318;}

/* Gift Card — минимализм */
.gcadd{display:flex;gap:8px;} .gcadd input{flex:1;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px;background:var(--card);color:var(--ink);} .gcadd input+input{max-width:110px;} .gcadd .checkoutbtn{margin:0;width:auto;padding:0 18px;}
.gcitem{margin-top:18px;}
.gcimg{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1.586/1;background:#e9edf3;box-shadow:0 6px 18px rgba(0,20,60,.16);}
.gcimg img{width:100%;height:100%;object-fit:cover;display:block;} .gcimg.off img,.gcimg.off .gcfallback{filter:grayscale(.85);opacity:.6;}
.gcfallback{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:18px;box-sizing:border-box;background:linear-gradient(135deg,#005bff,#7a5cff);color:#fff;} .gcfallback b{font-size:20px;letter-spacing:2px;} .gcfallback span{font-size:14px;opacity:.9;letter-spacing:1px;}
.gcflag{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.72);color:#fff;font-size:12px;font-weight:700;padding:6px 12px;border-radius:20px;white-space:nowrap;}
.gcbalbox{display:flex;justify-content:space-between;align-items:baseline;margin:14px 2px 4px;} .gcbalbox span{color:var(--muted);font-size:13px;} .gcbalbox b{font-size:28px;font-weight:800;}
.gchist{margin-top:6px;} .gchist h3{font-size:13px;color:var(--muted);font-weight:700;margin:12px 2px 2px;}
.gcop{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line);font-size:14px;} .gcop small{display:block;font-size:11px;color:var(--muted);margin-top:1px;} .gcop b.neg{color:#c0392b;} .gcop b.pos{color:#0a8a40;}
.gcforget{background:none;border:0;color:var(--muted);font-size:11px;margin-top:8px;padding:4px 2px;cursor:pointer;text-decoration:underline;}
.gcrow{display:flex;align-items:center;gap:10px;padding:10px 0;font-weight:700;font-size:14px;} .gcrow small{display:block;font-weight:500;font-size:11px;color:var(--muted);} .gcline{font-size:13px;padding:0 0 8px;}
.bottomnav button{min-width:0;}
/* админка: изображения карт */
.dzrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;} .dz{position:relative;width:118px;aspect-ratio:1.586/1;border-radius:10px;overflow:hidden;border:2px solid var(--line);cursor:pointer;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--muted);}
.dz img{width:100%;height:100%;object-fit:cover;} .dz.on{border-color:var(--blue);} .dz b{position:absolute;left:0;right:0;bottom:0;background:var(--blue);color:#fff;font-size:10px;text-align:center;padding:2px;} .dz i{position:absolute;right:4px;top:4px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-style:normal;font-size:14px;line-height:20px;text-align:center;} .dz.add{border-style:dashed;}
.gcmore{margin-top:8px;} .gcmore summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--blue);}
.gcbox .gcimg{max-width:320px;margin-bottom:10px;}
