/**
 * assets/css/main.css
 * Feuille de style principale de TONYO SYSTEM (hors en-tête de thème).
 * L'en-tête WordPress obligatoire reste dans /style.css à la racine du thème ;
 * ce fichier contient l'intégralité des règles de mise en forme, chargées
 * via wp_enqueue_style() dans functions.php.
 */

/* ==========================================================================
   1. VARIABLES DE MARQUE
   ========================================================================== */
:root{
  /* Palette recalée sur le vrai logo TONYO SYSTEM (extraction des couleurs dominantes) */
  --tonyo-navy:        #0A1F4D;  /* bleu marine de l'icône poignée de main + texte du logo */
  --tonyo-navy-dark:    #061530;
  --tonyo-gold:         #0E7A3C;  /* vert forêt du tronc/feuillage du logo (remplace l'ancien or) */
  --tonyo-gold-light:   #8DC63F;  /* vert clair des feuilles du logo */
  --tonyo-cream:        #F2EFE9;
  --tonyo-grey:         #5A5A5A;
  --tonyo-white:        #FFFFFF;
  --tonyo-radius:       10px;
  --tonyo-shadow:       0 8px 24px rgba(10,31,77,0.12);
  --tonyo-font-heading: 'Poppins', sans-serif;
  --tonyo-font-body:    'Inter', sans-serif;
}

/* ==========================================================================
   1bis. BASE RESPONSIVE / FLUIDE (couvre mobile → grand écran)
   ========================================================================== */
*, *::before, *::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body{ overflow-x: hidden; }

img, svg, video, iframe, embed, object{
  max-width: 100%;
  height: auto;
  display: block;
}

table{ width:100%; }

/* Conteneurs fluides : tout élément avec padding latéral en % reste dans l'écran */
.tonyo-hero, .tonyo-section, .tonyo-masthead__inner,
.tonyo-footer__widgets, .tonyo-footer__bottom{
  width: 100%;
  max-width: 100%;
}

/* Cible tactile minimale recommandée (WCAG 2.5.5 / Material Design) */
a, button, input[type="submit"], input[type="button"], .tonyo-btn{
  min-height: 1px; /* base */
}
@media (pointer: coarse){
  .tonyo-btn, .tonyo-menu-toggle, .search-submit, .woocommerce a.button, .woocommerce button.button{
    min-height: 44px;
  }
}

/* ==========================================================================
   2. BASE
   ========================================================================== */
body{
  font-family: var(--tonyo-font-body);
  color: #24272D;
  background-color: var(--tonyo-white);
}
h1, h2, h3, h4, h5, h6,
.entry-title, .tonyo-site-title{
  font-family: var(--tonyo-font-heading);
  color: var(--tonyo-navy);
  font-weight: 600;
}
h1{ font-size: clamp(28px, 4.5vw, 44px); }
h2{ font-size: clamp(22px, 3.2vw, 32px); }
h3{ font-size: clamp(18px, 2.2vw, 22px); }
p, li{ font-size: clamp(15px, 1.05vw, 16px); }
a{ color: var(--tonyo-navy); }
a:hover{ color: var(--tonyo-gold); }

::selection{ background: var(--tonyo-gold-light); color: var(--tonyo-navy-dark); }

/* ==========================================================================
   2bis. ACCESSIBILITÉ — SKIP LINK / SCREEN READER
   ========================================================================== */
.screen-reader-text{
  position:absolute !important;
  width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px);
  white-space:nowrap;
}
.skip-link.screen-reader-text:focus{
  position: fixed !important;
  top:10px; left:10px; z-index:100000;
  width:auto; height:auto; padding:14px 20px;
  background: var(--tonyo-navy); color:#fff;
  border-radius: var(--tonyo-radius);
}

/* ==========================================================================
   3. HEADER
   ========================================================================== */
