/* =========================================================
   Luna Flower's — estilos
   Paleta del brief: verde esmeralda, dorado, crema.
   ========================================================= */

:root {
	/* Paleta del sitio anterior (kit de Elementor) */
	--lf-green: #2A5E6D;
	--lf-green-dark: #18404D;
	--lf-green-soft: #E7F1F6;
	--lf-gold: #F1ABB9;
	--lf-gold-dark: #2A5E6D;
	--lf-pink: #F1ABB9;
	--lf-beige: #EADDCA;
	--lf-sage: #A4AC86;
	--lf-cream: #FAF6F1;
	--lf-ink: #111111;
	--lf-muted: #6D6D6D;
	--lf-line: #E7E1D8;
	--lf-white: #FFFFFF;
	--lf-wa: #25D366;

	--lf-serif: 'Playfair Display', Georgia, serif;
	--lf-sans: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
	--lf-hand: 'Dancing Script', cursive;

	--lf-wrap: 1240px;
	--lf-gutter: clamp(16px, 4vw, 40px);
	--lf-radius: 6px;
	--lf-ease: cubic-bezier(.22, .61, .36, 1);
	--lf-header-h: 84px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--lf-header-h) + 16px); -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--lf-sans); font-weight: 300; font-size: 17px; line-height: 1.7; color: var(--lf-ink); background: var(--lf-white); -webkit-font-smoothing: antialiased; }
body.lf-lock { overflow: hidden; }
img, video, iframe { max-width: 100%; height: auto; display: block; }
a { color: var(--lf-green); text-decoration: none; transition: color .2s; }
a:hover { color: var(--lf-gold-dark); }
h1, h2, h3, h4 { font-family: var(--lf-serif); font-weight: 500; line-height: 1.15; color: var(--lf-green); margin: 0 0 .5em; }
p { margin: 0 0 1em; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--lf-gold); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link:focus { position: fixed !important; top: 8px; left: 8px; width: auto; height: auto; clip: auto; z-index: 999; background: var(--lf-white); padding: 10px 16px; }

.lf-wrap { width: 100%; max-width: var(--lf-wrap); margin-inline: auto; padding-inline: var(--lf-gutter); }
.lf-narrow { max-width: 820px; }
.lf-center { text-align: center; margin-top: 2.5rem; }
.lf-mt { margin-top: 2rem; }
.lf-h1 { font-size: clamp(2.3rem, 5vw, 3.6rem); }
.lf-h2 { font-size: clamp(2rem, 4vw, 3rem); }
.lf-h3 { font-size: 1.55rem; }
.lf-eyebrow { font-family: var(--lf-sans); font-size: .78rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--lf-gold-dark); margin-bottom: .8rem; }
.lf-lead { font-size: 1.12rem; color: var(--lf-muted); max-width: 60ch; }
.lf-note { font-size: .92rem; color: var(--lf-muted); }
.lf-link { display: inline-flex; align-items: center; gap: .4em; font-weight: 500; }

.lf-icon { display: inline-flex; width: 1.25em; height: 1.25em; flex: none; }
.lf-icon svg { width: 100%; height: 100%; }

/* ---------- Botones ---------- */
.lf-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
	display: inline-flex; align-items: center; justify-content: center; gap: .55em;
	padding: .95em 1.9em; border: 1px solid var(--lf-green); border-radius: 999px;
	background: var(--lf-green); color: var(--lf-white); font-family: var(--lf-sans); font-size: .82rem; font-weight: 500;
	letter-spacing: .14em; text-transform: uppercase; line-height: 1.2; cursor: pointer;
	transition: background .25s var(--lf-ease), color .25s, border-color .25s, transform .25s var(--lf-ease);
}
.lf-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--lf-green-dark); border-color: var(--lf-green-dark); color: var(--lf-white); transform: translateY(-1px); }
.lf-btn--outline { background: transparent; color: var(--lf-green); }
.lf-btn--outline:hover { background: var(--lf-green); color: var(--lf-white); }
.lf-btn--outline-light { background: transparent; border-color: rgba(255,255,255,.8); color: var(--lf-white); }
.lf-btn--outline-light:hover { background: var(--lf-white); color: var(--lf-green); border-color: var(--lf-white); }
.lf-btn--gold { background: var(--lf-gold); border-color: var(--lf-gold); color: var(--lf-ink); }
.lf-btn--gold:hover { background: var(--lf-white); border-color: var(--lf-white); color: var(--lf-green); }
.lf-btn--wa { background: transparent; border-color: var(--lf-wa); color: #128C4B; }
.lf-btn--wa:hover { background: var(--lf-wa); border-color: var(--lf-wa); color: var(--lf-white); }
.lf-btn--sm { padding: .7em 1.1em; font-size: .72rem; letter-spacing: .1em; }
.lf-btn--block { width: 100%; }

/* ---------- Barra superior y cabecera ---------- */
.lf-topbar { background: var(--lf-green); color: var(--lf-cream); text-align: center; font-size: .8rem; letter-spacing: .06em; padding: .55em var(--lf-gutter); }
.lf-topbar p { margin: 0; }
.lf-topbar a { color: var(--lf-gold); font-weight: 500; }
.lf-topbar__sep { margin: 0 .5em; opacity: .6; }

.lf-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); backdrop-filter: blur(8px); border-bottom: 1px solid transparent; transition: border-color .3s, box-shadow .3s; }
.admin-bar .lf-header { top: 32px; }
.lf-header.is-scrolled { border-color: var(--lf-line); box-shadow: 0 6px 24px rgba(0,0,0,.04); }
.lf-header__inner { display: flex; align-items: center; gap: 1.5rem; min-height: var(--lf-header-h); transition: min-height .3s; }
.lf-header.is-scrolled .lf-header__inner { min-height: 68px; }
.lf-logo img, .custom-logo { width: auto; max-height: 64px; }
.lf-header.is-scrolled .lf-logo img { max-height: 50px; }
.lf-header__burger { display: none; background: none; border: 0; padding: 6px; cursor: pointer; color: var(--lf-green); }
.lf-header__burger .lf-icon { width: 28px; height: 28px; }
.lf-header__actions { display: flex; align-items: center; gap: .3rem; margin-left: auto; }
.lf-iconbtn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 0; border-radius: 50%; background: none; color: var(--lf-green); cursor: pointer; transition: background .2s; }
.lf-iconbtn:hover { background: var(--lf-green-soft); color: var(--lf-green); }
.lf-iconbtn .lf-icon { width: 22px; height: 22px; }
.lf-iconbtn--wa { color: #128C4B; }
.lf-cart__count { position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--lf-gold); color: var(--lf-ink); font-size: .68rem; font-weight: 500; line-height: 18px; text-align: center; }
.lf-cart__count.is-empty { display: none; }

