/*
Theme Name: Renov Partenaires COM
Theme URI: https://renov-partenaires.com/
Description: Thème enfant Hello Elementor — CSS global des pages locales RENOV PARTENAIRES.
Author: RENOV PARTENAIRES
Author URI: https://renov-partenaires.com/
Template: hello-elementor
Version: 1.0.6
Requires PHP: 7.4
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: renov-partenaires-com
*/


/* =========================================================
   BASE
========================================================= */

.rplocal{
  --rp-navy:#082b55;
  --rp-navy-2:#123f70;
  --rp-orange:#ff6900;
  --rp-orange-medium:#f6a164;
  --rp-orange-light:#ffd5b8;
  --rp-orange-pale:#fff2e9;
  --rp-green:#218a61;
  --rp-green-soft:#eaf7f1;
  --rp-text:#40566b;
  --rp-muted:#718295;
  --rp-line:#dce5ec;
  --rp-line-soft:#eaf0f4;
  --rp-soft:#f4f7f9;
  --rp-white:#ffffff;
  --rp-max:1240px;

  width:100%;
  overflow:hidden;

  background:#fff;
  color:var(--rp-text);

  font-family:Arial,Helvetica,sans-serif;
}

.rplocal *,
.rplocal *::before,
.rplocal *::after{
  box-sizing:border-box;
}

.rplocal img,
.rplocal svg{
  display:block;
  max-width:100%;
}

.rplocal figure,
.rplocal ul,
.rplocal ol{
  margin:0;
  padding:0;
}

.rplocal ul,
.rplocal ol{
  list-style:none;
}

.rplocal a{
  text-decoration:none;
}

.rplocal-wrap{
  width:min(calc(100% - 48px),var(--rp-max));
  margin-inline:auto;
}

.rplocal-section{
  padding:74px 0;
}

.rplocal h1,
.rplocal h2,
.rplocal h3{
  margin:0;

  color:var(--rp-navy);

  font-family:Arial,Helvetica,sans-serif;
  font-weight:850;
}

.rplocal h1{
  font-size:clamp(43px,5vw,66px);
  line-height:.98;
  letter-spacing:-.035em;
}

.rplocal h2{
  font-size:clamp(30px,3vw,41px);
  line-height:1.08;
  letter-spacing:-.025em;
}

.rplocal h3{
  font-size:20px;
  line-height:1.16;
}

.rplocal p{
  margin:0;

  font-size:15px;
  line-height:1.65;
}

.rplocal-kicker{
  margin-bottom:11px!important;

  color:#5d7387!important;

  font-size:11px!important;
  line-height:1.2!important;
  font-weight:900!important;

  letter-spacing:.10em;
  text-transform:uppercase;
}


/* =========================================================
   HERO
========================================================= */

.rplocal-hero{
  background:linear-gradient(
    120deg,
    #f5f7f9 0%,
    #f8fafb 50%,
    #ffffff 100%
  );
}

.rplocal-hero-grid{
  display:grid;

  grid-template-columns:
    minmax(0,.92fr)
    minmax(0,1.08fr);

  min-height:540px;
}

.rplocal-hero-copy{
  align-self:center;

  padding:64px 55px 54px 0;
}

.rplocal-hero-subtitle{
  margin-top:18px!important;

  color:var(--rp-navy)!important;

  font-size:13px!important;
  font-weight:900!important;

  letter-spacing:.07em;
}

.rplocal-hero-text{
  max-width:570px;

  margin-top:19px!important;

  color:#52697e!important;
}

.rplocal-hero-phone{
  display:inline-flex;

  align-items:center;
  justify-content:center;

  margin-top:27px;

  padding:13px 22px;

  border-radius:999px;

  background:var(--rp-orange);

  color:#fff!important;

  font-size:14px;
  font-weight:900;
}

.rplocal-hero-media{
  position:relative;

  min-height:540px;

  overflow:hidden;

  border-radius:0 0 0 34px;
}

.rplocal-hero-media img{
  width:100%;
  height:100%;

  min-height:540px;

  object-fit:cover;
}

.rplocal-hero-media figcaption{
  position:absolute;

  left:24px;
  bottom:23px;

  padding:9px 14px;

  border-left:4px solid var(--rp-orange);
  border-radius:7px;

  background:rgba(8,43,85,.94);

  color:#fff;

  font-size:11px;
  font-weight:900;
}


/* =========================================================
   ENGAGEMENTS HERO
========================================================= */

.rplocal-hero-points{
  display:grid;

  grid-template-columns:repeat(4,1fr);

  background:#fff;

  border-top:1px solid var(--rp-line);
  border-bottom:1px solid var(--rp-line);
}

.rplocal-hero-points li{
  position:relative;

  min-height:75px;

  display:flex;

  flex-direction:column;
  justify-content:center;

  padding:17px 22px 17px 38px;

  border-right:1px solid var(--rp-line-soft);
}

.rplocal-hero-points li:last-child{
  border-right:0;
}

.rplocal-hero-points li::before{
  content:"";

  position:absolute;

  left:19px;
  top:50%;

  width:8px;
  height:8px;

  margin-top:-4px;

  border-radius:50%;

  background:var(--rp-green);
}

.rplocal-hero-points strong{
  color:var(--rp-navy);

  font-size:13px;
  font-weight:900;
}

.rplocal-hero-points span{
  margin-top:3px;

  color:var(--rp-muted);

  font-size:10.5px;
}


/* =========================================================
   TITRES
========================================================= */

.rplocal-section-head{
  display:grid;

  grid-template-columns:
    minmax(0,1.15fr)
    minmax(0,.85fr);

  gap:45px;

  align-items:end;

  margin-bottom:31px;
}

.rplocal-section-head > p{
  max-width:460px;

  color:#63778a;

  font-size:13px;
}


/* =========================================================
   SERVICES
========================================================= */

.rplocal-services{
  background:#fff;
}

.rplocal-services-track{
  display:grid;

  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 48px) / 4);

  gap:16px;

  width:min(calc(100% - 48px),var(--rp-max));

  margin-inline:auto;

  overflow-x:auto!important;
  overflow-y:hidden!important;

  overscroll-behavior-x:contain;

  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;

  -webkit-overflow-scrolling:touch;

  scrollbar-width:thin;
  scrollbar-color:#c6d1da #eef2f5;

  padding-bottom:17px!important;

  touch-action:auto!important;
}

.rplocal-services-track::-webkit-scrollbar{
  height:8px;
}

.rplocal-services-track::-webkit-scrollbar-track{
  background:#eef2f5;
  border-radius:999px;
}

