/* TEAM SERE V15 · botones. Referencia: «Expanding Arrow Button» y «Motion Button» de 21st.dev,
   adaptados a la marca (tinta, papel y verde) y sin React.
   .cta        principal: píldora con cuadro verde y flecha de puntos; con ratón, el cuadro se abre en estela.
   .text-link  secundario: píldora con círculo y flecha; con ratón, el círculo se abre y la llena.
   Todas las flechas son SVG: en iPhone la flecha de texto salía como emoji azul. */
body.theme-unified{--c-ink:#121612;--c-paper:#f4f6ee;--c-green:#86bb56;--c-lime:#b3dd78;--c-ease:cubic-bezier(.22,1,.36,1)}

/* ── Principal ─────────────────────────────────────────────────────────────── */
body.theme-unified .cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:flex-start;gap:0;
 min-width:240px;height:58px;min-height:58px;padding:6px 26px 6px 6px;border:0;border-radius:20px;overflow:hidden;
 background:var(--c-ink);color:var(--c-paper);font:600 15px/1 DM,system-ui,sans-serif;letter-spacing:-.01em;text-decoration:none;
 box-shadow:0 1px 0 #ffffff12 inset,0 10px 24px #12161226;transform:none;cursor:pointer;-webkit-tap-highlight-color:transparent;
 transition:transform .18s var(--c-ease),box-shadow .25s}
body.theme-unified .cta>.cta-tile{position:absolute;z-index:1;left:6px;top:6px;bottom:6px;display:block;width:46px;height:auto;flex:none;margin:0;padding:0;
 border:0;border-radius:15px;background:var(--c-lime);color:var(--c-ink);overflow:hidden;font-size:0;transform:none;
 transition:width .5s var(--c-ease),background .25s}