/* Navegación */
.lf-nav { margin-left: auto; }
.lf-nav__close, .lf-nav__toggle { display: none; }
.lf-nav__list { display: flex; flex-wrap: wrap; gap: .2rem 1.6rem; list-style: none; margin: 0; padding: 0; }
.lf-nav__list > li { position: relative; }
.lf-nav__list > li > a { display: block; padding: .6em 0; font-size: .8rem; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: var(--lf-ink); }
.lf-nav__list > li > a::after { content: ''; display: block; height: 1px; background: var(--lf-gold); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--lf-ease); }
.lf-nav__list > li:hover > a::after, .lf-nav__list > li.current-menu-item > a::after { transform: scaleX(1); }
.lf-nav__sub, .lf-nav__list .sub-menu { position: absolute; top: 100%; left: -1.2rem; min-width: 250px; list-style: none; margin: 0; padding: .8rem 0; background: var(--lf-white); border: 1px solid var(--lf-line); box-shadow: 0 18px 40px rgba(0,0,0,.08); opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .25s var(--lf-ease); }
.lf-nav__list > li:hover > .lf-nav__sub, .lf-nav__list > li:focus-within > .lf-nav__sub,
.lf-nav__list > li:hover > .sub-menu, .lf-nav__list > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.lf-nav__sub a, .lf-nav__list .sub-menu a { display: block; padding: .45em 1.2rem; font-size: .95rem; color: var(--lf-ink); }
.lf-nav__sub a:hover, .lf-nav__list .sub-menu a:hover { background: var(--lf-cream); color: var(--lf-green); }
.lf-badge { display: inline-block; margin-left: .4em; padding: .1em .6em; border-radius: 999px; background: var(--lf-gold); color: var(--lf-ink); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; vertical-align: middle; }

/* Buscador */
.lf-search { position: sticky; top: var(--lf-header-h); z-index: 49; background: var(--lf-cream); border-bottom: 1px solid var(--lf-line); padding: 1rem 0; }
.lf-search__form { display: flex; gap: .6rem; align-items: center; }
.lf-search__form input[type=search] { flex: 1; min-width: 0; padding: .9em 1.2em; border: 1px solid var(--lf-line); border-radius: 999px; background: var(--lf-white); }

/* ---------- Secciones ---------- */
.lf-section { padding-block: clamp(4rem, 9vw, 7.5rem); }
.lf-section--cream { background: var(--lf-cream); }
.lf-section--green { background: var(--lf-green); color: var(--lf-cream); }
.lf-section--green h2, .lf-section--green .lf-eyebrow { color: var(--lf-white); }
.lf-section--green .lf-eyebrow { color: var(--lf-gold); }
.lf-sechead { text-align: center; margin: 0 auto 3rem; max-width: 720px; }
.lf-sechead .lf-lead { margin-inline: auto; }
.lf-pagehead { text-align: center; margin-bottom: 2.5rem; }

/* Aparición */
.lf-reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s var(--lf-ease), transform .9s var(--lf-ease); }
.lf-reveal.is-in { opacity: 1; transform: none; }
.no-js .lf-reveal { opacity: 1; transform: none; }

/* ---------- Hero ---------- */
.lf-hero { position: relative; display: flex; align-items: center; min-height: min(88vh, 860px); overflow: hidden; color: var(--lf-white); background: var(--lf-green-dark) var(--lf-hero-img) center 35% / cover no-repeat; }
.lf-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(0,40,35,.78) 0%, rgba(0,40,35,.45) 45%, rgba(0,40,35,.05) 80%); }
.lf-hero__content { position: relative; z-index: 2; padding-block: 5rem; }
.lf-hero .lf-eyebrow { color: var(--lf-gold); }
.lf-hero__title { max-width: 13ch; font-size: clamp(2.8rem, 7vw, 5.6rem); font-weight: 400; line-height: 1.02; color: var(--lf-white); margin-bottom: 2rem; }
.lf-hero__ctas { display: flex; flex-wrap: wrap; gap: .9rem; }
.lf-trust { display: flex; flex-wrap: wrap; gap: .6rem 1.6rem; list-style: none; padding: 0; margin: 2.6rem 0 0; font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; }
.lf-trust li::before { content: '✿'; color: var(--lf-gold); margin-right: .5em; }

