/* Lorell Morales: CSS compartido entre la home (version-c.html) y /disena-tu-2027.
   Movido sin cambios desde los <style> de ambas páginas (2026-11-10). Las reglas propias de cada página
   siguen en su <style>, que carga después de este archivo. */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

    :root {
      /* ---- Brand Colors (magenta palette from v-b) ---- */
      --pink: #de0078;
      --pink-dark: #b80063;
      --pink-light: #e84da2;
      --pink-glow: rgba(222,0,120,0.15);
      --lavender: #f0c4d8;
      --orchid: #9b4d7d;
      --teal: #73d5da;
      --gold: #f2c452;
      --blush: #e9d8d6;

      /* ---- Neutrals (magenta-tinted) ---- */
      --dark: #3a0a2e;
      --dark-soft: #4d1040;
      --white: #fefefe;
      --bg-light: #fdf8fa;
      --bg-section: #f8eef3;

      /* ---- Fonts ---- */
      --font-condensed: 'Bebas Neue', Impact, 'Arial Narrow', sans-serif;
      --font-display: 'Playfair Display', Georgia, serif;
      --font-body: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
      --font-caption: 'Montserrat', sans-serif;
    }

    ::selection {
      background: var(--pink);
      color: var(--white);
    }

    html {
      scroll-behavior: smooth;
      -webkit-text-size-adjust: 100%;
    }

    body {
      font-family: var(--font-body);
      color: var(--dark);
      background: var(--bg-light);
      line-height: 1.6;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      padding-top: 96px;
    }

    img {
      max-width: 100%;
      height: auto;
      display: block;
    }

    a {
      text-decoration: none;
      color: inherit;
      transition: color 0.25s ease;
    }
    a:focus-visible,
    button:focus-visible,
    input:focus-visible,
    textarea:focus-visible,
    select:focus-visible {
      outline: 2px solid var(--pink);
      outline-offset: 3px;
    }

    /* Smooth scroll offset for fixed navbar */
    [id] {
      scroll-margin-top: 96px;
    }

    /* Skip link */
    .skip-link {
      position: absolute;
      top: -100%;
      left: 16px;
      z-index: 200;
      padding: 12px 24px;
      background: var(--dark);
      color: var(--white);
      font-family: var(--font-body);
      font-size: 14px;
      font-weight: 600;
      border-radius: 0 0 8px 8px;
      transition: top 0.2s ease;
    }
    .skip-link:focus {
      top: 0;
    }

    /* ===== NAVBAR ===== */
    .nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      background: rgba(250,248,252,0.92);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid transparent;
      transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }
    .nav.scrolled {
      border-bottom-color: rgba(222,0,120,0.12);
      box-shadow: 0 2px 24px rgba(26,26,46,0.06);
    }
    .nav-inner {
      max-width: 1360px;
      margin: 0 auto;
      padding: 0 20px;
      height: 96px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .nav-brand {
      display: flex;
      align-items: center;
      gap: 14px;
    }
    .nav-logo {
      height: 72px;
      width: auto;
    }
    .nav-brand-divider {
      width: 1.5px;
      height: 42px;
      background: var(--orchid);
      opacity: 0.35;
    }
    .nav-brand-text {
      font-family: var(--font-caption);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 4px;
      text-transform: uppercase;
      color: var(--orchid);
    }
    .nav-links {
      display: none;
      gap: 36px;
      list-style: none;
    }
    .nav-links a {
      font-family: var(--font-caption);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      color: var(--orchid);
      transition: color 0.25s ease;
      position: relative;
    }
    .nav-links a::after {
      content: '';
      position: absolute;
      bottom: -4px;
      left: 0;
      width: 0;
      height: 2px;
      background: var(--pink);
      transition: width 0.3s ease;
    }
    .nav-links a:hover {
      color: var(--dark);
    }
    .nav-links a:hover::after {
      width: 100%;
    }
    .nav-cta {
      display: none;
      font-family: var(--font-caption);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 2px;
      text-transform: uppercase;
      padding: 14px 28px;
      border: 2px solid var(--pink);
      color: var(--pink);
      transition: all 0.3s ease;
      cursor: pointer;
      background: none;
    }
    .nav-cta:hover {
      background: var(--pink);
      color: var(--white);
    }

    /* Mobile nav toggle */
    .nav-toggle {
      display: block;
      background: none;
      border: none;
      cursor: pointer;
      width: 44px;
      height: 44px;
      position: relative;
      z-index: 110;
    }
    .nav-toggle span {
      display: block;
      width: 24px;
      height: 2px;
      background: var(--dark);
      margin: 6px auto;
      transition: all 0.3s ease;
    }
    .nav-toggle.active span:nth-child(1) {
      transform: rotate(45deg) translate(5px, 6px);
    }
    .nav-toggle.active span:nth-child(2) {
      opacity: 0;
    }
    .nav-toggle.active span:nth-child(3) {
      transform: rotate(-45deg) translate(5px, -6px);
    }

    .mobile-menu {
      position: fixed;
      top: 0;
      right: -100%;
      width: 80%;
      max-width: 320px;
      height: 100vh;
      height: 100dvh;
      background: var(--dark);
      z-index: 105;
      transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      padding: 100px 40px 40px;
    }
    .mobile-menu.open {
      right: 0;
    }
    .mobile-menu a {
      display: flex;
      align-items: center;
      min-height: 48px;
      font-family: var(--font-condensed);
      font-size: 42px;
      letter-spacing: 3px;
      color: var(--bg-light);
      margin-bottom: 12px;
      text-transform: uppercase;
      opacity: 0;
      transform: translateX(30px);
      transition: opacity 0.3s ease, transform 0.3s ease, color 0.2s ease;
    }
    .mobile-menu.open a {
      opacity: 1;
      transform: translateX(0);
    }
    .mobile-menu.open a:nth-child(1) { transition-delay: 0.1s }
    .mobile-menu.open a:nth-child(2) { transition-delay: 0.15s }
    .mobile-menu.open a:nth-child(3) { transition-delay: 0.2s }
    .mobile-menu.open a:nth-child(4) { transition-delay: 0.25s }
    .mobile-menu a:hover { color: var(--lavender) }

    .mobile-menu-social {
      position: absolute;
      bottom: 40px;
      left: 40px;
    }
    .mobile-menu-social a {
      font-family: var(--font-body);
      font-size: 13px;
      font-weight: 400;
      letter-spacing: 1px;
      color: var(--orchid);
      margin-bottom: 8px;
    }

    .mobile-overlay {
      position: fixed;
      inset: 0;
      background: rgba(26,26,46,0.5);
      z-index: 102;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease;
    }
    .mobile-overlay.visible {
      opacity: 1;
      pointer-events: auto;
    }

.section-tag {
      font-family: var(--font-display);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 4px;
      text-transform: uppercase;
      color: var(--pink);
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
    }
    .section-tag::before {
      content: '';
      width: 28px;
      height: 2px;
      background: var(--lavender);
    }
    .section-tag--left {
      justify-content: flex-start;
    }

.footer {
      background: var(--dark);
      padding: 0 20px 32px;
    }
    .footer-inner {
      max-width: 1360px;
      margin: 0 auto;
      padding-top: 72px;
    }
    .footer-top {
      display: flex;
      flex-direction: column;
      gap: 48px;
      margin-bottom: 56px;
    }
    .footer-brand-logo {
      height: 80px;
      width: auto;
      margin-bottom: 20px;
    }
    .footer-tagline {
      font-family: var(--font-body);
      font-size: 14px;
      font-weight: 400;
      color: rgba(240,196,216,0.55);
      margin-bottom: 24px;
      line-height: 1.75;
      max-width: 380px;
    }
    .footer-social {
      display: flex;
      gap: 12px;
    }
    .footer-social a {
      width: 44px;
      height: 44px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      border: 1.5px solid rgba(240,196,216,0.25);
      color: var(--lavender);
      transition: all 0.3s ease;
    }
    .footer-social a:hover {
      border-color: var(--pink);
      background: var(--pink);
      color: var(--white);
    }
    .footer-social a svg {
      width: 20px;
      height: 20px;
      stroke: currentColor;
      stroke-width: 1.5;
    }
    .footer-col-title {
      font-family: var(--font-caption);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: rgba(240,196,216,0.6);
      margin-bottom: 16px;
    }
    .footer-links {
      list-style: none;
    }
    .footer-links li {
      margin-bottom: 10px;
    }
    .footer-links a {
      font-family: var(--font-body);
      font-size: 14px;
      font-weight: 400;
      color: rgba(240,196,216,0.72);
      transition: color 0.25s ease;
    }
    .footer-links a:hover {
      color: var(--white);
    }
    .footer-cert-list {
      list-style: none;
    }
    .footer-cert-list li {
      font-family: var(--font-body);
      font-size: 12px;
      font-weight: 400;
      color: rgba(240,196,216,0.6);
      padding: 7px 0;
      border-bottom: 1px solid rgba(240,196,216,0.08);
    }
    .footer-bottom {
      border-top: 1px solid rgba(240,196,216,0.08);
      padding-top: 24px;
      display: flex;
      flex-direction: column;
      gap: 16px;
      text-align: center;
      align-items: center;
    }
    .footer-copy {
      font-family: var(--font-caption);
      font-size: 11px;
      font-weight: 400;
      color: rgba(240,196,216,0.45);
    }
    .footer-copy a {
      color: var(--lavender);
      transition: color 0.25s ease;
    }
    .footer-copy a:hover {
      color: var(--pink-light);
    }
    .footer-back-top {
      width: 44px;
      height: 44px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1.5px solid rgba(240,196,216,0.15);
      color: var(--lavender);
      transition: all 0.3s ease;
      cursor: pointer;
      background: none;
    }
    .footer-back-top:hover {
      border-color: var(--pink);
      background: var(--pink);
      color: var(--white);
    }
    .footer-back-top svg {
      width: 18px;
      height: 18px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
    }
    .footer-agency {
      font-family: var(--font-caption);
      font-size: 11px;
      font-weight: 400;
      color: rgba(240,196,216,0.35);
      letter-spacing: 0.5px;
    }
    .footer-agency a {
      color: var(--pink-light);
      font-weight: 600;
      transition: color 0.25s ease;
    }
    .footer-agency a:hover {
      color: var(--white);
    }

/* ===== EVENTO: hero ===== */
    .event-hero{--nav:96px;position:relative;overflow:hidden;background:var(--dark);color:var(--white);isolation:isolate}
    .event-photo{position:relative;height:clamp(170px,27svh,300px);overflow:hidden;mix-blend-mode:lighten;-webkit-mask-image:linear-gradient(black 60%,transparent 96%),linear-gradient(90deg,transparent 0,black 20%,black 80%,transparent 100%);mask-image:linear-gradient(black 60%,transparent 96%),linear-gradient(90deg,transparent 0,black 20%,black 80%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
    .event-photo img{position:absolute;top:0;left:60%;height:150%;width:auto;max-width:none;transform:translateX(-56%)}
    .event-inner{position:relative;z-index:1;max-width:1360px;margin:-14px auto 0;padding:0 20px 28px}
    .event-title{font-family:var(--font-condensed);font-weight:400;text-transform:uppercase;line-height:.85;letter-spacing:1px;font-size:clamp(2.8rem,max(min(13vw,5.6rem),6.4vw),6.4rem)}
    .event-title .serif{font-family:var(--font-display);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;color:var(--lavender)}
    .event-yr{display:block;color:var(--gold);font-size:min(4.1em,27svh);line-height:.8;letter-spacing:0;margin-left:-.02em}
    .event-lede{font-family:var(--font-body);font-weight:400;font-size:15px;line-height:1.55;max-width:27em;text-wrap:balance;margin:16px 0 10px;color:color-mix(in srgb,var(--white) 92%,transparent)}
    .event-when{font-family:var(--font-caption);font-size:12px;font-weight:600;letter-spacing:.4px;line-height:1.6;color:var(--gold);margin-bottom:18px;max-width:30em}
    .event-when>span{display:block}
    .event-when .nw{display:inline;white-space:nowrap}
    .event-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}
    .event-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 18px;font-family:var(--font-caption);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;border:2px solid var(--pink-dark);background:var(--pink-dark);color:var(--white);transition:background .25s ease,border-color .25s ease}
    .event-btn:hover{background:var(--pink);border-color:var(--pink)}
    .event-more{font-family:var(--font-caption);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}
    .event-note{flex-basis:100%;font-family:var(--font-caption);font-weight:400;font-size:12px;line-height:1.5;color:color-mix(in srgb,var(--white) 80%,transparent)}
    @media (min-width:600px){
      .event-photo{height:clamp(260px,36svh,420px)}
      .event-photo img{left:66%;height:130%}
      .event-inner{padding:0 32px 44px;margin-top:-40px}
      .event-lede{font-size:16px}
      .event-when{font-size:13px}
    }
    @media (min-width:900px) and (min-aspect-ratio:11/10){
      .event-hero{display:flex;align-items:center;height:clamp(540px,calc(100svh - var(--nav)),820px)}
      .event-photo{position:absolute;inset:0;height:auto;-webkit-mask-composite:source-over;mask-composite:add;-webkit-mask-image:linear-gradient(90deg,transparent 34%,black 50%);mask-image:linear-gradient(90deg,transparent 34%,black 50%)}
      .event-photo img{left:auto;right:0;height:100%;transform:translateX(var(--shift,13%))}
      .event-inner{width:100%;margin-top:0;padding:calc(var(--nav) - 72px) 32px 0}
      .event-inner>*{max-width:min(44vw,560px)}
      .event-yr{font-size:min(4.1em,calc((100svh - 96px) * .42),26vw,340px)}
      .event-lede{margin:22px 0 10px}
    }
    @media (min-width:1024px){.event-hero{--nav:121px}}
    @media (min-width:900px) and (max-width:1023px){.event-hero{--shift:17%}}
    @media (min-width:1280px){.event-hero{--shift:7%}.event-inner{padding-left:72px}}
    @media (min-width:1600px) and (min-aspect-ratio:11/10){
      .event-photo{left:50%;right:auto;width:1440px;transform:translateX(-50%);-webkit-mask-image:linear-gradient(90deg,transparent 34%,black 50%,black 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 34%,black 50%,black 92%,transparent 100%)}
      .event-photo img{right:0;top:0}
      .event-inner{max-width:1440px}
    }

/* ===== RESPONSIVE (Fase A, 2026-11-10): contenedor único, menú móvil accesible, objetivos táctiles ===== */
:root{
  --gutter:clamp(20px,5vw,72px);
  --wrap:min(100% - 2*var(--gutter),clamp(1360px,74vw,1680px));
}
.nav-inner,.footer-inner,.event-inner{max-width:none;width:var(--wrap);margin-inline:auto;padding-inline:0}
.footer{padding-inline:0}

/* menú móvil: desplazable, redes en flujo, correo sin recorte */
.mobile-menu{display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;
  width:min(86vw,360px);max-width:none;
  padding:calc(96px + env(safe-area-inset-top,0px)) clamp(24px,8vw,40px) calc(28px + env(safe-area-inset-bottom,0px))}
.mobile-menu>a{font-size:clamp(30px,min(10.5vw,7.2svh),42px);min-height:48px;margin-bottom:clamp(4px,1.4svh,12px);flex:none}
.mobile-menu-social{position:static;margin-top:auto;padding-top:24px}
.mobile-menu-social a{font-size:14px;letter-spacing:.3px;overflow-wrap:anywhere;min-height:44px;margin-bottom:0;color:var(--lavender)}

/* objetivos táctiles de enlaces de texto (solo punteros gruesos) */
@media (pointer:coarse){
  .footer-links a,.footer-copy a,.footer-agency a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
  .footer-links li{margin-bottom:0}
  .nav-links a{display:inline-flex;align-items:center;min-height:44px}
  .nav-links a::after{bottom:8px}
}

/* pisos tipográficos */
.footer-cert-list li{font-size:14px}
.footer-copy,.footer-agency{font-size:12px}
.event-note,.event-when{font-size:clamp(12px,.7rem + .2vw,14px)}

/* ===== IDIOMA (Fase B, 2026-11-11): selector en el footer y en el menú móvil, aviso de idioma automático, glosa y nota del formulario EN ===== */
.lang{display:inline-flex;align-items:baseline;gap:14px}
.lang a{position:relative;display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0 2px;
  font-family:var(--font-display);font-style:italic;font-size:17px;color:color-mix(in srgb,var(--lavender) 72%,transparent);transition:color .25s ease}
.lang a::after{content:'';position:absolute;left:0;right:0;bottom:9px;height:2px;background:var(--pink);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.lang a:hover{color:var(--white)}
.lang a:hover::after{transform:scaleX(1)}
.lang a[aria-current]{font-family:var(--font-condensed);font-style:normal;font-size:19px;letter-spacing:2.5px;text-transform:uppercase;color:var(--white)}
.lang a[aria-current]::after{transform:scaleX(1);background:var(--gold)}
.lang i{font-family:var(--font-display);font-style:normal;font-size:15px;color:color-mix(in srgb,var(--lavender) 30%,transparent)}
@media (min-width:768px){.footer-bottom{flex-wrap:wrap;column-gap:24px;row-gap:12px}}
.mobile-menu .lang{display:flex;margin-top:12px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--lavender) 24%,transparent);flex:none}
.mobile-menu .lang a{opacity:1;transform:none;min-height:44px;margin-bottom:0;font-size:17px;letter-spacing:0;text-transform:none;font-family:var(--font-display);font-style:italic;color:color-mix(in srgb,var(--lavender) 80%,transparent)}
.mobile-menu .lang a[aria-current]{font-family:var(--font-condensed);font-style:normal;font-size:19px;letter-spacing:2.5px;text-transform:uppercase;color:var(--white)}

