/*
Theme Name: ELIM Magnetic Water
Theme URI: https://elimred.com
Author: Arkana Tech
Author URI: https://arkanatech.tech
Description: Premium luxury theme for ELIM Magnetic Water — Gold & Blue gradient design with bilingual (English/Spanish) support.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: elim
Tags: luxury, bilingual, one-page, gold, blue, wellness, e-commerce
*/

/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
  --gold-light:   #f5d98b;
  --gold:         #c9a84c;
  --gold-dark:    #8a6320;
  --blue-deep:    #020c1b;
  --blue-mid:     #051e3e;
  --blue-accent:  #0a3a7a;
  --blue-glow:    #1a6ef7;
  --white:        #f0eeea;
  --muted:        rgba(240,238,234,0.55);
  --font-serif:   'Cormorant Garamond', Georgia, serif;
  --font-sans:    'Raleway', 'Helvetica Neue', Arial, sans-serif;
  --transition:   all 0.3s ease;
  --shadow-gold:  0 20px 50px rgba(201,168,76,0.35);
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }

body {
  background: var(--blue-deep);
  color: var(--white);
  font-family: var(--font-sans);
  font-weight: 300;
  overflow-x: clip;
  line-height: 1.6;
}

img { max-width:100%; height:auto; display:block; }
a { color: var(--gold); transition: var(--transition); }
a:hover { color: var(--gold-light); }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-serif);
  font-weight: 300;
  line-height: 1.1;
}

.serif { font-family: var(--font-serif); }

.text-gold {
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gold-italic {
  background: linear-gradient(135deg, var(--gold-light), var(--gold), var(--gold-dark));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-style: italic;
}

.text-muted { color: var(--muted); }

/* ============================================================
   UTILITY
   ============================================================ */
.container         { max-width:1300px; margin:0 auto; padding:0 60px; }
.container--narrow { max-width:800px;  margin:0 auto; padding:0 60px; }
.container--mid    { max-width:1100px; margin:0 auto; padding:0 60px; }

.gold-line {
  width:100%; height:1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0.2;
}

.section-tag {
  display: block;
  font-size:.65rem; letter-spacing:.4em; text-transform:uppercase;
  color: var(--gold); margin-bottom:16px;
}

.section-title {
  font-family: var(--font-serif);
  font-size: clamp(2.5rem,5vw,4.5rem);
  font-weight: 300; line-height:1.1;
}

.section-divider {
  width:60px; height:1px;
  background: linear-gradient(90deg, var(--gold), transparent);
  margin: 32px 0;
}
.section-divider--center { margin: 32px auto; }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display: inline-block;
  font-family: var(--font-sans);
  font-size:.75rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; border:none;
  padding: 16px 44px;
  transition: var(--transition);
}

.btn--primary {
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: var(--blue-deep);
}
.btn--primary:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-gold);
  color: var(--blue-deep);
}

.btn--outline {
  background: transparent;
  color: var(--white);
  border: 1px solid rgba(240,238,234,.35);
}
.btn--outline:hover {
  border-color: var(--gold);
  background: rgba(201,168,76,.07);
  color: var(--white);
}

.btn--gold-sm {
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: var(--blue-deep);
  padding: 10px 28px;
  font-size:.7rem;
}
.btn--gold-sm:hover {
  box-shadow: 0 10px 30px rgba(201,168,76,.4);
  color: var(--blue-deep);
}

/* ============================================================
   NAVIGATION
   ============================================================ */
.site-header {
  position: fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding: 28px 60px;
  transition: background .4s, padding .4s;
}

.site-header.scrolled {
  background: rgba(2,12,27,0.95);
  padding: 16px 60px;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(201,168,76,.1);
}

.site-branding .site-title {
  font-family: var(--font-serif);
  font-size:2rem; font-weight:600; letter-spacing:.3em;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  text-decoration: none;
}

.main-navigation { display:flex; align-items:center; gap:40px; }

.nav-menu { display:flex; gap:40px; list-style:none; margin:0; padding:0; }

.nav-menu li a {
  color: var(--white); text-decoration:none;
  font-size:.75rem; letter-spacing:.2em; text-transform:uppercase;
  opacity:.8; transition: var(--transition);
}
.nav-menu li a:hover,
.nav-menu li.current-menu-item a { opacity:1; color:var(--gold-light); }

