/*
Theme Name:  Asia World Chile
Description: Child Theme de GeneratePress — Maquinaria Industrial
Template:    generatepress
Version:     2.1
Text Domain: asiaworld-child
*/

/* ============================================================
   VARIABLES
   ============================================================ */
:root {
    --primary:       #0f3a5f;
    --primary-light: #1a4d7a;
    --accent:        #ff9800;
    --accent-dark:   #e68900;
    --bg-light:      #f8f9fa;
    --text-dark:     #1a1a1a;
    --text-muted:    #666666;
    --border-color:  #e0e0e0;
    --success:       #4caf50;
}

/* ============================================================
   RESET BASE
   ============================================================ */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: var(--text-dark);
    background: #fff;
    line-height: 1.6;
}

a { color: inherit; text-decoration: none; }

/* ============================================================
   HEADER
   ============================================================ */
.aw-header {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
    padding: 1.2rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.aw-logo { font-size: 22px; font-weight: 600; color: #fff; letter-spacing: 1px; }
.aw-logo a { color: #fff; }

/* Nav principal */
.aw-nav {
    display: flex;
    gap: 0;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.aw-nav > li {
    position: relative;
}

.aw-nav > li > a {
    color: rgba(255,255,255,.9);
    font-size: 14px;
    font-weight: 500;
    padding: .5rem 1rem;
    display: block;
    transition: color .3s;
    white-space: nowrap;
}

.aw-nav > li > a:hover { color: var(--accent); }

/* Botón teléfono */
.aw-nav > li > a.aw-phone {
    background: var(--accent);
    color: #fff;
    padding: .7rem 1.6rem;
    border-radius: 6px;
    font-weight: 600;
    margin-left: .5rem;
}

.aw-nav > li > a.aw-phone:hover { background: var(--accent-dark); color: #fff; }

/* ── SUBMENÚS DROPDOWN ── */
.aw-nav li ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    min-width: 220px;
    border-radius: 8px;
    box-shadow: 0 8px 25px rgba(0,0,0,.15);
    list-style: none;
    padding: .5rem 0;
    z-index: 2000;
    border-top: 3px solid var(--accent);
}

.aw-nav li:hover > ul { display: block; }

.aw-nav li ul li a {
    display: block;
    padding: .6rem 1.2rem;
    font-size: 13px;
    color: var(--text-dark);
    transition: all .2s;
}

.aw-nav li ul li a:hover {
    background: var(--bg-light);
    color: var(--accent);
    padding-left: 1.6rem;
}

/* Sub-submenús */
.aw-nav li ul li { position: relative; }
.aw-nav li ul li ul {
    top: 0;
    left: 100%;
    border-top: none;
    border-left: 3px solid var(--accent);
}

/* Flecha indicadora */
.aw-nav > li > a.menu-item-has-children-link::after,
.aw-nav > li.menu-item-has-children > a::after {
    content: ' ▾';
    font-size: 10px;
    opacity: .7;
}

/* Hamburger */
.aw-burger {
    display: none;
    background: none;
    border: none;
    color: #fff;
    font-size: 28px;
    cursor: pointer;
}

/* ============================================================
   HERO
   ============================================================ */
.aw-hero {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 50%, var(--accent) 100%);
    color: #fff;
    padding: 5rem 2rem;
    text-align: center;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aw-hero-content h1 { font-size: 48px; margin-bottom: 1.2rem; font-weight: 600; line-height: 1.2; }
.aw-hero-content p  { font-size: 18px; margin-bottom: 2.5rem; opacity: .95; max-width: 700px; margin-left: auto; margin-right: auto; }

.aw-hero-buttons { display: flex; gap: 1.2rem; justify-content: center; flex-wrap: wrap; }

/* ============================================================
   BOTONES
   ============================================================ */
.aw-btn {
    padding: .9rem 2.2rem;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all .3s;
    display: inline-block;
    text-align: center;
}

.aw-btn-white  { background: #fff; color: var(--primary); }
.aw-btn-white:hover  { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(0,0,0,.2); color: var(--primary); }
.aw-btn-outline { background: transparent; color: #fff; border: 2px solid #fff; }
.aw-btn-outline:hover { background: rgba(255,255,255,.15); color: #fff; }

/* ============================================================
   SECCIONES GENERALES
   ============================================================ */
.aw-section { padding: 4rem 2rem; max-width: 1400px; margin: 0 auto; }
.aw-section-title    { font-size: 36px; margin-bottom: .8rem; color: var(--primary); font-weight: 600; }
.aw-section-subtitle { font-size: 16px; color: var(--text-muted); margin-bottom: 2.5rem; }

/* ============================================================
   FEATURES
   ============================================================ */
.aw-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px,1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.aw-feature-card {
    background: var(--bg-light);
    padding: 2.2rem;
    border-radius: 10px;
    border-left: 5px solid var(--accent);
    transition: all .3s;
}

.aw-feature-card:hover { transform: translateY(-8px); box-shadow: 0 12px 30px rgba(0,0,0,.12); }

.aw-feature-icon { font-size: 32px; margin-bottom: 1rem; display: inline-block; }
.aw-feature-card h3 { font-size: 18px; margin-bottom: .8rem; color: var(--primary); font-weight: 600; }
.aw-feature-card p  { font-size: 14px; color: var(--text-muted); line-height: 1.7; }

/* ============================================================
   PRODUCTOS (Home)
   ============================================================ */
.aw-products-section { background: linear-gradient(to bottom,rgba(15,58,95,.03),rgba(255,152,0,.03)); padding: 4rem 2rem; }
.aw-products-inner   { max-width: 1400px; margin: 0 auto; }

.aw-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px,1fr));
    gap: 2.5rem;
    margin-top: 3rem;
}

.aw-product-card {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
    transition: all .3s;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.aw-product-card:hover { box-shadow: 0 15px 35px rgba(0,0,0,.15); transform: translateY(-8px); border-color: var(--accent); }

.aw-product-image {
    width: 100%; height: 240px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
    display: flex; align-items: center; justify-content: center;
    position: relative; overflow: hidden;
}

.aw-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.aw-product-card:hover .aw-product-image img { transform: scale(1.05); }
.aw-product-image-placeholder { font-size: 80px; color: rgba(255,255,255,.6); }

.aw-product-badge {
    position: absolute; top: 12px; right: 12px;
    background: var(--accent); color: #fff;
    padding: .4rem .8rem; border-radius: 20px;
    font-size: 12px; font-weight: 600;
}

.aw-product-info { padding: 1.8rem; }
.aw-product-cat  { font-size: 11px; color: var(--text-muted); text-transform: uppercase; font-weight: 600; letter-spacing: .5px; margin-bottom: .4rem; }
.aw-product-name { font-size: 16px; font-weight: 600; color: var(--primary); margin-bottom: .6rem; min-height: 40px; line-height: 1.4; }
.aw-product-specs{ font-size: 12px; color: var(--text-muted); margin-bottom: 1rem; line-height: 1.6; }

.aw-product-price { font-size: 22px; font-weight: 700; color: var(--accent); margin-bottom: 1.2rem; }
/* Precios WooCommerce dentro de tarjeta */
.aw-product-price .woocommerce-Price-amount { font-size: 22px; font-weight: 700; color: var(--accent); }
.aw-product-price del .woocommerce-Price-amount { font-size: 14px; color: var(--text-muted); text-decoration: line-through; }

.aw-product-btn {
    background: var(--primary); color: #fff;
    padding: .7rem 1rem; border: none; border-radius: 6px;
    font-size: 14px; font-weight: 600; width: 100%;
    cursor: pointer; transition: all .3s;
    margin-bottom: .6rem; display: block; text-align: center;
}
.aw-product-btn:hover { background: var(--accent); color: #fff; }
.aw-product-btn-secondary { background: transparent; color: var(--primary); border: 1px solid var(--primary); }
.aw-product-btn-secondary:hover { background: var(--primary); color: #fff; }

/* ============================================================
   TRUST
   ============================================================ */
.aw-trust {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
    color: #fff; text-align: center; padding: 4rem 2rem;
}
.aw-trust .aw-section-title   { color: #fff; }
.aw-trust .aw-section-subtitle{ color: rgba(255,255,255,.85); }

.aw-trust-items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem; margin-top: 3rem;
    max-width: 1400px; margin-left: auto; margin-right: auto;
}

.aw-trust-item { padding: 2rem 1rem; border-radius: 10px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); }
.aw-trust-number { font-size: 42px; font-weight: 700; color: #ff9800; margin-bottom: .5rem; }
.aw-trust-label  { font-size: 14px; font-weight: 500; color: rgba(255,255,255,.92); }

/* ============================================================
   CTA / CONTACTO
   ============================================================ */
.aw-cta { background: linear-gradient(135deg, #0f3a5f 0%, #1a5276 60%, #c47a00 100%); color: #fff; text-align: center; padding: 4rem 2rem; }
.aw-cta h2 { font-size: 36px; margin-bottom: 1rem; font-weight: 600; }
.aw-cta > p { font-size: 16px; margin-bottom: 2.5rem; opacity: .95; max-width: 600px; margin-left: auto; margin-right: auto; }

.aw-contact-methods {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
    gap: 1.5rem; margin-top: 2rem;
    max-width: 1400px; margin-left: auto; margin-right: auto;
}

.aw-contact-card { background: rgba(255,255,255,.12); padding: 2rem; border-radius: 10px; border: 1px solid rgba(255,255,255,.2); transition: all .3s; }
.aw-contact-card:hover { background: rgba(255,255,255,.18); transform: translateY(-4px); }
.aw-contact-icon { font-size: 36px; margin-bottom: 1rem; display: block; }
.aw-contact-card h3 { font-size: 20px; margin-bottom: .8rem; font-weight: 700; }
.aw-contact-card p  { font-size: 15px; opacity: 1; line-height: 1.6; }
.aw-contact-card a  { color: #fff; font-weight: 600; }

/* ============================================================
   FOOTER
   ============================================================ */
.aw-footer { background: #0a2847; color: rgba(255,255,255,.7); padding: 3rem 2rem; text-align: center; font-size: 13px; }
.aw-footer p { margin-bottom: .5rem; }
.aw-footer a { color: var(--accent); font-weight: 600; }
.aw-footer-links { margin-top: 1.5rem; display: flex; justify-content: center; gap: 2rem; flex-wrap: wrap; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
    .aw-nav { display: none; flex-direction: column; width: 100%; gap: 0; padding: .5rem 0; background: var(--primary-light); border-radius: 0 0 8px 8px; }
    .aw-nav.open { display: flex; }
    .aw-nav > li > a { padding: .8rem 1.2rem; border-bottom: 1px solid rgba(255,255,255,.1); }
    .aw-nav li ul { position: static; box-shadow: none; border: none; border-left: 3px solid var(--accent); border-radius: 0; display: none; background: rgba(0,0,0,.15); }
    .aw-nav li.open > ul { display: block; }
    .aw-nav li ul li a { color: rgba(255,255,255,.85); padding-left: 2rem; }
    .aw-burger { display: block; }
    .aw-hero { padding: 3rem 1.5rem; min-height: auto; }
    .aw-hero-content h1 { font-size: 32px; }
    .aw-hero-buttons { flex-direction: column; align-items: stretch; }
    .aw-btn { width: 100%; }
    .aw-section { padding: 2.5rem 1.5rem; }
    .aw-section-title { font-size: 28px; }
    .aw-product-grid { grid-template-columns: 1fr; }
    .aw-trust-items  { grid-template-columns: repeat(2,1fr); }
    .aw-contact-methods { grid-template-columns: 1fr; }
    .aw-footer-links { flex-direction: column; gap: .8rem; }
}

/* ============================================================
   FASE 2: SINGLE PRODUCT PAGE
   ============================================================ */

/* Breadcrumb */
.sp-breadcrumb {
    padding: 1rem 2rem;
    background: var(--bg-light);
    font-size: 13px;
    color: var(--text-muted);
    max-width: 1400px;
    margin: 0 auto;
}
.sp-breadcrumb a { color: var(--primary); font-weight: 500; }
.sp-breadcrumb a:hover { color: var(--accent); }

/* Contenedor principal */
.sp-container { max-width: 1400px; margin: 0 auto; padding: 3rem 2rem; }

/* Layout 2 columnas */
.sp-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    align-items: start;
}

/* ── GALERÍA ── */
.sp-gallery { display: flex; flex-direction: column; gap: 1.2rem; }

.sp-main-image {
    width: 100%; height: 450px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    cursor: zoom-in;
}
.sp-main-image img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.sp-main-image:hover img { transform: scale(1.04); }

.sp-img-placeholder {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    font-size: 120px; color: rgba(255,255,255,.5);
}

.sp-badge-oferta {
    position: absolute; top: 16px; right: 16px;
    background: var(--accent); color: #fff;
    padding: .6rem 1.2rem; border-radius: 30px;
    font-size: 13px; font-weight: 700; text-transform: uppercase;
}

.sp-thumbnails {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .8rem;
}
.sp-thumb {
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all .3s;
    background: var(--bg-light);
}
.sp-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sp-thumb:hover { border-color: var(--primary); }
.sp-thumb.active { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(255,152,0,.3); }

/* ── INFO ── */
.sp-info { display: flex; flex-direction: column; gap: 1.8rem; }

.sp-header { border-bottom: 1px solid var(--border-color); padding-bottom: 1.5rem; }

.sp-category {
    font-size: 12px; color: var(--text-muted);
    text-transform: uppercase; font-weight: 600;
    letter-spacing: .5px; margin-bottom: .5rem;
}

.sp-title {
    font-size: 32px; font-weight: 700;
    color: var(--primary); line-height: 1.3; margin-bottom: 1rem;
}

.sp-rating { display: flex; align-items: center; gap: 1rem; }
.sp-stars { color: var(--accent); font-size: 16px; }
.sp-rating-text { font-size: 13px; color: var(--text-muted); }

/* Precio */
.sp-price-regular { font-size: 16px; color: var(--text-muted); text-decoration: line-through; margin-bottom: .2rem; }
.sp-price { font-size: 38px; font-weight: 700; color: var(--accent); }
.sp-price-note { font-size: 13px; color: var(--text-muted); margin-top: .3rem; }

/* Oferta */
.sp-offer {
    background: linear-gradient(135deg, rgba(76,175,80,.08) 0%, rgba(76,175,80,.04) 100%);
    padding: 1.2rem 1.5rem;
    border-radius: 8px;
    border-left: 4px solid var(--success);
}
.sp-offer-title { font-size: 13px; font-weight: 700; color: var(--success); text-transform: uppercase; margin-bottom: .4rem; }
.sp-offer-text  { font-size: 14px; color: var(--text-dark); }

/* Cuotas */
.sp-cuotas-label { font-size: 13px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; margin-bottom: .8rem; }
.sp-cuotas { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }

.sp-cuota {
    background: var(--bg-light);
    padding: 1rem;
    border-radius: 8px;
    text-align: center;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all .3s;
}
.sp-cuota:hover { border-color: var(--accent); }
.sp-cuota.active {
    border-color: var(--accent);
    background: linear-gradient(135deg, rgba(255,152,0,.1) 0%, rgba(255,152,0,.05) 100%);
}
.sp-cuota-num { font-size: 16px; font-weight: 700; color: var(--primary); margin-bottom: .3rem; }
.sp-cuota-txt { font-size: 12px; color: var(--text-muted); }

/* Botones de acción */
.sp-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

.sp-btn {
    padding: 1rem;
    border-radius: 6px;
    font-size: 15px; font-weight: 600;
    border: none; cursor: pointer;
    transition: all .3s;
    display: flex; align-items: center; justify-content: center;
    gap: .6rem; text-align: center;
}
.sp-btn-buy  { background: var(--accent); color: #fff; }
.sp-btn-buy:hover  { background: var(--accent-dark); transform: translateY(-2px); box-shadow: 0 6px 16px rgba(255,152,0,.35); color: #fff; }
.sp-btn-quote { background: var(--primary); color: #fff; }
.sp-btn-quote:hover { background: var(--primary-light); transform: translateY(-2px); box-shadow: 0 6px 16px rgba(15,58,95,.35); color: #fff; }

/* Stock */
.sp-stock { padding: 1rem 1.2rem; border-radius: 6px; }
.sp-stock.in-stock  { background: rgba(76,175,80,.1); border-left: 4px solid var(--success); }
.sp-stock.out-stock { background: rgba(255,82,82,.1);  border-left: 4px solid #ff5252; }
.sp-stock-label { font-size: 13px; font-weight: 700; text-transform: uppercase; color: var(--success); }
.sp-stock.out-stock .sp-stock-label { color: #ff5252; }
.sp-stock-text  { font-size: 13px; color: var(--text-muted); margin-top: .3rem; }

/* ── TABS ── */
.sp-tabs-wrap {
    max-width: 1400px;
    margin: 2rem auto 0;
    padding: 0 2rem 4rem;
}

.sp-tabs {
    display: flex;
    border-bottom: 2px solid var(--border-color);
    margin-bottom: 2.5rem;
    gap: 0;
}

.sp-tab {
    padding: 1.1rem 1.8rem;
    font-size: 14px; font-weight: 600;
    color: var(--text-muted);
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    cursor: pointer;
    transition: all .3s;
}
.sp-tab:hover { color: var(--primary); }
.sp-tab.active { color: var(--accent); border-bottom-color: var(--accent); }

.sp-tab-content { display: none; }
.sp-tab-content.active { display: block; }

/* Specs grid */
.sp-specs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}
.sp-spec-item { display: flex; flex-direction: column; }
.sp-spec-label { font-size: 12px; color: var(--text-muted); text-transform: uppercase; font-weight: 600; margin-bottom: .4rem; }
.sp-spec-value { font-size: 15px; font-weight: 500; color: var(--text-dark); }

/* Descripción */
.sp-description { font-size: 15px; line-height: 1.8; color: var(--text-muted); }
.sp-description h3 { color: var(--primary); font-size: 17px; margin: 1.5rem 0 .8rem; font-weight: 600; }
.sp-description ul { margin-left: 1.5rem; margin-bottom: 1rem; }
.sp-description li { margin-bottom: .5rem; }
.sp-description p  { margin-bottom: 1rem; }

/* Garantía */
.sp-warranty-box {
    background: linear-gradient(135deg, rgba(15,58,95,.05) 0%, rgba(15,58,95,.02) 100%);
    padding: 1.5rem;
    border-radius: 8px;
    border-left: 4px solid var(--primary);
    margin-bottom: 1.5rem;
}
.sp-warranty-title { font-size: 13px; font-weight: 700; color: var(--primary); text-transform: uppercase; margin-bottom: .5rem; }
.sp-warranty-text  { font-size: 14px; color: var(--text-muted); line-height: 1.7; }
.sp-warranty-text ul { margin-left: 1.5rem; margin-top: .5rem; }
.sp-warranty-text li { margin-bottom: .4rem; }
.sp-warranty-text a  { color: var(--accent); font-weight: 600; }

/* ── RELACIONADOS ── */
.sp-related { background: var(--bg-light); padding: 3rem 2rem; margin-top: 0; }
.sp-related-title { font-size: 28px; font-weight: 600; color: var(--primary); margin-bottom: 2rem; max-width: 1400px; margin-left: auto; margin-right: auto; }

.sp-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
    gap: 1.5rem;
    max-width: 1400px;
    margin: 0 auto;
}

.sp-related-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
    transition: all .3s;
}
.sp-related-card:hover { box-shadow: 0 8px 20px rgba(0,0,0,.12); transform: translateY(-4px); }

.sp-related-image {
    display: block;
    width: 100%; height: 180px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
    overflow: hidden;
    display: flex; align-items: center; justify-content: center;
}
.sp-related-image img { width: 100%; height: 100%; object-fit: cover; }
.sp-related-image span { font-size: 48px; color: rgba(255,255,255,.6); }

.sp-related-info { padding: 1.2rem; }
.sp-related-name  { font-size: 14px; font-weight: 600; color: var(--primary); margin-bottom: .5rem; line-height: 1.4; }
.sp-related-price { font-size: 16px; font-weight: 700; color: var(--accent); margin-bottom: 1rem; }
.sp-related-price .woocommerce-Price-amount { color: var(--accent); }

.sp-related-btn {
    display: block; width: 100%;
    padding: .6rem; text-align: center;
    background: var(--primary); color: #fff;
    border: none; border-radius: 4px;
    font-size: 13px; font-weight: 600;
    cursor: pointer; transition: background .3s;
}
.sp-related-btn:hover { background: var(--accent); color: #fff; }

/* ── RESPONSIVE PRODUCTO ── */
@media (max-width: 1024px) {
    .sp-layout { grid-template-columns: 1fr; gap: 2rem; }
    .sp-main-image { height: 380px; }
    .sp-cuotas { grid-template-columns: repeat(3,1fr); }
    .sp-specs-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .sp-container { padding: 1.5rem 1rem; }
    .sp-title { font-size: 24px; }
    .sp-price { font-size: 30px; }
    .sp-actions { grid-template-columns: 1fr; }
    .sp-thumbnails { grid-template-columns: repeat(3,1fr); }
    .sp-tabs { overflow-x: auto; }
    .sp-tab { white-space: nowrap; padding: .9rem 1.2rem; font-size: 13px; }
    .sp-related-grid { grid-template-columns: repeat(2,1fr); }
    .sp-tabs-wrap { padding: 0 1rem 3rem; }
}

@media (max-width: 480px) {
    .sp-related-grid { grid-template-columns: 1fr; }
    .sp-cuotas { grid-template-columns: 1fr; }
}

/* ============================================================
   CHECKOUT — Estilos con sistema de diseño Asia World
   ============================================================ */

/* Fondo general */
.woocommerce-checkout,
.woocommerce-cart {
    background: #fff;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Contenedor */
.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce {
    max-width: 1100px;
    margin: 0 auto;
    padding: 3rem 2rem 4rem;
}

/* ── TÍTULO DE PÁGINA ── */
.woocommerce-checkout h1.entry-title,
.woocommerce-cart h1.entry-title,
.post-title, .entry-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 3px solid var(--accent);
    display: inline-block;
}

/* ── AVISO DE CUPÓN ── */
.woocommerce-info {
    background: rgba(15, 58, 95, 0.05);
    border-left: 4px solid var(--primary);
    color: var(--primary);
    padding: 1rem 1.5rem;
    border-radius: 0 8px 8px 0;
    margin-bottom: 2rem;
    font-size: 14px;
}

.woocommerce-info a {
    color: var(--accent);
    font-weight: 600;
    text-decoration: underline;
}

/* ── TITULOS DE SECCIÓN ── */
.woocommerce-checkout h3,
.woocommerce h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 1.5rem;
    padding-bottom: .8rem;
    border-bottom: 2px solid var(--border-color);
}

/* ── CAMPOS DEL FORMULARIO ── */
.woocommerce-checkout .form-row label,
.woocommerce-checkout label {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: .4px;
    margin-bottom: .4rem;
    display: block;
}

.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="number"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout input.input-text,
.select2-container .select2-selection--single {
    width: 100%;
    padding: .85rem 1rem;
    border: 2px solid var(--border-color);
    border-radius: 8px;
    font-size: 14px;
    color: var(--text-dark);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    transition: border-color .3s, box-shadow .3s;
    background: #fff;
    appearance: auto;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout input.input-text:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(15, 58, 95, .1);
    outline: none;
}

/* Select2 */
.select2-container--default .select2-selection--single {
    height: auto !important;
    padding: .85rem 1rem !important;
    border: 2px solid var(--border-color) !important;
    border-radius: 8px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.4 !important;
    padding: 0 !important;
    color: var(--text-dark) !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.select2-dropdown {
    border: 2px solid var(--primary) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 25px rgba(0,0,0,.12) !important;
}

.select2-results__option--highlighted {
    background: var(--primary) !important;
}

/* Requerido asterisco */
.woocommerce-checkout .required { color: var(--accent); font-weight: 700; }

/* ── LAYOUT CHECKOUT (2 columnas) ── */
.woocommerce-checkout #customer_details {
    float: none;
    width: 100%;
}

@media (min-width: 768px) {
    .woocommerce-checkout #customer_details { float: left; width: 55%; padding-right: 2rem; }
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review { float: right; width: 43%; }
}

/* ── TABLA DE PEDIDO ── */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
    font-size: 14px;
}

.woocommerce-checkout-review-order-table thead th {
    background: var(--primary);
    color: #fff;
    padding: .9rem 1rem;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.woocommerce-checkout-review-order-table thead th:first-child { border-radius: 8px 0 0 0; }
.woocommerce-checkout-review-order-table thead th:last-child  { border-radius: 0 8px 0 0; text-align: right; }

.woocommerce-checkout-review-order-table tbody tr td {
    padding: .9rem 1rem;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-dark);
}

.woocommerce-checkout-review-order-table tbody tr td:last-child { text-align: right; font-weight: 600; }

.woocommerce-checkout-review-order-table tfoot tr th { padding: .8rem 1rem; font-weight: 600; color: var(--text-muted); font-size: 13px; }
.woocommerce-checkout-review-order-table tfoot tr td { padding: .8rem 1rem; text-align: right; font-weight: 700; }

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
    background: rgba(15,58,95,.05);
    color: var(--primary);
    font-size: 16px;
    font-weight: 700;
    border-top: 2px solid var(--primary);
}

.woocommerce-checkout-review-order-table tfoot .order-total td {
    color: var(--accent);
    font-size: 20px;
}

/* ── MÉTODOS DE PAGO ── */
#payment {
    background: var(--bg-light);
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid var(--border-color);
}

#payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 1.5rem; }

#payment ul.payment_methods li {
    padding: 1rem 1.2rem;
    border: 2px solid var(--border-color);
    border-radius: 8px;
    margin-bottom: .8rem;
    cursor: pointer;
    transition: all .3s;
    background: #fff;
}

#payment ul.payment_methods li:has(input:checked) {
    border-color: var(--primary);
    background: rgba(15,58,95,.04);
}

#payment ul.payment_methods label {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
    cursor: pointer;
    text-transform: none;
    letter-spacing: 0;
}

#payment .payment_box {
    background: rgba(15,58,95,.04);
    border-radius: 8px;
    padding: 1rem;
    margin-top: .8rem;
    font-size: 13px;
    color: var(--text-muted);
}

/* ── TÉRMINOS Y CONDICIONES ── */
.woocommerce-terms-and-conditions-wrapper {
    font-size: 13px;
    color: var(--text-muted);
    margin-bottom: 1.5rem;
}

.woocommerce-terms-and-conditions-wrapper a { color: var(--accent); font-weight: 600; }

/* ── BOTÓN REALIZAR PEDIDO ── */
#place_order {
    background: var(--accent) !important;
    color: #fff !important;
    border: none !important;
    padding: 1.1rem 2.5rem !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: all .3s !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    box-shadow: 0 4px 15px rgba(255,152,0,.35) !important;
}

#place_order:hover {
    background: var(--accent-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(255,152,0,.45) !important;
}

/* ── MENSAJES / NOTICES WOOCOMMERCE ── */
.woocommerce-message,
.woocommerce-error,
.woocommerce-notice {
    border-radius: 8px;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    font-size: 14px;
    border-left: 4px solid var(--primary);
    background: rgba(15,58,95,.05);
    color: var(--primary);
}

.woocommerce-error {
    border-left-color: #e53935;
    background: rgba(229,57,53,.05);
    color: #c62828;
}

/* ── CARRITO (cart.php styles) ── */
.woocommerce-cart-form table.shop_table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.woocommerce-cart-form table.shop_table th {
    background: var(--primary);
    color: #fff;
    padding: .9rem 1rem;
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 600;
}

.woocommerce-cart-form table.shop_table td {
    padding: 1rem;
    border-bottom: 1px solid var(--border-color);
    vertical-align: middle;
}

.cart-subtotals .order-total td { font-size: 18px; font-weight: 700; color: var(--accent); }

.wc-proceed-to-checkout .checkout-button,
a.checkout-button {
    background: var(--accent) !important;
    color: #fff !important;
    padding: 1rem 2rem !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    display: block !important;
    text-align: center !important;
    transition: all .3s !important;
    border: none !important;
}

.wc-proceed-to-checkout .checkout-button:hover {
    background: var(--accent-dark) !important;
    transform: translateY(-2px) !important;
    color: #fff !important;
}

/* ── RESPONSIVE CHECKOUT ── */
@media (max-width: 767px) {
    .woocommerce-checkout .woocommerce,
    .woocommerce-cart .woocommerce { padding: 1.5rem 1rem 3rem; }
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review { float: none; width: 100%; padding-right: 0; }
}

/* ============================================================
   DESCRIPCIÓN CORTA EN TARJETA DE PRODUCTO (HOME)
   ============================================================ */
.aw-product-desc {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.6;
    margin-bottom: 1rem;
    min-height: 42px;
}

/* ============================================================
   QUIÉNES SOMOS — Ocultar imagen de sillas, mejorar layout
   ============================================================ */
.page-quienes-somos .elementor-widget-image { display: none !important; }

.page-quienes-somos .elementor-column { width: 100% !important; max-width: 100% !important; }

.page-quienes-somos .elementor-text-editor,
.page-quienes-somos .elementor-widget-text-editor,
.page-quienes-somos .elementor-widget-heading { text-align: center !important; }

.page-quienes-somos .elementor-heading-title {
    color: var(--primary) !important;
    font-weight: 700 !important;
}

.page-quienes-somos .elementor-section {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.page-quienes-somos .elementor-widget-text-editor p {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: var(--text-muted) !important;
    margin-bottom: 1rem !important;
}

/* ============================================================
   CHECKOUT — Fix fondo oscuro e inputs
   ============================================================ */

/* Forzar fondo blanco en toda la página de checkout */
body.woocommerce-checkout,
body.woocommerce-checkout #page,
body.woocommerce-checkout #content,
body.woocommerce-checkout main,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area {
    background: #fff !important;
}

/* Contenedor principal */
body.woocommerce-checkout .woocommerce,
body.woocommerce-cart .woocommerce {
    background: #fff !important;
    max-width: 1100px;
    margin: 0 auto;
    padding: 3rem 2rem 4rem;
}

/* Inputs siempre blancos */
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="number"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
    background: #fff !important;
    color: var(--text-dark) !important;
    border: 2px solid var(--border-color) !important;
    border-radius: 8px !important;
    padding: .85rem 1rem !important;
    font-size: 14px !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    width: 100% !important;
    transition: border-color .3s !important;
}

body.woocommerce-checkout input:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(15,58,95,.1) !important;
    outline: none !important;
}

/* Layout 2 columnas con clearfix */
body.woocommerce-checkout form.checkout::after {
    content: '';
    display: table;
    clear: both;
}

body.woocommerce-checkout #customer_details { background: #fff !important; }
body.woocommerce-checkout #order_review    { background: #fff !important; }

/* Tabla de pedido — fondo blanco */
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
    background: #fff !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table th {
    background: transparent !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    background: var(--primary) !important;
    color: #fff !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
    background: rgba(15,58,95,.05) !important;
}

/* Métodos de pago */
body.woocommerce-checkout #payment {
    background: var(--bg-light) !important;
    border-radius: 12px !important;
    padding: 1.5rem !important;
    border: 1px solid var(--border-color) !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
    background: #fff !important;
    border: 2px solid var(--border-color) !important;
    border-radius: 8px !important;
    padding: 1rem 1.2rem !important;
    margin-bottom: .8rem !important;
}

body.woocommerce-checkout #payment .payment_box {
    background: rgba(15,58,95,.04) !important;
    border-radius: 8px !important;
}

/* Botón realizar pedido */
body.woocommerce-checkout #place_order {
    background: var(--accent) !important;
    color: #fff !important;
    border: none !important;
    padding: 1.1rem 2.5rem !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    width: 100% !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    box-shadow: 0 4px 15px rgba(255,152,0,.35) !important;
    transition: all .3s !important;
}

