/*
Theme Name:   La Beauté · Woodmart Child
Description:  Tema hijo de Woodmart con la línea gráfica de La Beauté (tinta, crema, arena, tostado · Cormorant Garamond + Jost).
Author:       La Beauté
Template:     woodmart
Version:      1.1.5
Text Domain:  labeaute
*/

/* ---------- Tokens de marca + variables de Woodmart ---------- */
html:root {
  --lb-ink: #231f20;
  --lb-cream: #faf8f5;
  --lb-sand: #e7ddd1;
  --lb-tan: #8e7a6e;
  --lb-line: #e3ded7;
  --lb-muted: #5a5a5a;
  --lb-ph: #f1ece5;
  --lb-serif: 'Cormorant Garamond', Georgia, serif;
  --lb-sans: 'Jost', Helvetica, Arial, sans-serif;

  --wd-primary-color: var(--lb-ink);
  --wd-alternative-color: var(--lb-tan);
  --wd-main-bgcolor: var(--lb-cream);
  --wd-text-font: var(--lb-sans);
  --wd-text-font-weight: 400;
  --wd-text-color: #3d3d3d;
  --wd-title-font: var(--lb-serif);
  --wd-title-font-weight: 300;
  --wd-title-color: var(--lb-ink);
  --wd-entities-title-font: var(--lb-serif);
  --wd-entities-title-font-weight: 400;
  --wd-entities-title-color: var(--lb-ink);
  --wd-entities-title-color-hover: var(--lb-tan);
  --wd-header-el-font: var(--lb-sans);
  --wd-header-el-font-weight: 400;
  --wd-widget-title-font: var(--lb-sans);
  --wd-link-color: var(--lb-ink);
  --wd-link-color-hover: var(--lb-tan);
  --wd-brd-radius: 0px;
  --wd-form-brd-radius: 0px;
  --btn-default-brd-radius: 0px;
  --btn-accented-brd-radius: 0px;
  --btn-accented-bgcolor: var(--lb-ink);
  --btn-accented-bgcolor-hover: #4a423d;
  --btn-accented-color: var(--lb-cream);
  --btn-accented-color-hover: var(--lb-cream);
}

body { background: var(--lb-cream); font-family: var(--lb-sans); font-weight: 400; color: #3d3d3d; }
.page-template-page-labeaute-home .page-title, .page-template-page-labeaute-home .wd-page-title { display: none !important; }
::selection { background: var(--lb-sand); color: var(--lb-ink); }
a { color: var(--lb-ink); }
a:hover { color: var(--lb-tan); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 1px solid var(--lb-tan); outline-offset: 3px; }

h1, h2, h3, h4, .title, .page-title .entry-title, .product_title {
  font-family: var(--lb-serif); font-weight: 300; color: var(--lb-ink); letter-spacing: 0;
}
h5, h6, .widget-title, .wd-widget-title, .widgettitle {
  font-family: var(--lb-sans) !important; font-weight: 500 !important; font-size: 12px !important; letter-spacing: .2em; text-transform: uppercase;
}

/* ---------- Botones ---------- */
.button, .btn, .woocommerce form button[type="submit"], .wd-add-btn > a, .add_to_cart_button,
.single_add_to_cart_button, .checkout-button, #place_order, .wc-forward {
  border-radius: 0 !important; box-shadow: none !important;
  font-family: var(--lb-sans) !important; font-weight: 400 !important;
  font-size: 12px !important; letter-spacing: .26em !important; text-transform: uppercase !important;
}
.single_add_to_cart_button, .checkout-button, #place_order, .btn-color-primary, .button.alt {
  background: var(--lb-ink) !important; color: var(--lb-cream) !important; border: 1px solid var(--lb-ink) !important;
}
.single_add_to_cart_button:hover, .checkout-button:hover, #place_order:hover, .btn-color-primary:hover, .button.alt:hover {
  background: #4a423d !important; border-color: #4a423d !important;
}

