/* PROTOCOLO 30 DÍAS VIDAYOUNG - CSS COMPLETO */

:root {
  --vy-bg: #151419; --vy-vignette: #0F0E11; --vy-bg-2: #121116;
  --vy-surface: #1B1B1E; --vy-surface-2: #202026;
  --vy-border: rgba(245,242,233,0.08); --vy-border-strong: rgba(245,242,233,0.14);
  --vy-text: #F5F2E9; --vy-text-2: rgba(245,242,233,0.78); --vy-text-3: rgba(245,242,233,0.58); --vy-text-4: rgba(245,242,233,0.46);
  --vy-accent: #F56E0F; --vy-accent-soft: rgba(245,110,15,0.18);
  --vy-wash-indigo: rgba(124,116,184,0.14); --vy-wash-teal: rgba(59,183,166,0.08);
  --vy-blue: #3B82F6; --vy-blue-hover: #2563EB; --vy-green: #25D366;
  --font-display: 'Montserrat', sans-serif; --font-body: 'Inter', sans-serif;
  --space-8: 8px; --space-12: 12px; --space-16: 16px; --space-20: 20px; --space-24: 24px; --space-32: 32px; --space-48: 48px; --space-64: 64px; --space-80: 80px; --space-120: 120px;
  --radius-sm: 8px; --radius-md: 14px; --radius-lg: 18px; --transition: 0.25s cubic-bezier(0.4,0,0.2,1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } }
body { font-family: var(--font-body); font-size: clamp(16px,4vw,18px); line-height: 1.5; color: var(--vy-text-2); background-color: var(--vy-bg); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.container--narrow { max-width: 800px; }
@media (min-width: 768px) { .container { padding: 0 48px; } }
.text-accent { color: var(--vy-accent); }

/* HEADER */
.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: rgba(21,20,25,0.85); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--vy-border); padding: 16px 0; }
.site-header__content { display: flex; align-items: center; justify-content: space-between; }
.owner { display: flex; align-items: center; gap: 12px; }
.owner__avatar { width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--vy-border-strong); object-fit: cover; }
.owner__name { font-family: var(--font-display); font-size: 15px; font-weight: 600; color: var(--vy-text); line-height: 1.2; }
.owner__title { font-size: 13px; color: var(--vy-text-3); line-height: 1.2; }

/* BOTONES */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; font-family: var(--font-display); font-size: 15px; font-weight: 600; text-decoration: none; border-radius: var(--radius-md); cursor: pointer; transition: all var(--transition); border: none; }
.btn__icon { display: flex; }
.btn--header { background: transparent; color: var(--vy-text); border: 1px solid var(--vy-border-strong); padding: 10px 18px; }
.btn--header:hover { background: var(--vy-surface); }
.cta { display: block; width: 100%; max-width: 480px; margin: 0 auto 24px; padding: 18px 24px; background: var(--vy-blue); color: white; font-family: var(--font-display); font-size: clamp(16px,4vw,18px); font-weight: 700; text-align: center; text-decoration: none; border-radius: var(--radius-md); cursor: pointer; transition: all var(--transition); }
.cta:hover { background: var(--vy-blue-hover); transform: translateY(-1px); }
.cta:active { transform: translateY(0); }
.cta:focus-visible { outline: 3px solid rgba(59,130,246,0.3); outline-offset: 2px; }
.btn--whatsapp { background: var(--vy-green); color: white; padding: 16px 32px; font-size: 18px; width: 100%; max-width: 400px; margin: 0 auto; justify-content: center; }
.btn--whatsapp:hover { background: #20BA5A; transform: translateY(-2px); }

/* FAB WHATSAPP */
.floating-button-01 { position: fixed; bottom: 20px; right: 20px; width: 64px; height: 64px; z-index: 1000; cursor: pointer; transition: transform 0.2s ease; }
.floating-button-01:hover { transform: scale(1.1); }

/* STICKY COUNTDOWN */
.sticky-countdown { position: fixed; bottom: 0; left: 0; right: 0; z-index: 90; background: rgba(21,20,25,0.95); backdrop-filter: blur(12px); border-top: 1px solid var(--vy-accent); padding: 12px 0; transform: translateY(100%); opacity: 0; transition: all 0.3s ease; }
.sticky-countdown.visible { transform: translateY(0); opacity: 1; }
.sticky-countdown__content { display: flex; align-items: center; justify-content: center; gap: 16px; font-size: 14px; }
.sticky-countdown__label { color: var(--vy-text-3); font-weight: 600; }
.sticky-countdown__timer { font-family: var(--font-display); font-weight: 700; color: var(--vy-text); }

/* HERO */
.hero { min-height: 100vh; padding: calc(var(--space-80) + 80px) 0 var(--space-80); display: flex; align-items: center; background: radial-gradient(900px 520px at 18% 12%, var(--vy-wash-indigo), transparent 55%), radial-gradient(700px 480px at 82% 26%, var(--vy-wash-teal), transparent 60%), linear-gradient(180deg, var(--vy-bg), var(--vy-bg-2)); }
.hero__pretitle { font-size: clamp(13px,3.5vw,15px); color: var(--vy-text-3); text-align: center; margin-bottom: 16px; font-weight: 500; }
.hero__title { font-family: var(--font-display); font-size: clamp(38px,10vw,64px); font-weight: 800; text-align: center; line-height: 1.1; color: var(--vy-text); margin-bottom: 24px; letter-spacing: -0.02em; }
.hero__highlight { color: var(--vy-text); position: relative; }
.hero__highlight::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--vy-accent); }
.hero__subtitle { font-size: clamp(18px,5vw,24px); color: var(--vy-text-3); text-align: center; margin-bottom: 48px; }
.hero__video-wrapper { margin-bottom: 48px; max-width: 900px; margin-left: auto; margin-right: auto; }
@media (min-width: 1024px) { .hero__video-wrapper { max-width: 70%; } }
.video-container { position: relative; width: 100%; aspect-ratio: 16/9; background-color: var(--vy-surface); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--vy-border); }
.video-thumbnail { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video-play-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); cursor: pointer; transition: transform 0.3s ease; }
.video-play-button:hover { transform: translate(-50%, -50%) scale(1.1); }
#vimeoPlayer { position: absolute; inset: 0; display: none; }
#vimeoPlayer.active { display: block; }

