/* Store components only. The Rafaha theme remains unchanged. */
.store-actions { display: flex; align-items: center; gap: 16px; padding-block: 0 16px; }
#store-search { display: flex; gap: 8px; flex: 1; }
#store-search input { flex: 1; min-width: 0; padding: 10px 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-strong); }
.catalog-filters { display: flex; gap: 16px; flex-wrap: wrap; align-items: end; }
.catalog-filters label { display: grid; gap: 6px; }
.catalog-filters select,.store-dialog input { padding: 10px; border: 1px solid var(--line); border-radius: 12px; color: var(--text); background: white; }
.store-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.store-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 22px; display: flex; flex-direction: column; gap: 12px; box-shadow: var(--shadow-sm); }
.store-card h3 { margin: 0; font-size: 1.1rem; overflow-wrap: anywhere; }
.store-card p { margin: 0; color: var(--muted); }
.store-card-actions { display:grid; gap:8px; margin-top:auto; padding-top:8px; }
.store-card-actions .btn { width:100%; }
.store-price { color:var(--primary-deep); font-size:1.2rem; }
.store-rating { display:flex; flex-wrap:wrap; align-items:center; gap:8px; width:fit-content; min-height:44px; border-radius:6px; }
.store-rating:hover .store-rating-label { text-decoration:underline; }
.store-rating-stars { position:relative; display:inline-block; direction:ltr; unicode-bidi:isolate; color:#8d6b34; font:22px/1.2 Arial,sans-serif; letter-spacing:1px; white-space:nowrap; }
.store-rating-fill { position:absolute; top:0; left:0; overflow:hidden; color:#a96915; }
.store-rating-label { color:var(--muted); font-size:.8rem; }
.store-detail-actions { display:flex; flex-wrap:wrap; gap:10px; margin-block:12px 20px; }
.product-symbol { color: var(--primary); background: var(--surface-soft); border-radius: 14px; padding: 18px; font-size: .9rem; }
.store-pages { display: flex; gap: 16px; justify-content: center; align-items: center; margin-top: 24px; }
.store-dialog { width: min(680px,calc(100% - 32px)); max-height: 85vh; overflow: auto; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface-strong); color: var(--text); box-shadow: var(--shadow-lg); }
.store-dialog::backdrop { background: #123d32aa; }
.dialog-close { float: inline-end; padding: 4px 14px; font-size: 1.6rem; border: 0; background: var(--surface-soft); border-radius: 12px; cursor: pointer; }
.store-dialog h2 { padding-inline-end: 45px; }
.store-dialog dt { color: var(--muted); }
.store-dialog dd { margin: 0 0 12px; }
.cart-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; border-bottom: 1px solid var(--line); padding-block: 16px; }
.cart-row strong { flex: 1; min-width: 180px; }
.cart-row input { width: 85px; }
.store-message { position: fixed; bottom: 24px; inset-inline: 24px; width: fit-content; margin-inline: auto; padding: 14px 24px; background: var(--primary-deep); color: white; border-radius: 16px; z-index: 1500; }
.store-dialog .btn:disabled { opacity: .5; }
#catalog { scroll-margin-top: 175px; }
@media(max-width:960px) { .store-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .store-grid { grid-template-columns: 1fr; } .store-actions { flex-wrap: wrap; } #store-search { width: 100%; flex-basis: 100%; } .catalog-filters label { width: 100%; } .store-dialog { padding: 20px; } }

#cart-whatsapp[hidden] { display: none; }
.store-actions .btn-secondary,.catalog-filters .btn-secondary,.store-card .btn-secondary,.store-pages .btn-secondary,.store-dialog .btn-secondary { background: var(--surface-soft); color: var(--primary-deep); border: 1px solid var(--line); }
.store-actions .btn-secondary:hover,.catalog-filters .btn-secondary:hover,.store-card .btn-secondary:hover,.store-pages .btn-secondary:hover,.store-dialog .btn-secondary:hover { background: var(--accent-soft); }

.store-product-image { width:100%; height:200px; object-fit:contain; border-radius:14px; background:var(--surface-strong); }
.store-product-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:16px; margin-bottom:20px; }
.store-detail-image { width:100%; height:240px; object-fit:contain; border-radius:14px; }
.store-product-description { white-space:pre-wrap; overflow-wrap:anywhere; }
.store-variant-list { display:grid; gap:12px; margin-block:12px 20px; }
.store-variant-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:16px; align-items:center; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.store-variant-info { display:grid; gap:4px; min-width:0; }
.store-variant-info strong,.store-variant-info small { overflow-wrap:anywhere; }
.store-variant-info span { color:var(--primary-deep); font-weight:700; }
.store-variant-info small { color:var(--muted); }
.store-variant-quantity { display:grid; gap:4px; color:var(--muted); font-size:.85rem; }
.store-variant-quantity input { width:88px; }
.store-variant-total { min-width:92px; text-align:end; font-weight:700; }
.store-variant-submit { width:100%; }
@media(max-width:600px) { .store-variant-row { grid-template-columns:minmax(0,1fr) auto; } .store-variant-info { grid-column:1 / -1; } }
