/* ============================================================
   COMPONENTS — VivreEspagne · Electric Navy
   Todo oscuro · Azul eléctrico profundo · Sin secciones blancas
   ============================================================ */

/* ══ HEADER ═════════════════════════════════════════ */
.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:rgba(3,11,26,0.94);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--header-border);z-index:var(--z-sticky);transition:height var(--transition),box-shadow var(--transition)}
.site-header.scrolled{height:var(--header-h-scroll);box-shadow:0 2px 24px rgba(37,99,235,0.20)}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--space-6)}
.site-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.site-logo__text{font-family:var(--font-heading);font-size:var(--text-xl);font-style:italic;color:var(--text-dark);letter-spacing:-0.02em;line-height:1}
.site-logo__dot{color:var(--gold)}
.site-nav{display:flex;align-items:center;gap:var(--space-1)}
.site-nav__link{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--text-muted);text-decoration:none;border-radius:var(--radius);transition:all var(--transition-fast);white-space:nowrap}
.site-nav__link:hover{background:rgba(37,99,235,0.15);color:var(--gold-light)}
.site-nav__link.active{color:var(--gold-light);font-weight:600}
.header__actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}
.lang-switcher{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-full);overflow:hidden;font-size:var(--text-xs);font-family:var(--font-mono);font-weight:600;letter-spacing:0.05em}
.lang-switcher__btn{padding:5px 11px;color:var(--text-muted);text-decoration:none;transition:all var(--transition-fast)}
.lang-switcher__btn:hover{background:rgba(37,99,235,0.18);color:var(--gold-light)}
.lang-switcher__btn.active{background:var(--gold);color:#fff;pointer-events:none}
.nav-toggle{display:none;flex-direction:column;justify-content:space-between;width:24px;height:18px;padding:0;background:none;border:none;cursor:pointer}
.nav-toggle span{display:block;height:2px;background:var(--text-dark);border-radius:1px;transition:transform var(--transition),opacity var(--transition);transform-origin:center}
.nav-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-nav{display:none;position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:var(--navy);overflow-y:auto;z-index:calc(var(--z-sticky) - 1);padding:var(--space-6) var(--space-6) var(--space-12);flex-direction:column;gap:var(--space-2);transform:translateX(100%);transition:transform var(--transition-slow)}
.mobile-nav.open{display:flex;transform:translateX(0)}
.mobile-nav__link{display:block;padding:var(--space-4);font-size:var(--text-lg);font-family:var(--font-heading);font-style:italic;color:var(--text-dark);text-decoration:none;border-bottom:1px solid var(--border);transition:color var(--transition-fast),padding-left var(--transition-fast)}
.mobile-nav__link:hover{color:var(--gold-light);padding-left:var(--space-6)}
.mobile-nav__cta{margin-top:var(--space-6)}
.mobile-nav__lang{display:flex;gap:var(--space-3);margin-top:var(--space-4)}

/* ══ BOTONES ═════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:14px 28px;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;line-height:1;border-radius:var(--radius-lg);text-decoration:none;cursor:pointer;transition:all var(--transition);border:2px solid transparent;white-space:nowrap;min-height:48px}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--gold{background:var(--gradient-blue);background-size:200% 200%;color:#fff;border-color:transparent;box-shadow:var(--shadow-gold)}
.btn--gold:hover{box-shadow:var(--shadow-glow);color:#fff;animation:gradient-shift 3s ease infinite}
.btn--navy{background:rgba(255,255,255,0.08);color:var(--text-dark);border:1px solid var(--border)}
.btn--navy:hover{background:rgba(37,99,235,0.20);color:var(--gold-light);border-color:var(--gold)}
.btn--outline{background:transparent;color:var(--text-muted);border-color:var(--border)}
.btn--outline:hover{background:rgba(37,99,235,0.12);color:var(--gold-light);border-color:var(--gold)}
.btn--outline-cream{background:transparent;color:rgba(240,249,255,0.80);border-color:rgba(240,249,255,0.25)}
.btn--outline-cream:hover{background:rgba(240,249,255,0.08);border-color:rgba(240,249,255,0.55);color:#fff}
.btn--whatsapp{background:#25D366;color:#fff;border-color:#25D366;box-shadow:0 4px 16px rgba(37,211,102,0.28)}
.btn--whatsapp:hover{background:#1da851;border-color:#1da851;color:#fff;box-shadow:0 6px 28px rgba(37,211,102,0.45)}
.btn--sm{padding:10px 20px;font-size:var(--text-sm);min-height:40px;border-radius:var(--radius)}
.btn--lg{padding:18px 36px;font-size:var(--text-lg);min-height:56px;border-radius:var(--radius-xl)}
.btn--full{width:100%}
.wa-float{position:fixed;bottom:28px;right:24px;width:58px;height:58px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(37,211,102,0.45);z-index:var(--z-overlay);transition:transform var(--transition),box-shadow var(--transition);text-decoration:none;animation:glow-pulse 4s ease-in-out infinite}
.wa-float:hover{transform:scale(1.10);box-shadow:0 8px 40px rgba(37,211,102,0.60)}
.wa-float svg{width:28px;height:28px;fill:white}
.wa-float__tooltip{position:absolute;right:70px;background:var(--navy-light);color:var(--text-dark);font-size:var(--text-xs);white-space:nowrap;padding:var(--space-2) var(--space-3);border-radius:var(--radius);opacity:0;pointer-events:none;transition:opacity var(--transition);border:1px solid var(--border)}
.wa-float:hover .wa-float__tooltip{opacity:1}

/* ══ HERO ════════════════════════════════════════════ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding-top:var(--header-h)}
.hero__bg{position:absolute;inset:0;z-index:var(--z-below)}
.hero__bg-img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero__placeholder{width:100%;height:100%;background:var(--gradient-hero);background-size:300% 300%;animation:gradient-shift 14s ease infinite}
.hero__placeholder::after{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(37,99,235,0.14) 1px,transparent 1px);background-size:26px 26px}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(110deg,rgba(3,11,26,0.82) 0%,rgba(3,11,26,0.50) 55%,rgba(29,78,216,0.18) 100%)}
.hero__content{position:relative;z-index:var(--z-raised);padding-block:var(--space-24);max-width:740px}
.hero__label{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-light);background:rgba(37,99,235,0.14);border:1px solid rgba(37,99,235,0.30);padding:5px 14px;border-radius:var(--radius-full);margin-bottom:var(--space-4)}
.hero__title{font-family:var(--font-heading);font-size:clamp(var(--text-4xl),6vw,var(--text-7xl));font-weight:400;font-style:italic;color:#fff;line-height:1.08;margin-bottom:var(--space-6);letter-spacing:-0.02em}
.hero__subtitle{font-size:var(--text-lg);color:rgba(240,249,255,0.72);line-height:1.75;margin-bottom:var(--space-8);max-width:58ch}
.hero__ctas{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}

/* ══ TRUST BAND ══════════════════════════════════════ */
.trust-band{background:var(--navy-deep);padding-block:var(--space-10);position:relative;overflow:hidden}
.trust-band::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(37,99,235,0.14) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
.trust-band__grid{display:grid;grid-template-columns:repeat(3,1fr);position:relative;z-index:1}
.trust-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6) var(--space-4);border-right:1px solid var(--border)}
.trust-item:last-child{border-right:none}
.trust-item__icon{font-size:var(--text-3xl);margin-bottom:var(--space-3)}
.trust-item__title{font-family:var(--font-heading);font-size:var(--text-xl);font-style:italic;background:var(--gradient-blue);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-2)}
.trust-item__text{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6;max-width:24ch;margin-bottom:0}