/* OFERTA IMAGEN + CONTADOR */
.offer-image-wrapper { border: 1px solid var(--vy-accent); border-radius: var(--radius-lg); padding: 1px; margin-bottom: 32px; max-width: 560px; margin-left: auto; margin-right: auto; }
.offer-image-wrapper {
  background-color: #110b12;
  border-top-left-radius: var(--radius-lg);
  border-top-right-radius: var(--radius-lg);
}
/* Estilo para PC (Pantallas mayores a 1024px) */
@media (min-width: 1024px) {
  .offer-image-wrapper {
    background-color: #08070c;
  }
}
.offer-image { width: 100%; height: auto; border-top-left-radius: var(--radius-lg); border-top-right-radius: var(--radius-lg); margin-bottom: 24px; }
.countdown--inline { text-align: center; }
.countdown__label { font-size: 13px; color: var(--vy-text-3); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 16px; font-weight: 600; }
.countdown__timer { display: flex; justify-content: center; align-items: center; gap: 12px; }
.countdown__block { display: flex; flex-direction: column; align-items: center; }
.countdown__value { font-family: var(--font-display); font-size: clamp(32px,8vw,48px); font-weight: 800; color: var(--vy-text); line-height: 1; }
.countdown__unit { font-size: 12px; color: var(--vy-text-4); margin-top: 8px; }
.countdown__sep { font-size: clamp(32px,8vw,48px); font-weight: 700; color: var(--vy-text-3); }

/* TRUST BADGES IMAGEN */
.trust-badges-wrapper { text-align: center; }
.trust-badges-image { max-width: 400px; margin: 0 auto; }

/* SECTIONS */
.section { padding: var(--space-80) 0; }
@media (min-width: 768px) { .section { padding: var(--space-120) 0; } }
.section--bridge { background-color: var(--vy-bg-2); }
.section--problem { background-color: var(--vy-vignette); }
.section--system { background-color: var(--vy-bg); }
.section--steps { background-color: var(--vy-bg-2); }
.section--transformation { background-color: var(--vy-vignette); }
.section--bonos { background-color: var(--vy-bg); }
.section--faq { background-color: var(--vy-bg-2); }
.section--contacto { background-color: var(--vy-vignette); }
.section__header { text-align: center; margin-bottom: 32px; }
.section__badge { display: inline-block; font-size: 13px; font-weight: 600; color: var(--vy-text); text-transform: uppercase; letter-spacing: 0.1em; padding: 8px 16px; border: 1px solid var(--vy-border-strong); border-radius: 999px; margin-bottom: 16px; }
.section__title { font-family: var(--font-display); font-size: clamp(32px,8vw,56px); font-weight: 800; text-align: center; line-height: 1.1; color: var(--vy-text); margin-bottom: 16px; }
.section__subtitle { font-size: clamp(16px,4vw,18px); color: var(--vy-text-3); text-align: center; margin-bottom: 48px; max-width: 600px; margin-left: auto; margin-right: auto; }
.section__intro { font-size: clamp(16px,4vw,18px); color: var(--vy-text-2); text-align: center; margin-bottom: 48px; max-width: 700px; margin-left: auto; margin-right: auto; line-height: 1.6; }

