/*
 Theme Name:   Storefront Child — Latin Dance Festival
 Theme URI:    https://latindancefestivalsv.com
 Description:  Child theme para Latin Dance Festival El Salvador
 Author:       LDF Dev
 Template:     storefront
 Version:      5.1.0
 Text Domain:  storefront-child
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=Montserrat:wght@300;400;500;600;700&family=Dancing+Script:wght@700&display=swap');

:root {
  --ldf-gold:   #FFD166;
  --ldf-orange: #F4722B;
  --ldf-pink:   #E63462;
  --ldf-purple: #6A0572;
  --ldf-dark:   #0A0A0F;
  --ldf-card:   #13131F;
  --ldf-text:   #F5F0E8;
  --ldf-muted:  #8A8A9A;
  --ldf-border: rgba(255,209,102,0.15);
  --ldf-radius: 18px;
}

/* BASE */
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--ldf-dark)!important; color: var(--ldf-text)!important; font-family: 'Montserrat',sans-serif!important; cursor: none!important; overflow-x: hidden!important; }
body::before { content:''; position:fixed; inset:0; z-index:-1; background: radial-gradient(ellipse at 20% 10%,rgba(230,52,98,.1) 0%,transparent 55%), radial-gradient(ellipse at 82% 80%,rgba(106,5,114,.12) 0%,transparent 55%), #0A0A0F; pointer-events:none; }
a { color: var(--ldf-gold)!important; text-decoration: none!important; }
a:hover { color: var(--ldf-orange)!important; }
p,li,td,th,span,label { color: var(--ldf-text)!important; font-family: 'Montserrat',sans-serif!important; }
h1,h2,h3,h4,h5,h6 { font-family: 'Playfair Display',serif!important; color: var(--ldf-text)!important; }
.ldf-cursor { width:12px; height:12px; background:var(--ldf-gold); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:99999; transition:transform .1s ease; mix-blend-mode:difference; }
.ldf-cursor-ring { width:36px; height:36px; border:1px solid var(--ldf-gold); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:99998; transition:all .18s ease; opacity:.6; }

/* ══ HEADER COMPLETAMENTE CUSTOM ══ */
/* Ocultar todo lo que pone Storefront en el header */
.site-header .site-branding { display: none !important; }
.site-header .site-search { display: none !important; }
.storefront-primary-navigation { display: none !important; }
.site-header .main-navigation,
.site-header .site-header-cart,
.site-header .widget_product_search,
.site-header form[role="search"] { display: none!important; }

/* Nuestro header custom */
.site-header {
  background: rgba(10,10,15,.95)!important;
  backdrop-filter: blur(20px)!important;
  border-bottom: 1px solid var(--ldf-border)!important;
  position: sticky!important; top: 0!important; z-index: 1000!important;
  padding: 0!important; box-shadow: none!important;
  transition: transform .35s ease, box-shadow .3s!important;
}
.site-header .col-full {
  max-width: 100%!important;
  padding: 0!important;
  margin: 0!important;
  display: block!important;
}

/* Fila personalizada */
.ldf-header-row {
  display: flex!important;
  align-items: center!important;
  justify-content: space-between!important;
  height: 72px!important;
  padding: 0 4%!important;
  gap: 20px!important;
  max-width: 100%!important;
  width: 100%!important;
  box-sizing: border-box!important;
}

/* Logo */
.ldf-header-logo { flex-shrink: 0!important; display: flex!important; align-items: center!important; }
.ldf-header-logo img,
.ldf-header-logo .custom-logo { height: 46px!important; width: auto!important; display: block!important; }
.ldf-header-logo a { display: flex!important; align-items: center!important; }
.ldf-logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.ldf-logo-sub { font-size: 10px; font-weight: 300; letter-spacing: 3px; color: var(--ldf-muted)!important; text-transform: uppercase; }
.ldf-logo-main { font-family: 'Playfair Display',serif; font-size: 17px; font-weight: 700; color: var(--ldf-text)!important; }

/* Nav */
.ldf-header-nav { flex: 1!important; display: flex!important; justify-content: center!important; }
.ldf-nav-list { display: flex!important; gap: 26px!important; list-style: none!important; margin: 0!important; padding: 0!important; }
.ldf-nav-list li { margin: 0!important; }
.ldf-nav-list li a {
  color: var(--ldf-muted)!important;
  font-family: 'Montserrat',sans-serif!important;
  font-size: 11px!important; font-weight: 600!important;
  letter-spacing: 2px!important; text-transform: uppercase!important;
  padding: 6px 0!important; display: block!important;
  position: relative!important; transition: color .2s!important;
  white-space: nowrap!important;
}
.ldf-nav-list li a::after {
  content: ''!important; position: absolute!important; bottom: 0; left: 0; right: 0!important;
  height: 1px!important; background: var(--ldf-gold)!important;
  transform: scaleX(0)!important; transition: transform .3s ease!important; transform-origin: left!important;
}
.ldf-nav-list li a:hover,
.ldf-nav-list li.current-menu-item > a { color: var(--ldf-gold)!important; }
.ldf-nav-list li a:hover::after,
.ldf-nav-list li.current-menu-item > a::after { transform: scaleX(1)!important; }

/* Carrito */
.ldf-header-cart-wrap { flex-shrink: 0!important; }
.ldf-cart-btn {
  display: inline-flex!important; align-items: center!important; gap: 8px!important;
  background: linear-gradient(135deg, var(--ldf-orange), var(--ldf-pink))!important;
  border-radius: 50px!important; padding: 9px 18px!important;
  color: white!important; font-family: 'Montserrat',sans-serif!important;
  font-size: 12px!important; font-weight: 600!important;
  white-space: nowrap!important; line-height: 1.2!important;
  text-decoration: none!important; border: none!important;
  transition: transform .2s, box-shadow .2s!important;
}
.ldf-cart-btn:hover { transform: scale(1.05)!important; box-shadow: 0 8px 28px rgba(244,114,43,.4)!important; color: white!important; }
.ldf-cart-price { color: white!important; -webkit-text-fill-color: white!important; font-size: 12px!important; font-weight: 600!important; }
.ldf-cart-count {
  background: rgba(255,255,255,.25)!important; color: white!important;
  border-radius: 50%!important; width: 20px!important; height: 20px!important;
  display: inline-flex!important; align-items: center!important; justify-content: center!important;
  font-size: 10px!important; font-weight: 700!important;
}

/* ══ WOOCOMMERCE FULL WIDTH ══ */
.woocommerce-page #primary,
.woocommerce-page .content-area,
.woocommerce-page #main,
.woocommerce-page .site-main,
.ldf-competencias #primary,
.ldf-competencias .content-area,
.ldf-competencias #main,
.ldf-competencias .site-main,
.ldf-competencias .entry-content,
.ldf-competencias .hentry {
  width: 100%!important; max-width: 100%!important;
  padding: 0!important; margin: 0!important;
  float: none!important; background: transparent!important;
  box-shadow: none!important; border: none!important;
}
.woocommerce-page .widget-area { display: none!important; }

/* ══ HERO FULL WIDTH ══ */
.ldf-page-hero {
  position: relative!important;
  width: 100%!important;
  padding: 100px 5% 80px!important;
  text-align: center!important;
  overflow: hidden!important;
  box-sizing: border-box!important;
}
.ldf-page-hero::before {
  content: ''!important; position: absolute!important; inset: 0!important; z-index: -1!important;
  background: radial-gradient(ellipse at 25% 50%,rgba(230,52,98,.18) 0%,transparent 60%),
              radial-gradient(ellipse at 75% 50%,rgba(106,5,114,.18) 0%,transparent 60%)!important;
}
.ldf-eyebrow { font-family: 'Dancing Script',cursive!important; font-size: 28px!important; color: var(--ldf-gold)!important; display: block!important; margin-bottom: 12px!important; }
.ldf-page-title {
  font-family: 'Playfair Display',serif!important;
  font-size: clamp(56px,10vw,110px)!important; font-weight: 900!important; line-height: .9!important;
  background: linear-gradient(135deg,var(--ldf-gold) 0%,var(--ldf-orange) 55%,var(--ldf-pink) 100%)!important;
  -webkit-background-clip: text!important; -webkit-text-fill-color: transparent!important; background-clip: text!important;
  margin-bottom: 16px!important;
}
.ldf-page-sub { font-size: 11px!important; letter-spacing: 3px!important; text-transform: uppercase!important; color: var(--ldf-muted)!important; }
.ldf-orb { position: absolute; border-radius: 50%; filter: blur(70px); pointer-events: none; animation: ldf-float 8s ease-in-out infinite; }

/* Contenedor tienda */
.ldf-shop-main { max-width: 1400px!important; margin: 0 auto!important; padding: 0 5% 80px!important; width: 100%!important; }
.ldf-shop-toolbar { display:flex!important; align-items:center!important; justify-content:space-between!important; flex-wrap:wrap!important; gap:12px!important; margin-bottom:32px!important; }
.woocommerce-result-count { font-size:12px!important; color:var(--ldf-muted)!important; margin:0!important; background:transparent!important; border:none!important; }
.woocommerce-ordering select { background:var(--ldf-card)!important; border:1px solid var(--ldf-border)!important; border-radius:50px!important; color:var(--ldf-muted)!important; font-family:'Montserrat',sans-serif!important; font-size:11px!important; padding:8px 36px 8px 16px!important; outline:none!important; cursor:pointer!important; -webkit-appearance:none!important; }

/* ══ GRID PRODUCTOS ══ */
ul.products { display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:28px!important; list-style:none!important; padding:0!important; margin:0 0 48px!important; float:none!important; width:100%!important; }
ul.products li.product { background:var(--ldf-card)!important; border:1px solid var(--ldf-border)!important; border-radius:20px!important; overflow:hidden!important; padding:0!important; margin:0!important; width:auto!important; display:flex!important; flex-direction:column!important; float:none!important; transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s!important; min-height:440px!important; }
ul.products li.product:hover { transform:translateY(-10px)!important; box-shadow:0 32px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,209,102,.25)!important; }
ul.products li.product img { width:100%!important; height:280px!important; object-fit:cover!important; object-position:center!important; display:block!important; border-radius:0!important; transition:transform .6s ease!important; margin:0!important; flex-shrink:0!important; }
ul.products li.product:hover img { transform:scale(1.06)!important; }
ul.products li.product a.woocommerce-loop-product__link { display:block!important; }
.product-info-box { padding:20px 22px 22px!important; display:flex!important; flex-direction:column!important; flex:1!important; gap:4px!important; }
ul.products li.product .woocommerce-loop-product__title { font-family:'Playfair Display',serif!important; font-size:20px!important; font-weight:700!important; color:var(--ldf-text)!important; margin:0 0 10px!important; padding:0!important; line-height:1.25!important; }
ul.products li.product .price { display:block!important; font-family:'Playfair Display',serif!important; font-size:26px!important; font-weight:900!important; line-height:1.1!important; background:linear-gradient(135deg,var(--ldf-gold),var(--ldf-orange))!important; -webkit-background-clip:text!important; -webkit-text-fill-color:transparent!important; background-clip:text!important; margin-bottom:16px!important; white-space:nowrap!important; }
ul.products li.product .price .woocommerce-Price-amount,ul.products li.product .price bdi,ul.products li.product .price .woocommerce-Price-currencySymbol { font-family:'Playfair Display',serif!important; font-size:inherit!important; background:inherit!important; -webkit-background-clip:text!important; -webkit-text-fill-color:transparent!important; background-clip:text!important; white-space:nowrap!important; display:inline!important; }
ul.products li.product .price del { display:block!important; opacity:.4!important; font-size:13px!important; -webkit-text-fill-color:var(--ldf-muted)!important; }
ul.products li.product .button,ul.products li.product .add_to_cart_button,ul.products li.product .product_type_variable { display:flex!important; align-items:center!important; justify-content:center!important; width:100%!important; margin-top:auto!important; background:linear-gradient(135deg,var(--ldf-orange),var(--ldf-pink))!important; color:white!important; font-family:'Montserrat',sans-serif!important; font-size:12px!important; font-weight:700!important; letter-spacing:2px!important; text-transform:uppercase!important; padding:13px 18px!important; border-radius:50px!important; border:none!important; cursor:pointer!important; transition:all .25s!important; white-space:nowrap!important; }
ul.products li.product .button:hover { transform:scale(1.03)!important; box-shadow:0 8px 28px rgba(230,52,98,.45)!important; color:white!important; }
ul.products li.product .added { background:linear-gradient(135deg,#2ECC71,#27AE60)!important; }

/* Breadcrumb */
.woocommerce-breadcrumb { background:transparent!important; font-size:11px!important; color:var(--ldf-muted)!important; letter-spacing:1px!important; padding:10px 0!important; border:none!important; }
.woocommerce-breadcrumb a { color:var(--ldf-muted)!important; }

/* ══ SINGLE PRODUCT ══ */
.single-product div.product { display:grid!important; grid-template-columns:1fr 1fr!important; gap:56px!important; max-width:1100px!important; margin:40px auto!important; padding:0 5%!important; }
.single-product .woocommerce-product-gallery { border-radius:var(--ldf-radius)!important; overflow:hidden!important; border:1px solid var(--ldf-border)!important; }
.single-product .woocommerce-product-gallery img { width:100%!important; }
.single-product .product_title { font-family:'Playfair Display',serif!important; font-size:clamp(28px,4vw,48px)!important; font-weight:900!important; line-height:1.1!important; }
.single-product .price { font-family:'Playfair Display',serif!important; font-size:40px!important; font-weight:900!important; background:linear-gradient(135deg,var(--ldf-gold),var(--ldf-orange))!important; -webkit-background-clip:text!important; -webkit-text-fill-color:transparent!important; background-clip:text!important; margin-bottom:22px!important; display:block!important; line-height:1.1!important; white-space:nowrap!important; }
.single-product .price .woocommerce-Price-amount,.single-product .price bdi { background:linear-gradient(135deg,var(--ldf-gold),var(--ldf-orange))!important; -webkit-background-clip:text!important; -webkit-text-fill-color:transparent!important; background-clip:text!important; display:inline!important; font-size:inherit!important; }
.ldf-por-noche { display:flex!important; align-items:flex-start!important; gap:12px!important; background:rgba(255,209,102,.07)!important; border:1px solid rgba(255,209,102,.2)!important; border-radius:14px!important; padding:14px 18px!important; margin-bottom:20px!important; }
.ldf-pn-icon { font-size:24px!important; flex-shrink:0!important; }
.ldf-por-noche strong { display:block!important; font-size:13px!important; font-weight:700!important; color:var(--ldf-gold)!important; margin-bottom:3px!important; }
.ldf-por-noche span { font-size:12px!important; color:var(--ldf-muted)!important; }
.variations_form .variations { width:100%!important; border:none!important; }
.variations_form .variations td,.variations_form .variations th { border:none!important; padding:8px 0!important; background:transparent!important; }
.variations_form .variations label { font-size:11px!important; font-weight:700!important; letter-spacing:2px!important; text-transform:uppercase!important; color:var(--ldf-muted)!important; }
.variations_form .variations select,.woocommerce div.product form.cart .variations select { background-color:#1A1A2E!important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23FFD166' d='M5 6L0 0h10z'/%3E%3C/svg%3E")!important; background-repeat:no-repeat!important; background-position:right 14px center!important; border:1px solid rgba(255,209,102,.3)!important; border-radius:12px!important; color:#F5F0E8!important; padding:13px 40px 13px 16px!important; font-family:'Montserrat',sans-serif!important; font-size:14px!important; outline:none!important; width:100%!important; -webkit-appearance:none!important; appearance:none!important; cursor:pointer!important; }
.variations_form .variations select:focus { border-color:var(--ldf-gold)!important; box-shadow:0 0 0 3px rgba(255,209,102,.1)!important; }
.quantity input[type=number] { background:var(--ldf-card)!important; border:1px solid var(--ldf-border)!important; border-radius:12px!important; color:var(--ldf-text)!important; font-size:16px!important; font-weight:600!important; padding:12px 16px!important; width:80px!important; text-align:center!important; outline:none!important; }
.single_add_to_cart_button { background:linear-gradient(135deg,var(--ldf-orange),var(--ldf-pink))!important; color:white!important; font-family:'Montserrat',sans-serif!important; font-size:13px!important; font-weight:700!important; letter-spacing:2px!important; text-transform:uppercase!important; padding:16px 36px!important; border-radius:14px!important; border:none!important; cursor:pointer!important; transition:all .3s!important; }
.single_add_to_cart_button:hover { box-shadow:0 12px 40px rgba(230,52,98,.4)!important; transform:translateY(-2px)!important; color:white!important; }

/* ══ CARRITO Y CHECKOUT ══ */
.woocommerce-cart .site-main,.woocommerce-checkout .site-main { max-width:1200px!important; margin:0 auto!important; padding:40px 5% 80px!important; }
table.shop_table { background:var(--ldf-card)!important; border:1px solid var(--ldf-border)!important; border-radius:var(--ldf-radius)!important; overflow:hidden!important; border-collapse:separate!important; border-spacing:0!important; width:100%!important; }
table.shop_table th { background:rgba(255,255,255,.03)!important; border:none!important; border-bottom:1px solid var(--ldf-border)!important; padding:14px 18px!important; font-size:10px!important; font-weight:700!important; letter-spacing:3px!important; text-transform:uppercase!important; color:var(--ldf-muted)!important; }
table.shop_table td { border:none!important; border-bottom:1px solid var(--ldf-border)!important; padding:18px!important; background:transparent!important; vertical-align:middle!important; }
table.shop_table tr:last-child td { border-bottom:none!important; }
table.shop_table .product-name a { color:var(--ldf-text)!important; font-weight:600!important; }
table.shop_table .woocommerce-Price-amount { font-family:'Playfair Display',serif!important; font-size:20px!important; color:var(--ldf-gold)!important; -webkit-text-fill-color:var(--ldf-gold)!important; }
.cart_totals,.cart-collaterals { background:var(--ldf-card)!important; border:1px solid var(--ldf-border)!important; border-radius:var(--ldf-radius)!important; padding:28px 32px!important; margin-top:24px!important; }
.wc-proceed-to-checkout .checkout-button,a.checkout-button { background:linear-gradient(135deg,var(--ldf-orange),var(--ldf-pink))!important; color:white!important; font-family:'Montserrat',sans-serif!important; font-size:13px!important; font-weight:700!important; letter-spacing:2px!important; text-transform:uppercase!important; padding:18px 32px!important; border-radius:14px!important; border:none!important; width:100%!important; text-align:center!important; display:block!important; transition:all .3s!important; }
.wc-proceed-to-checkout .checkout-button:hover { box-shadow:0 12px 40px rgba(230,52,98,.4)!important; transform:translateY(-2px)!important; color:white!important; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { background:var(--ldf-card)!important; border:1px solid var(--ldf-border)!important; border-radius:14px!important; color:var(--ldf-text)!important; padding:16px 24px!important; font-size:13px!important; margin-bottom:20px!important; border-top:3px solid var(--ldf-gold)!important; box-shadow:none!important; }
.woocommerce-message { border-top-color:#2ECC71!important; }
.woocommerce-error { border-top-color:var(--ldf-pink)!important; }
#place_order { background:linear-gradient(135deg,var(--ldf-orange),var(--ldf-pink))!important; color:white!important; font-family:'Montserrat',sans-serif!important; font-size:13px!important; font-weight:700!important; letter-spacing:2px!important; text-transform:uppercase!important; padding:18px 32px!important; border-radius:14px!important; border:none!important; width:100%!important; cursor:pointer!important; transition:all .3s!important; }
#place_order:hover { box-shadow:0 12px 40px rgba(230,52,98,.4)!important; transform:translateY(-2px)!important; }
.woocommerce-checkout .form-row input[type="text"],.woocommerce-checkout .form-row input[type="email"],.woocommerce-checkout .form-row input[type="tel"],.woocommerce-checkout .form-row input[type="password"],.woocommerce-checkout .form-row select,.woocommerce-checkout .form-row textarea { background:#13131F!important; border:1px solid rgba(255,209,102,.15)!important; border-radius:12px!important; color:#F5F0E8!important; font-family:'Montserrat',sans-serif!important; padding:13px 16px!important; }
#ship-to-different-address { background:rgba(255,209,102,.04)!important; border:1px solid rgba(255,209,102,.15)!important; border-radius:14px!important; padding:14px 18px!important; }
#payment { background:#13131F!important; border-radius:18px!important; border:1px solid rgba(255,209,102,.15)!important; }
#payment .payment_box { background:rgba(255,255,255,.03)!important; color:#8A8A9A!important; }
#payment ul.payment_methods { background:transparent!important; }
#payment ul.payment_methods li label { color:#F5F0E8!important; }

/* ══ INICIO ══ */
.ldf-home .site-main,.ldf-home .content-area { width:100%!important; max-width:100%!important; padding:0!important; margin:0!important; float:none!important; }
.ldf-hero { position:relative; min-height:calc(100vh - 72px); display:flex; flex-direction:column; justify-content:flex-end; padding:0 5% 72px; overflow:hidden; z-index:1; }
.ldf-hero-bg { position:absolute; inset:0; z-index:0; background-size:cover!important; background-position:center top!important; background-repeat:no-repeat!important; }
.ldf-hero-bg-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(10,10,15,.3) 0%,rgba(10,10,15,.75) 60%,rgba(10,10,15,.97) 100%); }
.ldf-hero-content { position:relative; z-index:1; max-width:700px; }
.ldf-hero-tag { display:inline-flex; align-items:center; gap:10px; background:rgba(255,209,102,.08); border:1px solid rgba(255,209,102,.25); border-radius:50px; padding:7px 22px; margin-bottom:22px; font-size:11px; letter-spacing:2px; color:var(--ldf-gold); text-transform:uppercase; font-weight:600; }
.ldf-dot { width:6px; height:6px; background:var(--ldf-gold); border-radius:50%; animation:ldf-pulse 1.5s infinite; }
.ldf-hero-eyebrow { font-family:'Dancing Script',cursive!important; font-size:28px!important; color:rgba(245,240,232,.8)!important; margin-bottom:10px!important; }
.ldf-hero-title { font-family:'Playfair Display',serif!important; font-size:clamp(56px,10vw,110px)!important; font-weight:900!important; line-height:.9!important; background:linear-gradient(150deg,var(--ldf-gold) 0%,var(--ldf-orange) 50%,var(--ldf-pink) 100%)!important; -webkit-background-clip:text!important; -webkit-text-fill-color:transparent!important; background-clip:text!important; margin-bottom:18px!important; }
.ldf-hero-title em { font-style:italic!important; }
.ldf-hero-location { font-size:13px!important; color:var(--ldf-muted)!important; letter-spacing:2px!important; margin-bottom:32px!important; }
.ldf-hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.ldf-btn-primary { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,var(--ldf-orange),var(--ldf-pink)); border:none; border-radius:14px; padding:15px 30px; color:white!important; font-family:'Montserrat',sans-serif!important; font-size:13px!important; font-weight:700!important; letter-spacing:2px!important; text-transform:uppercase!important; transition:all .3s; cursor:pointer; }
.ldf-btn-primary:hover { box-shadow:0 12px 40px rgba(230,52,98,.4); transform:translateY(-2px); color:white!important; }
.ldf-btn-outline { display:inline-flex; align-items:center; gap:8px; background:transparent; border:1px solid var(--ldf-border); border-radius:14px; padding:14px 26px; color:var(--ldf-text)!important; font-family:'Montserrat',sans-serif!important; font-size:12px!important; font-weight:600!important; letter-spacing:2px!important; text-transform:uppercase!important; transition:all .3s; }
.ldf-btn-outline:hover { border-color:var(--ldf-gold); color:var(--ldf-gold)!important; background:rgba(255,209,102,.05); }
.ldf-stats { display:flex; align-items:center; background:rgba(10,10,15,.6); border:1px solid var(--ldf-border); border-radius:var(--ldf-radius); padding:20px 36px; margin-top:40px; backdrop-filter:blur(10px); max-width:640px; flex-wrap:wrap; }
.ldf-stat { text-align:center; flex:1; min-width:70px; }
.ldf-stat-num { font-family:'Playfair Display',serif; font-size:28px; font-weight:900; background:linear-gradient(135deg,var(--ldf-gold),var(--ldf-orange)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.ldf-stat-label { font-size:9px!important; letter-spacing:2px; color:var(--ldf-muted)!important; text-transform:uppercase; margin-top:4px; }
.ldf-stat-sep { width:1px; height:44px; background:var(--ldf-border); flex-shrink:0; }

/* ══ AGENDA ══ */
.ldf-container { max-width:1400px; margin:0 auto; padding:0 5%; }
.ldf-schedule { position:relative; z-index:1; padding:20px 0 80px; }
.ldf-divider { display:flex; align-items:center; gap:20px; max-width:700px; margin:0 auto 40px; padding:0 5%; }
.ldf-divider::before,.ldf-divider::after { content:''; flex:1; height:1px; background:linear-gradient(90deg,transparent,var(--ldf-border),transparent); }
.ldf-divider span { font-family:'Dancing Script',cursive; font-size:22px; color:var(--ldf-gold); white-space:nowrap; }
.ldf-sched-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ldf-sched-day { background:var(--ldf-card); border:1px solid var(--ldf-border); border-radius:16px; padding:20px 16px; transition:transform .2s,border-color .2s; }
.ldf-sched-day:hover { transform:translateY(-4px); border-color:rgba(255,209,102,.3); }
.ldf-sched-last { background:linear-gradient(135deg,rgba(244,114,43,.1),rgba(230,52,98,.1)); border-color:rgba(244,114,43,.3); }
.ldf-sched-date { display:flex; align-items:baseline; gap:4px; margin-bottom:12px; }
.ldf-sched-num { font-family:'Playfair Display',serif; font-size:36px; font-weight:900; color:var(--ldf-gold); line-height:1; }
.ldf-sched-mes { font-size:10px!important; font-weight:700; letter-spacing:2px; color:var(--ldf-muted)!important; text-transform:uppercase; }
.ldf-sched-titulo { font-weight:700; font-size:13px; margin-bottom:8px; }
.ldf-sched-items { display:flex; flex-direction:column; gap:5px; }
.ldf-sched-items span { font-size:12px!important; color:var(--ldf-muted)!important; }

/* ══ CTA ══ */
.ldf-cta-section { position:relative; z-index:1; padding:0 0 100px; }
.ldf-cta-card { background:linear-gradient(135deg,rgba(244,114,43,.08),rgba(230,52,98,.08)); border:1px solid rgba(244,114,43,.22); border-radius:28px; padding:68px 56px; text-align:center; position:relative; overflow:hidden; }
.ldf-section-eyebrow { font-family:'Dancing Script',cursive!important; font-size:26px!important; color:var(--ldf-gold)!important; display:block!important; margin-bottom:10px!important; }
.ldf-cta-title { font-family:'Playfair Display',serif!important; font-size:clamp(28px,4vw,52px)!important; font-weight:900!important; line-height:1.1!important; margin-bottom:14px!important; }
.ldf-cta-desc { font-size:14px!important; color:var(--ldf-muted)!important; margin-bottom:32px!important; }
.ldf-cta-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ══ COMPETENCIAS ══ */
.ldf-comp-search-wrap { max-width:480px; margin:0 auto 24px; padding:0 5%; }
.ldf-comp-search-inner { position:relative; }
.ldf-search-icon { position:absolute; left:16px; top:50%; transform:translateY(-50%); font-size:16px; pointer-events:none; }
.ldf-comp-search-input { width:100%; background:var(--ldf-card); border:1px solid var(--ldf-border); border-radius:50px; padding:13px 18px 13px 46px; color:var(--ldf-text)!important; font-family:'Montserrat',sans-serif; font-size:14px; outline:none; transition:border-color .2s,box-shadow .2s; }
.ldf-comp-search-input:focus { border-color:var(--ldf-gold); box-shadow:0 0 0 3px rgba(255,209,102,.1); }
.ldf-comp-search-input::placeholder { color:var(--ldf-muted); }
.ldf-comp-tabs-wrap { position:relative; z-index:1; max-width:1400px; margin:0 auto 40px; padding:0 5%; overflow-x:auto; scrollbar-width:none; }
.ldf-comp-tabs-wrap::-webkit-scrollbar { display:none; }
.ldf-comp-tabs { display:flex; gap:8px; width:max-content; min-width:100%; }
.ldf-comp-tab { padding:10px 22px; border-radius:50px; border:1px solid var(--ldf-border); font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; cursor:pointer; transition:all .25s; color:var(--ldf-muted)!important; background:transparent; white-space:nowrap; font-family:'Montserrat',sans-serif; }
.ldf-comp-tab:hover { border-color:var(--ldf-gold); color:var(--ldf-gold)!important; background:rgba(255,209,102,.06); }
.ldf-comp-tab.active { background:linear-gradient(135deg,var(--ldf-orange),var(--ldf-pink)); border-color:transparent; color:white!important; box-shadow:0 6px 20px rgba(230,52,98,.3); }
.ldf-comp-main { position:relative; z-index:1; max-width:1400px; margin:0 auto; padding:0 5% 80px; }
.ldf-comp-panel { display:none; animation:ldf-fadeUp .45s ease forwards; }
.ldf-comp-panel.active { display:block; }
.ldf-panel-header { margin-bottom:28px; }
.ldf-panel-badge { display:inline-flex; align-items:center; padding:6px 18px; border-radius:50px; font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.ldf-panel-desc { font-size:14px!important; color:var(--ldf-muted)!important; max-width:500px; }
.ldf-comp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; }
.ldf-comp-item { background:var(--ldf-card); border:1px solid var(--ldf-border); border-radius:14px; padding:16px 18px; display:flex; align-items:center; gap:14px; transition:transform .25s,border-color .25s,box-shadow .25s; animation:ldf-fadeUp .4s ease forwards; opacity:0; }
.ldf-comp-item:hover { transform:translateY(-3px); border-color:rgba(255,209,102,.3); box-shadow:0 10px 36px rgba(0,0,0,.35); }
.ldf-comp-num { width:36px; height:36px; border-radius:10px; flex-shrink:0; background:linear-gradient(135deg,rgba(244,114,43,.2),rgba(230,52,98,.2)); border:1px solid rgba(244,114,43,.25); display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:14px; font-weight:900; color:var(--ldf-gold)!important; }
.ldf-comp-name { font-size:13px!important; font-weight:600!important; line-height:1.4!important; }
.ldf-search-empty { text-align:center; padding:80px 20px; }
.ldf-search-empty p { font-size:15px!important; color:var(--ldf-muted)!important; }
.ldf-search-empty span { color:var(--ldf-gold)!important; }
mark { background:rgba(255,209,102,.3); color:var(--ldf-gold)!important; border-radius:2px; padding:0 2px; }
.ldf-comp-cta { position:relative; z-index:1; padding:0 0 80px; }
.ldf-cta-inline { background:linear-gradient(135deg,rgba(244,114,43,.08),rgba(230,52,98,.08)); border:1px solid rgba(244,114,43,.2); border-radius:20px; padding:32px 36px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.ldf-cta-inline-title { font-family:'Playfair Display',serif!important; font-size:26px!important; font-weight:900!important; }
.ldf-cta-inline-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* ══ PAGINACIÓN ══ */
.ldf-pagination { margin-top:48px!important; text-align:center!important; }
.woocommerce-pagination ul { display:inline-flex!important; gap:8px!important; list-style:none!important; padding:0!important; margin:0!important; }
.woocommerce-pagination ul li { margin:0!important; }
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span { display:flex!important; align-items:center!important; justify-content:center!important; width:40px; height:40px!important; border-radius:10px!important; border:1px solid var(--ldf-border)!important; background:var(--ldf-card)!important; font-size:13px!important; font-weight:600!important; transition:all .2s!important; color:var(--ldf-muted)!important; }
.woocommerce-pagination ul li a:hover { border-color:var(--ldf-gold)!important; color:var(--ldf-gold)!important; }
.woocommerce-pagination ul li span.current { background:linear-gradient(135deg,var(--ldf-orange),var(--ldf-pink))!important; border-color:transparent!important; color:white!important; }

/* ══ FOOTER ══ */
.site-footer { background:rgba(5,5,10,.96)!important; border-top:1px solid var(--ldf-border)!important; padding:36px 5%!important; text-align:center!important; }
.site-footer .col-full { max-width:1400px!important; margin:0 auto!important; }
.site-info { font-size:12px!important; color:var(--ldf-muted)!important; }

/* Ocultar WPBakery */
.vc_btn3-container,.wpb-edit-link { display:none!important; }

/* ══ ANIMACIONES ══ */
@keyframes ldf-fadeUp { from{opacity:0;transform:translateY(20px);} to{opacity:1;transform:translateY(0);} }
@keyframes ldf-float { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-20px);} }
@keyframes ldf-pulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:.5;transform:scale(.7);} }

/* ══ RESPONSIVE MÓVIL ══ */
@media(max-width:768px) {
  .ldf-header-row { height:auto!important; padding:12px 4%!important; flex-wrap:wrap!important; gap:10px!important; }
  .ldf-header-logo { flex:1!important; }
  .ldf-header-logo img,.ldf-header-logo .custom-logo { height:36px!important; }
  .ldf-header-nav { display:none!important; }
  .ldf-page-hero { padding:70px 5% 50px!important; }
  .ldf-page-title { font-size:clamp(40px,12vw,72px)!important; }
  .ldf-eyebrow { font-size:22px!important; }
  .ldf-hero { padding:0 5% 48px!important; }
  .ldf-hero-title { font-size:clamp(48px,14vw,90px)!important; }
  .ldf-hero-actions { flex-direction:column!important; gap:10px!important; }
  .ldf-btn-primary,.ldf-btn-outline { width:100%!important; justify-content:center!important; }
  .ldf-stats { padding:16px!important; }
  .ldf-stat-sep { display:none!important; }
  .ldf-stat { min-width:50%!important; padding:8px 0!important; }
  .ldf-sched-grid { grid-template-columns:repeat(2,1fr)!important; }
  ul.products { grid-template-columns:1fr!important; gap:20px!important; }
  ul.products li.product img { height:200px!important; }
  .ldf-comp-tab { padding:8px 14px!important; font-size:11px!important; }
  .ldf-comp-grid { grid-template-columns:1fr!important; }
  .ldf-cta-inline { flex-direction:column!important; align-items:flex-start!important; }
  .ldf-cta-card { padding:40px 24px!important; }
  .ldf-cta-actions { flex-direction:column!important; align-items:center!important; }
  .single-product div.product { grid-template-columns:1fr!important; gap:24px!important; padding:0 4%!important; }
  .ldf-cart-btn { padding:8px 12px!important; font-size:11px!important; }
}
@media(max-width:480px) {
  .ldf-sched-grid { grid-template-columns:1fr!important; }
  .ldf-page-title { font-size:clamp(36px,13vw,60px)!important; }
  .ldf-hero-title { font-size:clamp(44px,15vw,72px)!important; }
  .ldf-comp-tab { padding:7px 12px!important; font-size:10px!important; letter-spacing:0!important; }
}

/* ══ SINGLE PRODUCT REDISEÑADO ══ */
.ldf-single-wrap {
  max-width: 1100px!important;
  margin: 40px auto!important;
  padding: 0 5%!important;
}
.single-product div.product {
  display: grid!important;
  grid-template-columns: 1fr 1fr!important;
  gap: 56px!important;
  align-items: start!important;
}

/* Galería */
.single-product .woocommerce-product-gallery {
  border-radius: 20px!important;
  overflow: hidden!important;
  border: 1px solid var(--ldf-border)!important;
  background: var(--ldf-card)!important;
}
.single-product .woocommerce-product-gallery__wrapper {
  margin: 0!important;
}
.single-product .woocommerce-product-gallery img {
  width: 100%!important;
  height: 400px!important;
  object-fit: contain!important;
  background: var(--ldf-card)!important;
}

/* Resumen */
.single-product .summary {
  padding: 0!important;
  display: flex!important;
  flex-direction: column!important;
  gap: 12px!important;
}
.single-product .product_title {
  font-family: 'Playfair Display',serif!important;
  font-size: clamp(28px,3.5vw,44px)!important;
  font-weight: 900!important;
  line-height: 1.1!important;
  margin-bottom: 0!important;
}

/* Precio */
.single-product p.price,
.single-product span.price {
  font-family: 'Playfair Display',serif!important;
  font-size: 42px!important;
  font-weight: 900!important;
  background: linear-gradient(135deg,var(--ldf-gold),var(--ldf-orange))!important;
  -webkit-background-clip: text!important;
  -webkit-text-fill-color: transparent!important;
  background-clip: text!important;
  margin: 0!important;
  line-height: 1.1!important;
  white-space: nowrap!important;
}
.single-product p.price .woocommerce-Price-amount,
.single-product p.price bdi {
  background: linear-gradient(135deg,var(--ldf-gold),var(--ldf-orange))!important;
  -webkit-background-clip: text!important;
  -webkit-text-fill-color: transparent!important;
  background-clip: text!important;
  font-size: inherit!important;
  font-family: inherit!important;
  display: inline!important;
}

/* Selector de opciones */
.single-product .variations_form .variations {
  width: 100%!important;
  border: none!important;
  border-collapse: collapse!important;
  background: transparent!important;
  margin-bottom: 16px!important;
}
.single-product .variations_form .variations tr {
  background: transparent!important;
}
.single-product .variations_form .variations td,
.single-product .variations_form .variations th {
  border: none!important;
  background: transparent!important;
  padding: 6px 0!important;
  vertical-align: top!important;
}
.single-product .variations_form label {
  font-family: 'Montserrat',sans-serif!important;
  font-size: 11px!important;
  font-weight: 700!important;
  letter-spacing: 2px!important;
  text-transform: uppercase!important;
  color: var(--ldf-muted)!important;
  display: block!important;
  margin-bottom: 8px!important;
}
.single-product .variations_form select {
  width: 100%!important;
  background-color: #1A1A2E!important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23FFD166' d='M5 6L0 0h10z'/%3E%3C/svg%3E")!important;
  background-repeat: no-repeat!important;
  background-position: right 14px center!important;
  border: 1px solid rgba(255,209,102,.3)!important;
  border-radius: 12px!important;
  color: #F5F0E8!important;
  padding: 13px 40px 13px 16px!important;
  font-family: 'Montserrat',sans-serif!important;
  font-size: 14px!important;
  outline: none!important;
  -webkit-appearance: none!important;
  appearance: none!important;
  cursor: pointer!important;
  transition: border-color .2s,box-shadow .2s!important;
}
.single-product .variations_form select:focus {
  border-color: var(--ldf-gold)!important;
  box-shadow: 0 0 0 3px rgba(255,209,102,.1)!important;
}

/* Cantidad */
.single-product .quantity {
  display: flex!important;
  align-items: center!important;
  gap: 12px!important;
  margin-bottom: 8px!important;
}
.single-product .quantity label {
  font-size: 11px!important;
  font-weight: 700!important;
  letter-spacing: 2px!important;
  text-transform: uppercase!important;
  color: var(--ldf-muted)!important;
  white-space: nowrap!important;
}
.single-product .quantity input[type=number] {
  background: #1A1A2E!important;
  border: 1px solid rgba(255,209,102,.3)!important;
  border-radius: 12px!important;
  color: var(--ldf-text)!important;
  font-size: 16px!important;
  font-weight: 600!important;
  padding: 12px 16px!important;
  width: 80px!important;
  text-align: center!important;
  outline: none!important;
}

/* Botón añadir al carrito */
.single-product .single_add_to_cart_button {
  background: linear-gradient(135deg,var(--ldf-orange),var(--ldf-pink))!important;
  color: white!important;
  font-family: 'Montserrat',sans-serif!important;
  font-size: 13px!important;
  font-weight: 700!important;
  letter-spacing: 2px!important;
  text-transform: uppercase!important;
  padding: 16px 36px!important;
  border-radius: 50px!important;
  border: none!important;
  cursor: pointer!important;
  transition: all .3s!important;
  width: 100%!important;
}
.single-product .single_add_to_cart_button:hover {
  box-shadow: 0 12px 40px rgba(230,52,98,.4)!important;
  transform: translateY(-2px)!important;
  color: white!important;
}

/* Reset variation link */
.reset_variations {
  font-size: 12px!important;
  color: var(--ldf-muted)!important;
  text-decoration: underline!important;
}

/* Meta (SKU, categoría) */
.single-product .product_meta {
  font-size: 12px!important;
  color: var(--ldf-muted)!important;
  border-top: 1px solid var(--ldf-border)!important;
  padding-top: 16px!important;
  margin-top: 8px!important;
}
.single-product .product_meta a { color: var(--ldf-gold)!important; }

/* Descripción */
.single-product .woocommerce-product-details__short-description {
  font-size: 14px!important;
  color: var(--ldf-muted)!important;
  line-height: 1.7!important;
  border: 1px solid var(--ldf-border)!important;
  border-radius: 14px!important;
  padding: 16px 20px!important;
  background: rgba(255,255,255,.02)!important;
}

/* WPBakery edit link oculto */
.vc_btn3-container, .wpb-edit-link { display:none!important; }

/* Responsive single product */
@media(max-width:768px) {
  .ldf-single-wrap { padding: 0 4%!important; margin: 24px auto!important; }
  .single-product div.product { grid-template-columns: 1fr!important; gap: 24px!important; }
  .single-product .woocommerce-product-gallery img { height: 280px!important; }
  .single-product p.price, .single-product span.price { font-size: 34px!important; }
}