.nav-menu li.menu-item-cta a {
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: var(--blue-deep) !important; opacity:1 !important;
  padding: 10px 28px; font-weight:600 !important;
}

/* Language switcher */
.lang-switcher {
  display:flex; align-items:center; gap:8px;
  font-size:.7rem; letter-spacing:.15em; text-transform:uppercase;
}
.lang-switcher a {
  color: var(--muted); text-decoration:none; padding:4px 8px;
  border: 1px solid transparent; transition: var(--transition);
}
.lang-switcher a.active,
.lang-switcher a:hover { color: var(--gold); border-color: rgba(201,168,76,.3); }
.lang-switcher span { color: rgba(201,168,76,.3); font-size:.6rem; }

/* Mobile toggle */
.menu-toggle {
  display:none; background:none; border:none; cursor:pointer;
  flex-direction:column; gap:5px; padding:4px;
}
.menu-toggle span {
  display:block; width:24px; height:1px;
  background: var(--gold); transition: var(--transition);
}

/* ============================================================
   HERO
   ============================================================ */
/* ============================================================
   HERO — reemplaza el bloque /* HERO */ en style.css
   Borra desde /* HERO */ hasta /* BENEFITS / FEATURES */
   y pega esto en su lugar
   ============================================================ */

/* ── HERO ── */
.hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 580px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--blue-deep);
}

.hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(2,12,27,.45) 0%,
    rgba(5,30,62,.2)  40%,
    rgba(2,12,27,.75) 100%
  );
}

/* Orbs decorativos */
.hero__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  pointer-events: none;
  z-index: 2;
  animation: orbFloat 8s ease-in-out infinite;
}
.hero__orb--1 { width:500px; height:500px; background:radial-gradient(circle,rgba(26,110,247,.18) 0%,transparent 70%); top:-100px; left:-100px; }
.hero__orb--2 { width:400px; height:400px; background:radial-gradient(circle,rgba(201,168,76,.13) 0%,transparent 70%); bottom:-50px; right:100px; animation-delay:-3s; }
.hero__orb--3 { width:300px; height:300px; background:radial-gradient(circle,rgba(26,110,247,.12) 0%,transparent 70%); top:50%; right:-50px; animation-delay:-5s; }

/* Rings */
.hero__ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(201,168,76,.15);
  pointer-events: none;
  z-index: 2;
  animation: heroRipple 6s linear infinite;
}
.hero__ring:nth-child(1) { width:600px; height:600px; }
.hero__ring:nth-child(2) { width:480px; height:480px; animation-delay:-2s; }
.hero__ring:nth-child(3) { width:360px; height:360px; animation-delay:-4s; }

/* Content */
.hero__content {
  position: relative;
  z-index: 10;
  text-align: center;
  padding: 0 24px;
  max-width: 820px;
  margin: 0 auto;
}

.hero__eyebrow {
  font-size: .7rem;
  letter-spacing: .4em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
  animation: fadeUp 1s .3s both;
}

.hero__title {
  font-family: var(--font-serif);
  font-size: clamp(3.5rem, 9vw, 8rem);
  font-weight: 300;
  line-height: .95;
  letter-spacing: -.02em;
  margin-bottom: 28px;
  animation: fadeUp 1s .5s both;
  color: var(--white);
}

.hero__subtitle {
  font-size: .95rem;
  letter-spacing: .04em;
  color: rgba(240,238,234,.82);
  max-width: 480px;
  margin: 0 auto 44px;
  line-height: 1.9;
  animation: fadeUp 1s .7s both;
  font-weight: 300;
}

.hero__actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  animation: fadeUp 1s .9s both;
}

/* Scroll indicator */
.hero__scroll {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 10;
  opacity: .55;
}
.hero__scroll-line {
  width: 1px;
  height: 56px;
  background: linear-gradient(180deg, var(--gold), transparent);
  animation: scrollPulse 2s ease-in-out infinite;
}
.hero__scroll-text {
  font-size: .55rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--gold);
}
/* ============================================================
   BENEFITS / FEATURES
   ============================================================ */
.benefits-section { padding:120px 0; }
.benefits-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.benefits-text p { font-size:.95rem; line-height:2; color:var(--muted); max-width:460px; }

.features-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; }