/* Pétalos (solo CSS) */
.lf-petals { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.lf-petals i { position: absolute; top: -40px; width: 14px; height: 18px; border-radius: 80% 0 80% 0; background: linear-gradient(135deg, #F6D5DA, #E9A9B4); opacity: .75; animation: lf-fall 14s linear infinite; }
.lf-petals i:nth-child(1) { left: 8%; animation-delay: 0s; }
.lf-petals i:nth-child(2) { left: 22%; animation-delay: 3s; animation-duration: 17s; transform: scale(.8); }
.lf-petals i:nth-child(3) { left: 38%; animation-delay: 6s; }
.lf-petals i:nth-child(4) { left: 52%; animation-delay: 1.5s; animation-duration: 19s; }
.lf-petals i:nth-child(5) { left: 64%; animation-delay: 8s; }
.lf-petals i:nth-child(6) { left: 76%; animation-delay: 4.5s; animation-duration: 16s; }
.lf-petals i:nth-child(7) { left: 88%; animation-delay: 10s; }
.lf-petals i:nth-child(8) { left: 95%; animation-delay: 12s; animation-duration: 20s; background: linear-gradient(135deg, #F3E3B5, var(--lf-gold)); }
@keyframes lf-fall {
	0% { transform: translate3d(0, -40px, 0) rotate(0deg); opacity: 0; }
	10% { opacity: .8; }
	100% { transform: translate3d(-80px, 110vh, 0) rotate(540deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.lf-petals { display: none; }
	html { scroll-behavior: auto; }
}

/* ---------- Tabs de ocasión ---------- */
.lf-tabs { display: flex; gap: .6rem; overflow-x: auto; padding: .4rem .2rem 1.2rem; margin-bottom: 2rem; scrollbar-width: thin; scroll-snap-type: x proximity; justify-content: safe center; }
.lf-tab { flex: none; scroll-snap-align: start; display: flex; flex-direction: column; align-items: center; gap: .5rem; min-width: 104px; padding: 1rem .8rem .8rem; border: 1px solid var(--lf-line); border-radius: var(--lf-radius); background: var(--lf-white); font-size: .78rem; letter-spacing: .06em; color: var(--lf-ink); cursor: pointer; transition: all .25s var(--lf-ease); }
.lf-tab:hover { border-color: var(--lf-gold); }
.lf-tab.is-active { border-color: var(--lf-green); background: var(--lf-green); color: var(--lf-white); }
.lf-tab__icon { width: 44px; height: 44px; border-radius: 50%; object-fit: contain; }
.lf-tab__icon--all { display: grid; place-items: center; background: var(--lf-green); color: var(--lf-white); font-size: 1.3rem; }
.lf-tab.is-active .lf-tab__icon--all { background: var(--lf-gold); color: var(--lf-ink); }
.lf-grid-wrap { position: relative; min-height: 200px; }
.lf-products.is-loading { opacity: .35; pointer-events: none; transition: opacity .2s; }
.lf-empty { text-align: center; padding: 3rem 1rem; color: var(--lf-muted); font-size: 1.05rem; }

/* ---------- Tarjetas de producto (WooCommerce) ---------- */
.woocommerce ul.products, ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.6rem 1.8rem; list-style: none; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, ul.products li.product { position: relative; width: auto !important; float: none !important; margin: 0 !important; padding: 0; display: flex; flex-direction: column; text-align: center; }
ul.products li.product a.woocommerce-LoopProduct-link { display: block; color: var(--lf-ink); }
ul.products li.product a img { aspect-ratio: 4 / 5; width: 100%; object-fit: cover; margin: 0 0 1.1rem !important; background: var(--lf-cream); transition: transform .8s var(--lf-ease); }
ul.products li.product a.woocommerce-LoopProduct-link { overflow: hidden; }
ul.products li.product:hover a img { transform: scale(1.04); }
ul.products li.product .woocommerce-loop-product__title { font-family: var(--lf-serif); font-size: 1.35rem !important; font-weight: 500; color: var(--lf-ink); padding: 0 !important; margin-bottom: .2rem; }
ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { display: block; color: var(--lf-gold-dark) !important; font-family: var(--lf-sans); font-size: 1.05rem !important; font-weight: 500; letter-spacing: .04em; margin-bottom: 1rem; }
ul.products li.product .price del { color: var(--lf-muted); opacity: .7; margin-right: .3em; }
ul.products li.product .price ins { text-decoration: none; }
.lf-card__badge { position: absolute; top: 12px; left: 12px; z-index: 2; padding: .3em .85em; border-radius: 999px; background: var(--lf-gold); color: var(--lf-ink); font-size: .66rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.lf-card__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: auto; }
.lf-card__actions .button { padding: .7em 1.1em !important; font-size: .72rem !important; letter-spacing: .1em !important; }
.lf-card__actions .added_to_cart { flex-basis: 100%; font-size: .85rem; }
.lf-card__actions .lf-btn--wa span { display: inline; }

/* ---------- Campañas y colecciones ---------- */
.lf-campaigns { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.6rem; }
.lf-campaign { position: relative; display: block; min-height: 380px; overflow: hidden; background: var(--lf-green); color: var(--lf-white); }
.lf-campaign img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--lf-ease); }
.lf-campaign::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 30%, rgba(0,40,35,.85)); }
.lf-campaign:hover img { transform: scale(1.05); }
.lf-campaign__body { position: absolute; inset: auto 0 0; z-index: 2; display: flex; flex-direction: column; gap: .4rem; padding: 1.8rem; }
.lf-campaign .lf-h3 { color: var(--lf-white); font-family: var(--lf-serif); }
.lf-campaign .lf-link { color: var(--lf-gold); }

.lf-lines { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3rem 2.4rem; }
.lf-line__img { display: block; overflow: hidden; margin-bottom: 1.4rem; }
.lf-line__img img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform 1s var(--lf-ease); }
.lf-line:hover .lf-line__img img { transform: scale(1.04); }
.lf-line h3 a { color: var(--lf-green); }
.lf-line p { color: var(--lf-muted); }
.lf-chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.lf-chips--center { justify-content: center; margin-bottom: 1.6rem; }
.lf-chips a { display: inline-block; padding: .4em 1em; border: 1px solid var(--lf-line); border-radius: 999px; font-size: .85rem; color: var(--lf-ink); background: var(--lf-white); transition: all .2s; }
.lf-chips a:hover, .lf-chips a.is-active { border-color: var(--lf-green); background: var(--lf-green); color: var(--lf-white); }

/* ---------- Historia ---------- */
.lf-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.lf-story__media { position: relative; padding: 0 12% 12% 0; }
.lf-story__main { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.lf-story__accent { position: absolute; right: 0; bottom: 0; width: 46%; aspect-ratio: 1; object-fit: cover; border: 8px solid var(--lf-cream); }
.lf-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 2.2rem 0; padding: 1.6rem 0; border-block: 1px solid var(--lf-line); }
.lf-metrics dt { font-family: var(--lf-serif); font-size: 2.4rem; line-height: 1; color: var(--lf-gold-dark); }
.lf-metrics dd { margin: .4rem 0 0; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; color: var(--lf-muted); }
.lf-reel { max-width: 360px; }
.lf-reel iframe, .lf-reel video { width: 100%; }

/* ---------- Personalizado ---------- */
.lf-custom { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.lf-custom__intro { position: sticky; top: calc(var(--lf-header-h) + 2rem); }
.lf-form { display: grid; gap: 1.3rem; padding: clamp(1.4rem, 4vw, 2.6rem); background: var(--lf-white); color: var(--lf-ink); border-radius: var(--lf-radius); }
.lf-form label { display: grid; gap: .35rem; font-size: .9rem; font-weight: 400; }
.lf-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.lf-form fieldset { border: 0; margin: 0; padding: 0; }
.lf-form legend { font-size: .9rem; font-weight: 400; margin-bottom: .5rem; }
.lf-form input[type=text], .lf-form input[type=tel], .lf-form input[type=date], .lf-form select, .lf-form textarea,
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce-page form .form-row .input-text {
	width: 100%; padding: .85em 1em; border: 1px solid var(--lf-line); border-radius: var(--lf-radius); background: var(--lf-white); font-size: 1rem; line-height: 1.4;
}
.lf-form input:focus, .lf-form select:focus, .lf-form textarea:focus, .woocommerce form .form-row .input-text:focus { border-color: var(--lf-green); outline: none; box-shadow: 0 0 0 3px var(--lf-green-soft); }
.lf-checks { display: flex; flex-wrap: wrap; gap: .5rem; }
.lf-check { position: relative; display: inline-flex !important; cursor: pointer; }
.lf-check input { position: absolute; opacity: 0; }
.lf-check span { padding: .5em 1em; border: 1px solid var(--lf-line); border-radius: 999px; font-size: .88rem; transition: all .2s; }
.lf-check input:checked + span { background: var(--lf-green); border-color: var(--lf-green); color: var(--lf-white); }
.lf-check input:focus-visible + span { outline: 2px solid var(--lf-gold); outline-offset: 2px; }
.lf-form__error { margin: 0; color: #B3261E; font-size: .9rem; }

/* ---------- Instagram ---------- */
.lf-insta { display: grid; grid-template-columns: repeat(6, 1fr); gap: .5rem; }
.lf-insta__item { position: relative; display: block; overflow: hidden; }
.lf-insta__item img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .8s var(--lf-ease); }
.lf-insta__over { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(0,107,94,.55); color: var(--lf-white); opacity: 0; transition: opacity .3s; }
.lf-insta__over .lf-icon { width: 30px; height: 30px; }
.lf-insta__item:hover .lf-insta__over { opacity: 1; }
.lf-insta__item:hover img { transform: scale(1.06); }

/* ---------- Reseñas ---------- */
.lf-carousel__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3rem) / 3); gap: 1.5rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: .4rem; }
.lf-carousel__track::-webkit-scrollbar { display: none; }
.lf-review { scroll-snap-align: start; margin: 0; padding: 2rem; background: var(--lf-white); border: 1px solid var(--lf-line); display: flex; flex-direction: column; gap: .8rem; }
.lf-review__img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.lf-stars { display: flex; gap: 2px; color: var(--lf-gold); }
.lf-stars .lf-icon { width: 16px; height: 16px; }
.lf-review blockquote { margin: 0; font-family: var(--lf-serif); font-size: 1.2rem; font-style: italic; line-height: 1.5; }
.lf-review figcaption { margin-top: auto; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--lf-muted); }
.lf-carousel__nav { display: flex; justify-content: center; gap: .6rem; margin-top: 1.6rem; }
.lf-carousel__nav button { width: 44px; height: 44px; border: 1px solid var(--lf-green); border-radius: 50%; background: none; color: var(--lf-green); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.lf-carousel__nav button:hover { background: var(--lf-green); color: var(--lf-white); }

/* ---------- Contacto ---------- */
.lf-contact { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); }
.lf-contact__list { list-style: none; padding: 0; margin: 0 0 1.8rem; display: grid; gap: .7rem; }
.lf-contact__list li { display: flex; gap: .7rem; align-items: flex-start; }
.lf-contact__list .lf-icon { color: var(--lf-gold-dark); margin-top: .2em; }
.lf-contact__map iframe { width: 100%; height: 100%; min-height: 420px; border: 0; filter: saturate(.85); }
.lf-zones { width: 100%; border-collapse: collapse; font-size: .95rem; margin-bottom: .8rem; }
.lf-zones th, .lf-zones td { padding: .55em 0; border-bottom: 1px solid var(--lf-line); text-align: left; }
.lf-zones th { font-weight: 500; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--lf-muted); }
.lf-zones td:last-child, .lf-zones th:last-child { text-align: right; color: var(--lf-gold-dark); font-weight: 500; }

