/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Version: 1.0
Text Domain: hello-elementor-child
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap');

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; }
body {
    margin: 0;
    font-family: 'DM Sans', -apple-system, sans-serif !important;
    color: #1a1a1a !important;
    background: #fff;
    padding-bottom: 52px !important;
}
body, body *, h1, h2, h3, h4, h5, h6, p, a, span, div, li, td, th, input, button, select, textarea, label {
    font-family: 'DM Sans', -apple-system, sans-serif !important;
}
a { color: #1a1a1a !important; }
a:hover { color: #444 !important; }

.amuleto-announce {
    background: #1a1a1a;
    color: #fff !important;
    font-size: 11px;
    text-align: center;
    padding: 7px 16px;
    letter-spacing: .03em;
    width: 100%;
}
.amuleto-announce * { color: #fff !important; }

.site-header, #masthead, header.entry-header { display: none !important; }

.amuleto-header {
    background: #fff;
    border-bottom: 1px solid #e8e5e0;
    padding: 0 16px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 1000;
}
.amuleto-header-logo img { height: 34px; width: auto; display: block; }
.amuleto-header-right { display: flex; align-items: center; gap: 8px; }

.amuleto-menu-btn {
    background: #fff;
    border: 1.5px solid #1a1a1a;
    border-radius: 4px;
    width: 38px; height: 38px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; padding: 0; flex-shrink: 0;
}
.amuleto-menu-btn svg { width: 18px; height: 18px; stroke: #1a1a1a; fill: none; }
.amuleto-menu-btn:hover { background: #1a1a1a; }
.amuleto-menu-btn:hover svg { stroke: #fff; }

.amuleto-carrito-btn {
    background: #fff;
    border: 1.5px solid #1a1a1a;
    border-radius: 4px;
    width: 38px; height: 38px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; text-decoration: none !important; flex-shrink: 0;
}
.amuleto-carrito-btn svg { width: 18px; height: 18px; stroke: #1a1a1a; fill: none; }
.amuleto-carrito-btn:hover { background: #1a1a1a !important; }
.amuleto-carrito-btn:hover svg { stroke: #fff !important; }

#amuleto-menu-drawer * { font-family: 'DM Sans', sans-serif !important; color: #1a1a1a !important; }
#amuleto-menu-drawer .amuleto-nav-menu { list-style: none !important; margin: 0 !important; padding: 0 !important; }
#amuleto-menu-drawer .amuleto-nav-menu > li { list-style: none !important; border-bottom: 1px solid #f0ece8; }
#amuleto-menu-drawer .amuleto-nav-menu > li > a { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 13px 20px !important; font-size: 14px !important; font-weight: 500 !important; text-decoration: none !important; }
#amuleto-menu-drawer .amuleto-nav-menu > li > a:hover { background: #f7f5f2 !important; }
#amuleto-menu-drawer .amuleto-nav-menu > li.menu-item-has-children > a::after { content: ''; display: inline-block; width: 8px; height: 8px; border-right: 1.5px solid #888; border-bottom: 1.5px solid #888; transform: rotate(45deg); transition: transform .2s; flex-shrink: 0; }
#amuleto-menu-drawer .amuleto-nav-menu > li.menu-item-has-children.abierto > a::after { transform: rotate(-135deg); }
#amuleto-menu-drawer .amuleto-nav-menu .sub-menu { list-style: none !important; margin: 0 !important; padding: 0 !important; max-height: 0; overflow: hidden; transition: max-height .3s ease; background: #faf9f7; }
#amuleto-menu-drawer .amuleto-nav-menu li.abierto > .sub-menu { max-height: 600px; }
#amuleto-menu-drawer .amuleto-nav-menu .sub-menu li { list-style: none !important; border-top: 1px solid #f0ece8; }
#amuleto-menu-drawer .amuleto-nav-menu .sub-menu li a { display: block !important; padding: 11px 20px 11px 32px !important; font-size: 13px !important; font-weight: 400 !important; text-decoration: none !important; }
#amuleto-menu-drawer .amuleto-nav-menu .sub-menu li a:hover { background: #f0ece8 !important; }

.woocommerce-result-count, .woocommerce-ordering, .woocommerce-breadcrumb, .woocommerce-products-header, .page-header { display: none !important; }

.site-content, #content, .content-area { padding: 0 12px !important; max-width: 100% !important; }
@media (min-width: 768px) { .site-content, #content, .content-area { max-width: 1200px !important; margin: 0 auto !important; padding: 0 24px !important; } }
.home .site-content, .home #content, .home .content-area, .home .entry-content { padding: 0 !important; max-width: 100% !important; }

.woocommerce ul.products, .woocommerce-page ul.products { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; margin: 12px 0 0 !important; padding: 0 !important; list-style: none !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; content: none !important; }
.woocommerce ul.products li:not(.product) { display: none !important; }
@media (min-width: 768px) {
    .woocommerce ul.products.columns-3, .woocommerce-page ul.products.columns-3 { grid-template-columns: repeat(3,1fr) !important; gap: 16px !important; }
    .woocommerce ul.products.columns-4, .woocommerce-page ul.products.columns-4 { grid-template-columns: repeat(4,1fr) !important; gap: 16px !important; }
}
.woocommerce ul.products li.product { border: 1px solid #e8e5e0 !important; border-radius: 8px !important; overflow: hidden !important; background: #fff !important; padding: 0 !important; margin: 0 !important; float: none !important; width: 100% !important; display: flex !important; flex-direction: column !important; }
.woocommerce ul.products li.product img { width: 100% !important; height: 170px !important; object-fit: cover !important; display: block !important; border-radius: 0 !important; margin: 0 !important; opacity: 1 !important; visibility: visible !important; }
@media (min-width: 768px) { .woocommerce ul.products li.product img { height: 240px !important; } }
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: block !important; text-decoration: none !important; padding: 9px 9px 3px !important; flex: 1 !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px !important; font-weight: 600 !important; line-height: 1.3 !important; margin: 0 0 5px !important; padding: 0 !important; text-align: center !important; }
.woocommerce ul.products li.product .price { font-size: 14px !important; font-weight: 500 !important; display: block !important; padding: 0 9px 3px !important; margin: 0 !important; text-align: center !important; }
.woocommerce ul.products li.product .price del { font-size: 11px !important; color: #bbb !important; font-weight: 400 !important; }
.woocommerce ul.products li.product .price ins { text-decoration: none !important; }
.amuleto-precios-extra { padding: 0 9px 8px !important; text-align: center !important; }
.amuleto-precios-extra span { font-size: 10px !important; color: #888 !important; display: block !important; line-height: 1.5 !important; }
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button { display: block !important; width: 100% !important; padding: 12px 8px !important; background: #1a1a1a !important; color: #fff !important; font-size: 12px !important; font-weight: 500 !important; text-align: center !important; border-radius: 0 !important; border: none !important; cursor: pointer !important; text-decoration: none !important; margin-top: auto !important; box-shadow: none !important; line-height: 1.4 !important; }
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover { background: #333 !important; color: #fff !important; }
.woocommerce span.onsale { background: #1a1a1a !important; color: #fff !important; font-size: 9px !important; font-weight: 500 !important; padding: 2px 6px !important; border-radius: 3px !important; min-width: auto !important; min-height: auto !important; line-height: 1.6 !important; top: 8px !important; left: 8px !important; }

.woocommerce-pagination { margin: 20px 0 70px !important; }
.woocommerce-pagination ul { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; justify-content: center !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-pagination ul li a, .woocommerce-pagination ul li span { display: flex !important; align-items: center !important; justify-content: center !important; width: 36px !important; height: 36px !important; border: 1px solid #e8e5e0 !important; border-radius: 4px !important; font-size: 12px !important; text-decoration: none !important; }
.woocommerce-pagination ul li span.current { background: #1a1a1a !important; color: #fff !important; border-color: #1a1a1a !important; }

.woocommerce-cart h1, .woocommerce-checkout h1, .woocommerce-cart h2, .woocommerce-checkout h2 { font-size: 20px !important; font-weight: 600 !important; }
.woocommerce table.shop_table { border: 1px solid #e8e5e0 !important; border-radius: 8px !important; overflow: hidden !important; }
.woocommerce table.shop_table th { background: #f7f5f2 !important; font-weight: 600 !important; font-size: 12px !important; padding: 10px 12px !important; border-bottom: 1px solid #e8e5e0 !important; }
.woocommerce table.shop_table td { padding: 12px !important; border-bottom: 1px solid #f0ece8 !important; font-size: 13px !important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .cart .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order, .woocommerce-checkout #payment #place_order { background: #1a1a1a !important; color: #fff !important; border: none !important; border-radius: 4px !important; font-size: 13px !important; font-weight: 500 !important; padding: 12px 20px !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #payment #place_order:hover { background: #333 !important; color: #fff !important; }
.woocommerce-checkout .input-text, .woocommerce-checkout select, .woocommerce-checkout textarea { border: 1px solid #e8e5e0 !important; border-radius: 4px !important; font-size: 13px !important; padding: 10px 12px !important; width: 100% !important; }
.woocommerce a, .woocommerce-page a { color: #1a1a1a !important; }

#amuleto-ship-bar-fixed { z-index: 9990 !important; }

.woocommerce div.product .product_title { font-size: 20px !important; font-weight: 600 !important; }
.woocommerce div.product p.price { font-size: 22px !important; font-weight: 500 !important; }
.woocommerce div.product .single_add_to_cart_button { background: #1a1a1a !important; color: #fff !important; border-radius: 4px !important; font-size: 14px !important; font-weight: 500 !important; padding: 14px 24px !important; border: none !important; }
.woocommerce div.product .single_add_to_cart_button:hover { background: #333 !important; }

.amuleto-banners-link { display: block; text-decoration: none; }
.amuleto-banners { width: 100%; overflow: hidden; position: relative; }
.amuleto-banner-track { display: flex; transition: transform .4s ease; }
.amuleto-banner-slide { flex: 0 0 100%; cursor: pointer; }
.amuleto-banner-slide img { width: 100%; height: 200px; object-fit: cover; display: block; }
@media (min-width: 768px) { .amuleto-banner-slide img { height: 420px; } }
.amuleto-banner-dots { display: flex; justify-content: center; gap: 6px; padding: 9px 0; }
.amuleto-banner-dot { width: 6px; height: 6px; border-radius: 50%; background: #ccc; border: none; padding: 0; cursor: pointer; transition: background .2s; }
.amuleto-banner-dot.activo { background: #1a1a1a; }

.amuleto-section { padding: 20px 16px 8px; }
.amuleto-section-bg { background: #f7f5f2; margin-top: 4px; }
.amuleto-section-title { font-size: 15px; font-weight: 600; text-align: center; margin: 0 0 14px; letter-spacing: .02em; }
@media (min-width: 768px) { .amuleto-section { padding: 28px 48px 12px; } }

.amuleto-circles-scroll { display: flex; gap: 12px; overflow-x: auto; padding: 0 0 8px; scrollbar-width: none; }
.amuleto-circles-scroll::-webkit-scrollbar { display: none; }
.amuleto-circle-item { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 5px; text-decoration: none !important; }
.amuleto-circle-img { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; border: 2px solid #e8e5e0; background: #f0ece8; }
.amuleto-circle-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.amuleto-circle-label { font-size: 10px; font-weight: 500; text-align: center; max-width: 70px; line-height: 1.3; color: #1a1a1a !important; }
@media (min-width: 768px) {
    .amuleto-circles-scroll { justify-content: center; gap: 24px; overflow-x: visible; }
    .amuleto-section-bg .amuleto-circles-scroll { flex-wrap: wrap; }
    .amuleto-circle-img { width: 90px; height: 90px; }
    .amuleto-circle-label { font-size: 12px; max-width: 90px; }
}

.amuleto-carousel-wrap { position: relative; padding: 0 24px; }
.amuleto-carousel-viewport { overflow: hidden; touch-action: pan-y; }
.amuleto-carousel-track { display: flex; transition: transform .35s ease; }
.amuleto-carousel-prev,
.amuleto-carousel-next { position: absolute; top: 38%; transform: translateY(-50%); z-index: 10; background: #fff; border: 1px solid #e8e5e0; border-radius: 50%; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 20px; color: #1a1a1a; padding: 0; line-height: 1; }
.amuleto-carousel-prev { left: 0; }
.amuleto-carousel-next { right: 0; }

.amuleto-pc { flex: 0 0 50%; padding: 0 5px; display: flex; flex-direction: column; }
@media (min-width: 768px) { .amuleto-pc { flex: 0 0 25%; } }
.amuleto-pc-img-wrap { display: block; position: relative; overflow: hidden; border-radius: 6px 6px 0 0; border: 0.5px solid #e8e5e0; border-bottom: none; }
.amuleto-pc-img-wrap img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
.amuleto-pc-badge { position: absolute; top: 6px; left: 6px; background: #1a1a1a; color: #fff; font-size: 9px; font-weight: 500; padding: 2px 6px; border-radius: 3px; }
.amuleto-pc-body { padding: 7px 8px 3px; flex: 1; border-left: 0.5px solid #e8e5e0; border-right: 0.5px solid #e8e5e0; }
.amuleto-pc-nombre { font-size: 11px; font-weight: 600; text-align: center; line-height: 1.3; margin-bottom: 3px; }
.amuleto-pc-precio { font-size: 12px; font-weight: 500; text-align: center; }
.amuleto-pc-precio del { font-size: 10px; color: #bbb; font-weight: 400; }
.amuleto-pc-sub { font-size: 9px; color: #888 !important; text-align: center; padding: 2px 8px 5px; border-left: 0.5px solid #e8e5e0; border-right: 0.5px solid #e8e5e0; display: block !important; }
.amuleto-pc-btn { display: block; width: 100%; padding: 10px 8px; background: #1a1a1a; color: #fff !important; font-size: 11px; font-weight: 500; text-align: center; border: none; cursor: pointer; text-decoration: none !important; border-radius: 0 0 6px 6px; }
.amuleto-pc-btn:hover { background: #333 !important; }

.amuleto-ver-mas { display: none !important; }

.site-footer { background: #f7f5f2 !important; padding: 20px 16px 60px !important; }

.amuleto-banners-link { display: block; text-decoration: none !important; }


/* ── PÁGINA DE PRODUCTO INDIVIDUAL ── */

/* Layout desktop: 2 columnas iguales */
.woocommerce div.product {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
    gap: 40px !important;
    align-items: start !important;
    padding: 24px 0 !important;
}

.woocommerce div.product .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
    max-width: none !important;
}

.woocommerce div.product .summary {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
}

@media (max-width: 767px) {
    .woocommerce div.product {
        grid-template-columns: 1fr !important;
    }
    .woocommerce div.product .woocommerce-product-gallery,
    .woocommerce div.product .summary {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}

/* Tabs full width */
.woocommerce div.product .woocommerce-tabs {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    clear: both !important;
}

/* Imagen principal */
.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery img {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    object-fit: cover !important;
    max-height: none !important;
}

/* Título */
.woocommerce div.product .product_title {
    font-size: 22px !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
}

/* Precio */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 24px !important;
    font-weight: 500 !important;
    color: #1a1a1a !important;
    display: block !important;
    margin-bottom: 6px !important;
}

/* Stock */
.woocommerce div.product p.stock {
    font-size: 13px !important;
    margin-bottom: 12px !important;
}
.woocommerce div.product p.stock.in-stock { color: #2d7a52 !important; }
.woocommerce div.product p.stock.out-of-stock { color: #c00 !important; }

/* Cuotas y transferencia */
.amuleto-single-precios {
    font-size: 12px;
    color: #888;
    margin-bottom: 16px;
    line-height: 1.7;
}

/* SKU y etiquetas */
.amuleto-single-meta {
    font-size: 12px;
    color: #888;
    margin: 12px 0 16px;
    line-height: 1.8;
}
.amuleto-single-meta strong {
    color: #1a1a1a;
    font-weight: 500;
}
.amuleto-single-meta a {
    color: #1a1a1a !important;
    text-decoration: underline !important;
}

/* Botón añadir al carrito */
.woocommerce div.product form.cart .single_add_to_cart_button {
    display: block !important;
    width: 100% !important;
    padding: 14px !important;
    background: #1a1a1a !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-align: center !important;
    border-radius: 5px !important;
    border: none !important;
    cursor: pointer !important;
    letter-spacing: .03em !important;
    margin-bottom: 10px !important;
    box-sizing: border-box !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: #333 !important; }

/* Botón WhatsApp — igual que añadir al carrito */
.woocommerce div.product .woo-buy-now-btn,
.woocommerce div.product [class*="whatsapp-btn"],
.woocommerce div.product [class*="wcwa"],
.woocommerce div.product a[href*="api.whatsapp"],
.woocommerce div.product a[href*="wa.me"],
.woocommerce div.product .wc-whatsapp,
.woocommerce div.product [class*="whatsapp"] {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-align: center !important;
    border-radius: 5px !important;
    border: 1.5px solid #1a1a1a !important;
    background: #fff !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    cursor: pointer !important;
    letter-spacing: .03em !important;
    margin-top: 0 !important;
}

/* Cantidad */
.woocommerce div.product form.cart .quantity input {
    border: 1px solid #e8e5e0 !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    padding: 8px 12px !important;
    width: 64px !important;
    text-align: center !important;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0 !important;
    border-bottom: 2px solid #e8e5e0 !important;
    margin-bottom: 20px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: none !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: #1a1a1a !important; }
/* ── Botón WhatsApp de producto — igual que añadir al carrito ── */
button.wa-order-button,
a.wa-order-class,
.wa-order-button {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-align: center !important;
    border-radius: 5px !important;
    border: 1.5px solid #1a1a1a !important;
    background: #fff !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    cursor: pointer !important;
    letter-spacing: .03em !important;
    margin-top: 10px !important;
}
.wa-order-button:hover {
    background: #f7f5f2 !important;
}

/* ── Footer drawer — subir texto para no tapar con WhatsApp flotante ── */
#amuleto-footer {
    padding: 14px 16px 20px !important;
    padding-right: 72px !important;
}
@media (min-width: 480px) {
    #amuleto-footer {
        padding-right: 16px !important;
    }
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 13px !important; font-weight: 500 !important; color: #888 !important; padding: 10px 16px !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #1a1a1a !important; }