/* RX · Coaching duo — personalizzazione della ricetta «palestra» (Scrollweaver 2.38 stable).
   Fuori da ogni @layer: vince sul kit, il kit non si tocca. Pezzi cuciti apposta: prefisso rx-. */

/* ---------- colori e forme: nero e bianco, bicromia rosa fluo + azzurro Tiffany; angoli vivi come il rettangolo del logo.
   Il rosa è il colore forte (azioni, fascia della prova); il Tiffany fa da controcanto e vive sul nero:
   sul bianco si legge poco, quindi lì solo come segno decorativo, mai per il testo. ---------- */
:root[data-sw-recipe="palestra"] {
  --sw-c1: #ff2e93;   /* rosa fluo: l'accento forte */
  --sw-c2: #ffffff;
  --sw-c3: #ffffff;   /* carta: bianco pieno */
  --sw-c4: #0a0a0b;   /* inchiostro e notte: nero */
  --sw-c5: #0a0a0b;
  --rx-rosa: #ff2e93; --rx-tiffany: #81d8d0; --rx-nero: #0a0a0b; --rx-bianco: #ffffff;
  --sw-radius: 0; --sw-r-xs: 0; --sw-r-sm: 0; --sw-r-md: 0; --sw-r-lg: 0; --sw-r-xl: 0; --sw-r-2xl: 0; --sw-r-pill: 0;
  --sw-rc-s-radius: 0; --sw-rc-b-radius: 0; --sw-rc-f-radius: 0; --sw-rc-img-radius: 0;
  --sw-rc-s-shadow: inset 0 -5px 0 var(--rx-rosa);
}
:root[data-sw-recipe="palestra"] .sw-eyebrow { border-radius: 0; }
:root[data-sw-recipe="palestra"] .sw-menu__item--accent > a { border-radius: 0; background: var(--rx-rosa); }

/* ---------- fasce a tutta larghezza: nero / bianco / rosa (al posto delle fasce alterne della ricetta) ---------- */
:root[data-sw-recipe="palestra"] section.sw-chapter:nth-of-type(even) { background: none; box-shadow: none; clip-path: none; }
:root[data-sw-recipe="palestra"] section.sw-chapter:is(.rx-nero, .rx-bianco, .rx-rosa) { box-shadow: 0 0 0 100vmax var(--rx-fondo); clip-path: inset(0 -100vmax); background: var(--rx-fondo); max-width: 80rem; }
.rx-nero { --rx-fondo: var(--rx-nero); color: var(--sw-ink); }
.rx-bianco { --rx-fondo: var(--rx-bianco); }
.rx-rosa { --rx-fondo: var(--rx-rosa); --sw-heading: var(--rx-nero); --sw-ink: var(--rx-nero); --sw-soft: rgba(10,10,11,.75); --sw-line: rgba(10,10,11,.35); color: var(--rx-nero); }
:root[data-sw-recipe="palestra"] .rx-rosa > h2::after { background: var(--rx-nero); }