/* ---------- Footer ---------- */
.lf-footer { background: var(--lf-green-dark); color: rgba(250,246,240,.82); font-size: .95rem; padding-top: 4.5rem; }
.lf-footer a { color: var(--lf-cream); }
.lf-footer a:hover { color: var(--lf-gold); }
.lf-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1.3fr 1fr; gap: 2.5rem; padding-bottom: 3rem; }
.lf-footer .lf-logo img, .lf-footer .custom-logo { max-height: 58px; filter: brightness(0) invert(1); }
.lf-footer__slogan { font-family: var(--lf-serif); font-size: 1.3rem; font-style: italic; margin: 1rem 0 1.2rem; color: var(--lf-cream); }
.lf-footer__title { font-family: var(--lf-sans); font-size: .76rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--lf-gold); margin-bottom: 1.1rem; }
.lf-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.lf-footer__info li { display: flex; gap: .6rem; align-items: flex-start; }
.lf-footer__info .lf-icon { color: var(--lf-gold); margin-top: .2em; }
.lf-social { display: flex; gap: .5rem; }
.lf-social a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(250,246,240,.3); border-radius: 50%; }
.lf-social a:hover { border-color: var(--lf-gold); }
.lf-pay { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.lf-pay li { padding: .35em .9em; border: 1px solid rgba(250,246,240,.3); border-radius: var(--lf-radius); font-size: .82rem; }
.lf-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; padding-block: 1.4rem; border-top: 1px solid rgba(250,246,240,.15); font-size: .8rem; }
.lf-footer__bottom p { margin: 0; }

