/* =========================================================
   /partner · layout della pagina (prefisso pt-)
   Solo posizioni, spazi e classi pt-: colori, font e ombre vengono dai token di site.css.
   ========================================================= */

/* 1 · hero: il marquee dei codici chiude il primo schermo */
.pt-hero .hero-in{max-width:var(--maxw);padding-bottom:clamp(28px,4vh,48px)}   /* H1 allineato ai titoli delle sezioni */
.pt-hero .hero-extra{padding-bottom:clamp(40px,5vw,80px)}
.pt-hero .cta-row{margin-top:28px}
.pt-hero .cta-row .tlink{margin-left:0}
/* modo calmo: il marquee diventa un elenco fermo; le copie del giro (li[data-dup]) le nasconde site.css */

/* 2 · le maglie */
.pt-codici{padding-top:clamp(56px,7vw,112px)}
.pt-head .body-lg{max-width:38em}
.pt-jerseys{gap:clamp(16px,2vw,28px);align-items:stretch}
.pt-jerseys .jersey-info{padding-bottom:28px}
@media (min-width:1024px){ .pt-jerseys .jersey-ph{aspect-ratio:1/1} }   /* card intera dentro uno schermo da computer */
.pt-jerseys .jersey-act{margin-top:20px}
/* lo sconto del codice: una riga di cifre, sotto la bio */
.pt-jerseys .jersey-info .small{margin-bottom:12px}
/* sconto e tasti in fondo alla card: allineati tra le due maglie anche se una bio va a capo */
.pt-deal{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 22px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.pt-off{display:flex;flex-direction:column;gap:6px;padding-right:22px;border-right:1px solid var(--line)}
.pt-off>.num{font:600 clamp(36px,3.4vw,52px)/.95 var(--f-head);letter-spacing:-.045em;color:var(--text);white-space:nowrap}
.pt-off-t{font-size:13px;font-weight:500;color:var(--steel);white-space:nowrap}
.pt-now{font-size:15px;line-height:1.55;color:var(--text-2)}
.pt-now b{color:var(--text);font-weight:600}
.pt-now .num{font-variant-numeric:tabular-nums}

/* 3 · come si usa */
.pt-how-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px clamp(32px,4vw,72px);align-items:start}
.pt-how-copy{grid-column:1/6;min-width:0}
.pt-how-copy>*+*{margin-top:22px}
.pt-seq{grid-column:7/13;max-width:none;gap:30px;padding-top:10px}
.pt-seq b{font-size:20px}
.pt-seq li>span{font-size:16.5px}
.pt-copies{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.pt-copies .copy{margin:0}
.pt-copies .copy b{font:inherit;font-weight:700;letter-spacing:.02em;padding-top:0}   /* .seq b non deve ingrandire il codice nel bottone */

/* 4 · GamsGo: una riga, non una card */
.pt-other{padding-top:0}
.pt-gg{display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:18px clamp(20px,3vw,40px);padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pt-gg-logo{display:block;width:88px;height:88px;border-radius:22px;overflow:hidden;background:var(--text)}
.pt-gg-logo picture{display:block;width:100%;height:100%}
.pt-gg-logo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .6s var(--ease-out)}
.pt-gg-copy .small{margin-top:4px;max-width:36em}
.pt-gg:hover .pt-gg-logo img,.pt-gg:focus-within .pt-gg-logo img{filter:none}

/* 5 · Partner Program */
.pt-program-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px clamp(32px,4vw,72px);align-items:end}
.pt-program-copy{grid-column:1/7;min-width:0}
.pt-program-copy>*+*{margin-top:22px}
.pt-program-copy .tlinks{margin-top:30px}
.pt-program-vis{grid-column:8/13;min-width:0}
.pt-podium{max-width:none;height:clamp(260px,26vw,340px);gap:8px}
.pt-podium-cap{margin-top:16px}

/* 6 · ultima riga */
.pt-nw{white-space:nowrap}

@media (max-width:1023px){
  .pt-how-in,.pt-program-in{grid-template-columns:minmax(0,1fr)}   /* una colonna: 11 spazi da 32 px non stanno in 360 px */
  .pt-how-copy,.pt-seq,.pt-program-copy,.pt-program-vis{grid-column:1/-1}
  .pt-program-vis{max-width:560px}
  /* card strette (tablet e telefono): lo sconto sopra, le cifre sotto; il tasto copia largo quanto la card */
  .pt-deal{grid-template-columns:1fr;gap:10px}
  .pt-off{flex-direction:row;align-items:baseline;gap:10px;padding-right:0;border-right:0}
  .pt-jerseys .copy{flex:1 1 100%;justify-content:center;height:50px}
}
@media (max-width:719px){
  .pt-gg{grid-template-columns:64px minmax(0,1fr);gap:14px 16px}
  .pt-gg-logo{width:64px;height:64px;border-radius:16px}
  .pt-gg-go{grid-column:1/-1}
  .pt-podium{height:240px}
  /* qui ogni partner ha tutto lo schermo: maglie una sotto l'altra, non a scorrimento */
  .pt-jerseys{display:grid;grid-template-columns:1fr;overflow:visible;margin:0;padding:0;gap:18px}
  .pt-jerseys .jersey{flex:none}
  .pt-jerseys .jersey-ph{aspect-ratio:4/3.9}
  .pt-jerseys .jersey-code{font-size:clamp(48px,18.5vw,80px)}
}
