.store-detail-image { width:100%; max-height:480px; object-fit:contain; object-position:center; display:block; background:#f8f9fa; }
.product-detail { --product-border:#e3e8ef; --product-muted:#667085; }
.product-detail-layout { display:grid; grid-template-columns:minmax(0, 1.35fr) minmax(320px, 1fr); gap:2rem; align-items:start; }
.product-detail-media, .product-summary { min-width:0; border:1px solid var(--product-border); border-radius:16px; background:#fff; box-shadow:0 10px 30px rgba(16,24,40,.06); overflow:hidden; }
.product-summary { padding:clamp(1.25rem, 3vw, 2rem); }
.product-summary-category { display:inline-flex; align-items:center; padding:.35rem .7rem; border:1px solid #cfe2ff; border-radius:999px; color:#084298; background:#e7f1ff; font-size:.78rem; font-weight:600; }
.product-summary-title { margin:.9rem 0 .65rem; color:#101828; font-size:clamp(1.75rem, 3vw, 2.5rem); line-height:1.15; }
.product-summary-lead { margin:0 0 1.25rem; color:var(--product-muted); font-size:1rem; line-height:1.65; }
.product-price { display:flex; align-items:flex-start; flex-direction:column; gap:.2rem; margin-bottom:1rem; color:#0d6efd; font-size:clamp(1.8rem, 3vw, 2.35rem); font-weight:700; line-height:1.15; }
.product-price-secondary { color:var(--product-muted); font-size:1rem; font-weight:600; }
.product-availability { display:inline-flex; align-items:center; gap:.45rem; padding:.4rem .7rem; border-radius:999px; font-size:.82rem; font-weight:600; }
.product-availability::before { width:.5rem; height:.5rem; border-radius:50%; background:currentColor; content:""; }
.product-availability.is-available { color:#146c43; background:#d1e7dd; }
.product-availability.is-unavailable { color:#842029; background:#f8d7da; }
.product-facts { margin:1.5rem 0 0; padding:1.1rem 0; border-top:1px solid var(--product-border); border-bottom:1px solid var(--product-border); }
.product-facts-title { margin:0 0 .75rem; color:#344054; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.product-facts-list { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.7rem 1.25rem; margin:0; }
.product-fact { min-width:0; }
.product-fact dt { margin-bottom:.15rem; color:var(--product-muted); font-size:.75rem; font-weight:500; }
.product-fact dd { margin:0; color:#1d2939; font-size:.9rem; font-weight:600; overflow-wrap:anywhere; }
.product-purchase { margin-top:1.5rem; }
.product-purchase-row { display:flex; align-items:end; gap:.75rem; }
.product-quantity { flex:0 0 88px; }
.product-quantity .form-control { min-height:48px; text-align:center; }
.product-add-button { min-height:48px; flex:1 1 auto; font-weight:700; box-shadow:0 5px 14px rgba(13,110,253,.2); }
.product-add-button:hover { transform:translateY(-1px); box-shadow:0 7px 18px rgba(13,110,253,.28); }
.product-add-button:focus-visible, .product-quantity .form-control:focus-visible { outline:3px solid rgba(13,110,253,.28); outline-offset:2px; }
.product-purchase-note { margin:.75rem 0 0; color:var(--product-muted); font-size:.82rem; }
.product-detail-sections { margin-top:2rem; border:1px solid var(--product-border); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(16,24,40,.04); }
.product-detail-section { padding:clamp(1.25rem, 3vw, 2rem); }
.product-detail-section + .product-detail-section { border-top:1px solid var(--product-border); }
.product-detail-section h2 { margin:0 0 1rem; color:#1d2939; font-size:1.2rem; }
.product-description { color:#344054; line-height:1.75; overflow-wrap:anywhere; }
.product-additional-list { display:grid; grid-template-columns:minmax(130px, .35fr) 1fr; margin:0; }
.product-additional-list dt, .product-additional-list dd { margin:0; padding:.65rem 0; border-bottom:1px solid #eef1f5; }
.product-additional-list dt { color:var(--product-muted); font-weight:500; }
.product-additional-list dd { color:#1d2939; font-weight:600; overflow-wrap:anywhere; }
.product-additional-list dt:last-of-type, .product-additional-list dd:last-of-type { border-bottom:0; }
@media (max-width:991.98px) { .product-detail-layout { grid-template-columns:1fr; gap:1.25rem; } }
@media (max-width:575.98px) {
  .product-summary { padding:1.15rem; }
  .product-facts-list { grid-template-columns:1fr; }
  .product-purchase-row { align-items:stretch; flex-direction:column; }
  .product-quantity { width:100%; flex-basis:auto; }
  .product-quantity .form-control { text-align:left; }
  .product-add-button { width:100%; }
  .product-additional-list { grid-template-columns:1fr; }
  .product-additional-list dt { padding-bottom:.1rem; border-bottom:0; }
  .product-additional-list dd { padding-top:.1rem; }
}