/* WhatsApp flotante */
.lf-wa-float { position: fixed; right: 20px; bottom: 20px; z-index: 60; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--lf-wa); color: var(--lf-white); box-shadow: 0 10px 30px rgba(0,0,0,.2); transition: transform .3s var(--lf-ease); }
.lf-wa-float:hover { transform: scale(1.08); color: var(--lf-white); }
.lf-wa-float .lf-icon { width: 32px; height: 32px; }
.lf-wa-float::before { content: ''; position: absolute; inset: 0; border-radius: 50%; background: var(--lf-wa); opacity: .5; animation: lf-pulse 2.4s ease-out infinite; z-index: -1; }
@keyframes lf-pulse { to { transform: scale(1.6); opacity: 0; } }

/* ---------- Tienda, ficha, carrito, checkout ---------- */
.lf-shop .woocommerce-products-header { text-align: center; margin-bottom: 1.5rem; }
.lf-shop .woocommerce-products-header__title { font-size: clamp(2.3rem, 5vw, 3.4rem); }
.lf-archive-lead { margin: 0 auto 1.6rem; text-align: center; font-family: var(--lf-serif); font-size: 1.35rem; font-style: italic; }
.lf-crumbs { font-size: .8rem; letter-spacing: .06em; color: var(--lf-muted); margin-bottom: 2rem; }
.lf-crumbs span { margin: 0 .3em; opacity: .5; }
.lf-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin: 0 0 2.4rem; padding: 1rem 0; border-block: 1px solid var(--lf-line); }
.lf-filter > span { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--lf-muted); }
.woocommerce .woocommerce-result-count { font-size: .88rem; color: var(--lf-muted); }
.woocommerce .woocommerce-ordering select { padding: .5em 1em; border: 1px solid var(--lf-line); border-radius: 999px; background: var(--lf-white); }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0 .2rem; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--lf-green); color: var(--lf-white); }

.woocommerce div.product { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .product_title { font-size: clamp(2.2rem, 4vw, 3.2rem); }
.woocommerce div.product p.price { font-size: 1.5rem !important; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; margin-bottom: 1rem; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce .quantity .qty { width: 4.5em; padding: .8em .4em; border: 1px solid var(--lf-line); border-radius: 999px; text-align: center; }
.lf-single-wa { margin: 0 0 1.6rem; }
.lf-perks { list-style: none; margin: 0 0 1.6rem; padding: 1.2rem 1.4rem; background: var(--lf-cream); display: grid; gap: .4rem; font-size: .92rem; }
.lf-perks li::before { content: '✿'; color: var(--lf-gold-dark); margin-right: .6em; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 1.4rem; text-align: center; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--lf-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--lf-gold); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.related > h2, .upsells > h2 { text-align: center; font-size: 2.2rem; margin: 2rem 0; }
.product_meta { font-size: .85rem; color: var(--lf-muted); }
.product_meta > span { display: block; }

.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--lf-green) !important; background: var(--lf-cream) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--lf-green) !important; }
.woocommerce table.shop_table { border-color: var(--lf-line); border-radius: 0; }
.woocommerce table.shop_table th { font-weight: 500; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.woocommerce-cart table.cart img { width: 80px; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { background: var(--lf-cream); padding: 1.6rem; }
.woocommerce-checkout #customer_details h3, .lf-checkout-box h3 { font-size: 1.6rem; }
.lf-checkout-box { margin: 1.6rem 0; padding: 1.4rem 1.6rem; background: var(--lf-cream); border-radius: var(--lf-radius); }
.lf-checkout-box::after { content: ''; display: table; clear: both; }
.woocommerce form .form-row label { font-size: .9rem; }
.woocommerce form .form-row .required { color: var(--lf-gold-dark); }
#order_review_heading { margin-top: 2rem; }
.woocommerce-checkout #payment { background: var(--lf-cream); border-radius: var(--lf-radius); }
.woocommerce #payment #place_order { width: 100%; padding: 1.2em; font-size: .9rem; }

/* Mi cuenta */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: 3rem; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--lf-line); }
.woocommerce-MyAccount-navigation li a { display: block; padding: .8em 0; border-bottom: 1px solid var(--lf-line); color: var(--lf-ink); }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--lf-green); font-weight: 500; }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
.lf-rewards { margin: 0 0 2rem; padding: 1.6rem; background: var(--lf-cream); border-radius: var(--lf-radius); }
.lf-rewards__dots { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0 0 1rem; }
.lf-rewards__dots li { display: grid; place-items: center; width: 38px; height: 38px; border: 1px dashed var(--lf-gold); border-radius: 50%; font-size: .8rem; color: var(--lf-muted); }
.lf-rewards__dots li.is-on { border-style: solid; background: var(--lf-green); border-color: var(--lf-green); color: var(--lf-white); }
.lf-rewards__dots .lf-rewards__gift { border-style: solid; }
.lf-reward-ok { padding: .8rem 1rem; background: var(--lf-green-soft); color: var(--lf-green); font-weight: 400; }
.lf-cumples__row::after { content: ''; display: table; clear: both; }

/* Blog / genérico */
.lf-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 2rem; }
.lf-post__img img { aspect-ratio: 3 / 2; object-fit: cover; margin-bottom: 1rem; }
.lf-content > * { max-width: 100%; }

/* ---------- Páginas internas ---------- */
.lf-pagehero { position: relative; display: flex; align-items: flex-end; min-height: clamp(300px, 46vh, 460px); color: var(--lf-white); background: var(--lf-green-dark) var(--lf-hero-img) center / cover no-repeat; }
.lf-pagehero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,40,35,.25), rgba(0,40,35,.78)); }
.lf-pagehero__inner { position: relative; padding-block: 3.5rem 3rem; }
.lf-pagehero .lf-eyebrow { color: var(--lf-gold); }
.lf-pagehero .lf-h1 { color: var(--lf-white); font-weight: 400; margin-bottom: .4rem; }
.lf-pagehero__text { max-width: 60ch; font-size: 1.1rem; margin: 0; color: rgba(255,255,255,.9); }
.lf-shop { padding-top: 2.5rem; }

