.aep-opciones { margin: 20px 0; font-family: inherit; }

/* ===== TALLAS ===== */
.aep-grupo-talla { background:#fff9fc; border:1px solid #f0d0e0; border-radius:12px; padding:14px 16px; margin-bottom:8px; }
.aep-titulo { font-weight:700; font-size:15px; color:#333; margin:0 0 10px 0; }
.aep-requerido { color:#e91e8c; }
.aep-fila { display:flex; gap:16px; flex-wrap:nowrap; }
.aep-campo { flex:1; min-width:0; }
.aep-campo label { display:block; font-size:12px; font-weight:700; color:#888; margin-bottom:6px; text-transform:uppercase; letter-spacing:0.5px; }
.aep-tallas { display:flex; flex-wrap:wrap; gap:5px; }
.aep-talla-btn { background:#fff; border:2px solid #e0e0e0; border-radius:7px; padding:8px 14px; font-size:14px; font-weight:600; color:#444; cursor:pointer; transition:all 0.18s ease; line-height:1; }
.aep-talla-btn:hover { border-color:#e91e8c; color:#e91e8c; }
.aep-talla-btn.aep-activo { background:#e91e8c; border-color:#e91e8c; color:#fff; }
/* Manga selector: corta=gris oscuro, larga=fucsia para que ambos se distingan sobre el fondo rosado */
#aep-body-manga .aep-talla-btn.aep-activo { background:#2d2d2d; border-color:#2d2d2d; color:#fff; }
#aep-body-manga .aep-talla-btn.aep-activo[data-value="larga"] { background:#e91e8c; border-color:#e91e8c; }
.aep-btn-wide { min-width:130px; text-align:center; }

/* ===== HEADER EXTRAS ===== */
.aep-extras-header { display:flex; align-items:center; gap:8px; margin:14px 0 5px; flex-wrap:wrap; }
.aep-extras-titulo { font-size:15px; font-weight:700; color:#333; }
.aep-extras-sub { font-size:13px; color:#555; }

/* ===== ACORDEÓN ===== */
.aep-acordeon { border:1px solid #f0d0e0; border-radius:10px; margin-bottom:6px; overflow:hidden; background:#fff; }
.aep-acordeon-header { width:100%; background:#fff9fc; border:none; padding:12px 16px; display:flex; align-items:center; gap:8px; cursor:pointer; text-align:left; transition:background 0.15s; flex-wrap:nowrap; }
.aep-acordeon-header:hover, .aep-acordeon-header.aep-acordeon-abierto { background:#fdf0f8; }
.aep-acordeon-icon { font-size:16px; flex-shrink:0; }
.aep-acordeon-label { font-size:15px; font-weight:700; color:#333; flex:1; line-height:1.3; }
.aep-acordeon-precio { font-size:13px; color:#e91e8c; font-weight:600; white-space:nowrap; }
.aep-acordeon-precio em { font-style:normal; font-weight:400; color:#bbb; font-size:11px; }
.aep-acordeon-estado { font-size:12px; font-weight:600; padding:4px 10px; border-radius:20px; background:#f0f0f0; color:#999; white-space:nowrap; flex-shrink:0; }
.aep-acordeon-estado.aep-estado-si { background:#e8f8f0; color:#27ae60; }
.aep-acordeon-arrow { font-size:14px; color:#ccc; transition:transform 0.2s; flex-shrink:0; }
.aep-acordeon-header.aep-acordeon-abierto .aep-acordeon-arrow { transform:rotate(180deg); }
.aep-acordeon-body { display:none; padding:14px 16px 16px; border-top:1px solid #f5e0ee; animation:aepSlide 0.2s ease; }
.aep-hint { color:#333 !important; }
@keyframes aepSlide { from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:translateY(0)} }

/* ===== OPCIONAL BADGE ===== */
.aep-opcional-badge { display:inline-block; font-size:9px; font-weight:600; color:#333; background:#f5f5f5; border-radius:20px; padding:2px 6px; margin-left:3px; text-transform:uppercase; letter-spacing:0.4px; vertical-align:middle; }

/* ===== INICIALES — siempre lado a lado ===== */
.aep-fila-iniciales { display:flex; gap:16px; flex-wrap:nowrap; }
.aep-campo-inicial { flex:1; min-width:0; }
.aep-campo-inicial label { display:block; font-size:11px; font-weight:700; color:#888; margin-bottom:5px; text-transform:uppercase; letter-spacing:0.5px; }
.aep-input-inicial { width:52px !important; height:48px !important; text-align:center; font-size:22px !important; font-weight:700; border:2px solid #e0e0e0 !important; border-radius:8px; color:#e91e8c; text-transform:uppercase; padding:0 !important; display:block; margin:0 auto; transition:border-color 0.15s; }
.aep-input-inicial:focus { border-color:#e91e8c !important; outline:none; box-shadow:0 0 0 3px rgba(233,30,140,0.12); }

/* ===== COLORES CAJA ===== */
.aep-colores-wrap { display:flex; gap:10px; flex-wrap:wrap; margin-top:4px; }
.aep-color-btn { background:none; border:2px solid transparent; border-radius:10px; padding:6px 10px; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:4px; transition:all 0.18s; }
.aep-color-btn:hover { border-color:#e91e8c; background:#fff9fc; }
.aep-color-btn.aep-activo { border-color:#e91e8c; background:#fff0f7; }
.aep-color-circulo { display:block; width:32px; height:32px; border-radius:50%; border:2px solid rgba(0,0,0,0.1); }
.aep-color-no { background:#f0f0f0; display:flex; align-items:center; justify-content:center; font-size:13px; color:#bbb; }
.aep-color-nombre { font-size:10px; font-weight:600; color:#666; text-align:center; }
.aep-color-btn.aep-activo .aep-color-nombre { color:#e91e8c; }

/* ===== DEDICATORIA ===== */
.aep-textarea-wrap { position:relative; }
.aep-textarea { width:100% !important; border:2px solid #e0e0e0 !important; border-radius:8px; padding:10px !important; font-size:13px !important; font-family:inherit; resize:vertical; min-height:80px; transition:border-color 0.15s; box-sizing:border-box; }
.aep-textarea:focus { border-color:#e91e8c !important; outline:none; box-shadow:0 0 0 3px rgba(233,30,140,0.12); }
.aep-contador { text-align:right; font-size:10px; color:#ccc; margin-top:3px; }
.aep-contador.aep-contador-lleno { color:#e91e8c; font-weight:700; }

/* ===== HINT ===== */
.aep-hint { font-size:11px; color:#bbb; margin:4px 0 8px; line-height:1.4; }

/* ===== RESUMEN ===== */
.aep-resumen { background:#fff9fc; border:1px solid #f0d0e0; border-radius:10px; padding:12px 14px; margin-top:12px; }
.aep-resumen-titulo { font-size:12px; font-weight:700; color:#333; margin:0 0 6px; }
.aep-resumen-lista { list-style:none; padding:0; margin:0 0 8px; }
.aep-resumen-lista li { font-size:12px; color:#555; padding:3px 0; border-bottom:1px dashed #f5e0ee; display:flex; justify-content:space-between; }
.aep-resumen-lista li:last-child { border-bottom:none; }
.aep-precio-total { display:flex; align-items:center; justify-content:space-between; padding-top:6px; border-top:1px solid #f5e0ee; }
.aep-precio-label { font-size:12px; color:#666; }
.aep-precio-valor { font-size:17px; font-weight:700; color:#e91e8c; }

/* ===== CARRITO — compacto, sin espacios extra ===== */
.woocommerce-cart-form .cart_item td,
.wc-block-cart-items .wc-block-cart-item__product-details { vertical-align:top; }

dl.variation { margin:6px 0 0 !important; }
dl.variation dt, dl.variation dd { margin:0 !important; padding:1px 0 !important; font-size:12px !important; line-height:1.4 !important; }
dl.variation dt { font-weight:600; color:#555; float:left; margin-right:4px !important; }
dl.variation dd { color:#333; margin-left:0 !important; overflow:hidden; }
dl.variation dd p { margin:0 !important; }

/* ===== MOBILE ===== */
@media (max-width:600px) {
    .aep-fila { gap:10px; }
    .aep-fila-iniciales { gap:10px; flex-wrap:nowrap; }
    .aep-talla-btn { padding:7px 10px; font-size:12px; }
    .aep-btn-wide { min-width:0; flex:1; }
    .aep-acordeon-header { padding:9px 12px; flex-wrap:wrap; }
    .aep-acordeon-label { font-size:11px; }
    .aep-acordeon-precio { font-size:10px; white-space:normal; }
    .aep-colores-wrap { gap:6px; }
    .aep-color-btn { padding:5px 7px; }
    .aep-color-circulo { width:28px; height:28px; }
    .aep-input-inicial { width:48px !important; height:44px !important; font-size:20px !important; }
    .aep-precio-valor { font-size:15px; }
    .aep-extras-header { margin-top:22px; padding-top:14px; border-top:1px dashed #f0d0e0; }
}

/* ===== GUÍA DE TALLAS ===== */
.aep-guia-tallas { margin:16px 0 8px; }

.aep-guia-item { border:1px solid #f0d0e0; border-radius:10px; margin-bottom:6px; overflow:hidden; background:#fff; }

.aep-guia-item summary { background:#fff9fc; padding:11px 16px; cursor:pointer; font-weight:700; font-size:14px; color:#333; list-style:none; display:flex; align-items:center; gap:8px; }
.aep-guia-item summary::-webkit-details-marker { display:none; }
.aep-guia-item summary::after { content:'▾'; margin-left:auto; color:#ccc; font-size:14px; transition:transform 0.2s; }
.aep-guia-item[open] summary::after { transform:rotate(180deg); }
.aep-guia-item[open] summary { background:#fdf0f8; }

.aep-guia-body { padding:12px 16px 14px; border-top:1px solid #f5e0ee; }

.aep-guia-tabla { width:100%; border-collapse:collapse; font-size:13px; text-align:center; }
.aep-guia-tabla thead tr { background:#fce4f0; }
.aep-guia-tabla th { padding:7px 10px; border:1px solid #f5c0d8; font-weight:700; }
.aep-guia-tabla td { padding:7px 10px; border:1px solid #f5e0ee; }
.aep-guia-tabla td:first-child { font-weight:600; background:#fff9fc; text-align:left; }

.aep-guia-nota { font-size:12px; color:#aaa; margin:0 0 8px; }
.aep-guia-elastico { font-size:12px; color:#e91e8c; font-weight:600; margin:10px 0 0; }

@media (max-width:600px) {
    .aep-guia-tabla { font-size:12px; }
    .aep-guia-tabla th, .aep-guia-tabla td { padding:5px 7px; }
}

/* ============================================================
   v1.4.0 — Guía (pestaña), stock bajo, WhatsApp, lista de espera
   ============================================================ */

/* ===== Enlace "ver guía" ===== */
.aep-ver-guia { display:inline-block; font-size:13px; font-weight:700; color:#e91e8c; text-decoration:none; margin:0 0 12px; border-bottom:1px dashed #e91e8c; cursor:pointer; }
.aep-ver-guia:hover { color:#c01670; border-color:#c01670; }

/* ===== Pestaña Guía de Tallas ===== */
.aep-guia-tab { font-family:inherit; }
.aep-guia-intro { background:#fff9fc; border:1px solid #f0d0e0; border-radius:10px; padding:10px 14px; font-size:13px; color:#777; margin-bottom:18px; }
.aep-guia-intro-em { color:#e91e8c; font-weight:700; }
.aep-guia-item { margin-bottom:24px; }
.aep-guia-h { font-size:16px; font-weight:700; color:#e91e8c; margin:0 0 10px; }
.aep-guia-flex { display:flex; gap:18px; align-items:flex-start; flex-wrap:wrap; }
.aep-guia-tabla-wrap { flex:1 1 260px; min-width:0; overflow-x:auto; }
.aep-guia-img { flex:0 0 160px; max-width:160px; }
.aep-guia-img img { width:100%; height:auto; display:block; border-radius:8px; }
.aep-guia-tabla { width:100%; border-collapse:collapse; font-size:13px; text-align:center; }
.aep-guia-tabla thead tr { background:#fce4f0; }
.aep-guia-tabla th { padding:8px 10px; border:1px solid #f5c0d8; font-weight:700; color:#4b1528; }
.aep-guia-tabla td { padding:8px 10px; border:1px solid #f5e0ee; }
.aep-guia-tabla td:first-child { font-weight:600; background:#fff9fc; text-align:left; color:#666; }
.aep-guia-nota-prenda { font-size:12px; color:#e91e8c; margin:8px 0 0; font-style:italic; }

@media (max-width:600px) {
    .aep-guia-flex { flex-direction:column; gap:6px; }
    .aep-guia-img { flex:0 0 auto; max-width:200px; max-height:220px; margin:2px auto 0; }
    .aep-guia-img img { max-height:220px; width:auto; max-width:100%; object-fit:contain; margin:0 auto; }
    .aep-guia-nota-prenda { margin:6px 0 0; }
    .aep-guia-tabla { font-size:12px; }
    .aep-guia-tabla th, .aep-guia-tabla td { padding:6px 7px; }
}

/* ===== Stock bajo ===== */
.aep-stock-badge { border-radius:8px; padding:9px 13px; font-weight:700; font-size:14px; margin:12px 0; }
.aep-stock-bajo { background:#fff3e0; color:#d97d00; border:1px solid #ffd699; }

/* ===== Botón Consultar por WhatsApp ===== */
.aep-wa-consultar { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; background:#25D366; color:#fff; border:none; border-radius:10px; padding:13px; font-size:15px; font-weight:700; cursor:pointer; margin-top:10px; transition:background 0.15s; }
.aep-wa-consultar:hover { background:#1da851; }
.aep-wa-ico { font-size:16px; }

/* ===== Lista de espera ===== */
.aep-waitlist { background:#fff9fc; border:1px solid #f0d0e0; border-radius:12px; padding:18px; margin:14px 0; }
.aep-wait-titulo { font-size:16px; font-weight:700; color:#333; margin:0 0 4px; }
.aep-wait-fecha { font-size:13px; color:#e91e8c; font-weight:600; margin:0 0 6px; }
.aep-wait-sub { font-size:13px; color:#777; margin:0 0 12px; }
.aep-wait-form { display:flex; gap:8px; flex-wrap:wrap; }
.aep-wait-input { flex:1 1 180px; min-width:0; border:2px solid #e0e0e0 !important; border-radius:8px; padding:10px 12px !important; font-size:14px; box-sizing:border-box; }
.aep-wait-input:focus { border-color:#e91e8c !important; outline:none; box-shadow:0 0 0 3px rgba(233,30,140,0.12); }
.aep-wait-btn { background:#e91e8c; color:#fff; border:none; border-radius:8px; padding:10px 22px; font-size:14px; font-weight:700; cursor:pointer; transition:background 0.15s; }
.aep-wait-btn:hover { background:#c01670; }
.aep-wait-btn:disabled { opacity:0.6; cursor:default; }
.aep-wait-msg { font-size:13px; font-weight:600; margin:10px 0 0; min-height:18px; }
.aep-wait-msg.ok { color:#27ae60; }
.aep-wait-msg.err { color:#d63638; }

/* ============================================================
   v1.5.0 — Guía inline, ver más descripción, ajustes móvil
   ============================================================ */

/* Enlace "Ver guía" ahora va sobre el botón, más discreto y centrado */
.aep-guia-toggle-wrap { margin:8px 0 14px; text-align:center; }
.aep-ver-guia { display:inline-block; font-size:13px; font-weight:600; color:#e91e8c; text-decoration:none; border-bottom:1px dashed #e91e8c; cursor:pointer; margin:0; }
.aep-ver-guia:hover, .aep-ver-guia.abierto { color:#c01670; border-color:#c01670; }
.aep-guia-inline { margin-top:12px; text-align:left; background:#fff; border:1px solid #f0d0e0; border-radius:12px; padding:14px 16px; }
.aep-guia-inline .aep-guia-item:last-child { margin-bottom:4px; }

/* Descripción: ver más / ver menos */
.aep-desc-toggle { display:inline-block; margin-top:6px; font-size:13px; font-weight:700; color:#e91e8c; text-decoration:none; cursor:pointer; }
.aep-desc-toggle:hover { color:#c01670; }

/* Ajustes de la caja de personalización en móvil */
.aep-opciones { margin-top:14px; }
@media (max-width:768px) {
    .aep-opciones { margin-top:16px; clear:both; }
    .aep-grupo-talla, .aep-acordeon, .aep-resumen, .aep-stock-badge,
    .aep-waitlist, .aep-guia-inline, .aep-guia-toggle-wrap {
        box-sizing:border-box; max-width:100%; width:100%;
    }
    .aep-grupo-talla { padding:14px 12px; margin-bottom:10px; }
    .aep-acordeon { margin-bottom:8px; }
}

/* ============================================================
   v1.5.3 — refuerzo guía inline en móvil (gana sobre el tema)
   ============================================================ */
@media (max-width:600px) {
    .aep-guia-inline .aep-guia-flex { display:flex !important; flex-direction:column !important; gap:4px !important; align-items:center !important; }
    .aep-guia-inline .aep-guia-tabla-wrap { width:100% !important; }
    .aep-guia-inline .aep-guia-img,
    .aep-guia-inline .aep-guia-img img {
        max-width:170px !important; max-height:170px !important;
        width:auto !important; height:auto !important;
        margin:2px auto 0 !important; object-fit:contain !important; display:block !important;
    }
    .aep-guia-inline .aep-guia-h { font-size:15px !important; margin:0 0 8px !important; }
    .aep-guia-inline .aep-guia-tabla,
    .aep-guia-inline .aep-guia-tabla th,
    .aep-guia-inline .aep-guia-tabla td { font-size:12px !important; padding:6px 7px !important; }
    .aep-guia-inline .aep-guia-nota-prenda { font-size:11px !important; margin:4px 0 0 !important; line-height:1.3 !important; }
    .aep-guia-inline .aep-guia-item { margin-bottom:16px !important; }
}

/* ===== Azul secundario para opciones SELECCIONADAS (v2.7.0) ===== */
/* Botón de manga larga seleccionado -> fucsia */
#aep-body-manga .aep-talla-btn.aep-activo[data-value="larga"] { background:#e91e8c !important; border-color:#e91e8c !important; color:#fff !important; }
/* Precio dentro del botón de manga larga -> azul profundo */
.aep-manga-extra { font-weight:700; }
#aep-body-manga .aep-talla-btn.aep-activo[data-value="larga"] .aep-manga-extra,
#aep-body-manga .aep-talla-btn.aep-activo[data-value="larga"] .aep-manga-extra * { color:#ffffff !important; opacity:1 !important; font-weight:700 !important; }
/* Precio en el header de cada opción -> azul secundario */
.aep-acordeon-precio { color:#3a4a9f !important; }

/* ===== Cambio de Color Toggle (v2.7.0) ===== */
.aep-fila-color-cambio { display:flex; gap:12px; flex-wrap:wrap; }
.aep-campo-color-toggle { flex:1; min-width:200px; }
.aep-color-toggle-label { display:block; cursor:pointer; }
.aep-color-toggle-label input[type="checkbox"] { display:none; }
.aep-color-toggle-visual {
    display:flex; align-items:center; gap:10px; padding:14px 18px;
    border:2px solid #ddd; border-radius:10px; background:#fafafa;
    transition:all .2s ease; font-size:14px;
}
.aep-color-toggle-label input:checked + .aep-color-toggle-visual {
    border-color:#e91e8c; background:#fdf0f7;
}
.aep-color-toggle-quien { font-weight:700; color:#333; min-width:60px; }
.aep-color-toggle-arrow { color:#e91e8c; font-weight:700; font-size:18px; }
.aep-color-circle {
    display:inline-block; width:30px; height:30px; border-radius:50%;
    border:2px solid #ccc; flex-shrink:0;
}
.aep-color-toggle-label input:checked + .aep-color-toggle-visual .aep-color-circle:first-of-type {
    opacity:.4; border-style:dashed;
}
