
.shop-page{max-width:1000px;margin:0 auto;}
.shop-page,.shop-modal{min-width:0;}
.shop-shell{overflow:visible;}
.shop-shell > .section-header{border-radius:var(--radius) var(--radius) 0 0;}
.shop-shell > .shop-admin{margin:0;padding:12px 16px;border:0;border-bottom:1px solid var(--border);border-radius:0;}
.shop-shell > .shop-filters{margin:0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;}
.shop-shell .shop-filters .ui-select-trigger{min-width:0;}
.shop-catalog{min-width:0;padding:20px 16px 16px;}
.shop-catalog > .shop-section:last-child,.shop-catalog .shop-section > .shop-node:last-child{margin-bottom:0;}
@media(max-width:720px){.shop-shell > .shop-filters{padding:12px;}.shop-catalog{padding:16px 12px 12px;}}
.shop-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;padding:16px;margin:16px 0 24px;border:1px solid var(--border,#222328);border-radius:12px;background:var(--surface,#0f1014);}
.shop-filter-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.shop-node{min-width:0;margin:0 0 16px;padding:var(--shop-gap,14px);border:1px var(--shop-border,solid) var(--shop-color,#34363d);border-radius:var(--shop-radius,12px);background:var(--surface,#0f1014);}
.shop-node.is-heading{border:0;border-top:2px var(--shop-border,solid) var(--shop-color,#34363d);border-radius:0;background:transparent;padding-inline:0;}
.shop-node.is-plain{border:0;background:transparent;padding-inline:0;}
.shop-node .shop-node{margin-top:16px;margin-bottom:0;}
.shop-node .shop-cat-title{overflow-wrap:anywhere;}
.shop-node .shop-grid{gap:var(--shop-gap,14px);grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--shop-width,190px)),1fr));}
.shop-node .shop-card-media img{object-fit:var(--shop-fit,cover);}
.shop-node > .shop-grid > .shop-card{border-radius:var(--shop-radius,12px);}
.shop-manager-tools{border:0;padding:12px 0;margin:0;}
.shop-design-preview{margin-top:14px;}
.shop-preview-card{aspect-ratio:2/3;max-height:180px;border:1px solid var(--shop-color);border-radius:var(--shop-radius);background:linear-gradient(145deg,#29212a,#15161b);display:grid;place-items:center;color:var(--text-muted);font-size:12px;}
.shop-announcement{position:relative;flex:1;overflow:hidden;}
.shop-card.is-announced{border-style:dashed;}
.shop-announcement-content{filter:blur(12px);pointer-events:none;user-select:none;opacity:.65;transform:scale(1.03);}
.shop-release-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;background:rgba(8,9,12,.35);color:#fff;}
.shop-release-label{font:700 13px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;}
.shop-release-date{padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(15,16,20,.88);font:600 13px Inter,sans-serif;opacity:0;transform:translateY(5px);transition:opacity .18s,transform .18s;}
.shop-card:hover .shop-release-date,.shop-card:focus-within .shop-release-date{opacity:1;transform:none;}
.shop-secret-line{height:13px;margin-bottom:10px;border-radius:6px;background:#70737c;max-width:70%;}
.shop-announcement .shop-card-media{background:linear-gradient(135deg,#634c39,#302839 50%,#15171e);}
.shop-field input[type=time]{width:100%;padding:9px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;}
@media(hover:none){.shop-release-date{opacity:1;transform:none;}}
@media(max-width:720px){.shop-node{padding:min(var(--shop-gap,14px),8px);}.shop-filters{padding:12px;grid-template-columns:repeat(2,minmax(0,1fr));}.shop-filter-search{grid-column:1/-1;}.shop-filters .shop-field{min-width:0;}.shop-modal .shop-row{grid-template-columns:1fr;}.shop-param-row,.shop-param-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 20px;}.shop-param-row input[type=text]{min-width:0;padding:8px 4px;font-size:12px;}}
@media(prefers-reduced-motion:reduce){.shop-release-date,.shop-card{transition:none;}}

/* --- Панель администратора (тулбар под шапкой, как фильтры в «Аудите») ---
   Примыкает к .section-header снизу: шапка без нижней границы,
   панель — без верхней, вместе они дают одну карточку. */
.shop-admin{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:12px 14px;margin-bottom:16px;border:1px solid var(--border,#222328);
  border-top:0;border-radius:0 0 10px 10px;
  background:var(--surface,#0F1014);}
.shop-admin-note{color:var(--text-muted,#8A8F98);font:500 12px Inter,sans-serif;}
/* Модалка покупки: код владения копируется плагину — моноширинно, крупно. */
.shop-ownership-code{background:#15161B;border:1px solid var(--border,#222328);
  border-radius:8px;padding:14px;font:600 16px ui-monospace,SFMono-Regular,Consolas,monospace;
  color:#fff;letter-spacing:.05em;word-break:break-all;}

/* --- Раздел магазина (игра): блок во всю ширину --- */
.shop-section{margin-bottom:26px;}
.shop-section-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px;
  padding-bottom:10px;border-bottom:1px solid var(--border,#222328);}
.shop-section-title{font:700 18px Inter,sans-serif;color:#fff;margin:0;}
.shop-section-sub{color:var(--text-muted,#8A8F98);font:500 12px Inter,sans-serif;}

/* --- Категория товаров: тоже во всю ширину --- */
.shop-category{background:var(--surface,#0F1014);border:1px solid var(--border,#222328);
  border-radius:12px;padding:16px;margin-bottom:14px;}
.shop-cat-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.shop-cat-title{font:600 15px Inter,sans-serif;color:#fff;margin:0;}
.shop-cat-count{color:var(--text-muted,#8A8F98);font:500 12px Inter,sans-serif;}
.shop-cat-subs{display:flex;gap:6px;flex-wrap:wrap;}
.shop-empty{padding:14px;border:1px dashed var(--border,#222328);border-radius:10px;
  color:var(--text-muted,#8A8F98);font:500 12px Inter,sans-serif;}

/* Сетка карточек: автозаполнение, поэтому новая карточка занимает свободное
   место, а не растягивает соседние. */
.shop-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}

/* --- Карточка товара (вертикальная, арт-карточка 2:3) --- */
.shop-card{display:flex;flex-direction:column;background:var(--surface-2,#141519);
  border:1px solid var(--border,#222328);border-radius:12px;overflow:hidden;
  transition:border-color .15s,transform .15s;}
.shop-card:hover{border-color:var(--accent,#D6332E);transform:translateY(-2px);}
.shop-card.search-target{border-color:var(--accent,#D6332E);box-shadow:0 0 0 2px rgba(214,51,46,.2);}
/* Превью 2:3 (как готовые карточки 1024×1536). object-fit:cover
   обрезает исходник до 2:3 — центр кадра сохраняется, поэтому
   «чуть кривые» пропорции выглядят единообразно. */
.shop-card-media{position:relative;aspect-ratio:2/3;background:rgba(255,255,255,.03);
  display:flex;align-items:center;justify-content:center;overflow:hidden;}
.shop-card-media img{width:100%;height:100%;object-fit:cover;display:block;}
.shop-card-media-empty{color:var(--text-muted,#8A8F98);}
.shop-card-media-empty svg{width:34px;height:34px;}
.shop-card-badge{position:absolute;left:8px;top:8px;padding:3px 8px;border-radius:999px;
  background:rgba(15,16,20,.85);border:1px solid var(--border,#222328);
  font:700 10px Inter,sans-serif;letter-spacing:.4px;text-transform:uppercase;color:#fff;}
.shop-card-badge.is-off{color:#ff9a9a;border-color:rgba(255,120,120,.4);}
.shop-card-body{display:flex;flex-direction:column;gap:8px;padding:12px;flex:1;}
.shop-card-subs{display:flex;gap:5px;flex-wrap:wrap;}
.shop-chip{display:inline-block;padding:2px 7px;border-radius:999px;
  background:rgba(255,255,255,.06);color:var(--text-secondary,#C6C7CB);
  font:600 10px Inter,sans-serif;}
.shop-chip.is-accent{background:var(--accent-soft,rgba(214,51,46,.14));color:var(--accent,#D6332E);}
.shop-card-title{font:600 13px Inter,sans-serif;color:#fff;margin:0;line-height:1.35;}
.shop-card-desc{color:var(--text-muted,#8A8F98);font:400 12px Inter,sans-serif;margin:0;
  line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.shop-card-tags{display:flex;gap:5px;flex-wrap:wrap;}
.shop-card-tag{color:var(--text-muted,#8A8F98);font:500 11px Inter,sans-serif;}
.shop-card-foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;
  justify-content:space-between;gap:10px;flex-wrap:wrap;}
.shop-card-price{color:#d8bd7e;font:800 16px Inter,sans-serif;font-variant-numeric:tabular-nums;}
.shop-card-price small{display:block;color:var(--text-muted,#8A8F98);font:500 10px Inter,sans-serif;}
.shop-buy{background:var(--accent-fill,#A5201C);color:#fff;border:0;border-radius:7px;
  padding:8px 12px;font:600 12px Inter,sans-serif;cursor:pointer;}
.shop-buy[disabled]{background:rgba(255,255,255,.08);color:var(--text-muted,#8A8F98);cursor:not-allowed;}
.shop-card-admin{display:flex;gap:6px;padding:0 12px 12px;}
.shop-card-admin .shop-btn{flex:1;}

/* --- Кнопки редактора --- */
.shop-btn{background:var(--accent-fill,#A5201C);color:#fff;border:0;border-radius:8px;
  padding:9px 14px;font:600 12px Inter,sans-serif;cursor:pointer;}
.shop-btn.ghost{background:transparent;border:1px solid var(--border,#222328);color:var(--text-secondary,#C6C7CB);}
.shop-btn.danger{background:transparent;border:1px solid rgba(255,120,120,.4);color:#ff9a9a;}
.shop-btn[disabled]{opacity:.6;cursor:not-allowed;}

/* --- Форма редактора (в модалке) --- */
.shop-modal{max-width:620px;width:calc(100vw - 32px);max-height:88vh;overflow-y:auto;}
/* Кнопки формы — справа: действие по умолчанию читается как «в конце блока»,
   а не затеряно среди полей слева. */
.shop-modal .gs-modal-actions{justify-content:flex-end;}
.shop-form{display:grid;gap:14px;margin-top:14px;}
.shop-row{display:grid;gap:14px;grid-template-columns:1fr 1fr;}
.shop-row[hidden]{display:none;}
.shop-field{display:block;}
.shop-field>span{display:block;color:var(--text-secondary,#C6C7CB);font:500 12px Inter,sans-serif;margin-bottom:6px;}
.shop-field input[type=text],.shop-param-row input[type=text],.shop-field textarea{width:100%;background:var(--surface-2,#141519);
  border:1px solid var(--border,#222328);border-radius:8px;color:#fff;padding:9px 11px;
  font:400 13px Inter,sans-serif;}
.shop-field textarea{resize:vertical;min-height:76px;}
.shop-field input[type=text]:focus,.shop-param-row input[type=text]:focus,.shop-field textarea:focus{outline:none;border-color:var(--accent,#D6332E);}
.shop-hint{color:var(--text-muted,#8A8F98);font:400 11px Inter,sans-serif;margin-top:5px;}
.shop-param-row .shop-hint{grid-column:1/-1;}
.shop-inline-create{display:flex;gap:6px;margin-top:8px;}
.shop-inline-create input{flex:1;background:var(--surface-2,#141519);border:1px dashed var(--border,#222328);
  border-radius:8px;color:#fff;padding:8px 10px;font:400 12px Inter,sans-serif;}
.shop-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;min-height:24px;}
.shop-chip-btn{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;
  background:rgba(255,255,255,.07);border:1px solid var(--border,#222328);
  color:var(--text-secondary,#C6C7CB);font:600 11px Inter,sans-serif;cursor:pointer;}
.shop-chip-btn b{font-weight:700;color:var(--text-muted,#8A8F98);}
.shop-media{display:flex;gap:12px;align-items:flex-start;}
/* Превью в форме — те же пропорции 2:3, что и карточка,
   чтобы было видно обрезку ещё до сохранения. */
.shop-media-preview{width:104px;flex:0 0 auto;aspect-ratio:2/3;border-radius:10px;
  overflow:hidden;background:rgba(255,255,255,.04);border:1px solid var(--border,#222328);
  display:flex;align-items:center;justify-content:center;color:var(--text-muted,#8A8F98);}
.shop-media-preview img{width:100%;height:100%;object-fit:cover;}
.shop-media-preview svg{width:26px;height:26px;}
.shop-media-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.shop-err{color:#ff9a9a;font:500 12px Inter,sans-serif;min-height:16px;}
/* --- Параметры товара: строки ключ/значение с перетаскиванием --- */
.shop-param-section{background:var(--surface-2,#141519);border:1px solid var(--border,#222328);
  border-radius:10px;padding:12px 14px;}
.shop-param-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.shop-param-title{font:600 14px Inter,sans-serif;color:#fff;margin:0;}
.shop-param-add{font:600 11px Inter,sans-serif;color:#fff;
  background:var(--accent-fill,#A5201C);border:0;border-radius:7px;padding:5px 10px;cursor:pointer;}
.shop-param-add:disabled{opacity:.5;cursor:not-allowed;}
.shop-param-cols{display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr auto;margin-bottom:6px;}
.shop-param-cols span{color:var(--text-muted,#8A8F98);font:600 10px Inter,sans-serif;
  letter-spacing:.4px;text-transform:uppercase;}
.shop-param-row{display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr auto;align-items:start;
  margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border,#222328);}
.shop-param-row:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.shop-param-row input[type=text]{box-sizing:border-box;}
.shop-param-empty{padding:10px;border:1px dashed var(--border,#222328);border-radius:8px;
  color:var(--text-muted,#8A8F98);font:400 11px Inter,sans-serif;}
.shop-param-row:focus-within input[type=text]{border-color:var(--accent,#D6332E);}
.shop-param-del{font:600 14px #ff9a9a;background:none;border:0;padding:0 2px;cursor:pointer;
  line-height:1;color:#ff9a9a;}
.shop-param-del:hover{color:#ff6b6b;}
.shop-param-row.dragging{opacity:.6;}
.shop-param-row.drag-over{background:rgba(214,51,46,.1);}
.shop-param-err{color:#ff9a9a;font:400 11px Inter,sans-serif;min-height:16px;grid-column:1/-1;}
@media (max-width:720px){.shop-row{grid-template-columns:1fr;}}

/* Один редактор для всех типов товара; покупатель видит только условия выдачи. */
.shop-modal{max-width:1100px;width:calc(100vw - 40px);max-height:90vh;max-height:90dvh;padding:24px;}
.shop-modal [hidden],.shop-purchase-modal [hidden]{display:none!important;}
.shop-modal .shop-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;}
.shop-editor-section{display:grid;gap:14px;min-width:0;margin:0;padding:18px;background:var(--surface-2,#141519);border:1px solid var(--border,#292b32);border-radius:12px;}
.shop-editor-section h3{margin:0;color:var(--text,#f5f5f6);font:650 15px Inter,sans-serif;}
.shop-editor-wide,.shop-form>.shop-param-section,.shop-form>.shop-err,.shop-form>.gs-modal-actions{grid-column:1/-1;}
.shop-editor-section:has([name=privilegeFlags]){grid-column:1/-1;}
.shop-editor-section .shop-field{min-width:0;}
.shop-editor-section .shop-hint{line-height:1.6;margin:0;}
.shop-modal .shop-field input[type=text],.shop-modal .shop-field textarea,.shop-modal .shop-field select{box-sizing:border-box;min-width:0;}
.shop-modal .shop-field select{display:block;width:100%;background:var(--surface,#101116);border:1px solid var(--border,#292b32);border-radius:8px;padding:10px;color:var(--text,#eee);font:400 13px Inter,sans-serif;}
.shop-modal .shop-field select:focus-visible{outline:2px solid var(--accent,#D6332E);outline-offset:2px;}
.shop-modal .shop-inline-create{margin:0;}
.shop-location-tools{border-top:1px solid var(--border,#292b32);padding-top:12px;}
.shop-location-tools summary{color:var(--text-secondary,#c6c7cb);font-size:12px;cursor:pointer;}
.shop-location-tools>.shop-row{margin-top:14px;}
.shop-param-toolbar{display:flex;align-items:flex-end;gap:12px;}
.shop-param-list{min-width:0;}
.shop-param-toolbar>.shop-field{flex:1;}
.shop-param-toolbar .shop-param-add{padding:11px 14px;min-height:40px;}
.shop-param-group{min-width:0;border:0;border-top:1px solid var(--border,#292b32);padding:14px 0 0;margin:16px 0 0;}
.shop-param-group legend{color:var(--text-secondary,#c6c7cb);font:600 12px Inter,sans-serif;padding-right:10px;}
.shop-modal .shop-param-row{grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr) minmax(0,1fr) 24px;gap:10px;padding:8px 0 14px;margin:0 0 10px;}
.shop-param-choice input[type=text]{margin-top:8px;}
.shop-modal .shop-param-del{min-height:40px;margin-top:20px;font-size:23px;}
.shop-modal .shop-param-row .shop-hint{grid-column:1/-1;}
.shop-check{display:flex;align-items:center;gap:10px;color:var(--text-secondary,#c6c7cb);font:500 13px/1.5 Inter,sans-serif;cursor:pointer;overflow-wrap:anywhere;}
.shop-check .ui-check{flex:0 0 auto;}
.shop-form>.gs-modal-actions{position:sticky;bottom:-24px;background:var(--surface,#101116);padding:16px 0;margin:0;border-top:1px solid var(--border,#292b32);z-index:2;}
.shop-purchase-modal{width:calc(100vw - 32px);max-width:660px;max-height:90vh;max-height:90dvh;overflow-y:auto;box-sizing:border-box;}
.shop-purchase-summary{display:grid;gap:0;margin:18px 0;border:1px solid var(--border,#292b32);border-radius:10px;overflow:hidden;}
.shop-purchase-summary>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:12px 14px;border-bottom:1px solid var(--border,#292b32);}
.shop-purchase-summary>div:last-child{border:0;}
.shop-purchase-summary dt{color:var(--text-muted,#8a8f98);font-size:12px;}
.shop-purchase-summary dd{margin:0;color:var(--text,#eee);font-size:13px;font-weight:600;overflow-wrap:anywhere;}
.shop-recipient{display:grid;gap:14px;min-width:0;margin:18px 0;padding:16px;border:1px solid var(--border,#292b32);border-radius:10px;}
.shop-recipient legend{padding:0 6px;font-size:13px;font-weight:600;}
.shop-recipient .shop-check{align-items:flex-start;flex-wrap:wrap;}
.shop-recipient-target{padding:11px;border-radius:8px;background:var(--surface-2,#141519);color:var(--text,#eee);font-size:13px;font-weight:600;overflow-wrap:anywhere;}
.shop-purchase-warning{padding:16px;margin:18px 0;border:1px solid rgba(225,171,67,.45);border-radius:10px;background:rgba(225,171,67,.06);}
.shop-purchase-warning h3{margin:0 0 9px;color:#e6bd72;font:650 14px Inter,sans-serif;}
.shop-purchase-warning>div{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.65;}
.shop-purchase-modal>.shop-hint{line-height:1.65;}
.shop-purchase-modal .shop-err{line-height:1.6;margin-top:12px;}
.shop-purchase-modal .gs-modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:18px;}
.shop-privilege-rights{min-width:0;margin:10px 0;padding:12px;border:1px solid var(--border,#292b32);border-radius:8px;background:var(--surface,#101116);color:var(--text-secondary,#c6c7cb);font-size:12px;line-height:1.6;overflow-wrap:anywhere;}
.shop-privilege-rights code,.shop-flag-catalog code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--text,#eee);font-weight:650;}
.shop-privilege-rights>div{font-weight:600;}
.shop-privilege-rights ul{margin:7px 0 0;padding-left:18px;}
.shop-card .shop-privilege-rights{margin:6px 0;padding:9px;font-size:11px;}
.shop-card .shop-privilege-rights ul{max-height:145px;overflow-y:auto;overscroll-behavior:contain;padding-right:5px;}
.shop-flag-catalog{border-top:1px solid var(--border,#292b32);padding-top:12px;}
.shop-flag-catalog summary{font-size:12px;color:var(--text-secondary,#c6c7cb);cursor:pointer;}
.shop-flag-catalog dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:10px;margin:14px 0 0;}
.shop-flag-catalog dl>div{display:grid;grid-template-columns:25px minmax(0,1fr);gap:9px;align-items:start;padding:10px;border:1px solid var(--border,#292b32);border-radius:8px;}
.shop-flag-catalog dt{font-size:14px;}
.shop-flag-catalog dd{margin:0;min-width:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere;}
.shop-flag-catalog dd span{display:block;margin-top:4px;color:var(--text-muted,#8a8f98);font-size:11px;}
.shop-flag-catalog .is-forbidden{border-color:rgba(230,105,105,.4);background:rgba(230,105,105,.06);color:#ff9a9a;}
.shop-modal [name=privilegeFlags]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;}
.shop-purchase-rights{margin:18px 0;}
.shop-purchase-rights h3{margin:0;font-size:13px;}

/* Компактная витрина и полное описание товара. */
.shop-card-open{width:100%;padding:0;border:0;border-radius:0;color:var(--text,#fff);cursor:pointer;flex:0 0 auto;}
.shop-card-open:focus-visible{outline:2px solid var(--accent,#d6332e);outline-offset:-3px;}
.shop-card-expand{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.24);border-radius:9px;background:rgba(10,11,15,.8);color:#fff;transition:background .15s;}
.shop-card-expand svg{width:18px;height:18px;}
.shop-card-open:hover .shop-card-expand{background:var(--accent-fill,#a5201c);}
.shop-card-title{overflow-wrap:anywhere;}
.shop-card-meta{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap;color:var(--text-muted,#8a8f98);font:500 11px/1.5 Inter,sans-serif;}
.shop-card-term{padding:2px 7px;border:1px solid var(--border,#292b32);border-radius:6px;color:var(--text-secondary,#c6c7cb);}
.shop-card-benefits{display:grid;gap:5px;margin:2px 0 0;padding:0;list-style:none;color:var(--text-secondary,#c6c7cb);font:400 12px/1.5 Inter,sans-serif;}
.shop-card-benefits li{position:relative;padding-left:12px;overflow-wrap:anywhere;}
.shop-card-benefits li::before{content:"";position:absolute;left:0;top:.6em;width:4px;height:4px;border-radius:50%;background:var(--accent,#d6332e);}
.shop-card-foot{align-items:stretch;flex-direction:column;gap:12px;}
.shop-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
.shop-card-actions button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:34px;height:34px;padding:0 6px;line-height:1;}
.shop-card-actions .ghost:hover{border-color:var(--accent,#d6332e);color:var(--text,#fff);}
.shop-product-dialog{box-sizing:border-box;width:min(980px,calc(100vw - 32px));max-width:none;max-height:90vh;max-height:90dvh;margin:auto;padding:0;overflow:hidden;border:1px solid var(--border,#34363d);border-radius:18px;background:var(--surface,#0f1014);color:var(--text,#fff);box-shadow:0 24px 90px rgba(0,0,0,.6);}
.shop-product-dialog[open]{display:flex;flex-direction:column;animation:shop-product-enter .16s ease-out;}
.shop-product-dialog::backdrop{background:rgba(5,6,9,.78);backdrop-filter:blur(5px);}
.shop-product-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid var(--border,#292b32);}
.shop-product-head>div{min-width:0;}
.shop-product-eyebrow{color:var(--accent,#d6332e);font:650 10px/1.5 Inter,sans-serif;text-transform:uppercase;letter-spacing:.09em;}
.shop-product-head h2{margin:5px 0 0;overflow-wrap:anywhere;font:700 23px/1.3 Inter,sans-serif;outline:none;}
.shop-product-close{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--border,#34363d);border-radius:10px;background:var(--surface-2,#141519);color:var(--text-secondary,#c6c7cb);cursor:pointer;}
.shop-product-close svg{width:21px;height:21px;}
.shop-product-close:hover{color:#fff;border-color:var(--accent,#d6332e);}
.shop-product-dialog button:focus-visible{outline:2px solid var(--accent,#d6332e);outline-offset:3px;}
.shop-product-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
.shop-product-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;padding:24px;align-items:start;}
.shop-product-media{position:sticky;top:0;min-width:0;overflow:hidden;aspect-ratio:2/3;border:1px solid var(--border,#292b32);border-radius:12px;background:var(--surface-2,#141519);}
.shop-product-media img{width:100%;height:100%;display:block;object-fit:contain;}
.shop-product-no-image{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:100%;padding:16px;box-sizing:border-box;color:var(--text-muted,#8a8f98);font:400 12px/1.5 Inter,sans-serif;text-align:center;}
.shop-product-no-image svg{width:42px;height:42px;}
.shop-product-info{min-width:0;display:grid;gap:20px;}
.shop-product-facts{display:grid;gap:12px;margin:0;padding:0 0 18px;border-bottom:1px solid var(--border,#292b32);}
.shop-product-facts>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;}
.shop-product-facts dt{color:var(--text-muted,#8a8f98);font:400 12px/1.6 Inter,sans-serif;}
.shop-product-facts dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--text-secondary,#c6c7cb);font:600 12px/1.6 Inter,sans-serif;}
.shop-product-section h3{margin:0 0 10px;font:650 14px/1.5 Inter,sans-serif;}
.shop-product-description{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-secondary,#c6c7cb);font:400 13px/1.8 Inter,sans-serif;}
.shop-product-tags{display:flex;flex-wrap:wrap;gap:7px;}
.shop-product-tags .shop-chip{padding:4px 9px;overflow-wrap:anywhere;max-width:100%;box-sizing:border-box;font-size:11px;}
.shop-product-section .shop-privilege-rights{margin:0;font-size:13px;}
.shop-product-section .shop-privilege-rights ul{display:grid;gap:12px;}
.shop-right-description{display:block;margin-top:3px;color:var(--text-muted,#8a8f98);font-size:12px;line-height:1.6;}
.shop-product-params{display:grid;gap:8px;margin:0;padding-left:18px;color:var(--text-secondary,#c6c7cb);font:400 13px/1.65 Inter,sans-serif;overflow-wrap:anywhere;}
.shop-product-info .shop-purchase-warning{margin:0;}
.shop-product-note{margin:0;color:var(--text-muted,#8a8f98);font:400 12px/1.7 Inter,sans-serif;}
.shop-product-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--border,#292b32);background:var(--surface-2,#141519);}
.shop-product-footer .shop-card-price{font-size:22px;}
.shop-product-footer .shop-buy{min-width:150px;min-height:44px;padding:12px 24px;font-size:14px;}
@keyframes shop-product-enter{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@media(max-width:780px){
 .shop-product-dialog{width:calc(100vw - 20px);max-height:94vh;max-height:94dvh;border-radius:14px;}
 .shop-product-head{padding:16px;gap:12px;}
 .shop-product-head h2{font-size:19px;}
 .shop-product-layout{grid-template-columns:minmax(0,1fr);padding:16px;gap:22px;}
 .shop-product-media{position:static;width:min(100%,280px);justify-self:center;}
 .shop-product-facts>div{grid-template-columns:90px minmax(0,1fr);gap:10px;}
 .shop-product-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom));}
 .shop-product-footer .shop-buy{min-width:120px;}
 .shop-product-description{font-size:14px;line-height:1.75;}
}
@media(prefers-reduced-motion:reduce){.shop-product-dialog[open]{animation:none;}.shop-card-expand{transition:none;}}
@media(max-width:780px){
 .shop-modal{width:calc(100vw - 20px);padding:16px;}
 .shop-modal .shop-form{grid-template-columns:minmax(0,1fr);gap:12px;}
 .shop-editor-section{padding:14px;}
 .shop-form>.gs-modal-actions{bottom:-16px;}
 .shop-modal .shop-param-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 24px;}
 .shop-param-choice{grid-column:1/3;}
 .shop-modal .shop-param-row>.shop-field:nth-of-type(3){grid-column:2;grid-row:2;}
 .shop-modal .shop-param-row>.shop-field:nth-of-type(2){grid-column:1;grid-row:2;}
 .shop-modal .shop-param-del{grid-column:3;grid-row:1;margin-top:20px;}
 .shop-modal .shop-param-row input[type=text],.shop-modal .shop-field select{font-size:16px;padding:10px;}
 .shop-purchase-modal .shop-field input[type=text]{font-size:16px;box-sizing:border-box;}
 .shop-purchase-summary>div{grid-template-columns:85px minmax(0,1fr);gap:10px;}
 .shop-param-toolbar{flex-direction:column;align-items:stretch;}
}
