:root{--lv-navy:#1B3566;--lv-gold:#A87540;--lv-gold-l:#C9A97A;--lv-cream:#F7F2EC;--lv-sand:#F2EDE2;--lv-muted:#7C6F60;--lv-ink:#1C2B3A}

.single-product .lv-p-hero,.single-product .lv-p-band{width:100vw;margin-left:calc(50% - 50vw);position:relative}

/* ---------- HERO ---------- */
.lv-p-hero{min-height:62vh;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--lv-navy) center/cover no-repeat;padding:150px 24px 110px;margin-bottom:80px}
.lv-p-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,27,51,.9),rgba(27,53,102,.78))}
.lv-p-hero__in{position:relative;z-index:2;max-width:860px;display:flex;flex-direction:column;align-items:center;gap:18px}
.lv-p-eyebrow{margin:0;font-family:Poppins,sans-serif;font-size:11px;font-weight:300;letter-spacing:4px;color:var(--lv-gold-l)}
.lv-p-title{margin:0;font-family:"Playfair Display",Georgia,serif;font-style:italic;font-weight:700;font-size:clamp(32px,5.2vw,62px);line-height:1.08;letter-spacing:1px;color:#fff}
.lv-p-claim{margin:0;max-width:620px;font-family:Poppins,sans-serif;font-weight:300;font-size:clamp(14px,1.5vw,16px);line-height:1.85;color:rgba(201,170,123,.88)}
.lv-p-chips{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0 0;padding:0}
.lv-p-chips li{font-family:Poppins,sans-serif;font-size:10.5px;font-weight:400;letter-spacing:1.6px;text-transform:uppercase;color:#fff;border:1px solid rgba(201,169,122,.5);padding:9px 18px}

/* ---------- COLUMNAS GALERIA + COMPRA ---------- */
.single-product div.product{font-family:Poppins,sans-serif}
.single-product div.product .woocommerce-product-gallery img{display:block}
.single-product div.product .summary{font-family:Poppins,sans-serif}
.single-product .summary .price,.single-product .summary .woocommerce-variation-price .price{font-family:"Playfair Display",Georgia,serif;font-weight:600;color:var(--lv-navy);font-size:34px}
.single-product .summary .price del{opacity:.45;font-size:.62em}
.single-product .summary .price ins{text-decoration:none}
.single-product .summary .woocommerce-product-details__short-description{color:var(--lv-muted);font-weight:300;font-size:15px;line-height:1.95}
.single-product .summary form.cart{border-top:1px solid rgba(168,117,64,.28);padding-top:26px;margin-top:26px}
.single-product .summary table.variations{border:0;margin-bottom:18px}
.single-product .summary table.variations th,.single-product .summary table.variations td{border:0;padding:6px 0}
.single-product .summary table.variations label{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;font-weight:400;color:var(--lv-gold)}
.single-product .summary select{width:100%;max-width:340px;padding:14px 16px;border:1px solid rgba(168,117,64,.4);border-radius:0;background:#FBF8F2;font-family:Poppins,sans-serif;font-size:13px;color:var(--lv-navy)}
.single-product .summary .button,.single-product .summary button.single_add_to_cart_button{background:#173F78!important;color:#fff!important;border:1px solid #173F78!important;border-radius:0!important;font-family:Poppins,sans-serif;font-size:11px;font-weight:600;letter-spacing:1.25px;text-transform:uppercase;padding:18px 34px!important;transition:all .35s ease}
.single-product .summary .button:hover,.single-product .summary button.single_add_to_cart_button:hover{background:#F4EFE4!important;color:#173F78!important;border-color:#F4EFE4!important;transform:translateY(-2px)}

/* ---------- INCLUYE (columna de compra) ---------- */
.lv-p-incluye{margin-top:30px;padding-top:26px;border-top:1px solid rgba(168,117,64,.28)}
.lv-p-incluye ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.lv-p-incluye li{font-size:11.5px;font-weight:300;color:var(--lv-navy);background:var(--lv-sand);border:1px solid rgba(168,117,64,.22);padding:8px 14px}

/* ---------- BANDAS ---------- */
.lv-p-band{padding:110px 24px}
.lv-p-band--tight{padding:80px 24px}
.lv-p-band--cream{background:var(--lv-cream)}
.lv-p-band--sand{background:var(--lv-sand)}
.lv-p-band--navy{background:var(--lv-navy)}
.lv-p-wrap{max-width:1160px;margin:0 auto}
.lv-p-narrow{max-width:780px}
.lv-p-label{margin:0 0 6px;font-family:Poppins,sans-serif;font-size:11px;font-weight:300;letter-spacing:4px;text-transform:uppercase;color:var(--lv-gold)}
.lv-p-label--center{text-align:center}
.lv-p-label--gold{color:var(--lv-gold-l)}
.lv-p-h2{margin:0 0 44px;text-align:center;font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:clamp(25px,3.4vw,42px);line-height:1.2;color:var(--lv-navy)}
.lv-p-h2--light{color:#fff}
.lv-p-rte{margin-top:22px;text-align:center;font-family:Poppins,sans-serif;font-weight:300;font-size:15px;line-height:1.95;color:var(--lv-muted)}
.lv-p-rte p{margin:0 0 18px}

/* ---------- PROGRAMA ---------- */
.lv-p-days{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.lv-p-day{background:rgba(255,255,255,.045);border:1px solid rgba(201,169,122,.28);padding:36px 34px}
.lv-p-day h3{margin:0 0 22px;font-family:Poppins,sans-serif;font-size:12px;font-weight:500;letter-spacing:2.2px;text-transform:uppercase;color:var(--lv-gold-l);text-align:center;line-height:1.7}
.lv-p-day ul{list-style:none;margin:0;padding:0}
.lv-p-day li{display:flex;gap:20px;align-items:baseline;padding:13px 0;border-top:1px solid rgba(255,255,255,.09)}
.lv-p-day li:first-child{border-top:0}
.lv-p-time{flex:0 0 62px;font-family:"Playfair Display",Georgia,serif;font-size:15px;font-weight:600;color:var(--lv-gold-l)}
.lv-p-act{font-family:Poppins,sans-serif;font-size:13.5px;font-weight:300;line-height:1.7;color:rgba(255,255,255,.86)}

/* ---------- EQUIPO ---------- */
.lv-p-team{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.lv-p-team li{background:#FFFCF7;border-left:2px solid var(--lv-gold);padding:24px 22px;display:flex;flex-direction:column;gap:5px}
.lv-p-team__n{font-family:"Playfair Display",Georgia,serif;font-size:18px;font-weight:600;color:var(--lv-navy);line-height:1.25}
.lv-p-team__r{font-family:Poppins,sans-serif;font-size:10px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:var(--lv-gold)}

/* ---------- CONDICIONES ---------- */
.lv-p-cond{list-style:none;margin:20px 0 0;padding:0;text-align:center}
.lv-p-cond li{font-family:Poppins,sans-serif;font-size:12.5px;font-weight:300;line-height:1.9;color:var(--lv-muted)}

/* ---------- RELACIONADOS ---------- */
.single-product .related>h2,.single-product .up-sells>h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;color:var(--lv-navy);text-align:center;font-size:32px;margin-bottom:34px}

@media(max-width:900px){
.lv-p-days{grid-template-columns:1fr}
.lv-p-team{grid-template-columns:repeat(2,1fr)}
.lv-p-band{padding:76px 20px}
.lv-p-hero{min-height:54vh;padding:120px 20px 84px;margin-bottom:52px}
}
@media(max-width:560px){
.lv-p-team{grid-template-columns:1fr}
.lv-p-day{padding:26px 22px}
.lv-p-time{flex:0 0 54px;font-size:14px}
}

/* ================================================================
   CORRECCIONES DE LEGIBILIDAD
   El kit define los colores globales de texto en blanco (pensados
   para fondos oscuros). En WooCommerce eso deja el texto ilegible
   sobre los fondos claros, asi que se fija color explicito.
   ================================================================ */

/* La cabecera nativa del tema se oculta solo en la ficha de producto:
   el hero la reemplaza. No se toca el filtro PHP para que la barra de
   navegacion siga en modo transparente y el menu se lea sobre el hero. */
.single-product .uicore-page-title{display:none!important}
.single-product .lv-p-hero{padding-top:210px}
@media(max-width:900px){.single-product .lv-p-hero{padding-top:150px}}

/* Banda de titulo en tienda y categorias: fondo navy para que el menu blanco se lea */
.woocommerce-page .uicore-page-title{background:var(--lv-navy)!important}
.woocommerce-page .uicore-page-title .uicore-title,
.woocommerce-page .uicore-page-title h1,
.woocommerce-page .uicore-page-title a,
.woocommerce-page .uicore-page-title span{color:#fff!important}

/* Columna de compra */
.single-product div.product .summary,
.single-product div.product .summary p,
.single-product div.product .summary li,
.single-product div.product .summary span,
.single-product div.product .summary div,
.single-product .woocommerce-variation-description,
.single-product .woocommerce-variation-description p{color:var(--lv-muted)}
.single-product div.product .summary a{color:var(--lv-navy)}
.single-product .summary .price,
.single-product .summary .price span,
.single-product .summary .price bdi,
.single-product .woocommerce-variation-price .price,
.single-product .woocommerce-variation-price .price span,
.single-product .woocommerce-variation-price .price bdi{color:var(--lv-navy)!important}
.single-product .summary .woocommerce-product-details__short-description,
.single-product .summary .woocommerce-product-details__short-description p{color:var(--lv-muted)!important}
.single-product .summary table.variations label,
.single-product .summary table.variations th label{color:var(--lv-gold)!important}
.single-product .summary .reset_variations{color:var(--lv-gold)!important;font-size:11px}
.single-product .summary select,
.single-product .summary select option{color:var(--lv-navy)!important}

/* Migas de pan */
.single-product .woocommerce-breadcrumb,
.single-product .woocommerce-breadcrumb a,
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a{color:var(--lv-muted)!important;font-size:11.5px;font-weight:300}
.single-product .woocommerce-breadcrumb a:hover{color:var(--lv-gold)!important}

/* Selector de cantidad */
.single-product .quantity input,
.single-product .quantity .qty,
.single-product .quantity a,
.single-product .quantity span{color:var(--lv-navy)!important}
.single-product .quantity{border:1px solid rgba(168,117,64,.35);background:#FBF8F2}

/* Ficha de producto: contenido del hero se mantiene blanco */
.lv-p-hero .lv-p-title,.lv-p-hero__in h1{color:#fff!important}
.lv-p-hero .lv-p-chips li{color:#fff!important}

/* Bandas propias: asegurar color aunque el tema herede blanco */
.lv-p-band--cream,.lv-p-band--cream p,.lv-p-band--cream li,.lv-p-band--sand,.lv-p-band--sand p,.lv-p-band--sand li{color:var(--lv-muted)}
.lv-p-band--cream .lv-p-h2,.lv-p-band--sand .lv-p-h2{color:var(--lv-navy)}
.lv-p-band--navy .lv-p-act{color:rgba(255,255,255,.86)!important}
.lv-p-incluye li{color:var(--lv-navy)!important}
.lv-p-team__n{color:var(--lv-navy)!important}
.lv-p-team__r{color:var(--lv-gold)!important}

/* Catalogo / tienda */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3{color:var(--lv-navy)!important;font-family:"Playfair Display",Georgia,serif;font-weight:600}
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price bdi,
.woocommerce ul.products li.product .price span{color:var(--lv-gold)!important;font-family:Poppins,sans-serif;font-size:14px;font-weight:400}
.woocommerce ul.products li.product .button{background:#173F78!important;color:#fff!important;border-radius:0!important;font-size:11px;letter-spacing:1.2px;text-transform:uppercase}
.single-product .related h2,.single-product .related .woocommerce-loop-product__title{color:var(--lv-navy)!important}

/* Avisos de WooCommerce */
.woocommerce-message,.woocommerce-info,.woocommerce-error{color:var(--lv-navy)!important;background:var(--lv-sand)!important;border-top-color:var(--lv-gold)!important}
.woocommerce-message a,.woocommerce-info a{color:var(--lv-gold)!important}

/* ================================================================
   GRID DE EXPERIENCIAS  [tlv_grid]
   ================================================================ */
.lv-grid-block{width:100%;font-family:Poppins,Arial,sans-serif}
.lv-grid-top{display:flex;justify-content:flex-end;margin:-14px 0 26px}
.lv-grid-top__l{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:#fff;text-decoration:none;transition:color .3s ease}
.lv-grid-top__l:hover{color:var(--lv-gold-l,#C9A97A)}
.lv-ic{display:inline-flex;width:14px;height:14px;flex:0 0 14px}
.lv-ic svg{width:100%;height:100%;stroke-linecap:round;stroke-linejoin:round}
.lv-grid-top__l .lv-ic{width:17px;height:17px;flex-basis:17px;transition:transform .35s ease}
.lv-grid-top__l:hover .lv-ic{transform:translateX(4px)}

.lv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lv-card{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;text-decoration:none;background:#0E1B33;isolation:isolate}
.lv-card__img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .9s cubic-bezier(.2,.7,.3,1);z-index:1}
.lv-card:hover .lv-card__img{transform:scale(1.06)}
.lv-card::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(14,27,51,0) 26%,rgba(14,27,51,.72) 62%,rgba(14,27,51,.94) 100%);transition:background .5s ease}
.lv-card:hover::after{background:linear-gradient(180deg,rgba(14,27,51,.1) 20%,rgba(14,27,51,.8) 58%,rgba(14,27,51,.96) 100%)}
.lv-card__badge{position:absolute;top:18px;left:18px;z-index:4;background:#A87540;color:#fff;font-size:9px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase;padding:8px 13px;line-height:1}
.lv-card__in{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;flex-direction:column;gap:8px;padding:26px 24px}
.lv-card__meta{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:300;letter-spacing:1.3px;text-transform:uppercase;color:rgba(255,255,255,.72)}
.lv-card__meta .lv-ic{color:var(--lv-gold-l,#C9A97A)}
.lv-card__t{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-weight:600;font-size:22px;line-height:1.22;color:#fff;margin:2px 0}
.lv-card__d{font-size:12.5px;font-weight:300;line-height:1.75;color:rgba(255,255,255,.7)}
.lv-card__f{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:15px;border-top:1px solid rgba(255,255,255,.18)}
.lv-card__cta{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:500;letter-spacing:1.7px;text-transform:uppercase;color:#fff;transition:color .3s ease}
.lv-card__cta .lv-ic{transition:transform .35s ease}
.lv-card:hover .lv-card__cta{color:var(--lv-gold-l,#C9A97A)}
.lv-card:hover .lv-card__cta .lv-ic{transform:translateX(4px)}
.lv-card__stock{font-size:10px;font-weight:300;color:rgba(255,255,255,.5);text-align:right}

@media(max-width:1024px){.lv-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:680px){
.lv-grid{grid-template-columns:1fr}
.lv-card{aspect-ratio:4/5}
.lv-grid-top{justify-content:flex-start;margin:-8px 0 22px}
}

/* ================================================================
   SELECTOR DE OPCIONES EN TARJETAS
   ================================================================ */
.lv-select-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important;border:0!important}
.lv-opts{display:flex;flex-direction:column;gap:10px;margin:8px 0 4px;width:100%;max-width:420px}
.lv-opt{display:flex;align-items:center;gap:15px;width:100%;text-align:left;background:#FBF8F2;border:1px solid rgba(168,117,64,.32);border-radius:0;padding:15px 18px;cursor:pointer;font-family:Poppins,Arial,sans-serif;transition:border-color .3s ease,background .3s ease,transform .3s ease;box-shadow:none}
.lv-opt:hover{border-color:#A87540;transform:translateY(-1px)}
.lv-opt.is-active{border-color:#A87540;background:#fff;box-shadow:inset 0 0 0 1px #A87540}
.lv-opt__check{flex:0 0 22px;width:22px;height:22px;border:1px solid rgba(168,117,64,.55);border-radius:50%;display:flex;align-items:center;justify-content:center;color:transparent;background:transparent;transition:all .3s ease}
.lv-opt__check svg{width:12px;height:12px;display:block}
.lv-opt.is-active .lv-opt__check{background:#A87540;border-color:#A87540;color:#fff}
.lv-opt__body{display:flex;flex:1;align-items:baseline;justify-content:space-between;gap:14px}
.lv-opt__n{font-size:11.5px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:#1B3566}
.lv-opt__p,.lv-opt__p *{font-family:"Playfair Display",Georgia,serif!important;font-size:17px!important;font-weight:600!important;color:#A87540!important;text-decoration:none!important}
.lv-opt__p del{display:none!important}
.lv-opt__p ins{text-decoration:none!important}
.single-product .summary .reset_variations{display:inline-block;margin-top:6px}
@media(max-width:560px){.lv-opt{padding:13px 14px;gap:12px}.lv-opt__n{font-size:10.5px;letter-spacing:1.2px}.lv-opt__p,.lv-opt__p *{font-size:15px!important}}

/* ================================================================
   OVERRIDES FINALES DE COLOR
   Esta hoja se imprime despues de las del tema (ver enqueue_assets),
   asi que estas reglas ganan sin necesidad de subir la especificidad.
   ================================================================ */
body.single-product div.product .summary,
body.single-product div.product .summary p,
body.single-product div.product .summary span,
body.single-product div.product .summary li,
body.single-product div.product .summary div,
body.single-product div.product .summary th,
body.single-product div.product .summary td,
body.single-product div.product .summary label{color:var(--lv-muted)!important}
body.single-product div.product .summary label,
body.single-product div.product .summary th.label label{color:var(--lv-gold)!important;font-size:10.5px;letter-spacing:2px;text-transform:uppercase;font-weight:400}
body.single-product div.product .summary .price,
body.single-product div.product .summary .price *,
body.single-product .woocommerce-variation-price .price,
body.single-product .woocommerce-variation-price .price *{color:var(--lv-navy)!important}
body.single-product div.product .summary .lv-opt__n{color:var(--lv-navy)!important}
body.single-product div.product .summary .lv-opt__p,
body.single-product div.product .summary .lv-opt__p *{color:var(--lv-gold)!important}
body.single-product div.product .summary .lv-p-incluye li{color:var(--lv-navy)!important}
body.single-product div.product .summary select,
body.single-product div.product .summary input,
body.single-product div.product .summary .qty{color:var(--lv-navy)!important;background:#FBF8F2!important}
body.single-product div.product .summary .button,
body.single-product div.product .summary button.single_add_to_cart_button,
body.single-product div.product .summary button.single_add_to_cart_button *{color:#fff!important}
body.single-product div.product .summary .button:hover,
body.single-product div.product .summary button.single_add_to_cart_button:hover{color:#173F78!important}

/* Barra fija inferior de compra del tema */
.uicore-sticky-add-to-cart{background:var(--lv-cream)!important;border-top:1px solid rgba(168,117,64,.3)!important;box-shadow:0 -14px 40px -22px rgba(27,53,102,.45)!important}
.uicore-sticky-add-to-cart,
.uicore-sticky-add-to-cart *,
.uicore-sticky-add-to-cart p,
.uicore-sticky-add-to-cart span,
.uicore-sticky-add-to-cart label,
.uicore-sticky-add-to-cart h1,
.uicore-sticky-add-to-cart h2,
.uicore-sticky-add-to-cart h3,
.uicore-sticky-add-to-cart h4{color:var(--lv-navy)!important}
.uicore-sticky-add-to-cart .price,
.uicore-sticky-add-to-cart .price *{color:var(--lv-gold)!important;font-family:"Playfair Display",Georgia,serif!important}
.uicore-sticky-add-to-cart select,
.uicore-sticky-add-to-cart input,
.uicore-sticky-add-to-cart .qty{color:var(--lv-navy)!important;background:#fff!important;border:1px solid rgba(168,117,64,.35)!important;border-radius:0!important}
.uicore-sticky-add-to-cart .button,
.uicore-sticky-add-to-cart button,
.uicore-sticky-add-to-cart .single_add_to_cart_button,
.uicore-sticky-add-to-cart .button *,
.uicore-sticky-add-to-cart button *{background:#173F78!important;color:#fff!important;border-color:#173F78!important;border-radius:0!important;font-size:11px!important;letter-spacing:1.2px;text-transform:uppercase}
.uicore-sticky-add-to-cart .button:hover,
.uicore-sticky-add-to-cart button:hover{background:#0E2B57!important;color:#fff!important}
/* En la barra fija no se duplica el selector en tarjetas */
.uicore-sticky-add-to-cart .lv-opts{display:none!important}
.uicore-sticky-add-to-cart .lv-select-hidden{position:static!important;width:auto!important;height:auto!important;opacity:1!important;pointer-events:auto!important}

/* Red de seguridad: el grid siempre ocupa el ancho del contenedor, aunque el
   contenedor de Elementor centre o encoja a sus hijos. */
.elementor-widget-shortcode:has(.lv-grid-block){width:100%!important;max-width:100%!important;align-self:stretch!important}
.elementor-widget-shortcode .elementor-shortcode{display:block;width:100%}
.lv-grid-block{display:block;width:100%;max-width:100%;min-width:0;flex:1 1 100%}
.lv-grid{width:100%;min-width:0}
.lv-card{min-width:0}

/* ================================================================
   CARRITO Y FINALIZAR COMPRA (bloques de WooCommerce)
   ================================================================ */
body.woocommerce-cart,
body.woocommerce-checkout{background:var(--lv-cream)!important}
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout{padding:64px 0 96px;font-family:Poppins,Arial,sans-serif}
@media(max-width:782px){
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout{padding:40px 0 64px}
}

/* --- Texto base: el tema lo pone blanco --- */
.wc-block-components-form,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart p,
.wp-block-woocommerce-checkout p,
.wp-block-woocommerce-cart span,
.wp-block-woocommerce-checkout span,
.wp-block-woocommerce-cart li,
.wp-block-woocommerce-checkout li,
.wp-block-woocommerce-cart div,
.wp-block-woocommerce-checkout div,
.wc-block-components-text-input label,
.wc-block-components-checkbox__label,
.wc-block-components-address-form label{color:var(--lv-muted)!important}

/* --- Titulos --- */
.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title,
.wp-block-woocommerce-cart h1,
.wp-block-woocommerce-cart h2,
.wp-block-woocommerce-checkout h1,
.wp-block-woocommerce-checkout h2{font-family:"Playfair Display",Georgia,serif!important;color:var(--lv-navy)!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important}
.wc-block-components-checkout-step__title{font-size:23px!important}
.wc-block-components-checkout-step__description{color:var(--lv-muted)!important;font-size:13px!important}
.wc-block-cart__totals-title,
.wc-block-components-title.wc-block-cart__totals-title{font-size:11px!important;font-family:Poppins,Arial,sans-serif!important;letter-spacing:2.4px!important;text-transform:uppercase!important;color:var(--lv-gold)!important;font-weight:400!important}

/* --- Numeracion de pasos --- */
.wc-block-components-checkout-step__heading{align-items:center}
.wc-block-components-checkout-step__number{background:var(--lv-navy)!important;color:#fff!important;border-color:var(--lv-navy)!important}
.wc-block-components-checkout-step{border-color:rgba(168,117,64,.22)!important}

/* --- Campos --- */
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=number],
.wc-block-components-textarea,
.wc-block-components-select__container,
.wc-block-components-combobox-control input,
.wc-blocks-components-select__container{background:#fff!important;border:1px solid rgba(168,117,64,.38)!important;border-radius:0!important;color:var(--lv-navy)!important;font-family:Poppins,Arial,sans-serif!important;font-size:16px!important}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus,
.wc-block-components-combobox-control input:focus{border-color:var(--lv-gold)!important;box-shadow:0 0 0 2px rgba(168,117,64,.18)!important;outline:none!important}
.wc-block-components-text-input label,
.wc-block-components-combobox-control label{color:var(--lv-muted)!important;font-size:14px!important}
.wc-block-components-text-input.is-active label{font-size:11px!important;letter-spacing:1.2px;text-transform:uppercase;color:var(--lv-gold)!important}
.wc-block-components-select select,
.wc-blocks-components-select select{color:var(--lv-navy)!important;font-family:Poppins,Arial,sans-serif!important}
.wc-block-components-validation-error p{color:#A3341F!important;font-size:12px!important}

/* --- Casillas y radios --- */
.wc-block-components-checkbox input[type=checkbox]{border:1px solid rgba(168,117,64,.55)!important;border-radius:0!important}
.wc-block-components-checkbox input[type=checkbox]:checked{background:var(--lv-gold)!important;border-color:var(--lv-gold)!important}
.wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:#fff!important}
.wc-block-components-radio-control__option{border-color:rgba(168,117,64,.28)!important;padding:16px 16px 16px 44px!important}
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted{background:#FBF8F2!important;box-shadow:inset 0 0 0 1px var(--lv-gold)!important}
.wc-block-components-radio-control__input:checked{border-color:var(--lv-gold)!important;background:var(--lv-gold)!important}
.wc-block-components-radio-control__label{color:var(--lv-navy)!important;font-weight:500!important}

/* --- Panel del resumen --- */
.wc-block-components-sidebar,
.wp-block-woocommerce-checkout-totals-block,
.wp-block-woocommerce-cart-totals-block{--lv-panel:#FFFCF7}
.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-totals-block .wc-block-components-totals-wrapper{border-color:rgba(168,117,64,.22)!important}
.wc-block-components-order-summary__content,
.wc-block-components-panel__button{color:var(--lv-navy)!important}
.wc-block-components-panel__button{font-size:12px!important;letter-spacing:1.6px;text-transform:uppercase;font-weight:500!important}
.wc-block-components-product-name{font-family:"Playfair Display",Georgia,serif!important;font-size:17px!important;font-weight:600!important;color:var(--lv-navy)!important;text-decoration:none!important}
.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description{color:var(--lv-muted)!important;font-size:12.5px!important}
.wc-block-components-order-summary-item__quantity{background:var(--lv-navy)!important;color:#fff!important;border-color:var(--lv-navy)!important}

/* --- Importes --- */
.wc-block-components-totals-item__value,
.wc-block-formatted-money-amount,
.wc-block-components-product-price{color:var(--lv-navy)!important;font-family:Poppins,Arial,sans-serif!important}
.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-family:"Playfair Display",Georgia,serif!important;color:var(--lv-navy)!important;font-size:26px!important;font-weight:600!important}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:15px!important}

/* --- Botones --- */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-button:not(.wc-block-components-panel__button):not(.wc-block-components-totals-coupon-link){background:#173F78!important;color:#fff!important;border:1px solid #173F78!important;border-radius:0!important;font-family:Poppins,Arial,sans-serif!important;font-size:12px!important;font-weight:600!important;letter-spacing:1.4px!important;text-transform:uppercase!important;min-height:56px!important;padding:0 30px!important;transition:all .3s ease!important;box-shadow:none!important}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-cart .wc-block-components-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-button:not(.wc-block-components-panel__button):hover{background:#0E2B57!important;border-color:#0E2B57!important;color:#fff!important;transform:translateY(-1px)}
.wc-block-components-button__text{color:inherit!important}
.wc-block-components-checkout-return-to-cart-button,
.wc-block-components-totals-coupon-link{color:var(--lv-gold)!important;background:none!important;text-decoration:none!important;font-size:12px!important;letter-spacing:1.2px}
.wc-block-components-checkout-return-to-cart-button:hover,
.wc-block-components-totals-coupon-link:hover{color:var(--lv-navy)!important}

/* --- Lineas del carrito --- */
.wc-block-cart-items__header{border-bottom:1px solid rgba(168,117,64,.28)!important}
.wc-block-cart-items__header th,
.wc-block-cart-items__header span{color:var(--lv-gold)!important;font-size:10.5px!important;letter-spacing:2px!important;text-transform:uppercase!important;font-weight:400!important}
.wc-block-cart-items__row{border-top:1px solid rgba(168,117,64,.18)!important}
.wc-block-cart-item__image img{border:1px solid rgba(168,117,64,.2)}
.wc-block-cart-item__product .wc-block-components-product-name{font-size:19px!important}
.wc-block-components-quantity-selector{border:1px solid rgba(168,117,64,.38)!important;border-radius:0!important;background:#fff!important}
.wc-block-components-quantity-selector input,
.wc-block-components-quantity-selector button{color:var(--lv-navy)!important;background:transparent!important}
.wc-block-cart-item__remove-link{color:var(--lv-muted)!important;text-decoration:underline!important;font-size:12px!important}
.wc-block-cart-item__remove-link:hover{color:#A3341F!important}

/* --- Avisos --- */
.wc-block-components-notice-banner{border-radius:0!important;background:var(--lv-sand)!important;border-color:var(--lv-gold)!important}
.wc-block-components-notice-banner,
.wc-block-components-notice-banner *{color:var(--lv-navy)!important}
.wc-block-components-notice-banner.is-error{border-color:#A3341F!important}

/* --- Carrito vacio --- */
.wp-block-woocommerce-empty-cart-block{text-align:center;padding:40px 0 20px}
.wp-block-woocommerce-empty-cart-block h2,
.wp-block-woocommerce-empty-cart-block .wc-block-components-title{font-family:"Playfair Display",Georgia,serif!important;color:var(--lv-navy)!important}

/* --- Metodos de pago --- */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option{background:#fff}
.wp-block-woocommerce-checkout-order-summary-block{background:#FFFCF7!important;border:1px solid rgba(168,117,64,.22)!important;padding:26px 24px!important}
@media(min-width:783px){
.wc-block-checkout__sidebar,.wc-block-cart__sidebar{position:sticky;top:120px;align-self:flex-start}
}

/* ================================================================
   SLIDER DE EXPERIENCIAS PASADAS  [tlv_slider]
   ================================================================ */
.lv-sl{position:relative;width:100%;max-width:100%;min-width:0;font-family:Poppins,Arial,sans-serif}
.lv-sl__track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:2px;margin:-2px}
.lv-sl__track::-webkit-scrollbar{display:none}
.lv-sl__track:focus-visible{outline:2px solid var(--lv-gold);outline-offset:4px}

.lv-sl__slide{position:relative;flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start;margin:0;overflow:hidden;background:#0E1B33}
.lv-sl__slide img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.92);transition:transform .9s cubic-bezier(.2,.7,.3,1),filter .5s ease}
.lv-sl__slide:hover img{transform:scale(1.05);filter:saturate(1.02)}
.lv-sl__slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,27,51,0) 40%,rgba(14,27,51,.78) 82%,rgba(14,27,51,.93));pointer-events:none}
.lv-sl__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:5px;padding:24px 22px}
.lv-sl__date{font-size:9.5px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--lv-gold-l,#C9A97A)}
.lv-sl__t{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-weight:600;font-size:21px;line-height:1.22;color:#fff}
.lv-sl__place{font-size:11px;font-weight:300;letter-spacing:1.2px;color:rgba(255,255,255,.68)}

.lv-sl__nav{position:absolute;top:38%;z-index:5;width:52px;height:52px;border-radius:50%;border:1px solid rgba(168,117,64,.55);background:rgba(251,248,242,.92);color:var(--lv-navy,#1B3566);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .3s ease;backdrop-filter:blur(4px)}
.lv-sl__nav svg{width:20px;height:20px}
.lv-sl__nav--prev{left:-26px;transform:scaleX(-1)}
.lv-sl__nav--next{right:-26px}
.lv-sl__nav:hover:not(:disabled){background:var(--lv-navy,#1B3566);border-color:var(--lv-navy,#1B3566);color:#fff}
.lv-sl__nav:disabled{opacity:.28;cursor:default}
.lv-sl.is-static .lv-sl__nav,.lv-sl.is-static .lv-sl__bar{display:none}

.lv-sl__bar{margin-top:26px;height:2px;background:rgba(168,117,64,.2);overflow:hidden}
.lv-sl__bar span{display:block;height:100%;background:var(--lv-gold,#A87540);transform-origin:left center;transform:scaleX(0);transition:transform .25s ease;min-width:22%}

@media(max-width:1280px){.lv-sl__nav--prev{left:8px}.lv-sl__nav--next{right:8px}}
@media(max-width:1024px){.lv-sl__slide{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:680px){
.lv-sl__track{gap:14px}
.lv-sl__slide{flex-basis:82%}
.lv-sl__nav{display:none}
.lv-sl__t{font-size:19px}
}
