/* Las Margas — woo.css v0.1.18 · Área privada y tienda sobre los estilos base de WooCommerce */
.is-woo .prose > * { max-width: none; }
.is-woo .prose { max-width: 1100px; }
.woocommerce .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; gap: .6em; font-family: var(--sans); font-weight: 400; font-size: 14px; letter-spacing: .08em; text-transform: uppercase;
	border: 1px solid var(--ink); border-radius: 999px; padding: 1em 1.8em; color: var(--ink); background: transparent; line-height: 1; min-height: 48px; transition: background var(--t), color var(--t);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce .btn:hover { background: var(--ink); color: var(--paper); }
.woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--ink); color: var(--paper); }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: transparent; color: var(--ink); }

/* Acceso por localizador */
.lmb-access { max-width: 520px; }
.lmb-access__form label { display: block; font-family: var(--sans); font-weight: 400; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); margin-bottom: .6em; }
.lmb-access__form input { width: 100%; font-family: ui-monospace, Menlo, monospace; font-size: clamp(24px, 3vw, 34px); letter-spacing: .12em; text-transform: uppercase; background: transparent; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; padding: .4em 0; margin-bottom: 1.4em; outline: none; }
.lmb-access__form input:focus { border-bottom-width: 2px; }
.lmb-access__help { font-size: 14px; color: var(--stone); margin-top: 1.6em; }
.lmb-access__error { color: #8a2f1f; }

/* Mi cuenta */
.woocommerce-MyAccount-navigation { margin-bottom: 2.5em; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4em 1.6em; border-bottom: 1px solid var(--line); padding-bottom: 1em; }
.woocommerce-MyAccount-navigation a { font-family: var(--sans); font-weight: 400; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; padding: .5em 0; display: inline-block; }
.woocommerce-MyAccount-navigation .is-active a { border-bottom: 1px solid var(--ink); }
@media (min-width: 769px) { .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; } }

.lmb-boda__head { margin-bottom: 3em; }
.lmb-boda__title { font-size: clamp(40px, 6vw, 84px); }
.lmb-boda__date { font-family: var(--serif); font-size: clamp(20px, 2.2vw, 28px); margin: .3em 0 .6em; }
.lmb-boda__code code { font-family: ui-monospace, Menlo, monospace; letter-spacing: .1em; background: var(--paper-2); padding: .3em .6em; border-radius: 4px; }
.lmb-boda h3 { margin: 0 0 .8em; }
.lmb-boda__due { background: var(--paper-2); padding: clamp(20px, 3vw, 36px); margin-bottom: 2.5em; }
.lmb-due { list-style: none; margin: 0; padding: 0; }
.lmb-due li { display: flex; justify-content: space-between; align-items: center; gap: 1.5em; padding: 1em 0; border-top: 1px solid var(--line); }
.lmb-due li:first-child { border-top: 0; padding-top: 0; }
.lmb-boda__actions { display: grid; gap: 1.2em; grid-template-columns: 1fr; margin-bottom: 2.5em; }
@media (min-width: 700px) { .lmb-boda__actions { grid-template-columns: 1fr 1fr; } }
.lmb-card, .lmb-card * { text-decoration: none !important; }
.lmb-card { display: block; border: 1px solid var(--ink); padding: clamp(20px, 3vw, 32px); transition: background var(--t), color var(--t); }
.lmb-card:hover { background: var(--ink); color: var(--paper); }
.lmb-card strong { display: block; font-family: var(--serif); font-weight: 400; font-size: clamp(24px, 2.4vw, 32px); margin-bottom: .4em; }
.lmb-card span { font-size: 15px; opacity: .85; }
.lmb-docs { list-style: none; margin: 0; padding: 0; }
.lmb-docs li { padding: .8em 0; border-top: 1px solid var(--line); }
.lmb-muted { color: var(--stone); }
.lmb-boda__help { margin-top: 3em; font-size: 15px; }

/* Tienda: rejilla limpia */
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--serif); font-weight: 400; font-size: clamp(20px, 2vw, 26px); }
.woocommerce ul.products li.product .price { font-family: var(--sans); color: var(--ink); }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { display: none; }
.woocommerce table.shop_table { border: 0; border-collapse: collapse; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border: 0; border-bottom: 1px solid var(--line); }
.woocommerce-store-notice { display: none !important; }