.rplocal-services-track::-webkit-scrollbar-thumb{
  background:#c4cfd8;
  border-radius:999px;
}

.rplocal-services-track > li{
  min-width:0;
  scroll-snap-align:start;
}

.rplocal-service-card{
  position:relative;

  height:100%;
  min-height:455px;

  overflow:hidden;

  border:1px solid var(--rp-line);
  border-radius:18px;

  background:#fff;

  box-shadow:
    0 7px 22px rgba(8,43,85,.045);

  cursor:pointer;
}

.rplocal-service-icon{
  height:108px;
  min-height:108px;

  display:grid;
  place-items:center;

  background:linear-gradient(
    135deg,
    #ffd8bd 0%,
    #f5a56b 100%
  );

  color:var(--rp-navy);
}

.rplocal-service-icon svg{
  width:54px!important;
  height:54px!important;

  max-width:54px!important;
  max-height:54px!important;

  color:var(--rp-navy)!important;
}

.rplocal-service-body{
  display:flex;

  flex-direction:column;

  height:calc(100% - 108px);

  padding:20px 20px 21px;
}

.rplocal-service-body h3{
  min-height:48px;

  margin-bottom:6px;

  font-size:20px;
}

.rplocal-service-summary{
  min-height:43px;

  color:#718295!important;

  font-size:11.5px!important;
  line-height:1.45!important;
}

.rplocal-service-actions{
  display:grid;

  margin-top:13px!important;

  border-top:1px solid var(--rp-line-soft);
}

.rplocal-service-actions strong{
  display:block;

  padding:7px 0;

  border-bottom:1px solid var(--rp-line-soft);

  color:var(--rp-navy);

  font-size:11.5px;
  line-height:1.25;
  font-weight:850;
}

.rplocal-service-actions strong:last-child{
  border-bottom:0;
}

.rplocal-service-body > a{
  position:static;

  display:inline-block;

  margin-top:auto;

  padding-top:15px;

  color:var(--rp-green)!important;

  font-size:10.5px;
  font-weight:900;
}

.rplocal-service-body > a::after{
  content:"";

  position:absolute;

  inset:0;

  z-index:10;

  cursor:pointer;
}

.rplocal-service-card:hover{
  box-shadow:
    0 12px 30px rgba(8,43,85,.10);
}


/* =========================================================
   VILLE
========================================================= */

.rplocal-city{
  background:linear-gradient(
    135deg,
    #f2f5f7,
    #f7f9fa
  );
}

.rplocal-city-grid{
  display:grid;

  grid-template-columns:
    minmax(0,1.06fr)
    minmax(0,.94fr);

  gap:48px;

  align-items:center;
}

.rplocal-city-map{
  position:relative;

  overflow:hidden;

  border-radius:20px;

  background:#e1e8ed;

  box-shadow:
    0 10px 30px rgba(8,43,85,.06);
}

.rplocal-city-map iframe{
  display:block;

  width:100%;
  height:320px;

  border:0;
}

.rplocal-city-map figcaption{
  position:absolute;

  left:15px;
  bottom:14px;

  padding:7px 11px;

  border-radius:7px;

  background:rgba(8,43,85,.95);

  color:#fff;

  font-size:9.5px;
  font-weight:900;
}

.rplocal-city-photos{
  display:grid;

  grid-template-columns:repeat(3,minmax(0,1fr));

  gap:10px;

  margin-top:10px!important;
}

.rplocal-city-photos figure{
  position:relative;

  height:137px;

  overflow:hidden;

  border-radius:14px;
}

.rplocal-city-photos img{
  width:100%;
  height:100%;

  object-fit:cover;
}

.rplocal-city-photos figcaption{
  position:absolute;

  left:8px;
  bottom:8px;

  padding:5px 8px;

  border-radius:6px;

  background:rgba(8,43,85,.92);

  color:#fff;

  font-size:9px;
  font-weight:900;
}

.rplocal-city-copy{
  max-width:510px;
}

.rplocal-city-copy h2{
  margin-bottom:18px;
}

.rplocal-city-copy p{
  color:#536a7e;

  font-size:13.5px;
}

.rplocal-city-copy p + p{
  margin-top:13px;
}

.rplocal-city-signature{
  display:inline-block;

  margin-top:21px;

  padding:9px 13px;

  border-left:4px solid var(--rp-orange);

  background:#fff;

  color:var(--rp-navy);

  font-size:11px;
  font-weight:900;
}


/* =========================================================
   GUIDES
========================================================= */

.rplocal-guides{
  padding:74px 0;

  background:#fff;
}

.rplocal-guides-head{
  display:grid;

  grid-template-columns:
    145px 1fr .8fr;

  gap:27px;

  align-items:end;

  margin-bottom:32px;
}

.rplocal-guides-kicker{
  color:#5d7285;

  font-size:11px;
  font-weight:900;

  letter-spacing:.08em;
}

.rplocal-guides-grid{
  display:grid;

  grid-template-columns:repeat(4,1fr);

  gap:18px;
}

.rplocal-guide-card{
  overflow:hidden;

  border:1px solid var(--rp-line);
  border-radius:17px;

  background:#fff;
}

.rplocal-guide-card header{
  min-height:190px;

  padding:30px 21px 21px;
}

.rplocal-guide-card header span{
  display:inline-block;

  padding:6px 10px;

  border-radius:999px;

  background:var(--rp-navy);

  color:#fff;

  font-size:8.5px;
  font-weight:900;
}

.rplocal-guide-card.guide-orange header span{
  background:var(--rp-orange);
}

.rplocal-guide-card.guide-green header span{
  background:var(--rp-green);
}

.rplocal-guide-card h3{
  margin-top:22px;

  font-size:19px;
}

.rplocal-guide-card footer{
  position:relative;

  min-height:178px;

  overflow:hidden;

  padding:88px 19px 18px;

  background:linear-gradient(
    145deg,
    var(--rp-navy) 0 68%,
    var(--rp-orange) 68%
  );

  color:#fff;
}

.rplocal-guide-card.guide-orange footer{
  background:linear-gradient(
    145deg,
    var(--rp-orange) 0 68%,
    var(--rp-navy) 68%
  );
}

.rplocal-guide-card.guide-green footer{
  background:linear-gradient(
    145deg,
    var(--rp-green) 0 68%,
    var(--rp-navy) 68%
  );
}

.rplocal-guide-card footer > strong{
  position:absolute;

  top:8px;
  left:16px;

  color:rgba(255,255,255,.18);

  font-size:75px;
}

.rplocal-guide-card footer small,
.rplocal-guide-card footer b{
  position:relative;

  z-index:2;

  display:block;
}