/* ══ SECCIONES ALTERNAS — variaciones de oscuro ════ */
/* Sobre mí, Perfiles, Reseñas → navy-light */
.section--cream{background:var(--navy-light) !important;position:relative;overflow:hidden}
.section--cream::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(37,99,235,0.10) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
/* Servicios, Tarifas → navy-deep */
.section--white{background:var(--navy-deep) !important;position:relative;overflow:hidden}
.section--white::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(37,99,235,0.08) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}

/* ══ TARJETAS DE SERVICIOS ═══════════════════════════ */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}
.service-card{display:flex;flex-direction:column;padding:var(--space-6);background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:var(--radius-xl);transition:all var(--transition);text-decoration:none;color:inherit;text-align:center;backdrop-filter:blur(8px)}
.service-card:hover{box-shadow:var(--shadow-glow);border-color:var(--gold);transform:translateY(-4px);color:inherit;background:rgba(37,99,235,0.10)}
.service-card__icon{font-size:2.4rem;margin-bottom:var(--space-3);display:block}
.service-card__title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text-dark);margin-bottom:var(--space-2);line-height:1.3}
.service-card__desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-4);line-height:1.6;flex:1}
.service-card__link{font-size:var(--text-sm);font-weight:600;color:var(--gold-light);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-1);margin-top:auto;justify-content:center}
.service-card__link::after{content:' →'}