.tonyo-topbar{
  background-color: var(--tonyo-navy);
  color: var(--tonyo-cream);
  font-size: 13px;
  display:flex;
  justify-content: space-between;
  align-items:center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 8px 5%;
}
.tonyo-topbar a{ color: var(--tonyo-cream); }
.tonyo-topbar a:hover{ color: var(--tonyo-gold-light); }
.tonyo-topbar__contact{ display:flex; gap:18px; flex-wrap:wrap; }
.tonyo-topbar__contact span{ display:inline-flex; align-items:center; gap:6px; }
.tonyo-topbar__social a{ margin-left: 10px; }

.tonyo-masthead{
  background: var(--tonyo-white);
  border-bottom: 1px solid #ECE9E2;
  position: sticky;
  top: 0;
  z-index: 999;
}
.tonyo-masthead.tonyo-scrolled{ box-shadow: var(--tonyo-shadow); }
.tonyo-masthead__inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 5%;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 24px;
}
.tonyo-site-branding a{ display:inline-flex; align-items:center; }
.tonyo-site-title{
  font-family: var(--tonyo-font-heading);
  font-weight:700;
  font-size: 22px;
  color: var(--tonyo-navy);
}
.custom-logo{ max-height: 70px; width: auto; }

.tonyo-main-nav{ flex:1; display:flex; justify-content:center; }
.tonyo-main-menu{
  list-style:none; display:flex; gap: 28px; margin:0; padding:0;
}
.tonyo-main-menu li{ position:relative; }
.tonyo-main-menu a{
  font-weight:600; font-size:15px; color: var(--tonyo-navy);
  padding: 8px 2px; display:inline-block; text-decoration:none;
}
.tonyo-main-menu a:hover{ color: var(--tonyo-gold); }
.tonyo-main-menu .current-menu-item > a{ color: var(--tonyo-gold); }
.tonyo-main-menu ul{
  list-style:none; position:absolute; top:100%; left:0;
  background:#fff; min-width:200px; padding:10px 0; margin:0;
  border-radius: var(--tonyo-radius); box-shadow: var(--tonyo-shadow);
  opacity:0; visibility:hidden; transform: translateY(6px);
  transition: all .15s ease; z-index: 20;
}
.tonyo-main-menu li:hover > ul{ opacity:1; visibility:visible; transform:translateY(0); }
.tonyo-main-menu ul li a{ display:block; padding:8px 18px; }

.tonyo-masthead__actions{ display:flex; align-items:center; gap:16px; }
.tonyo-cart-link{
  position:relative; font-size:20px; color: var(--tonyo-navy); text-decoration:none;
}
.tonyo-cart-count{
  position:absolute; top:-8px; right:-12px;
  background: var(--tonyo-gold); color:#fff;
  font-size:11px; font-weight:700; border-radius:50%;
  width:18px; height:18px; display:flex; align-items:center; justify-content:center;
}
.tonyo-header-cta{ padding: 10px 20px !important; font-size:14px; text-decoration:none; }

.tonyo-menu-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:36px; height:32px; background:none; border:none; cursor:pointer; padding:0;
}
.tonyo-menu-toggle span{ display:block; height:2px; width:100%; background: var(--tonyo-navy); border-radius:2px; }

@media (max-width: 900px){
  .tonyo-main-nav{
    position:absolute; top:100%; left:0; right:0;
    background:#fff; flex-direction:column; padding: 10px 5% 20px;
    box-shadow: var(--tonyo-shadow);
    display:none;
  }
  .tonyo-main-nav.is-open{ display:flex; }
  .tonyo-main-menu{ flex-direction:column; gap:4px; width:100%; }
  .tonyo-main-menu ul{ position:static; box-shadow:none; opacity:1; visibility:visible; transform:none; display:none; padding-left:14px; }
  .tonyo-main-menu li.tonyo-submenu-open > ul{ display:block; }
  .tonyo-header-cta{ display:none; }
  .tonyo-menu-toggle{ display:flex; }
}

/* ==========================================================================
   3bis. FOOTER
   ========================================================================== */