body.woocommerce-checkout #place_order:hover {
    background: var(--accent-dark) !important;
    transform: translateY(-2px) !important;
}

/* Labels del checkout */
body.woocommerce-checkout label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: .4px !important;
    margin-bottom: .4rem !important;
    display: block !important;
    background: transparent !important;
}

/* Select2 override fondo */
body.woocommerce-checkout .select2-container .select2-selection {
    background: #fff !important;
    border: 2px solid var(--border-color) !important;
    border-radius: 8px !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    color: var(--text-dark) !important;
    background: #fff !important;
}

/* Notices */
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info {
    background: rgba(15,58,95,.05) !important;
    border-left: 4px solid var(--primary) !important;
    color: var(--primary) !important;
    padding: 1rem 1.5rem !important;
    border-radius: 0 8px 8px 0 !important;
    margin-bottom: 1.5rem !important;
}

/* Responsive checkout */
@media (max-width: 767px) {
    body.woocommerce-checkout .woocommerce { padding: 1.5rem 1rem 3rem !important; }
}

/* ============================================================
   CHECKOUT — Grid layout, sin espacio en blanco, opciones envío
   ============================================================ */

/* Usar grid en vez de floats */
body.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
    gap: 2.5rem !important;
    align-items: start !important;
}

body.woocommerce-checkout form.checkout::before,
body.woocommerce-checkout form.checkout::after { display: none !important; }