/* ══ PERFILES ════════════════════════════════════════ */
.profiles-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4)}
.profile-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6) var(--space-4);background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:var(--radius-xl);text-decoration:none;color:inherit;transition:all var(--transition);backdrop-filter:blur(6px)}
.profile-card:hover{box-shadow:var(--shadow-glow);transform:translateY(-4px);border-color:var(--gold);background:rgba(37,99,235,0.12);color:inherit}
.profile-card__icon{font-size:2.4rem;margin-bottom:var(--space-3)}
.profile-card__title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--text-dark);margin-bottom:var(--space-2);line-height:1.3}
.profile-card__msg{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6;margin-bottom:0}

/* ══ MINI SOBRE MÍ ═══════════════════════════════════ */
.mini-about{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}
.mini-about__img{aspect-ratio:4/5;border-radius:var(--radius-2xl);overflow:hidden;background:rgba(37,99,235,0.08);box-shadow:var(--shadow-xl);border:1px solid var(--border)}
.mini-about__img img{width:100%;height:100%;object-fit:cover}
.mini-about__img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--text-sm);font-style:italic;text-align:center;padding:var(--space-6)}
.mini-about__content{display:flex;flex-direction:column;gap:var(--space-5)}

/* ══ PASOS ═══════════════════════════════════════════ */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.process-steps::before{content:'';position:absolute;top:36px;left:12.5%;right:12.5%;height:2px;background:linear-gradient(90deg,rgba(37,99,235,0.10),rgba(37,99,235,0.50),rgba(37,99,235,0.10));z-index:0}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6) var(--space-4);position:relative;z-index:1}
.step__number{width:72px;height:72px;border-radius:50%;background:var(--gradient-blue);color:#fff;font-family:var(--font-heading);font-size:var(--text-2xl);font-style:italic;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);box-shadow:var(--shadow-glow);animation:glow-pulse 4s ease-in-out infinite}
.step:nth-child(2) .step__number{animation-delay:.5s}
.step:nth-child(3) .step__number{animation-delay:1s}
.step:nth-child(4) .step__number{animation-delay:1.5s}
.step__title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--gold-light);margin-bottom:var(--space-2)}
.step__desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6;margin-bottom:0}

/* ══ RESEÑAS ═════════════════════════════════════════ */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.review-card{display:flex;flex-direction:column;padding:var(--space-6);background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);text-align:center;transition:all var(--transition);backdrop-filter:blur(6px)}
.review-card:hover{box-shadow:var(--shadow-glow);border-color:var(--gold);transform:translateY(-2px);background:rgba(37,99,235,0.10)}
.review-card__stars{margin-bottom:var(--space-3);color:#FBBF24;font-size:var(--text-sm);letter-spacing:2px}
.review-card__text{font-style:italic;color:var(--text-body);line-height:1.7;margin-bottom:var(--space-4);flex:1}
.review-card__author{font-weight:600;color:var(--text-dark);font-size:var(--text-sm)}
.review-card__role{font-size:var(--text-xs);color:var(--text-muted)}

/* ══ CTA BANNER ══════════════════════════════════════ */
.cta-banner{background:var(--gradient-hero);background-size:300% 300%;animation:gradient-shift 14s ease infinite;padding-block:var(--space-20);text-align:center;position:relative;overflow:hidden}
.cta-banner::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(37,99,235,0.15) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.cta-banner::after{content:'';position:absolute;top:-100px;left:50%;transform:translateX(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(29,78,216,0.22) 0%,transparent 70%);pointer-events:none}
.cta-banner__title{font-family:var(--font-heading);font-size:clamp(var(--text-3xl),4vw,var(--text-5xl));font-style:italic;color:#fff;margin-bottom:var(--space-4);position:relative;z-index:1}
.cta-banner__subtitle{font-size:var(--text-lg);color:var(--text-muted);margin-bottom:var(--space-8);max-width:52ch;margin-inline:auto;position:relative;z-index:1}
.cta-banner__ctas{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-4);position:relative;z-index:1}
.cta-banner__contact{display:flex;align-items:center;justify-content:center;gap:var(--space-6);flex-wrap:wrap;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--text-muted);position:relative;z-index:1}
.cta-banner__contact a{color:var(--gold-light);text-decoration:none}

