/* Phase 1: product detail only. Shared catalog and checkout styles stay unchanged. */
.tech-store .detail-modern,
.tech-store .detail-gallery-modal {
    --detail-surface: #111c2d;
    --detail-soft: #17253a;
    --detail-text: #edf3fc;
    --detail-muted: #aabbd0;
    --detail-border: #2c3e55;
    --detail-blue: #73b9ff;
    --detail-success: #76dfac;
    --detail-danger: #ff9b91;
    color: var(--detail-text);
    font-family: Inter, sans-serif;
}
.tech-store.store-theme-liquid .detail-modern,
.tech-store.store-theme-liquid .detail-gallery-modal {
    --detail-surface: #fff;
    --detail-soft: #f3f6fa;
    --detail-text: #16243a;
    --detail-muted: #526278;
    --detail-border: #dce4ee;
    --detail-blue: #145bb8;
    --detail-success: #167446;
    --detail-danger: #b43227;
}
.detail-modern { min-width: 0; }
.detail-modern .detail-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; font-size: .82rem; }
.detail-modern .detail-breadcrumb a { color: var(--detail-muted); }
.detail-modern .detail-breadcrumb i { font-size: .55rem; }
.tech-store .detail-modern .store-detail-hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; gap: 28px; }
.tech-store .detail-modern :is(.store-detail-gallery, .store-detail-purchase, .store-detail-specifications, .store-detail-compatibility, .store-detail-information, .store-detail-related) {
    background: var(--detail-surface); border: 1px solid var(--detail-border); border-radius: 18px; box-shadow: 0 6px 24px #06152c08; backdrop-filter: none;
}
.tech-store .detail-modern .store-detail-gallery { padding: 18px; position: sticky; top: 100px; }
.tech-store .detail-modern .store-detail-purchase { padding: clamp(20px, 2.5vw, 34px); }
.tech-store .detail-modern .store-kicker { color: var(--detail-blue); font-family: inherit; letter-spacing: .08em; font-size: .75rem; }
.tech-store .detail-modern .store-detail-purchase h1 { color: var(--detail-text); font-size: clamp(1.45rem, 2.3vw, 2rem); line-height: 1.28; letter-spacing: -.035em; overflow-wrap: anywhere; }
.detail-modern .detail-image-button { display: block; width: 100%; padding: 0; background: none; border: 0; border-radius: 12px; cursor: zoom-in; }
.detail-modern .detail-image-button:disabled { cursor: default; }
.tech-store .detail-modern .store-detail-main-media.visores { display: grid; min-height: 0; aspect-ratio: 1; padding: 24px; background: #f8fafc; border: 0; border-radius: 12px; }
.tech-store .detail-modern .store-detail-main-media.visores::after { content: none; }
.tech-store .detail-modern #imagenVisor { height: 100%; max-height: 580px; width: 100%; min-height: 0; object-fit: contain; filter: none; transition: transform .2s ease; }
.detail-modern .detail-gallery-caption { display: flex; justify-content: space-between; gap: 12px; padding: 16px 0 4px; font-size: .75rem; color: var(--detail-muted); }
.tech-store .detail-modern .store-detail-thumbs { display: flex; overflow-x: auto; gap: 10px; padding: 4px; margin-top: 12px; }
.detail-modern .detail-thumb { flex: 0 0 70px; height: 70px; border: 2px solid var(--detail-border); border-radius: 10px; background: #f8fafc; padding: 6px; cursor: pointer; }
.detail-modern .detail-thumb.is-active { border-color: var(--detail-blue); }
.detail-modern .detail-thumb img { width: 100%; height: 100%; object-fit: contain; }
.tech-store .detail-modern .store-detail-meta { gap: 8px; }
.tech-store .detail-modern .store-detail-chip { font-family: inherit; font-size: .72rem; color: var(--detail-muted); background: var(--detail-soft); border-color: var(--detail-border); overflow-wrap: anywhere; }
/* Condición del producto (Nuevo / Usado / Remanufacturado / OEM / Abierto). */
.tech-store .detail-modern .store-detail-chip.store-condition.is-nuevo { color: #34d399; background: rgba(52, 211, 153, .1); border-color: rgba(52, 211, 153, .34); }
.tech-store .detail-modern .store-detail-chip.store-condition.is-usado { color: #fbbf24; background: rgba(251, 191, 36, .12); border-color: rgba(251, 191, 36, .42); font-weight: 700; }
.tech-store .detail-modern .store-detail-price-panel { background: var(--detail-soft); border-color: var(--detail-border); padding: 22px; gap: 10px; margin-top: 24px; }
.tech-store .detail-modern .store-promo-price { font-family: inherit; }
.tech-store .detail-modern .store-detail-price-panel .store-promo-price strong { font-family: inherit; color: var(--detail-text); font-size: clamp(2rem, 3vw, 2.7rem); letter-spacing: -.055em; text-shadow: none; }
.tech-store .detail-modern .store-promo-price :is(del, .store-promo-price-label) { color: var(--detail-muted); }
.tech-store .detail-modern .store-promo-price small { color: var(--detail-danger); }
.tech-store .detail-modern .store-detail-stock { font: 600 .83rem Inter, sans-serif; text-transform: none; letter-spacing: 0; }
.tech-store .detail-modern .is-available { color: var(--detail-success); }
.tech-store .detail-modern .is-unavailable { color: var(--detail-danger); }
.tech-store .detail-modern .store-detail-delivery { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; margin-top: 4px; padding-top: 13px; border-top: 1px solid var(--detail-border); color: var(--detail-muted); font-size: .76rem; line-height: 1.45; }
.tech-store .detail-modern .store-detail-delivery > i:first-child { color: var(--detail-blue); font-size: 1rem; }
.tech-store .detail-modern .store-detail-delivery > i:last-child { font-size: .65rem; }
.tech-store .detail-modern .store-detail-delivery strong { display: block; color: var(--detail-text); font-size: .8rem; }
.tech-store .detail-modern .store-detail-summary { margin-top: 18px; padding: 18px 20px; border: 1px solid var(--detail-border); border-radius: 12px; }
.tech-store .detail-modern .store-detail-summary-head { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; color: var(--detail-success); }
.tech-store .detail-modern .store-detail-summary-head h2 { margin: 0; color: var(--detail-text); font-size: .9rem; font-weight: 700; }
.tech-store .detail-modern .store-detail-summary ul { list-style: none; margin: 0; padding: 0; }
.tech-store .detail-modern .store-detail-summary li { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.25fr); gap: 12px; padding: 7px 0; border-top: 1px solid var(--detail-border); font-size: .78rem; }
.tech-store .detail-modern .store-detail-summary li span { color: var(--detail-muted); }
.tech-store .detail-modern .store-detail-summary li strong { color: var(--detail-text); font-weight: 600; overflow-wrap: anywhere; }
.tech-store .detail-modern .store-detail-summary > a { display: inline-flex; align-items: center; gap: 7px; margin-top: 11px; color: var(--detail-blue); font-size: .76rem; font-weight: 600; }
.tech-store .detail-modern .store-detail-buybox label { color: var(--detail-text); font: 600 .85rem Inter, sans-serif; text-transform: none; letter-spacing: 0; }
.tech-store .detail-modern .store-detail-buyrow { grid-template-columns: 132px minmax(0, 1fr); gap: 12px; }
.tech-store .detail-modern .store-detail-quantity-stepper { display: grid; grid-template-columns: 38px minmax(0,1fr) 38px; min-height: 48px; background: var(--detail-surface); border: 1px solid var(--detail-border); border-radius: 10px; overflow: hidden; }
.tech-store .detail-modern .store-detail-quantity-stepper button { display: grid; place-items: center; padding: 0; background: var(--detail-soft); color: var(--detail-text); border: 0; font-size: .68rem; }
.tech-store .detail-modern .store-detail-quantity-stepper button:disabled { color: var(--detail-muted); opacity: .45; cursor: not-allowed; }
.tech-store .detail-modern .store-detail-quantity { width: 100%; height: 100%; padding: 0 4px; background: var(--detail-surface); color: var(--detail-text); border: 0; border-inline: 1px solid var(--detail-border); border-radius: 0; text-align: center; appearance: textfield; -moz-appearance: textfield; }
.tech-store .detail-modern .store-detail-quantity::-webkit-inner-spin-button,
.tech-store .detail-modern .store-detail-quantity::-webkit-outer-spin-button { margin: 0; appearance: none; -webkit-appearance: none; }
.tech-store .detail-modern #agregarCarrito { font-size: .85rem; background: #1761c3; border-color: #1761c3; box-shadow: none; text-transform: none; letter-spacing: 0; }
.tech-store .detail-modern #agregarCarrito:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.tech-store .detail-modern :is(.store-detail-whatsapp, .store-detail-share-whatsapp) { min-height: 46px; font-family: inherit; font-size: .84rem; text-transform: none; letter-spacing: 0; border-radius: 10px; }
.tech-store .detail-modern .store-detail-whatsapp { background: transparent; color: var(--detail-success); border: 1px solid var(--detail-success); }
.tech-store .detail-modern .store-detail-share-whatsapp { background: transparent; color: var(--detail-muted); border-color: transparent; }
.detail-modern .payment-methods { padding: 22px 0; margin-top: 20px; border-block: 1px solid var(--detail-border); }
.detail-modern .detail-payment-heading { display: flex; align-items: center; gap: 9px; }
.detail-modern .detail-payment-heading h2 { margin: 0; font-size: .88rem; font-weight: 700; }
.detail-modern .detail-payment-heading > span { margin-left: auto; font-weight: 700; color: var(--detail-blue); }
.detail-modern .detail-payment-options { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.detail-modern .detail-payment-options span { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid var(--detail-border); border-radius: 7px; font-size: .8rem; }
.detail-modern .payment-methods p { font-size: .78rem; color: var(--detail-muted); line-height: 1.65; margin-bottom: 8px; }
.detail-modern .payment-methods a { font-size: .78rem; color: var(--detail-blue); }
.tech-store .detail-modern .store-detail-confidence { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 22px; }
.tech-store .detail-modern .store-detail-confidence-item { padding: 0; background: none; border: 0; align-items: start; }
.tech-store .detail-modern .store-detail-confidence-item > i { color: var(--detail-blue); }
.tech-store .detail-modern .store-detail-confidence-item strong { color: var(--detail-text); font-size: .8rem; }
.tech-store .detail-modern .store-detail-confidence-item :is(span,a) { display: block; color: var(--detail-muted); font-size: .72rem; line-height: 1.6; }
.tech-store .detail-modern .store-detail-social { color: var(--detail-muted); }
.tech-store .detail-modern :is(.store-detail-section-head h2, .store-detail-information h2) { color: var(--detail-text); font-size: 1.45rem; letter-spacing: -.025em; }
.tech-store .detail-modern :is(.store-detail-section-head p, .store-detail-description, .store-spec-card p, .store-compatibility-card p) { color: var(--detail-muted); }
.tech-store .detail-modern .store-spec-bento { display: block; border: 1px solid var(--detail-border); border-radius: 12px; overflow: hidden; }
.tech-store .detail-modern .store-spec-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 18px; min-height: 0; padding: 16px 20px; border: 0; border-radius: 0; background: var(--detail-surface); }
.tech-store .detail-modern .store-spec-card:nth-child(odd) { background: var(--detail-soft); }
.tech-store .detail-modern .store-spec-card:hover { transform: none; box-shadow: none; }
.tech-store .detail-modern .store-spec-card strong { font-size: .84rem; text-transform: none; letter-spacing: 0; color: var(--detail-text); }
.tech-store .detail-modern .store-spec-card p { margin: 0; font: 400 .85rem/1.6 Inter, sans-serif; overflow-wrap: anywhere; }
.tech-store .detail-modern .store-detail-information { grid-template-columns: minmax(0,1fr); }
.tech-store .detail-modern .store-detail-description { font-size: .95rem; line-height: 1.85; overflow-wrap: anywhere; overflow-x: auto; }
.tech-store .detail-modern .store-detail-description-media { background: var(--detail-soft); min-height: 0; }
.detail-modern #descripcionProducto { width: auto; max-width: 100%; height: auto; }
.tech-store .detail-modern .store-compatibility-card { background: var(--detail-soft); border-color: var(--detail-border); }
.tech-store .detail-modern .store-compatibility-card strong { color: var(--detail-text); }
.tech-store .detail-modern .store-related-card { background: var(--detail-surface); border-color: var(--detail-border); }
.tech-store .detail-modern .store-related-copy h3 { color: var(--detail-text); }
.tech-store .detail-modern .store-related-copy .store-promo-price strong { color: var(--detail-text); }
.tech-store .detail-modern .store-related-media { background: #f8fafc; }
.detail-modern :is(a,button,input):focus-visible, .detail-gallery-modal :is(a,button):focus-visible { outline: 3px solid var(--detail-blue); outline-offset: 4px; }
.tech-store .detail-gallery-modal :is(.store-detail-modal, .bodyGallery.visores) { background: var(--detail-surface); border-color: var(--detail-border); }
.tech-store .detail-gallery-modal .imagesGallery { width: 100%; height: 72vh; object-fit: contain; background: #f8fafc; }
.tech-store .detail-gallery-modal :is(.carousel-control-prev,.carousel-control-next) { width: 44px; height: 44px; top: 50%; background: #16243a; color: white; opacity: 1; border-radius: 50%; }
.tech-store .detail-gallery-modal .store-detail-modal-close { z-index: 5; min-width: 44px; min-height: 44px; background: var(--detail-surface); color: var(--detail-text); }
@media (hover: hover) { .detail-image-button:not(:disabled):hover #imagenVisor { transform: scale(1.045); } }
@media (max-width: 1024px) {
    .tech-store .detail-modern .store-detail-hero { grid-template-columns: minmax(0,1fr); gap: 20px; }
    .tech-store .detail-modern .store-detail-gallery { position: static; }
    .tech-store .detail-modern .store-detail-main-media { max-height: 540px; }
}
@media (max-width: 600px) {
    .tech-store .detail-modern .store-detail-gallery { padding: 12px; }
    .tech-store .detail-modern .store-detail-purchase { padding: 20px 16px; }
    .tech-store .detail-modern .store-detail-price-panel { padding: 18px; }
    .tech-store .detail-modern .store-detail-buyrow { grid-template-columns: 124px minmax(0,1fr); gap: 8px; }
    .tech-store .detail-modern #agregarCarrito { padding-inline: 8px; font-size: .78rem; }
    .tech-store .detail-modern .store-spec-card { padding: 14px; gap: 12px; }
    .tech-store .detail-modern .store-compatibility-grid { grid-template-columns: minmax(0,1fr); }
    .tech-store .detail-modern .store-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    .detail-modern *, .detail-gallery-modal * { transition: none; animation: none; scroll-behavior: auto; }
}
.tech-store .detail-modern .store-promo-conditions { margin-top: 20px; background: var(--detail-soft); border-color: var(--detail-border); }
.tech-store .detail-modern .store-promo-conditions-head i { color: var(--detail-blue); background: transparent; }
.tech-store .detail-modern .store-promo-conditions-head span { color: var(--detail-blue); }
.tech-store .detail-modern .store-promo-offers article { background: var(--detail-surface); border-color: var(--detail-border); }
.tech-store .detail-modern .store-promo-offers article > span { color: var(--detail-danger); background: transparent; }