body.woocommerce-checkout #customer_details {
    float: none !important;
    width: auto !important;
    padding-right: 0 !important;
    grid-column: 1 !important;
}

body.woocommerce-checkout #order_review_heading {
    display: none !important; /* El título "Tu pedido" ya está en la tabla */
}

body.woocommerce-checkout #order_review {
    float: none !important;
    width: auto !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: sticky !important;
    top: 100px !important;
}

/* Quitar sección de envío vacía que genera espacio */
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout #ship-to-different-address { 
    display: none !important; 
}

/* Quitar notices que generan espacio extra */
body.woocommerce-checkout .woocommerce-shipping-totals { display: none !important; }

/* Responsive checkout */
@media (max-width: 768px) {
    body.woocommerce-checkout form.checkout {
        grid-template-columns: 1fr !important;
    }
    body.woocommerce-checkout #order_review {
        grid-column: 1 !important;
        position: static !important;
    }
}

/* ── OPCIONES DE ENVÍO PERSONALIZADAS ── */
.aw-checkout-shipping {
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 2px solid var(--border-color);
}

.aw-checkout-shipping-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--primary) !important;
    margin-bottom: 1rem !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.aw-ship-option {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1.2rem;
    border: 2px solid var(--border-color);
    border-radius: 10px;
    margin-bottom: .8rem;
    cursor: pointer;
    transition: all .3s;
    background: #fff;
    position: relative;
}

.aw-ship-option:has(input:checked),
.aw-ship-option--active {
    border-color: var(--primary);
    background: rgba(15,58,95,.04);
}

.aw-ship-option input[type="radio"] {
    margin-top: .2rem;
    accent-color: var(--primary);
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0;
}

.aw-ship-option-content { flex: 1; }

.aw-ship-option-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: .3rem;
}

.aw-ship-option-desc {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.5;
}

.aw-ship-option-badge {
    display: inline-block;
    margin-top: .5rem;
    padding: .3rem .8rem;
    background: var(--success);
    color: #fff;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
}

.aw-ship-option-badge--secondary {
    background: var(--accent);
}

/* ============================================================
   DESCRIPCIÓN DE PRODUCTO — Estilo completo como el resto
   ============================================================ */
.sp-description {
    font-size: 15px;
    line-height: 1.8;
    color: var(--text-dark);
}

/* Headings */
.sp-description h1,
.sp-description h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary);
    margin: 2rem 0 1rem;
    padding-bottom: .5rem;
    border-bottom: 2px solid var(--border-color);
}