/* BRIDGE */
.bridge-text { font-size: clamp(18px,4.5vw,22px); color: var(--vy-text-2); line-height: 1.6; margin-bottom: 24px; text-align: center; }
.bridge-text strong { color: var(--vy-text); font-weight: 700; }
.bridge-text--highlight { color: var(--vy-text); font-weight: 600; }
.bridge-text--final { color: var(--vy-text); font-weight: 800; font-size: clamp(22px,5vw,28px); margin-top: 32px; }

/* INFOGRAPHIC 100% MÓVIL */
.infographic-wrapper { margin: 48px -24px; width: calc(100% + 48px); }
.infographic { width: 100%; height: auto; border-radius: 0; border: none; display: block; }
@media (min-width: 768px) { 
  .infographic-wrapper { margin: 48px 0; width: 100%; }
  .infographic { max-width: 800px; margin-left: auto; margin-right: auto; border-radius: var(--radius-md); border: 1px solid var(--vy-border); } 
}

/* FAQ */
.faq-list { max-width: 700px; margin: 0 auto; }
.faq-item { background: var(--vy-surface); border: 1px solid var(--vy-border); border-radius: var(--radius-md); margin-bottom: 16px; overflow: hidden; }
.faq-item__question { width: 100%; padding: 20px 24px; background: transparent; border: none; color: var(--vy-text); font-family: var(--font-display); font-size: 18px; font-weight: 600; text-align: left; cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: all var(--transition); }
.faq-item__question::after { content: '+'; font-size: 24px; color: var(--vy-accent); transition: transform var(--transition); }
.faq-item__question:hover { background: var(--vy-surface-2); }
.faq-item.active .faq-item__question::after { transform: rotate(45deg); }
.faq-item__answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.faq-item.active .faq-item__answer { max-height: 500px; }
.faq-item__answer p { padding: 0 24px 20px; color: var(--vy-text-2); line-height: 1.6; }

/* VCARD */
.vcard { background: var(--vy-surface); border: 1px solid var(--vy-border); border-radius: var(--radius-lg); padding: 40px 32px; max-width: 500px; margin: 0 auto; text-align: center; }
.vcard__avatar { width: 100px; height: 100px; margin: 0 auto 16px; border-radius: 50%; overflow: hidden; border: 3px solid var(--vy-border-strong); }
.vcard__avatar img { width: 100%; height: 100%; object-fit: cover; }
.vcard__name { font-family: var(--font-display); font-size: 24px; font-weight: 700; color: var(--vy-text); margin-bottom: 8px; }
.vcard__phone { font-size: 18px; color: var(--vy-text-2); margin-bottom: 24px; }
.vcard__pitch { font-size: 16px; color: var(--vy-text-2); line-height: 1.6; margin-bottom: 32px; }
.vcard__pitch strong { color: var(--vy-text); }
.vcard__fineprint { font-size: 13px; color: var(--vy-text-4); margin-top: 16px; }

/* FOOTER */
.site-footer { background-color: var(--vy-bg); padding: 48px 0 32px; border-top: 1px solid var(--vy-border); }
.site-footer__grid { display: grid; gap: 32px; }
@media (min-width: 768px) { .site-footer__grid { grid-template-columns: 2fr 1fr; gap: 48px; } }
.footer__brand { font-family: var(--font-display); font-size: 24px; font-weight: 800; color: var(--vy-text); margin-bottom: 16px; }
.footer__compliance { color: var(--vy-text-4); font-size: 13px; line-height: 1.6; }
.footer__compliance p { margin-bottom: 12px; }
.footer__right { text-align: left; }
@media (min-width: 768px) { .footer__right { text-align: right; } }
.footer__copy { color: var(--vy-text-2); font-size: 14px; margin-bottom: 8px; }
.footer__meta { color: var(--vy-text-4); font-size: 13px; }
.footer__meta a { color: var(--vy-text-3); text-decoration: none; }
.footer__meta a:hover { color: var(--vy-text); text-decoration: underline; }
.trust-badges-image{max-width:100%;height:auto;display:block;}