@media (prefers-reduced-motion:reduce){.lang a,.lang a::after{transition:none}}

.event-gloss{font-family:var(--font-display);font-style:italic;font-size:clamp(17px,1.05rem + .3vw,22px);line-height:1.2;color:var(--lavender);margin:10px 0 0}
.form-note{margin-top:10px;font-family:var(--font-caption);font-size:14px;line-height:1.5;color:var(--orchid)}
@media (pointer:coarse){.nav-links a{min-width:44px;justify-content:center}}
.guide p{max-width:72ch}

/* ===== Mini formulario de WhatsApp (propuesta corporativa) ===== */
.wa-panel[hidden]{display:none}
.wa-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .3s ease,opacity .25s ease}
.wa-panel.is-open{grid-template-rows:1fr;opacity:1}
.wa-panel-in{min-height:0;overflow:hidden;padding:4px;margin:-4px}
button.reach-main{width:100%;text-align:left;cursor:pointer}
.reach-main[aria-expanded] svg{transform:none}
.reach-main[aria-expanded="true"] svg{transform:rotate(180deg)}
.btn[aria-expanded]{width:100%}
.wa-form{--wa-fg:var(--dark);--wa-mut:var(--orchid);--wa-line:color-mix(in srgb,var(--pink) 30%,transparent);--wa-field:var(--bg-light);--wa-on:var(--pink-dark);--wa-bubble:var(--bg-section);--wa-err:var(--pink-dark);--wa-focus:var(--pink-dark);
  display:grid;gap:16px;margin-top:16px;color:var(--wa-fg);font-family:var(--font-body)}