/* ---------- testata nera con il logo ---------- */
:root[data-sw-recipe="palestra"] .rx-testata { background: var(--rx-nero); border-bottom: 4px solid var(--rx-rosa); }
.rx-testata .sw-header__brand { display: flex; align-items: center; color: #fff; }
.rx-logo { display: block; height: 2.6rem; width: auto; color: #fff; }
:root[data-sw-recipe="palestra"] .rx-testata .sw-menu__item > a { color: #fff; }
:root[data-sw-recipe="palestra"] .rx-testata .sw-menu__item--accent > a, :root[data-sw-recipe="palestra"] .rx-testata .sw-menu__item--accent > a:hover { color: #fff; }

/* ---------- il rettangolo inclinato del logo, come segno grafico che attraversa una parola ---------- */
.rx-barra { position: relative; display: inline-block; isolation: isolate; }
.rx-barra::before { content: ""; position: absolute; z-index: -1; inset: 18% -6% 12%; border: max(4px, .06em) solid var(--rx-rosa); transform: rotate(-5deg); }

/* ---------- apertura: a tutto schermo, titolo enorme a sinistra ---------- */
:root[data-sw-recipe="palestra"] .rx-hero { min-height: calc(100svh - var(--sw-hero-offset, 0px)); place-items: end start; text-align: left; }
:root[data-sw-recipe="palestra"] .rx-hero .sw-hero__inner { margin: 0; max-width: 78rem; padding-inline: var(--sw-gutter); }
:root[data-sw-recipe="palestra"] .rx-hero .sw-cluster { justify-content: flex-start; }
:root[data-sw-recipe="palestra"] .rx-hero .sw-hero__sub { margin-inline: 0; }
.rx-hero__titolo { font-size: clamp(4.2rem, 13.5vw, 12rem); line-height: .86; margin: .3em 0 .35em; }
.rx-hero__titolo > span { display: block; }
.rx-hero__titolo .rx-barra { display: inline-block; color: #fff; }
:root[data-sw-recipe="palestra"] .rx-hero .sw-btn:not(.sw-btn--outline) { background: var(--rx-rosa); border-color: var(--rx-rosa); color: #fff; }

/* ---------- nastro di parole giganti a contorno ---------- */
.rx-nastro { display: flex; overflow: hidden; background: var(--rx-nero); padding-block: clamp(1rem, 2.5vw, 2rem); border-bottom: 1px solid rgba(255,255,255,.12); }
.rx-nastro__fila { display: flex; flex: none; gap: .5em; padding-right: .5em; animation: rx-scorri 38s linear infinite; font: 400 clamp(3.6rem, 10vw, 9rem)/1 var(--sw-serif); text-transform: uppercase; }
.rx-nastro__fila span { color: transparent; -webkit-text-stroke: 2px #fff; white-space: nowrap; }
.rx-nastro__fila span:nth-child(3n+2) { color: var(--rx-rosa); -webkit-text-stroke: 0; }
.rx-nastro__fila span::after { content: "/"; margin-left: .5em; color: rgba(255,255,255,.25); -webkit-text-stroke: 0; }
@keyframes rx-scorri { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .rx-nastro__fila { animation: none; } }

/* ---------- manifesto ---------- */
.rx-manifesto__frase { margin: 0; font: 400 clamp(3.2rem, 9.5vw, 8.5rem)/.92 var(--sw-serif); text-transform: uppercase; color: var(--rx-nero); }
.rx-manifesto__frase .rx-barra::before { inset: 14% -3% 8%; }
.rx-manifesto__nota { max-width: 38rem; margin: 2.5rem 0 0 auto; font-size: clamp(1.15rem, 1.8vw, 1.4rem); line-height: 1.55; }

/* ---------- il duo: due ritratti affiancati, il secondo sfalsato ---------- */
.rx-duo { display: grid; gap: clamp(3rem, 6vw, 5rem); margin-top: 3rem; }
@media (min-width: 760px) { .rx-duo { grid-template-columns: 1fr 1fr; } .rx-coach:nth-child(2) { margin-top: 6rem; } }
.rx-coach { position: relative; }
.rx-coach .sw-photo { margin: 0 0 1.4rem; }
.rx-coach__num { position: absolute; top: -.35em; right: .1em; z-index: 2; margin: 0; font: 400 clamp(5rem, 10vw, 8rem)/1 var(--sw-serif); color: transparent; -webkit-text-stroke: 2px var(--rx-rosa); pointer-events: none; }
.rx-coach__nome { margin: 0; font-size: clamp(2.8rem, 5.5vw, 4.6rem); line-height: .9; text-transform: uppercase; }
.rx-coach__nome span { display: block; color: transparent; -webkit-text-stroke: 1.5px #fff; }
.rx-coach__ruolo { margin: .8rem 0 1rem; font-size: .8rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--rx-rosa); }
.rx-coach__tag { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.rx-coach__tag li { padding: .35rem .8rem; border: 1px solid rgba(255,255,255,.4); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }

/* ---------- programmi: le schede numerate della ricetta, tre in fila ---------- */
.rx-programmi { grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); }
:root[data-sw-recipe="palestra"] .rx-programmi > .sw-card::before { color: var(--rx-rosa); }

/* ---------- metodo: quattro passi con numeri enormi ---------- */
.rx-passi { display: grid; gap: 2.5rem 2rem; margin: 3rem 0 0; padding: 0; list-style: none; }
@media (min-width: 560px) { .rx-passi { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .rx-passi { grid-template-columns: repeat(4, 1fr); } }
.rx-passi li { border-top: 3px solid var(--rx-rosa); padding-top: 1rem; }
.rx-passi__n { display: block; font: 400 clamp(4.5rem, 8vw, 7rem)/1 var(--sw-serif); color: transparent; -webkit-text-stroke: 2px #fff; }
.rx-passi h3 { margin: .6rem 0 .4rem; font-family: var(--sw-serif); font-weight: 400; font-size: 1.8rem; text-transform: uppercase; }
.rx-passi p { margin: 0; color: var(--sw-soft); }

/* ---------- numeri ---------- */
.rx-numeri__griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 2rem; }
.rx-numeri__n { display: block; font: 400 clamp(5rem, 11vw, 9rem)/.9 var(--sw-serif); color: var(--rx-nero); }
.rx-numeri__griglia > div:nth-child(odd) .rx-numeri__n { color: var(--rx-rosa); }
.rx-numeri p { margin: .5rem 0 0; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: .85rem; }

/* ---------- prova gratuita: fascia rosa, titolo enorme, modulo WhatsApp ---------- */
.rx-prova__titolo { font-size: clamp(4rem, 12vw, 10.5rem) !important; line-height: .86 !important; color: var(--rx-nero); }
.rx-prova { display: grid; gap: 2.5rem; margin-top: 2rem; }
@media (min-width: 900px) { .rx-prova { grid-template-columns: .9fr 1.1fr; align-items: start; } }
.rx-prova__testo { margin: 0; font-size: clamp(1.15rem, 1.8vw, 1.35rem); line-height: 1.55; font-weight: 600; }
.rx-rosa .sw-field__label { color: var(--rx-nero); }
.rx-rosa .sw-field__control { background: rgba(255,255,255,.14); border: 2px solid var(--rx-nero); border-radius: 0; color: var(--rx-nero); }
.rx-rosa .sw-field__control::placeholder { color: rgba(10,10,11,.6); }
.rx-rosa .sw-wa { background: var(--rx-nero); color: #fff; border-color: var(--rx-nero); border-radius: 0; }
.rx-rosa .sw-wa:hover { background: #fff; color: var(--rx-nero); }

/* ---------- contatti e piede ---------- */
.rx-contatti { margin-top: 2.5rem; }
.rx-contatti a { color: #fff; text-decoration-color: var(--rx-rosa); text-underline-offset: .25em; }
:root[data-sw-recipe="palestra"] .rx-piede { background: var(--rx-nero); }
.rx-logo--piede { height: 5rem; margin-bottom: 1rem; }

/* --- ritocchi dopo la prima prova a schermo --- */
:root[data-sw-recipe="palestra"] body { background: var(--rx-nero); }                 /* niente strisce bianche tra le fasce e prima del piede */
:root[data-sw-recipe="palestra"] .sw-main { padding-bottom: 0; }
:root[data-sw-recipe="palestra"] .rx-testata .sw-menu__list { justify-content: flex-end; }   /* menu a destra, logo a sinistra */
:root[data-sw-recipe="palestra"] .rx-hero { background-color: #161618; }               /* senza foto: nero, non grigio */
:root[data-sw-recipe="palestra"] .rx-hero .sw-hero__inner { text-align: left; }        /* etichetta, titolo e testo sullo stesso filo */
:root[data-sw-recipe="palestra"] .rx-hero .sw-eyebrow { color: #fff; }

/* ---------- bicromia: dove entra il Tiffany ---------- */
:root[data-sw-recipe="palestra"] { --sw-rc-s-shadow: inset 0 -5px 0 var(--rx-tiffany); }                     /* filo sotto le schede */
:root[data-sw-recipe="palestra"] .rx-testata { border-image: linear-gradient(90deg, var(--rx-rosa) 0 50%, var(--rx-tiffany) 50% 100%) 1; }
:root[data-sw-recipe="palestra"] .sw-hero::after, :root[data-sw-recipe="palestra"] .sw-sitefoot::before { background: repeating-linear-gradient(135deg, var(--rx-rosa) 0 18px, var(--rx-tiffany) 18px 36px); }
:root[data-sw-recipe="palestra"] .rx-hero .sw-eyebrow { border-color: var(--rx-tiffany); }
.rx-manifesto .rx-barra::before { border-color: var(--rx-tiffany); }                                         /* «Zero scorciatoie»: il rettangolo in Tiffany */
.rx-nastro__fila span:nth-child(3n) { color: var(--rx-tiffany); -webkit-text-stroke: 0; }                  /* il nastro alterna rosa e Tiffany */
.rx-coach:nth-child(2) .rx-coach__num { -webkit-text-stroke-color: var(--rx-tiffany); }                      /* coach 01 rosa, coach 02 Tiffany */
.rx-coach:nth-child(2) .rx-coach__ruolo { color: var(--rx-tiffany); }
.rx-passi li:nth-child(even) { border-top-color: var(--rx-tiffany); }
.rx-contatti a { text-decoration-color: var(--rx-tiffany); }
:root[data-sw-recipe="palestra"] .rx-testata .sw-menu__item > a:hover { color: var(--rx-tiffany); }

/* ---------- ombra dei bottoni: la ricetta la dà sempre del colore d'accento. Un bottone PIENO d'accento
   la prende bianca (sul nero si stacca); contorno, neri e bianchi tengono l'ombra rosa ---------- */
:root[data-sw-recipe="palestra"] .rx-hero .sw-btn:not(.sw-btn--outline) { box-shadow: 5px 5px 0 #fff; }
@media (hover: hover) { :root[data-sw-recipe="palestra"] .rx-hero .sw-btn:not(.sw-btn--outline):hover { box-shadow: 2px 2px 0 #fff; background: var(--rx-rosa); color: #fff; } }
:root[data-sw-recipe="palestra"] .rx-hero .sw-btn:not(.sw-btn--outline):active { box-shadow: 0 0 0 #fff; }