/* ══ STATS ═══════════════════════════════════════════ */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-1);text-align:center}
.stat{padding:var(--space-6) var(--space-4)}
.stat__number{font-family:var(--font-heading);font-size:clamp(var(--text-4xl),4vw,var(--text-6xl));font-style:italic;background:var(--gradient-blue);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:var(--space-2)}
.stat__label{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:0}

/* ══ PACKS ═══════════════════════════════════════════ */
.packs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);align-items:stretch}
.pack-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-2xl);overflow:hidden;transition:all var(--transition);background:rgba(255,255,255,0.04);backdrop-filter:blur(8px);text-align:center}
.pack-card:hover{box-shadow:var(--shadow-glow);transform:translateY(-6px);background:rgba(37,99,235,0.10);border-color:var(--gold)}
.pack-card--featured{border:2px solid var(--gold);box-shadow:var(--shadow-glow)}
.pack-card__badge{background:var(--gradient-blue);color:#fff;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:6px 16px;text-align:center}
.pack-card__header{background:rgba(37,99,235,0.12);padding:var(--space-8) var(--space-6) var(--space-6);position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.pack-card--featured .pack-card__header{background:rgba(37,99,235,0.20)}
.pack-card__name{font-family:var(--font-heading);font-size:var(--text-2xl);font-style:italic;background:var(--gradient-blue);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-2)}
.pack-card__price{font-family:var(--font-heading);font-size:var(--text-5xl);font-style:italic;color:var(--text-dark);line-height:1;margin-bottom:var(--space-2)}
.pack-card__price span{font-size:var(--text-2xl);vertical-align:super;font-style:normal}
.pack-card__ideal{font-size:var(--text-xs);color:var(--text-muted);font-style:italic}
.pack-card__body{padding:var(--space-6);flex:1;display:flex;flex-direction:column;gap:var(--space-3)}
.pack-item{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-body);text-align:left}
.pack-item__check{color:var(--sage-light);font-size:var(--text-base);flex-shrink:0;margin-top:1px}
.pack-card__footer{padding:var(--space-4) var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}
.pack-card__delay{text-align:center;font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}

/* ══ FAQ ═════════════════════════════════════════════ */
.faq-nav{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-10);justify-content:center}
.faq-nav__btn{padding:var(--space-2) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;color:var(--text-muted);background:rgba(255,255,255,0.04);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}
.faq-nav__btn:hover,.faq-nav__btn.active{background:var(--gradient-blue);border-color:transparent;color:#fff;box-shadow:var(--shadow-gold)}
.faq-section{margin-bottom:var(--space-12)}
.faq-section__title{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--text-dark);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--gold);display:inline-block}
.faq-item{border-bottom:1px solid var(--border);transition:background var(--transition-fast)}
.faq-item[open]{background:rgba(37,99,235,0.08);border-radius:var(--radius)}
.faq-item__question{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-4);cursor:pointer;font-weight:500;color:var(--text-dark);font-size:var(--text-base);list-style:none;user-select:none}
.faq-item__question::-webkit-details-marker{display:none}
.faq-item__question::after{content:'+';font-size:var(--text-2xl);font-weight:300;color:var(--gold-light);flex-shrink:0;line-height:1;transition:transform var(--transition)}
details[open] .faq-item__question::after{transform:rotate(45deg)}
.faq-item__answer{padding:0 var(--space-4) var(--space-5);color:var(--text-body);line-height:1.75;max-width:72ch}

