/* Biscuit Polis — HTML autonome / PrestaShop. Styles limités aux blocs .bp. */
.bp{--bp-cream:#f3e7d0;--bp-olive:#777b4b;--bp-terracotta:#b45d40;--bp-yellow:#ffe28a;--bp-brown:#4c372e;--bp-green:#45543e;color:var(--bp-brown);background:var(--bp-cream);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65;width:100%;overflow-wrap:anywhere}
.bp,.bp *{box-sizing:border-box}.bp h1,.bp h2,.bp h3,.bp p{margin:0 0 1.1rem}.bp h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.12}.bp h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.2}.bp h3{font-size:1.1rem}.bp small{font-size:.6em}.bp a{color:inherit}.bp a:focus-visible,.bp summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}.bp-photo{display:block;width:100%;height:auto;max-width:100%}.bp .bp-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem 1.3rem;border:1px solid currentColor;border-radius:4px;background:var(--bp-brown);color:#fff7e8;text-decoration:none;font:600 .78rem/1.4 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;transition:transform .2s,background .2s}.bp .bp-button:hover{background:#34251f;transform:translateY(-2px)}
.bp-hero{min-height:440px;position:relative;display:grid;place-items:center;isolation:isolate;text-align:center;padding:5rem 1.5rem;color:#fff}.bp-hero:after{content:"";position:absolute;inset:0;background:rgba(24,18,13,.52);z-index:-1}.bp .bp-hero-image{position:absolute;inset:0;height:100%;object-fit:cover;z-index:-2}.bp-hero-copy{max-width:850px}.bp-hero p{max-width:710px;margin:1.5rem auto 2rem;font-size:1.1rem}.bp-univers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;padding:2rem;max-width:1350px;margin:auto;scroll-margin-top:2rem}.bp .bp-card{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1.2rem;min-height:420px;padding:2.5rem 1.8rem;border-radius:60px;text-align:center;text-decoration:none}.bp-card h2{font:600 1rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em}.bp-brand{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15;min-height:120px;display:grid;place-items:center}.bp-olive{background:var(--bp-olive);color:#fffbed}.bp-terracotta{background:var(--bp-terracotta);color:#fffbed}.bp-yellow{background:var(--bp-yellow);color:var(--bp-brown)}.bp-brown{background:var(--bp-brown);color:#fff0ce}.bp-green{background:var(--bp-green);color:#fffbed}.bp-light{background:#f1ede3;color:var(--bp-brown)}.bp-section{padding:4.5rem clamp(1.25rem,5vw,5rem)}.bp-copy{width:100%;max-width:1050px;margin:auto}.bp-copy>p{max-width:75ch}.bp-split{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}.bp-split>.bp-photo{height:100%;min-height:410px;max-height:800px;object-fit:cover}.bp-split>.bp-copy{align-self:center;padding:clamp(1.8rem,5vw,5rem)}.bp-reverse>.bp-photo{order:2}.bp-triptych{display:flex;gap:10px;margin-top:2rem}.bp-triptych img{width:0;flex:1;object-fit:cover;max-height:430px}.bp-call{padding:4rem 1.5rem;text-align:center}.bp-call p{max-width:800px;margin:0 auto 1.8rem}.bp-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.bp-gallery img{height:300px;object-fit:contain;padding:1.4rem;background:var(--bp-yellow)}.bp-gallery img:nth-child(even){background:var(--bp-olive)}.bp-gallery-three{grid-template-columns:repeat(3,minmax(0,1fr))}.bp-gallery-three img{height:280px;object-fit:cover;padding:0}.bp-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding:3rem max(1.2rem,5vw)}.bp-products article{text-align:center}.bp-products img{height:280px;object-fit:contain}.bp-products h2{font-size:1.3rem}.bp-steps{counter-reset:step;list-style:none;padding:0 0 0 2rem;border-left:1px solid var(--bp-brown)}.bp-steps li{counter-increment:step;padding:1rem 0}.bp-steps h3:before{content:counter(step,decimal-leading-zero) " — "}.bp-usecases{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin:2rem 0}.bp-contact-options{display:grid;grid-template-columns:1fr 1fr}.bp-contact-options article{padding:4rem clamp(1.5rem,5vw,5rem)}.bp-contact-options h2{font-size:1.7rem}
@media(max-width:767px){.bp-univers{grid-template-columns:1fr;padding:1.2rem}.bp .bp-card{min-height:330px;border-radius:38px}.bp-brand{min-height:80px}.bp-split,.bp-contact-options{grid-template-columns:1fr}.bp-reverse>.bp-photo{order:0}.bp-split>.bp-photo{min-height:0;max-height:420px;height:350px}.bp-section{padding:2.5rem 1.25rem}.bp-split{padding:0}.bp-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-gallery img{height:220px}.bp-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:2rem 1rem}.bp-products img{height:190px}.bp-hero{min-height:410px;padding:3rem 1.2rem}.bp-triptych{flex-wrap:wrap}.bp-triptych img{min-width:25%;max-height:280px}.bp-usecases{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:380px){.bp-products{grid-template-columns:1fr}.bp-gallery img{height:170px}}
@media(prefers-reduced-motion:reduce){.bp .bp-button{transition:none}.bp .bp-button:hover{transform:none}}

.bp .bp-card.bp-olive,.bp .bp-card.bp-terracotta{color:#fffbed}

/* v3 : structure compatible avec le filtrage HTML de l’éditeur. */
.bp h1,.bp h2,.bp h3,.bp p{color:inherit}
.bp .bp-hero{position:relative;display:grid;place-items:center;min-height:440px;margin:0;padding:5rem 1.5rem;isolation:isolate;text-align:center;color:#fff;background:#35281e;overflow:hidden}
.bp .bp-hero .bp-hero-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;z-index:-2;margin:0;border:0}
.bp .bp-hero .bp-hero-copy{position:relative;max-width:850px;background:transparent;color:#fff;text-align:center;padding:0;margin:0 auto}
.bp .bp-univers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;padding:2rem;margin:0 auto;max-width:1350px}
.bp .bp-card>span{display:block;width:100%;color:inherit}
.bp .bp-card>.bp-brand{display:grid;place-items:center}
.bp .bp-card>.bp-card-title{font:600 1rem/1.4 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.05em}
.bp .bp-card>.bp-button{width:auto;display:inline-flex;align-self:center;color:#fff7e8}
.bp .bp-card:hover{text-decoration:none}
.bp .bp-photo{display:block;float:none;margin:0;border:0}
@media(max-width:767px){.bp .bp-univers{grid-template-columns:1fr;padding:1.2rem}.bp .bp-hero{min-height:410px;padding:3rem 1.2rem}}

/* Biscuit Polis v4 — à placer APRÈS le CSS v3.
   Adaptation de l’enveloppe Hummingbird, sans modification des fragments HTML. */
:root {
  --biscuitpolis-fond: #f3e7d0;
  --biscuitpolis-encre: #4c372e;
}

/* En-tête, navigation desktop, sous-menus et panneau de menu mobile. */
#header,
#header .header-banner,
#header .header-top,
#header .header-bottom,
#header .header-nav-full-width,
#header .ps-mainmenu,
#header .ps-mainmenu__desktop,
#header .ps-mainmenu__tree,
#header .ps-mainmenu__tree-item-wrapper,
#header .submenu,
#header .submenu__left,
#header .submenu__right,
#mobileMenu,
#mobileMenu .offcanvas-header,
#mobileMenu .offcanvas-body,
#mobileMenu .ps-mainmenu__mobile,
#mobileMenu .menu {
  background-color: var(--biscuitpolis-fond) !important;
  color: var(--biscuitpolis-encre);
}
#header .ps-mainmenu__tree-link,
#header .ps-mainmenu__tree-dropdown-toggle,
#header .submenu .menu-item,
#header .submenu__left-item,
#header .header-block,
#header .header-block__action-btn,
#header .menu-toggle,
#mobileMenu .menu__link,
#mobileMenu .menu__title,
#mobileMenu .menu__toggle-child {
  color: var(--biscuitpolis-encre);
}
#header .ps-mainmenu__tree-link:hover,
#header .submenu a:hover,
#mobileMenu .menu__link:hover {
  text-decoration: underline;
  text-underline-offset: .2em;
}