.feature-card {
  background:linear-gradient(135deg,rgba(10,58,122,.3),rgba(2,12,27,.5));
  border:1px solid rgba(201,168,76,.1); padding:40px 32px;
  transition:border-color .3s, transform .3s;
}
.feature-card:hover { border-color:rgba(201,168,76,.4); transform:translateY(-4px); }
.feature-card__icon { font-size:1.8rem; margin-bottom:16px; display:block; }
.feature-card h3 { font-family:var(--font-serif); font-size:1.3rem; font-weight:400; margin-bottom:10px; color:var(--gold-light); }
.feature-card p { font-size:.8rem; line-height:1.8; color:var(--muted); }

/* ============================================================
   STATS BAR
   ============================================================ */
.stats-bar {
  background:linear-gradient(135deg,rgba(201,168,76,.06),rgba(10,58,122,.2));
  border-top:1px solid rgba(201,168,76,.1);
  border-bottom:1px solid rgba(201,168,76,.1);
  padding:80px 60px;
}
.stats-bar__inner {
  max-width:1000px; margin:0 auto;
  display:flex; justify-content:space-around; text-align:center; flex-wrap:wrap; gap:40px;
}
.stat__number {
  font-family:var(--font-serif); font-size:clamp(3rem,6vw,5rem); font-weight:300;
  background:linear-gradient(135deg,var(--gold-light),var(--gold));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  display:block; line-height:1;
}
.stat__label { font-size:.7rem; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); margin-top:12px; }

/* ============================================================
   SHOP / PRODUCTS
   ============================================================ */
.shop-section { padding:120px 0; }
.shop-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:64px; }
.products-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }

.product-card {
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,rgba(10,58,122,.25),rgba(2,12,27,.8));
  border:1px solid rgba(201,168,76,.08); cursor:pointer;
  transition:transform .4s;
}
.product-card:hover { transform:translateY(-6px); }
.product-card__image { width:100%; height:340px; object-fit:cover; filter:saturate(.7) brightness(.85); transition:filter .4s, transform .5s; }
.product-card:hover .product-card__image { filter:saturate(1) brightness(.9); transform:scale(1.04); }
.product-card__overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(2,12,27,.95) 100%); }
.product-card__info { position:absolute; bottom:0; left:0; right:0; padding:32px; }
.product-card__region { font-size:.65rem; letter-spacing:.35em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.product-card__title { font-family:var(--font-serif); font-size:1.6rem; font-weight:300; margin-bottom:6px; }
.product-card__price { font-size:1.2rem; color:var(--gold-light); margin-bottom:20px; font-weight:300; }
.product-card__badge {
  position:absolute; top:20px; right:20px; z-index:3;
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:var(--blue-deep); font-size:.65rem; font-weight:700;
  letter-spacing:.2em; padding:6px 14px; text-transform:uppercase;
}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimonials-section { padding:120px 0; }
.testimonials-header { text-align:center; margin-bottom:64px; }
.testimonials-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; }

.testimonial-card {
  padding:52px; border:1px solid rgba(201,168,76,.1);
  background:linear-gradient(135deg,rgba(10,58,122,.15),rgba(2,12,27,.4));
  position:relative; overflow:hidden; transition:border-color .3s;
}
.testimonial-card::before {
  content:'\201C'; position:absolute; top:-20px; left:40px;
  font-family:var(--font-serif); font-size:10rem;
  color:var(--gold); opacity:.06; line-height:1;
}
.testimonial-card:hover { border-color:rgba(201,168,76,.25); }
.testimonial-card--offset { margin-top:40px; }
.testimonial__stars { color:var(--gold); font-size:.9rem; letter-spacing:2px; margin-bottom:20px; }
.testimonial__text { font-family:var(--font-serif); font-size:1.25rem; font-weight:300; font-style:italic; line-height:1.7; color:rgba(240,238,234,.85); margin-bottom:32px; }
.testimonial__author { display:flex; align-items:center; gap:16px; }
.testimonial__avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; border:1px solid rgba(201,168,76,.3); filter:saturate(.6); }
.testimonial__name { font-size:.8rem; font-weight:500; letter-spacing:.1em; color:var(--gold-light); }
.testimonial__role { font-size:.7rem; color:var(--muted); margin-top:3px; }

