/* Cabecera persistente y ficha de producto ampliada */
#cabecera-dinamica { position: sticky; top: 0; z-index: 90; display: block; box-shadow: 0 8px 28px rgba(20,22,17,.07); }
.logo strong { font: inherit; letter-spacing: inherit; }
.icono-carrito { display: block; width: 24px; height: 24px; pointer-events: none; }
.accion-carrito b { display: grid; place-items: center; }
.accion-carrito.tiene-items { color: var(--primario); }
.accion-carrito.activo { background: var(--superficie-2); color: var(--primario); }
.accion-carrito i { transition: transform .18s ease; }
.accion-carrito.tiene-items i { transform: scale(1.08); }
.detalle-producto { display: block; }
.header-principal { position: relative; z-index: 3; }
.nav-categorias { position: relative; top: auto; z-index: 2; }
.producto-detalle-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); gap: 46px; }
.galeria-producto { display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 12px; align-self: start; }
.miniaturas-producto { display: grid; align-content: start; gap: 9px; max-height: 650px; overflow-y: auto; scrollbar-width: thin; }
.miniatura-producto { width: 100%; aspect-ratio: 1; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 11px; background: var(--superficie-2); cursor: pointer; }
.miniatura-producto.activa { border-color: var(--primario); }
.miniatura-producto img { width: 100%; height: 100%; object-fit: cover; }
.imagen-producto-principal { position: relative; height: 650px; overflow: hidden; border-radius: 18px; background: var(--superficie-2); }
.imagen-producto-principal img { width: 100%; height: 100%; object-fit: cover; transition: opacity .18s, transform .3s; }
.imagen-producto-principal:hover img { transform: scale(1.025); }
.contador-galeria { position: absolute; right: 13px; bottom: 13px; padding: 6px 10px; border-radius: 99px; background: rgba(20,20,18,.78); color: #fff; font-size: 10px; }
.detalle-info-ampliado { padding: 4px 8px 4px 0; }
.detalle-info-ampliado h1 { margin: 12px 0 10px; font-size: clamp(32px,3.2vw,48px); line-height: 1.04; letter-spacing: -.045em; }
.producto-sku { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 10px; }
.producto-resumen { color: var(--muted); font-size: 14px; line-height: 1.7; }
.producto-stock { display: inline-flex; align-items: center; gap: 6px; margin: 4px 0 16px; padding: 7px 10px; border-radius: 8px; background: #e8f6ee; color: #187046; font-size: 10px; font-weight: 800; }
.tema-oscuro .producto-stock { background: #163425; color: #72d9a5; }
.grupo-opcion { margin: 18px 0; }
.grupo-opcion-titulo { display: flex; justify-content: space-between; margin-bottom: 9px; font-size: 12px; }
.grupo-opcion-titulo span { color: var(--muted); font-size: 10px; }
.valores-opcion { display: flex; flex-wrap: wrap; gap: 8px; }
.opcion-producto { min-width: 48px; min-height: 40px; border: 1.5px solid var(--borde); border-radius: 10px; background: var(--superficie); color: var(--texto); padding: 8px 12px; cursor: pointer; font-size: 11px; }
.opcion-producto:hover,.opcion-producto.activa { border-color: var(--primario); box-shadow: 0 0 0 2px rgba(255,59,24,.08); }
.opcion-producto:disabled { opacity: .38; cursor: not-allowed; text-decoration: line-through; }
.muestra-color { display: inline-block; width: 13px; height: 13px; margin-right: 6px; border: 1px solid rgba(0,0,0,.14); border-radius: 50%; vertical-align: -2px; }
.detalle-compra-fila { display: flex; align-items: end; gap: 12px; margin-top: 20px; }
.detalle-compra-fila>div:first-child { flex: 0 0 auto; }
.detalle-compra-fila .boton { flex: 1; }
.mensaje-opciones { min-height: 18px; margin: 7px 0 0; color: var(--primario); font-size: 10px; }
.servicios-producto { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 22px; }
.servicios-producto article { padding: 12px; border: 1px solid var(--borde); border-radius: 11px; background: var(--superficie-2); }
.servicios-producto b,.servicios-producto span { display: block; }
.servicios-producto b { margin-bottom: 4px; font-size: 10px; }
.servicios-producto span { color: var(--muted); font-size: 9px; line-height: 1.35; }
.informacion-producto { max-width: var(--ancho); margin: 28px auto 70px; border: 1px solid var(--borde); border-radius: 20px; background: var(--superficie); overflow: hidden; }
.tabs-informacion { display: flex; gap: 3px; padding: 8px; border-bottom: 1px solid var(--borde); overflow-x: auto; }
.tabs-informacion button { flex: 1; min-width: 125px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); padding: 13px; cursor: pointer; font-size: 11px; font-weight: 800; }
.tabs-informacion button.activo { background: var(--superficie-2); color: var(--texto); }
.panel-informacion { display: none; padding: 30px; }
.panel-informacion.activo { display: block; }
.panel-informacion h2 { margin-top: 0; font-size: 24px; }
.panel-informacion p { max-width: 900px; color: var(--muted); line-height: 1.8; }
.lista-caracteristicas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; padding: 0; list-style: none; }
.lista-caracteristicas li { display: flex; gap: 9px; padding: 10px 0; border-bottom: 1px solid var(--borde); font-size: 12px; }
.lista-caracteristicas li:before { content: "✓"; color: var(--verde); font-weight: 900; }
.tabla-especificaciones { width: 100%; min-width: 0; border-collapse: collapse; }
.tabla-especificaciones td { padding: 13px; border-bottom: 1px solid var(--borde); font-size: 12px; }
.tabla-especificaciones td:first-child { width: 34%; color: var(--muted); }
.opciones-item-carrito { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0; }
.opciones-item-carrito span { padding: 4px 7px; border-radius: 6px; background: var(--superficie-2); color: var(--muted); font-size: 9px; }
.cuenta-bloques { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 20px; }
.cuenta-bloque { padding: 17px; border: 1px solid var(--borde); border-radius: 13px; }
.cuenta-bloque h4 { margin: 0 0 8px; }
.cuenta-bloque p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.timeline-pedido { margin: 18px 0; padding-left: 17px; border-left: 2px solid var(--borde); }
.timeline-pedido div { position: relative; padding: 0 0 16px 13px; }
.timeline-pedido div:before { content: ""; position: absolute; left: -19px; top: 2px; width: 9px; height: 9px; border: 2px solid var(--superficie); border-radius: 50%; background: var(--primario); }
.timeline-pedido strong,.timeline-pedido small { display: block; }
.timeline-pedido small { margin-top: 3px; color: var(--muted); }

@media (max-width: 1100px) {
  .informacion-producto { margin-left: 18px; margin-right: 18px; }
  .producto-detalle-grid { gap: 25px; }
  .imagen-producto-principal { height: 550px; }
}

/* Pago completo, confirmación y soporte del cliente */
.pago-checkout-lista { display: grid; gap: 10px; }
.opcion-pago-completa { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 14px; border: 1.5px solid var(--borde); border-radius: 13px; cursor: pointer; }
.opcion-pago-completa:has(input:checked) { border-color: #21835c; background: rgba(33,131,92,.07); box-shadow: 0 0 0 3px rgba(33,131,92,.12); }
.opcion-pago-completa>span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--superficie-2); font-weight: 900; }
.opcion-pago-completa small { display: block; margin-top: 4px; color: var(--muted); }
.panel-pago-dinamico { margin-top: 12px; padding: 16px; border: 1px solid var(--borde); border-radius: 13px; background: var(--superficie-2); }
.cuentas-transferencia { display: grid; gap: 9px; }
.cuenta-transferencia { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--borde); border-radius: 11px; background: var(--superficie); cursor: pointer; }
.cuenta-transferencia:has(input:checked) { border-color: #21835c; background: rgba(33,131,92,.06); box-shadow: 0 0 0 2px rgba(33,131,92,.1); }
.cuenta-transferencia strong,.cuenta-transferencia small { display: block; }
.cuenta-transferencia small { margin-top: 4px; color: var(--muted); line-height: 1.45; }
.panel-pago-dinamico>label,.panel-pago-dinamico .dos-columnas>label { display: grid; gap: 7px; min-width: 0; margin-top: 12px; font-size: 11px; font-weight: 800; }
.panel-pago-dinamico input:not([type="radio"]):not([type="checkbox"]),.panel-pago-dinamico select,.panel-pago-dinamico textarea { width: 100%; min-height: 44px; padding: 11px 12px; border: 1.5px solid var(--borde); border-radius: 10px; background: var(--superficie); color: var(--texto); outline: 0; }
.panel-pago-dinamico input:focus,.panel-pago-dinamico textarea:focus,.panel-pago-dinamico select:focus { border-color: var(--primario); box-shadow: 0 0 0 3px rgba(255,59,24,.1); }
.panel-pago-dinamico input[type="file"] { padding: 8px; }
.pago-seguridad { display: flex; gap: 9px; padding: 12px; border-radius: 10px; background: #edf8ef; color: #235d2e; font-size: 11px; line-height: 1.5; }
.flujo-confirmacion { display: grid; gap: 15px; max-width: 700px; margin: 30px auto; text-align: left; }
.flujo-confirmacion .estado-pago { padding: 16px; border: 1px solid var(--borde); border-radius: 13px; background: var(--superficie); }
.modal { max-height: calc(100dvh - 32px); overflow-y: auto; }
.modal .formulario label { min-width: 0; }
.modal .formulario input,.modal .formulario select,.modal .formulario textarea { max-width: 100%; }
.soporte-cliente { display: grid; grid-template-columns: minmax(250px,35%) 1fr; gap: 14px; }
.soporte-cliente-lista,.soporte-cliente-chat { min-width: 0; padding: 14px; border: 1px solid var(--borde); border-radius: 13px; background: var(--superficie); }
.soporte-cliente-lista button { width: 100%; padding: 12px; border: 0; border-bottom: 1px solid var(--borde); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.chat-historial { display: flex; flex-direction: column; gap: 9px; max-height: 400px; overflow-y: auto; padding: 10px; }
.chat-historial .mensaje-cliente { align-self: flex-end; background: var(--primario); color: white; }
.chat-historial .mensaje-soporte { align-self: flex-start; background: var(--superficie-2); }
.chat-historial article { max-width: 82%; padding: 10px 12px; border-radius: 12px; }
@media(max-width:700px){.opcion-pago-completa{grid-template-columns:auto 1fr}.cuenta-transferencia{grid-template-columns:auto 1fr}.soporte-cliente{grid-template-columns:1fr}.modal-fondo{padding:0;align-items:flex-end}.modal{width:100%;max-height:96dvh;border-radius:18px 18px 0 0}}
@media (max-width: 760px) {
  #cabecera-dinamica .barra-anuncio { display: none; }
  .producto-detalle-grid { display: block; }
  .galeria-producto { grid-template-columns: 1fr; }
  .miniaturas-producto { grid-row: 2; grid-template-columns: repeat(5,72px); overflow-x: auto; overflow-y: hidden; margin-top: 9px; }
  .imagen-producto-principal { height: 430px; }
  .detalle-info-ampliado { padding: 19px 8px 6px; }
  .detalle-info-ampliado h1 { font-size: 30px; }
  .detalle-compra-fila { position: sticky; bottom: 68px; z-index: 12; margin: 18px -8px 0; padding: 10px 8px; border-top: 1px solid var(--borde); background: var(--superficie); }
  .servicios-producto { grid-template-columns: 1fr; }
  .informacion-producto { margin: 18px 10px 45px; }
  .panel-informacion { padding: 19px; }
  .lista-caracteristicas,.cuenta-bloques { grid-template-columns: 1fr; }
  .tabs-informacion button { min-width: 110px; }
  .nav-movil .icono-carrito { width: 21px; height: 21px; }
}
@media (max-width: 390px) {
  .imagen-producto-principal { height: 360px; }
  .miniaturas-producto { grid-template-columns: repeat(5,62px); }
  .producto-sku { display: grid; }
}

/* Pedidos, estados y tarjetas procesadas por pasarela */
.estado.cancelado{background:#ffe2dd!important;color:#b42318!important}.estado.pendiente{background:#fff0c9!important;color:#8b5b00!important}
.modal-pedido-cliente{width:min(900px,100%)}
.item-pedido-cliente{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px}.item-pedido-cliente img{width:52px;height:52px;object-fit:cover;border-radius:9px;background:var(--superficie-2)}
.resumen-pedido-cliente{width:min(430px,100%);margin:18px 0 0 auto}.resumen-pedido-cliente>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--borde)}.resumen-pedido-cliente .total{font-size:18px;padding-top:13px}
.boton.peligro{border-color:#e8aaa0;color:#b42318}.alerta-pago{padding:10px;border-radius:9px;background:#fff0ed;color:#a52e20}.tarjeta-azul{margin-top:12px;padding:15px;border:1px solid var(--borde);border-radius:12px;background:var(--superficie)}
@media(max-width:600px){.item-pedido-cliente{grid-template-columns:44px minmax(0,1fr)}.item-pedido-cliente img{width:44px;height:44px}.item-pedido-cliente>strong{grid-column:2}.modal-pedido-cliente{border-radius:16px 16px 0 0}}

/* Carrito, contadores y opiniones verificadas */
.icono-carrito-vacio{display:block;width:64px;height:64px;margin:auto;color:var(--primario)}
.carrito-vacio>span{display:block}
#contador-favoritos-cuenta{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:auto;padding:0 5px;border-radius:99px;background:var(--primario);color:#fff;font-size:9px;font-style:normal}
#contador-favoritos-cuenta:not(.visible),#contador-favoritos-movil:not(.visible){display:none}
.menu-cuenta nav button{display:flex;align-items:center;gap:6px}
.aviso-resena{max-width:260px;text-align:right;line-height:1.45}
.opinar-compra{display:block;margin-top:7px;color:var(--primario);font-weight:800}
.resumen-pedido-cliente small,.detalle-impuesto-orden{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-weight:400}
.pedido-cuenta-fila>div:last-child{white-space:nowrap}
.linea-resumen>span>small{display:block;max-width:230px;margin-top:3px;color:var(--muted);font-size:9px;font-weight:500;line-height:1.35}
.opinion-propia-pendiente{margin:12px 0;border:1px solid #efd89d;background:#fffaf0}.pendiente-opinion{background:#fff0c9!important;color:#8b5b00!important;white-space:normal;text-align:center}
.contenido-enriquecido{margin:24px 0;max-width:100%;overflow:hidden;color:var(--texto);line-height:1.7}
.contenido-enriquecido>*:first-child{margin-top:0}.contenido-enriquecido>*:last-child{margin-bottom:0}
.contenido-enriquecido iframe,.contenido-enriquecido video{display:block;width:100%;max-width:960px;min-height:240px;margin:18px auto;border:0;border-radius:14px;background:#111;aspect-ratio:16/9}
.contenido-enriquecido img{display:block;max-width:100%;height:auto;margin:16px auto;border-radius:12px}
.contenido-enriquecido blockquote{margin:18px 0;padding:14px 18px;border-left:4px solid var(--primario);background:var(--superficie-2);border-radius:0 10px 10px 0}
.contenido-enriquecido a{color:var(--primario);font-weight:700}
.estado-recuperacion{padding:18px 4px;text-align:center}.estado-recuperacion>span{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--superficie-2);color:var(--primario);font-size:28px}.estado-recuperacion p{color:var(--muted);line-height:1.65}.estado-recuperacion .boton{margin-top:12px}
#form-recuperar-clave .volver-login,#form-restablecer-clave .volver-login{margin-top:15px}

@media(max-width:760px){
  body{overflow-x:hidden}
  .seccion-contenido,.catalogo-layout,.carrito-layout,.checkout-layout,.cuenta-layout,.informacion-producto{width:auto}
  .contenido-cuenta>.modal-cabecera,.panel-informacion>.modal-cabecera{align-items:flex-start;flex-wrap:wrap;gap:12px}
  .contenido-cuenta .fila-panel{gap:12px;align-items:flex-start}
  .pedido-cuenta-fila{display:grid}
  .pedido-cuenta-fila>div:last-child{display:flex;align-items:center;justify-content:space-between;white-space:normal}
  .detalle-compra-fila{flex-wrap:wrap}
  .detalle-compra-fila>.boton.primario{flex:1;min-width:160px}
  .aviso-resena{max-width:none;text-align:left}
  .soporte-cliente-chat,.soporte-cliente-lista{min-width:0}
  .contenido-enriquecido iframe,.contenido-enriquecido video{min-height:190px;border-radius:10px}
}
@media(max-width:390px){
  .seccion-contenido,.catalogo-layout,.carrito-layout,.checkout-layout,.cuenta-layout,.informacion-producto,.cabecera-pagina{margin-left:12px;margin-right:12px}
  .contenido-cuenta{padding:16px}
  .panel-informacion{padding:16px}
  .modal{padding:20px 16px}
  .fila-panel{padding:12px}
}

/* Selecciones confirmadas del checkout y páginas legales */
.checkout-layout .opcion-radio:has(input:checked){border-color:#21835c;background:rgba(33,131,92,.07);box-shadow:0 0 0 3px rgba(33,131,92,.1)}
.checkout-layout input[type=radio]{accent-color:#21835c}
.tema-oscuro .opcion-pago-completa:has(input:checked),.tema-oscuro .cuenta-transferencia:has(input:checked),.tema-oscuro .checkout-layout .opcion-radio:has(input:checked){border-color:#48b889;background:rgba(72,184,137,.12)}
.pie-legal-enlaces{display:flex;align-items:center;gap:12px}.pie-legal-enlaces button{border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer}.pie-legal-enlaces button:hover{color:var(--texto);text-decoration:underline}
.cabecera-legal{margin-bottom:0}.pagina-legal{display:grid;grid-template-columns:240px minmax(0,820px);justify-content:center;gap:42px;max-width:1180px;margin:32px auto 80px;padding:0 22px}.indice-legal{position:sticky;top:150px;align-self:start;display:grid;gap:4px;padding:18px;border:1px solid var(--borde);border-radius:15px;background:var(--superficie)}.indice-legal strong{margin-bottom:8px}.indice-legal a{padding:7px 8px;border-radius:8px;color:var(--muted);font-size:11px;text-decoration:none}.indice-legal a:hover{background:var(--superficie-2);color:var(--texto)}
.contenido-legal{min-width:0}.contenido-legal section{scroll-margin-top:150px;padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid var(--borde)}.contenido-legal h2{margin:0 0 12px;font-size:22px;letter-spacing:-.02em}.contenido-legal p,.contenido-legal li{color:var(--muted);font-size:13px;line-height:1.8}.contenido-legal a{color:var(--primario);font-weight:700}.contenido-legal ul{padding-left:20px}
@media(max-width:760px){.pagina-legal{display:block;margin-top:20px;padding:0 14px}.indice-legal{position:static;grid-template-columns:1fr 1fr;margin-bottom:28px}.indice-legal strong{grid-column:1/-1}.cabecera-legal{margin-left:12px;margin-right:12px;padding:30px 24px}.cabecera-legal h1{font-size:34px}.pie-legal{gap:12px;align-items:flex-start;flex-direction:column}.pie-legal-enlaces{flex-wrap:wrap}.contenido-legal h2{font-size:20px}}