/* ---------- Formularios ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], input[type="number"],
select, textarea, .select2-container .select2-selection {
  border-radius: 0 !important; border-color: var(--lb-line) !important; background-color: #fff; font-family: var(--lb-sans);
}

/* ---------- Header ---------- */
.whb-top-bar { background: var(--lb-ink) !important; border: 0 !important; }
.whb-top-bar, .whb-top-bar a, .whb-top-bar .wd-nav > li > a { color: var(--lb-cream) !important; font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.whb-general-header { background: var(--lb-cream) !important; border-bottom: 1px solid var(--lb-line) !important; }
.whb-header .wd-nav-main > li > a, .whb-header .wd-nav > li > a {
  font-family: var(--lb-sans); font-weight: 500; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--lb-ink);
}
.whb-header .wd-nav > li > a:hover { color: var(--lb-tan); }
.whb-main-header .wd-nav-main { flex-wrap: nowrap; }
@media (min-width: 1025px) {
  .whb-general-header .whb-col-left, .whb-general-header .whb-col-right { flex: 1 1 0 !important; min-width: 0; max-width: none !important; }
  .whb-general-header .whb-col-center { flex: 0 0 auto !important; }
  .whb-general-header .whb-col-left, .whb-general-header .whb-col-left .wd-nav { justify-content: flex-start !important; }
  .whb-general-header .whb-col-left .wd-header-nav { flex: 1 1 auto !important; margin-right: auto !important; margin-left: 0 !important; text-align: left !important; --wd-justify-content: flex-start; }
  .whb-general-header .whb-col-left .wd-nav { --wd-justify-content: flex-start; margin-left: 0 !important; }
  .whb-general-header .wd-nav { flex-wrap: nowrap !important; }
  .whb-general-header .wd-nav > li > a { font-size: 12px; letter-spacing: .1em; padding-left: 9px !important; padding-right: 9px !important; white-space: nowrap; }
  .whb-general-header .whb-col-left .wd-nav > li:first-child > a { padding-left: 0 !important; }
  .whb-header-bottom { background: var(--lb-cream) !important; border-bottom: 1px solid var(--lb-line) !important; }
  .whb-header-bottom .whb-flex-row { justify-content: center; }
  .whb-header-bottom .wd-nav { justify-content: center !important; flex-wrap: nowrap !important; }
  .whb-header-bottom .wd-nav > li > a { font-size: 12px; letter-spacing: .18em; padding-left: 16px !important; padding-right: 16px !important; }
}
.whb-main-header .wd-nav-main > li > a { font-size: 12px; letter-spacing: .1em; padding-left: 9px; padding-right: 9px; white-space: nowrap; }
.whb-main-header .wd-nav-main > li + li::before, .whb-main-header .wd-nav-main > li::after { display: none !important; }
.wd-cart-number, .wd-tools-count { background: var(--lb-ink) !important; color: var(--lb-cream) !important; }
.whb-main-header .wd-header-search-form, .whb-main-header .wd-header-search-form .searchform { max-width: 220px; }
.whb-main-header .searchform input[type="text"], .whb-main-header .searchform input[type="search"] {
  background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--lb-ink) !important;
  padding-left: 0 !important; height: 38px; font-size: 13px; color: var(--lb-ink);
}
.whb-main-header .searchform input::placeholder { color: #8c8c8c; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.whb-header .wd-header-cats, .whb-header .wd-header-cats .menu-opener, .whb-header .header-categories-nav .menu-opener { background-color: transparent !important; }

/* ---------- Título de página / breadcrumbs ---------- */
.page-title { background-color: var(--lb-sand) !important; }
.page-title .entry-title, .page-title .title { color: var(--lb-ink) !important; font-family: var(--lb-serif); font-weight: 300; }
.page-title .breadcrumbs, .page-title .breadcrumbs a, .woocommerce-breadcrumb, .woocommerce-breadcrumb a {
  color: var(--lb-muted) !important; font-size: 12px; letter-spacing: .2em; text-transform: uppercase;
}

/* ---------- Grilla de productos ---------- */
.wd-product .product-element-top, .product-grid-item .product-element-top { background: var(--lb-ph); border-radius: 0; }
.wd-product img { border-radius: 0; }
.wd-product .wd-entities-title, .product-grid-item .wd-entities-title, .wd-product .wd-entities-title a {
  font-family: var(--lb-serif) !important; font-weight: 500 !important; font-size: 20px !important; line-height: 1.25 !important;
}
.wd-product .wd-product-cats, .wd-product .wd-product-cats a {
  font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--lb-tan);
}
.wd-product .price, .product-grid-item .price { font-family: var(--lb-sans); font-size: 15px; font-weight: 500; letter-spacing: .04em; color: var(--lb-ink); }
.wd-product .price *, .product-grid-item .price * { font-weight: 500; }
.price .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wd-product .price del { color: #8c8c8c; }
.onsale, .product-label, .product-labels .product-label {
  border-radius: 0 !important; background: var(--lb-cream) !important; color: var(--lb-ink) !important;
  font-family: var(--lb-sans); font-weight: 400; font-size: 11px; letter-spacing: .24em; text-transform: uppercase;
}
.wd-product .wd-add-btn > a, .wd-product .add_to_cart_button {
  background: transparent !important; color: var(--lb-ink) !important; border: 1px solid var(--lb-ink) !important;
}
.wd-product .wd-add-btn > a:hover, .wd-product .add_to_cart_button:hover { background: var(--lb-ink) !important; color: var(--lb-cream) !important; }

/* ---------- Ficha de producto ---------- */
.single-product .product_title { font-size: clamp(36px, 4vw, 52px); line-height: 1.1; }
.single-product .summary .price { font-family: var(--lb-sans); font-size: 20px; letter-spacing: .08em; color: var(--lb-ink); }
.woocommerce-tabs .wd-nav-tabs > li > a, .woocommerce-tabs .tabs > li > a {
  font-size: 12px; letter-spacing: .26em; text-transform: uppercase; font-weight: 400;
}
.woocommerce-product-gallery img { border-radius: 0; }

/* ---------- Carrito / checkout ---------- */
.shop_table th { font-family: var(--lb-sans); font-weight: 400; font-size: 12px; letter-spacing: .24em; text-transform: uppercase; }
.cart-totals-inner, .woocommerce-checkout-review-order, .checkout-order-review { border-radius: 0 !important; background: #fff; border: 1px solid var(--lb-line); }

/* ---------- Footer (colores: Theme Settings → Footer) ---------- */
.footer-container { font-size: 14px; }
.copyrights-wrapper { font-size: 12px; letter-spacing: .06em; }
.lb-own-footer .footer-container, .lb-own-footer .main-footer, .lb-own-footer .copyrights-wrapper { display: none !important; }
.lb-footer { background: var(--lb-ink); color: #cfc6bc; font-family: var(--lb-sans); font-size: 14px; }
.lb-footer a { color: var(--lb-cream); }
.lb-footer a:hover { color: var(--lb-sand); }
.lb-footer__grid { max-width: 1320px; margin: 0 auto; padding: 72px 40px 48px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 48px; }
.lb-footer__brand { display: flex; flex-direction: column; gap: 20px; }
.lb-footer__logo svg { width: 200px; height: auto; display: block; }
.lb-footer__brand p { margin: 0; line-height: 1.6; max-width: 260px; }
.lb-footer__col { display: flex; flex-direction: column; gap: 12px; }
.lb-footer__title { font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--lb-tan); margin-bottom: 4px; }
.lb-footer__bottom { max-width: 1320px; margin: 0 auto; padding: 24px 40px; border-top: 1px solid #4a423d; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 12px; letter-spacing: .06em; color: #a89d94; }
.lb-footer__social { display: flex; gap: 20px; }

/* ================================================================
   Portada  [labeaute_home]
   ================================================================ */
.lb-home { color: var(--lb-ink); font-family: var(--lb-sans); }
.lb-home * { box-sizing: border-box; }
.lb-wrap { max-width: 1320px; margin: 0 auto; }
.lb-kicker { font-size: 13px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--lb-tan); }
.lb-h1 { margin: 0; font-family: var(--lb-serif); font-weight: 300; font-size: clamp(44px, 5vw, 72px); line-height: 1.05; text-wrap: pretty; }
.lb-h2 { margin: 0; font-family: var(--lb-serif); font-weight: 300; font-size: 44px; line-height: 1.1; }
.lb-btn { display: inline-block; font-size: 13px; font-weight: 500; letter-spacing: .24em; text-indent: .24em; text-transform: uppercase; padding: 17px 40px; border: 1px solid var(--lb-ink); transition: background .2s, color .2s; }
.lb-btn--solid { background: var(--lb-ink); color: var(--lb-cream) !important; }
.lb-btn--solid:hover { background: #4a423d; border-color: #4a423d; }
.lb-btn--line { color: var(--lb-ink); }
.lb-btn--line:hover { background: var(--lb-sand); color: var(--lb-ink); }
.lb-btn--light { border-color: var(--lb-cream); color: var(--lb-cream) !important; }
.lb-btn--light:hover { background: var(--lb-cream); color: var(--lb-ink) !important; }
.lb-link { font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; border-bottom: 1px solid var(--lb-tan); padding-bottom: 4px; }
.lb-ph { background: repeating-linear-gradient(135deg, #efe9e1 0 14px, #e7ddd1 14px 28px); }
.lb-img { width: 100%; height: 100%; object-fit: cover; display: block; }

.lb-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); border-bottom: 1px solid var(--lb-line); padding-top: 24px; }
.lb-hero__text { display: flex; flex-direction: column; justify-content: center; gap: 32px; padding: 48px 64px 72px 0; }
.lb-hero__text p { margin: 0; font-size: 17px; line-height: 1.65; color: var(--lb-muted); max-width: 440px; }
.lb-hero__actions { display: flex; gap: 16px; flex-wrap: wrap; }
.lb-hero__media { min-height: 560px; }
.lb-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 48px 24px; }
.lb-product { display: flex; flex-direction: column; gap: 12px; }
.lb-product__img { position: relative; display: block; aspect-ratio: 1 / 1; background: var(--lb-ph); overflow: hidden; }
.lb-product__img img { width: 100% !important; height: 100% !important; object-fit: contain; mix-blend-mode: multiply; transition: transform .6s; }
.lb-product:hover .lb-product__img img { transform: scale(1.03); }
.lb-product__badge { position: absolute; top: 14px; left: 14px; background: var(--lb-cream); font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; padding: 6px 10px; }
.lb-product__cat { font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--lb-tan); }
.lb-product__name { font-family: var(--lb-serif); font-weight: 500; font-size: 20px; line-height: 1.25; color: var(--lb-ink); }
.lb-product__row { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.lb-product__price { font-size: 15px; font-weight: 500; color: var(--lb-ink); }
.lb-product__price del { color: #8c8c8c; font-weight: 400; margin-right: 6px; }
.lb-product__price ins { text-decoration: none; }
.lb-product__add { flex: none; border: 1px solid var(--lb-ink); color: var(--lb-ink); font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; padding: 10px 14px; transition: background .2s, color .2s; }
.lb-product__add:hover { background: var(--lb-ink); color: var(--lb-cream); }
.lb-product__add.loading { opacity: .5; }
.lb-product .added_to_cart { display: none; }
.lb-home { --wd-bordered-brd: transparent; }
.lb-home .products-bordered-grid, .lb-home .products-bordered-grid .wd-product, .lb-home .products-bordered-grid-ins .wd-product { border-color: transparent !important; box-shadow: none !important; }

.lb-section { padding-top: 96px; display: flex; flex-direction: column; gap: 40px; }
.lb-section__head { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; flex-wrap: wrap; }
.lb-section__head--rule { border-bottom: 1px solid var(--lb-line); padding-bottom: 20px; align-items: flex-end; }

.lb-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 24px; }
.lb-cat { display: flex; flex-direction: column; gap: 18px; color: var(--lb-ink); }
.lb-cat__img { aspect-ratio: 4 / 5; overflow: hidden; background: var(--lb-ph); }
.lb-cat__img img { width: 100% !important; height: 100% !important; object-fit: cover; }
.lb-cat__img img { transition: transform .6s; }
.lb-cat:hover .lb-cat__img img { transform: scale(1.03); }
.lb-cat__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.lb-cat__name { font-size: 14px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.lb-cat__count { font-size: 13px; color: #8c8c8c; }

.lb-quote { margin-top: 96px; background: var(--lb-sand); padding: 80px 64px; display: flex; flex-direction: column; align-items: center; gap: 28px; text-align: center; }
.lb-quote__text { font-family: var(--lb-serif); font-style: italic; font-weight: 300; font-size: clamp(36px, 4.4vw, 60px); line-height: 1.2; max-width: 820px; text-wrap: pretty; }
.lb-quote__rule { width: 72px; height: 1px; background: var(--lb-tan); }
.lb-quote__note { font-size: 13px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: #4a423d; }

.lb-salon { margin-top: 96px; background: var(--lb-ink); color: var(--lb-cream); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); }
.lb-salon__media { min-height: 420px; background: repeating-linear-gradient(135deg, #3a3334 0 14px, #2e2829 14px 28px); }
.lb-salon__text { padding: 72px 64px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 28px; }
.lb-salon__logo svg { width: 240px; height: auto; display: block; }
.lb-salon__title { font-family: var(--lb-serif); font-weight: 300; font-size: 44px; line-height: 1.1; color: var(--lb-cream); }
.lb-salon__text p { margin: 0; font-size: 16px; line-height: 1.65; color: #cfc6bc; max-width: 420px; }

.lb-perks { padding: 88px 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 40px; }
.lb-perk { border-top: 1px solid var(--lb-ink); padding-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.lb-perk strong { font-weight: 500; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; }
.lb-perk span { font-size: 15px; line-height: 1.6; color: var(--lb-muted); }

@media (max-width: 768px) {
  .lb-hero__text { padding: 32px 0 48px; }
  .lb-hero__media { min-height: 380px; }
  .lb-quote, .lb-salon__text { padding: 56px 28px; }
  .lb-section { padding-top: 64px; }
}