.corp .wa-form{--wa-fg:var(--white);--wa-mut:color-mix(in srgb,var(--white) 78%,transparent);--wa-line:color-mix(in srgb,var(--lavender) 38%,transparent);--wa-field:var(--dark-soft);--wa-bubble:var(--dark-soft);--wa-err:var(--lavender);--wa-focus:var(--gold)}
.wa-field{display:grid;gap:6px;min-width:0}
.wa-field>label,.wa-lbl{font-family:var(--font-caption);font-size:14px;font-weight:600;letter-spacing:.2px;color:var(--wa-fg)}
.wa-field input[type=text],.wa-field input[type=email],.wa-field input[type=tel],.wa-field input[type=number],.wa-field textarea{
  width:100%;min-height:48px;padding:12px 14px;font:500 16px/1.4 var(--font-body);color:var(--wa-fg);background:var(--wa-field);
  border:1.5px solid var(--wa-line);border-radius:0;appearance:none;-webkit-appearance:none}
.wa-field textarea{min-height:96px;resize:vertical}
.wa-field input[aria-invalid="true"],.wa-field [role=radiogroup][aria-invalid="true"]{border-color:var(--wa-err)}
.wa-field [role=radiogroup][aria-invalid="true"]{outline:1.5px solid var(--wa-err);outline-offset:4px}
.wa-form :focus-visible{outline:2px solid var(--wa-focus);outline-offset:2px}
.wa-err{font-size:14px;line-height:1.4;font-weight:500;color:var(--wa-err)}
.wa-err:empty{display:none}
.wa-chips{display:flex;flex-wrap:wrap;gap:8px}
.wa-chip{position:relative;display:inline-flex;max-width:100%;min-height:44px}
.wa-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.wa-chip span{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;max-width:100%;
  font-family:var(--font-caption);font-size:14px;font-weight:600;line-height:1.3;color:var(--wa-fg);border:1.5px solid var(--wa-line);
  transition:background .2s ease,border-color .2s ease,color .2s ease}