.sp-description h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--primary);
    margin: 1.5rem 0 .8rem;
}

.sp-description h4 {
    font-size: 15px;
    font-weight: 700;
    color: var(--primary-light);
    margin: 1.2rem 0 .6rem;
}

/* Párrafos */
.sp-description p {
    margin-bottom: 1rem;
    color: var(--text-muted);
}

/* Listas */
.sp-description ul,
.sp-description ol {
    margin: 1rem 0 1rem 1.5rem;
}

.sp-description li {
    margin-bottom: .5rem;
    color: var(--text-muted);
    line-height: 1.6;
}

.sp-description ul li::marker { color: var(--accent); }
.sp-description ol li::marker { color: var(--primary); font-weight: 700; }

/* Strong / bold */
.sp-description strong,
.sp-description b { color: var(--text-dark); font-weight: 600; }

/* Tablas (especificaciones en descripción) */
.sp-description table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 14px;
}

.sp-description table th {
    background: var(--primary);
    color: #fff;
    padding: .8rem 1rem;
    text-align: left;
    font-weight: 600;
    font-size: 13px;
}

.sp-description table td {
    padding: .7rem 1rem;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-muted);
}

.sp-description table tr:last-child td { border-bottom: none; }
.sp-description table tr:nth-child(even) td { background: var(--bg-light); }

/* Bloques de aviso / preguntas frecuentes */
.sp-description .wp-block-group,
.sp-description [class*="elementor-"] { 
    all: unset; 
    display: block;
}

/* Cajas de FAQ — rendir bonito */
.sp-description .wp-block-group__inner-container { display: block; }

/* Preguntas frecuentes: detectar h3 seguido de párrafo */
.sp-description h3 + p,
.sp-description h4 + p {
    background: var(--bg-light);
    padding: 1rem 1.2rem;
    border-radius: 8px;
    border-left: 3px solid var(--accent);
    color: var(--text-muted);
    margin-bottom: 1.5rem;
}

/* Cajas con fondo de color (elementor) */
.sp-description div[style*="background"],
.sp-description div[style*="background-color"] {
    border-radius: 8px;
    padding: 1rem 1.2rem !important;
    margin-bottom: 1rem !important;
    border: 1px solid var(--border-color);
    background: var(--bg-light) !important;
    color: var(--text-dark) !important;
}

/* Separadores */
.sp-description hr {
    border: none;
    border-top: 2px solid var(--border-color);
    margin: 2rem 0;
}

/* ============================================================
   TÉRMINOS Y CONDICIONES — Página estilizada
   ============================================================ */
.aw-terms-hero {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
    color: #fff;
    padding: 3.5rem 2rem;
    text-align: center;
}

.aw-terms-hero h1 {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: .8rem;
}

.aw-terms-hero p {
    font-size: 16px;
    opacity: .9;
    max-width: 600px;
    margin: 0 auto;
}

.aw-terms-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 3rem 2rem 5rem;
}

.aw-terms-section {
    margin-bottom: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid var(--border-color);
}

.aw-terms-section:last-child { border-bottom: none; }

.aw-terms-section-icon {
    font-size: 36px;
    margin-bottom: .8rem;
    display: block;
}

.aw-terms-section h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 1.2rem;
    padding-bottom: .6rem;
    border-bottom: 3px solid var(--accent);
    display: inline-block;
}

.aw-terms-section p {
    font-size: 15px;
    line-height: 1.8;
    color: var(--text-muted);
    margin-bottom: 1rem;
}

/* Números destacados */
.aw-terms-highlight {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin: 1.5rem 0;
}

.aw-terms-highlight-item {
    background: linear-gradient(135deg, rgba(15,58,95,.06) 0%, rgba(255,152,0,.06) 100%);
    padding: 1.5rem;
    border-radius: 10px;
    border: 1px solid var(--border-color);
    text-align: center;
}

.aw-terms-highlight-num {
    font-size: 36px;
    font-weight: 700;
    color: var(--accent);
    margin-bottom: .4rem;
}

.aw-terms-highlight-label {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.4;
}

/* Listas */
.aw-terms-list {
    list-style: none;
    margin: 1rem 0;
    padding: 0;
}

.aw-terms-list li {
    padding: .7rem 1rem .7rem 2.5rem;
    position: relative;
    font-size: 15px;
    color: var(--text-muted);
    border-bottom: 1px solid rgba(0,0,0,.05);
    line-height: 1.6;
}

.aw-terms-list li::before {
    content: '✓';
    position: absolute;
    left: .8rem;
    color: var(--accent);
    font-weight: 700;
}

/* Grid retiro/despacho */
.aw-terms-delivery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin: 1.5rem 0;
}

.aw-terms-delivery-card {
    background: var(--bg-light);
    padding: 1.8rem;
    border-radius: 10px;
    border: 1px solid var(--border-color);
    position: relative;
    transition: all .3s;
}

.aw-terms-delivery-card:hover {
    box-shadow: 0 8px 20px rgba(0,0,0,.1);
    transform: translateY(-4px);
}

.aw-terms-delivery-free { border-top: 4px solid var(--success); }
.aw-terms-delivery-card:not(.aw-terms-delivery-free) { border-top: 4px solid var(--accent); }

.aw-terms-delivery-badge {
    display: inline-block;
    padding: .3rem .8rem;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    margin-bottom: .8rem;
    background: var(--success);
    color: #fff;
}

.aw-terms-delivery-badge--secondary { background: var(--accent); }

.aw-terms-delivery-card h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: .8rem;
}

.aw-terms-delivery-card p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-muted);
    margin-bottom: .8rem;
}

/* Nota */
.aw-terms-note {
    background: rgba(255,152,0,.08);
    border: 1px solid rgba(255,152,0,.3);
    border-left: 4px solid var(--accent);
    padding: 1rem 1.2rem;
    border-radius: 0 8px 8px 0;
    font-size: 14px;
    color: var(--text-dark);
    margin-top: 1rem;
    line-height: 1.6;
}

/* Contacto en términos */
.aw-terms-contact-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin: 1.5rem 0;
}

.aw-terms-contact-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    padding: 1.2rem;
    background: var(--primary);
    color: #fff;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    transition: all .3s;
}

.aw-terms-contact-item:hover {
    background: var(--accent);
    transform: translateY(-3px);
    color: #fff;
}

.aw-terms-contact-icon { font-size: 24px; }

/* Responsive */
@media (max-width: 768px) {
    .aw-terms-hero h1 { font-size: 28px; }
    .aw-terms-delivery-grid { grid-template-columns: 1fr; }
    .aw-terms-highlight { grid-template-columns: 1fr; }
    .aw-terms-contact-grid { grid-template-columns: 1fr; }
    .aw-terms-container { padding: 2rem 1rem 3rem; }
}

/* ============================================================
   DESCRIPCIÓN — Cajas estilizadas (parser PHP)
   ============================================================ */
.sp-desc-box {
    background: var(--bg-light);
    border-radius: 10px;
    border-left: 4px solid var(--primary);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.sp-desc-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 1rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid var(--border-color);
}

/* Grid de filas label:value */
.sp-desc-table {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

.sp-desc-row {
    display: contents;
}

.sp-desc-label,
.sp-desc-value {
    padding: .55rem .5rem;
    font-size: 13px;
    border-bottom: 1px solid rgba(0,0,0,.05);
    line-height: 1.4;
}

.sp-desc-label {
    color: var(--text-muted);
    font-weight: 500;
    padding-left: 0;
}

.sp-desc-value {
    font-weight: 600;
    color: var(--text-dark);
}

/* Filas alternadas */
.sp-desc-row:nth-child(even) .sp-desc-label,
.sp-desc-row:nth-child(even) .sp-desc-value {
    background: rgba(15,58,95,.03);
}

/* Nota/texto dentro de caja */
.sp-desc-note {
    font-size: 13px;
    color: var(--text-muted);
    padding: .5rem 0;
    font-style: italic;
    border-bottom: 1px solid rgba(0,0,0,.05);
}

.sp-desc-p {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.7;
    margin-bottom: .8rem;
}

/* Responsive descripción */
@media (max-width: 600px) {
    .sp-desc-table { grid-template-columns: 1fr; }
    .sp-desc-row { display: block; border-bottom: 1px solid var(--border-color); padding-bottom: .5rem; margin-bottom: .5rem; }
    .sp-desc-label { border-bottom: none; color: var(--primary); font-weight: 700; font-size: 12px; text-transform: uppercase; }
    .sp-desc-value { border-bottom: none; padding-top: 0; }
}

/* ============================================================
   CHECKOUT — Columna de formulario más ancha
   ============================================================ */
body.woocommerce-checkout form.checkout {
    grid-template-columns: 1.3fr 1fr !important;
}

/* ============================================================
   CHECKOUT v9 — Eliminar espacio en blanco vacío
   ============================================================ */

/* Quitar min-height que genera espacio */
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout article.page,
body.woocommerce-checkout .hentry {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
}

/* Columna izquierda sin espacio muerto */
body.woocommerce-checkout #customer_details {
    padding-bottom: 0 !important;
}

/* Quitar secciones WC que generan espacio invisible */
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #ship-to-different-address {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Selects nativos con mejor aspecto */
body.woocommerce-checkout select {
    -webkit-appearance: auto !important;
    appearance: auto !important;
}

/* ============================================================
   DESCRIPCIÓN v9 — Cajas limpias con h3 semántico
   ============================================================ */

/* Resetear estilos anteriores que conflictuaban */
.sp-description h3.sp-desc-title {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--primary) !important;
    text-transform: uppercase !important;
    letter-spacing: .6px !important;
    margin: 0 0 .8rem !important;
    padding-bottom: .6rem !important;
    border-bottom: 1px solid var(--border-color) !important;
}

/* Quitar cualquier estilo de h3 que herede del CSS general */
.sp-tabs-wrap .sp-description h3.sp-desc-title::before,
.sp-tabs-wrap .sp-description h3.sp-desc-title::after { display: none !important; }

/* Tabla de specs dentro de descripción */
.sp-desc-table {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    border-top: 1px solid var(--border-color);
}

.sp-desc-row {
    display: contents !important;
}

.sp-desc-label,
.sp-desc-value {
    padding: .55rem .5rem .55rem 0 !important;
    font-size: 13px !important;
    border-bottom: 1px solid rgba(0,0,0,.05) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.sp-desc-label {
    color: var(--text-muted) !important;
    font-weight: 500 !important;
}

.sp-desc-value {
    font-weight: 600 !important;
    color: var(--text-dark) !important;
    padding-left: .5rem !important;
}

/* Fila que ocupa todo el ancho */
.sp-desc-full {
    grid-column: 1 / -1 !important;
    display: block !important;
    font-size: 13px !important;
    color: var(--text-muted) !important;
    padding: .5rem 0 !important;
    border-bottom: 1px solid rgba(0,0,0,.05) !important;
    font-style: italic !important;
}

/* Filas alternas */
.sp-desc-row:nth-child(even) .sp-desc-label,
.sp-desc-row:nth-child(even) .sp-desc-value {
    background: rgba(15,58,95,.025) !important;
}

.sp-desc-p {
    font-size: 14px !important;
    color: var(--text-muted) !important;
    line-height: 1.7 !important;
    margin-bottom: .8rem !important;
}

@media (max-width: 600px) {
    .sp-desc-table { grid-template-columns: 1fr !important; }
    .sp-desc-row { display: flex !important; flex-direction: column !important; border-bottom: 1px solid var(--border-color); padding: .5rem 0; }
    .sp-desc-label { border-bottom: none !important; color: var(--primary) !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .4px; padding: 0 !important; }
    .sp-desc-value { border-bottom: none !important; padding: .2rem 0 0 !important; }
}

/* ============================================================
   CHECKOUT v10 — Reset completo, float layout con clases WC
   ============================================================ */

/* Contenedor más ancho */
body.woocommerce-checkout .woocommerce,
body.woocommerce-cart .woocommerce {
    max-width: 1400px !important;
    width: 100% !important;
    padding: 2.5rem 3rem !important;
    box-sizing: border-box !important;
}

/* Resetear grid anterior */
body.woocommerce-checkout form.checkout {
    display: block !important;
    grid-template-columns: unset !important;
}

/* Clearfix */
body.woocommerce-checkout form.checkout::before,
body.woocommerce-checkout form.checkout::after {
    content: '' !important;
    display: table !important;
    clear: both !important;
}

/* Columna izquierda — usa clase .col2-set que WC aplica a #customer_details */
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout #customer_details {
    float: left !important;
    width: 56% !important;
    padding-right: 3rem !important;
    box-sizing: border-box !important;
    clear: none !important;
}