.lf-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; }
.lf-pillar { padding: 2.2rem; border: 1px solid var(--lf-line); background: var(--lf-white); }
.lf-pillar__num { display: block; font-family: var(--lf-serif); font-size: 2.6rem; color: var(--lf-gold); line-height: 1; margin-bottom: 1rem; }
.lf-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.lf-split > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.lf-split--form { align-items: start; }
.lf-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; list-style: none; margin: 0; padding: 0; counter-reset: none; }
.lf-steps li { text-align: center; padding: 1rem; }
.lf-steps li > span { display: inline-grid; place-items: center; width: 60px; height: 60px; margin-bottom: 1rem; border: 1px solid var(--lf-gold); border-radius: 50%; font-family: var(--lf-serif); font-size: 1.6rem; color: var(--lf-green); }
.lf-faq details { border-bottom: 1px solid var(--lf-line); padding: 1.1rem 0; }
.lf-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; font-family: var(--lf-serif); font-size: 1.3rem; color: var(--lf-green); }
.lf-faq summary::-webkit-details-marker { display: none; }
.lf-faq summary::after { content: '+'; color: var(--lf-gold-dark); }
.lf-faq details[open] summary::after { content: '–'; }
.lf-faq details p { margin: .8rem 0 0; color: var(--lf-muted); }

/* Categorías con imagen */
.lf-cats { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 300px; gap: 1.2rem; }
.lf-cat { position: relative; display: block; overflow: hidden; background: var(--lf-green); color: var(--lf-white); }
.lf-cat--big { grid-row: span 2; }
.lf-cat img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--lf-ease); }
.lf-cat::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(0,40,35,.85)); }
.lf-cat:hover img { transform: scale(1.05); }
.lf-cat__body { position: absolute; inset: auto 0 0; z-index: 2; display: flex; flex-direction: column; gap: .35rem; padding: 1.6rem; }
.lf-cat__title { font-family: var(--lf-serif); font-size: 1.9rem; line-height: 1.1; }
.lf-cat__text { font-size: .92rem; color: rgba(255,255,255,.88); max-width: 42ch; }
.lf-cat .lf-link { color: var(--lf-gold); font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; }
.lf-cat:hover { color: var(--lf-white); }
.lf-subtitle { text-align: center; margin: 4.5rem 0 2.2rem; }
.lf-subcats { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1.6rem 1.2rem; margin: 0 0 3rem; }
.lf-subcat { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .5rem; color: var(--lf-ink); }
.lf-subcat__img { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; border-radius: 50%; background: var(--lf-cream); border: 1px solid var(--lf-line); }
.lf-subcat__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--lf-ease); }
.lf-subcat__img--icon { display: grid; place-items: center; }
.lf-subcat__img--icon img { width: 50%; height: auto; object-fit: contain; }
.lf-subcat__img--icon span { font-size: 2.5rem; color: var(--lf-gold); }
.lf-subcat:hover .lf-subcat__img img { transform: scale(1.06); }
.lf-subcat__name { font-family: var(--lf-serif); font-size: 1.3rem; color: var(--lf-green); line-height: 1.2; margin-top: .4rem; }
.lf-subcat__text { font-size: .85rem; color: var(--lf-muted); }

@media (max-width: 960px) {
	.lf-pillars, .lf-steps, .lf-split { grid-template-columns: 1fr; }
	.lf-cats { grid-template-columns: 1fr 1fr; grid-auto-rows: 260px; }
	.lf-cat--big { grid-column: span 2; grid-row: span 1; }
}
@media (max-width: 600px) {
	.lf-cats { grid-template-columns: 1fr; grid-auto-rows: 240px; }
	.lf-cat--big { grid-column: auto; }
	.lf-subcats { grid-template-columns: 1fr 1fr; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.lf-nav__list { gap: .2rem 1.1rem; }
	.lf-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 960px) {
	:root { --lf-header-h: 70px; }
	.lf-header__burger { display: inline-flex; }
	.lf-header__inner { gap: .6rem; }
	.lf-logo img, .custom-logo { max-height: 46px; }
	.lf-nav { position: fixed; inset: 0 auto 0 0; z-index: 80; width: min(88vw, 380px); margin: 0; padding: 4.5rem 1.6rem 2rem; background: var(--lf-white); overflow-y: auto; transform: translateX(-100%); transition: transform .4s var(--lf-ease); box-shadow: 20px 0 60px rgba(0,0,0,.15); }
	.lf-nav.is-open { transform: none; }
	.lf-nav__close { display: inline-flex; position: absolute; top: 1rem; right: 1rem; background: none; border: 0; width: 40px; height: 40px; color: var(--lf-green); cursor: pointer; }
	.lf-nav__close .lf-icon { width: 26px; height: 26px; }
	.lf-nav__list { flex-direction: column; flex-wrap: nowrap; gap: 0; }
	.lf-nav__list > li { border-bottom: 1px solid var(--lf-line); }
	.lf-nav__list > li > a { padding: 1em 0; font-size: .9rem; }
	.lf-nav__list > li > a::after { display: none; }
	.lf-nav__toggle { display: block; position: absolute; top: 0; right: 0; width: 48px; height: 52px; border: 0; background: none; cursor: pointer; }
	.lf-nav__toggle::before { content: '+'; font-size: 1.4rem; color: var(--lf-gold-dark); }
	.is-open > .lf-nav__toggle::before { content: '–'; }
	.lf-nav__sub, .lf-nav__list .sub-menu { position: static; display: none; min-width: 0; padding: 0 0 .8rem; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
	.lf-nav__list > li.is-open > .lf-nav__sub, .lf-nav__list > li.is-open > .sub-menu { display: block; }
	.lf-nav__sub a { padding-left: .6rem; }
	.lf-hide-sm { display: none; }
	.lf-header .lf-logo { margin-right: auto; }
	.lf-header__actions { margin-left: 0; }

	.woocommerce ul.products, ul.products { grid-template-columns: repeat(2, 1fr); gap: 2rem 1rem; }
	.lf-story, .lf-custom, .lf-contact, .woocommerce div.product { grid-template-columns: 1fr; }
	.lf-custom__intro { position: static; }
	.lf-lines { grid-template-columns: 1fr; }
	.lf-insta { grid-template-columns: repeat(3, 1fr); }
	.lf-carousel__track { grid-auto-columns: 80%; }
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 1.5rem; }
	.admin-bar .lf-header { top: 0; }
}

@media (max-width: 600px) {
	body { font-size: 16px; }
	.lf-topbar { font-size: .72rem; }
	.lf-topbar__sep, .lf-topbar a { display: block; margin: 0; }
	.lf-hero { min-height: 82vh; }
	.lf-hero::before { background: linear-gradient(180deg, rgba(0,40,35,.35), rgba(0,40,35,.8)); }
	.lf-hero__ctas .lf-btn { flex: 1 1 100%; }
	.woocommerce ul.products, ul.products { grid-template-columns: 1fr; }
	.lf-form__row { grid-template-columns: 1fr; }
	.lf-metrics { grid-template-columns: 1fr 1fr 1fr; }
	.lf-metrics dt { font-size: 1.9rem; }
	.lf-footer__grid { grid-template-columns: 1fr; }
	.lf-carousel__track { grid-auto-columns: 90%; }
	.lf-tabs { justify-content: flex-start; }
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; }
	.lf-wa-float { width: 54px; height: 54px; right: 14px; bottom: 14px; }
}