.rplocal-guide-card footer small{
  font-size:8.5px;
  font-weight:850;
}

.rplocal-guide-card footer b{
  margin-top:7px;

  font-size:17px;
}


/* =========================================================
   INTERVENTION
========================================================= */

.rplocal-process-section{
  background:#f3f6f8;
}

.rplocal-process{
  position:relative;

  display:grid;

  grid-template-columns:1fr 1fr;

  overflow:hidden;

  border:1px solid var(--rp-line);
  border-radius:23px;

  background:#fff;

  box-shadow:
    0 14px 40px rgba(8,43,85,.06);
}

.rplocal-process::before{
  content:"";

  position:absolute;

  top:0;
  left:0;
  right:0;

  height:6px;

  background:linear-gradient(
    90deg,
    var(--rp-orange) 0 50%,
    var(--rp-green) 50% 100%
  );
}

.rplocal-process > section{
  padding:44px 42px;
}

.rplocal-process > section:first-child{
  background:#f8fafb;

  border-right:1px solid var(--rp-line);
}

.rplocal-process h2{
  font-size:clamp(27px,2.4vw,33px);
}

.rplocal-process-label{
  display:inline-block;

  margin-bottom:14px!important;

  padding:7px 11px;

  border-radius:999px;

  background:#fff0e7;

  color:#d75800!important;

  font-size:9px!important;
  font-weight:900!important;
}

.rplocal-process-label.green{
  background:var(--rp-green-soft);

  color:var(--rp-green)!important;
}

.rplocal-process-steps{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:11px;

  margin-top:23px!important;
}

.rplocal-process-steps li{
  display:grid;

  grid-template-columns:38px 1fr;

  gap:10px;

  align-items:center;

  padding:12px;

  border:1px solid var(--rp-line);
  border-radius:12px;

  background:#fff;
}

.rplocal-process-steps > li > strong{
  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  border:2px solid var(--rp-green);
  border-radius:50%;

  color:var(--rp-green);

  font-size:9.5px;
}

.rplocal-process-steps b,
.rplocal-process-steps span{
  display:block;
}

.rplocal-process-steps b{
  color:var(--rp-navy);

  font-size:11.5px;
}

.rplocal-process-steps span{
  color:var(--rp-muted);

  font-size:9.5px;
}

.rplocal-process-services{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:9px;

  margin-top:22px!important;
}

.rplocal-process-services li{
  padding:11px 12px;

  border-left:4px solid var(--rp-green);
  border-radius:8px;

  background:#f5f9f7;

  color:var(--rp-navy);

  font-size:11px;
  font-weight:850;
}

.rplocal-process-phone{
  display:inline-flex;

  margin-top:21px;

  padding:12px 18px;

  border-radius:999px;

  background:var(--rp-navy);

  color:#fff!important;

  font-weight:900;
}


/* =========================================================
   PARTENAIRES
========================================================= */

.rplocal-partners{
  padding:76px 0;

  background:linear-gradient(
    180deg,
    #fff 0%,
    #fff9f4 54%,
    #fff 100%
  );
}

.rplocal-partners-head{
  display:grid;

  grid-template-columns:1fr 420px;

  gap:12px 50px;

  align-items:end;

  margin-bottom:30px;
}

.rplocal-partners-head .rplocal-kicker{
  grid-column:1 / -1;
}

.rplocal-partners-number{
  width:45px;
  height:45px;

  flex:none;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--rp-navy);

  color:#fff;

  font-size:10px;
  font-weight:900;
}

.rplocal-partners-eyebrow{
  margin-bottom:6px!important;

  color:var(--rp-orange)!important;

  font-size:9px!important;
  font-weight:900!important;

  letter-spacing:.1em;
}


/* =========================================================
   ASSURANCES
========================================================= */

.rplocal-insurance-panel{
  overflow:hidden;

  border:1px solid var(--rp-line);
  border-top:5px solid var(--rp-orange);
  border-radius:22px;

  background:#fff;
}

.rplocal-insurance-panel-head{
  display:flex;

  align-items:center;

  gap:17px;

  padding:25px 28px 17px;
}

.rplocal-insurance-logos{
  display:grid;

  grid-auto-flow:column;
  grid-auto-columns:160px;

  gap:11px;

  overflow-x:auto;

  padding:7px 28px 21px!important;

  scroll-snap-type:x proximity;

  -webkit-overflow-scrolling:touch;

  touch-action:auto!important;
}

.rplocal-insurance-logo{
  height:75px;

  display:flex;

  align-items:center;
  justify-content:center;

  padding:12px 18px;

  border:1px solid #e1e8ed;
  border-radius:12px;

  background:#fff;
}

.rplocal-insurance-logo img{
  width:auto!important;
  height:auto!important;

  max-width:115px!important;
  max-height:42px!important;

  object-fit:contain!important;

  filter:none!important;
}

.rplocal-insurance-footer{
  display:flex;

  align-items:center;

  gap:11px;

  overflow-x:auto;

  padding:14px 27px;

  background:var(--rp-navy);

  color:#fff;

  -webkit-overflow-scrolling:touch;

  touch-action:auto!important;
}

.rplocal-insurance-footer strong{
  flex:none;

  padding:6px 10px;

  border-radius:999px;

  background:var(--rp-orange);

  font-size:8.5px;
}

.rplocal-insurance-footer span{
  flex:none;

  color:#fff;

  font-size:10px;

  white-space:nowrap;
}

.rplocal-insurance-footer i{
  color:#ff9f5e;
}


/* =========================================================
   IMMOBILIER
========================================================= */

.rplocal-property-panel{
  margin-top:22px;

  padding:27px 28px;

  border:1px solid var(--rp-line);
  border-radius:22px;

  background:#f8fafb;
}

.rplocal-property-head{
  display:flex;

  align-items:center;

  gap:17px;

  margin-bottom:21px;
}

.rplocal-property-cards{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:15px;
}

.rplocal-property-card{
  min-height:183px;

  padding:23px 24px;

  border:1px solid #dde6ec;
  border-radius:16px;

  background:#fff;
}

.rplocal-property-cards > li:first-child .rplocal-property-card{
  border-left:6px solid var(--rp-orange);
}

.rplocal-property-cards > li:last-child .rplocal-property-card{
  border-left:6px solid var(--rp-green);
}

.rplocal-property-badge{
  display:inline-block;

  margin-bottom:14px;

  padding:6px 9px;

  border-radius:999px;

  background:#fff0e5;

  color:#e65f00;

  font-size:8.5px;
  font-weight:900;
}

.rplocal-property-badge.green{
  background:var(--rp-green-soft);

  color:var(--rp-green);
}