body.theme-unified .cta .cta-chev{position:absolute;inset:0;margin:auto;width:13px;height:18px;fill:currentColor;transition:opacity .12s}
body.theme-unified .cta .cta-refresh{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
body.theme-unified .cta .cta-trail{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-around;padding:0 14px;opacity:0;transition:opacity .15s}
body.theme-unified .cta .cta-trail svg{position:static;margin:0;width:13px;height:18px;fill:currentColor;transform:translateX(-6px);transition:transform .2s var(--c-ease),opacity .2s}
body.theme-unified .cta .cta-trail svg:nth-child(2){opacity:.78;transition-delay:.03s}
body.theme-unified .cta .cta-trail svg:nth-child(3){opacity:.54;transition-delay:.06s}
body.theme-unified .cta .cta-trail svg:nth-child(4){opacity:.32;transition-delay:.09s}
body.theme-unified .cta .cta-trail svg:nth-child(5){opacity:.16;transition-delay:.12s}
body.theme-unified .cta>.cta-label{position:relative;z-index:0;display:block;width:auto;height:auto;flex:1 1 auto;margin:0 0 0 64px;padding:0;
 border:0;border-radius:0;background:none;color:inherit;font:inherit;white-space:nowrap;text-align:left;transform:none;
 transition:opacity .14s,transform .14s}
body.theme-unified .cta:active{transform:scale(.97)}
body.theme-unified .cta:active>.cta-tile{background:#c8ea96}
body.theme-unified .cta:focus-visible{outline:2px solid var(--c-lime);outline-offset:3px}
@media (hover:hover) and (pointer:fine){
 body.theme-unified .cta:hover{box-shadow:0 1px 0 #ffffff14 inset,0 14px 30px #1216122e;transform:none}
 body.theme-unified .cta:hover>.cta-tile,body.theme-unified .cta:focus-visible>.cta-tile{width:calc(100% - 12px)}
 body.theme-unified .cta:hover .cta-tile>.cta-chev,body.theme-unified .cta:focus-visible .cta-tile>.cta-chev{opacity:0}
 body.theme-unified .cta:hover .cta-trail,body.theme-unified .cta:focus-visible .cta-trail{opacity:1}
 body.theme-unified .cta:hover .cta-trail svg,body.theme-unified .cta:focus-visible .cta-trail svg{transform:none}
 body.theme-unified .cta:hover>.cta-label,body.theme-unified .cta:focus-visible>.cta-label{opacity:0;transform:translateX(8px)}
}

/* Sobre fondo oscuro (portada, ficha de be24FIT, contacto): píldora clara con cuadro verde. */
body.theme-unified .unified-hero .cta,body.theme-unified .gym-arrival .cta,body.theme-unified .contact-section .cta,
body.theme-unified .inner-hero.is-dark .cta{background:var(--c-paper);color:var(--c-ink);box-shadow:0 12px 30px #0000004d}
body.theme-unified .unified-hero .cta>.cta-tile,body.theme-unified .gym-arrival .cta>.cta-tile,body.theme-unified .contact-section .cta>.cta-tile{background:var(--c-green)}

/* Contorno: dentro de tarjetas claras. */
body.theme-unified .cta.cta--ghost{background:transparent;color:var(--c-ink);box-shadow:inset 0 0 0 1.5px #1216122e}
body.theme-unified .cta.cta--ghost>.cta-tile{background:#e3eed4}
@media (hover:hover) and (pointer:fine){body.theme-unified .cta.cta--ghost:hover>.cta-tile{background:var(--c-lime)}}

/* Pequeño: cabecera. */
body.theme-unified .site-header .cta.cta--sm{min-width:0;height:46px;min-height:46px;padding:5px 18px 5px 5px;border-radius:16px;font-size:13px;
 background:var(--c-lime);color:var(--c-ink);box-shadow:none}
body.theme-unified .site-header .cta.cta--sm>.cta-tile{left:5px;top:5px;bottom:5px;width:36px;border-radius:12px;background:var(--c-ink);color:var(--c-lime)}
body.theme-unified .site-header .cta.cta--sm>.cta-label{margin-left:48px}
@media (hover:hover) and (pointer:fine){body.theme-unified .site-header .cta.cta--sm:hover>.cta-tile{width:calc(100% - 10px)}}

/* Tamaños y anchos por sitio. */
body.theme-unified .appointment-drawer .cta,body.theme-unified .google-summary .cta{min-width:0}
body.theme-unified .appointment-drawer .cta{width:100%}
body.theme-unified .booking-state .cta{min-width:0}

/* ── Secundario ────────────────────────────────────────────────────────────── */
body.theme-unified .text-link{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:0;min-height:48px;padding:5px 20px 5px 5px;
 border:0;border-radius:999px;background:#12161210;color:var(--c-ink);font:600 13px/1.2 DM,system-ui,sans-serif;letter-spacing:-.005em;text-decoration:none;
 overflow:hidden;-webkit-tap-highlight-color:transparent;transition:transform .18s var(--c-ease)}
body.theme-unified .text-link>.lnk-dot{position:absolute;z-index:0;left:5px;top:5px;bottom:5px;display:block;width:38px;height:auto;flex:none;margin:0;padding:0;
 border:0;border-radius:999px;background:var(--c-ink);color:var(--c-paper);font-size:0;transition:width .45s var(--c-ease)}
body.theme-unified .text-link .i-arrow{position:absolute;left:11px;top:50%;width:16px;height:16px;margin-top:-8px;transition:transform .3s var(--c-ease)}
body.theme-unified .text-link>.lnk-label{position:relative;z-index:1;display:block;width:auto;height:auto;flex:1 1 auto;margin:0 0 0 48px;padding:0;
 border:0;border-radius:0;background:none;color:inherit;font:inherit;white-space:nowrap;transition:color .3s}
body.theme-unified .text-link:active{transform:scale(.97)}
body.theme-unified .text-link:hover>span,body.theme-unified .text-link:focus>span{transform:none}
@media (hover:hover) and (pointer:fine){
 body.theme-unified .text-link:hover{background:#12161210;transform:none}
 body.theme-unified .text-link:hover>.lnk-dot{width:calc(100% - 10px)}
 body.theme-unified .text-link:hover .i-arrow{transform:translate(2px,-2px)}
 body.theme-unified .text-link:hover>.lnk-label{color:var(--c-paper)}
}
/* En secciones oscuras, al revés. */
body.theme-unified .method .text-link,body.theme-unified .contact-section .text-link,body.theme-unified.inner-page .film-section .text-link{background:#f4f6ee14;color:var(--c-paper)}
body.theme-unified .method .text-link>.lnk-dot,body.theme-unified .contact-section .text-link>.lnk-dot,body.theme-unified.inner-page .film-section .text-link>.lnk-dot{background:var(--c-green);color:var(--c-ink)}
@media (hover:hover) and (pointer:fine){
 body.theme-unified .method .text-link:hover>.lnk-label,body.theme-unified .contact-section .text-link:hover>.lnk-label,body.theme-unified.inner-page .film-section .text-link:hover>.lnk-label{color:var(--c-ink)}
}

/* ── Flechas SVG sueltas (tarjetas, pies de foto, menús) ───────────────────── */
body.theme-unified .i-arrow{display:inline-block;width:.95em;height:.95em;vertical-align:-.1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.theme-unified .hero-whatsapp .i-arrow{width:14px;height:14px}

@media (max-width:760px){
 body.theme-unified .cta{height:56px;min-height:56px;font-size:15px}
 body.theme-unified .unified-hero .hero-actions .cta{min-width:264px}
 body.theme-unified .contact-section .cta,body.theme-unified .gym-arrival .cta,body.theme-unified .address .cta,
 body.theme-unified .google-summary .cta,body.theme-unified .social-profile .cta{width:100%;max-width:100%}
 body.theme-unified .text-link{font-size:13px}
}
@media (prefers-reduced-motion:reduce){
 body.theme-unified .cta,body.theme-unified .cta *,body.theme-unified .text-link,body.theme-unified .text-link *{transition:none!important}
}

/* Flechas del calendario. */
body.theme-unified .calendar-nav .i-chev{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
