/* החנות — הקו הביתי. נשען על base.css; כאן רק מה שייחודי לחנות. */
.shop-head{padding-block:72px 28px}
.shop-head .in,.shop-wrap .in{max-width:var(--w-content);margin-inline:auto;padding-inline:var(--gutter)}
.shop-wrap{padding-block:12px 120px}
.shop-load{text-align:center;padding:40px 0}

.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,280px));justify-content:center;gap:20px}
.card-p{display:flex;flex-direction:column;height:100%;background:var(--bg-3);border-radius:var(--r-card);overflow:hidden;text-align:start}
.card-p .ph{all:unset;cursor:pointer;display:block;aspect-ratio:1;background:#fff}
.card-p .ph img{width:100%;height:100%;object-fit:contain;display:block}
.card-p .ph:focus-visible{box-shadow:inset var(--focus)}
.card-p .b{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;flex:1}
.card-p h2{font:600 1.1875rem/1.21 var(--font-display);letter-spacing:.012em;margin:0}
.card-p .line{color:var(--text-2);font-size:1rem;line-height:1.4;margin:0}
.card-p .meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px}
.card-p .price{font:600 1.1875rem/1 var(--font-display);font-variant-numeric:tabular-nums}
.card-p .size{color:var(--text-2);font-size:.9375rem}
.card-p .add{margin-top:12px;width:100%}
.card-p .out{color:var(--text-2);margin-top:12px;text-align:center}

.soon{text-align:center;max-width:var(--w-text);margin:0 auto}
.soon-list{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.soon-list li{border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 16px;font-weight:500}
.soon .form{margin-top:28px}

/* סל קבוע בתחתית */
[hidden]{display:none!important}
.bag{position:fixed;inset-inline:0;bottom:0;z-index:40;display:flex;justify-content:center;padding:12px 16px calc(12px + env(safe-area-inset-bottom));pointer-events:none}
.bag-btn{pointer-events:auto;display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 10px 8px 22px;padding-inline:22px 8px;border:0;border-radius:var(--r-pill);background:var(--neutral);color:#fff;font:400 1rem/1 var(--font-text);cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.bag-btn b{font-weight:600;font-variant-numeric:tabular-nums}
.bag-btn .go{background:var(--gold);color:#1d1d1f;border-radius:var(--r-pill);padding:10px 16px;font-weight:500;margin-inline-start:6px}

/* חלונות */
.dlg{border:0;border-radius:var(--r-card);padding:32px;width:min(860px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;color:var(--text);background:var(--bg)}
.dlg::backdrop{background:rgba(0,0,0,.45)}
.dlg .x{position:sticky;top:0;float:left;width:40px;height:40px;border:0;border-radius:50%;background:var(--bg-3);font-size:1.5rem;line-height:1;cursor:pointer;margin:-12px -12px 0 0;z-index:1}
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;clear:both}
.pd-img{background:#fff;border-radius:var(--r-card-sm);overflow:hidden;aspect-ratio:1}
.pd-img img{width:100%;height:100%;object-fit:contain}
.pd-price b{font:600 1.5rem/1 var(--font-display)}
.pre{white-space:pre-line}
.qty-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-pill)}
.qty button{width:44px;height:44px;border:0;background:none;font-size:1.25rem;cursor:pointer;border-radius:50%}
.qty output{min-width:28px;text-align:center;font-variant-numeric:tabular-nums}

.lines{list-style:none;margin:18px 0 0;padding:0;clear:both}
.lines li{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line-2)}
.lines img{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:10px;border:1px solid var(--line-2)}
.lines .n{font-weight:500}
.lines .rm{background:none;border:0;color:var(--text-2);text-decoration:underline;cursor:pointer;font:inherit;padding:0;margin-inline-start:8px}
.lines .qty button{width:36px;height:36px}
.lines .s{font-variant-numeric:tabular-nums;font-weight:500}
.sum{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:16px 0 0}
.sum dt{color:var(--text-2)}
.sum dd{margin:0;font-variant-numeric:tabular-nums;text-align:end}
.sum .tot{color:var(--text);font-weight:600;font-size:1.125rem}
#co .form{margin-top:20px;max-width:none}
.deliv{border:0;padding:0;margin:16px 0 0}
.deliv legend{margin-bottom:8px}
.opt{display:flex!important;gap:10px;align-items:center;border:1px solid var(--line);border-radius:var(--r-card-sm);padding:12px 14px;margin-bottom:8px;cursor:pointer}
.opt input{width:20px;height:20px;min-height:0;accent-color:var(--neutral);-webkit-appearance:radio;appearance:radio;margin:0;padding:0}
.done{text-align:center;padding:24px 0}
.done .mark{width:64px;height:64px;border-radius:50%;background:var(--gold);display:inline-flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:12px}

@media (max-width:734px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:734px){
  .shop-head{padding-block:48px 16px}
  .grid{gap:12px}
  .shop-wrap .in,.shop-head .in{padding-inline:16px}
  .card-p{border-radius:18px}
  .card-p .b{padding:12px 12px 14px}
  .card-p h2{font-size:1rem}
  .card-p .line{font-size:.875rem}
  .card-p .meta{flex-direction:column;align-items:flex-start;gap:2px}
  .card-p .add{min-height:40px;padding-inline:10px}
  .dlg{padding:22px 16px;width:100vw;max-width:100vw;max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0}
  .pd-grid{grid-template-columns:1fr;gap:16px}
  .form .row{grid-template-columns:1fr}
  .qty-row .btn{flex:1}
}
