#shop.section { padding:42px 4% 64px; }
.product-grid.popup-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px;align-items:start; }
.popup-summary-grid .product-card { width:100%;border:1px solid #ddd;padding:4px; }
.popup-summary-grid .product-media { width:100%;aspect-ratio:4/3;padding:0; }
.popup-summary-grid .product-body { padding:17px 0 0; }
.popup-summary-grid .product-title { min-height:2.4em;margin:10px 0 12px;font-size:22px;line-height:1.2; }
.popup-summary-grid .variant-line { flex-wrap:wrap; }
.popup-selected-size { display:flex;align-items:center;gap:16px;margin:26px 0; }
.popup-selected-size strong { font-size:13px;text-transform:uppercase; }
.popup-selected-size>span { font-weight:850; }
.popup-dialog { width:min(1120px,calc(100% - 40px));max-height:90dvh;padding:0;border:1px solid #bbb;color:#111;background:#fff; }
.popup-dialog::backdrop { background:rgba(0,0,0,.65); }
.popup-detail-grid { display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }
.popup-gallery { min-width:0;padding:16px;background:#f5f5f2; }
.popup-main-photo { display:block;width:100%;height:430px;object-fit:contain; }
.popup-gallery-controls { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px; }
.popup-gallery-controls button { min-height:44px;min-width:44px;padding:8px 12px;border:1px solid #999;background:#fff;color:#111;font-size:13px;font-weight:850; }
.popup-thumbs { display:flex;gap:8px;overflow-x:auto;margin-top:12px;padding-bottom:8px; }
.popup-thumb { width:66px;height:56px;flex:0 0 66px;padding:2px;border:2px solid transparent;background:#fff; }
.popup-thumb[aria-current="true"] { border-color:#111; }
.popup-thumb img { display:block;width:100%;height:100%;object-fit:cover; }
.popup-info { min-width:0;padding:30px; }
.popup-info h2 { min-height:2.2em;margin:12px 0 20px;font-size:30px;line-height:1.1;letter-spacing:0; }
.popup-info p { font-size:14px;line-height:1.6; }
.popup-info fieldset { padding:0;margin:26px 0;border:0; }
.popup-info legend { margin-bottom:14px;font-size:13px;font-weight:850;text-transform:uppercase; }
.popup-options { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.popup-option { position:relative;cursor:pointer; }
.popup-option input { position:absolute;opacity:0; }
.popup-option>span { min-height:52px;padding:12px 5px;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;font-size:14px;font-weight:850; }
.popup-option input:focus-visible+span { outline:3px solid #1565dd;outline-offset:3px; }
.popup-option .dot { width:13px;height:13px;flex:0 0 13px; }
.popup-price { display:flex;align-items:baseline;gap:10px;margin:20px 0;padding:16px;background:#f4f4f1; }
.popup-price strong { font-size:32px; }
.popup-price small { font-size:12px;color:#666; }
.popup-actions { display:grid;gap:10px; }
.popup-actions .card-btn { display:flex;align-items:center;justify-content:center;padding:14px;min-height:50px;text-align:center; }
.popup-dialog :is(button,a):focus-visible { outline:3px solid #1565dd;outline-offset:3px; }
@media(max-width:1050px) { .popup-main-photo { height:350px; } }
@media(max-width:760px) {
  #shop.section { padding:28px 18px 44px; }
  .product-grid.popup-summary-grid { grid-template-columns:minmax(0,572px); }
  .popup-summary-grid .product-title { min-height:0;font-size:20px; }
  .popup-dialog { width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border:0; }
  .popup-detail-grid { grid-template-columns:minmax(0,1fr); }
  .popup-gallery { padding:12px; }
  .popup-main-photo { height:44dvh; }
  .popup-info { padding:22px; }
  .popup-info h2 { font-size:26px; }
  .popup-colors { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
