/*
Theme Name: SAS Bertrand Couverture
Theme URI: https://www.sasbertrand.fr/
Author: SAS Bertrand Couverture Zinguerie
Description: Thème WordPress sur mesure pour SAS Bertrand, entreprise de couverture, charpente et zinguerie à La Rochelle (17).
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: sas-bertrand
*/


  :root{
    --charbon:#1C2227; --charbon-2:#262E35; --tuile:#B32828; --tuile-dark:#8E1F1F;
    --zinc:#8A9199; --patine:#5C7A78; --pierre:#F0EDE6; --pierre-2:#E7E2D8; --blanc:#FFFFFF;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Work Sans',sans-serif;color:var(--charbon);background:var(--pierre);line-height:1.6;}
  h1,h2,h3,h4,.display{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:0.02em;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .container{max-width:1180px;margin:0 auto;padding:0 24px;}
  .seam-bg{background-image: repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0px, rgba(255,255,255,0.035) 2px, transparent 2px, transparent 64px);}
  header{position:sticky;top:0;z-index:100;background:var(--charbon);border-bottom:3px solid var(--tuile);}
  header .container{display:flex;align-items:center;justify-content:space-between;padding-top:10px;padding-bottom:10px;}
  .logo-wrap img{height:52px;width:auto;}
  nav{display:flex;align-items:center;}
  nav ul, nav .fallback-nav{display:flex;align-items:center;gap:26px;list-style:none;}
  nav a{color:var(--pierre);font-family:'Oswald',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:0.06em;font-weight:500;padding:6px 2px;border-bottom:2px solid transparent;transition:border-color .2s, color .2s;}
  nav a:hover, nav a.active, nav .current-menu-item a{border-color:var(--tuile);color:var(--blanc);}
  .btn-call{display:flex;align-items:center;gap:8px;background:var(--tuile);color:var(--blanc);font-family:'Oswald',sans-serif;font-weight:600;padding:10px 18px;border-radius:2px;font-size:15px;letter-spacing:0.02em;white-space:nowrap;transition:background .2s;}
  .btn-call:hover{background:var(--tuile-dark);}
  .btn-call svg{width:16px;height:16px;flex-shrink:0;}
  .page-hero{position:relative;color:var(--blanc);overflow:hidden;clip-path: polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0 90%);}
  .page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 60%;filter:saturate(0.85);}
  .page-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(28,34,39,0.6) 0%, rgba(28,34,39,0.88) 100%);}
  .page-hero-content{position:relative;z-index:2;padding:70px 0 110px;}
  .eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:0.14em;color:var(--pierre-2);text-transform:uppercase;border-left:3px solid var(--tuile);padding-left:12px;margin-bottom:20px;}
  .page-hero h1{font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.05;font-weight:600;max-width:820px;}
  .page-hero h1 span{color:var(--tuile);}
  .hero{position:relative;min-height:88vh;display:flex;align-items:center;color:var(--blanc);overflow:hidden;clip-path: polygon(0 0, 100% 0, 100% 92%, 50% 100%, 0 92%);}
  .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 65%;filter:saturate(0.9);}
  .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(28,34,39,0.55) 0%, rgba(28,34,39,0.78) 60%, rgba(28,34,39,0.94) 100%);}
  .hero-content{position:relative;z-index:2;padding:120px 0 160px;}
  .hero h1{font-size:clamp(2.4rem, 5.5vw, 4.4rem);line-height:1.02;font-weight:600;max-width:820px;margin-bottom:22px;}
  .hero h1 span{color:var(--tuile);}
  .hero p.lead{font-family:'Work Sans',sans-serif;font-size:19px;max-width:560px;color:var(--pierre-2);margin-bottom:36px;}
  .hero-actions{display:flex;flex-wrap:wrap;gap:16px;}
  .btn-primary{background:var(--tuile);color:var(--blanc);font-family:'Oswald',sans-serif;font-weight:600;font-size:16px;padding:16px 32px;border-radius:2px;letter-spacing:0.02em;transition:background .2s, transform .2s;display:inline-block;}
  .btn-primary:hover{background:var(--tuile-dark);transform:translateY(-1px);}
  .btn-ghost{border:1.5px solid rgba(255,255,255,0.5);color:var(--blanc);font-family:'Oswald',sans-serif;font-weight:600;font-size:16px;padding:16px 32px;border-radius:2px;letter-spacing:0.02em;transition:border-color .2s, background .2s;display:inline-block;}
  .btn-ghost:hover{border-color:var(--blanc);background:rgba(255,255,255,0.08);}
  .trust{background:var(--charbon-2);color:var(--pierre);padding:28px 0;margin-top:-70px;position:relative;z-index:3;}
  .trust .container{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:center;}
  .trust-item{display:flex;align-items:center;gap:12px;}
  .trust-num{font-family:'Oswald',sans-serif;font-size:28px;font-weight:600;color:var(--blanc);}
  .trust-label{font-size:13px;color:var(--zinc);text-transform:uppercase;letter-spacing:0.06em;}
  .stars{color:#E0A93E;font-size:18px;letter-spacing:2px;}
  section{padding:96px 0;}
  .section-sm{padding:64px 0;}
  .section-head{max-width:640px;margin-bottom:56px;}
  .kicker{font-family:'Oswald',sans-serif;color:var(--tuile);font-size:13px;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:14px;display:block;}
  .section-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:600;color:var(--charbon);}
  .section-head p{color:#565f66;font-size:16px;margin-top:14px;}
  .services-main{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--charbon);margin-bottom:2px;}
  .service-card{background:var(--charbon);color:var(--pierre);padding:44px 34px;position:relative;transition:background .25s;}
  .service-card:hover{background:var(--charbon-2);}
  .service-card .roof-icon{width:44px;height:34px;margin-bottom:22px;}
  .service-card h3{font-size:22px;font-weight:600;margin-bottom:12px;color:var(--blanc);}
  .service-card p{color:var(--zinc);font-size:15px;}
  .service-card .num{position:absolute;top:36px;right:34px;font-family:'Oswald',sans-serif;font-size:13px;color:var(--tuile);letter-spacing:0.1em;}
  .services-sub{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--pierre-2);}
  .sub-card{background:var(--blanc);padding:28px 24px;}
  .sub-card h4{font-size:15px;font-weight:600;margin-bottom:8px;color:var(--charbon);text-transform:none;letter-spacing:0;font-family:'Work Sans',sans-serif;}
  .sub-card p{font-size:13.5px;color:#6b7178;}
  .bg-charbon{background:var(--charbon);color:var(--pierre);}
  .bg-charbon .section-head h2{color:var(--blanc);}
  .bg-charbon .section-head p{color:var(--zinc);}
  .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .gallery a{display:block;overflow:hidden;border-radius:2px;position:relative;aspect-ratio:4/3;}
  .gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
  .gallery a:hover img{transform:scale(1.06);}
  .zone-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;}
  .zone-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
  .zone-tag{background:var(--blanc);border:1px solid var(--pierre-2);padding:9px 16px;border-radius:2px;font-size:14px;font-weight:500;color:var(--charbon);}
  .zone-tag.main{background:var(--tuile);color:var(--blanc);border-color:var(--tuile);}
  .map-frame{background:var(--pierre-2);aspect-ratio:1/1;border-radius:2px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border:1px solid #ddd6c9;}
  .map-frame .pin{width:52px;height:52px;background:var(--tuile);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;}
  .map-frame .pin span{transform:rotate(45deg);color:white;font-family:'Oswald',sans-serif;font-weight:700;font-size:18px;}
  .map-frame .grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,0.05) 1px, transparent 1px),linear-gradient(90deg, rgba(0,0,0,0.05) 1px, transparent 1px);background-size:40px 40px;}
  .avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  .avis-card{background:var(--blanc);border:1px solid var(--pierre-2);padding:32px 28px;border-radius:2px;}
  .avis-card.dark{background:var(--charbon-2);border-color:rgba(255,255,255,0.08);}
  .avis-card .stars{margin-bottom:16px;}
  .avis-card p{font-size:15px;color:#3d444a;margin-bottom:18px;font-style:italic;}
  .avis-card.dark p{color:var(--pierre-2);}
  .avis-card .who{font-family:'Oswald',sans-serif;font-size:13px;color:var(--patine);text-transform:uppercase;letter-spacing:0.06em;}
  .cta-banner{background:var(--tuile);color:var(--blanc);padding:64px 0;clip-path: polygon(0 6%, 50% 0, 100% 6%, 100% 100%, 0 100%);}
  .cta-banner .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;}
  .cta-banner h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600;max-width:560px;}
  .cta-banner .btn-primary{background:var(--charbon);}
  .cta-banner .btn-primary:hover{background:#000;}
  footer{background:var(--charbon-2);color:var(--pierre);padding:80px 0 30px;}
  .foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:56px;margin-bottom:56px;}
  .foot-col h4{font-size:14px;color:var(--tuile);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:20px;font-family:'Oswald',sans-serif;}
  .foot-col p, .foot-col a{font-size:14.5px;color:#c3c8cc;display:block;margin-bottom:10px;}
  .foot-col a:hover{color:var(--blanc);}
  .foot-logo{height:44px;margin-bottom:18px;filter:brightness(0) invert(1);opacity:0.92;}
  .hours-row{display:flex;justify-content:space-between;font-size:14px;color:#c3c8cc;padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
  form.contact-form{display:flex;flex-direction:column;gap:12px;}
  form.contact-form input, form.contact-form textarea{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);color:var(--blanc);padding:12px 14px;border-radius:2px;font-family:'Work Sans',sans-serif;font-size:14px;}
  form.contact-form textarea{min-height:90px;resize:vertical;}
  form.contact-form button{background:var(--tuile);color:var(--blanc);border:none;font-family:'Oswald',sans-serif;font-weight:600;padding:13px;border-radius:2px;letter-spacing:0.04em;cursor:pointer;margin-top:4px;}
  form.contact-form button:hover{background:var(--tuile-dark);}
  .foot-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:#828a8f;}
  .foot-zones{border-top:1px solid rgba(255,255,255,0.08);padding-top:36px;margin-bottom:36px;}
  .foot-zones h4{font-size:13px;color:var(--tuile);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:18px;font-family:'Oswald',sans-serif;}
  .foot-zones-list{list-style:none;column-count:5;column-gap:24px;}
  .foot-zones-list li{break-inside:avoid;margin-bottom:8px;}
  .foot-zones-list a{font-size:13px;color:#a8afb4;}
  .foot-zones-list a:hover{color:var(--blanc);}
  @media(max-width:900px){
    .foot-zones-list{column-count:2;}
  }
  .breadcrumb{position:relative;z-index:2;font-size:13px;color:var(--pierre-2);margin-bottom:14px;}
  .breadcrumb a{color:var(--zinc);}
  .breadcrumb a:hover{color:var(--blanc);}
  .values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
  .value-card{background:var(--blanc);border:1px solid var(--pierre-2);padding:30px;border-radius:2px;}
  .value-card h4{font-size:17px;margin-bottom:10px;text-transform:none;font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:0;}
  .value-card p{font-size:14.5px;color:#565f66;}
  .stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center;margin-top:50px;}
  .stat-row .num{font-family:'Oswald',sans-serif;font-size:40px;font-weight:600;color:var(--tuile);}
  .stat-row .label{font-size:13.5px;color:var(--zinc);text-transform:uppercase;letter-spacing:0.05em;margin-top:6px;}
  .about-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
  .service-detail{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:80px 0;border-bottom:1px solid var(--pierre-2);}
  .service-detail:nth-child(even) .service-detail-img{order:2;}
  .service-detail img{border-radius:2px;aspect-ratio:4/3;object-fit:cover;}
  .service-detail h3{font-size:26px;margin-bottom:16px;font-weight:600;}
  .service-detail p{color:#565f66;margin-bottom:16px;}
  .service-detail ul{list-style:none;}
  .service-detail li{padding:7px 0;color:#3d444a;font-size:14.5px;display:flex;align-items:center;gap:10px;}
  .service-detail li::before{content:'';width:7px;height:7px;background:var(--tuile);flex-shrink:0;}
  .filter-bar{display:flex;gap:10px;margin-bottom:40px;flex-wrap:wrap;}
  .filter-btn{background:var(--blanc);border:1px solid var(--pierre-2);padding:9px 18px;border-radius:2px;font-family:'Oswald',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:0.05em;}
  .filter-btn.active{background:var(--charbon);color:var(--blanc);border-color:var(--charbon);}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
  .info-line{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start;}
  .info-line .ic{width:20px;height:20px;color:var(--tuile);flex-shrink:0;margin-top:3px;}
  .info-line h4{font-size:14.5px;font-family:'Work Sans',sans-serif;text-transform:none;letter-spacing:0;font-weight:600;margin-bottom:3px;}
  .info-line p, .info-line a{font-size:14.5px;color:#565f66;}
  @media(max-width:900px){
    nav{display:none;}
    .services-main{grid-template-columns:1fr;}
    .services-sub{grid-template-columns:repeat(2,1fr);}
    .gallery{grid-template-columns:repeat(2,1fr);}
    .zone-wrap{grid-template-columns:1fr;}
    .avis-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;gap:36px;}
    .trust .container{justify-content:flex-start;}
    .values-grid{grid-template-columns:1fr;}
    .stat-row{grid-template-columns:1fr;}
    .about-split{grid-template-columns:1fr;}
    .service-detail{grid-template-columns:1fr;}
    .service-detail:nth-child(even) .service-detail-img{order:0;}
    .contact-grid{grid-template-columns:1fr;}
  }

  /* ---------- Header mobile ---------- */
  .mobile-toggle{
    display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;
    width:40px;height:40px;background:transparent;border:1px solid rgba(255,255,255,0.25);
    border-radius:2px;cursor:pointer;flex-shrink:0;
  }
  .mobile-toggle span{
    display:block;width:20px;height:2px;background:var(--pierre);border-radius:1px;
    transition:transform .25s ease, opacity .2s ease;
  }
  header.nav-open .mobile-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  header.nav-open .mobile-toggle span:nth-child(2){opacity:0;}
  header.nav-open .mobile-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  @media(max-width:900px){
    header .container{flex-wrap:wrap;gap:12px 16px;}
    .logo-wrap img{height:40px;}
    .mobile-toggle{display:flex;order:3;}
    .btn-call{order:2;margin-left:auto;padding:9px 14px;font-size:13px;}
    .btn-call-label{display:none;}
    .btn-call svg{width:18px;height:18px;}
    nav{
      display:none;order:4;width:100%;
      max-height:0;overflow:hidden;
      transition:max-height .3s ease;
    }
    header.nav-open nav{display:block;max-height:600px;}
    nav ul, nav .fallback-nav{
      flex-direction:column;align-items:stretch;gap:0;
      border-top:1px solid rgba(255,255,255,0.1);margin-top:12px;padding-top:6px;
    }
    nav li{list-style:none;}
    nav a{
      display:block;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,0.08);
      border-left:none !important;
    }
    nav a:hover, nav .current-menu-item a{
      color:var(--tuile);border-bottom-color:rgba(255,255,255,0.08);
    }
  }
  @media(max-width:480px){
    .btn-call{padding:9px 10px;}
    header .container{padding-top:8px;padding-bottom:8px;}
  }