/* =========================================================
   FAQ
========================================================= */

.rplocal-faq{
  background:#f4f7f9;
}

.rplocal-faq-grid{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:12px;

  margin-top:28px;
}

.rplocal-faq details{
  border:1px solid var(--rp-line);
  border-radius:13px;

  background:#fff;
}

.rplocal-faq summary{
  position:relative;

  padding:17px 44px 17px 18px;

  cursor:pointer;

  color:var(--rp-navy);

  font-size:12px;
  font-weight:900;
}

.rplocal-faq summary::after{
  content:"+";

  position:absolute;

  right:17px;

  color:var(--rp-orange);

  font-size:23px;
}

.rplocal-faq details[open] summary::after{
  content:"−";
}

.rplocal-faq details p{
  padding:0 18px 17px;

  color:#65788b;

  font-size:11.5px;
}


/* =========================================================
   CTA
========================================================= */

.rplocal-cta{
  padding:58px 24px;

  background:linear-gradient(
    135deg,
    #082b55,
    #10416f
  );

  text-align:center;
}

.rplocal-cta article{
  max-width:850px;

  margin:auto;
}

.rplocal-cta article > p{
  margin-bottom:9px;

  color:#b9cede;

  font-size:9px;
  font-weight:900;
}

.rplocal-cta h2{
  color:#fff;
}

.rplocal-cta a{
  display:inline-flex;

  margin-top:21px;

  padding:13px 22px;

  border-radius:999px;

  background:var(--rp-orange);

  color:#fff!important;

  font-weight:900;
}


/* =========================================================
   FOOTER
========================================================= */

.rplocal-footer{
  border-top:6px solid var(--rp-orange);

  background:linear-gradient(
    120deg,
    #ffe7d2 0%,
    #fff0e2 42%,
    #ffdaba 100%
  );
}

.rplocal-footer-grid{
  display:grid;

  grid-template-columns:
    1.25fr 1fr 1fr;

  gap:48px;

  padding:45px 0 39px;
}

.rplocal-footer-brand img{
  width:215px;
  height:auto;
}

.rplocal-footer-brand p{
  max-width:310px;

  margin-top:15px;

  color:#4e6376;

  font-size:11.5px;
}

.rplocal-footer-phone{
  display:inline-flex;

  margin-top:17px;

  padding:11px 17px;

  border-radius:999px;

  background:var(--rp-navy);

  color:#fff!important;

  font-size:12px;
  font-weight:900;
}

.rplocal-footer h3{
  padding-bottom:11px;

  border-bottom:3px solid var(--rp-orange);
}

.rplocal-footer nav ul{
  display:grid;

  gap:9px;

  margin-top:16px;
}

.rplocal-footer nav a{
  color:#3e556a!important;

  font-size:11px;
  font-weight:800;
}

.rplocal-footer-bottom{
  margin:0!important;

  padding:15px 20px;

  background:rgba(255,255,255,.27);

  color:var(--rp-navy)!important;

  text-align:center;

  font-size:9.5px!important;
  font-weight:850;
}


/* =========================================================
   TABLETTE
========================================================= */