/* ══ INNER NAV ════════════════════════════════════════ */
.inner-nav{position:sticky;top:var(--header-h);z-index:var(--z-dropdown);background:rgba(3,11,26,0.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding-block:var(--space-3);box-shadow:0 4px 20px rgba(0,0,0,0.40)}
.inner-nav__links{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.inner-nav__links::-webkit-scrollbar{display:none}
.inner-nav__link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-full);white-space:nowrap;transition:all var(--transition-fast);border:1px solid transparent}
.inner-nav__link:hover{background:rgba(37,99,235,0.15);color:var(--gold-light)}
.inner-nav__link.active{background:var(--gradient-blue);color:#fff;box-shadow:var(--shadow-gold)}
.inner-nav__step{font-family:var(--font-mono);font-size:10px;background:rgba(37,99,235,0.18);color:var(--gold-light);padding:2px 6px;border-radius:var(--radius-full)}

/* ══ BLOG ════════════════════════════════════════════ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.blog-card{display:flex;flex-direction:column;background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;text-decoration:none;color:inherit;transition:all var(--transition);backdrop-filter:blur(6px)}
.blog-card:hover{box-shadow:var(--shadow-glow);transform:translateY(-3px);color:inherit;border-color:var(--gold);background:rgba(37,99,235,0.10)}
.blog-card__thumb{aspect-ratio:16/9;background:rgba(37,99,235,0.08);overflow:hidden;position:relative}
.blog-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}
.blog-card:hover .blog-card__thumb img{transform:scale(1.06)}
.blog-card__thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-style:italic;font-size:var(--text-sm)}
.blog-card__body{padding:var(--space-5);flex:1;display:flex;flex-direction:column}
.blog-card__meta{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}
.blog-card__title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text-dark);line-height:1.3;margin-bottom:var(--space-3)}
.blog-card__excerpt{font-size:var(--text-sm);color:var(--text-muted);line-height:1.65;margin-bottom:var(--space-4);flex:1}
.blog-card__readmore{font-size:var(--text-sm);font-weight:600;color:var(--gold-light);display:inline-flex;align-items:center;gap:var(--space-1);margin-top:auto}
.blog-card__readmore::after{content:' →'}
.post-hero{padding-block:var(--space-16);background:var(--gradient-hero);text-align:center;position:relative;overflow:hidden}
.post-content{max-width:72ch;margin-inline:auto;padding-block:var(--space-12)}
.post-content h2{font-size:var(--text-3xl);margin-top:var(--space-10);margin-bottom:var(--space-4);color:var(--text-dark)}
.post-content h3{font-size:var(--text-2xl);margin-top:var(--space-8);margin-bottom:var(--space-3);color:var(--text-dark)}
.post-content p{margin-bottom:var(--space-5)}
.post-content ul,.post-content ol{list-style:disc;padding-left:var(--space-6);margin-bottom:var(--space-5)}
.post-content li{margin-bottom:var(--space-2)}

/* ══ SOBRE MÍ ════════════════════════════════════════ */
.about-hero{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-16);align-items:center;padding-block:var(--space-20)}
.about-photo{aspect-ratio:3/4;border-radius:var(--radius-2xl);overflow:hidden;background:rgba(37,99,235,0.08);position:relative;box-shadow:var(--shadow-xl);border:1px solid var(--border)}
.about-photo img{width:100%;height:100%;object-fit:cover}
.about-photo__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-style:italic;font-size:var(--text-sm);text-align:center;padding:var(--space-8)}
.about-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}
.about-list li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-base);color:var(--text-body);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}
.about-list li::before{content:'✓';color:var(--sage-light);font-weight:700;flex-shrink:0;margin-top:2px}

/* ══ 404 ══════════════════════════════════════════════ */
.page-404{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-16) var(--container-px)}
.page-404__number{font-family:var(--font-heading);font-size:clamp(6rem,20vw,12rem);font-style:italic;background:var(--gradient-blue);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;opacity:0.25;margin-bottom:var(--space-4)}

/* ══ FOOTER ══════════════════════════════════════════ */
.site-footer{background:var(--navy-darker);color:var(--text-muted);padding-top:var(--space-16);padding-bottom:var(--space-8);position:relative;overflow:hidden}
.site-footer::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(37,99,235,0.10) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:var(--space-10);margin-bottom:var(--space-10);position:relative;z-index:1}
.footer__brand{display:flex;flex-direction:column;gap:var(--space-4)}
.footer__logo{font-family:var(--font-heading);font-size:var(--text-2xl);font-style:italic;color:var(--text-dark);text-decoration:none;display:inline-block}
.footer__tagline{font-size:var(--text-sm);line-height:1.65;color:var(--text-muted);margin-bottom:0;max-width:30ch}
.footer__col-title{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-light);margin-bottom:var(--space-4)}
.footer__links{display:flex;flex-direction:column;gap:var(--space-3)}
.footer__link{font-size:var(--text-sm);color:var(--text-muted);text-decoration:none;transition:color var(--transition-fast)}
.footer__link:hover{color:var(--text-dark)}
.footer__contact-item{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-3);text-decoration:none;transition:color var(--transition-fast)}
.footer__contact-item:hover{color:var(--text-dark)}
.footer__contact-icon{flex-shrink:0;margin-top:2px}
.footer__bottom{border-top:1px solid var(--border);padding-top:var(--space-6);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);position:relative;z-index:1}
.footer__legal{font-size:var(--text-xs);color:var(--text-light);max-width:60ch;margin-bottom:0}
.footer__legal-links{display:flex;gap:var(--space-4);flex-shrink:0}
.footer__legal-link{font-size:var(--text-xs);color:var(--text-light);text-decoration:none;transition:color var(--transition-fast)}
.footer__legal-link:hover{color:var(--gold-light)}

