/* ================================================================
   CORAL — Mediterráneo / Terracota (layout-coral)
   ================================================================ */
body.layout-coral { background: #fdf8f5; }

body.layout-coral header { background: #ffffff !important; box-shadow: 0 1px 0 #f0d9ce, 0 2px 8px rgba(0,0,0,.04) !important; }
body.layout-coral #category-buttons { background: #fff8f5 !important; border-top: 1px solid #f0d9ce !important; }
body.layout-coral .header-logo-text strong { color: var(--color-primario) !important; font-weight: 700; letter-spacing: 0.02em; }
body.layout-coral .nav-link-btn, body.layout-coral .quick-pill, body.layout-coral .dropdown-btn { color: #b06050 !important; opacity: 0.75; }
body.layout-coral .nav-link-btn:hover, body.layout-coral .quick-pill:hover { color: var(--color-primario) !important; opacity: 1; }
body.layout-coral .header-search-wrap { background: #fdf0eb; border-color: #f0d9ce; }
body.layout-coral .header-search-wrap input { color: #3d1a12; background: transparent; }
body.layout-coral .header-search-wrap input::placeholder { color: #c8957e; }

/* ── Catálogo: 2-col boutique, retrato 2:3, imagen a full, CTA pill en foto ── */
body.layout-coral .product-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.8rem; }
body.layout-coral .product {
    background: transparent !important;
    border-radius: 20px; border: none !important;
    box-shadow: none; padding: 0; overflow: hidden;
    position: relative;
    transition: transform .24s ease;
}
body.layout-coral .product:hover { transform: translateY(-5px); }
body.layout-coral .prod-img-wrap { aspect-ratio: 2/3; border-radius: 20px; background: #fdf0eb; overflow: hidden; }
body.layout-coral .product:hover .prod-img-wrap img { transform: scale(1.05); }
/* Fondo blanco debajo de imagen para nombre y precio */
body.layout-coral .product h3 { padding: 0.8rem 0.2rem 0.1rem; font-size: 0.88rem; font-weight: 500; color: #3d1a12 !important; line-height: 1.3; margin: 0; }
body.layout-coral .product p { padding: 0 0.2rem 0.6rem; font-size: 1rem; font-weight: 700; color: var(--color-primario) !important; margin: 0; }
/* Botón pill terracota: siempre visible, se levanta al hover */
body.layout-coral .product > button:not(.quantity-controls button) {
    background: var(--color-primario); color: #fff; border-radius: 99px;
    font-size: 0.78rem; font-weight: 600;
    padding: 0.64rem 0.9rem; margin: 0 0; width: 100%;
    transition: background .18s ease, box-shadow .18s ease, transform .16s ease;
    box-shadow: 0 3px 12px rgba(184,76,50,.28);
}
body.layout-coral .product:hover > button:not(.quantity-controls button) { background: var(--color-primario-deep); box-shadow: 0 6px 20px rgba(184,76,50,.38); transform: translateY(-2px); opacity: 1; }
body.layout-coral .product .quantity-controls { background: #fdf0eb; border-radius: 99px; margin: 0; width: 100%; }
body.layout-coral .product .quantity-controls button { color: var(--color-primario); border-radius: 99px; }
/* Relacionados */
body.layout-coral .pd-ab-related-section .prod-img-wrap,
body.layout-coral .pd-ab-rec-track .prod-img-wrap { aspect-ratio: 2/3; border-radius: 14px; }
@media (hover: none) { body.layout-coral .product > button:not(.quantity-controls button) { opacity: 1; transform: translateX(-50%) translateY(0); } }

body.layout-coral .seccion-titulo { color: var(--color-primario); border-bottom-color: #f0d9ce; font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600; }
body.layout-coral .category-title { color: #3d1a12; border-bottom-color: #f0d9ce; }
body.layout-coral .strip-info { background: var(--color-primario); }
body.layout-coral .strip-item, body.layout-coral .strip-item strong, body.layout-coral .strip-item span { color: rgba(255,255,255,.88) !important; border-color: rgba(255,255,255,.15) !important; }
body.layout-coral .precio-actual { color: var(--color-primario) !important; }
body.layout-coral .cart-checkout-btn { background: var(--color-primario); border-radius: 99px; }
body.layout-coral .cart-checkout-btn:hover { background: var(--color-primario-deep); }
body.layout-coral .cat-visual-card { background: #fff; border: 1px solid rgba(184,76,50,.14); border-radius: 16px; box-shadow: 0 2px 8px rgba(120,40,20,.04); }
body.layout-coral .cat-visual-card:hover { border-color: rgba(184,76,50,.38); box-shadow: 0 6px 20px rgba(120,40,20,.1); }
body.layout-coral .cat-visual-nombre { color: #3d1a12 !important; }
body.layout-coral .cat-visual-count { color: var(--color-primario); }

/* ── Hero: gradiente cálido con CTA blanco ── */
body.layout-coral .hero-section { min-height: 440px; background: linear-gradient(140deg, #c25a3c 0%, #e07858 45%, #c4906c 100%); }
body.layout-coral .hero-content { max-width: 600px; padding: 4.5rem 2.5rem; }
body.layout-coral .hero-tag { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); color: #fff; border-radius: 99px; font-size: 0.64rem; letter-spacing: 0.14em; backdrop-filter: none; }
body.layout-coral .hero-titulo { font-size: clamp(2.2rem, 4.5vw, 3.8rem); font-weight: 700; color: #fff; line-height: 1.14; margin-bottom: 1rem; }
body.layout-coral .hero-sub { color: rgba(255,255,255,.6); font-size: 0.9rem; margin-bottom: 2rem; }
body.layout-coral .hero-cta { background: #fff; color: var(--color-primario); border-radius: 99px; font-weight: 700; font-size: 0.84rem; padding: 0.88rem 2.4rem; }
body.layout-coral .hero-cta:hover { background: #fdf8f5; filter: none; }
body.layout-coral .hero-section.has-hero-bg .hero-overlay { background: rgba(190,70,48,.52) !important; }

/* ── Producto detalle: imagen full-width + panel card flotante superpuesto ── */
body.layout-coral .pd-ab-hero { display: block; max-width: 100%; margin: 0; padding: 0; min-height: unset; overflow: visible; }
body.layout-coral .pd-ab-images { position: static; align-self: auto; width: 100%; margin: 0; background: #fdf0eb; border-radius: 0; max-height: 62vh; overflow: hidden; }
body.layout-coral .pd-carousel-frame { min-height: 50vh; max-height: 62vh; border-radius: 0; }
body.layout-coral .pd-ab-main-img { min-height: 50vh; max-height: 62vh; object-fit: cover; background: #fdf0eb; border-radius: 0; width: 100%; display: block; }
body.layout-coral .pd-ab-panel { max-width: 820px; margin: -4.5rem auto 3rem; background: #fff; border-radius: 28px; border: none; box-shadow: 0 14px 56px rgba(120,40,20,.15), 0 2px 8px rgba(120,40,20,.06); padding: 2.8rem 3rem; position: relative; z-index: 10; }
body.layout-coral .pd-car-thumbs { background: rgba(253,240,235,.96); border-top: 1px solid rgba(184,76,50,.1); position: relative; bottom: unset; left: unset; transform: none; width: 100%; box-sizing: border-box; backdrop-filter: none; justify-content: center; border-radius: 0; }
body.layout-coral .pd-ab-title { color: #3d1a12; font-weight: 600; font-size: clamp(1.4rem, 2.5vw, 2.1rem); line-height: 1.24; }
body.layout-coral .pd-price { color: var(--color-primario) !important; font-size: 2.2rem; font-weight: 800; letter-spacing: -0.02em; }
body.layout-coral .pd-ab-rule { background: #f0d9ce; }
body.layout-coral .pd-ab-btn-main { background: var(--color-primario); color: #fff; border-radius: 99px; font-weight: 700; box-shadow: 0 2px 10px rgba(184,76,50,.3); transition: background .18s, box-shadow .18s; }
body.layout-coral .pd-ab-btn-main:hover:not(:disabled) { background: var(--color-primario-deep); opacity: 1; box-shadow: 0 4px 18px rgba(184,76,50,.4); }
body.layout-coral .pd-ab-btn-main.agregado { background: #15803d; box-shadow: 0 2px 10px rgba(21,128,61,.3); }
body.layout-coral .pd-ab-btn-main:disabled, body.layout-coral .pd-ab-btn-main.pd-btn-disabled { background: #e5e7eb; color: #9ca3af; box-shadow: none; }
body.layout-coral .pd-variante-pill.active { background: var(--color-primario); border-color: var(--color-primario); }
body.layout-coral .pd-ab-wsp-link:hover { color: var(--color-primario); border-color: var(--color-primario); }
body.layout-coral .pd-ab-editorial { background: #fdf8f5; }
body.layout-coral .pd-ab-related-section, body.layout-coral .pd-ab-reviews-section, body.layout-coral .pd-ab-cta { background: #fdf8f5; }
body.layout-coral .pd-ab-nav { background: #fdf8f5; border-bottom-color: #f0d9ce; }
body.layout-coral .pd-ab-back { color: rgba(61,26,18,.38); }
body.layout-coral .pd-ab-back:hover { color: var(--color-primario); }
body.layout-coral .pd-breadcrumb a { color: rgba(61,26,18,.48); }
body.layout-coral .pd-breadcrumb a:hover { color: var(--color-primario); }

@media (max-width: 768px) {
    body.layout-coral .pd-ab-images { max-height: 50vw; }
    body.layout-coral .pd-carousel-frame { min-height: 42vw; max-height: 50vw; }
    body.layout-coral .pd-ab-main-img { min-height: 42vw; max-height: 50vw; }
    body.layout-coral .pd-ab-panel { margin: -2.5rem 1rem 2rem; padding: 1.8rem 1.5rem; border-radius: 20px; }
    /* Catalog: catálogo 1-col en mobile */
    body.layout-coral .product-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1.2rem; }
}

/* ── Carrito acorde al tema ── */
body.layout-coral .header-cart-btn { background: var(--color-primario) !important; color: #fff !important; border-radius: 99px; font-weight: 700; box-shadow: 0 2px 8px rgba(184,76,50,.25); }
body.layout-coral .header-cart-btn:hover { background: var(--color-primario-deep) !important; }
body.layout-coral #cart-count { background: #fff; color: var(--color-primario); border-radius: 99px; }
body.layout-coral .cart-header { background: var(--color-primario); }
body.layout-coral .quantity-controls { border-radius: 99px; }