.wa-chip input:hover+span{border-color:var(--wa-focus)}
.wa-chip input:checked+span{background:var(--wa-on);border-color:var(--wa-on);color:var(--white)}
.wa-chip input:focus-visible+span{outline:2px solid var(--wa-focus);outline-offset:2px}
.wa-more{justify-self:start;min-height:44px;padding:0;background:none;border:0;cursor:pointer;color:var(--wa-fg);
  font-family:var(--font-caption);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.wa-step{display:inline-flex;align-items:stretch;max-width:100%}
.wa-step button{flex:none;width:48px;min-height:48px;background:var(--wa-field);color:var(--wa-fg);border:1.5px solid var(--wa-line);cursor:pointer;font:500 22px/1 var(--font-body)}
.wa-step button:hover{border-color:var(--wa-focus)}
.wa-step input[type=number]{width:72px!important;text-align:center;border-left:0!important;border-right:0!important;-moz-appearance:textfield;appearance:textfield}
.wa-step input::-webkit-outer-spin-button,.wa-step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.wa-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--wa-line);border-bottom:1px solid var(--wa-line)}
.wa-total span{font-family:var(--font-caption);font-size:14px;font-weight:600}
.wa-total strong{font-family:var(--font-caption);font-size:1.6rem;font-weight:600;line-height:1}
.wa-hint{font-size:14px;line-height:1.5;color:var(--wa-mut)}
.wa-preview{display:grid;gap:8px}
.wa-preview-k{font-family:var(--font-caption);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--wa-mut)}
.wa-bubble{padding:12px 14px;background:var(--wa-bubble);border:1px solid var(--wa-line);border-radius:14px 14px 14px 2px;
  font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--wa-fg)}
