/* ===== YTTY — charte tennis-de-table.com ===== */
@font-face{font-family:Lato;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/lato-400.ttf) format('truetype')}
@font-face{font-family:Lato;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/lato-700.ttf) format('truetype')}
@font-face{font-family:Lato;font-weight:900;font-style:normal;font-display:swap;src:url(../fonts/lato-900.ttf) format('truetype')}

:root{
  --navy:#063a73; --blue:#1062a8; --red:#e10613; --orange:#fc792d;
  --ink:#0d1b2a; --muted:#555; --line:#e9e9e9; --bg:#fff; --bg-alt:#f4f7fb;
  --radius:10px; --shadow:0 8px 24px rgba(6,58,115,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Lato,Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--blue)}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;color:var(--navy);font-weight:900}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}
.section{padding:72px 0}
.section--alt{background:var(--bg-alt)}
.eyebrow{display:inline-block;font-weight:900;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:.8rem}
.section-head{max-width:720px;margin:0 0 40px}
.section-head h2{font-size:clamp(1.8rem,4vw,2.6rem)}
.section-head p{color:var(--muted);font-size:1.1rem;margin:0}

/* Boutons */
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 0}
.btn-row--center{justify-content:center}
.btn{display:inline-block;padding:15px 28px;border-radius:var(--radius);font-weight:900;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border:2px solid transparent;transition:transform .15s,background .15s,color .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--red);color:#fff;box-shadow:0 6px 18px rgba(225,6,19,.28)}
.btn--primary:hover{background:#c10510}
.btn--outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn--outline:hover{background:var(--navy);color:#fff}
.btn--light{background:#fff;color:var(--navy)}
.btn--light:hover{background:var(--bg-alt)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.site-header__logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.site-header__nav{display:flex;align-items:center;gap:26px}
.site-header__nav a{color:var(--ink);text-decoration:none;font-weight:700;text-transform:uppercase;font-size:.9rem}
.site-header__nav a:hover{color:var(--red)}
.site-header__burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.site-header__burger span{display:block;width:26px;height:3px;background:var(--navy);margin:5px 0;border-radius:2px}

/* Hero */
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--blue) 100%);color:#fff;padding:80px 0;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:linear-gradient(90deg,var(--red) 0 33%,#fff 33% 66%,var(--blue) 66%)}
.hero__inner{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.hero h1{color:#fff;font-size:clamp(2.2rem,5.5vw,3.8rem)}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero .eyebrow{color:#ffb38a}
.hero__sub{font-size:1.2rem;max-width:560px;opacity:.95;margin:0}
.hero__note{margin:18px 0 0;font-size:.9rem;opacity:.8}
.hero__visual{text-align:center}
.hero__visual img{width:100%;max-width:340px;filter:drop-shadow(0 16px 30px rgba(0,0,0,.35));transform:rotate(3deg)}
.hero .btn--outline{border-color:#fff;color:#fff}
.hero .btn--outline:hover{background:#fff;color:var(--navy)}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);border-top:4px solid var(--red)}
.card__icon{font-size:2rem;margin-bottom:10px}
.card h3{font-size:1.25rem}
.card p{margin:0;color:var(--muted)}

/* Steps */
.steps__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}
.steps__item h3{font-size:1.2rem}
.steps__item p{margin:0;color:var(--muted)}
.steps__num{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900;font-size:1.3rem;margin-bottom:14px}

/* CTA */
.cta__box{background:var(--navy);color:#fff;border-radius:18px;padding:56px 28px;text-align:center}
.cta__box h2{color:#fff;font-size:clamp(1.8rem,4vw,2.5rem)}
.cta__box p{max-width:620px;margin:0 auto;opacity:.9;font-size:1.1rem}

/* Footer */
.site-footer{background:#071e3a;color:#cfd9e6;padding:40px 0;margin-top:0}
.site-footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.site-footer__brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:700}
.site-footer__links{display:flex;flex-wrap:wrap;gap:20px}
.site-footer__links a{color:#cfd9e6;text-decoration:none;font-size:.9rem}
.site-footer__links a:hover{color:#fff}
.site-footer__copy{width:100%;margin:10px 0 0;font-size:.8rem;opacity:.7}

/* Blocks communs (common.*) */
.block-title,.block-text,.block-image,.block-form-wrap{max-width:860px;margin:40px auto;padding:0 20px}
.block-title-heading{margin:0 0 .5rem;font-size:2rem}
.block-title-subtitle{color:var(--muted);margin:0 0 1.5rem}
.block-title[data-align="center"],.block-text[data-align="center"]{text-align:center}
.block-title[data-align="right"],.block-text[data-align="right"]{text-align:right}
.block-text{line-height:1.7}
.block-image-media{width:100%;height:auto;display:block;border-radius:var(--radius)}
.block-image-caption{font-size:.85rem;color:var(--muted);margin-top:.5rem}
.block-form-field{margin-bottom:1rem}
.block-form-label{display:block;margin-bottom:.25rem;font-weight:700}
.block-form-input{width:100%;padding:.7rem;border:1px solid #ccc;border-radius:6px;font:inherit}
.block-form-checkbox{margin-right:.5rem}
.block-form-submit{padding:.8rem 1.6rem;border:0;border-radius:var(--radius);background:var(--red);color:#fff;font-weight:900;cursor:pointer}
.form-message-success,.form-message-error{display:none;padding:12px 16px;border-radius:6px;margin-top:12px}
.form-message-success{background:#e6f6ea;color:#14602b}
.form-message-error{background:#fdeaea;color:#8f1d1d}

/* Responsive */
@media (max-width:860px){
  .hero__inner{grid-template-columns:1fr}
  .hero__visual{display:none}
  .section{padding:52px 0}
  .site-header__burger{display:block}
  .site-header__nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:16px 20px;border-bottom:1px solid var(--line);gap:14px}
  .site-header__nav.is-open{display:flex}
  .site-header__inner{position:relative}
  .btn{width:100%;text-align:center}
}