/* =========================================================
   Diseño del sitio anterior (Elementor): composición y estilos
   ========================================================= */
body { color: var(--lf-muted); font-weight: 400; font-size: 16px; }
h1, h2, h3, h4 { color: var(--lf-ink); font-weight: 600; }
.lf-h2 { font-size: clamp(1.9rem, 3.6vw, 2.8rem); }
.lf-script { font-family: var(--lf-hand); font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.1; color: var(--lf-green); margin: 0 0 .4rem; }
.lf-section--green .lf-script, .lf-parallax .lf-script { color: var(--lf-pink); }
.lf-section--floral { background: var(--lf-white) url('../img/fondo-floral.jpg') center / cover no-repeat; }
.lf-section--cream { background: var(--lf-cream); }
.lf-section--green { background: var(--lf-green); }
.lf-section--green h2 { color: var(--lf-white); }

/* Botones: degradado rosa a beige */
.lf-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit {
	background: linear-gradient(90deg, var(--lf-pink), var(--lf-beige)); border: 1px solid transparent; color: var(--lf-ink);
	font-family: var(--lf-sans); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; border-radius: 999px;
}
.lf-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
	background: var(--lf-green); color: var(--lf-white); border-color: var(--lf-green);
}
.lf-btn--outline { background: transparent; border-color: var(--lf-green); color: var(--lf-green); }
.lf-btn--outline:hover { background: var(--lf-green); color: var(--lf-white); }
.lf-btn--gold { background: linear-gradient(90deg, var(--lf-pink), var(--lf-beige)); color: var(--lf-ink); }
.lf-btn--wa { background: transparent; border-color: var(--lf-wa); color: #128C4B; }
.lf-btn--wa:hover { background: var(--lf-wa); border-color: var(--lf-wa); color: var(--lf-white); }

/* Cabecera y barra superior */
.lf-topbar { background: var(--lf-green); color: var(--lf-white); }
.lf-topbar a { color: var(--lf-pink); }
.lf-nav__list > li > a { font-weight: 500; color: var(--lf-ink); }
.lf-nav__list > li > a::after { background: var(--lf-pink); }
.lf-cart__count { background: var(--lf-pink); }

/* Portada: texto a la izquierda, dos fotos a la derecha */
.lf-hero { display: block; min-height: 0; color: var(--lf-muted); background: linear-gradient(180deg, var(--lf-cream), var(--lf-white)); }
.lf-hero::before { display: none; }
.lf-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; padding-block: clamp(3rem, 7vw, 6rem); }
.lf-hero__content { padding: 0; }
.lf-hero__title { max-width: 16ch; font-size: clamp(2.4rem, 5vw, 4rem); font-weight: 600; line-height: 1.1; color: var(--lf-ink); margin-bottom: 1.2rem; }
.lf-hero__text { font-size: 1.05rem; max-width: 46ch; margin-bottom: 2rem; }
.lf-trust { color: var(--lf-ink); font-size: .74rem; }
.lf-trust li::before { color: var(--lf-pink); }
.lf-hero__media { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; align-items: start; }
.lf-hero__img { width: 100%; aspect-ratio: 3 / 4.2; object-fit: cover; border-radius: 200px 200px 8px 8px; }
.lf-hero__img--b { margin-top: 3.5rem; }

/* Encabezado partido (Catálogo) */
.lf-splithead { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem 4rem; align-items: end; margin-bottom: 3rem; }
.lf-splithead p { margin-bottom: 1.2rem; }

/* Cinco categorías en fila: foto, título y texto */
.lf-cats { display: grid; grid-template-columns: repeat(5, 1fr); grid-auto-rows: auto; gap: 1.4rem; }
.lf-cat { position: static; display: flex; flex-direction: column; gap: .6rem; overflow: visible; background: none; color: var(--lf-muted); text-align: center; padding: 12px; }
.lf-cat::after { display: none; }
.lf-cat__img { display: block; overflow: hidden; border-radius: 160px 160px 8px 8px; border: 1px solid var(--lf-green); padding: 6px; background: var(--lf-white); }
.lf-cat__img img { position: static; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 154px 154px 4px 4px; transition: transform .8s var(--lf-ease); }
.lf-cat:hover img { transform: scale(1.04); }
.lf-cat__title { font-family: var(--lf-serif); font-size: 1.3rem; font-weight: 600; color: var(--lf-ink); margin-top: .6rem; }
.lf-cat__text { font-size: .86rem; color: var(--lf-muted); }
.lf-cat:hover { color: var(--lf-muted); }
.lf-cat:hover .lf-cat__title { color: var(--lf-green); }
.lf-subcat__img { border-color: var(--lf-green); }
.lf-subcat__name { color: var(--lf-ink); }