/* Barra de sesión de novios */
.lmb-bar { position: fixed; top: 0; left: 0; right: 0; z-index: 60; display: flex; justify-content: space-between; gap: 1em; padding: .55em var(--gutter); background: var(--ink); color: var(--paper); font-family: var(--sans); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.lmb-bar a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
body:has(.lmb-bar) .site-head { top: 34px; }
body:has(.lmb-bar) .menu-overlay { padding-top: calc(114px + 4vh); }

/* ---------- Tienda (v0.1.8) ---------- */
.page-head--shop { padding-bottom: 0; }
.prose--woo { padding-top: 4vh; }
.prose--product { padding-top: calc(100px + 6vh); }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border: 1px solid var(--line); border-top: 1px solid var(--ink); background: var(--paper-2); color: var(--ink); padding: 1em 1.5em; margin-bottom: 2em; font-size: 15px; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-message .button { float: none; margin-left: 1em; }

/* Rejilla de productos */
.woocommerce ul.products, .woocommerce-page ul.products { display: grid !important; gap: clamp(20px, 3vw, 44px) clamp(16px, 2.4vw, 32px); grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin: 0 0 4em; padding: 0; list-style: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 0; display: flex; flex-direction: column; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; margin: 0 0 1em; background: var(--paper-2); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; margin: 0 0 .3em; line-height: 1.15; }
.woocommerce ul.products li.product .price { margin: 0 0 1em; font-size: 15px; }
.woocommerce ul.products li.product .button { margin-top: auto; align-self: flex-start; }
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale { display: none; }

/* Producto */
.woocommerce div.product { display: grid; gap: clamp(24px, 4vw, 64px); grid-template-columns: 1fr; }
@media (min-width: 900px) { .woocommerce div.product { grid-template-columns: 1.1fr 1fr; align-items: start; } .woocommerce div.product > .entry-content, .woocommerce div.product > .wp-block-post-content, .woocommerce div.product > p { grid-column: 2; } }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none !important; width: auto !important; margin: 0 !important; }
.woocommerce div.product div.images img { width: 100%; }
.woocommerce div.product .product_title { font-size: clamp(34px, 4.6vw, 64px); margin-bottom: .3em; }
.woocommerce div.product p.price { font-family: var(--sans); font-size: 20px; color: var(--ink); margin-bottom: 1.5em; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 17px; margin-bottom: 2em; }
.woocommerce div.product form.cart { display: flex; gap: 1em; align-items: center; margin-bottom: 2em; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce .quantity .qty { width: 4.5em; min-height: 48px; border: 1px solid var(--ink); background: transparent; border-radius: 999px; font: inherit; text-align: center; }
.woocommerce div.product form.cart .button { float: none; }

/* Carrito y checkout */
.woocommerce table.shop_table th { font-family: var(--sans); font-weight: 400; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 1em .8em; }
.woocommerce table.shop_table img { width: 64px; }
.woocommerce a.remove { color: var(--ink) !important; font-size: 1.2em; }
.woocommerce a.remove:hover { background: var(--ink); color: var(--paper) !important; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { float: none; width: 100%; max-width: 480px; margin-left: auto; }
.woocommerce .cart_totals h2 { font-size: clamp(24px, 2.4vw, 32px); }
.woocommerce .wc-proceed-to-checkout a.checkout-button { display: inline-flex; width: auto; }
.woocommerce form .form-row label { font-family: var(--sans); font-weight: 400; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single { font: inherit; background: transparent; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; padding: .6em 0; min-height: 48px; }
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 0; }
.woocommerce-checkout #payment { background: var(--paper-2); border-radius: 0; }
.woocommerce-checkout #payment div.payment_box { background: var(--white); }
.woocommerce-checkout #payment div.payment_box::before { border-color: transparent transparent var(--white); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--line); }
.woocommerce #payment #place_order { float: none; width: 100%; justify-content: center; margin-top: 1em; }
.woocommerce-checkout h3, .woocommerce-checkout h3#order_review_heading { font-size: clamp(24px, 2.4vw, 32px); margin: 2em 0 .8em; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none; width: 100%; }
.woocommerce-checkout .woocommerce-additional-fields { margin-top: 1.5em; }
.woocommerce-order .woocommerce-order-overview { list-style: none; padding: 0; margin: 0 0 3em; display: grid; gap: 1em; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.woocommerce-order .woocommerce-order-overview li { border: 0; border-top: 1px solid var(--ink); padding: .8em 0; margin: 0; font-family: var(--sans); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); }
.woocommerce-order .woocommerce-order-overview li strong { display: block; font: inherit; font-size: 16px; letter-spacing: 0; text-transform: none; color: var(--ink); margin-top: .4em; }
.woocommerce-thankyou-order-received { font-family: var(--serif); font-size: clamp(24px, 2.4vw, 36px); }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button { padding: .6em 1.2em; min-height: 0; font-size: 12px; }
/* clearfix de Woo crea celdas fantasma en grid */
.woocommerce ul.products::before, .woocommerce ul.products::after, .woocommerce-page ul.products::before, .woocommerce-page ul.products::after, .woocommerce div.product::before, .woocommerce div.product::after { display: none !important; content: none !important; }

/* ---------- Área privada: cascarón (v0.1.9) ---------- */
.is-private .visit { display: none; }
.is-private .woocommerce-MyAccount-navigation { display: none; }
.is-private .woocommerce-MyAccount-content { float: none; width: 100%; }
.lmp { max-width: 1280px; margin: 0 auto; padding: calc(100px + 4vh) var(--gutter) 8vh; }
body:has(.lmb-bar) .lmp { padding-top: calc(134px + 4vh); }
.lmp__who { font-family: var(--serif); font-size: clamp(22px, 2vw, 28px); line-height: 1.1; margin: .2em 0 1.2em; }
.lmp__nav ul { list-style: none; margin: 0; padding: 0; }
.lmp__nav a { display: flex; align-items: center; gap: .8em; font-family: var(--sans); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; padding: .95em 0; border-top: 1px solid var(--line); color: var(--ink-2); transition: color var(--t); }
.lmp__nav li:last-child a { border-bottom: 1px solid var(--line); }
.lmp__nav a:hover, .lmp__nav .is-active a { color: var(--ink); }
.lmp__nav .is-active a { font-weight: 500; }
.lmp__nav svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.lmp__count { margin-left: auto; min-width: 1.7em; height: 1.7em; padding: 0 .45em; border-radius: 999px; background: var(--ink); color: var(--paper); font-size: 12px; letter-spacing: 0; display: inline-flex; align-items: center; justify-content: center; }
.lmp__count[data-n="0"] { display: none; }
.lmp__meta { margin-top: 1.6em; font-size: 13px; color: var(--stone); }
.lmp__meta p { margin: 0 0 .5em; }
.lmp__meta code { font-family: ui-monospace, Menlo, monospace; letter-spacing: .08em; color: var(--ink); }
.lmp__exit { text-decoration: underline; text-underline-offset: .2em; }
.lmp__head { margin-bottom: clamp(24px, 4vh, 48px); }
.lmp__head h1 { font-size: clamp(34px, 4.2vw, 56px); margin: 0 0 .3em; }
.lmp__head p { color: var(--ink-2); max-width: var(--measure); margin: 0; }
.lmp__content .lmb-boda__head { margin-bottom: 2.5em; }
.lmp__content .lmb-boda__title { font-size: clamp(34px, 4.2vw, 56px); }
.lmp__content .woocommerce-notices-wrapper { margin: 0; }
.lmp__content .woocommerce div.product { margin-top: 0; }
.lmp__content .woocommerce ul.products { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }

@media (min-width: 900px) {
	.lmp { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
	.lmp__side { position: sticky; top: calc(96px + 2vh); }
	body:has(.lmb-bar) .lmp__side { top: calc(130px + 2vh); }
	.lmp__content .woocommerce div.product { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 899px) {
	/* La navegación pasa a barra inferior tipo app; nombre y salir viven en la barra superior. */
	.lmp__eyebrow, .lmp__who, .lmp__meta { display: none; }
	.lmp__nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; background: var(--paper); border-top: 1px solid var(--line); padding-bottom: env(safe-area-inset-bottom); }
	.lmp__nav ul { display: grid; grid-template-columns: repeat(5, 1fr); }
	.lmp__nav a { flex-direction: column; justify-content: center; gap: .4em; padding: .75em .2em .7em; border: 0 !important; font-size: 10px; letter-spacing: .06em; text-align: center; position: relative; min-height: 60px; }
	.lmp__nav .is-active a::after { content: ''; position: absolute; top: -1px; left: 22%; right: 22%; height: 2px; background: var(--ink); }
	.lmp__nav svg { width: 22px; height: 22px; }
	.lmp__count { position: absolute; top: .45em; left: calc(50% + 4px); margin: 0; min-width: 1.6em; height: 1.6em; font-size: 10px; padding: 0 .3em; }
	.is-private .site-main { padding-bottom: 84px; }
	.is-private .site-foot { padding-bottom: 96px; }
	.lmp__head h1 { font-size: clamp(30px, 8vw, 40px); }
	.lmp__content .woocommerce ul.products { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 20px 14px; }
	.lmp__content .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 18px; }
	.lmp__content .woocommerce ul.products li.product .button { font-size: 12px; padding: .8em 1.2em; min-height: 40px; }
	.lmb-bar { font-size: 11px; }
	.lmb-bar__pre, .lmb-bar__boda, .lmb-bar__sep { display: none; }
}

/* Carrito: filas limpias, sin botón de actualizar (se actualiza solo) */
.woocommerce-cart button[name="update_cart"] { display: none !important; }
.woocommerce-cart table.shop_table td.actions { display: none; }
.woocommerce-cart table.shop_table td.product-thumbnail, .woocommerce-cart table.shop_table th.product-thumbnail, .woocommerce-cart table.shop_table_responsive tr td.product-thumbnail { display: none !important; }
.woocommerce-cart table.shop_table td.product-name { font-family: var(--serif); font-size: 20px; }
.woocommerce-cart table.shop_table td.product-name a { text-decoration: none; }
.woocommerce-cart .cart-collaterals { margin-top: 2em; }
.woocommerce-cart .cart_totals table th { width: auto; }
@media (max-width: 767px) {
	.woocommerce-cart table.shop_table tr.cart_item { display: grid; grid-template-columns: 1fr auto; gap: .2em 1em; padding: 1.2em 0; border-bottom: 1px solid var(--line); }
	.woocommerce-cart table.shop_table tr.cart_item td { display: block; border: 0 !important; padding: 0 !important; text-align: left !important; background: transparent !important; }
	.woocommerce-cart table.shop_table tr.cart_item td::before { display: none; }
	.woocommerce-cart table.shop_table td.product-remove { grid-column: 2; grid-row: 1 / span 3; align-self: start; justify-self: end; }
	.woocommerce-cart table.shop_table td.product-name { grid-column: 1; }
	.woocommerce-cart table.shop_table td.product-price { grid-column: 1; color: var(--stone); font-size: 14px; }
	.woocommerce-cart table.shop_table td.product-quantity { grid-column: 1; margin-top: .6em; }
	.woocommerce-cart table.shop_table td.product-subtotal { grid-column: 2; grid-row: 4; justify-self: end; font-size: 18px; }
	.woocommerce-cart table.shop_table tr:last-child td.actions { display: none; }
	.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td { display: table-cell; }
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; justify-content: center; }
}

/* Límite por boda y variaciones (v0.1.12) */
.lmb-limit { font-size: 14px; color: var(--stone); margin: -1em 0 1.5em; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .variations { margin-bottom: 1.5em; }
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th { display: block; padding: 0; text-align: left; }
.woocommerce div.product form.cart .variations label { font-family: var(--sans); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); }
.woocommerce div.product form.cart .variations select { width: 100%; max-width: 320px; min-height: 48px; font: inherit; background: transparent; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; margin: .3em 0 1em; }
.woocommerce div.product form.cart .reset_variations { font-size: 13px; }
.woocommerce div.product form.cart .single_variation_wrap { margin-top: 1em; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; gap: 1em; align-items: center; }
.woocommerce div.product form.cart .woocommerce-variation-price { margin-bottom: 1em; font-size: 20px; }

/* Tienda agrupada (v0.1.13) */
.lmp__group { margin-bottom: clamp(32px, 5vh, 64px); }
.lmp__group-title { font-size: clamp(26px, 2.6vw, 36px); margin: 0 0 .3em; }
.lmp__group-desc { color: var(--ink-2); max-width: var(--measure); margin: 0 0 1.5em; }
.lmp__group ul.products { margin-bottom: 0; }
.woocommerce div.product .woocommerce-variation-price .price, .woocommerce div.product span.price, .woocommerce div.product p.price, .woocommerce ul.products li.product .price { color: var(--ink); }