/* Columna derecha — resumen del pedido */
body.woocommerce-checkout #order_review_heading { display: none !important; }
body.woocommerce-checkout #order_review {
    float: right !important;
    width: 42% !important;
    box-sizing: border-box !important;
    position: sticky !important;
    top: 90px !important;
}

/* Inputs y selects más grandes */
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"] {
    width: 100% !important;
    padding: 1rem 1.1rem !important;
    font-size: 15px !important;
    border: 2px solid var(--border-color) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--text-dark) !important;
    box-sizing: border-box !important;
    transition: border-color .3s !important;
}

body.woocommerce-checkout .form-row input:focus,
body.woocommerce-checkout .form-row select:focus {
    border-color: var(--primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(15,58,95,.08) !important;
}

/* Labels */
body.woocommerce-checkout .form-row label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    margin-bottom: .4rem !important;
    display: block !important;
}

/* Secciones del formulario con mejor separación */
body.woocommerce-checkout .form-row {
    margin-bottom: 1.2rem !important;
}

/* Nombre y apellidos lado a lado */
body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last {
    float: left !important;
    width: 48% !important;
    box-sizing: border-box !important;
}
body.woocommerce-checkout .form-row-first { margin-right: 4% !important; }

body.woocommerce-checkout .form-row-wide { clear: both !important; width: 100% !important; }

/* Título sección facturación */
body.woocommerce-checkout h3#billing_heading,
body.woocommerce-checkout h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--primary) !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: .8rem !important;
    border-bottom: 2px solid var(--border-color) !important;
}

/* Responsive checkout */
@media (max-width: 768px) {
    body.woocommerce-checkout .woocommerce { padding: 1.5rem 1rem !important; }
    body.woocommerce-checkout .col2-set,
    body.woocommerce-checkout #customer_details,
    body.woocommerce-checkout #order_review {
        float: none !important;
        width: 100% !important;
        padding-right: 0 !important;
        position: static !important;
    }
    body.woocommerce-checkout .form-row-first,
    body.woocommerce-checkout .form-row-last {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
    }
}

/* ============================================================
   CHECKOUT v11 — Layout propio (form-checkout.php override)
   Resumen izquierda | Formulario derecha
   ============================================================ */

/* Ocultar el título H1 de WordPress que duplica el "Checkout" */
body.woocommerce-checkout .entry-title { display: none !important; }

/* Página checkout: sin padding del theme */
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout article {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* Wrapper principal */
.aw-checkout-page {
    max-width: 1300px;
    margin: 0 auto;
    padding: 2rem 2.5rem 4rem;
}

/* Título "Checkout" */
.aw-checkout-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 2rem;
    padding-bottom: .8rem;
    border-bottom: 3px solid var(--accent);
    display: inline-block;
}

/* Grid: 2 columnas */
.aw-checkout-grid {
    display: flex;
    gap: 2.5rem;
    align-items: flex-start;
}

/* Columna izquierda: resumen (40%) */
.aw-checkout-left {
    flex: 0 0 40%;
    position: sticky;
    top: 90px;
}

/* Columna derecha: formulario (resto) */
.aw-checkout-right {
    flex: 1;
    min-width: 0;
}

/* Panel del resumen */
.aw-checkout-panel {
    background: var(--bg-light);
    border-radius: 12px;
    padding: 1.8rem;
    border: 1px solid var(--border-color);
}

.aw-checkout-panel-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--primary) !important;
    margin-bottom: 1.2rem !important;
    padding-bottom: .8rem !important;
    border-bottom: 2px solid var(--border-color) !important;
}

/* Tabla del resumen dentro del panel */
.aw-checkout-left table.shop_table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.aw-checkout-left table.shop_table thead th {
    background: var(--primary);
    color: #fff;
    padding: .7rem .8rem;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 600;
}

.aw-checkout-left table.shop_table thead th:first-child { border-radius: 6px 0 0 0; }
.aw-checkout-left table.shop_table thead th:last-child  { border-radius: 0 6px 0 0; text-align: right; }

.aw-checkout-left table.shop_table td {
    padding: .7rem .8rem;
    border-bottom: 1px solid var(--border-color);
    vertical-align: middle;
    font-size: 13px;
}

.aw-checkout-left table.shop_table td:last-child { text-align: right; font-weight: 600; }

.aw-checkout-left .order-total td {
    color: var(--accent);
    font-size: 18px !important;
    font-weight: 700 !important;
}

.aw-checkout-left .order-total th,
.aw-checkout-left .order-total td {
    background: rgba(15,58,95,.05);
    border-top: 2px solid var(--primary);
}

/* Formulario derecha */
.aw-checkout-right h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--primary) !important;
    margin: 0 0 1.5rem !important;
    padding-bottom: .8rem !important;
    border-bottom: 2px solid var(--border-color) !important;
}

/* Inputs del formulario */
.aw-checkout-right input[type="text"],
.aw-checkout-right input[type="email"],
.aw-checkout-right input[type="tel"],
.aw-checkout-right input[type="number"],
.aw-checkout-right input[type="password"],
.aw-checkout-right select,
.aw-checkout-right textarea {
    width: 100% !important;
    padding: .95rem 1.1rem !important;
    font-size: 15px !important;
    border: 2px solid var(--border-color) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--text-dark) !important;
    box-sizing: border-box !important;
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
    transition: border-color .3s !important;
}

.aw-checkout-right input:focus,
.aw-checkout-right select:focus {
    border-color: var(--primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(15,58,95,.08) !important;
}

/* Labels */
.aw-checkout-right label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    margin-bottom: .4rem !important;
    display: block !important;
    background: transparent !important;
}

/* Filas del formulario */
.aw-checkout-right .form-row { margin-bottom: 1.1rem !important; }

/* Nombre y Apellidos lado a lado */
.aw-checkout-right .form-row-first,
.aw-checkout-right .form-row-last {
    float: left !important;
    width: 48% !important;
    box-sizing: border-box !important;
}
.aw-checkout-right .form-row-first { margin-right: 4% !important; }
.aw-checkout-right .form-row-wide  { clear: both !important; }

.aw-checkout-right .form-row::after {
    content: '';
    display: table;
    clear: both;
}

/* Sección de pago */
.aw-checkout-right #payment {
    background: var(--bg-light) !important;
    border-radius: 12px !important;
    padding: 1.5rem !important;
    border: 1px solid var(--border-color) !important;
    margin-top: 1.5rem !important;
}

.aw-checkout-right #payment ul.payment_methods { list-style: none !important; padding: 0 !important; margin: 0 0 1.5rem !important; }

.aw-checkout-right #payment ul.payment_methods li {
    background: #fff !important;
    border: 2px solid var(--border-color) !important;
    border-radius: 8px !important;
    padding: 1rem 1.2rem !important;
    margin-bottom: .8rem !important;
    transition: border-color .3s !important;
}

.aw-checkout-right #payment ul.payment_methods li:has(input:checked) {
    border-color: var(--primary) !important;
    background: rgba(15,58,95,.04) !important;
}

/* Botón realizar pedido */
.aw-checkout-right #place_order {
    background: var(--accent) !important;
    color: #fff !important;
    border: none !important;
    padding: 1.2rem 2rem !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    width: 100% !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    box-shadow: 0 4px 15px rgba(255,152,0,.35) !important;
    transition: all .3s !important;
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
}

.aw-checkout-right #place_order:hover {
    background: var(--accent-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(255,152,0,.45) !important;
}

/* Notices WooCommerce */
.aw-checkout-page .woocommerce-info,
.aw-checkout-page .woocommerce-message {
    background: rgba(15,58,95,.05) !important;
    border-left: 4px solid var(--primary) !important;
    color: var(--primary) !important;
    padding: .8rem 1.2rem !important;
    border-radius: 0 8px 8px 0 !important;
    margin-bottom: 1.2rem !important;
    font-size: 14px !important;
}

/* Responsive */
@media (max-width: 900px) {
    .aw-checkout-grid    { flex-direction: column-reverse; }
    .aw-checkout-left    { position: static; flex: none; width: 100%; }
    .aw-checkout-right   { width: 100%; }
    .aw-checkout-page    { padding: 1.5rem 1rem 3rem; }
    .aw-checkout-right .form-row-first,
    .aw-checkout-right .form-row-last  { float: none !important; width: 100% !important; margin-right: 0 !important; }
}

/* ============================================================
   CHECKOUT v12 — Swap columnas + Fix espacio blanco
   ============================================================ */

/* Formulario ahora en la izquierda */
.aw-checkout-left {
    flex: 1 !important;
    min-width: 0 !important;
    position: static !important;
}

/* Resumen ahora en la derecha (fijo 38%) */
.aw-checkout-right {
    flex: 0 0 38% !important;
    position: sticky !important;
    top: 90px !important;
}

/* Mover estilos de inputs al lado izquierdo (antes era .aw-checkout-right) */
.aw-checkout-left input[type="text"],
.aw-checkout-left input[type="email"],
.aw-checkout-left input[type="tel"],
.aw-checkout-left input[type="number"],
.aw-checkout-left input[type="password"],
.aw-checkout-left select,
.aw-checkout-left textarea {
    width: 100% !important;
    padding: .95rem 1.1rem !important;
    font-size: 15px !important;
    border: 2px solid var(--border-color) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--text-dark) !important;
    box-sizing: border-box !important;
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
    transition: border-color .3s !important;
}

.aw-checkout-left input:focus,
.aw-checkout-left select:focus {
    border-color: var(--primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(15,58,95,.08) !important;
}

.aw-checkout-left label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    margin-bottom: .4rem !important;
    display: block !important;
    background: transparent !important;
}

.aw-checkout-left .form-row { margin-bottom: 1.1rem !important; }

.aw-checkout-left .form-row-first,
.aw-checkout-left .form-row-last {
    float: left !important;
    width: 48% !important;
    box-sizing: border-box !important;
}
.aw-checkout-left .form-row-first { margin-right: 4% !important; }
.aw-checkout-left .form-row-wide  { clear: both !important; width: 100% !important; }

.aw-checkout-left h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--primary) !important;
    margin: 0 0 1.5rem !important;
    padding-bottom: .8rem !important;
    border-bottom: 2px solid var(--border-color) !important;
}

.aw-checkout-left #payment {
    background: var(--bg-light) !important;
    border-radius: 12px !important;
    padding: 1.5rem !important;
    border: 1px solid var(--border-color) !important;
    margin-top: 1.5rem !important;
}

.aw-checkout-left #payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 1.5rem !important;
}

.aw-checkout-left #payment ul.payment_methods li {
    background: #fff !important;
    border: 2px solid var(--border-color) !important;
    border-radius: 8px !important;
    padding: 1rem 1.2rem !important;
    margin-bottom: .8rem !important;
    transition: border-color .3s !important;
}

.aw-checkout-left #payment ul.payment_methods li:has(input:checked) {
    border-color: var(--primary) !important;
    background: rgba(15,58,95,.04) !important;
}

.aw-checkout-left #place_order {
    background: var(--accent) !important;
    color: #fff !important;
    border: none !important;
    padding: 1.2rem 2rem !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    width: 100% !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    box-shadow: 0 4px 15px rgba(255,152,0,.35) !important;
    transition: all .3s !important;
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
}

.aw-checkout-left #place_order:hover {
    background: var(--accent-dark) !important;
    transform: translateY(-2px) !important;
}

