/*
Theme Name: EB Boutique
Theme URI: https://ebbeautyandwellness.com
Author: WebMarketDO
Author URI: https://webmarketdo.com
Description: Tema de bloques a medida para EB Beauty & Wellness. Cabecera, pie, plantillas y tienda editables desde Apariencia → Editor. Compatible con WooCommerce y Elementor.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.6
License: GNU General Public License v2 or later
Text Domain: eb-boutique
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
:where(a) { text-underline-offset: .2em; }
:focus-visible { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 3px; }

/* ---------- Top bar ---------- */
.eb-topbar p { margin: 0; letter-spacing: .18em; text-transform: uppercase; }

/* ---------- Header ---------- */
.eb-header { position: sticky; top: 0; z-index: 50; background: var(--wp--preset--color--paper); border-bottom: 1px solid var(--wp--preset--color--line); }
.admin-bar .eb-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .eb-header { top: 46px; } }
.eb-header .wp-block-navigation { font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; }
.eb-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--gold); }
.eb-header .wp-block-navigation__submenu-container { border: 1px solid var(--wp--preset--color--line) !important; padding: .5rem 0; min-width: 220px; }
.eb-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.2rem; }
.eb-header .wp-block-site-logo img { display: block; }
.eb-icons { gap: .9rem; }
.eb-icons .wp-block-search__button { background: transparent; border: 0; color: var(--wp--preset--color--navy); padding: 4px; }
.eb-icons .wc-block-mini-cart__button, .eb-icons .wc-block-customer-account a { color: var(--wp--preset--color--navy); }
.eb-icons .wc-block-mini-cart__badge { background: var(--wp--preset--color--gold) !important; color: #fff !important; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 1.2rem; font-size: 1rem; }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link, .button, .wc-block-components-button:not(.is-link) {
  letter-spacing: .16em; text-transform: uppercase; font-size: .74rem !important; font-weight: 500; transition: background .25s ease, color .25s ease;
}
.wp-element-button:hover, .wp-block-button__link:hover, .wc-block-components-button:not(.is-link):hover { background: var(--wp--preset--color--gold) !important; color: #fff !important; }
.is-style-outline .wp-block-button__link { border: 1px solid currentColor; }

/* ---------- Eyebrow ---------- */
.eb-eyebrow { letter-spacing: .24em; text-transform: uppercase; font-size: .72rem; color: var(--wp--preset--color--gold); font-weight: 500; }

/* ---------- WooCommerce product grids ---------- */
.wc-block-product-template .wc-block-product, .products .product { text-align: center; }
.wc-block-components-product-image img, .woocommerce ul.products li.product img { background: var(--wp--preset--color--ivory); aspect-ratio: 4/5; object-fit: contain; padding: 1.2rem; transition: transform .5s ease; }
.wc-block-components-product-image:hover img, .woocommerce ul.products li.product a:hover img { transform: scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .wc-block-components-product-name { font-family: var(--wp--preset--font-family--display); font-size: 1.35rem !important; font-weight: 500; color: var(--wp--preset--color--navy); }
.woocommerce ul.products li.product .price, .wc-block-components-product-price { color: var(--wp--preset--color--ink); font-size: .95rem; }
.woocommerce ul.products li.product .button { background: var(--wp--preset--color--navy); color: #fff; border-radius: 0; padding: .9rem 1.4rem; }
.woocommerce ul.products li.product .button:hover { background: var(--wp--preset--color--gold); }
.woocommerce span.onsale, .wc-block-components-product-sale-badge { background: var(--wp--preset--color--gold); color: #fff; border-radius: 0; text-transform: uppercase; letter-spacing: .12em; font-size: .65rem; }
.taxonomy-product_brand a, .wp-block-post-terms.taxonomy-product_brand { letter-spacing: .2em; text-transform: uppercase; font-size: .68rem; color: var(--wp--preset--color--gold); text-decoration: none; }

/* Single product */
.single-product .wp-block-post-title { font-size: clamp(2rem, 4vw, 3rem); }
.woocommerce div.product form.cart .button, .wc-block-add-to-cart-form .single_add_to_cart_button { background: var(--wp--preset--color--navy) !important; color: #fff !important; border-radius: 0 !important; padding: 1rem 2.2rem !important; }
.woocommerce div.product form.cart .button:hover { background: var(--wp--preset--color--gold) !important; }
.woocommerce div.product form.cart .variations select, .woocommerce .quantity .qty { border: 1px solid var(--wp--preset--color--line); border-radius: 0; padding: .6rem; }
.woocommerce-tabs ul.tabs li { border-radius: 0 !important; background: transparent !important; }

/* Store notices / inputs */
.wc-block-components-text-input input, .wc-block-components-textarea, .woocommerce form .input-text, .wp-block-search__input { border-radius: 0 !important; border-color: var(--wp--preset--color--line) !important; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--wp--preset--color--gold); }

/* ---------- Footer ---------- */
.eb-footer a { text-decoration: none; }
.eb-footer a:hover { color: var(--wp--preset--color--gold-soft); }
.eb-footer .wp-block-list { list-style: none; padding: 0; margin: 0; }
.eb-footer .wp-block-list li { margin: .45rem 0; }
.eb-footer h2, .eb-footer h3 { letter-spacing: .2em; text-transform: uppercase; }

/* ---------- Elementor on block theme ---------- */
.eb-canvas .wp-block-post-content > .elementor { max-width: none; }
.elementor-widget-shortcode .woocommerce ul.products { margin-bottom: 0; }

/* ---------- v1.0.1 ---------- */
.elementor .eb-display .elementor-heading-title, .elementor h1.elementor-heading-title, .elementor h2.elementor-heading-title, .elementor h3.elementor-heading-title { font-family: var(--wp--preset--font-family--display); }
.elementor .elementor-widget-text-editor, .elementor .elementor-button, .elementor .eb-eyebrow-el .elementor-heading-title, .elementor .elementor-icon-box-description { font-family: var(--wp--preset--font-family--body); }
.elementor .elementor-icon-box-title { font-family: var(--wp--preset--font-family--display); font-weight: 500; font-size: 1.6rem; }
.eb-brandstrip a { color: inherit; text-decoration: none; }
.eb-brandstrip a:hover { color: var(--wp--preset--color--paper); }
.eb-card { overflow: hidden; }
.eb-card:before { transition: opacity .4s ease; }
.eb-card:hover { transform: translateY(-4px); transition: transform .4s ease; }
.woocommerce ul.products li.product img, .wc-block-components-product-image img { aspect-ratio: 1/1; }
.eb-featured .woocommerce ul.products li.product { margin-bottom: 1.5rem; }
.eb-footer .wp-block-site-logo img { background: #fff; padding: 6px; }
.eb-note { background: var(--wp--preset--color--sand); border-left: 3px solid var(--wp--preset--color--gold); padding: .9rem 1.2rem; font-size: .9rem; }
.wp-block-details { border-bottom: 1px solid var(--wp--preset--color--line); padding: 1rem 0; }
.wp-block-details summary { font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; color: var(--wp--preset--color--navy); cursor: pointer; }

/* ---------- v1.0.2 ---------- */
.wc-block-components-product-image img, .woocommerce ul.products li.product img { box-sizing: border-box; width: 100%; }
.wc-block-product-template { gap: 2rem !important; }

/* ---------- v1.0.3: idiomas y formulario ---------- */
.eb-icons .trp-language-switcher { width: auto !important; min-width: 0; height: auto; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.eb-icons .trp-language-switcher > div { border: 0 !important; padding: 4px 22px 4px 4px !important; background-color: transparent !important; }
.eb-icons .trp-language-switcher .trp-ls-shortcode-language { background: #fff; border: 1px solid var(--wp--preset--color--line) !important; }
.eb-icons .trp-language-switcher a { color: var(--wp--preset--color--navy) !important; }
.wpcf7 form { display: grid; gap: 1.1rem; max-width: 640px; }
.wpcf7 label { display: grid; gap: .35rem; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--navy); }
.wpcf7 input:not([type=submit]):not([type=checkbox]), .wpcf7 select, .wpcf7 textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--wp--preset--color--line); padding: .85rem 1rem; font: inherit; text-transform: none; letter-spacing: 0; background: #fff; border-radius: 0; }
.wpcf7 textarea { min-height: 150px; }
.wpcf7 .wpcf7-acceptance label { display: inline; text-transform: none; letter-spacing: 0; font-size: .9rem; color: var(--wp--preset--color--ink); }
.wpcf7 input[type=submit] { background: var(--wp--preset--color--navy); color: #fff; border: 0; padding: 1rem 2.2rem; letter-spacing: .16em; text-transform: uppercase; font-size: .74rem; cursor: pointer; justify-self: start; }
.wpcf7 input[type=submit]:hover { background: var(--wp--preset--color--gold); }
@media (max-width: 600px) { .eb-icons { gap: .5rem; } }

/* ---------- v1.0.4: selector ES | EN ---------- */
.eb-icons p { margin: 0; }
.eb-lang { display: inline-flex; align-items: center; gap: .35rem; font-size: .72rem; letter-spacing: .14em; }
.eb-lang a { color: var(--wp--preset--color--muted); text-decoration: none; }
.eb-lang a.is-active, .eb-lang a:hover { color: var(--wp--preset--color--navy); font-weight: 500; }
.eb-lang-sep { color: var(--wp--preset--color--line); }