@media(max-width:1000px){

  .rplocal-hero-grid{
    grid-template-columns:
      minmax(0,.92fr)
      minmax(0,1.08fr);

    min-height:480px;
  }

  .rplocal-city-grid{
    grid-template-columns:
      minmax(0,1.06fr)
      minmax(0,.94fr);

    gap:30px;
  }

  .rplocal-process{
    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1fr);
  }

  .rplocal-section-head{
    grid-template-columns:
      minmax(0,1.15fr)
      minmax(0,.85fr);

    gap:28px;
  }

  .rplocal-guides-head{
    grid-template-columns:
      115px
      minmax(0,1fr)
      minmax(0,.8fr);

    gap:20px;
  }

  .rplocal-partners-head{
    grid-template-columns:
      minmax(0,1fr)
      minmax(280px,360px);

    gap:12px 30px;
  }

  .rplocal-partners-head .rplocal-kicker{
    grid-column:1 / -1;
  }

  .rplocal-hero-copy{
    padding:48px 32px 44px 0;
  }

  .rplocal-hero-media{
    min-height:480px;
  }

  .rplocal-hero-media img{
    min-height:480px;
  }

  .rplocal-hero-points{
    grid-template-columns:
      repeat(4,minmax(0,1fr));
  }

  .rplocal-services-track{
    grid-auto-columns:
      calc((100% - 16px) / 2.25);

    touch-action:auto!important;
  }

  .rplocal-guides-grid{
    grid-template-columns:1fr 1fr;
  }

  .rplocal-footer-grid{
    grid-template-columns:1fr 1fr;
  }

  .rplocal-hero-grid > *,
  .rplocal-city-grid > *,
  .rplocal-process > *,
  .rplocal-section-head > *,
  .rplocal-guides-head > *,
  .rplocal-partners-head > *,
  .rplocal-guides-grid > *,
  .rplocal-property-cards > *,
  .rplocal-faq-grid > *,
  .rplocal-footer-grid > *{
    min-width:0;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:680px){

  /* =====================================================
     SUPPRIMER TOUTE LA SECTION "VILLE" SUR MOBILE
     La section reste visible sur PC.
  ===================================================== */

  .rplocal-city{
    display:none!important;
  }


  .rplocal-wrap{
    width:calc(100% - 24px);
  }

  .rplocal-section,
  .rplocal-guides,
  .rplocal-partners{
    padding:26px 0;
  }

  .rplocal h1{
    font-size:clamp(23px,6.5vw,30px);

    line-height:1.02;

    letter-spacing:-.025em;
  }

  .rplocal h2{
    font-size:clamp(19px,5.3vw,25px);

    line-height:1.07;
  }

  .rplocal h3{
    font-size:14px;
  }

  .rplocal h1,
  .rplocal h2,
  .rplocal h3{
    overflow-wrap:break-word;
  }

  .rplocal p{
    font-size:11px;

    line-height:1.45;
  }


  /* UN SEUL TÉLÉPHONE : HEADER */

  .rplocal a[href^="tel:"]{
    display:none!important;
  }


  /* HERO */

  .rplocal-hero-grid{
    grid-template-columns:
      minmax(0,1.18fr)
      minmax(0,.82fr);

    min-height:0!important;

    align-items:center;
  }

  .rplocal-hero-copy{
    padding:16px 9px 16px 0!important;
  }

  .rplocal-hero .rplocal-kicker{
    display:none!important;
  }

  .rplocal-hero-subtitle{
    margin-top:7px!important;

    font-size:0!important;
    line-height:1!important;

    letter-spacing:0!important;
  }

  .rplocal-hero-subtitle::after{
    content:"Fuite d’eau • Canalisation • Robinetterie";

    display:block;

    color:var(--rp-navy);

    font-size:9.5px;
    line-height:1.25;
    font-weight:900;
  }

  .rplocal-hero-text{
    margin-top:8px!important;

    color:#52697e!important;

    font-size:9.5px!important;
    line-height:1.38!important;
    font-weight:700;
  }

  .rplocal-hero-phone{
    display:none!important;
  }

  .rplocal-hero-media{
    min-height:0!important;

    height:175px!important;

    align-self:center;

    border-radius:0 0 0 13px;
  }

  .rplocal-hero-media img{
    width:100%!important;
    height:175px!important;

    min-height:0!important;

    object-fit:cover!important;
    object-position:center!important;
  }

  .rplocal-hero-media figcaption{
    left:6px;
    bottom:6px;

    padding:4px 5px;

    border-left-width:2px;

    font-size:6.5px;
  }

  .rplocal-hero-points{
    display:none!important;
  }


  /* TITRES */

  .rplocal-section-head{
    grid-template-columns:
      minmax(0,1.2fr)
      minmax(0,.8fr);

    gap:9px;

    align-items:end;

    margin-bottom:16px;
  }

  .rplocal-section-head > p{
    font-size:9.5px;
    line-height:1.35;
  }


  /* =====================================================
     SERVICES / CARROUSEL
  ===================================================== */

  .rplocal-services{
    padding-top:20px!important;
    padding-bottom:12px!important;
  }

  .rplocal-services .rplocal-kicker,
  .rplocal-services .rplocal-section-head > p{
    display:none!important;
  }

  .rplocal-services .rplocal-section-head{
    display:block;

    margin-bottom:7px;

    text-align:center;
  }

  .rplocal-services .rplocal-section-head h2{
    font-size:0!important;
    line-height:1!important;

    text-align:center;
  }

  .rplocal-services .rplocal-section-head h2::after{
    content:"Nos principaux services";

    display:block;

    color:var(--rp-navy);

    font-size:21px;
    line-height:1.05;
    font-weight:850;

    letter-spacing:-.02em;
  }

  .rplocal-services-track{
    width:calc(100% - 16px)!important;

    grid-auto-flow:column!important;
    grid-auto-columns:31%!important;

    gap:6px!important;

    padding-bottom:5px!important;

    overflow-x:auto!important;
    overflow-y:hidden!important;

    scroll-snap-type:x proximity;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;

    touch-action:auto!important;
  }

  .rplocal-services-track::-webkit-scrollbar{
    display:none;
  }

  .rplocal-services-track > li{
    min-width:0!important;

    scroll-snap-align:start;
  }

  .rplocal-service-card{
    height:178px!important;
    min-height:178px!important;

    border-radius:9px!important;

    box-shadow:
      0 3px 9px rgba(8,43,85,.055)!important;
  }

  .rplocal-service-icon{
    height:42px!important;
    min-height:42px!important;
  }

  .rplocal-service-icon svg{
    width:23px!important;
    height:23px!important;

    max-width:23px!important;
    max-height:23px!important;
  }

  .rplocal-service-body{
    height:calc(100% - 42px)!important;

    padding:7px 5px 6px!important;
  }

  .rplocal-service-body h3{
    min-height:25px!important;

    margin:0 0 5px!important;

    font-size:9.5px!important;
    line-height:1.15!important;

    text-align:center;

    overflow-wrap:anywhere;
  }

  .rplocal-service-summary{
    display:none!important;
  }

  .rplocal-service-actions{
    display:grid!important;

    gap:2px!important;

    margin-top:0!important;

    border-top:0!important;
  }

  .rplocal-service-actions strong{
    display:block;

    padding:2px 1px!important;

    border-bottom:0!important;

    color:#52697e!important;

    font-size:7.3px!important;
    line-height:1.18!important;
    font-weight:800!important;

    text-align:center;
  }

  .rplocal-service-actions strong::before{
    content:"";

    position:static;

    display:inline-block;

    width:4px;
    height:4px;

    margin-right:3px;

    border-radius:50%;

    background:var(--rp-orange);

    vertical-align:middle;

    transform:translateY(-1px);
  }

  .rplocal-service-actions strong:nth-child(even)::before{
    background:var(--rp-green);
  }

  .rplocal-service-body > a{
    display:block!important;

    height:0!important;
    min-height:0!important;

    margin:0!important;
    padding:0!important;

    overflow:hidden!important;

    font-size:0!important;
    line-height:0!important;
  }


  /* =====================================================
     GUIDES
  ===================================================== */

  .rplocal-guides-head{
    display:block;

    margin-bottom:15px;

    text-align:center;
  }

  .rplocal-guides-kicker,
  .rplocal-guides-head > p{
    display:none!important;
  }

  .rplocal-guides-head h2{
    max-width:none;

    margin-inline:auto;

    font-size:0!important;
    line-height:1!important;

    text-align:center;

    white-space:nowrap;
  }

  .rplocal-guides-head h2::after{
    content:"Réflexes face aux problèmes de plomberie";

    display:block;

    color:var(--rp-navy);

    font-size:16px;
    line-height:1.1;
    font-weight:850;

    letter-spacing:-.02em;
  }

  .rplocal-guides-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:7px;
  }

  .rplocal-guide-card{
    border-radius:10px;
  }

  .rplocal-guide-card header{
    min-height:108px;

    padding:12px 8px 8px;
  }

  .rplocal-guide-card header span{
    padding:4px 5px;

    font-size:6px;
  }

  .rplocal-guide-card h3{
    margin-top:9px;

    font-size:11.5px;
    line-height:1.12;

    text-align:center;
  }

  .rplocal-guide-card footer{
    min-height:86px;

    padding:42px 8px 8px;
  }

  .rplocal-guide-card footer > strong{
    top:4px;
    left:7px;

    font-size:39px;
  }

  .rplocal-guide-card footer small{
    font-size:6px;
  }

  .rplocal-guide-card footer b{
    margin-top:3px;

    font-size:10px;
    line-height:1.1;
  }


  /* =====================================================
     INTERVENTION
  ===================================================== */

  .rplocal-process{
    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1fr);

    border-radius:13px;
  }

  .rplocal-process > section{
    min-width:0;

    padding:15px 7px;
  }

  .rplocal-process > section:first-child{
    border-right:1px solid var(--rp-line);
    border-bottom:0;
  }

  .rplocal-process h2{
    font-size:clamp(15px,4.2vw,19px);
  }

  .rplocal-process-label{
    margin-bottom:6px!important;

    padding:4px 5px;

    font-size:6px!important;
  }

  .rplocal-process > section > p:not(.rplocal-process-label){
    display:none!important;
  }

  .rplocal-process-steps,
  .rplocal-process-services{
    grid-template-columns:1fr;

    gap:5px;

    margin-top:9px!important;
  }

  .rplocal-process-steps li{
    grid-template-columns:
      22px minmax(0,1fr);

    gap:4px;

    padding:5px;

    border-radius:7px;
  }

  .rplocal-process-steps > li > strong{
    width:22px;
    height:22px;

    font-size:6.5px;
  }

  .rplocal-process-steps b{
    font-size:7.8px;
  }

  .rplocal-process-steps span{
    font-size:6.8px;

    line-height:1.22;
  }

  .rplocal-process-services li{
    padding:5px;

    border-left-width:3px;

    font-size:7.3px;
    line-height:1.22;
  }

  .rplocal-process-phone{
    display:none!important;
  }


  /* =====================================================
     ASSURANCE / IMMOBILIER
  ===================================================== */

  .rplocal-partners-head{
    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1fr);

    gap:6px 9px;

    margin-bottom:14px;
  }

  .rplocal-partners-head .rplocal-kicker{
    grid-column:1 / -1;
  }

  .rplocal-partners-head > p,
  .rplocal-partners-eyebrow{
    display:none!important;
  }

  .rplocal-partners-head h2{
    grid-column:1 / -1;

    font-size:0!important;
    line-height:1!important;

    text-align:center;

    white-space:nowrap;
  }

  .rplocal-partners-head h2::after{
    content:"Assurances / gestion immobilière";

    display:block;

    color:var(--rp-navy);

    font-size:17px;
    line-height:1.08;
    font-weight:850;

    letter-spacing:-.02em;
  }

  .rplocal-partners-number{
    display:none!important;
  }

  .rplocal-insurance-panel{
    border-radius:13px;
  }

  .rplocal-insurance-panel-head{
    gap:7px;

    padding:12px 9px 8px;
  }

  .rplocal-insurance-panel-head h3{
    font-size:0!important;
    line-height:1!important;

    white-space:nowrap;
  }

  .rplocal-insurance-panel-head h3::after{
    content:"Fuite sanitaire / dégâts des eaux";

    color:var(--rp-navy);

    font-size:11px;
    line-height:1.1;
    font-weight:900;
  }

  .rplocal-insurance-panel-head p{
    display:none!important;
  }

  .rplocal-insurance-logos{
    grid-auto-columns:96px;

    gap:5px;

    padding:4px 9px 10px!important;

    scrollbar-width:none;

    touch-action:auto!important;
  }

  .rplocal-insurance-logos::-webkit-scrollbar{
    display:none;
  }

  .rplocal-insurance-logo{
    height:52px;

    padding:7px 8px;
  }

  .rplocal-insurance-logo img{
    max-width:75px!important;
    max-height:27px!important;
  }

  .rplocal-insurance-footer{
    padding:8px 9px;

    touch-action:auto!important;
  }

  .rplocal-insurance-footer strong{
    padding:4px 6px;

    font-size:6.5px;
  }

  .rplocal-insurance-footer span{
    font-size:7.3px;
  }

  .rplocal-property-panel{
    margin-top:11px;

    padding:12px 8px;

    border-radius:13px;
  }

  .rplocal-property-head{
    justify-content:center;

    gap:7px;

    margin-bottom:8px;

    text-align:center;
  }

  .rplocal-property-head h3,
  .rplocal-property-head h2{
    text-align:center;
  }

  .rplocal-property-cards{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:6px;

    align-items:stretch;
  }

  .rplocal-property-cards > li{
    height:100%;
  }

  .rplocal-property-card{
    height:100%;

    min-width:0;
    min-height:116px;

    padding:9px 6px;

    border-radius:9px;
  }

  .rplocal-property-card h3{
    font-size:12px;
    line-height:1.12;

    text-align:center;
  }

  .rplocal-property-card p{
    font-size:8.2px;
    line-height:1.27;

    text-align:center;
  }

  .rplocal-property-badge{
    margin-bottom:6px;

    padding:3px 5px;

    font-size:6px;
  }


  /* =====================================================
     FAQ
  ===================================================== */

  .rplocal-faq .rplocal-kicker{
    display:none!important;
  }

  .rplocal-faq h2{
    font-size:0!important;
    line-height:1!important;

    white-space:nowrap;
  }

  .rplocal-faq h2::after{
    content:"Questions fréquentes";

    display:block;

    color:var(--rp-navy);

    font-size:20px;
    line-height:1.05;
    font-weight:850;

    letter-spacing:-.02em;

    text-align:center;
  }

  .rplocal-faq-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:5px;

    margin-top:12px;
  }

  .rplocal-faq-grid > details:nth-child(n+7){
    display:none!important;
  }

  .rplocal-faq details{
    min-width:0;

    border-radius:8px;
  }

  .rplocal-faq summary{
    padding:8px 21px 8px 6px;

    font-size:7.8px;
    line-height:1.22;
  }

  .rplocal-faq summary::after{
    right:7px;

    font-size:14px;
  }

  .rplocal-faq details p{
    padding:0 6px 7px;

    font-size:7.2px;
    line-height:1.3;
  }


  /* =====================================================
     CTA
  ===================================================== */

  .rplocal-cta{
    padding:22px 12px;
  }

  .rplocal-cta article > p{
    display:none!important;
  }

  .rplocal-cta h2{
    font-size:0!important;
    line-height:1!important;
  }

  .rplocal-cta h2::after{
    content:"Un problème ? Nous contacter";

    display:block;

    color:#fff;

    font-size:19px;
    line-height:1.08;
    font-weight:850;
  }

  .rplocal-cta a{
    display:none!important;
  }


  /* =====================================================
     FOOTER MOBILE
  ===================================================== */

  .rplocal-footer{
    border-top:4px solid var(--rp-orange);

    background:linear-gradient(
      135deg,
      #e9edef 0%,
      #f7f8f9 52%,
      #e2e7ea 100%
    );
  }

  .rplocal-footer-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:10px;

    padding:16px 0 13px;
  }

  .rplocal-footer-brand{
    display:none!important;
  }

  .rplocal-footer-phone{
    display:none!important;
  }

  .rplocal-footer h3{
    padding-bottom:6px;

    border-bottom:0;

    font-size:12px;

    text-align:center;
  }

  .rplocal-footer-grid > nav:first-of-type h3{
    color:var(--rp-orange);
  }

  .rplocal-footer-grid > nav:last-of-type h3{
    color:var(--rp-green);
  }

  .rplocal-footer nav ul{
    display:grid;

    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:5px;

    margin-top:7px;
  }

  .rplocal-footer nav a{
    display:flex;

    align-items:center;
    justify-content:center;

    min-height:28px;

    padding:4px 5px;

    border-radius:7px;

    color:#40566b!important;

    font-size:8px;
    line-height:1.12;

    text-align:center;
  }

  .rplocal-footer-grid > nav:first-of-type a{
    border:1px solid rgba(255,105,0,.28);

    background:rgba(255,105,0,.07);
  }

  .rplocal-footer-grid > nav:last-of-type a{
    border:1px solid rgba(33,138,97,.25);

    background:rgba(33,138,97,.07);
  }

  .rplocal-footer-bottom{
    padding:9px 8px;

    background:#dce2e5;

    font-size:7.5px!important;
  }


  /* ANTI DÉBORDEMENT */

  .rplocal-hero-grid > *,
  .rplocal-section-head > *,
  .rplocal-guides-grid > *,
  .rplocal-process > *,
  .rplocal-process-steps > *,
  .rplocal-process-services > *,
  .rplocal-partners-head > *,
  .rplocal-property-cards > *,
  .rplocal-faq-grid > *,
  .rplocal-footer-grid > *{
    min-width:0;
  }

}