/* Tabla resumen en el panel derecho */
.aw-checkout-right table.shop_table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.aw-checkout-right table.shop_table thead th {
    background: var(--primary);
    color: #fff;
    padding: .7rem .8rem;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 600;
}

.aw-checkout-right table.shop_table thead th:first-child { border-radius: 6px 0 0 0; }
.aw-checkout-right table.shop_table thead th:last-child  { border-radius: 0 6px 0 0; text-align: right; }

.aw-checkout-right table.shop_table td {
    padding: .65rem .8rem;
    border-bottom: 1px solid var(--border-color);
    vertical-align: middle;
}

.aw-checkout-right table.shop_table td:last-child { text-align: right; font-weight: 600; }

.aw-checkout-right .order-total th,
.aw-checkout-right .order-total td {
    background: rgba(15,58,95,.05) !important;
    border-top: 2px solid var(--primary) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.aw-checkout-right .order-total td { color: var(--accent) !important; }

/* ══ FIX ESPACIO BLANCO ══
   GeneratePress usa flex en body y flex:1 en site-content
   para hacer sticky footer. En checkout eso estira el contenedor.
   Desactivamos ese stretch SOLO en checkout. */
body.woocommerce-checkout,
body.woocommerce-checkout #page {
    display: block !important;
}

body.woocommerce-checkout .site-content,
body.woocommerce-checkout #content,
body.woocommerce-checkout .content-area {
    flex: none !important;
    flex-grow: 0 !important;
    min-height: 0 !important;
}

body.woocommerce-checkout .site-main {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Responsive */
@media (max-width: 900px) {
    .aw-checkout-grid  { flex-direction: column !important; }
    .aw-checkout-left,
    .aw-checkout-right { flex: none !important; width: 100% !important; position: static !important; }
    .aw-checkout-left .form-row-first,
    .aw-checkout-left .form-row-last { float: none !important; width: 100% !important; margin-right: 0 !important; }
}

/* ============================================================
   v15 — Fix espacio en blanco (GeneratePress sticky footer)
   ============================================================ */

/* GP usa body como flex column + .site-content { flex:1 } para
   que el footer siempre quede abajo. En checkout eso estira el
   contenedor y crea el espacio blanco. */
body.woocommerce-checkout .site-content {
    flex-grow: 0 !important;
    min-height: 0 !important;
}

/* Fix #customer_details que WooCommerce inyecta con float */
body.woocommerce-checkout .aw-checkout-left #customer_details,
body.woocommerce-checkout .aw-checkout-left .col2-set {
    float: none !important;
    width: 100% !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
}

/* Quitar también el shipping options duplicado que aparece
   tanto en el panel derecho (order_review) como en el payment
   del izquierdo — lo dejamos solo en el derecho */
.aw-checkout-left .aw-checkout-shipping {
    display: none !important;
}

/* ============================================================
   CHECKOUT FINAL — CSS puro, sin magia PHP
   WooCommerce renderiza #customer_details y #order_review.
   Nosotros solo los ponemos lado a lado con flex.
   ============================================================ */

.aw-checkout-wrap {
    max-width: 1300px;
    margin: 0 auto;
    padding: 2rem 2.5rem 3rem;
}

.aw-checkout-h1 {
    font-size: 30px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 1.8rem;
    padding-bottom: .7rem;
    border-bottom: 3px solid var(--accent);
    display: inline-block;
}

/* Form = flex container */
body.woocommerce-checkout form.woocommerce-checkout {
    display: flex !important;
    flex-direction: row !important;
    gap: 2.5rem !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
}

/* Título "Your order" oculto */
body.woocommerce-checkout #order_review_heading { display: none !important; }

/* Columna izquierda: datos del comprador */
body.woocommerce-checkout #customer_details {
    flex: 1 !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
}

/* Columna derecha: resumen + pago */
body.woocommerce-checkout #order_review {
    flex: 0 0 40% !important;
    float: none !important;
    width: 40% !important;
    position: sticky !important;
    top: 90px !important;
    background: var(--bg-light) !important;
    border-radius: 12px !important;
    padding: 1.5rem !important;
    border: 1px solid var(--border-color) !important;
}

/* Etiqueta "Tu pedido" encima del resumen */
body.woocommerce-checkout #order_review::before {
    content: "📋 Tu pedido";
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 1rem;
    padding-bottom: .8rem;
    border-bottom: 2px solid var(--border-color);
}

/* Tabla del resumen */
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 13px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    background: var(--primary) !important;
    color: #fff !important;
    padding: .6rem .8rem !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    padding: .6rem .8rem !important;
    border-bottom: 1px solid var(--border-color) !important;
    font-size: 13px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
    color: var(--accent) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

/* Inputs del formulario */
body.woocommerce-checkout #customer_details input[type="text"],
body.woocommerce-checkout #customer_details input[type="email"],
body.woocommerce-checkout #customer_details input[type="tel"],
body.woocommerce-checkout #customer_details select {
    width: 100% !important;
    padding: .9rem 1rem !important;
    font-size: 15px !important;
    border: 2px solid var(--border-color) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout #customer_details input:focus,
body.woocommerce-checkout #customer_details select:focus {
    border-color: var(--primary) !important;
    outline: none !important;
}

/* Botón realizar pedido */
body.woocommerce-checkout #place_order {
    background: var(--accent) !important;
    color: #fff !important;
    border: none !important;
    width: 100% !important;
    padding: 1rem !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    margin-top: .5rem !important;
}

body.woocommerce-checkout #place_order:hover {
    background: var(--accent-dark) !important;
}

/* FIX espacio blanco — GeneratePress sticky footer */
body.woocommerce-checkout .site-content {
    flex-grow: 0 !important;
    min-height: 0 !important;
}

/* Responsive */
@media (max-width: 900px) {
    body.woocommerce-checkout form.woocommerce-checkout {
        flex-direction: column !important;
    }
    body.woocommerce-checkout #order_review {
        flex: none !important;
        width: 100% !important;
        position: static !important;
    }
    .aw-checkout-wrap { padding: 1.5rem 1rem 2rem; }
}

/* ============================================================
   BANNER TRANSBANK — Home y Producto
   ============================================================ */

/* Barra en el home (debajo del hero) */
.aw-transbank-bar {
    background: linear-gradient(135deg, #e30613 0%, #c00000 100%);
    padding: .9rem 2rem;
}

.aw-transbank-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.aw-transbank-badge {
    background: #fff;
    color: #e30613;
    font-size: 22px;
    font-weight: 900;
    padding: .3rem .8rem;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
}

.aw-transbank-badge span {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #333;
}

.aw-transbank-text {
    font-size: 15px;
    color: #fff;
    font-weight: 500;
}

.aw-transbank-text strong { font-weight: 800; }

.aw-tb-cards {
    font-size: 13px;
    color: rgba(255,255,255,.8);
    display: block;
    margin-top: .2rem;
}

.aw-transbank-logo {
    margin-left: auto;
    font-size: 20px;
    font-weight: 900;
    color: #fff;
    letter-spacing: -1px;
    font-style: italic;
}

.aw-tb-dot { color: rgba(255,255,255,.6); }

/* Mini banner en tarjeta de producto (home) */
.aw-product-cuotas {
    font-size: 12px;
    color: #e30613;
    font-weight: 600;
    background: rgba(227,6,19,.06);
    border: 1px solid rgba(227,6,19,.2);
    border-radius: 4px;
    padding: .35rem .6rem;
    margin-bottom: 1rem;
    display: inline-block;
}

/* Banner en página de producto */
.sp-transbank-banner {
    display: flex;
    align-items: center;
    gap: .8rem;
    background: linear-gradient(135deg, rgba(227,6,19,.08) 0%, rgba(227,6,19,.04) 100%);
    border: 1px solid rgba(227,6,19,.25);
    border-radius: 8px;
    padding: .8rem 1rem;
    flex-wrap: wrap;
}

.sp-tb-badge {
    font-size: 24px;
    font-weight: 900;
    color: #e30613;
    line-height: 1;
}

.sp-tb-text {
    font-size: 14px;
    color: var(--text-dark);
}

.sp-tb-text strong { color: #e30613; }

.sp-tb-cards {
    font-size: 12px;
    color: var(--text-muted);
    margin-left: auto;
}

/* ============================================================
   VIDEO SECTION — Cilindradora
   ============================================================ */
.sp-video-section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 3rem 2rem;
    background: var(--primary);
}

.sp-video-title {
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 1.5rem;
    text-align: center;
}

.sp-video-wrap {
    max-width: 900px;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,.4);
    aspect-ratio: 16/9;
}

.sp-video-wrap iframe {
    width: 100% !important;
    height: 100% !important;
    display: block;
}

/* ============================================================
   FIX ESPACIO EN BLANCO — GeneratePress sticky footer
   Atacar min-height del body directamente
   ============================================================ */
body.woocommerce-checkout {
    min-height: 0 !important;
}

body.woocommerce-checkout .site-content {
    flex: none !important;
    flex-grow: 0 !important;
    min-height: 0 !important;
}

/* ============================================================
   YOUTUBE FACADE — Click-to-load (cero cookies hasta el click)
   ============================================================ */
.sp-video-section {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
    padding: 3rem 2rem;
    margin: 2rem 0;
}

.sp-video-title {
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    text-align: center;
    margin: 0 0 1.5rem;
}

.aw-yt-facade {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
    aspect-ratio: 16/9;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 20px 50px rgba(0,0,0,.4);
    background: #000;
}

.aw-yt-facade img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease, filter .3s;
}

.aw-yt-facade:hover img {
    transform: scale(1.04);
    filter: brightness(.7);
}

.aw-yt-play {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 88px; height: 60px;
    background: rgba(0,0,0,.7);
    border: none;
    border-radius: 14px;
    cursor: pointer;
    transition: background .3s, transform .3s;
}

.aw-yt-play::before {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-40%, -50%);
    width: 0; height: 0;
    border-left: 22px solid #fff;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
}

.aw-yt-facade:hover .aw-yt-play {
    background: #e30613;
    transform: translate(-50%, -50%) scale(1.1);
}

.aw-yt-facade.aw-yt-loaded {
    cursor: default;
}

.aw-yt-facade.aw-yt-loaded:hover img {
    filter: none;
    transform: none;
}

/* ============================================================
   DESCRIPCIÓN PRODUCTO — Rediseño estilo "Términos y condiciones"
   ============================================================ */

/* Caja contenedora de cada sección */
.sp-description .sp-desc-box {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 1.8rem 2rem !important;
    margin-bottom: 1.5rem !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
    border-left: 4px solid var(--accent) !important;
    border-top: none !important;
}

/* Título de sección */
.sp-description h3.sp-desc-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--primary) !important;
    margin: 0 0 1.3rem !important;
    padding-bottom: .7rem !important;
    border-bottom: 2px solid var(--border-color) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    display: block !important;
}

/* Grid de especificaciones */
.sp-desc-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: .8rem !important;
}

/* Tarjeta individual de especificación */
.sp-desc-spec {
    padding: .9rem 1.1rem;
    background: var(--bg-light);
    border-radius: 8px;
    border-left: 3px solid var(--primary);
    transition: transform .2s, box-shadow .2s;
}

.sp-desc-spec:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,.08);
}

.sp-desc-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    margin-bottom: .35rem !important;
    line-height: 1.3 !important;
    padding: 0 !important;
    border: none !important;
}

.sp-desc-value {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--text-dark) !important;
    line-height: 1.4 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

/* Texto sin etiqueta (notas, descripciones largas) */
.sp-desc-full {
    grid-column: 1 / -1 !important;
    display: block !important;
    font-size: 14px !important;
    color: var(--text-muted) !important;
    line-height: 1.7 !important;
    padding: .9rem 1.1rem !important;
    background: rgba(15,58,95,.04) !important;
    border-radius: 8px !important;
    border-left: 3px solid var(--accent) !important;
    font-style: normal !important;
    border-bottom: none !important;
}

/* Párrafo plano dentro de sección sin specs */
.sp-desc-p {
    font-size: 14px !important;
    color: var(--text-muted) !important;
    line-height: 1.7 !important;
    margin-bottom: .8rem !important;
}

