/* ===========================================================
   La Laguna Gran Hotel — Bonos · estilo boutique
   Tokens (de theme.json):
   --wp--preset--color--{cream,paper,ink,muted,gold,gold-dark,line}
   --wp--preset--font-family--{cormorant,jost}
   =========================================================== */

:root {
	--llgh-cream: var(--wp--preset--color--cream, #FBF9F4);
	--llgh-paper: var(--wp--preset--color--paper, #FFFFFF);
	--llgh-ink: var(--wp--preset--color--ink, #2A2622);
	--llgh-muted: var(--wp--preset--color--muted, #6F6658);
	--llgh-gold: var(--wp--preset--color--gold, #A6824C);
	--llgh-gold-dark: var(--wp--preset--color--gold-dark, #8A6A39);
	--llgh-line: var(--wp--preset--color--line, #E7E0D3);
	--llgh-serif: var(--wp--preset--font-family--cormorant, 'Cormorant Garamond', Georgia, serif);
	--llgh-sans: var(--wp--preset--font-family--jost, 'Jost', system-ui, sans-serif);
}

body {
	background: var(--llgh-cream);
	color: var(--llgh-ink);
	font-family: var(--llgh-sans);
	font-weight: 300;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { font-family: var(--llgh-serif); font-weight: 400; line-height: 1.14; }

.llgh-accent { color: var(--llgh-gold); font-weight: 600; }

/* ---------- Cabecera ---------- */
.llgh-header {
	background: var(--llgh-paper);
	border-bottom: 1px solid var(--llgh-line);
}
.llgh-header .wp-block-site-title a { text-decoration: none; color: var(--llgh-ink); }
.llgh-header .wp-block-navigation { font-size: 13px; letter-spacing: .6px; text-transform: uppercase; }
.llgh-tagline {
	font-size: 9px; letter-spacing: 3px; text-transform: uppercase;
	color: var(--llgh-muted); margin-top: -6px;
}
.llgh-lang { font-size: 12px; letter-spacing: 1px; color: var(--llgh-muted); }
.llgh-lang strong { color: var(--llgh-ink); font-weight: 500; }

/* ---------- Hero (a sangre, casi pantalla completa) ---------- */
.llgh-hero { min-height: 86vh; }
.llgh-hero .wp-block-cover__inner-container { text-align: center; max-width: 720px; }
/* Velo suave + degradado inferior: imagen protagonista, texto legible. */
.llgh-hero::after {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(20,16,12,.10) 0%, rgba(20,16,12,0) 38%, rgba(20,16,12,.45) 100%);
}
.llgh-hero .wp-block-cover__inner-container { position: relative; z-index: 2; }
.llgh-hero .llgh-eyebrow {
	font-size: 11px; letter-spacing: 5px; text-transform: uppercase;
	opacity: .92; margin-bottom: 22px; color: #fff;
}
.llgh-hero h1 {
	color: #fff; font-weight: 400;
	font-size: clamp(2.8rem, 6.5vw, 5rem); line-height: 1.04;
	letter-spacing: -.5px;
}
.llgh-hero p {
	color: #fff; opacity: .94; max-width: 480px; margin: 22px auto 0;
	font-weight: 300; font-size: 1.05rem;
}
.llgh-hero .wp-block-buttons { margin-top: 34px; }
.llgh-hero-btn .wp-block-button__link {
	background: transparent; color: #fff;
	border: 1px solid rgba(255,255,255,.7); border-radius: 0;
	font-family: var(--llgh-sans); font-size: 11px; font-weight: 500;
	letter-spacing: 2px; text-transform: uppercase;
	padding: 16px 34px; transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.llgh-hero-btn .wp-block-button__link:hover {
	background: #fff; color: var(--llgh-ink); border-color: #fff;
}

/* ---------- Bloque declaración ---------- */
.llgh-statement { padding: clamp(4rem, 9vw, 7rem) 0 clamp(3rem, 6vw, 4.5rem); background: var(--llgh-cream); }
.llgh-statement .llgh-eyebrow {
	font-size: 11px; letter-spacing: 4px; text-transform: uppercase;
	color: var(--llgh-gold); margin-bottom: 18px;
}
.llgh-statement h2 { font-size: clamp(2.2rem, 5vw, 3.4rem); font-weight: 400; letter-spacing: -.4px; }
.llgh-statement p { color: var(--llgh-muted); max-width: 540px; margin: 20px auto 0; font-size: 1.02rem; }

/* ---------- Colección: cabecera ---------- */
.llgh-collection { background: var(--llgh-cream); padding-bottom: clamp(4rem, 8vw, 6rem); }
.llgh-collection-head { margin-bottom: clamp(1.6rem, 3vw, 2.4rem); display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.llgh-collection-head h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 400; margin: 0; }
.llgh-collection-head p { color: var(--llgh-muted); font-size: 14px; margin: 0; }

/* ---------- Grid de productos editorial (sin cajas) ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	column-gap: clamp(16px, 2vw, 28px);
	row-gap: clamp(40px, 5vw, 64px);
	margin: 0;
	padding: 0;
	list-style: none;
}
/* WooCommerce añade un clearfix ::before/::after a ul.products que, en un grid,
   se convierte en celdas vacías y descuadra las filas. Lo anulamos. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	content: none !important;
	display: none !important;
}
.woocommerce ul.products li.product {
	grid-column: auto !important;
	clear: none !important;
	background: none;
	border: 0;
	margin: 0 !important;
	width: auto !important;
	float: none !important;
	padding: 0;
	display: flex;
	flex-direction: column;
	position: relative;
}
/* La foto: grande, vertical (4:5), llena la columna, con zoom sutil al pasar. */
.woocommerce ul.products li.product > a {
	display: block; overflow: hidden; position: relative;
	background: var(--llgh-line);
}
.woocommerce ul.products li.product a img {
	margin: 0 0 16px;
	width: 100%;
	aspect-ratio: 4 / 5;
	height: auto;
	object-fit: cover;
	border-radius: 0;
	transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.04); }
/* badge sobre la foto: discreto */
.llgh-badge {
	position: absolute;
	top: 14px; left: 14px; z-index: 2;
	background: rgba(255, 255, 255, .9);
	color: var(--llgh-ink);
	font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase;
	padding: 5px 10px; backdrop-filter: blur(2px);
}
.llgh-badge.is-hl { background: var(--llgh-ink); color: #fff; }
/* kicker de categoría sobre el título */
.woocommerce ul.products li.product .llgh-kicker {
	font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase;
	color: var(--llgh-muted);
	padding: 0; margin: 0 0 7px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--llgh-serif);
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.2;
	color: var(--llgh-ink);
	padding: 0;
	margin: 0 0 .35rem;
}
.woocommerce ul.products li.product .price {
	color: var(--llgh-ink) !important;
	font-family: var(--llgh-sans);
	font-size: .95rem;
	font-weight: 400;
	letter-spacing: .3px;
	padding: 0;
	margin: 0;
}
.woocommerce ul.products li.product .price del { color: var(--llgh-muted); font-weight: 300; }
/* El botón "Regalar" ya no es una caja dorada: es un enlace fino con flecha. */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .llgh-loop-btn {
	align-self: flex-start;
	margin: 14px 0 0;
	padding: 0 0 2px;
	background: none !important;
	color: var(--llgh-ink) !important;
	border: 0 !important;
	border-bottom: 1px solid var(--llgh-ink) !important;
	border-radius: 0;
	font-family: var(--llgh-sans);
	font-size: 11px; letter-spacing: 2px; text-transform: uppercase; font-weight: 500;
	transition: color .2s ease, border-color .2s ease, gap .2s ease;
}
.woocommerce ul.products li.product .button::after,
.woocommerce ul.products li.product .llgh-loop-btn::after { content: " →"; }
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .llgh-loop-btn:hover {
	background: none !important;
	color: var(--llgh-gold) !important;
	border-color: var(--llgh-gold) !important;
}

/* ---------- Franja de confianza (barra fina) ---------- */
.llgh-trust {
	border-top: 1px solid var(--llgh-line);
	background: var(--llgh-cream);
	padding: clamp(2.4rem, 5vw, 3.6rem) 0;
}
.llgh-trust-row { gap: clamp(20px, 4vw, 48px) !important; }
.llgh-trust-k {
	font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
	color: var(--llgh-ink); font-weight: 500; margin: 0 0 8px;
}
.llgh-trust-d { font-size: 13.5px; color: var(--llgh-muted); margin: 0; line-height: 1.55; }

/* ---------- Botones genéricos WooCommerce ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
	background: var(--llgh-gold);
	color: #fff;
	border-radius: 0;
	font-family: var(--llgh-sans);
	letter-spacing: 1px;
	text-transform: uppercase;
	font-weight: 500;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
	background: var(--llgh-gold-dark);
}

/* ---------- Ficha de producto ---------- */
.woocommerce div.product .product_title {
	font-family: var(--llgh-serif);
	font-size: clamp(2rem, 4vw, 2.6rem);
	font-weight: 400;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--llgh-ink);
	font-family: var(--llgh-serif);
	font-size: 1.9rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: var(--llgh-gold);
}
.woocommerce .quantity .qty {
	border: 1px solid var(--llgh-line);
	background: var(--llgh-cream);
	border-radius: 0;
}

/* ---------- Ficha de producto: layout dos columnas ---------- */
.woocommerce div.product {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 48px;
	align-items: start;
}
.woocommerce div.product .woocommerce-product-gallery { grid-column: 1; width: auto !important; margin: 0 !important; }
.woocommerce div.product .summary { grid-column: 2; margin: 0 !important; width: auto !important; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-product-gallery__image img { border-radius: 0; }
.woocommerce .woocommerce-breadcrumb {
	font-size: 12px; letter-spacing: .5px; color: var(--llgh-muted);
	margin-bottom: 1.6rem;
}
.woocommerce div.product .summary .price { margin-bottom: .2rem; }
.llgh-price-note { font-size: 13px; color: var(--llgh-muted); margin: 0 0 1.2rem; }
.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--llgh-muted); font-size: 15px; margin-bottom: 1.6rem;
}

/* ---------- Caja "regalar" ---------- */
.llgh-gift {
	background: var(--llgh-paper);
	border: 1px solid var(--llgh-line);
	padding: 26px;
	margin: .5rem 0 1.2rem;
}
.llgh-field { margin-bottom: 16px; }
.llgh-field-label {
	font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
	color: var(--llgh-muted); margin-bottom: 8px; display: block;
}
.llgh-gift input[type="text"],
.llgh-gift input[type="date"],
.llgh-gift textarea,
.llgh-gift select {
	width: 100%;
	border: 1px solid var(--llgh-line);
	background: var(--llgh-cream);
	font-family: var(--llgh-sans);
	font-size: 14px; font-weight: 300;
	padding: 12px 14px;
	color: var(--llgh-ink);
	border-radius: 0;
}
.llgh-gift input:focus, .llgh-gift textarea:focus, .llgh-gift select:focus {
	outline: none; border-color: var(--llgh-gold);
}
.llgh-gift textarea { resize: vertical; min-height: 74px; }
.llgh-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

/* control segmentado "Es un regalo / Para mí" (sin JS, con radios) */
.llgh-seg { display: flex; gap: 10px; margin-bottom: 20px; }
.llgh-seg input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.llgh-seg label {
	flex: 1; text-align: center;
	border: 1px solid var(--llgh-line);
	background: transparent;
	padding: 13px; font-size: 13px; letter-spacing: .5px;
	cursor: pointer; color: var(--llgh-ink); transition: .15s;
}
.llgh-seg input[type="radio"]:checked + label {
	border-color: var(--llgh-gold); background: #faf4ea;
	color: var(--llgh-gold-dark); font-weight: 500;
}
/* oculta destinatario/dedicatoria cuando es "Para mí" */
.llgh-gift:has(#llgh-for-me:checked) .llgh-only-gift { display: none; }

.llgh-gift-note {
	font-size: 12px; color: var(--llgh-muted);
	margin-top: 14px; line-height: 1.5; max-width: 420px;
}
.woocommerce div.product form.cart { margin-top: .5rem; }
.woocommerce div.product form.cart .button {
	min-height: 52px; padding: 14px 26px; font-size: 13px;
}

@media (max-width: 900px) {
	.woocommerce div.product { grid-template-columns: 1fr; gap: 28px; }
	.woocommerce div.product .woocommerce-product-gallery,
	.woocommerce div.product .summary { grid-column: 1; }
}

/* ---------- Título de página ---------- */
.llgh-pagetitle {
	font-family: var(--llgh-serif);
	font-size: clamp(2rem, 4vw, 2.6rem);
	font-weight: 400;
	margin-bottom: 1.6rem;
}

/* ---------- Cesta y Checkout (bloques WooCommerce) ---------- */
.wc-block-components-button:not(.is-link),
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--llgh-gold) !important;
	color: #fff !important;
	border-radius: 0 !important;
	font-family: var(--llgh-sans) !important;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-weight: 500;
	font-size: 13px !important;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-components-checkout-place-order-button:hover {
	background: var(--llgh-gold-dark) !important;
}

/* caja de resumen / totales */
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-totals-wrapper {
	background: var(--llgh-paper);
	border: 1px solid var(--llgh-line);
}
.wp-block-woocommerce-checkout-order-summary-block { padding: 8px 22px; }
.wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item { color: var(--llgh-ink); }
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title {
	font-family: var(--llgh-serif) !important;
	font-weight: 400;
	font-size: 1.4rem;
	color: var(--llgh-ink);
	text-transform: none;
	letter-spacing: 0;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--llgh-serif);
	font-size: 1.4rem;
	color: var(--llgh-ink);
}

/* campos del formulario */
.wc-block-components-text-input input,
.wc-block-components-text-input input.is-active,
.wc-block-checkout__form input.input-text,
.wc-block-components-select__select {
	border: 1px solid var(--llgh-line) !important;
	background: var(--llgh-cream) !important;
	border-radius: 0 !important;
	font-family: var(--llgh-sans);
}
.wc-block-components-text-input input:focus {
	border-color: var(--llgh-gold) !important;
	box-shadow: none !important;
}

/* miniatura de línea de pedido */
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img { border-radius: 0; }
.wc-block-cart-item__product-name,
.wc-block-components-product-name {
	font-family: var(--llgh-serif);
	font-size: 1.2rem;
	color: var(--llgh-ink);
}

/* ---------- Confirmación (gracias por su compra) ---------- */
.llgh-thankyou {
	text-align: center;
	max-width: 560px;
	margin: 1rem auto 2.5rem;
}
.llgh-thankyou .llgh-seal {
	width: 74px; height: 74px; border-radius: 50%;
	background: #faf4ea; border: 1px solid var(--llgh-gold);
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto 22px;
}
.llgh-thankyou .llgh-kicker {
	font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
	color: var(--llgh-gold); margin-bottom: 10px;
}
.llgh-thankyou h2 { font-size: clamp(1.8rem, 4vw, 2.4rem); margin-bottom: .6rem; }
.llgh-thankyou p { color: var(--llgh-muted); }
.woocommerce-order .woocommerce-thankyou-order-received {
	font-family: var(--llgh-serif);
	font-size: 1.6rem;
	color: var(--llgh-ink);
}

/* ---------- Cómo canjear ---------- */
.llgh-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
	margin: 2.2rem 0 1.6rem;
}
.llgh-step {
	background: none;
	border: 0;
	border-top: 1px solid var(--llgh-line);
	padding: 26px 4px 0;
	text-align: left;
}
.llgh-step .llgh-n {
	font-family: var(--llgh-serif);
	font-size: 3.2rem;
	color: var(--llgh-gold);
	line-height: 1;
	display: block;
}
.llgh-step h3 { font-size: 1.4rem; margin: 16px 0 8px; }
.llgh-step p { font-size: 13.5px; color: var(--llgh-muted); margin: 0; line-height: 1.55; }
.llgh-redeem-note {
	background: var(--llgh-cream);
	border: 0;
	border-left: 2px solid var(--llgh-gold);
	padding: 22px 26px;
	display: flex; gap: 18px; align-items: center;
	margin-bottom: 1rem;
}
.llgh-redeem-note .qmini { width: 60px; height: 60px; flex-shrink: 0; }
.llgh-redeem-note p { font-size: 14px; color: var(--llgh-muted); margin: 0; }
.llgh-redeem-note b { color: var(--llgh-ink); font-weight: 500; }
.llgh-redeem-intro { color: var(--llgh-muted); max-width: 620px; margin-bottom: .5rem; }
@media (max-width: 900px) { .llgh-steps { grid-template-columns: 1fr; } }

/* ---------- Pie ---------- */
.llgh-footer {
	background: #241e18;
	color: #cfc6b8;
}
.llgh-footer a { color: #cfc6b8; text-decoration: none; }
.llgh-footer a:hover { color: #fff; }
.llgh-footer .wp-block-site-title a { color: #fff; }
.llgh-footer h5 {
	font-family: var(--llgh-sans);
	font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
	color: #9d9080; font-weight: 500;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr; }
}