/* =========================================================
   PETIT MOBILE
========================================================= */

@media(max-width:420px){

  .rplocal-wrap{
    width:calc(100% - 16px);
  }

  .rplocal-section,
  .rplocal-guides,
  .rplocal-partners{
    padding:23px 0;
  }

  .rplocal h1{
    font-size:clamp(22px,6.25vw,27px);
  }

  .rplocal h2{
    font-size:clamp(18px,5vw,22px);
  }

  .rplocal-services .rplocal-section-head h2::after{
    font-size:19px;
  }

  .rplocal-guides-head h2::after{
    font-size:14px;
  }

  .rplocal-partners-head h2::after{
    font-size:15px;
  }

  .rplocal-hero-grid{
    grid-template-columns:
      minmax(0,1.2fr)
      minmax(0,.8fr);
  }

  .rplocal-hero-copy{
    padding:14px 6px 14px 0!important;
  }

  .rplocal-hero-subtitle::after{
    font-size:8.5px;
  }

  .rplocal-hero-text{
    font-size:8.7px!important;
  }

  .rplocal-hero-media,
  .rplocal-hero-media img{
    height:155px!important;
  }

  .rplocal-services-track{
    width:calc(100% - 12px)!important;

    grid-auto-columns:31%!important;

    gap:5px!important;

    touch-action:auto!important;
  }

  .rplocal-service-card{
    height:170px!important;
    min-height:170px!important;
  }

  .rplocal-service-icon{
    height:39px!important;
    min-height:39px!important;
  }

  .rplocal-service-icon svg{
    width:21px!important;
    height:21px!important;

    max-width:21px!important;
    max-height:21px!important;
  }

  .rplocal-service-body{
    height:calc(100% - 39px)!important;

    padding:6px 4px 5px!important;
  }

  .rplocal-service-body h3{
    font-size:8.7px!important;
  }

  .rplocal-service-actions strong{
    padding:2px 1px!important;

    font-size:6.8px!important;

    text-align:center;
  }

  .rplocal-service-actions strong::before{
    width:3px;
    height:3px;
  }

  .rplocal-guides-grid,
  .rplocal-property-cards,
  .rplocal-faq-grid,
  .rplocal-footer-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .rplocal-guide-card header{
    min-height:101px;

    padding:10px 7px 7px;
  }

  .rplocal-guide-card h3{
    font-size:10.8px;
  }

  .rplocal-guide-card footer{
    min-height:80px;

    padding:39px 7px 7px;
  }

  .rplocal-process > section{
    padding:13px 6px;
  }

  .rplocal-process h2{
    font-size:14px;
  }

  .rplocal-process-steps li{
    grid-template-columns:
      20px minmax(0,1fr);

    padding:4px;
  }

  .rplocal-process-steps > li > strong{
    width:20px;
    height:20px;
  }

  .rplocal-insurance-panel-head h3::after{
    font-size:10px;
  }

  .rplocal-property-card{
    min-height:110px;

    padding:8px 5px;
  }

  .rplocal-faq h2::after{
    font-size:18px;
  }

  .rplocal-faq summary{
    padding:7px 20px 7px 5px;

    font-size:7.3px;
  }

  .rplocal-faq details p{
    padding:0 5px 6px;

    font-size:6.8px;
  }

}