.tonyo-site-footer{
  background: var(--tonyo-navy-dark);
  color: #B9C0D1;
  padding: 56px 5% 0;
}
.tonyo-footer__widgets{
  max-width: 1280px; margin:0 auto;
  display:grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  gap: 32px; padding-bottom: 36px;
}
.tonyo-footer__col .widget-title{ color:#fff; font-size:16px; margin-bottom:14px; }
.tonyo-footer__col a{ color:#D8DEEA; text-decoration:none; }
.tonyo-footer__col a:hover{ color: var(--tonyo-gold-light); }
.tonyo-footer-menu{ list-style:none; margin:0; padding:0; }
.tonyo-footer-menu li{ margin-bottom:8px; }
.tonyo-footer__bottom{
  max-width:1280px; margin:0 auto; padding: 18px 0;
  border-top:1px solid rgba(255,255,255,.08);
  text-align:center; font-size:13px;
}
.tonyo-copyright{ margin:0 0 6px; }

/* ==========================================================================
   4. HERO / HOMEPAGE
   ========================================================================== */
.tonyo-hero{
  background: linear-gradient(120deg, var(--tonyo-navy) 0%, var(--tonyo-navy-dark) 100%);
  color: var(--tonyo-white);
  padding: 90px 5% 100px;
  position: relative;
  overflow: hidden;
}
.tonyo-hero::after{
  content:"";
  position:absolute; right:-10%; top:-30%;
  width:520px; height:520px;
  background: radial-gradient(circle, rgba(184,134,47,0.35) 0%, rgba(184,134,47,0) 70%);
}
.tonyo-hero__inner{ max-width: 760px; position:relative; z-index:1; }
.tonyo-hero__kicker{
  color: var(--tonyo-gold-light);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 14px;
  display:block;
}
.tonyo-hero h1{
  color: var(--tonyo-white);
  font-size: clamp(32px, 5vw, 52px);
  line-height: 1.15;
  margin-bottom: 18px;
}
.tonyo-hero p{
  font-size: 18px;
  color: #D8DEEA;
  margin-bottom: 30px;
  max-width: 560px;
}
.tonyo-hero__cta{ display:flex; gap:16px; flex-wrap:wrap; }
.tonyo-btn{
  display:inline-block;
  padding: 14px 28px;
  border-radius: var(--tonyo-radius);
  font-weight: 700;
  text-decoration:none;
  transition: all .2s ease;
}
.tonyo-btn--gold{ background: var(--tonyo-gold); color: var(--tonyo-navy-dark); }
.tonyo-btn--gold:hover{ background: var(--tonyo-gold-light); color: var(--tonyo-navy-dark); }
.tonyo-btn--outline{ border: 2px solid var(--tonyo-white); color: var(--tonyo-white); }
.tonyo-btn--outline:hover{ background: var(--tonyo-white); color: var(--tonyo-navy); }

/* ==========================================================================
   5. SECTIONS GÉNÉRIQUES
   ========================================================================== */
.tonyo-section{ padding: 70px 5%; }
.tonyo-section--cream{ background: var(--tonyo-cream); }
.tonyo-section__head{ text-align:center; max-width: 680px; margin: 0 auto 46px; }
.tonyo-section__kicker{
  color: var(--tonyo-gold);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
}
.tonyo-section__head h2{ font-size: clamp(26px, 3.5vw, 36px); margin: 8px 0 12px; }
.tonyo-section__head p{ color: var(--tonyo-grey); font-size: 16px; }

/* Grille des 7 activités (objet social) */
.tonyo-activities{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
}
.tonyo-activity-card{
  background: var(--tonyo-white);
  border: 1px solid #ECE9E2;
  border-radius: var(--tonyo-radius);
  padding: 30px 24px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.tonyo-activity-card:hover{ transform: translateY(-4px); box-shadow: var(--tonyo-shadow); }
.tonyo-activity-card__icon{
  width:52px; height:52px;
  border-radius: 50%;
  background: rgba(184,134,47,0.12);
  display:flex; align-items:center; justify-content:center;
  font-size: 22px;
  color: var(--tonyo-gold);
  margin-bottom: 18px;
}
.tonyo-activity-card--featured{
  border-color: var(--tonyo-gold);
  background: linear-gradient(160deg, #fff 60%, rgba(184,134,47,0.08));
}
.tonyo-activity-card h3{ font-size: 18px; margin-bottom: 8px; }
.tonyo-activity-card p{ color: var(--tonyo-grey); font-size: 14.5px; margin:0; }

/* Bloc "pourquoi nous choisir" en 3 chiffres clés */
.tonyo-stats{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(180px,1fr));
  gap: 24px;
  max-width: 1000px;
  margin: 40px auto 0;
  text-align:center;
}
.tonyo-stat strong{
  display:block;
  font-family: var(--tonyo-font-heading);
  font-size: 34px;
  color: var(--tonyo-navy);
}
.tonyo-stat span{ color: var(--tonyo-grey); font-size: 14px; }

/* Bandeau SARL familiale */
.tonyo-group-banner{
  background: var(--tonyo-navy);
  color: var(--tonyo-cream);
  border-radius: var(--tonyo-radius);
  padding: 40px;
  max-width: 1200px;
  margin: 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.tonyo-group-banner h3{ color: var(--tonyo-white); margin-bottom:6px; }
.tonyo-group-banner p{ color:#C6CCDB; margin:0; max-width: 560px; }

/* CTA final */
.tonyo-cta-band{
  background: linear-gradient(120deg, var(--tonyo-gold) 0%, var(--tonyo-gold-light) 100%);
  color: var(--tonyo-navy-dark);
  text-align:center;
  padding: 60px 5%;
}
.tonyo-cta-band h2{ color: var(--tonyo-navy-dark); }
.tonyo-cta-band .tonyo-btn--outline{ border-color: var(--tonyo-navy-dark); color: var(--tonyo-navy-dark); }
.tonyo-cta-band .tonyo-btn--outline:hover{ background: var(--tonyo-navy-dark); color: var(--tonyo-white); }

/* ==========================================================================
   6. WOOCOMMERCE — BOUTIQUE
   ========================================================================== */
.woocommerce ul.products{
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 24px;
}
.woocommerce ul.products li.product{
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}
.woocommerce ul.products li.product .price{ color: var(--tonyo-navy); font-weight:700; }
.woocommerce span.onsale{
  background: var(--tonyo-gold) !important;
  border-radius: 50px;
}
.woocommerce ul.products li.product{
  border: 1px solid #ECE9E2;
  border-radius: var(--tonyo-radius);
  padding: 14px;
  transition: box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover{ box-shadow: var(--tonyo-shadow); }
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit,
.woocommerce-page a.button, .woocommerce-page button.button{
  background-color: var(--tonyo-navy) !important;
  color: var(--tonyo-white) !important;
  border-radius: var(--tonyo-radius) !important;
  font-weight: 600 !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce #respond input#submit:hover{
  background-color: var(--tonyo-gold) !important;
  color: var(--tonyo-navy-dark) !important;
}
.woocommerce ul.products li.product .added_to_cart,
.woocommerce a.added_to_cart{ color: var(--tonyo-navy); font-weight:600; }
.woocommerce div.product p.price ins,
.woocommerce div.product span.price{ color: var(--tonyo-navy); }
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current{
  background: var(--tonyo-navy) !important; color:#fff !important;
}

/* Bandeau info livraison/paiement au-dessus du catalogue */
.tonyo-shop-notice{
  background: var(--tonyo-cream);
  border-left: 4px solid var(--tonyo-gold);
  padding: 14px 18px;
  border-radius: 6px;
  margin-bottom: 28px;
  font-size: 14.5px;
  color: var(--tonyo-navy);
}

/* ==========================================================================
   7. WIDGETS DE PIED DE PAGE (compatibilité inc/widgets-areas.php)
   ========================================================================== */
.tonyo-footer-widget h2, .tonyo-footer-widget .widget-title{
  color: var(--tonyo-white);
  font-size: 16px;
  margin-bottom: 16px;
}
.tonyo-legal-line{
  font-size: 12.5px;
  color: #7C8399;
  text-align:center;
  padding-top: 18px;
  margin-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

/* ==========================================================================
   8. BLOG, ARCHIVES, RECHERCHE, SIDEBAR, COMMENTAIRES
   ========================================================================== */
.tonyo-blog-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(280px,1fr));
  gap: 28px;
  max-width: 1200px;
  margin: 0 auto;
}
.tonyo-card{
  background: var(--tonyo-white);
  border: 1px solid #ECE9E2;
  border-radius: var(--tonyo-radius);
  overflow: hidden;
  padding-bottom: 20px;
  transition: box-shadow .2s ease, transform .2s ease;
}
.tonyo-card:hover{ box-shadow: var(--tonyo-shadow); transform: translateY(-3px); }
.tonyo-card__thumb img{ width:100%; height:180px; object-fit:cover; display:block; }
.tonyo-card .entry-header,
.tonyo-card .entry-content,
.tonyo-card .entry-footer{ padding: 0 20px; }
.tonyo-card .entry-title{ font-size: 19px; margin: 16px 0 8px; }
.tonyo-card .entry-title a{ color: var(--tonyo-navy); }
.tonyo-card .entry-meta{ font-size: 13px; color: var(--tonyo-grey); margin-bottom: 10px; }

.tonyo-no-results{
  max-width: 640px; margin: 0 auto; text-align:center;
  padding: 40px; background: var(--tonyo-cream); border-radius: var(--tonyo-radius);
}

.tonyo-sidebar{ max-width: 340px; margin: 0 auto; padding: 0 5% 60px; }
.tonyo-sidebar-widget{
  background: var(--tonyo-cream);
  border-radius: var(--tonyo-radius);
  padding: 20px;
  margin-bottom: 20px;
}
.tonyo-sidebar-widget .widget-title{ color: var(--tonyo-navy); font-size:16px; margin-bottom:10px; }

.tonyo-search-form{ display:flex; gap:10px; }
.tonyo-search-form .search-field{
  flex:1; padding: 12px 16px; border-radius: var(--tonyo-radius);
  border: 1px solid #D8D4CA; font-family: var(--tonyo-font-body);
}
.tonyo-search-form .search-submit{ border:none; cursor:pointer; }

.comments-area .comment-list{ list-style:none; margin:0; padding:0; }
.comments-area .comments-title{ margin-bottom: 20px; }
.comments-area .comment-form input[type="text"],
.comments-area .comment-form input[type="email"],
.comments-area .comment-form input[type="url"],
.comments-area .comment-form textarea{
  width:100%; padding: 12px 14px; margin-bottom: 14px;
  border: 1px solid #D8D4CA; border-radius: var(--tonyo-radius);
  font-family: var(--tonyo-font-body);
}
.comments-area .comment-form input[type="submit"]{
  background: var(--tonyo-navy); color:#fff; border:none;
  padding: 12px 26px; border-radius: var(--tonyo-radius); font-weight:600; cursor:pointer;
}
.comments-area .comment-form input[type="submit"]:hover{ background: var(--tonyo-gold); color: var(--tonyo-navy-dark); }

.post-navigation{ max-width:1200px; margin: 30px auto; display:flex; justify-content:space-between; gap:20px; }
.post-navigation .nav-subtitle{ display:block; font-size:12px; text-transform:uppercase; color: var(--tonyo-grey); }
.post-navigation .nav-title{ color: var(--tonyo-navy); font-weight:600; }

/* ==========================================================================
   9. RESPONSIVE — couverture multi-breakpoints (mobile → grand écran)
   ========================================================================== */

/* ≥ 1440px — grands écrans / 4K : on plafonne la largeur pour garder une
   lecture confortable, tout en laissant le fond s'étendre. */
@media (min-width: 1440px){
  .tonyo-masthead__inner,
  .tonyo-blog-grid,
  .tonyo-activities,
  .tonyo-footer__widgets,
  .tonyo-footer__bottom,
  .woocommerce ul.products{
    max-width: 1320px;
  }
}

/* 901px – 1199px — petits laptops / tablettes larges en paysage */
@media (max-width: 1199px){
  .tonyo-hero{ padding: 70px 5% 80px; }
  .tonyo-activities{ grid-template-columns: repeat(auto-fit, minmax(210px,1fr)); }
}

/* ≤ 900px — tablettes portrait : le menu principal bascule en mobile
   (règles déjà définies plus haut avec .tonyo-main-nav / .tonyo-menu-toggle) */
@media (max-width: 900px){
  .tonyo-section{ padding: 50px 6%; }
  .tonyo-hero{ padding: 60px 6% 70px; }
  .tonyo-group-banner{ flex-direction: column; text-align:center; }
  .tonyo-page-contact section[style*="grid-template-columns"]{ grid-template-columns: 1fr !important; }
}

/* ≤ 768px — tablettes portrait / phablettes */
@media (max-width: 768px){
  .tonyo-hero__cta{ flex-direction: column; align-items: stretch; }
  .tonyo-hero__cta .tonyo-btn{ text-align:center; }
  .tonyo-stats{ grid-template-columns: repeat(2, 1fr); }
  .woocommerce ul.products{ grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); }
}

/* ≤ 600px — grands smartphones (paysage) / petites tablettes */
@media (max-width: 600px){
  .tonyo-masthead__inner{ padding: 10px 5%; }
  .tonyo-topbar{ flex-direction: column; align-items: flex-start; gap:6px; }
  .tonyo-topbar__contact{ flex-direction: column; gap:4px; }
  .tonyo-activities{ grid-template-columns: 1fr; }
  .tonyo-blog-grid{ grid-template-columns: 1fr; }
  .tonyo-stats{ grid-template-columns: 1fr 1fr; gap:16px; }
  .post-navigation{ flex-direction: column; gap:10px; }
}

/* ≤ 480px — smartphones standards (portrait) */
@media (max-width: 480px){
  .tonyo-hero h1{ font-size: clamp(24px, 7vw, 32px); }
  .tonyo-hero p{ font-size: 15px; }
  .tonyo-section__head h2{ font-size: clamp(22px, 6vw, 28px); }
  .woocommerce ul.products{ grid-template-columns: 1fr 1fr; gap:14px; }
  .tonyo-cta-band{ padding: 44px 6%; }
}

/* ≤ 380px — petits smartphones (SE, entrée de gamme) */
@media (max-width: 380px){
  .tonyo-btn{ padding: 12px 18px; font-size: 14px; width:100%; }
  .tonyo-hero__cta{ gap:10px; }
  .woocommerce ul.products{ grid-template-columns: 1fr; }
  .tonyo-stats{ grid-template-columns: 1fr; }
}

/* Orientation paysage sur mobile : réduire les hauteurs verticales excessives */
@media (max-height: 480px) and (orientation: landscape){
  .tonyo-hero{ padding: 36px 6%; }
}

/* Utilisateurs préférant moins d'animations (accessibilité) */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* ==========================================================================
   10. PAGE CONTACT — deux colonnes (coordonnées + formulaire)
   ========================================================================== */
.tonyo-contact-grid{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 5% 70px;
  align-items: start;
}
.tonyo-contact-col{
  background: var(--tonyo-white);
  border: 1px solid #ECE9E2;
  border-radius: var(--tonyo-radius);
  padding: 32px;
}
.tonyo-contact-col h2{ margin-bottom: 18px; }
.tonyo-contact-facts{ list-style:none; margin:0 0 22px; padding:0; }
.tonyo-contact-facts li{ margin-bottom: 10px; font-size: 15px; }
.tonyo-contact-highlights{
  display:flex; flex-direction:column; gap:8px;
  background: var(--tonyo-cream); border-radius: var(--tonyo-radius);
  padding: 16px 18px; margin-bottom: 22px; font-size: 14px; color: var(--tonyo-navy);
}
.tonyo-contact-map iframe{ border-radius: var(--tonyo-radius); }

.tonyo-contact-form{ display:flex; flex-direction:column; gap:16px; }
.tonyo-contact-form input[type="text"],
.tonyo-contact-form input[type="email"],
.tonyo-contact-form input[type="tel"],
.tonyo-contact-form select,
.tonyo-contact-form textarea{
  width:100%; padding: 13px 16px;
  border: 1px solid #D8D4CA; border-radius: var(--tonyo-radius);
  font-family: var(--tonyo-font-body); font-size: 15px; color:#222;
  background: var(--tonyo-white);
}
.tonyo-contact-form textarea{ resize: vertical; }
.tonyo-form-fieldset{
  border: 1px solid #ECE9E2; border-radius: var(--tonyo-radius);
  padding: 16px 18px; display:flex; flex-direction:column; gap:8px;
}
.tonyo-form-fieldset legend{ font-weight:700; color: var(--tonyo-navy); padding: 0 6px; font-size: 14px; }
.tonyo-form-fieldset label{ font-size: 14.5px; display:flex; align-items:center; gap:8px; }
.tonyo-form-consent{ display:flex; align-items:flex-start; gap:10px; font-size: 13.5px; color: var(--tonyo-grey); line-height:1.5; }
.tonyo-form-consent input{ margin-top: 3px; }
.tonyo-form-submit{ border:none; cursor:pointer; align-self:flex-start; }

.tonyo-form-notice{
  padding: 14px 18px; border-radius: var(--tonyo-radius); margin-bottom: 20px; font-size: 14.5px;
}
.tonyo-form-notice--success{ background: rgba(14,122,60,0.12); color: var(--tonyo-gold); border-left: 4px solid var(--tonyo-gold); }
.tonyo-form-notice--error{ background: rgba(178,42,42,0.1); color: #8A1F1F; border-left: 4px solid #8A1F1F; }

@media (max-width: 900px){
  .tonyo-contact-grid{ grid-template-columns: 1fr; }
}

/* ==========================================================================
   12. GRILLE DES OFFRES
   ========================================================================== */
.tonyo-offers-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 26px;
  max-width: 1200px;
  margin: 0 auto;
}
.tonyo-offer-card{
  position: relative;
  background: var(--tonyo-white);
  border: 1px solid #ECE9E2;
  border-radius: var(--tonyo-radius);
  padding: 30px 26px;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.tonyo-offer-card:hover{ transform: translateY(-4px); box-shadow: var(--tonyo-shadow); }
.tonyo-offer-card--soon{ background: var(--tonyo-cream); }
.tonyo-offer-card__audience{
  font-size: 12.5px; text-transform:uppercase; letter-spacing:.4px;
  color: var(--tonyo-gold); font-weight:700; margin:0;
}
.tonyo-offer-card h3{ margin: 0; font-size: 19px; }
.tonyo-offer-card p{ color: var(--tonyo-grey); font-size: 14.5px; margin:0; }
.tonyo-offer-card .tonyo-btn{ margin-top: 10px; align-self:flex-start; text-decoration:none; }
.tonyo-activity-card{ position: relative; display:block; text-decoration:none; color:inherit; }
.tonyo-activity-card__badge{
  position:absolute; top:14px; right:14px;
  background: var(--tonyo-cream); color: var(--tonyo-navy);
  font-size: 11px; font-weight:700; text-transform:uppercase;
  padding: 4px 10px; border-radius: 50px; letter-spacing:.4px;
}