.wa-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.wa-send{flex:1 1 220px}
.wa-send[aria-disabled="true"]{opacity:.6}
.wa-close{min-height:44px;min-width:44px;padding:0 8px;background:none;border:0;cursor:pointer;color:var(--wa-mut);
  font-family:var(--font-caption);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.wa-status{font-size:14px;line-height:1.4;font-weight:600;color:var(--wa-err)}
.wa-status:empty{display:none}
.wa-alt a{color:inherit;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
@media (prefers-reduced-motion:reduce){.wa-panel,.wa-chip span{transition:none}}
.wa-form input,.wa-form textarea,.wa-form button,.wa-chip{scroll-margin-top:136px;scroll-margin-bottom:24px}
@media (pointer:coarse){.wa-alt a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}}

/* ===== Inscripción unificada (evento): 3 pasos en la misma vista ===== */
.ins{--wa-fg:var(--dark);--wa-mut:var(--orchid);--wa-line:color-mix(in srgb,var(--pink) 30%,transparent);--wa-field:var(--bg-light);--wa-on:var(--pink-dark);--wa-bubble:var(--bg-section);--wa-err:var(--pink-dark);--wa-focus:var(--pink-dark);background:var(--white);border:1px solid color-mix(in srgb,var(--pink) 18%,transparent);padding:28px 20px;margin-top:20px;scroll-margin-top:96px;min-width:0}
.ins-title{font-family:var(--font-caption);font-size:clamp(19px,1rem + .6vw,24px);font-weight:600;letter-spacing:.2px;color:var(--dark);outline:0}
.ins-lead{margin-top:6px;font-size:15px;line-height:1.55;color:var(--orchid);max-width:40em}
.ins .wa-form{margin-top:24px}
.ins-steps{display:grid;gap:32px}
.ins-step{display:grid;gap:16px;align-content:start;min-width:0}
.ins-step-h{display:flex;align-items:center;gap:12px;font-family:var(--font-caption);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--orchid);padding-bottom:12px;border-bottom:1px solid var(--wa-line)}
.ins-n{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;background:var(--dark);color:var(--white);font-size:13px;letter-spacing:0}
.ins-company{display:grid;gap:16px;padding:16px;background:var(--bg-section);border-left:4px solid var(--gold)}
.ins-foot{display:grid;gap:20px;padding-top:24px;border-top:1px solid var(--wa-line)}
.ins-send-box{display:grid;gap:12px;align-content:start}
.ins-check{position:relative;display:flex;align-items:flex-start;gap:14px;min-height:44px;cursor:pointer}
.ins-check input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ins-box{flex:none;width:28px;height:28px;margin-top:8px;border:1.5px solid var(--wa-line);background:var(--wa-field);display:grid;place-items:center}
.ins-check input:checked~.ins-box{background:var(--wa-on);border-color:var(--wa-on)}
.ins-check input:checked~.ins-box::after{content:"";width:6px;height:12px;border:solid var(--white);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
.ins-check input:focus-visible~.ins-box{outline:2px solid var(--wa-focus);outline-offset:2px}
.ins-check input[aria-invalid="true"]~.ins-box{border-color:var(--wa-err);outline:1.5px solid var(--wa-err);outline-offset:2px}
.ins-check-t{font-size:15px;line-height:1.5;padding:10px 0}
.ins-send-box .wa-total{margin:0}
.ins-send-box .wa-send{flex:none;width:100%}
.ins-form{position:relative}
.ins-hp input{width:1px;height:1px;padding:0;border:0}
.ins-hp{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none;white-space:nowrap}
.ins-fail{display:grid;gap:12px;padding:16px;border:1.5px solid var(--wa-err);background:var(--bg-light)}
.ins-fail p:first-child{font-weight:600;font-size:15px;line-height:1.5;color:var(--wa-err)}
.ins-fail-links{display:flex;flex-wrap:wrap;gap:8px 12px}
.ins-fail-links .btn{flex:1 1 220px}
.ins-done{display:grid;gap:16px;margin-top:24px;padding-top:4px;max-width:44em}
.ins-done .wa-actions{margin-top:4px}
.wa-chip b{font-weight:inherit}
.ins-nojs a{text-decoration:underline;text-underline-offset:4px;font-weight:600}
@media (min-width:700px){
  .ins{padding:36px 32px}
  .ins-steps{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
  .ins-step--opt{grid-column:1/-1}
}
@media (min-width:1100px){
  .ins{padding:44px 40px}
  .ins-steps{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px}
  .ins-step--opt{grid-column:auto}
  .ins-foot{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:40px;align-items:start}
}
@media (pointer:coarse){.ins-nojs a{display:inline-flex;align-items:center;min-height:44px}}

/* ===== PRIVACIDAD (2026-11-12): línea de aceptación junto a los formularios y enlace del pie ===== */
.lm-consent{font-family:var(--font-caption);font-size:13px;line-height:1.5;margin-top:12px;text-align:left;color:color-mix(in srgb,var(--dark) 85%,transparent)}
.lm-consent a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.lm-consent a:hover,.lm-consent a:focus-visible{color:var(--pink-dark)}
.corp .lm-consent{color:color-mix(in srgb,var(--white) 82%,transparent)}
.corp .lm-consent a:hover,.corp .lm-consent a:focus-visible{color:var(--white)}

/* ===== PIE LEGAL (2026-11-12): dos renglones apilados y centrados, sin separadores ===== */
.footer-copy{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:rgba(240,196,216,0.78)}
.footer-copy a{display:inline-flex;align-items:center;min-height:32px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.footer-copy a:hover,.footer-copy a:focus-visible{color:var(--pink-light)}
.footer-copy a:focus-visible{outline:2px solid var(--pink-light);outline-offset:3px}
@media (min-width:768px){.footer-copy{align-items:flex-start;text-align:left}}