/* ══ FIXES AUDIT NOÉMIE — Junio 2025 ════════════════ */

/* Trust band "100% en français" — mejorar contraste texto */
.trust-item__title {
    -webkit-text-fill-color: var(--gold-light) !important;
    color: var(--gold-light) !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    font-weight: 500;
}

/* Cards / cadres — legibilidad sobre fondo oscuro */
.service-card__title,
.profile-card__title,
.review-card__author,
.blog-card__title {
    color: #F0F9FF !important;
}

.service-card__desc,
.profile-card__msg,
.review-card__text,
.blog-card__excerpt {
    color: rgba(240,249,255,0.68) !important;
}

.service-card__link,
.blog-card__readmore { color: var(--gold-light) !important; }

/* FAQ — texto visible */
.faq-item__question { color: #F0F9FF !important; }
.faq-item__answer   { color: rgba(240,249,255,0.78) !important; }
.faq-section__title { color: #F0F9FF !important; }

/* Pack cards — texto legible */
.pack-card__price { color: #F0F9FF !important; }
.pack-item        { color: rgba(240,249,255,0.80) !important; }
.pack-card__delay { color: rgba(240,249,255,0.50) !important; }

/* About section — fondo menos oscuro */
.mini-about__img-placeholder {
    background: rgba(37,99,235,0.12) !important;
    color: rgba(240,249,255,0.55) !important;
}

/* Tabla — texto legible */
td { color: rgba(240,249,255,0.78) !important; }
th { color: #F0F9FF !important; }

/* Inner nav links */
.inner-nav__link { color: rgba(240,249,255,0.60) !important; }
.inner-nav__link:hover { color: var(--gold-light) !important; }

/* Note blocks */
.note { color: rgba(240,249,255,0.82) !important; border-left-color: var(--gold-light); background: rgba(37,99,235,0.15); }

/* ══ CARRUSEL DE RESEÑAS — auto-scroll infinito ══════ */
.reviews-carousel-wrap {
    overflow: hidden;
    width: 100%;
    padding-block: var(--space-6);
    mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}

.reviews-carousel-wrap:hover .carousel-track { animation-play-state: paused; }

.carousel-row { display: flex; gap: var(--space-4); margin-bottom: var(--space-4); }
.carousel-row:last-child { margin-bottom: 0; }

.carousel-track {
    display: flex;
    gap: var(--space-4);
    width: max-content;
    animation: carousel-left 55s linear infinite;
}

.carousel-track--reverse {
    animation-name: carousel-right;
    animation-duration: 60s;
}

@keyframes carousel-left {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

@keyframes carousel-right {
    from { transform: translateX(-50%); }
    to   { transform: translateX(0); }
}

.review-slide {
    flex-shrink: 0;
    width: 320px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(37,99,235,0.20);
    border-radius: var(--radius-xl);
    padding: var(--space-5) var(--space-6);
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    user-select: none;
    -webkit-user-select: none;
    cursor: default;
    backdrop-filter: blur(8px);
    transition: border-color var(--transition), box-shadow var(--transition);
}

.review-slide:hover {
    border-color: rgba(37,99,235,0.45);
    box-shadow: 0 4px 24px rgba(37,99,235,0.15);
}

.review-slide__stars {
    color: #FBBF24;
    font-size: var(--text-sm);
    letter-spacing: 3px;
}

.review-slide__text {
    font-style: italic;
    font-size: var(--text-sm);
    color: rgba(240,249,255,0.75);
    line-height: 1.7;
    flex: 1;
}

.review-slide__author {
    font-weight: 600;
    font-size: var(--text-xs);
    color: var(--gold-light);
    letter-spacing: 0.04em;
}

.review-slide__context {
    font-size: 10px;
    color: rgba(240,249,255,0.40);
    font-family: var(--font-mono);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