/* Supprimer la largeur maximale des conteneurs extérieurs du site.
   Les colonnes internes des fiches et des catalogues restent en place. */
#header .container,
#header .container-md,
#header .header-bottom__container,
#wrapper > .columns-container,
#wrapper > .container,
#footer > .container,
#footer > .container-md {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: clamp(1rem, 2vw, 2rem);
}

/* Les blocs Biscuit Polis possèdent déjà leurs propres espacements.
   Retirer uniquement les marges de leurs enveloppes dans le thème/module. */
#wrapper:has(.bp) {
  padding-inline: 0;
}
#wrapper .columns-container:has(.bp),
#wrapper .container:has(.bp),
#wrapper .container-md:has(.bp),
#wrapper .page-content:has(.bp),
#wrapper #custom-text:has(.bp) {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}
#wrapper #custom-text:has(.bp),
#wrapper .page-content--cms:has(.bp) {
  padding-block: 0;
  margin-block: 0;
  border: 0;
  background: transparent;
  text-align: initial;
}
#wrapper #center-column:has(.bp) {
  min-width: 0;
  padding-inline: 0;
}
/* Largeur de la page complète ; les paragraphes et cartes gardent
   leurs limites internes pour rester lisibles sur les grands écrans. */
#wrapper .bp {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
/* Conteneur observé sur biscuitpolis.fr : .ps-customtext > .container. */
#wrapper .ps-customtext:has(.bp) {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}
#wrapper .columns-container:has(.bp) > .row {
  margin-inline: 0;
}