/* ============================================================
   CONTACT
   ============================================================ */
.contact-section { padding:80px 0 120px; }
.contact-inner { max-width:700px; margin:0 auto; text-align:center; }
.contact-form { margin-top:56px; display:flex; flex-direction:column; gap:16px; text-align:left; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

.form-field input,
.form-field textarea,
.form-field select {
  background:rgba(10,58,122,.15); border:1px solid rgba(201,168,76,.15);
  padding:18px 24px; color:var(--white);
  font-family:var(--font-sans); font-size:.85rem; font-weight:300;
  outline:none; transition:border-color .3s, background .3s; width:100%;
}
.form-field input:focus,
.form-field textarea:focus { border-color:rgba(201,168,76,.5); background:rgba(10,58,122,.25); }
.form-field input::placeholder,
.form-field textarea::placeholder { color:var(--muted); font-size:.8rem; letter-spacing:.1em; }
.form-field textarea { resize:vertical; min-height:130px; }
.form-field label { display:block; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }

.contact-info { display:flex; justify-content:center; gap:48px; margin-top:56px; flex-wrap:wrap; }
.contact-info__item .label { font-size:.65rem; letter-spacing:.35em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:8px; }
.contact-info__item .value { font-family:var(--font-serif); font-size:1.05rem; color:var(--white); text-decoration:none; }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
  padding:60px; border-top:1px solid rgba(201,168,76,.1);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px;
}
.footer-logo {
  font-family:var(--font-serif); font-size:1.5rem; font-weight:600; letter-spacing:.3em;
  background:linear-gradient(135deg,var(--gold-light),var(--gold));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  text-decoration:none;
}
.footer-nav ul { display:flex; gap:32px; list-style:none; margin:0; padding:0; }
.footer-nav a { color:var(--muted); text-decoration:none; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; transition:var(--transition); }
.footer-nav a:hover { color:var(--gold); }
.footer-copy { font-size:.7rem; color:var(--muted); letter-spacing:.1em; }
.footer-copy a { color:var(--gold); text-decoration:none; }

/* ============================================================
   PAGE BANNER — con animación de gota cuando título está oculto
   ============================================================ */
