/*
Theme Name: Anim'07
Theme URI: https://www.anim07.com
Author: Anim'07
Description: Thème WordPress sur-mesure pour Anim'07 - location de structures gonflables, Laser Game Mobile et animations événementielles en Ardèche.
Version: 1.0
Text Domain: anim07
*/

  :root{
    --jungle-dark:#1E5B1F;
    --jungle-mid:#3C8A2E;
    --jungle-light:#63B33C;
    --red:#EB4B5C;
    --blue:#1E5FD6;
    --green:#6DC24B;
    --orange:#F5A623;
    --pink:#E8449A;
    --teal:#189BAA;
    --purple:#8C3FC9;
    --cream:#FFFDF3;
    --ink:#1B3B1A;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{overflow-x:hidden;}
  body{overflow-x:hidden;}
  body{
    font-family:'Nunito', sans-serif;
    color:var(--ink);
    background:var(--cream);
    line-height:1.6;
    padding-bottom:58px;
  }
  h1,h2,h3,.brand-text,.pill{font-family:'Baloo 2', sans-serif; font-weight:700;}
  img{max-width:100%; display:block;}
  a{text-decoration:none; color:inherit; cursor:pointer;}
  .wrap{max-width:1200px; margin:0 auto; padding:0 32px;}

  .jungle-bg{
    background:
      radial-gradient(ellipse at 85% 0%, rgba(109,194,75,0.16), transparent 45%),
      linear-gradient(160deg, #0A1F0C 0%, #123815 55%, #1E5B1F 100%);
    position:relative;
    overflow:hidden;
  }
  .jungle-bg::before{
    content:"";
    position:absolute; inset:0; pointer-events:none; opacity:0.10; z-index:0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-width='3'%3E%3Cpath d='M20 190 C 20 130, 60 90, 40 30 C 90 60, 100 120, 60 170 C 80 150, 90 120, 85 90'/%3E%3Cpath d='M170 40 C 150 90, 180 120, 150 180 C 130 140, 140 100, 110 70 C 130 90, 145 110, 150 130'/%3E%3Cpath d='M200 10 C 195 30, 205 45, 195 65' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
    background-size:220px 220px; background-repeat:repeat;
  }
  .jungle-bg > *{position:relative; z-index:1;}
  .laser-page-bg{
    background:
      radial-gradient(ellipse at 85% 0%, rgba(235,75,92,0.25), transparent 45%),
      linear-gradient(160deg, #0A0A0C 0%, #1A0E10 55%, #2B1013 100%);
    position:relative;
    overflow:hidden;
  }
  .laser-beam{
    position:absolute; height:3px; width:160%; left:-30%;
    background:linear-gradient(90deg, transparent, rgba(235,20,40,0) 5%, rgba(255,40,60,0.9) 50%, rgba(235,20,40,0) 95%, transparent);
    box-shadow:0 0 12px 2px rgba(255,30,50,0.7), 0 0 24px 4px rgba(255,30,50,0.35);
    pointer-events:none; z-index:0;
    animation:laser-flicker 3.4s ease-in-out infinite;
  }
  .laser-beam.l1{top:14%; transform:rotate(-9deg); animation-delay:0s;}
  .laser-beam.l2{top:32%; transform:rotate(6deg); animation-delay:0.6s;}
  .laser-beam.l3{top:52%; transform:rotate(-4deg); animation-delay:1.2s;}
  .laser-beam.l4{top:70%; transform:rotate(10deg); animation-delay:1.8s;}
  .laser-beam.l5{top:86%; transform:rotate(-7deg); animation-delay:2.4s;}
  @keyframes laser-flicker{
    0%,100%{opacity:0.55;}
    45%{opacity:1;}
    50%{opacity:0.25;}
    55%{opacity:0.95;}
  }
  .laser-page-bg > *{position:relative; z-index:1;}
  .laser-page-bg .section-head h1{color:white;}
  .laser-page-bg .section-head p{color:rgba(255,255,255,0.92);}
  .laser-page-bg .stat-chip{color:white;}
  .laser-noveau{
    font-family:'Baloo 2',sans-serif; font-weight:800; letter-spacing:3px;
    font-size:1.7rem; color:var(--red); text-shadow:0 0 10px rgba(255,40,60,0.85), 0 0 26px rgba(255,40,60,0.55);
    margin-bottom:10px; display:block;
  }
  .jungle-hero-bg{
    background:
      radial-gradient(ellipse at 15% 0%, rgba(255,255,255,0.10), transparent 40%),
      linear-gradient(160deg, var(--jungle-dark) 0%, var(--jungle-mid) 55%, var(--jungle-light) 100%);
    position:relative;
    overflow:hidden;
  }
  .jungle-hero-bg::before{
    content:"";
    position:absolute; inset:0; pointer-events:none; opacity:0.16;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-width='3'%3E%3Cpath d='M20 190 C 20 130, 60 90, 40 30 C 90 60, 100 120, 60 170 C 80 150, 90 120, 85 90'/%3E%3Cpath d='M170 40 C 150 90, 180 120, 150 180 C 130 140, 140 100, 110 70 C 130 90, 145 110, 150 130'/%3E%3Cpath d='M200 10 C 195 30, 205 45, 195 65' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
    background-size:220px 220px;
    background-repeat:repeat;
  }
  .jungle-hero-bg > *{position:relative; z-index:1;}
  .vine{
    position:absolute; opacity:0.35; pointer-events:none;
  }
  .leaf-outline{ text-shadow: 2px 2px 0 rgba(0,0,0,0.15); }

  /* white outline text effect for headings on dark bg */
  .stroke-white{
    color:var(--orange);
    -webkit-text-stroke: 3px white;
    paint-order: stroke fill;
    text-shadow: 3px 4px 0 rgba(0,0,0,0.18);
  }

  /* HEADER */
  header{
    position:fixed; top:0; left:0; width:100%; z-index:100;
    background:var(--jungle-dark);
  }
  .header-inner{
    display:flex; align-items:center; justify-content:space-between;
    gap:16px; max-width:1500px; margin:0 auto; padding:14px 20px;
    flex-wrap:nowrap;
  }
  .top-bar{background:#123815; padding:7px 0;}
  .top-bar-inner{display:flex; align-items:center; justify-content:flex-end; gap:20px;}
  .top-bar-phone{
    display:flex; align-items:center; gap:6px; color:rgba(255,255,255,0.85);
    font-family:'Baloo 2',sans-serif; font-weight:700; font-size:0.78rem;
  }
  .top-bar-phone:hover{color:white;}
  .top-bar-socials{display:flex; align-items:center; gap:8px;}
  .top-bar-socials a{display:flex; opacity:0.85;}
  .top-bar-socials a:hover{opacity:1;}
  @media(max-width:1024px){ .top-bar{display:none;} }
  .header-contact .social-group{display:flex; align-items:center; gap:10px; padding-left:16px; border-left:1.5px solid rgba(255,255,255,0.25);}
  .header-contact a.phone-link{
    color:white; font-weight:700; font-family:'Baloo 2',sans-serif; font-size:0.84rem;
    display:flex; align-items:center; gap:6px; white-space:nowrap;
  }
  .phone-num-btn{
    display:flex; align-items:center; gap:7px; color:white; font-family:'Baloo 2',sans-serif;
    font-weight:700; font-size:0.86rem; white-space:nowrap; flex-shrink:0;
    background:rgba(255,255,255,0.12); border:1.5px solid rgba(255,255,255,0.35);
    border-radius:100px; padding:9px 14px;
  }
  .phone-num-btn:hover{background:rgba(255,255,255,0.24);}
  .social-ic{display:flex; flex-shrink:0;}
  .nouveaute-pill{
    display:flex; align-items:center; gap:6px; background:rgba(235,75,92,0.18);
    border:1.5px solid var(--red); color:white; font-family:'Baloo 2',sans-serif;
    font-weight:700; font-size:0.78rem; padding:8px 14px; border-radius:100px; white-space:nowrap;
  }
  .nouveaute-pill::before{
    content:""; width:7px; height:7px; border-radius:50%; background:var(--red);
    box-shadow:0 0 6px 2px rgba(235,75,92,0.7); flex-shrink:0;
  }
  .header-contact .socials{display:flex; align-items:center; gap:8px;}
  .header-contact .socials a{
    width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,0.15);
    display:flex; align-items:center; justify-content:center; color:white;
    border:1.5px solid rgba(255,255,255,0.3);
  }
  .header-contact .socials a:hover{background:rgba(255,255,255,0.3);}
  .devis-btn{
    background:var(--red); color:white; font-family:'Baloo 2',sans-serif; font-weight:700;
    padding:10px 18px; border-radius:100px; font-size:0.82rem; white-space:nowrap;
    border:2px solid white; box-shadow:0 4px 0 rgba(0,0,0,0.18); margin-left:6px;
  }
  .logo-wrap{display:flex; align-items:center; gap:10px; flex-shrink:0;}
  .logo-wrap img{height:100px; width:auto;}
  nav ul{
    list-style:none; display:flex; gap:5px; font-weight:700; font-size:0.8rem;
    flex-wrap:nowrap; justify-content:center;
  }
  nav > ul > li{position:relative;}
  nav > ul > li > a{
    display:block; padding:10px 13px; border-radius:100px; color:white;
    border:2.5px solid white; white-space:nowrap; text-transform:uppercase;
    box-shadow:0 4px 0 rgba(0,0,0,0.18);
  }
  nav > ul > li:nth-child(1) > a{background:var(--red);}
  nav > ul > li:nth-child(2) > a{background:var(--blue);}
  nav > ul > li:nth-child(3) > a{background:var(--green);}
  nav > ul > li:nth-child(4) > a{background:var(--orange);}
  nav > ul > li:nth-child(5) > a{background:var(--pink);}
  nav > ul > li:nth-child(6) > a{background:var(--teal);}
  nav > ul > li:nth-child(7) > a{background:var(--purple);}
  .dropdown{
    display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%);
    background:white; border-radius:18px; box-shadow:0 16px 40px rgba(0,0,0,0.28);
    padding:16px; min-width:280px; z-index:20; border:3px solid var(--jungle-mid);
    margin-top:8px;
  }
  nav .has-sub{padding-bottom:14px; margin-bottom:-14px; position:relative;}
  nav .has-sub::after{
    content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%);
    width:420px; height:18px; z-index:19;
  }
  nav .has-sub:hover .dropdown{display:block;}
  .dropdown-label{
    font-family:'Baloo 2',sans-serif; font-size:0.85rem; color:var(--jungle-dark); font-weight:700;
    margin-bottom:8px; padding:0 8px;
  }
  .dropdown-list{display:grid; gap:3px;}
  .dropdown.cols-2 .dropdown-list{grid-template-columns:1fr 1fr; gap:3px 20px; min-width:400px;}
  .dropdown a{
    display:block; padding:8px 10px; border-radius:8px; font-size:0.9rem; color:var(--ink); white-space:nowrap; font-weight:600;
  }
  .dropdown a:hover{background:#EFF9EA; color:var(--jungle-dark);}
  .header-spacer{height:128px;}

  /* CATALOGUE SECTIONS */
  .cat-section{padding:60px 0;}
  .cat-header{
    display:flex; align-items:center; gap:16px; margin-bottom:30px; flex-wrap:wrap;
  }
  .cat-badge{
    color:white; font-family:'Baloo 2',sans-serif; font-weight:700; font-size:1.3rem;
    padding:10px 24px; border-radius:100px; border:3px solid white;
    box-shadow:0 5px 0 rgba(0,0,0,0.15);
  }
  .cat-badge.c1{background:var(--red);}
  .cat-badge.c2{background:var(--blue);}
  .cat-badge.c3{background:var(--green);}
  .cat-badge.c4{background:var(--orange);}
  .cat-badge.c5{background:var(--pink);}
  .cat-badge.c6{background:var(--teal);}
  .cat-badge.c7{background:var(--purple);}
  .cat-sub{color:#5A6653; font-weight:600; font-size:0.95rem;}
  .prod-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
  }
  .prod-card{
    background:white; border-radius:20px; overflow:hidden;
    border:3px solid #E4F2DD; box-shadow:0 8px 20px rgba(30,91,31,0.08);
    display:flex; flex-direction:column;
  }
  .prod-photo{
    height:110px; display:flex; align-items:center; justify-content:center;
    font-family:'Baloo 2',sans-serif; color:white; font-size:0.82rem; text-align:center; padding:8px;
  }
  .prod-body{padding:14px 16px 16px;}
  .prod-body h4{font-family:'Baloo 2',sans-serif; font-size:0.98rem; margin-bottom:6px; color:var(--ink);}
  .prod-price{
    font-family:'Baloo 2',sans-serif; font-size:0.88rem; color:var(--jungle-dark); font-weight:600;
  }
  .prod-price .from{color:#5A6653; font-weight:500; font-size:0.8rem; display:block;}
  .see-more{
    display:inline-block; margin-top:8px; font-family:'Baloo 2',sans-serif; font-weight:700;
    color:white; padding:10px 22px; border-radius:100px; border:2.5px solid white; font-size:0.9rem;
  }
  @media(max-width:900px){ .prod-grid{grid-template-columns:repeat(2,1fr);} }

  /* TEXT TICKER */
  .text-ticker{
    background:linear-gradient(90deg,var(--red),#c62f3f);
    padding:14px 0; overflow:hidden; border-top:3px solid white;
    position:fixed; bottom:0; left:0; width:100%; z-index:95;
  }
  .text-ticker-track{
    display:flex; gap:0; width:max-content;
    animation:marquee-scroll 110s linear infinite;
  }
  .ticker-item{
    display:flex; align-items:center; gap:16px; font-family:'Baloo 2',sans-serif;
    font-weight:700; color:white; font-size:1.05rem; white-space:nowrap; padding:0 28px;
  }
  .ticker-item .dot{color:var(--yellow); font-size:0.9rem;}

  /* PHOTO MARQUEE CAROUSEL */
  .marquee-wrap{
    overflow:hidden; padding:36px 0; background:var(--jungle-dark); position:relative;
  }
  .marquee-track{
    display:flex; gap:20px; width:max-content;
    animation:marquee-scroll 34s linear infinite;
  }
  .marquee-track img{
    height:190px; width:190px; object-fit:cover; border-radius:20px; border:3px solid white;
    box-shadow:0 8px 20px rgba(0,0,0,0.25);
  }
  @keyframes marquee-scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  /* STATS BAND */
  .stats-band{
    background:linear-gradient(120deg,var(--jungle-dark),var(--jungle-mid));
    padding:46px 0;
  }
  .stats-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;
  }
  .stat-num{
    font-family:'Baloo 2',sans-serif; font-weight:700; color:var(--yellow); font-size:2.4rem; line-height:1;
  }
  .stat-label{color:white; font-weight:600; font-size:0.92rem; margin-top:8px;}
  @media(max-width:820px){ .stats-grid{grid-template-columns:repeat(2,1fr);} }

  /* FORMULES */
  .formule-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
  .formule-card{
    background:white; border-radius:26px; padding:32px; border:3px solid #E4F2DD;
    position:relative;
  }
  .formule-card.highlight{border-color:var(--orange); background:#FFF9EC;}
  .formule-tag{
    display:inline-block; font-family:'Baloo 2',sans-serif; font-weight:700; font-size:0.8rem;
    color:white; background:var(--orange); padding:6px 16px; border-radius:100px; margin-bottom:14px;
  }
  .formule-card h3{font-family:'Baloo 2',sans-serif; font-size:1.25rem; color:var(--ink); margin-bottom:10px;}
  .formule-card p{color:#4D5A46; font-weight:600; font-size:0.95rem; margin-bottom:6px;}
  @media(max-width:820px){ .formule-grid{grid-template-columns:1fr;} }

  /* GOOGLE REVIEWS MARQUEE */
  .reviews-wrap{background:#FFF3E6; padding:56px 0; overflow:hidden;}
  .reviews-track{display:flex; gap:22px; width:max-content; animation:marquee-scroll 40s linear infinite;}
  .review-card{
    background:white; border-radius:20px; padding:22px; width:300px; flex-shrink:0;
    border:3px solid white; box-shadow:0 8px 20px rgba(30,91,31,0.1);
  }
  .review-stars{color:#F5A623; font-size:1rem; margin-bottom:10px; letter-spacing:2px;}
  .review-text{color:#3A4436; font-size:0.9rem; font-weight:600; margin-bottom:14px; line-height:1.5;}
  .review-author{display:flex; align-items:center; gap:10px;}
  .review-avatar{
    width:36px; height:36px; border-radius:50%; background:var(--blue); color:white;
    display:flex; align-items:center; justify-content:center; font-family:'Baloo 2',sans-serif; font-weight:700;
  }
  .review-name{font-family:'Baloo 2',sans-serif; font-weight:600; font-size:0.9rem; color:var(--ink);}
  .review-google{font-size:0.75rem; color:#8AA085;}

  /* SECURITY BANNER */
  .security-banner{
    background:linear-gradient(120deg,var(--orange),#c9770f);
    padding:56px 0; color:white;
  }
  .security-banner .section-head h2{color:white;}
  .security-banner .section-head p{color:rgba(255,255,255,0.92);}
  .security-list{
    display:grid; grid-template-columns:repeat(2,1fr); gap:18px; max-width:900px; margin:0 auto;
  }
  .security-item{
    background:rgba(255,255,255,0.14); border:2px solid rgba(255,255,255,0.4);
    border-radius:18px; padding:18px 22px; font-weight:600; font-size:0.95rem;
  }
  @media(max-width:820px){ .security-list{grid-template-columns:1fr;} }

  /* LASER DETAIL SECTION */
  .laser-detail{
    background:linear-gradient(135deg,#2A1245,#4A1F7A 55%,#7A2FA8);
    padding:70px 0; color:white; position:relative; overflow:hidden;
  }
  .laser-detail .section-head h2{color:white;}
  .laser-detail .section-head p{color:rgba(255,255,255,0.85);}
  .laser-grid{display:flex; gap:44px; align-items:center; flex-wrap:wrap;}
  .laser-grid > div{flex:1; min-width:280px;}
  .laser-photo-frame{
    border-radius:24px; overflow:hidden; border:4px solid rgba(255,255,255,0.25); aspect-ratio:1/0.75;
  }
  .laser-photo-frame img{width:100%; height:100%; object-fit:cover; display:block;}
  .chip-row{display:flex; gap:12px; flex-wrap:wrap; margin:20px 0 24px;}
  .stat-chip{
    background:rgba(255,255,255,0.14); border:2px solid rgba(255,255,255,0.45);
    border-radius:100px; padding:10px 18px; font-family:'Baloo 2',sans-serif; font-weight:700; font-size:0.88rem;
  }

  /* HERO */
  .hero{padding:40px 0 130px; position:relative;}
  .hero .wrap{display:flex; align-items:center; gap:48px; position:relative; z-index:5;}
  .hero-text{flex:1; color:white;}
  .eyebrow-badge{
    display:inline-block; background:var(--orange); color:white;
    font-family:'Baloo 2',sans-serif; font-weight:700; font-size:0.9rem;
    padding:8px 20px; border-radius:100px; transform:rotate(-3deg);
    margin-bottom:22px; border:3px solid white;
  }
  .hero-text h1{font-size:3rem; line-height:1.1; margin-bottom:20px;}
  .hero-text p{font-size:1.12rem; max-width:460px; opacity:0.96; margin-bottom:30px; font-weight:600;}
  .hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}
  .btn-primary{
    background:var(--green); color:white; font-family:'Baloo 2',sans-serif;
    font-weight:700; padding:16px 32px; border-radius:100px;
    border:3px solid white; box-shadow:0 6px 0 rgba(0,0,0,0.2); font-size:1.05rem;
  }
  .btn-ghost{
    border:3px solid white; color:white; font-family:'Baloo 2',sans-serif;
    font-weight:700; padding:14px 30px; border-radius:100px; font-size:1.05rem;
  }
  .hero-visual{flex:1; position:relative;}
  .photo-frame{
    background:white; border-radius:32px; padding:10px; transform:rotate(2deg);
    box-shadow:0 20px 50px rgba(0,0,0,0.3);
  }
  .photo-frame-inner{
    position:relative; overflow:hidden; border-radius:24px; aspect-ratio:1/0.82;
  }
  .photo-frame-inner .slide{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    opacity:0; transition:opacity .5s ease;
  }
  .photo-frame-inner .slide.active{opacity:1;}
  .slider-arrow{
    position:absolute; top:50%; transform:translateY(-50%); z-index:5;
    width:42px; height:42px; border-radius:50%; background:rgba(20,24,20,0.5); color:white;
    border:2px solid white; display:flex; align-items:center; justify-content:center;
    cursor:pointer; font-size:1.3rem; font-weight:700; line-height:1; padding:0;
  }
  .slider-arrow:hover{background:rgba(20,24,20,0.8);}
  .slider-arrow.prev{left:12px;}
  .slider-arrow.next{right:12px;}
  .slider-dots{
    position:absolute; bottom:14px; left:50%; transform:translateX(-50%); z-index:5;
    display:flex; gap:7px;
  }
  .slider-dots span{
    width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.5); cursor:pointer;
  }
  .slider-dots span.active{background:white;}
  .fade-slide{
    position:absolute; top:0; left:0; width:100%; height:100%;
    border-radius:24px; object-fit:cover; opacity:0;
    animation:fade-cycle 12s infinite;
  }
  .fade-slide:nth-child(1){animation-delay:0s;}
  .fade-slide:nth-child(2){animation-delay:3s;}
  .fade-slide:nth-child(3){animation-delay:6s;}
  .fade-slide:nth-child(4){animation-delay:9s;}
  @keyframes fade-cycle{
    0%{opacity:0;}
    4%{opacity:1;}
    25%{opacity:1;}
    29%{opacity:0;}
    100%{opacity:0;}
  }
  .photo-inner{
    background:linear-gradient(135deg,var(--orange),var(--red));
    border-radius:24px; aspect-ratio:1/0.82; display:flex; align-items:center; justify-content:center;
    color:white; font-family:'Baloo 2',sans-serif; text-align:center; padding:20px;
  }
  .float-badge{
    position:absolute; background:white; font-family:'Baloo 2',sans-serif;
    font-weight:700; padding:11px 20px; border-radius:100px; font-size:0.9rem;
    box-shadow:0 8px 20px rgba(0,0,0,0.25); border:3px solid;
  }
  .float-badge.b1{top:-16px; left:-16px; transform:rotate(-8deg); color:var(--red); border-color:var(--red);}
  .float-badge.b2{bottom:14px; right:-22px; transform:rotate(6deg); color:var(--red); border-color:var(--red);}

  .scallop{
    position:absolute; bottom:-1px; left:0; width:100%; height:56px;
    background-image: radial-gradient(circle at 12px 0, transparent 14px, var(--cream) 14.5px);
    background-size:28px 28px; background-position:0 -14px; z-index:6;
  }

  /* SECTION GENERIC */
  section{padding:76px 0;}
  .section-head{text-align:center; max-width:640px; margin:0 auto 50px;}
  .section-head h2{font-size:2.1rem; color:var(--jungle-dark); margin-bottom:12px;}
  .section-head p{color:#4D5A46; font-weight:600;}

  /* PILL CATEGORY LIST (inspired directly by the flyer) */
  .pill-row{display:flex; flex-wrap:wrap; gap:14px; justify-content:center;}
  .pill{
    color:white; padding:13px 26px; border-radius:100px; font-size:1rem;
    border:3px solid white; box-shadow:0 5px 0 rgba(0,0,0,0.15);
  }
  .pill.c1{background:var(--red);}
  .pill.c2{background:var(--blue);}
  .pill.c3{background:var(--green);}
  .pill.c4{background:var(--orange);}
  .pill.c5{background:var(--pink);}
  .pill.c6{background:var(--teal);}
  .pill.c7{background:var(--purple);}

  /* WHY US */
  .why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .why-card{
    background:white; border-radius:26px; padding:30px 24px;
    border:3px solid #E4F2DD; text-align:center;
  }
  .why-card .icon{
    width:60px; height:60px; border-radius:50%; margin:0 auto 16px;
    display:flex; align-items:center; justify-content:center; font-size:1.7rem; color:white;
    border:3px solid white; box-shadow:0 5px 0 rgba(0,0,0,0.12);
  }
  .why-card:nth-child(1) .icon{background:var(--red);}
  .why-card:nth-child(2) .icon{background:var(--blue);}
  .why-card:nth-child(3) .icon{background:var(--green);}
  .why-card h3{font-size:1.1rem; margin-bottom:8px; color:var(--ink);}
  .why-card p{font-size:0.95rem; color:#5A6653; font-weight:600;}

  /* HOW IT WORKS */
  .how{background:var(--blue-tint);}
  .how-steps{display:flex; gap:0; justify-content:space-between; margin-top:10px;}
  .how-step{flex:1; text-align:center; padding:0 16px;}
  .how-step .num{
    width:54px; height:54px; border-radius:50%; background:var(--orange); color:white;
    font-family:'Baloo 2',sans-serif; font-weight:700; font-size:1.35rem;
    display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
    border:3px solid white; box-shadow:0 5px 0 rgba(0,0,0,0.15);
  }
  .how-step h3{font-size:1.05rem; margin-bottom:8px;}
  .how-step p{font-size:0.92rem; color:#4D5A46; font-weight:600;}

  /* SERVICES PREVIEW */
  .services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .service-card{
    border-radius:26px; overflow:hidden; background:white;
    box-shadow:0 10px 26px rgba(30,91,31,0.14); border:3px solid #E4F2DD;
  }
  .service-photo{
    height:150px; display:flex; align-items:center; justify-content:center;
    font-family:'Baloo 2',sans-serif; color:white; font-size:0.95rem; text-align:center; padding:10px;
  }
  .service-photo.p1{background:linear-gradient(135deg,var(--red),#c62f3f);}
  .service-photo.p2{background:linear-gradient(135deg,var(--blue),#1245a8);}
  .service-photo.p3{background:linear-gradient(135deg,var(--teal),#0f6b76);}
  .service-body{padding:20px;}
  .service-body h3{font-size:1.08rem; margin-bottom:6px;}
  .service-body p{font-size:0.9rem; color:#5A6653; margin-bottom:12px; font-weight:600;}
  .service-link{color:var(--jungle-mid); font-weight:700; font-family:'Baloo 2',sans-serif; font-size:0.9rem;}

  /* CTA BANNER */
  .cta-banner{
    background:linear-gradient(120deg,var(--red),#c62f3f);
    border-radius:32px; padding:54px 46px;
    display:flex; align-items:center; justify-content:space-between; gap:28px;
    color:white; flex-wrap:wrap; border:4px solid white;
  }
  .cta-banner h2{font-size:1.8rem; margin-bottom:8px;}
  .cta-banner p{opacity:0.94; font-weight:600;}

  /* FOOTER */
  footer{background:var(--ink); color:#C8D6C2; padding:54px 0 28px;}
  .footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr; gap:38px; margin-bottom:36px;}
  footer h4{font-family:'Baloo 2',sans-serif; color:white; margin-bottom:14px; font-size:1rem;}
  footer ul{list-style:none;}
  footer li{margin-bottom:8px; font-size:0.92rem; font-weight:600;}
  .footer-brand{display:flex; align-items:center; gap:8px; margin-bottom:12px;}
  .footer-brand img{height:72px; width:auto;}
  .footer-bottom{border-top:1px solid #2E4A2A; padding-top:20px; font-size:0.82rem; text-align:center; color:#7C8F73;}

  @media(max-width:1024px){ nav{display:none;} }

  /* HAMBURGER BUTTON */
  .hamburger-btn{
    display:none; flex-direction:column; justify-content:center; align-items:center;
    gap:5px; width:44px; height:44px; border-radius:12px; border:2px solid rgba(255,255,255,0.4);
    background:rgba(255,255,255,0.1); cursor:pointer; flex-shrink:0; padding:0;
  }
  .hamburger-btn span{width:22px; height:3px; background:white; border-radius:3px; transition:all .25s ease;}
  .hamburger-btn.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .hamburger-btn.open span:nth-child(2){opacity:0;}
  .hamburger-btn.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
  @media(max-width:1024px){ .hamburger-btn{display:flex;} }

  /* MOBILE MENU DRAWER */
  .mobile-menu-overlay{
    display:none; position:fixed; inset:0; background:rgba(10,20,10,0.55); z-index:198;
    opacity:0; transition:opacity .25s ease;
  }
  .mobile-menu-overlay.open{display:block; opacity:1;}
  .mobile-menu{
    position:fixed; top:0; right:0; height:100%; width:min(340px, 86vw); background:var(--cream);
    z-index:199; box-shadow:-10px 0 30px rgba(0,0,0,0.3); transform:translateX(100%);
    transition:transform .3s ease; overflow-y:auto; display:flex; flex-direction:column;
  }
  .mobile-menu.open{transform:translateX(0);}
  .mobile-menu-top{
    display:flex; align-items:center; justify-content:space-between; padding:18px 20px;
    background:var(--jungle-dark); flex-shrink:0;
  }
  .mobile-menu-logo{height:52px; width:auto;}
  .mobile-menu-close{
    width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.15); border:none;
    color:white; font-size:1.1rem; cursor:pointer; flex-shrink:0;
  }
  .mobile-devis-btn{
    display:block; text-align:center; background:var(--red); color:white; font-family:'Baloo 2',sans-serif;
    font-weight:700; padding:16px; margin:18px 20px; border-radius:100px; font-size:1rem;
    box-shadow:0 5px 0 #8f1c26;
  }
  .mobile-menu-list{list-style:none; padding:0 12px; flex:1;}
  .mobile-menu-list > li{border-bottom:1px solid #E4F2DD;}
  .mobile-menu-list > li > a{
    display:block; padding:16px 12px; color:var(--ink); font-family:'Baloo 2',sans-serif;
    font-weight:700; font-size:1.02rem; text-decoration:none;
  }
  .mm-toggle{
    width:100%; display:flex; align-items:center; justify-content:space-between;
    background:none; border:none; padding:16px 12px; font-family:'Baloo 2',sans-serif;
    font-weight:700; font-size:1.02rem; color:var(--ink); cursor:pointer; text-align:left;
  }
  .mm-arrow{transition:transform .2s ease; color:var(--jungle-mid); font-size:0.9rem;}
  .mm-has-sub.mm-open .mm-arrow{transform:rotate(180deg);}
  .mm-sublist{display:none; flex-direction:column; padding:0 12px 12px 22px; gap:2px;}
  .mm-has-sub.mm-open .mm-sublist{display:flex;}
  .mm-sublist a{
    padding:11px 10px; color:#4D5A46; font-weight:600; font-size:0.92rem; text-decoration:none;
    border-radius:8px;
  }
  .mm-sublist a:active, .mm-sublist a:hover{background:#EFF9EA;}
  .mobile-menu-footer{
    padding:20px; border-top:1px solid #E4F2DD; display:flex; align-items:center;
    justify-content:space-between; flex-shrink:0;
  }
  .mobile-menu-footer a[href^="tel:"]{
    font-family:'Baloo 2',sans-serif; font-weight:700; color:var(--jungle-dark); font-size:0.98rem;
    text-decoration:none;
  }
  .mobile-menu-socials{display:flex; gap:10px;}
  body.mobile-menu-active{overflow:hidden;}
  @media(max-width:600px){ .devis-btn{display:none;} .header-contact{gap:8px;} .nouveaute-pill{display:none;} }
  @media(max-width:1024px){ .header-contact{display:none;} }
  @media(max-width:820px){
    .hero .wrap{flex-direction:column;}
    .hero-visual{width:100%;}
    .photo-frame{width:100%;}
    .why-grid, .services-grid{grid-template-columns:1fr;}
    .how-steps{flex-direction:column; gap:26px;}
    .footer-grid{grid-template-columns:1fr; gap:24px;}
    .hero-text h1{font-size:2.1rem;}
  }

  /* BACK TO TOP */
  #backToTop{
    position:fixed; right:22px; bottom:78px; z-index:96;
    width:52px; height:52px; border-radius:50%;
    background:var(--jungle-dark); border:3px solid white;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 20px rgba(0,0,0,0.3);
    cursor:pointer; opacity:0; pointer-events:none;
    transition:opacity .3s ease, transform .2s ease;
  }
  #backToTop.visible{opacity:1; pointer-events:auto;}
  #backToTop:hover{transform:translateY(-4px);}
  #backToTop svg{width:22px; height:22px;}
  @media(max-width:640px){ #backToTop{bottom:88px; right:16px; width:46px; height:46px;} }

  /* COOKIE BANNER */
  .cookie-banner{
    display:none; position:fixed; left:16px; right:16px; bottom:16px; z-index:300;
    max-width:560px; margin:0 auto; background:white; border-radius:20px;
    padding:22px 26px; box-shadow:0 16px 44px rgba(0,0,0,0.28); border:3px solid var(--jungle-mid);
  }
  .cookie-banner.visible{display:block;}
  .cookie-banner h4{font-family:'Baloo 2',sans-serif; color:var(--jungle-dark); font-size:1.05rem; margin-bottom:8px;}
  .cookie-banner p{color:#5A6653; font-weight:600; font-size:0.85rem; margin-bottom:16px; line-height:1.5;}
  .cookie-banner p a{color:var(--jungle-dark); text-decoration:underline;}
  .cookie-actions{display:flex; gap:10px; flex-wrap:wrap;}
  .cookie-actions button{
    font-family:'Baloo 2',sans-serif; font-weight:700; font-size:0.85rem; border:none;
    padding:11px 20px; border-radius:100px; cursor:pointer;
  }
  .cookie-accept{background:var(--green); color:white;}
  .cookie-refuse{background:#F0F4EC; color:var(--jungle-dark);}
  @media(max-width:768px){ .cookie-banner{bottom:16px;} }

  @media(max-width:768px){
    .text-ticker{display:none !important;}
    body{padding-bottom:0 !important;}
  }

  /* REASSURANCE BAR */
  .reassurance-bar{background:#EFF9EA; padding:26px 0;}
  .reassurance-row{
    display:flex; flex-wrap:wrap; justify-content:center; gap:14px 34px;
  }
  .reassurance-item{
    display:flex; align-items:center; gap:10px; font-family:'Baloo 2',sans-serif;
    font-weight:700; font-size:0.92rem; color:var(--jungle-dark);
  }
  .reassurance-item .check{
    width:22px; height:22px; border-radius:50%; background:var(--green); flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
  }
  .reassurance-item .check svg{width:12px; height:12px;}

  /* PORTRAIT-STYLE PILL BADGES (audience line) */
  .audience-row{
    display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:22px 0;
  }
  .audience-row span{
    font-family:'Baloo 2',sans-serif; font-weight:700; font-size:0.85rem; color:white;
    background:rgba(255,255,255,0.14); border:1.5px solid rgba(255,255,255,0.4);
    padding:8px 16px; border-radius:100px;
  }

  /* EVENT TYPE CARDS */
  .event-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
  .event-card{
    border-radius:18px; overflow:hidden; position:relative; height:130px;
    display:flex; align-items:center; justify-content:center; text-align:center;
    text-decoration:none; transition:transform .15s ease, box-shadow .15s ease;
    box-shadow:0 6px 0 rgba(0,0,0,0.15);
  }
  .event-card:hover{transform:translateY(-3px); box-shadow:0 9px 0 rgba(0,0,0,0.15);}
  .event-card span{
    position:relative; z-index:2; color:white; font-family:'Baloo 2',sans-serif;
    font-weight:800; font-size:1.05rem; padding:14px; text-shadow:0 2px 4px rgba(0,0,0,0.15);
  }
  .event-card.ec1{background:var(--red);}
  .event-card.ec2{background:var(--orange);}
  .event-card.ec3{background:var(--green);}
  .event-card.ec4{background:var(--blue);}
  .event-card.ec5{background:var(--pink);}
  .event-card.ec6{background:var(--teal);}
  .event-card.ec7{background:var(--purple);}
  @media(max-width:900px){ .event-grid{grid-template-columns:repeat(2,1fr);} }

  /* CATEGORY SHOWCASE */
  .showcase-card{
    display:flex; align-items:center; gap:0; border-radius:26px; overflow:hidden;
    background:white; box-shadow:0 10px 28px rgba(30,91,31,0.1); margin-bottom:22px;
    border:3px solid #E4F2DD; text-decoration:none; color:inherit;
  }
  .showcase-card .showcase-photo{
    flex:0 0 38%; height:220px; object-fit:cover;
  }
  .showcase-card .showcase-body{padding:28px 34px; flex:1;}
  .showcase-card.flagship{border-color:var(--red); box-shadow:0 14px 34px rgba(235,75,92,0.22);}
  .showcase-card h3{font-size:1.35rem; color:var(--jungle-dark); margin-bottom:10px;}
  .showcase-card.flagship h3{color:var(--red);}
  .showcase-card p{color:#5A6653; font-weight:600; margin-bottom:16px;}
  @media(max-width:820px){
    .showcase-card{flex-direction:column;}
    .showcase-card .showcase-photo{flex:none; width:100%; height:180px;}
  }

  /* FORMULE SELECTOR (Team Building / EVJF-EVG) */
  .formule-card.selectable{cursor:pointer; transition:all .15s ease;}
  .formule-card.selectable.selected{border-color:var(--green); box-shadow:0 0 0 3px rgba(109,194,75,0.25);}
  .choice-group-title{
    font-family:'Baloo 2',sans-serif; font-weight:700; color:var(--jungle-dark);
    font-size:1.05rem; margin:26px 0 12px;
  }
  .options-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .option-tile{
    background:white; border:3px solid #E4F2DD; border-radius:18px; padding:18px;
    cursor:pointer; text-align:center; transition:all .15s ease; position:relative;
  }
  .option-tile:hover{border-color:var(--jungle-mid);}
  .option-tile.selected{border-color:var(--green); background:#EFF9EA;}
  .option-tile .opt-icon{
    width:44px; height:44px; border-radius:50%; background:var(--jungle-mid); color:white;
    display:flex; align-items:center; justify-content:center; margin:0 auto 10px;
    font-family:'Baloo 2',sans-serif; font-weight:700; font-size:0.85rem;
  }
  .option-tile.selected .opt-icon{background:var(--green);}
  .option-tile h4{font-size:0.95rem; margin-bottom:6px; color:var(--ink);}
  .option-tile p{font-size:0.8rem; color:#5A6653; margin:0;}
  .option-tile .opt-check{
    position:absolute; top:10px; right:10px; width:22px; height:22px; border-radius:50%;
    background:var(--green); color:white; display:flex; align-items:center; justify-content:center;
    font-size:0.75rem; font-weight:700; opacity:0; transform:scale(0.6); transition:all .15s ease;
  }
  .option-tile.selected .opt-check{opacity:1; transform:scale(1);}
  .ss-row{display:flex; justify-content:space-between; align-items:center; padding:9px 0; font-size:0.92rem; color:#5A6653; font-weight:600; border-bottom:1px dashed #E4F2DD;}
  .ss-row:last-of-type{border-bottom:none;}
  .ss-row b{color:var(--ink);}
  @media(max-width:640px){ .options-row{grid-template-columns:1fr;} }

  /* ===================================================
     RESPONSIVE — MOBILE & TABLETTE (global overrides)
     =================================================== */

  /* Tablette : 641px – 1024px : 2 colonnes pour les grilles principales */
  @media(max-width:1024px){
    .why-grid, .prod-grid, .services-grid, .event-grid,
    .formule-grid, .laser-grid, .footer-grid, .stats-grid,
    .form-row-2, .form-row-3 {
      grid-template-columns:repeat(2,1fr) !important;
    }
    .why-grid[style*="repeat(6"] { grid-template-columns:repeat(3,1fr) !important; }
  }

  /* Smartphone : ≤640px : tout en 1 colonne */
  @media(max-width:640px){
    .why-grid, .prod-grid, .services-grid, .event-grid,
    .formule-grid, .footer-grid, .stats-grid,
    .form-row-2, .form-row-3, .security-list, .reassurance-row {
      grid-template-columns:1fr !important;
    }
    .laser-grid{display:flex !important; flex-direction:column !important;}
    .laser-grid > div{width:100% !important;}
    .wrap{padding:0 18px;}
    section{padding-left:0; padding-right:0;}
    h1{font-size:1.9rem !important; line-height:1.2 !important;}
    .hero-text h1{font-size:1.9rem !important;}
    .section-head h2{font-size:1.5rem !important;}
    .btn-primary, .btn-ghost{width:100%; text-align:center; box-sizing:border-box;}
    .hero-ctas{flex-direction:column; align-items:stretch !important;}
    .hero-ctas a{width:100%; text-align:center;}
    table{width:100%; display:block; overflow-x:auto; -webkit-overflow-scrolling:touch;}
    .showcase-card{flex-direction:column;}
    .why-card table tr td{word-break:break-word;}
    .why-card{padding:20px !important;}
    .options-row{grid-template-columns:1fr !important;}
    .pill-row, .chip-row, .audience-row{justify-content:flex-start !important;}
  }

  /* Petit smartphone ≤375px : marges et polices réduites */
  @media(max-width:375px){
    .wrap{padding:0 14px;}
    .hero-text h1, h1{font-size:1.65rem !important;}
    .btn-primary, .btn-ghost, .devis-btn{font-size:0.85rem !important;}
  }

  /* Formulaires : jamais plusieurs colonnes sur mobile */
  @media(max-width:640px){
    input[type="text"], input[type="email"], input[type="tel"], input[type="date"],
    input[type="number"], select, textarea{
      font-size:16px !important; /* évite le zoom automatique iOS */
    }
  }

  /* Sécurité anti-débordement horizontal générale */
  img, video, iframe, table{max-width:100%;}
  .prod-card img, .service-photo, .event-card img, .showcase-photo{max-width:100%;}

  /* CGL / legal document styling */
  .cgl-h{font-family:'Baloo 2',sans-serif; color:var(--jungle-dark); font-size:1.2rem; margin:30px 0 12px;}
  .cgl-p{margin-bottom:14px;}
  .cgl-ul{margin:0 0 16px 20px; line-height:1.9;}
