@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--cream:#f7f0e5;--sand:#ebddc9;--kraft:#d7bb96;--brown:#493b2d;--muted:#786a59;--orange:#c86425;--olive:#6b7252}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--brown);font-family:'DM Sans',Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.wrap{width:min(1240px,90%);margin:auto}.header{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#f8f1e7;position:sticky;top:0;z-index:20;border-bottom:1px solid #d8c8b6}.brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:.14em;font-size:17px}.brand img{width:64px;height:64px;object-fit:contain}.brand b{color:var(--orange)}nav{display:flex;align-items:center;gap:33px}nav>a{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:700}nav>a:hover{color:var(--orange)}.nav-pro{border:1px solid var(--brown);background:transparent;border-radius:30px;padding:13px 22px;text-transform:uppercase;font-size:11px;letter-spacing:.13em;font-weight:700}.nav-pro span{margin-left:12px}.menu-toggle{display:none;border:0;background:none;font-size:24px}.hero{min-height:690px;position:relative;background:url('assets/hero.webp') center/cover no-repeat;display:flex;align-items:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,233,214,.95) 0%,rgba(246,233,214,.88) 34%,rgba(246,233,214,.32) 72%,rgba(246,233,214,.04) 100%)}.hero-inner{position:relative;z-index:1;width:min(1240px,90%);margin:auto;padding:75px 0}.eyebrow,.label{font-size:11px;letter-spacing:.2em;font-weight:700;text-transform:uppercase}.dash{display:inline-block;background:var(--orange);height:2px;width:30px;vertical-align:middle;margin-right:12px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400}h1{font-size:clamp(66px,7vw,110px);line-height:.99;letter-spacing:-.035em;margin:35px 0 25px}h1 em,h2 em{color:var(--orange);font-weight:400}h1 em{font-style:italic}.hero-inner>p{font-size:17px;max-width:435px;line-height:1.75;color:#5d4d3b}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;border-radius:40px;padding:16px 27px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;transition:transform .2s,background .2s;border:1px solid var(--orange)}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--orange);color:white}.btn-outline{background:transparent;color:var(--brown);border-color:#a48a6e}.hero-tag{position:absolute;right:6%;bottom:38px;font-size:11px;line-height:1.6;letter-spacing:.2em;font-weight:700}.hero-tag span{font-size:25px;color:var(--orange)}.ticker{background:#bca080;padding:16px 0;overflow:hidden;white-space:nowrap;font-size:11px;letter-spacing:.24em;font-weight:700}.ticker div{text-align:center}.ticker span{padding:0 27px;color:#f8eee1}.intro{padding:105px 0;display:grid;grid-template-columns:1.1fr .9fr;gap:90px}.label{color:var(--orange);margin-bottom:24px}h2{font-size:clamp(43px,4.2vw,65px);line-height:1.12;letter-spacing:-.02em}.intro-right{padding-top:42px}.intro-right>p{font-size:17px;line-height:1.85;color:var(--muted)}.mini-features{border-top:1px solid #d3c2ac;margin-top:28px;padding-top:23px;display:flex;flex-wrap:wrap;gap:18px;font-size:12px;font-weight:600}.mini-features span::first-letter{color:var(--orange)}.products{background:#efe3d1;padding:100px 0}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:36px}.section-head h2{margin-bottom:12px}.section-head p:not(.label){color:var(--muted)}.small-note{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:17px}.product{min-width:0}.product-photo{background:#e0ccb1;overflow:hidden;border-radius:3px;aspect-ratio:3/4}.product-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.product:hover img{transform:scale(1.045)}.product-info{padding:18px 4px}.product-info span{font-size:9px;letter-spacing:.18em;color:var(--orange);font-weight:700}.product-info h3{font-size:31px;margin:7px 0}.product-info p{font-size:12px;color:var(--muted);line-height:1.5}.catalogue-foot{font-size:12px;color:var(--muted);margin:25px 0 0}.story{display:grid;grid-template-columns:1fr 1fr;min-height:540px}.story-img{min-height:520px}.story-img img{width:100%;height:100%;object-fit:cover;display:block}.story-content{background:#e4d3bd;padding:clamp(55px,8vw,120px);display:flex;flex-direction:column;align-items:start;justify-content:center}.story-content p:not(.label){font-size:16px;line-height:1.85;color:var(--muted);max-width:450px}.text-link{margin-top:22px;border-bottom:1px solid var(--brown);padding-bottom:8px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.text-link span{margin-left:30px}.pro-banner{padding:110px 0;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:85px}.pro-banner>div>p:not(.label){font-size:16px;line-height:1.8;color:var(--muted);max-width:490px;margin-bottom:28px}.pro-image{height:420px;overflow:hidden;border-radius:45% 45% 4px 4px}.pro-image img{height:100%;width:100%;object-fit:cover}.contact{background:#d5b78f;text-align:center;padding:95px 0}.contact h2{font-size:clamp(43px,5vw,74px)}.contact-inner>p:not(.label){max-width:520px;margin:0 auto 28px;line-height:1.7}.contact-note{font-size:11px;margin-top:16px!important;color:#665443}footer{background:#473a2d;color:#f3e7d7;padding:35px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center}.footer-inner>div:first-child{display:flex;align-items:center;gap:18px}.footer-inner img{width:68px}.footer-inner p,.footer-inner span{font-size:10px;letter-spacing:.14em}.footer-inner>div:last-child{text-align:right}.modal{display:none;position:fixed;inset:0;z-index:50;align-items:center;justify-content:center;padding:18px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(35,29,23,.72)}.modal-box{position:relative;background:#f7f0e5;width:min(540px,100%);max-height:94vh;overflow:auto;border-radius:6px;padding:38px 45px;text-align:center;box-shadow:0 30px 90px #0004}.modal-close{position:absolute;top:12px;right:17px;border:0;background:none;font-size:30px;color:var(--brown)}.modal-logo{width:90px}.modal-box h2{font-size:43px;margin-bottom:13px}.modal-sub{font-size:14px;color:var(--muted);line-height:1.6}.modal-box form{margin:25px 0}.modal-box label{display:block;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:10px}.modal-box input{display:block;width:100%;padding:16px;background:#fffaf2;border:1px solid #c9b7a0;border-radius:3px;margin-bottom:15px}.modal-box form .btn{width:100%}.error{color:#a33020;font-size:12px;min-height:16px;margin:12px 0}.secure-note{font-size:11px;color:var(--muted);margin:20px 0 0}.welcome{font-weight:700}.price-table{border-top:1px solid #c9b7a0;text-align:left;margin:18px 0}.price-row{display:grid;grid-template-columns:1fr repeat(3,65px);gap:8px;padding:12px 4px;border-bottom:1px solid #d9caba;font-size:12px}.price-row.head{font-weight:700;color:var(--orange);font-size:10px}.price-row span:not(:first-child){text-align:right}.price-note{font-size:11px;color:var(--muted)}.logout{background:none;border:0;text-decoration:underline;display:block;margin:20px auto;color:var(--muted);font-size:12px}#proDashboard .btn{margin-top:12px}
@media(max-width:1050px){nav{gap:16px}.product-grid{grid-template-columns:repeat(3,1fr)}.story-content{padding:55px}.intro{gap:35px}}@media(max-width:720px){.header{height:75px}.brand img{width:53px;height:53px}.brand{font-size:14px}.menu-toggle{display:block}nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--cream);padding:24px 5%;flex-direction:column;align-items:stretch;box-shadow:0 10px 20px #0001}nav.open{display:flex}.hero{min-height:620px;background-position:59% center}.hero-overlay{background:linear-gradient(90deg,rgba(246,233,214,.94),rgba(246,233,214,.69))}.hero-inner{padding:55px 0}.hero-tag{display:none}h1{font-size:clamp(58px,13vw,85px)}.hero-inner>p{font-size:15px}.intro{grid-template-columns:1fr;padding:70px 0;gap:8px}.intro-right{padding:0}.products{padding:70px 0}.section-head{display:block}.small-note{display:none}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-info h3{font-size:26px}.story{grid-template-columns:1fr}.story-img{min-height:350px;height:350px}.story-content{padding:60px 6%}.pro-banner{grid-template-columns:1fr;gap:35px;padding:75px 0}.pro-image{height:320px}.contact{padding:70px 0}.footer-inner{gap:20px;flex-direction:column;text-align:center}.footer-inner>div:last-child{text-align:center}.modal-box{padding:28px 19px}.modal-box h2{font-size:37px}.price-row{grid-template-columns:1fr repeat(3,49px);gap:3px;font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Ajustements de mise en page — octobre 2026 */
.intro{padding:68px 0;gap:55px}.products{padding:72px 0}.story{min-height:0;grid-template-columns:1fr 1fr;align-items:stretch}.story-img{min-height:0;height:390px}.story-img img{height:100%;object-fit:cover;object-position:center 52%}.story-content{padding:40px clamp(35px,5vw,75px)}.story-content h2{font-size:clamp(37px,3.5vw,54px)}.pro-banner{padding:75px 0;gap:55px}.pro-image{height:350px}.contact{padding:72px 0}.ticker{white-space:normal}.ticker div{line-height:1.6}
@media(max-width:720px){.intro{padding:56px 0;gap:8px}.products{padding:58px 0}.story{grid-template-columns:1fr}.story-img{height:300px}.story-content{padding:45px 6%}.pro-banner{padding:58px 0;gap:25px}.pro-image{height:290px}.contact{padding:58px 0}.ticker{font-size:9px;letter-spacing:.1em;padding:12px 4%}}