.page-banner {
  position: relative;
  padding: 100px 60px 32px;
  min-height: 170px;
  background: linear-gradient(180deg, var(--blue-mid) 0%, var(--blue-deep) 100%);
  border-bottom: 1px solid rgba(201,168,76,.1);
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Fondo glow central — reemplaza el ::before anterior */
.page-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 55% 90% at 50% 100%, rgba(10,58,122,.45) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* Sin ::after extra que interfiera */
.page-banner::after { display: none; }

.page-banner__inner {
  position: relative;
  z-index: 2;
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.page-banner__title {
  font-family: var(--font-serif);
  font-size: clamp(2.5rem,6vw,5rem);
  font-weight: 300;
}

/* ---- Animación: wrapper flex centrado ---- */
.elim-drop-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 80px;
  padding: 10px 20px;
}

/* Anillos concéntricos que se expanden desde la gota */
.elim-ring {
  position: absolute;
  top: 50%;
  left: 44px; /* centrado sobre la gota, no sobre el texto */
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(201,168,76,.6);
  animation: elimRipple 2.8s ease-out infinite;
  pointer-events: none;
}
.elim-ring:nth-child(1) { animation-delay: 0s; }
.elim-ring:nth-child(2) { animation-delay: 0.93s; border-color: rgba(201,168,76,.4); }
.elim-ring:nth-child(3) { animation-delay: 1.86s; border-color: rgba(201,168,76,.2); }

/* Gota dorada */
.elim-drop {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #f5d98b, #c9a84c 50%, #8a6320 85%);
  box-shadow: 0 0 22px rgba(201,168,76,.6), 0 0 55px rgba(201,168,76,.25);
  animation: elimDropFloat 3s ease-in-out infinite,
             elimDropGlow  3s ease-in-out infinite;
}

/* Tagline dorado en serif itálico */
.elim-tagline {
  position: relative;
  z-index: 2;
  font-family: var(--font-serif) !important;
  font-size: clamp(1.1rem, 2.5vw, 1.6rem);
  font-weight: 300;
  font-style: italic;
  letter-spacing: .08em;
  background: linear-gradient(135deg, #f5d98b, #c9a84c, #8a6320);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: elimTaglineIn 1s .4s ease both;
}

/* ---- Keyframes ---- */
@keyframes elimRipple {
  0%   { width: 44px;  height: 44px;  opacity: .8; }
  100% { width: 300px; height: 300px; opacity: 0;  }
}
@keyframes elimDropFloat {
  0%,100% { transform: translateY(0)     scale(1);    }
  50%      { transform: translateY(-10px) scale(1.08); }
}
@keyframes elimDropGlow {
  0%,100% { box-shadow: 0 0 22px rgba(201,168,76,.6),  0 0 55px rgba(201,168,76,.25); }
  50%      { box-shadow: 0 0 36px rgba(201,168,76,.9),  0 0 80px rgba(201,168,76,.4);  }
}
@keyframes elimTaglineIn {
  from { opacity: 0; transform: translateX(-14px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ============================================================
   PAGE CONTENT
   ============================================================ */
.page-content { padding:80px 60px; }
.page-content .entry-content { max-width:800px; margin:0 auto; }
.entry-content p { font-size:1rem; line-height:1.9; color:var(--muted); margin-bottom:1.5em; }
.entry-content h2 { font-family:var(--font-serif); font-size:2rem; color:var(--gold-light); margin:2em 0 .75em; }
.entry-content h3 { font-family:var(--font-serif); font-size:1.5rem; color:var(--white); margin:1.5em 0 .5em; }
.entry-content ul,
.entry-content ol { color:var(--muted); padding-left:1.5em; margin-bottom:1.5em; }
.entry-content ul li,
.entry-content ol li { margin-bottom:.5em; }
.entry-content blockquote {
  border-left:2px solid var(--gold); padding:16px 32px; margin:2em 0;
  font-family:var(--font-serif); font-size:1.3rem; font-style:italic; color:rgba(240,238,234,.75);
}
.entry-content a { color:var(--gold); }
.entry-content img { border:1px solid rgba(201,168,76,.15); margin:2em 0; }

/* ============================================================
   BLOG / ARCHIVE
   ============================================================ */
.archive-section { padding:120px 60px; }
.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:64px; }

.post-card {
  background:linear-gradient(135deg,rgba(10,58,122,.2),rgba(2,12,27,.6));
  border:1px solid rgba(201,168,76,.08); overflow:hidden;
  transition:transform .3s, border-color .3s;
}
.post-card:hover { transform:translateY(-4px); border-color:rgba(201,168,76,.25); }
.post-card__thumb { width:100%; height:220px; object-fit:cover; filter:saturate(.7); transition:filter .4s; }
.post-card:hover .post-card__thumb { filter:saturate(1); }
.post-card__body { padding:32px; }
.post-card__cat { font-size:.65rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; display:block; }
.post-card__title { font-family:var(--font-serif); font-size:1.4rem; font-weight:300; margin-bottom:12px; }
.post-card__title a { color:var(--white); text-decoration:none; transition:var(--transition); }
.post-card__title a:hover { color:var(--gold-light); }
.post-card__excerpt { font-size:.85rem; color:var(--muted); line-height:1.7; margin-bottom:24px; }
.post-card__meta { font-size:.7rem; color:var(--muted); letter-spacing:.1em; }

.pagination { display:flex; justify-content:center; gap:8px; padding:60px 0; }
.pagination a, .pagination span {
  padding:10px 16px; border:1px solid rgba(201,168,76,.15);
  font-size:.75rem; letter-spacing:.1em; text-decoration:none;
  color:var(--muted); transition:var(--transition);
}
.pagination a:hover, .pagination .current {
  border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,.06);
}

/* ============================================================
   404
   ============================================================ */
.error-404 {
  min-height:100vh; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center; padding:60px;
}
.error-404__number {
  font-family:var(--font-serif); font-size:clamp(6rem,20vw,16rem); font-weight:300; line-height:1;
  background:linear-gradient(135deg,var(--gold-light),var(--gold),var(--gold-dark));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.error-404__title { font-size:1.5rem; color:var(--white); margin:16px 0 24px; }
.error-404__text { color:var(--muted); margin-bottom:40px; max-width:400px; }

/* ============================================================
   SEARCH
   ============================================================ */
.search-form { display:flex; gap:0; max-width:500px; margin:0 auto; }
.search-field {
  flex:1; background:rgba(10,58,122,.15); border:1px solid rgba(201,168,76,.2);
  border-right:none; padding:14px 20px; color:var(--white);
  font-family:var(--font-sans); outline:none;
}
.search-submit {
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:var(--blue-deep); border:none; padding:14px 24px;
  cursor:pointer; font-size:.75rem; font-weight:600; letter-spacing:.1em;
}

/* ============================================================
   WIDGETS
   ============================================================ */
.widget-area { padding:80px 0; }
.widget { margin-bottom:48px; }
.widget-title { font-family:var(--font-serif); font-size:1.2rem; color:var(--gold-light); margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid rgba(201,168,76,.15); }
.widget ul { list-style:none; }
.widget ul li { padding:8px 0; border-bottom:1px solid rgba(240,238,234,.06); }
.widget ul li a { color:var(--muted); font-size:.85rem; text-decoration:none; transition:var(--transition); }
.widget ul li a:hover { color:var(--gold); }

/* ============================================================
   OCULTAR TÍTULOS DE PÁGINA (plugin Hide Page Title)
   ============================================================ */
.page-title,
.entry-title,
h1.page-header,
.wp-block-post-title { display: none !important; }

/* ============================================================
   ANIMACIONES GLOBALES
   ============================================================ */
@keyframes orbFloat {
  0%,100% { transform:translateY(0) scale(1); }
  50%      { transform:translateY(-30px) scale(1.05); }
}
@keyframes heroRipple {
  0%   { transform:scale(.8); opacity:.7; }
  100% { transform:scale(1.4); opacity:0; }
}
@keyframes fadeUp {
  from { opacity:0; transform:translateY(30px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes scrollPulse {
  0%,100% { opacity:.5; transform:scaleY(1); }
  50%      { opacity:1;  transform:scaleY(1.2); }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px) {
  .container { padding:0 40px; }
  .benefits-grid { grid-template-columns:1fr; gap:48px; }
  .products-grid { grid-template-columns:repeat(2,1fr); }
  .posts-grid    { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px) {
  .site-header         { padding:20px 24px; }
  .site-header.scrolled{ padding:14px 24px; }
  .container, .container--narrow, .container--mid { padding:0 24px; }

  .main-navigation { display:none; }
  .main-navigation.is-open {
    display:flex; flex-direction:column; align-items:flex-start; gap:0;
    position:fixed; inset:0; background:rgba(2,12,27,.98);
    padding:100px 40px 40px; z-index:199;
  }
  .nav-menu { flex-direction:column; gap:0; width:100%; }
  .nav-menu li a { font-size:1rem; padding:16px 0; border-bottom:1px solid rgba(201,168,76,.1); display:block; }

  .menu-toggle { display:flex; z-index:201; position:relative; }
  .menu-toggle.is-open span:nth-child(1) { transform:rotate(45deg) translate(4px,4px); }
  .menu-toggle.is-open span:nth-child(2) { opacity:0; }
  .menu-toggle.is-open span:nth-child(3) { transform:rotate(-45deg) translate(4px,-4px); }

  .hero__title   { font-size:clamp(3rem,12vw,6rem); }
  .hero__actions { flex-direction:column; align-items:center; }

  .features-grid,
  .testimonials-grid,
  .products-grid,
  .posts-grid,
  .form-row { grid-template-columns:1fr; }

  .testimonial-card--offset { margin-top:0; }
  .stats-bar__inner { flex-direction:column; align-items:center; }

  .site-footer { flex-direction:column; text-align:center; padding:40px 24px; }
  .footer-nav ul { flex-wrap:wrap; justify-content:center; }

  .shop-header { flex-direction:column; align-items:flex-start; gap:24px; }

  .page-banner  { padding:80px 24px 24px; min-height:130px; }
  .page-content { padding:60px 24px; }
  .archive-section { padding:80px 24px; }

  @keyframes elimRipple {
    0%   { width:44px;  height:44px;  opacity:.8; }
    100% { width:180px; height:180px; opacity:0;  }
  }
}

@media (max-width:480px) {
  .hero__title { font-size:3rem; }
  .btn { padding:14px 28px; }
  .elim-tagline { font-size:.95rem; }
}
/* ============================================================
     FIXES DEFINITIVOS — versión final limpia
     ============================================================ */

  /* Overflow */
  body { overflow: visible !important; }
  .site, #page { overflow-x: clip !important; }
  .page-banner, .page-banner * { overflow: visible !important; }

  /* HEADER */
  .site-header {
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: rgba(2,12,27,0.95) !important;
    backdrop-filter: blur(10px) !important;
    border-bottom: 1px solid rgba(201,168,76,.1) !important;
    transform: none !important;
  }
  .admin-bar .site-header { top: 32px !important; }
  @media (max-width: 782px) {
    .admin-bar .site-header { top: 46px !important; }
  }

  /* BODY PADDING — empuja contenido debajo del navbar */
  body        { padding-top: 160px !important; }
  body.home   { padding-top: 0 !important; }
  .admin-bar body      { padding-top: 192px !important; }
  .admin-bar body.home { padding-top: 32px !important; }
  @media (max-width: 782px) {
    .admin-bar body      { padding-top: 206px !important; }
    .admin-bar body.home { padding-top: 46px !important; }
  }

  /* SECCIONES — padding > navbar para que al hacer scroll no queden tapadas */
  .benefits-section,
  .shop-section,
  .testimonials-section,
  .contact-section { padding-top: 160px !important; }

  .stats-bar { padding-top: 160px !important; }

  /* Secciones de páginas HTML personalizadas */
  .section  { padding-top: 160px !important; }
  .stats    { padding-top: 160px !important; }
  .cta-band { padding-top: 160px !important; }

  /* Page banner páginas internas */
  .page-banner { padding-top: 180px !important; }

  /* Scroll offset para links ancla */
  html { scroll-padding-top: 160px; }

  /* FULL WIDTH */
  .page-content--no-banner,
  .page-content--no-banner .entry-content,
  .page-content--no-banner > div {
    padding: 0 !important; margin: 0 !important;
    max-width: none !important; width: 100% !important;
  }

  .elim-ben-wrap, .ec-wrap, .elp-wrap, .elt-wrap,
  .test-bg-wrap, .shop-bg-wrap {
    transform: none !important; filter: none !important;
    will-change: auto !important; position: relative !important;
    z-index: auto !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important; max-width: 100vw !important;
    box-sizing: border-box !important; overflow: visible !important;
  }

  /* FOOTER */
  .site-footer { position: relative !important; z-index: 2 !important; }

  /* CTA NAVBAR */
  .nav-menu li.menu-item-cta a {
    white-space: nowrap !important; border-radius: 4px !important;
    line-height: 1.2 !important; display: inline-flex !important;
    align-items: center !important;
  }
/* ── MOBILE MENU FIX ── */
@media (max-width: 768px) {

  /* Botón hamburguesa siempre visible en móvil */
  .menu-toggle {
    display: flex !important;
    z-index: 9999 !important;
    position: relative !important;
    cursor: pointer !important;
  }

  /* Nav oculto por defecto en móvil */
  .main-navigation {
    display: none !important;
  }

  /* Nav visible cuando está abierto */
  .main-navigation.is-open {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(2,12,27,.98) !important;
    padding: 100px 40px 40px !important;
    z-index: 9998 !important;
    overflow-y: auto !important;
  }

  .main-navigation.is-open .nav-menu {
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
  }

  .main-navigation.is-open .nav-menu li a {
    font-size: 1.1rem !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid rgba(201,168,76,.1) !important;
    display: block !important;
    opacity: 1 !important;
  }

  .main-navigation.is-open .lang-switcher {
    margin-top: 24px !important;
    font-size: .85rem !important;
  }

  /* Animación hamburguesa → X */
  .menu-toggle.is-open span:nth-child(1) {
    transform: rotate(45deg) translate(4px, 4px) !important;
  }
  .menu-toggle.is-open span:nth-child(2) {
    opacity: 0 !important;
  }
  .menu-toggle.is-open span:nth-child(3) {
    transform: rotate(-45deg) translate(4px, -4px) !important;
  }
}
/* Logo size fix */
.site-branding .custom-logo-link {
  display: flex !important;
  align-items: center !important;
}
.site-branding .custom-logo {
  height: 48px !important;
  width: auto !important;
  max-width: none !important;
  display: block !important;
}