/* =========================================================
   HEADER GLOBAL
   FIXE RÉEL
========================================================= */

#site-header,
header.site-header{
  display:none!important;
}


/*
 * HEADER FIXE.
 *
 * IMPORTANT :
 * pointer-events:none sur la grande surface du header.
 * Ainsi une zone vide du header ne bloque JAMAIS
 * le glissement vertical.
 *
 * On réactive les clics uniquement sur :
 * logo / téléphone / menu / navigation.
 */

.rp-global-header{
  position:fixed;

  top:0;
  left:0;
  right:0;

  z-index:99999;

  width:100%;

  background:#fff;

  border-bottom:
    1px solid rgba(12,47,79,.10);

  box-shadow:
    0 6px 20px rgba(12,47,79,.07);

  pointer-events:none;
}

.rp-global-header__inner{
  width:min(1240px,calc(100% - 40px));

  min-height:86px;

  margin:0 auto;

  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:28px;
}


/* SEULES LES ZONES UTILES CAPTURENT LE TOUCHER */

.rp-global-header__brand,
.rp-global-header__phone,
.rp-global-header__toggle,
.rp-global-header__nav,
.rp-global-header__nav a{
  pointer-events:auto;
}


.rp-global-header__brand{
  display:flex;

  align-items:center;

  flex:0 0 auto;

  text-decoration:none;
}

.rp-global-header__brand img{
  display:block;

  width:190px;
  max-width:190px;

  height:auto;

  object-fit:contain;
}


/* NAV */

.rp-global-header__nav{
  display:flex;

  align-items:center;
  justify-content:center;

  gap:28px;

  flex:1;
}

.rp-global-header__nav a{
  position:relative;

  color:#113b62;

  font-size:15px;
  font-weight:700;

  line-height:1.2;

  text-decoration:none;

  white-space:nowrap;

  transition:
    color .2s ease,
    transform .2s ease;
}

.rp-global-header__nav a:hover{
  color:#ef7d24;
}

.rp-global-header__nav a::after{
  content:"";

  position:absolute;

  left:0;
  bottom:-8px;

  width:0;
  height:2px;

  background:#ef7d24;

  transition:width .2s ease;
}

