/*
Theme Name: PersoPulse
Theme URI: https://persopulse.ch
Author: PersoPulse
Description: Thème éditorial sombre lavande & pastel pour PersoPulse — personnalisation textile, Lausanne. Basé sur le prototype v2. Compatible WooCommerce et Elementor.
Version: 2.3.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: persopulse
*/

:root{
  color-scheme: dark;
  --paper:#15131E;        /* fond sombre teinté indigo */
  --paper-deep:#1D1A2B;   /* sections alternées */
  --ink:#F1EFF8;          /* texte principal clair */
  --ink-60:#C7C3DB;       /* texte secondaire clair, lisible */
  --ink-30:#8A85A3;       /* décor uniquement */
  --indigo:#A79BF0;       /* accent indigo éclairci */
  --indigo-deep:#4B3F9E;  /* indigo original, pour surfaces claires */
  --sky:#BCD9EE;
  --lav:#D8D3EF;
  --hairline:#332F47;
  --max:1240px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;background:var(--paper);}
body{margin:0;}
/* Resets limités aux éléments du thème — ne touche pas Elementor/plugins */
.pp-front h1,.pp-front h2,.pp-front h3,.pp-front h4,.pp-front p,.pp-front ul,
.pp-header ul,.pp-footer ul,.pp-footer h5,.pp-footer p{margin:0;padding:0;}
.pp-front ul,.pp-header ul,.pp-footer ul{list-style:none;}