@media (max-width: 600px) {
    .sp-desc-grid { grid-template-columns: 1fr !important; }
}

/* ============================================================
   CHECKOUT — FIX agresivo definitivo del espacio en blanco
   ============================================================ */

/* Quitar TODOS los min-height y flex-grow en cascada */
body.woocommerce-checkout,
body.woocommerce-checkout .site,
body.woocommerce-checkout #page,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout main,
body.woocommerce-checkout article,
body.woocommerce-checkout .inside-article,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .site-main {
    min-height: 0 !important;
    flex-grow: 0 !important;
    flex: none !important;
}

body.woocommerce-checkout .site-main,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout article,
body.woocommerce-checkout .inside-article {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* ============================================================
   VIDEO FACADE v2 — maxresdefault 1280x720 (16:9 nativo)
   ============================================================ */
.aw-yt-facade {
    max-width: 820px !important;
    margin: 0 auto !important;
    aspect-ratio: 16 / 9 !important;
    position: relative !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    box-shadow: 0 16px 40px rgba(0,0,0,.45) !important;
    background: #000 !important;
    display: block !important;
}

.aw-yt-facade img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;   /* cubre el contenedor sin deformar */
    object-position: center center !important;
    display: block !important;
    transition: filter .3s !important;
}

.aw-yt-facade:hover img { filter: brightness(.75) !important; }

.aw-yt-facade.aw-yt-loaded img { display: none !important; }

/* ============================================================
   DESCRIPCIÓN ESTRUCTURADA — tabla estilo profesional
   ============================================================ */