.rp-global-header__nav a:hover::after{
  width:100%;
}


/* TELEPHONE */

.rp-global-header__phone{
  flex:0 0 auto;

  display:inline-flex;

  align-items:center;
  justify-content:center;

  gap:8px;

  min-height:48px;

  padding:0 18px;

  border-radius:9px;

  background:#ef7d24;

  color:#fff!important;

  font-size:16px;
  font-weight:800;

  line-height:1;

  text-decoration:none!important;

  white-space:nowrap;

  box-shadow:
    0 8px 20px rgba(239,125,36,.20);

  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

.rp-global-header__phone:hover{
  background:#d96a16;

  transform:translateY(-2px);

  box-shadow:
    0 12px 26px rgba(239,125,36,.28);
}

.rp-global-header__phone span{
  font-size:18px;
}


/* HAMBURGER */

.rp-global-header__toggle{
  display:none;

  width:46px;
  height:46px;

  padding:10px;

  border:0;
  border-radius:8px;

  background:#113b62;

  cursor:pointer;
}

.rp-global-header__toggle span{
  display:block;

  width:100%;
  height:2px;

  margin:5px 0;

  background:#fff;

  border-radius:10px;

  transition:
    transform .2s ease,
    opacity .2s ease;
}


/* ADMIN BAR */

body.admin-bar .rp-global-header{
  top:32px;
}


/* =========================================================
   HEADER TABLETTE / MOBILE
========================================================= */

@media(max-width:1000px){

  .rp-global-header__inner{
    width:calc(100% - 30px);

    min-height:76px;

    gap:14px;
  }

  .rp-global-header__brand img{
    width:155px;
  }

  .rp-global-header__toggle{
    display:block;

    order:3;
  }

  .rp-global-header__phone{
    order:2;

    margin-left:auto;

    min-height:44px;

    padding:0 14px;

    font-size:14px;
  }

  .rp-global-header__nav{
    position:absolute;

    top:100%;
    left:0;
    right:0;

    display:none;

    width:100%;

    padding:20px;

    background:#fff;

    border-top:1px solid #e8edf2;

    box-shadow:
      0 18px 35px rgba(12,47,79,.12);

    flex-direction:column;

    align-items:stretch;

    gap:0;

    pointer-events:auto;
  }

  .rp-global-header.menu-open
  .rp-global-header__nav{
    display:flex;
  }

  .rp-global-header__nav a{
    display:block;

    width:100%;

    padding:14px 10px;

    border-bottom:
      1px solid #edf1f4;

    font-size:16px;
  }

  .rp-global-header__nav a::after{
    display:none;
  }

  .rp-global-header.menu-open
  .rp-global-header__toggle span:nth-child(1){
    transform:
      translateY(7px)
      rotate(45deg);
  }

  .rp-global-header.menu-open
  .rp-global-header__toggle span:nth-child(2){
    opacity:0;
  }

  .rp-global-header.menu-open
  .rp-global-header__toggle span:nth-child(3){
    transform:
      translateY(-7px)
      rotate(-45deg);
  }

}


/* =========================================================
   PETIT HEADER MOBILE
========================================================= */

@media(max-width:560px){

  .rp-global-header__inner{
    width:calc(100% - 20px);

    min-height:70px;

    gap:8px;
  }

  .rp-global-header__brand img{
    width:120px;
  }

  .rp-global-header__phone{
    min-height:40px;

    padding:0 10px;

    font-size:12px;
  }

  .rp-global-header__phone span{
    display:none;
  }

  .rp-global-header__toggle{
    width:42px;
    height:42px;
  }

}


/* ADMIN MOBILE */

@media(max-width:782px){

  body.admin-bar .rp-global-header{
    top:46px;
  }

}


/* =========================================================
   WORDPRESS
========================================================= */

body.page .entry-header,
body.page .page-header,
body.page h1.entry-title,
body.page .entry-title{
  display:none!important;
}


html,
body{
  width:100%;

  max-width:100%;

  margin:0!important;
  padding:0!important;

  overflow-x:hidden;

  touch-action:auto;
}


body.page #page,
body.page .site,
body.page #content,
body.page .site-content,
body.page #primary,
body.page .content-area,
body.page .site-main,
body.page main.site-main,
body.page article.page,
body.page .page-content,
body.page .entry-content,
body.page .wp-block-post-content{
  width:100%!important;

  max-width:none!important;

  margin-left:0!important;
  margin-right:0!important;

  padding-left:0!important;
  padding-right:0!important;
}


body.page .wp-block-html,
body.page .entry-content > .wp-block-html,
body.page .page-content > .wp-block-html,
body.page .wp-block-post-content > .wp-block-html,
body.page .wp-block-post-content.is-layout-constrained > .wp-block-html,
body.page .is-layout-constrained > .wp-block-html{
  width:100%!important;

  max-width:none!important;

  margin-left:0!important;
  margin-right:0!important;

  padding-left:0!important;
  padding-right:0!important;
}


body.page #content,
body.page #primary,
body.page .content-area,
body.page .site-main,
body.page .page-content,
body.page .entry-content,
body.page .wp-block-post-content,
body.page .wp-block-html{
  overflow:visible!important;
}


/* =========================================================
   PLEINE LARGEUR
========================================================= */

body.page .rplocal{
  position:relative;

  width:100vw!important;
  max-width:100vw!important;

  margin-left:
    calc(50% - 50vw)!important;

  margin-right:
    calc(50% - 50vw)!important;

  padding-left:0!important;
  padding-right:0!important;
}

body.page .rplocal > section,
body.page .rplocal > footer{
  width:100%!important;

  max-width:none!important;
}

body.page .rplocal .rplocal-wrap{
  width:
    min(calc(100% - 48px),var(--rp-max))!important;

  max-width:var(--rp-max)!important;

  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:680px){

  body.page .rplocal .rplocal-wrap{
    width:calc(100% - 24px)!important;
  }

}

@media(max-width:420px){

  body.page .rplocal .rplocal-wrap{
    width:calc(100% - 16px)!important;
  }

}


/* =========================================================
   COMPENSATION HEADER FIXE
========================================================= */

body{
  padding-top:86px!important;
}

@media(max-width:1000px){

  body{
    padding-top:76px!important;
  }

}

@media(max-width:560px){

  body{
    padding-top:70px!important;
  }

}


/* ADMIN WORDPRESS + HEADER FIXE */

body.admin-bar{
  padding-top:118px!important;
}

@media(max-width:782px){

  body.admin-bar{
    padding-top:116px!important;
  }

}