body{
  font-family:'Archivo',sans-serif;
  background:var(--paper);
  color:var(--ink);
  font-size:16.5px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

.pp-front a,.pp-header a,.pp-footer a{color:inherit;text-decoration:none;}
.pp-front img,.pp-header img,.pp-footer img{display:block;max-width:100%;height:auto;}
::selection{background:#4B3F9E;color:#F1EFF8;}
:focus-visible{outline:2px solid var(--indigo);outline-offset:3px;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 40px;}

.pp-serif{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;letter-spacing:0;}

.pp-front h1,.pp-front h2,.pp-front h3,.pp-front h4,
.pp-page-plain h1,.pp-page-plain h2,.pp-page-plain h3{
  font-weight:500;letter-spacing:-0.025em;line-height:1.06;color:var(--ink);
}

.pp-label{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink-60);
  display:flex;align-items:center;gap:12px;
  font-weight:600;
}
.pp-label::before{content:'';width:24px;height:1.5px;background:var(--ink-60);}

/* Liens soulignés (style v2) */
.pp-linkbtn{
  display:inline-flex;align-items:center;gap:14px;
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  padding-bottom:6px;
  border-bottom:1.5px solid var(--ink);
  transition:gap .3s ease, color .3s ease, border-color .3s ease;
}
.pp-linkbtn:hover{gap:22px;color:var(--indigo);border-color:var(--indigo);}
.pp-linkbtn .arr{font-size:15px;letter-spacing:0;}

.pp-solidbtn, .pp-solidbtn:visited{
  display:inline-flex;align-items:center;gap:12px;
  background:var(--ink);color:var(--paper) !important;
  font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  padding:18px 32px;
  transition:background .3s ease, transform .3s ease;
  border:none;cursor:pointer;
}
.pp-solidbtn:hover{background:var(--indigo);transform:translateY(-2px);}

/* Zones photo */
.pp-ph{
  position:relative;
  background:linear-gradient(160deg,var(--lav) 0%, var(--sky) 60%, #CFE6F4 100%);
  overflow:hidden;
}
.pp-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pp-ph::after{
  content:attr(data-note);
  position:absolute;left:16px;bottom:14px;
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  color:var(--ink-60);
  background:rgba(21,19,30,0.78);padding:8px 14px;backdrop-filter:blur(4px);
}
.pp-ph.has-img::after{display:none;}
.pp-ph.g2{background:linear-gradient(135deg,var(--paper-deep),var(--sky));}
.pp-ph.g3{background:linear-gradient(135deg,var(--lav),var(--paper-deep));}
.pp-ph.g4{background:linear-gradient(135deg,#CFE6F4,var(--lav));}

/* ---------- HEADER ---------- */
.pp-header{
  position:sticky;top:0;left:0;right:0;z-index:200;
  background:var(--paper);
  transition:background .35s ease, box-shadow .35s ease;
}
body.admin-bar .pp-header{top:32px;}
.pp-header.scrolled{
  background:rgba(21,19,30,0.88);
  backdrop-filter:blur(12px);
  box-shadow:0 1px 0 var(--hairline);
}
.pp-nav{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  max-width:var(--max);margin:0 auto;
  padding:20px 40px;
}
.pp-brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.pp-brand img{width:30px;height:auto;}
.pp-brand .custom-logo{width:auto;max-height:42px;}
.pp-brand span{font-weight:600;font-size:16px;letter-spacing:.01em;color:var(--ink);}
.pp-menu ul{display:flex;gap:34px;flex-wrap:wrap;}
.pp-menu a{
  font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  color:var(--ink-60);transition:color .25s ease;
}
.pp-menu a:hover{color:var(--ink);}
.pp-menu li{position:relative;}
.pp-menu .sub-menu{
  display:none;position:absolute;top:100%;left:0;
  background:var(--paper);border:1px solid var(--hairline);
  padding:16px 20px;flex-direction:column;gap:12px;min-width:180px;
  margin-top:12px;
}
.pp-menu li:hover > .sub-menu{display:flex;}
.pp-nav-right{display:flex;align-items:center;gap:24px;}
.pp-cart{
  position:relative;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  display:inline-flex;align-items:center;gap:8px;color:var(--ink-60);
  transition:color .25s ease;
}
.pp-cart:hover{color:var(--ink);}
.pp-cart .count{
  background:var(--indigo);color:var(--paper);
  font-size:11px;font-weight:600;
  min-width:19px;height:19px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 4px;letter-spacing:0;
}
.pp-devis{
  font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  border-bottom:1.5px solid var(--ink);padding-bottom:3px;color:var(--ink);
  transition:color .25s, border-color .25s;
}
.pp-devis:hover{color:var(--indigo);border-color:var(--indigo);}
.pp-burger{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.pp-burger span{display:block;width:24px;height:1.5px;background:var(--ink);margin:6px 0;}

/* ---------- HERO ---------- */
.pp-hero{
  min-height:calc(100svh - 76px);
  display:flex;flex-direction:column;justify-content:flex-end;
  position:relative;
  padding-top:60px;
}
.pp-hero .pp-label{margin-bottom:34px;}
.pp-hero h1{
  font-size:clamp(46px,8vw,110px);
  text-transform:uppercase;
  margin-bottom:40px;
}
.pp-hero h1 .pp-serif{text-transform:none;font-size:0.96em;color:var(--indigo);}
.pp-hero-foot{
  display:flex;justify-content:space-between;align-items:flex-end;gap:60px;
  padding-bottom:60px;
  flex-wrap:wrap;
}
.pp-hero-foot p{
  max-width:440px;font-size:16.5px;color:var(--ink-60);line-height:1.65;
}
.pp-hero-ctas{display:flex;gap:44px;align-items:center;flex-wrap:wrap;}

.pp-hero-band{
  height:46svh;min-height:320px;
  margin:0 40px;
  position:relative;
  overflow:hidden;
}
.pp-hero-band .pp-mark{
  position:absolute;
  right:6%;bottom:-14%;
  width:min(340px,40vw);
  opacity:.9;
  z-index:2;
}

/* ---------- MARQUEE ---------- */
.pp-marquee{
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  overflow:hidden;
  padding:26px 0;
  margin-top:80px;
  background:var(--paper);
}
.pp-marquee-track{
  display:flex;width:max-content;
  animation:ppmq 36s linear infinite;
}
.pp-marquee span{
  font-size:15px;letter-spacing:.26em;text-transform:uppercase;font-weight:600;
  color:var(--ink-60);
  padding:0 34px;
  display:flex;align-items:center;gap:34px;
  white-space:nowrap;
}
.pp-marquee span::after{content:'✳';color:var(--indigo);font-size:13px;}
@keyframes ppmq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- SECTIONS ---------- */
.pp-section{padding:130px 0;}

/* ---------- À PROPOS ---------- */
.pp-about-head{max-width:900px;margin-bottom:70px;}
.pp-about-head .pp-label{margin-bottom:30px;}
.pp-about-head h2{
  font-size:clamp(30px,4.4vw,54px);
  line-height:1.12;
}
.pp-about-head h2 .pp-serif{color:var(--indigo);}

.pp-about-cards{
  display:flex;gap:28px;align-items:flex-start;
  flex-wrap:wrap;
}
.pp-about-card{
  background:#211E31;
  border:1px solid var(--hairline);
  padding:14px 14px 20px;
  width:270px;
  transition:transform .4s ease, box-shadow .4s ease;
}
.pp-about-card:nth-child(2){margin-top:46px;transform:rotate(1.2deg);}
.pp-about-card:nth-child(3){margin-top:14px;transform:rotate(-1.6deg);}
.pp-about-card:hover{transform:rotate(0) translateY(-6px);box-shadow:0 24px 50px -28px rgba(0,0,0,.55);}
.pp-about-card .pp-ph{height:170px;margin-bottom:16px;}
.pp-about-card h4{
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  margin-bottom:6px;color:var(--indigo);
}
.pp-about-card p{font-size:14.5px;color:var(--ink-60);line-height:1.55;}

/* ---------- SERVICES (liste éditoriale) ---------- */
.pp-services .pp-label{margin-bottom:26px;}
.pp-services h2{
  font-size:clamp(30px,4vw,50px);text-transform:uppercase;
  margin-bottom:70px;
}
.pp-svc-list{border-top:1px solid var(--hairline);}
.pp-svc-row{
  display:grid;
  grid-template-columns:70px 1fr 1.2fr auto;
  gap:36px;align-items:center;
  padding:44px 0;
  border-bottom:1px solid var(--hairline);
  position:relative;
  transition:padding-left .35s ease;
}
.pp-svc-row:hover{padding-left:22px;}
.pp-svc-row .num{
  font-size:13px;color:var(--ink-60);letter-spacing:.1em;font-weight:600;
}
.pp-svc-row h3{
  font-size:clamp(22px,2.6vw,32px);
  transition:color .3s ease;
}
.pp-svc-row:hover h3{color:var(--indigo);}
.pp-svc-row p{font-size:15px;color:var(--ink-60);line-height:1.6;max-width:480px;}
.pp-svc-row .arr{
  font-size:22px;color:var(--ink-60);
  transition:transform .35s ease, color .35s ease;
}
.pp-svc-row:hover .arr{transform:translateX(8px);color:var(--indigo);}
.pp-svc-thumb{
  position:absolute;right:120px;top:50%;
  width:190px;height:130px;
  transform:translateY(-50%) scale(.92);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease, transform .35s ease;
  z-index:5;
}
.pp-svc-row:hover .pp-svc-thumb{opacity:1;transform:translateY(-50%) rotate(-2deg) scale(1);}
.pp-svc-thumb .pp-ph{width:100%;height:100%;box-shadow:0 24px 44px -20px rgba(0,0,0,.55);}

/* ---------- BOUTIQUES (section sombre v2) ---------- */
.pp-shops{
  background:var(--lav);
  color:#1E1C2E;
}
.pp-shops .pp-label{color:#55506E;}
.pp-shops .pp-label::before{background:#55506E;}
.pp-shops-grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center;
}
.pp-shops h2{
  font-size:clamp(30px,4vw,52px);line-height:1.1;
  margin:28px 0 26px;color:#1E1C2E;
}
.pp-shops h2 .pp-serif{color:#4B3F9E;}
.pp-shops p.big{font-size:17px;color:#3F3B58;line-height:1.7;max-width:480px;margin-bottom:38px;}
.pp-shops .pp-linkbtn{color:#1E1C2E;border-color:#1E1C2E;}
.pp-shops .pp-linkbtn:hover{color:#4B3F9E;border-color:#4B3F9E;}

.pp-shop-frame{
  background:#2A2740;
  border:1px solid #3A3655;
  padding:30px;
}
.pp-shop-frame .sf-head{
  display:flex;justify-content:space-between;align-items:baseline;
  padding-bottom:20px;margin-bottom:24px;
  border-bottom:1px solid #3A3655;
}
.pp-shop-frame .sf-head strong{font-weight:500;font-size:15px;letter-spacing:.04em;color:var(--paper);}
.pp-shop-frame .sf-head span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#B4B0C8;font-weight:600;}
.pp-sf-rows{display:flex;flex-direction:column;gap:14px;}
.pp-sf-rows a{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 18px;
  background:#232038;
  color:#DDDAEC;font-size:14.5px;font-weight:500;
  transition:background .25s ease, color .25s ease;
}
.pp-sf-rows a:hover{background:#2E2B47;color:var(--sky);}
.pp-sf-rows a em{font-style:normal;font-size:16px;}
.pp-shop-note{margin-top:22px;font-size:12.5px;color:#B4B0C8;line-height:1.6;}

/* ---------- PROCESSUS ---------- */
.pp-process h2{
  font-size:clamp(26px,3.4vw,44px);
  line-height:1.18;max-width:880px;
  margin:28px 0 80px;
}
.pp-process h2 .pp-serif{color:var(--indigo);}
.pp-steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-left:1px solid var(--hairline);
}
.pp-step{
  border-right:1px solid var(--hairline);
  padding:8px 28px 0;
}
.pp-step .snum{
  font-family:'Instrument Serif',serif;font-style:italic;
  font-size:44px;color:var(--ink-60);
  display:block;margin-bottom:22px;
  transition:color .3s ease;
}
.pp-step:hover .snum{color:var(--indigo);}
.pp-step h4{font-size:16px;font-weight:600;margin-bottom:10px;letter-spacing:.01em;}
.pp-step p{font-size:14px;color:var(--ink-60);line-height:1.6;}

/* ---------- CONTACT ---------- */
.pp-contact{
  background:var(--paper-deep);
}
.pp-contact-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:90px;
}
.pp-contact h2{
  font-size:clamp(28px,3.6vw,46px);line-height:1.14;
  margin:26px 0 44px;
}
.pp-contact h2 .pp-serif{color:var(--indigo);}
.pp-coords a{
  font-size:clamp(18px,2.2vw,26px);
  font-weight:500;letter-spacing:-.01em;
  padding:16px 0;
  border-bottom:1px solid var(--hairline);
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  transition:color .25s ease, padding-left .25s ease;
}
.pp-coords a:hover{color:var(--indigo);padding-left:10px;}
.pp-coords a small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-60);font-weight:600;flex-shrink:0;}

.pp-form-box .f-title{
  font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  margin-bottom:28px;color:var(--ink);
}
/* Champs des formulaires (plugins) — style v2 en soulignés */
.pp-form-box input[type=text],
.pp-form-box input[type=email],
.pp-form-box input[type=tel],
.pp-form-box select,
.pp-form-box textarea{
  width:100%;
  background:transparent;
  border:none;border-bottom:1px solid var(--hairline);
  outline:none;
  font-family:'Archivo',sans-serif;
  font-size:16px;color:var(--ink);
  padding:14px 0;
  margin-bottom:10px;
  border-radius:0;
  transition:border-color .25s ease;
}
.pp-form-box input:focus,.pp-form-box select:focus,.pp-form-box textarea:focus{border-bottom-color:var(--indigo);}
.pp-form-box textarea{min-height:80px;resize:vertical;}
.pp-form-box input::placeholder,.pp-form-box textarea::placeholder{color:var(--ink-60);}
.pp-form-box label{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60);
  font-weight:600;
}
.pp-form-box input[type=submit], .pp-form-box button[type=submit]{
  width:auto;
  background:var(--ink);color:var(--paper);
  padding:18px 32px;border:none;cursor:pointer;
  font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  margin-top:28px;
  transition:background .3s ease;
}
.pp-form-box input[type=submit]:hover, .pp-form-box button[type=submit]:hover{background:var(--indigo);}

/* ---------- FOOTER (typographique v2) ---------- */
.pp-footer{
  padding:100px 0 40px;
  background:var(--paper);
}
.pp-foot-big{
  font-size:clamp(52px,10vw,150px);
  font-weight:600;letter-spacing:-.03em;text-transform:uppercase;
  line-height:.95;
  color:var(--ink);
  margin-bottom:80px;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.pp-foot-big img{width:clamp(44px,7vw,100px);height:auto;}
.pp-foot-cols{
  display:flex;justify-content:space-between;gap:50px;flex-wrap:wrap;
  padding-top:44px;
  border-top:1px solid var(--hairline);
}
.pp-foot-col h5{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-60);
  margin-bottom:18px;font-weight:600;
}
.pp-foot-col a, .pp-foot-col span{
  display:block;font-size:14px;color:var(--ink);
  margin-bottom:11px;transition:color .25s ease;font-weight:500;
}
.pp-foot-col a:hover{color:var(--indigo);}
.pp-foot-bottom{
  display:flex;justify-content:space-between;padding-top:26px;margin-top:60px;
  border-top:1px solid var(--hairline);
  font-size:12.5px;color:var(--ink-60);flex-wrap:wrap;gap:10px;font-weight:500;
}

/* ---------- PAGES STANDARD / ELEMENTOR ---------- */
.pp-page-plain{padding:70px 0 110px;}

.pp-page-plain .wrap > h1{font-size:clamp(34px,4.5vw,56px);margin-bottom:34px;}
.pp-page-plain .entry-content p{margin-bottom:1.1em;color:var(--ink-60);}
.pp-page-plain .entry-content h2,.pp-page-plain .entry-content h3{margin:1.4em 0 .6em;}
.pp-elementor-page{padding-top:0;}


/* ---------- WOOCOMMERCE ---------- */
.pp-woo-wrap{padding:70px 0 110px;}

.woocommerce ul.products li.product{
  background:#211E31;
  border:1px solid var(--hairline);
  padding:0 0 18px !important;
  text-align:left;
  transition:transform .3s ease, box-shadow .3s ease;
}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:0 24px 50px -28px rgba(0,0,0,.55);}
.woocommerce ul.products li.product a img{margin:0 0 14px;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Archivo',sans-serif;font-size:16px;font-weight:600;color:var(--ink);
  padding:0 16px;
}
.woocommerce ul.products li.product .price{
  color:var(--indigo);font-weight:600;font-size:15px;padding:0 16px;
}
.woocommerce ul.products li.product .button{margin:10px 16px 0;}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce input.button.alt, .woocommerce a.added_to_cart{
  background:var(--ink);color:var(--paper);border-radius:0;
  font-family:'Archivo',sans-serif;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:12px;
  padding:14px 24px;
  transition:background .25s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover{
  background:var(--indigo);color:var(--paper);
}
.woocommerce span.onsale{
  background:var(--indigo);color:var(--paper);border-radius:0;
  font-weight:600;letter-spacing:.06em;
  min-height:auto;min-width:auto;padding:6px 12px;line-height:1;
}
.woocommerce div.product p.price, .woocommerce div.product span.price{color:var(--indigo);font-weight:600;}
.woocommerce .woocommerce-breadcrumb{color:var(--ink-60);font-size:13px;}
.woocommerce .woocommerce-breadcrumb a{color:var(--ink-60);}
.woocommerce nav.woocommerce-pagination ul{border:1px solid var(--hairline);border-radius:0;}
.woocommerce nav.woocommerce-pagination ul li{border-right:1px solid var(--hairline);}
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{
  color:var(--ink);font-weight:600;padding:10px 16px;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--paper-deep);color:var(--indigo);}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select{
  background:#211E31;border:1px solid var(--hairline);padding:12px 14px;border-radius:0;color:var(--ink);
}
.woocommerce table.shop_table{border:1px solid var(--hairline);border-radius:0;}
.woocommerce table.shop_table td, .woocommerce table.shop_table th{border-color:var(--hairline);}
.woocommerce-message, .woocommerce-info{border-top-color:var(--indigo);background:var(--paper-deep);color:var(--ink);}
.woocommerce-message::before, .woocommerce-info::before{color:var(--indigo);}
.woocommerce .star-rating span::before, .woocommerce p.stars a{color:var(--indigo);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--paper-deep);border:1px solid var(--hairline);border-radius:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--paper);}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1000px){
  .pp-shops-grid{grid-template-columns:1fr;gap:56px;}
  .pp-contact-grid{grid-template-columns:1fr;gap:64px;}
  .pp-steps{grid-template-columns:repeat(2,1fr);row-gap:50px;}
  .pp-svc-thumb{display:none;}
  .pp-svc-row{grid-template-columns:50px 1fr auto;}
  .pp-svc-row p{display:none;}
}
@media(max-width:820px){
  .wrap{padding:0 20px;}
  .pp-nav{padding:14px 20px;}
  .pp-menu{display:none;}
  .pp-menu.open{
    display:block;position:absolute;top:100%;left:0;right:0;
    background:var(--paper);border-bottom:1px solid var(--hairline);
    padding:26px 20px;z-index:199;
  }
  .pp-menu.open ul{flex-direction:column;gap:18px;}
  .pp-menu.open .sub-menu{display:flex;position:static;border:none;padding:10px 0 0 16px;margin:0;}
  .pp-devis{display:none;}
  .pp-burger{display:block;}

  /* HERO : hauteur naturelle, plus d'espace vide */
  .pp-hero{min-height:auto;padding-top:44px;}
  .pp-hero h1{font-size:clamp(38px,11.5vw,64px);margin-bottom:26px;}
  .pp-hero .pp-label{margin-bottom:22px;}
  .pp-hero-foot{padding-bottom:34px;gap:26px;}
  .pp-hero-foot p{font-size:15.5px;}
  .pp-hero-ctas{gap:22px;}
  .pp-linkbtn{font-size:12px;letter-spacing:.14em;}
  .pp-hero-band{margin:0 20px;height:34svh;min-height:230px;}
  .pp-hero-band .pp-mark{width:min(200px,46vw);bottom:-10%;}

  .pp-marquee{margin-top:48px;padding:18px 0;}
  .pp-marquee span{font-size:13px;padding:0 20px;gap:20px;}

  .pp-section{padding:70px 0;}

  .pp-about-head{margin-bottom:44px;}
  .pp-about-cards{gap:18px;}
  .pp-about-card{width:100%;}
  .pp-about-card:nth-child(2),.pp-about-card:nth-child(3){margin-top:0;transform:none;}

  .pp-services h2{margin-bottom:40px;}
  .pp-svc-row{padding:26px 0;gap:18px;}
  .pp-svc-row:hover{padding-left:0;}

  .pp-shops-grid{gap:40px;}
  .pp-shop-frame{padding:20px;}
  .pp-sf-rows a{padding:14px;}

  .pp-steps{grid-template-columns:1fr;border-left:none;}
  .pp-step{border-right:none;border-left:1px solid var(--hairline);margin-bottom:14px;padding:4px 0 0 20px;}
  .pp-step .snum{font-size:34px;margin-bottom:12px;}

  .pp-contact-grid{gap:44px;}
  .pp-coords a{font-size:17px;flex-wrap:wrap;gap:6px;}
  .pp-coords a small{width:100%;order:-1;}

  .pp-foot-big{gap:14px;margin-bottom:52px;}
  .pp-foot-cols{gap:34px;}
  .pp-footer{padding:70px 0 30px;}

  .pp-page-plain{padding:56px 0 80px;}
  .pp-woo-wrap{padding:56px 0 80px;}
}
@media(max-width:400px){
  .pp-hero h1{font-size:clamp(32px,11vw,44px);}
  .pp-hero-ctas{flex-direction:column;align-items:flex-start;gap:18px;}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
}
