/* Eklipse — dark luxury lunar. Paleta y reglas: skill eklipse-diseno. Sin oro, sin azul. */
:root { --ek-base:#0b0b0d; --ek-base-2:#141419; --ek-strip:#17171b; --ek-text:#f2f2f4; --ek-silver:#e9e9ec; --ek-muted:#a5a5ad; --ek-line:#2a2a31; }
body { background: var(--ek-base); -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding-top: 0; }
.wp-site-blocks > * { margin-block-start: 0; }

/* Barra de anuncios: rota los 3 mensajes */
.ek-announce { font-size: 13px; font-weight: 500; text-align: center; overflow: hidden; }
.ek-announce__track { position: relative; height: 1.5em; }
.ek-announce__track span { position: absolute; inset: 0; opacity: 0; animation: ek-rotate 12s infinite; }
.ek-announce__track span:nth-child(2) { animation-delay: 4s; }
.ek-announce__track span:nth-child(3) { animation-delay: 8s; }
@keyframes ek-rotate { 0%, 3% { opacity: 0; } 6%, 30% { opacity: 1; } 33%, 100% { opacity: 0; } }

/* Header */
.ek-header { border-bottom: 1px solid var(--ek-line); padding: 14px 20px 10px; position: sticky; top: 0; z-index: 50; }
.ek-header__row { align-items: center; }
.ek-header__left, .ek-header__right { flex: 1; gap: 14px; }
.ek-header__right { justify-content: flex-end; }
.ek-logo img { display: block; width: 90px; height: auto; }
.ek-desktop-nav { margin-top: 14px; }
.ek-desktop-nav a { text-decoration: none; }
.ek-desktop-nav a:hover { text-decoration: underline; text-underline-offset: 6px; }
.ek-mobile-nav { display: none; }
.ek-header .wp-block-search__button { background: transparent; color: var(--ek-text); border: 0; padding: 4px; }
.ek-header svg { fill: currentColor; }
.wc-block-mini-cart__button, .wc-block-customer-account a { color: var(--ek-text); }
.wc-block-mini-cart__badge { background: var(--ek-silver); color: var(--ek-base); }
@media (max-width: 749px) {
	.ek-desktop-nav { display: none; }
	.ek-mobile-nav { display: flex; }
	.ek-logo img { width: 70px; }
}

/* Hero */
.ek-hero { position: relative; background: #000; min-height: 560px; display: grid; place-items: center; overflow: hidden; }
.ek-hero picture, .ek-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ek-hero__content { position: relative; text-align: center; max-width: 620px; padding: 40px 20px; }
.ek-hero__content h1 { margin: 0 0 14px; }
.ek-hero__content p { color: #d7d7dc; margin: 0 0 26px; }
@media (max-width: 749px) {
	.ek-hero { min-height: 640px; align-items: start; }
	.ek-hero__content { padding-top: 64px; }
}

/* Secciones */
.ek-section { padding: 72px 20px; }
.ek-eyebrow { font-size: 14px !important; letter-spacing: 0.24em !important; color: var(--ek-silver); }
.ek-lead { max-width: 640px; margin-inline: auto; }

/* Grilla de productos (shortcode y bloques) */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 28px 20px; margin: 32px 0 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; text-align: left; }
.woocommerce ul.products li.product img { background: #000; margin-bottom: 12px; aspect-ratio: 1; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px; font-weight: 500; padding: 0; color: var(--ek-text); }
.woocommerce ul.products li.product .price { color: var(--ek-text); font-size: 15px; }
.woocommerce ul.products li.product .button { width: 100%; text-align: center; margin-top: 10px; background: transparent; color: var(--ek-text); border: 1px solid var(--ek-text); border-radius: 0; font-weight: 500; }
.woocommerce ul.products li.product .button:hover { background: #fff; color: var(--ek-base); }
@media (max-width: 989px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }

.woocommerce .price del, .wc-block-components-product-price del { color: var(--ek-muted); opacity: 1; font-weight: 400; }
.woocommerce .price ins, .wc-block-components-product-price ins { text-decoration: none; }
.woocommerce span.onsale, .wc-block-components-product-sale-badge { background: var(--ek-silver) !important; color: var(--ek-base) !important; border-radius: 40px; min-height: 0; min-width: 0; line-height: 1; padding: 6px 12px; font-size: 12px; font-weight: 500; border: 0; }

/* Por qué el set */
.ek-why { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 32px; }
.ek-why__card { background: var(--ek-base-2); text-decoration: none; display: block; padding-bottom: 22px; }
.ek-why__card img { width: 100%; height: auto; display: block; aspect-ratio: 1; object-fit: cover; }
.ek-why__card h3 { margin: 18px 20px 6px; }
.ek-why__card p { margin: 0 20px 12px; color: var(--ek-muted); font-size: 15px; }
.ek-why__card span { margin: 0 20px; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 749px) { .ek-why { grid-template-columns: 1fr; } }

/* Reseñas */
.ek-reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.ek-review { background: var(--ek-base); border: 1px solid var(--ek-line); padding: 20px; }
.ek-review__stars { color: var(--ek-silver); letter-spacing: 2px; font-size: 14px; }
.ek-review__author { font-weight: 500; margin: 8px 0 6px; }
.ek-review__body { color: #cfcfd5; font-size: 15px; margin: 0; }
.ek-review__product { color: var(--ek-muted); font-size: 13px; margin-top: 10px; }
.ek-reviews__summary { text-align: center; color: var(--ek-muted); }
@media (max-width: 989px) { .ek-reviews__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 749px) { .ek-reviews__grid { grid-template-columns: 1fr; } }
.star-rating span::before, .woocommerce p.stars a, .woocommerce .star-rating { color: var(--ek-silver); }

/* Página de producto */
.woocommerce div.product .product_title { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ek-text); font-size: 1.3rem; }
.woocommerce div.product form.cart .button, .woocommerce .single_add_to_cart_button, .wc-block-components-button:not(.is-link) {
	background: #fff !important; color: var(--ek-base) !important; border-radius: 0 !important; font-weight: 500; letter-spacing: .06em; padding: .9em 2em;
}
.woocommerce div.product form.cart .variations select, .woocommerce .quantity .qty, input, select, textarea {
	background: var(--ek-base-2); color: var(--ek-text); border: 1px solid var(--ek-line); border-radius: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--ek-base-2); border-color: var(--ek-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--ek-base); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--ek-text); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li { border-color: var(--ek-line); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { background: var(--ek-base-2); color: var(--ek-text); border-top-color: var(--ek-silver); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ek-silver); }

/* Checkout / carrito (bloques) */
.wc-block-components-panel, .wc-block-components-totals-wrapper, .wc-block-components-sidebar { border-color: var(--ek-line) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input { background: var(--ek-base-2) !important; color: var(--ek-text) !important; border-color: var(--ek-line) !important; }
.wc-block-components-text-input label { color: var(--ek-muted) !important; }

/* Footer */
.ek-footer .ek-eyebrow { font-size: 12px !important; }
.ek-footer__links { list-style: none; padding: 0; margin: 0; }
.ek-footer__links li { margin: 0 0 8px; }
.ek-footer__links a { color: var(--ek-muted); text-decoration: none; font-size: 14px; }
.ek-footer__links a:hover { color: var(--ek-text); }
.ek-footer__legal { border-top: 1px solid var(--ek-line); padding-top: 24px; margin-top: 40px; }

/* Ajustes v1.1 */
@media (min-width: 750px) { .ek-header .ek-mobile-nav { display: none !important; } }
.ek-desktop-nav { row-gap: 8px; }
.ek-hero::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 70%); pointer-events: none; }
.ek-hero__content { z-index: 1; }
.woocommerce ul.products li.product { position: relative; }
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale { position: absolute; top: 10px; left: 10px; right: auto; margin: 0; z-index: 2; }
.ek-review-pics { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.ek-review-pics img { width: 96px; height: 96px; object-fit: cover; border: 1px solid var(--ek-line); }
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-color: var(--ek-line); border-radius: 0; }
.woocommerce #reviews #comments ol.commentlist li img.avatar { display: none; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { margin-left: 0; }
.product_meta .tagged_as, .wp-block-post-terms.taxonomy-product_tag, .wc-block-components-product-meta .taxonomy-product_tag { display: none !important; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; }
.woocommerce div.product form.cart .variations { width: 100%; }
@media (max-width: 749px) {
	.ek-announce { font-size: 12px; }
	.ek-announce__track { height: 3em; }
	.ek-announce__track span { display: flex; align-items: center; justify-content: center; }
}
.wc-blocks-components-select .wc-blocks-components-select__container, .wc-blocks-components-select select,
.wc-block-components-country-input select, .wc-block-components-state-input select { background: var(--ek-base-2) !important; color: var(--ek-text) !important; border-color: var(--ek-line) !important; }
.wc-blocks-components-select .wc-blocks-components-select__label { color: var(--ek-muted) !important; }
.wc-blocks-components-select__expand { fill: var(--ek-text) !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-color: var(--ek-line) !important; }
.wc-block-components-order-summary-item__quantity { background: var(--ek-silver); color: var(--ek-base); border-color: var(--ek-silver); }
.wc-block-components-sale-badge { background: var(--ek-base-2); color: var(--ek-silver); border-color: var(--ek-line); }