/* Affichage complet du slogan sur téléphone */
@media(max-width:720px){.ticker{white-space:normal;padding:14px 12px}.ticker .ticker-intro{display:none}.ticker .ticker-slogan{display:block;max-width:100%;text-align:center;font-size:clamp(13px,4vw,17px);letter-spacing:.09em;line-height:1.5;white-space:normal;overflow-wrap:normal}}

/* Bandeau mobile : deux lignes centrées, sans débordement */
@media (max-width:720px) {
  .ticker { padding: 13px 8px; white-space: normal; text-align:center; }
  .ticker > div { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; line-height:1.35; }
  .ticker .ticker-intro { display:block; padding:0; color:#f8eee1; font-size:clamp(8px,2.3vw,11px); letter-spacing:.075em; white-space:nowrap; }
  .ticker .ticker-intro > span { display:none; }
  .ticker .ticker-slogan { display:block; padding:0; font-size:clamp(10px,2.9vw,14px); letter-spacing:.08em; white-space:nowrap; }
  .ticker .ticker-slogan::before, .ticker .ticker-slogan::after { content:'✳'; display:inline-block; padding:0 9px; color:#f8eee1; }
}

/* Bandeau mobile KUPA — structure dédiée, sans wrapping */
.ticker .ticker-mobile{display:none}
@media(max-width:720px){
 .ticker{padding:13px 6px!important;white-space:normal!important;text-align:center!important}
 .ticker .ticker-desktop{display:none!important}
 .ticker .ticker-mobile{display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important;width:100%!important;line-height:1.45!important;color:#f8eee1!important;font-size:clamp(9px,2.6vw,12px)!important;font-weight:700!important;letter-spacing:.045em!important}
 .ticker .ticker-mobile>div{display:block!important;white-space:nowrap!important;padding:0!important;max-width:100%!important}
}

.catalogue-cta{display:flex;justify-content:center;margin-top:22px}.catalogue-foot{text-align:center;line-height:1.8}.catalogue-foot strong{font-weight:700;color:#49392c}@media(max-width:600px){.catalogue-cta .btn{width:100%;text-align:center;justify-content:center}}

/* Grilles professionnelles personnalisées */
#priceTable .price-row{grid-template-columns:minmax(0,1fr) auto;gap:16px}#priceTable .price-section{font-size:.8rem;font-weight:750;letter-spacing:.03em;margin:20px 0 8px;color:#8a4e2d}#conditionsPro{font-weight:650;margin-top:20px}#priceTable .price-row span:last-child{text-align:right}

/* Grille tarifaire standard : quatre colonnes, lisible sur mobile */
.price-row.price-row-multi{display:grid;grid-template-columns:minmax(95px,1.4fr) repeat(3,minmax(58px,1fr));gap:6px;align-items:center;font-size:clamp(10px,2.7vw,14px)}
.price-row.price-row-multi span:not(:first-child){text-align:right}
@media(max-width:420px){.price-row.price-row-multi{gap:4px;font-size:10px;letter-spacing:0}.price-row.price-row-multi span:first-child{overflow-wrap:anywhere}}

/* Correction : la grille standard garde quatre colonnes sur chaque ligne.
   Sélecteur plus précis que la règle à deux colonnes des autres clients. */
#priceTable .price-row.price-row-multi {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
}
#priceTable .price-row.price-row-multi span { min-width: 0; }
#priceTable .price-row.price-row-multi span:not(:first-child) { text-align: right; white-space: nowrap; }
@media (max-width: 420px) {
  #priceTable .price-row.price-row-multi { grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 4px; font-size: 10px; }
}