.sp-desc-section { margin-bottom: 1.8rem; border-radius: 10px; overflow: hidden; border: 1px solid #dde3ea; }
.sp-desc-section-head { background: #0f3a5f; color: #fff; padding: .9rem 1.4rem; font-size: 14px; font-weight: 700; display: flex; align-items: center; gap: .6rem; letter-spacing: .3px; }
.sp-desc-section-head .sp-desc-icon { font-size: 18px; }
dl.sp-desc-dl { margin: 0; }
.sp-desc-dl dt { display: none; }
.sp-desc-dl .sp-desc-pair { display: grid; grid-template-columns: 42% 58%; border-bottom: 1px solid #dde3ea; }
.sp-desc-dl .sp-desc-pair:last-child { border-bottom: none; }
.sp-desc-dl .sp-desc-pair:nth-child(even) { background: #f4f7fa; }
.sp-desc-dl .sp-desc-pair:nth-child(odd)  { background: #fff; }
.sp-desc-pair-label { padding: .75rem 1.2rem; font-size: 12px; font-weight: 700; color: #5a6a7a; text-transform: uppercase; letter-spacing: .4px; border-right: 1px solid #dde3ea; display: flex; align-items: center; }
.sp-desc-pair-value { padding: .75rem 1.2rem; font-size: 14px; font-weight: 600; color: #1a1a1a; display: flex; align-items: center; }
.sp-desc-note { background: #fff8e1; border-left: 4px solid #ff9800; border-radius: 8px; padding: 1.1rem 1.4rem; margin-top: 1.8rem; font-size: 13px; color: #555; line-height: 1.7; }
.sp-desc-note strong { color: #bf6f00; }

/* ============================================================
   VIDEO FACADE v3 — sin dependencia jQuery, onclick inline IIFE
   ============================================================ */
.sp-video-section { max-width: 860px; margin: 0 auto 2rem; }
.sp-video-title { font-size: 18px; font-weight: 700; color: #0f3a5f; margin-bottom: 1rem; padding-bottom: .6rem; border-bottom: 2px solid #ff9800; display: inline-block; }
.aw-yt-wrap { position: relative; aspect-ratio: 16/9; border-radius: 12px; overflow: hidden; background: #000; cursor: pointer; box-shadow: 0 8px 30px rgba(0,0,0,.35); }
.aw-yt-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; transition: filter .25s; }
.aw-yt-wrap:hover img { filter: brightness(.7); }
.aw-yt-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 72px; height: 72px; background: rgba(255,0,0,.9); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: transform .2s, background .2s; pointer-events: none; }
.aw-yt-wrap:hover .aw-yt-btn { background: #ff0000; transform: translate(-50%,-50%) scale(1.1); }
.aw-yt-btn::after { content: ''; border-style: solid; border-width: 12px 0 12px 22px; border-color: transparent transparent transparent #fff; margin-left: 5px; }
.aw-yt-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ============================================================
   CHECKOUT — fix padding GeneratePress separate-containers
   El tema aplica padding:40px a .inside-article en esa clase.
   ============================================================ */
body.woocommerce-checkout.separate-containers .inside-article,
body.woocommerce-checkout .inside-article,
body.woocommerce-checkout .entry-content {
    padding: 0 !important;
    background: transparent !important;
}
body.woocommerce-checkout.separate-containers .site-content,
body.woocommerce-checkout .site-content {
    padding: 0 !important;
}

/* ============================================================
   CHECKOUT — reset definitivo de contenedores (FINAL)
   Elimina padding acumulado de GP separate-containers +
   inside-article + aw-checkout-wrap
   ============================================================ */
body.woocommerce-checkout #page,
body.woocommerce-checkout .site,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout #primary,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout article,
body.woocommerce-checkout .inside-article,
body.woocommerce-checkout .entry-content {
    padding:    0 !important;
    margin-top: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    width:      100% !important;
    max-width:  none !important;
}

body.woocommerce-checkout .aw-checkout-wrap {
    max-width:     1300px !important;
    width:         100% !important;
    margin:        0 auto !important;
    padding:       2rem 2rem 3rem !important;
    box-sizing:    border-box !important;
}

/* ============================================================
   PÁGINAS INTERNAS — Quiénes somos / Contacto
   ============================================================ */
.aw-page-hero { color:#fff; text-align:center; padding:4rem 2rem 3.5rem; }
.aw-page-hero-inner { max-width:700px; margin:0 auto; }
.aw-page-hero-icon { font-size:52px; margin-bottom:1rem; display:block; }
.aw-page-hero h1 { font-size:42px; font-weight:800; margin-bottom:.8rem; }
.aw-page-hero p { font-size:17px; opacity:.9; line-height:1.6; }

.aw-page-wrap { max-width:1100px; margin:0 auto; padding:3rem 2rem 4rem; }
.aw-page-section { margin-bottom:3rem; }
.aw-page-section-head { display:flex; align-items:center; gap:.7rem; margin-bottom:1.8rem; border-bottom:3px solid #ff9800; padding-bottom:.8rem; }
.aw-page-section-head h2 { font-size:22px; font-weight:700; color:#0f3a5f; margin:0; }
.aw-page-icon { font-size:24px; }

/* Intro */
.aw-page-intro { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:start; }
.aw-page-intro-text h2 { font-size:24px; font-weight:700; color:#0f3a5f; margin-bottom:1rem; }
.aw-page-intro-text p { color:#555; line-height:1.8; margin-bottom:1rem; }
.aw-page-intro-stats { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.aw-stat-card { background:#f4f7fa; border-left:4px solid #ff9800; border-radius:8px; padding:1.2rem 1rem; text-align:center; }
.aw-stat-num { font-size:28px; font-weight:800; color:#0f3a5f; }
.aw-stat-label { font-size:12px; color:#666; margin-top:.3rem; text-transform:uppercase; letter-spacing:.4px; }

/* Valores */
.aw-values-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.5rem; }
.aw-value-card { background:#fff; border:1px solid #dde3ea; border-radius:12px; padding:1.8rem 1.5rem; transition:transform .2s,box-shadow .2s; }
.aw-value-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(15,58,95,.12); }
.aw-value-icon { font-size:36px; margin-bottom:1rem; display:block; }
.aw-value-card h3 { font-size:16px; font-weight:700; color:#0f3a5f; margin-bottom:.6rem; }
.aw-value-card p { font-size:14px; color:#666; line-height:1.7; }

/* Ubicación */
.aw-location-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.aw-info-row { display:flex; gap:1rem; align-items:flex-start; padding:.9rem 0; border-bottom:1px solid #eee; }
.aw-info-row:last-child { border-bottom:none; }
.aw-info-icon { font-size:20px; flex-shrink:0; margin-top:2px; }
.aw-info-row strong { display:block; font-size:13px; color:#0f3a5f; margin-bottom:2px; }
.aw-info-row a { color:#0f3a5f; font-weight:600; text-decoration:none; }
.aw-info-row a:hover { color:#ff9800; }
.aw-info-row div { font-size:14px; color:#555; line-height:1.6; }
.aw-location-cta { display:flex; flex-direction:column; gap:1rem; justify-content:center; background:#f4f7fa; border-radius:12px; padding:2rem; }
.aw-location-cta p { color:#555; font-size:15px; line-height:1.6; }
.aw-btn-primary { display:inline-block; background:#ff9800; color:#fff; padding:.9rem 1.8rem; border-radius:8px; font-weight:700; text-decoration:none; font-size:14px; text-align:center; transition:background .2s; }
.aw-btn-primary:hover { background:#e68900; color:#fff; }
.aw-btn-secondary { display:inline-block; background:#fff; color:#0f3a5f; border:2px solid #0f3a5f; padding:.9rem 1.8rem; border-radius:8px; font-weight:700; text-decoration:none; font-size:14px; text-align:center; transition:all .2s; }
.aw-btn-secondary:hover { background:#0f3a5f; color:#fff; }

/* Contacto — cards grandes */
.aw-contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.aw-contact-big-card { background:#fff; border:2px solid #dde3ea; border-radius:14px; padding:2rem 1.5rem; text-align:center; text-decoration:none; transition:all .25s; display:flex; flex-direction:column; align-items:center; gap:.5rem; }
.aw-contact-big-card:hover { transform:translateY(-5px); box-shadow:0 12px 30px rgba(15,58,95,.15); }
.aw-card-wa  { border-color:#25d366; }
.aw-card-wa:hover  { background:#f0fff5; }
.aw-card-phone { border-color:#0f3a5f; }
.aw-card-phone:hover { background:#f0f4f8; }
.aw-card-email { border-color:#ff9800; }
.aw-card-email:hover { background:#fff8f0; }
.aw-cbig-icon { font-size:44px; margin-bottom:.5rem; }
.aw-contact-big-card h3 { font-size:18px; font-weight:700; color:#0f3a5f; margin:0; }
.aw-contact-big-card p { font-size:14px; color:#666; line-height:1.6; margin:0; }
.aw-cbig-action { font-size:13px; font-weight:700; color:#ff9800; margin-top:.5rem; }

/* Contacto — bloques extra */
.aw-contact-extra-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.aw-page-block { border:1px solid #dde3ea; border-radius:12px; overflow:hidden; }
.aw-page-block-head { background:#0f3a5f; color:#fff; padding:.9rem 1.2rem; font-size:14px; font-weight:700; display:flex; align-items:center; gap:.5rem; }
.aw-page-block-body { padding:1.2rem; }

/* Nota final */
.aw-page-note { background:#fff8e1; border-left:4px solid #ff9800; border-radius:8px; padding:1.2rem 1.5rem; font-size:14px; color:#555; line-height:1.8; }

/* Responsive páginas internas */
@media (max-width:900px) {
    .aw-page-intro { grid-template-columns:1fr; }
    .aw-location-grid { grid-template-columns:1fr; }
    .aw-contact-grid { grid-template-columns:1fr; }
    .aw-contact-extra-grid { grid-template-columns:1fr; }
    .aw-page-hero h1 { font-size:30px; }
}

/* Formulario contacto nativo */
.aw-contact-form-wrap { max-width: 700px; }
.wpcf7 { max-width: 700px; }
.aw-native-form { display: flex; flex-direction: column; gap: 1.2rem; }
.aw-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.aw-form-group { display: flex; flex-direction: column; gap: .4rem; }
.aw-form-group label { font-size: 12px; font-weight: 700; color: #5a6a7a; text-transform: uppercase; letter-spacing: .4px; }
.aw-form-group input,
.aw-form-group textarea { padding: .9rem 1rem; border: 2px solid #dde3ea; border-radius: 8px; font-size: 15px; font-family: inherit; transition: border-color .2s; }
.aw-form-group input:focus,
.aw-form-group textarea:focus { border-color: #0f3a5f; outline: none; }
.aw-form-group textarea { resize: vertical; }
@media (max-width: 600px) {
    .aw-form-row { grid-template-columns: 1fr; }
    .aw-contact-extra-grid { grid-template-columns: 1fr !important; }
}

/* ============================================================
   CONTACTO — layout formulario + sidebar
   ============================================================ */
.aw-contact-form-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 2.5rem;
    align-items: start;
}
.aw-cf7-wrap { background: #f8f9fa; border-radius: 12px; padding: 2rem; border: 1px solid #dde3ea; }

/* CF7 — estilos compactos y elegantes */
.aw-cf7-wrap .wpcf7-form p { margin-bottom: 1rem; }
.aw-cf7-wrap .wpcf7-form label { font-size: 11px; font-weight: 700; color: #5a6a7a; text-transform: uppercase; letter-spacing: .5px; display: block; margin-bottom: .35rem; }
.aw-cf7-wrap .wpcf7-form input[type="text"],
.aw-cf7-wrap .wpcf7-form input[type="email"],
.aw-cf7-wrap .wpcf7-form input[type="tel"],
.aw-cf7-wrap .wpcf7-form select,
.aw-cf7-wrap .wpcf7-form textarea { width: 100%; padding: .75rem 1rem; border: 2px solid #dde3ea; border-radius: 8px; font-size: 14px; font-family: inherit; background: #fff; transition: border-color .2s; }
.aw-cf7-wrap .wpcf7-form input:focus,
.aw-cf7-wrap .wpcf7-form textarea:focus { border-color: #0f3a5f; outline: none; box-shadow: 0 0 0 3px rgba(15,58,95,.08); }
.aw-cf7-wrap .wpcf7-form textarea { resize: vertical; min-height: 120px; }
.aw-cf7-wrap .wpcf7-form input[type="submit"] { background: #ff9800; color: #fff; border: none; padding: .85rem 2rem; border-radius: 8px; font-size: 14px; font-weight: 700; cursor: pointer; text-transform: uppercase; letter-spacing: .5px; transition: background .2s; }
.aw-cf7-wrap .wpcf7-form input[type="submit"]:hover { background: #e68900; }
.aw-cf7-wrap .wpcf7-response-output { margin-top: 1rem; padding: .8rem 1rem; border-radius: 8px; font-size: 13px; border: none !important; }
.aw-cf7-wrap .wpcf7-mail-sent-ok { background: #e8f5e9; color: #2e7d32; }
.aw-cf7-wrap .wpcf7-validation-errors { background: #fff3e0; color: #e65100; }
.aw-form-note { color: #555; font-size: 15px; line-height: 1.7; }
.aw-form-note a { color: #0f3a5f; font-weight: 600; }

/* Sidebar */
.aw-contact-sidebar { display: flex; flex-direction: column; gap: 1.2rem; }
.aw-sidebar-block { background: #fff; border: 1px solid #dde3ea; border-radius: 12px; padding: 1.4rem; }
.aw-sidebar-block-title { font-size: 13px; font-weight: 700; color: #0f3a5f; text-transform: uppercase; letter-spacing: .4px; margin-bottom: .8rem; display: flex; align-items: center; gap: .4rem; }
.aw-sidebar-trust { background: #f4f7fa; border-left: 4px solid #ff9800; border-radius: 8px; padding: 1.2rem 1.4rem; display: flex; flex-direction: column; gap: .9rem; }
/* aw-trust-item — solo en sidebar de contacto, no sobreescribir el global */
.aw-contact-sidebar .aw-trust-item { display: flex; gap: .7rem; align-items: flex-start; font-size: 13px; color: #555; line-height: 1.6; }
.aw-contact-sidebar .aw-trust-item > span:first-child { flex-shrink: 0; font-size: 16px; margin-top: 1px; }
.aw-contact-sidebar .aw-trust-item strong { color: #0f3a5f; }

@media (max-width: 860px) {
    .aw-contact-form-layout { grid-template-columns: 1fr; }
}

/* ============================================================
   ARCHIVE / CATEGORÍAS WooCommerce
   ============================================================ */
.aw-cat-hero {
    background: linear-gradient(135deg,#0f3a5f 0%,#1a5276 70%,#c47a00 100%);
    background-size: cover;
    background-position: center;
    position: relative;
    min-height: 180px;
    display: flex;
    align-items: center;
}
.aw-cat-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,rgba(15,58,95,.88) 0%,rgba(15,58,95,.7) 100%);
    display: flex;
    align-items: center;
    width: 100%;
}
.aw-cat-hero-inner {
    max-width: 1300px;
    margin: 0 auto;
    padding: 2.5rem 2rem;
    width: 100%;
    color: #fff;
}
.aw-cat-hero-inner .woocommerce-breadcrumb {
    font-size: 13px;
    color: rgba(255,255,255,.75);
    margin-bottom: .8rem;
}
.aw-cat-hero-inner .woocommerce-breadcrumb a { color: rgba(255,255,255,.75); text-decoration: none; }
.aw-cat-hero-inner .woocommerce-breadcrumb a:hover { color: #ff9800; }
.aw-cat-hero-inner h1 {
    font-size: 36px;
    font-weight: 800;
    margin: 0 0 .5rem;
    color: #fff;
}
.aw-cat-hero-inner p { font-size: 16px; color: rgba(255,255,255,.85); max-width: 600px; }

/* Contenedor principal */
.aw-cat-wrap { max-width: 1300px; margin: 0 auto; padding: 2.5rem 2rem 4rem; }

/* Barra top */
.aw-cat-topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 2px solid #eee; flex-wrap: wrap; gap: 1rem; }
.aw-cat-count .woocommerce-result-count { font-size: 14px; color: #666; margin: 0; }
.aw-cat-ordering select { padding: .6rem 1rem; border: 2px solid #dde3ea; border-radius: 8px; font-size: 14px; font-family: inherit; color: #333; background: #fff; cursor: pointer; }

/* Subcategorías */
.aw-subcats { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 2rem; }
.aw-subcat-pill { display: inline-flex; align-items: center; gap: .5rem; background: #f4f7fa; border: 2px solid #dde3ea; border-radius: 30px; padding: .4rem 1rem .4rem .5rem; text-decoration: none; color: #0f3a5f; font-size: 13px; font-weight: 600; transition: all .2s; }
.aw-subcat-pill:hover { background: #0f3a5f; color: #fff; border-color: #0f3a5f; }
.aw-subcat-pill img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }

/* Grid — reutiliza las cards del homepage */
.aw-cat-grid { grid-template-columns: repeat(auto-fill,minmax(280px,1fr)); margin-top: 0; }
.aw-cat-grid .aw-product-name a { text-decoration: none; color: inherit; }
.aw-cat-grid .aw-product-name a:hover { color: #ff9800; }
.aw-product-footer { display: flex; flex-direction: column; gap: .6rem; }

/* Paginación */
.aw-cat-pagination { margin-top: 3rem; text-align: center; }
.aw-cat-pagination .woocommerce-pagination ul { display: inline-flex; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.aw-cat-pagination .woocommerce-pagination li a,
.aw-cat-pagination .woocommerce-pagination li span { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 2px solid #dde3ea; border-radius: 8px; font-size: 14px; font-weight: 600; color: #0f3a5f; text-decoration: none; transition: all .2s; }
.aw-cat-pagination .woocommerce-pagination li a:hover { background: #0f3a5f; color: #fff; border-color: #0f3a5f; }
.aw-cat-pagination .woocommerce-pagination .current span { background: #ff9800; color: #fff; border-color: #ff9800; }

/* Vacío */
.aw-cat-empty { text-align: center; padding: 4rem 2rem; color: #666; }

/* Breadcrumb en páginas estándar */
.woocommerce-breadcrumb { font-size: 13px; color: #888; margin-bottom: 1.5rem; }
.woocommerce-breadcrumb a { color: #0f3a5f; text-decoration: none; }
.woocommerce-breadcrumb a:hover { color: #ff9800; }

@media (max-width: 600px) {
    .aw-cat-hero-inner h1 { font-size: 26px; }
    .aw-cat-topbar { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   VIDEO SECTION — fondo consistente + título con contraste
   ============================================================ */
.sp-video-section {
    background: #0a2744 !important;
    max-width: 100% !important;
    margin: 0 0 0 0 !important;
    padding: 2.5rem 2rem !important;
}
.sp-video-section .sp-video-section-inner {
    max-width: 860px;
    margin: 0 auto;
}
.sp-video-title {
    color: #fff !important;
    border-bottom-color: #ff9800 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 1.2rem !important;
    padding-bottom: .6rem !important;
    display: inline-block !important;
    text-shadow: none !important;
}

/* ============================================================
   ACCESIBILIDAD — fixes PageSpeed (contraste WCAG AA)
   #ff9800 sobre blanco = ratio 2.52 (FALLA)
   Necesitamos ≥ 4.5:1 texto normal, ≥ 3:1 texto grande/bold
   ============================================================ */

/* Precio producto — texto grande bold, ratio mínimo 3:1 */
.sp-price,
.sp-price bdi,
.aw-product-price .woocommerce-Price-amount,
.sp-related-price .woocommerce-Price-amount,
.sp-related-price bdi { color: #b06000 !important; }

/* Badge OFERTA — texto blanco sobre fondo naranja */
.sp-badge-oferta,
.aw-product-badge { background-color: #b05000 !important; color: #fff !important; }

/* Botón Comprar ahora — blanco sobre naranja oscuro */
.sp-btn-buy,
.aw-product-btn:not(.aw-product-btn-secondary) { background-color: #c47000 !important; color: #fff !important; }
.sp-btn-buy:hover,
.aw-product-btn:not(.aw-product-btn-secondary):hover { background-color: #a35d00 !important; }

/* Botón teléfono en nav — blanco sobre naranja */
.aw-nav a.aw-phone { background-color: #b05000 !important; }

/* Tab activo — texto naranja sobre blanco */
.sp-tab.active { color: #b06000 !important; border-bottom-color: #b06000 !important; }

/* Stock label verde — oscurecer para contraste */
.sp-stock.in-stock .sp-stock-label { color: #1a6b2a !important; }

/* Nota instalación — texto sobre fondo amarillo */
.sp-desc-note { color: #5a3e00 !important; }
.sp-desc-note strong { color: #4a3300 !important; }

/* Precios tachados — color más oscuro */
.sp-price-regular del,
.sp-price-regular del bdi,
bdi { color: #555 !important; }

/* Descripción tab activo en página */
button.sp-tab.active { color: #b06000 !important; }

/* ============================================================
   ACCESIBILIDAD — "Ver detalles" links idénticos
   Añadir aria-label con nombre del producto via CSS no es
   posible — se hace en el PHP del single-product.php
   ============================================================ */

/* ============================================================
   ACCESIBILIDAD — DL structure (se arregla en PHP)
   ============================================================ */

/* ============================================================
   MOBILE FIX — trust grid + overflow global
   ============================================================ */

/* Prevenir desborde horizontal en todo el sitio */
html, body { overflow-x: hidden; max-width: 100vw; }
*, *::before, *::after { box-sizing: border-box; }

/* Trust grid responsive */
@media (max-width: 900px) {
    .aw-trust-items { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
    .aw-trust-item  { padding: 1.5rem .8rem; }
    .aw-trust-number { font-size: 34px; }
}
@media (max-width: 480px) {
    .aw-trust-items  { grid-template-columns: repeat(2, 1fr); gap: .8rem; margin-top: 2rem; }
    .aw-trust-item   { padding: 1.2rem .6rem; border-radius: 8px; }
    .aw-trust-number { font-size: 28px; }
    .aw-trust-label  { font-size: 12px; }
    .aw-trust        { padding: 3rem 1rem; }
}