/* Banner de campaña */
.lf-banner { padding: 0 var(--lf-gutter); max-width: calc(var(--lf-wrap) + 2 * var(--lf-gutter)); margin: 0 auto clamp(3rem, 7vw, 6rem); }
.lf-banner img { width: 100%; height: auto; border-radius: var(--lf-radius); }

/* Quiénes somos */
.lf-about { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.lf-about__media { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.lf-about__media img { width: 100%; aspect-ratio: 3 / 4.3; object-fit: cover; border-radius: 8px; }
.lf-about__media img:last-child { margin-top: 3rem; }
.lf-about__boxes { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2rem; padding-top: 1.6rem; border-top: 1px solid var(--lf-line); }
.lf-iconbox { display: flex; gap: .8rem; align-items: flex-start; font-size: .9rem; }
.lf-iconbox .lf-icon { width: 38px; height: 38px; padding: 8px; border-radius: 50%; background: var(--lf-green-soft); color: var(--lf-green); flex: none; }
.lf-iconbox strong { display: block; color: var(--lf-ink); font-weight: 600; }
.lf-iconbox a { color: var(--lf-muted); }

/* Franja con foto fija */
.lf-parallax { position: relative; padding-block: clamp(5rem, 11vw, 9rem); background: var(--lf-green-dark) var(--lf-hero-img) center / cover no-repeat fixed; text-align: center; color: var(--lf-ink); }
.lf-parallax::before { content: ''; position: absolute; inset: 0; background: rgba(255,255,255,.84); }
.lf-parallax__inner { position: relative; max-width: 760px; }
.lf-parallax p { font-size: 1.08rem; margin-bottom: 2rem; }

/* Amor en cada detalle */
.lf-story { grid-template-columns: 1fr 1fr; }
.lf-story__media { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 0; position: static; }
.lf-story__media img { width: 100%; aspect-ratio: 9 / 15; object-fit: cover; border-radius: 8px; }
.lf-story__media img:last-child { margin-top: 3rem; }
.lf-metrics dt { font-family: var(--lf-serif); color: var(--lf-green); }

/* Productos */
ul.products li.product .woocommerce-loop-product__title { font-family: var(--lf-serif); font-size: 1.15rem !important; font-weight: 600; }
ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--lf-green) !important; font-weight: 600; }
ul.products li.product a img { border-radius: 8px; aspect-ratio: 1; }
.lf-card__badge { background: var(--lf-pink); color: var(--lf-ink); }
#destacados ul.products { grid-template-columns: repeat(4, 1fr); }

/* Tabs y chips */
.lf-tab.is-active { background: var(--lf-green); border-color: var(--lf-green); }
.lf-tab:hover { border-color: var(--lf-pink); }
.lf-chips a:hover, .lf-chips a.is-active { background: var(--lf-green); border-color: var(--lf-green); }

/* Cabecera de páginas internas */
.lf-pagehero::before { background: linear-gradient(180deg, rgba(24,64,77,.35), rgba(24,64,77,.8)); }
.lf-pagehero .lf-script { color: var(--lf-pink); }
.lf-pagehero .lf-h1 { font-weight: 600; }

/* Footer */
.lf-footer { background: var(--lf-green-dark); }
.lf-footer__title { color: var(--lf-pink); font-family: var(--lf-sans); }
.lf-footer__slogan { font-family: var(--lf-hand); font-style: normal; font-size: 1.6rem; }
.lf-footer__info .lf-icon { color: var(--lf-pink); }

@media (max-width: 1100px) {
	.lf-cats { grid-template-columns: repeat(3, 1fr); }
	#destacados ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 960px) {
	.lf-hero__grid, .lf-splithead, .lf-about, .lf-story { grid-template-columns: 1fr; }
	.lf-hero__media { max-width: 560px; }
	.lf-parallax { background-attachment: scroll; }
	#destacados ul.products { grid-template-columns: repeat(2, 1fr); }
	.lf-cats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.lf-hero__grid { padding-block: 2rem 3rem; }
	.lf-hero__img--b, .lf-about__media img:last-child, .lf-story__media img:last-child { margin-top: 1.5rem; }
	.lf-about__boxes { grid-template-columns: 1fr; }
	.lf-cats { grid-template-columns: 1fr 1fr; gap: .8rem; }
	.lf-cat { padding: 4px; }
	.lf-cat__title { font-size: 1.1rem; }
	.lf-cat__text { display: none; }
	#destacados ul.products { grid-template-columns: 1fr 1fr; gap: 1.6rem .8rem; }
}

/* 1.3.0 · ajustes tras revisar el sitio en vivo */
.lf-card__actions .button, .lf-card__actions .added_to_cart {
	display: inline-flex; align-items: center; justify-content: center; padding: .7em 1.1em; border-radius: 999px;
	background: linear-gradient(90deg, var(--lf-pink), var(--lf-beige)); color: var(--lf-ink);
	font-family: var(--lf-sans); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: 1.2;
}
.lf-card__actions .button:hover { background: var(--lf-green); color: var(--lf-white); }
.lf-card__actions .added_to_cart { background: none; text-transform: none; letter-spacing: 0; color: var(--lf-green); }
.lf-placeholder { background: var(--lf-cream); }
.lf-nav__list { flex-wrap: nowrap; }
.lf-nav__list > li > a { white-space: nowrap; }
@media (min-width: 961px) and (max-width: 1240px) {
	.lf-header__inner { gap: 1rem; }
	.lf-nav__list { gap: 0 1rem; }
	.lf-nav__list > li > a { font-size: .72rem; letter-spacing: .08em; }
	.lf-logo img, .custom-logo { max-height: 48px; }
	.lf-iconbtn { width: 36px; height: 36px; }
}
