/* Généré par outils/v2-vers-theme.py depuis site/v2/styles.css — ne pas modifier ici */
.v2 {--fond: var(--wp--preset--color--fond);
  --surface: var(--wp--preset--color--surface);
  --creme: var(--wp--preset--color--creme);
  --blanc: #FFFFFF;
  --texte: var(--wp--preset--color--texte);
  --sourdine: var(--wp--preset--color--sourdine);
  --trait: var(--wp--preset--color--trait);
  --accent: var(--wp--preset--color--accent);
  --accent-clair: var(--wp--preset--color--accent-clair);
  --sur-accent: var(--wp--preset--color--sur-accent);
  --sombre: var(--wp--preset--color--sombre);
  --promo: var(--wp--preset--color--promo);
  --alerte: var(--wp--preset--color--alerte);
  --voile: rgba(20, 19, 17, .62);
  --police-label: var(--wp--preset--font-family--label);
  --police-script: var(--wp--preset--font-family--script);
  --police-logo: var(--wp--preset--font-family--logo);

  --gouttiere: clamp(16px, 3.4vw, 48px);
  --largeur: 1320px;
  --rayon: 999px;
  --rayon-l: 32px;
  --rayon-m: 22px;
  --rayon-s: 16px;
  --rose-doux: #F5EAE4;
  --sauge-doux: #E9EDE5;
  --sauge: #B9C3B3;
  --rose: #EBD3CA;
  --champagne: #E6D7BD;
  --bleu-bebe: #A9C7E2;
  --rose-bebe: #F0B9C7;
  --ombre: 0 26px 60px -34px rgba(43, 42, 39, .35);
  --ombre-legere: 0 10px 30px -18px rgba(43, 42, 39, .25);}
.v2 {margin: 0; background: var(--fond); color: var(--texte); font-family: var(--police-texte); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased;}
.v2 img {display: block; max-width: 100%; height: auto;}
.v2 a {color: inherit; text-decoration: none;}
.v2 figure {margin: 0;}
.v2 ul, .v2 ol {list-style: none; margin: 0; padding: 0;}
.v2 p {margin: 0 0 1em;}
.v2 h1, .v2 h2, .v2 h3 {font-family: var(--police-titres); margin: 0; line-height: 1.12; letter-spacing: -.015em; font-weight: 700;}
.v2 h1 span, .v2 h2 span {display: block; font-weight: 300;}
.v2 .label {font-family: var(--police-label); font-weight: 500; font-size: 15px; letter-spacing: .26em; text-transform: uppercase; color: var(--sourdine); margin: 0 0 14px;}
.v2 .label-clair {color: rgba(255, 255, 255, .86);}
.v2 .script {font-family: var(--police-script); color: var(--accent); font-size: 64px; line-height: .8; margin: 0 0 6px;}
.v2 .titre-section {text-align: center; margin: 0 auto 56px; padding: 0 var(--gouttiere);}
.v2 .titre-section h2 {font-size: clamp(32px, 3.6vw, 46px);}
.v2 .centre {text-align: center;}
.v2 .bouton {display: inline-block; background: var(--sombre); color: var(--sur-accent);
  font-family: var(--police-label); font-weight: 500; font-size: 15px; letter-spacing: .2em; text-transform: uppercase;
  padding: 15px 32px; border-radius: var(--rayon); border: 1px solid var(--sombre);
  transition: background .2s, color .2s, border-color .2s;}
.v2 .bouton:hover {background: var(--accent); border-color: var(--accent);}
.v2 .bouton-clair {background: var(--blanc); color: var(--texte); border-color: var(--blanc);}
.v2 .bouton-clair:hover {background: var(--accent); border-color: var(--accent); color: var(--sur-accent);}
.v2 .lien, .v2 .lien-clair {font-family: var(--police-label); font-weight: 500; font-size: 15px; letter-spacing: .2em; text-transform: uppercase; border-bottom: 1px solid var(--accent); padding-bottom: 4px;}
.v2 .lien-clair {color: var(--blanc);}
.v2 .entete {background: var(--creme); position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--trait);}
.v2 .entete-int {display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; max-width: var(--largeur); margin: 0 auto; padding: 14px var(--gouttiere);}
.v2 .logo {font-family: var(--police-logo); font-size: 38px; line-height: 1;}
.v2 .menu > ul {display: flex; justify-content: center; gap: clamp(18px, 2.6vw, 40px);}
.v2 .menu > ul > li > a {font-family: var(--police-label); font-weight: 500; font-size: 15.5px; letter-spacing: .18em; text-transform: uppercase; padding: 8px 0; display: inline-block; border-bottom: 1px solid transparent;}
.v2 .menu > ul > li > a:hover {border-color: var(--accent);}
.v2 .a-sous-menu {position: relative;}
.v2 .a-sous-menu > a::after {content: ""; display: inline-block; width: 5px; height: 5px; border-right: 1.3px solid; border-bottom: 1.3px solid; transform: rotate(45deg); margin: 0 0 4px 9px;}
.v2 .sous-menu {position: absolute; top: 100%; left: -22px; min-width: 210px; background: var(--blanc); border-radius: var(--rayon-s); box-shadow: 0 12px 30px rgba(0,0,0,.08); padding: 12px 0; opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s;}
.v2 .a-sous-menu:hover .sous-menu, .v2 .a-sous-menu:focus-within .sous-menu {opacity: 1; visibility: visible; transform: none;}
.v2 .sous-menu a {display: block; padding: 7px 22px; font-size: 15px;}
.v2 .sous-menu a:hover {color: var(--accent);}
.v2 .entete-actions {display: flex; align-items: center; gap: 16px;}
.v2 .entete-tel {font-family: var(--police-label); font-weight: 500; font-size: 15px; letter-spacing: .14em; margin-right: 10px;}
.v2 .action {position: relative; display: inline-flex; padding: 6px;}
.v2 .compteur {position: absolute; top: -1px; right: -5px; min-width: 17px; height: 17px; border-radius: 50%; background: var(--accent); color: var(--sur-accent); font-size: 10px; font-weight: 700; line-height: 17px; text-align: center;}
.v2 .burger, .v2 .fermer, .v2 .menu-mobile-seul {display: none;}
.v2 .heros {position: relative; min-height: clamp(560px, 82vh, 860px); display: flex; align-items: flex-end; color: var(--blanc); overflow: hidden;}
.v2 .heros-fond {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
.v2 .heros::after {content: ""; position: absolute; inset: 0; background: linear-gradient(to top, var(--voile) 0%, rgba(20,19,17,.35) 55%, rgba(20,19,17,.2) 100%);}
.v2 .heros-contenu {position: relative; z-index: 1; width: 100%; max-width: var(--largeur); margin: 0 auto; padding: 0 var(--gouttiere) clamp(56px, 7vw, 96px);}
.v2 .heros-script {font-family: var(--police-script); font-size: clamp(96px, 11vw, 168px); line-height: .7; color: var(--accent-clair); margin: 0 0 18px -6px;}
.v2 .heros h1 {font-size: clamp(36px, 4.6vw, 64px); max-width: 860px; margin-bottom: 36px;}
.v2 .heros-actions {display: flex; gap: 32px; align-items: center; flex-wrap: wrap;}
.v2 .heros-univers {position: absolute; z-index: 1; right: var(--gouttiere); bottom: clamp(56px, 7vw, 96px); border-left: 1px solid rgba(255,255,255,.5); padding-left: 28px; display: flex; flex-direction: column; gap: 10px;}
.v2 .heros-univers a {font-family: var(--police-label); font-weight: 500; font-size: 15px; letter-spacing: .24em; text-transform: uppercase;}
.v2 .heros-univers a:hover {color: var(--accent);}
.v2 .faits {background: var(--surface); border-bottom: 1px solid var(--trait);}
.v2 .faits ul {display: flex; justify-content: center; flex-wrap: wrap; max-width: var(--largeur); margin: 0 auto; padding: 0 var(--gouttiere);}
.v2 .faits li {font-family: var(--police-label); font-weight: 500; font-size: 14.5px; letter-spacing: .22em; text-transform: uppercase; padding: 20px 36px; position: relative;}
.v2 .faits li + li::before {content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 22px; transform: translateY(-50%); background: var(--accent);}
.v2 .univers {padding: clamp(80px, 9vw, 128px) var(--gouttiere); max-width: calc(var(--largeur) + 2 * var(--gouttiere)); margin: 0 auto;}
.v2 .univers-liste {display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px;}
.v2 .univers-carte {display: block; text-align: center;}
.v2 .cadre {position: relative; display: block; border-radius: var(--rayon-m); overflow: hidden;}
.v2 .cadre img {width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform .7s ease;}
.v2 .cadre::after {content: ""; position: absolute; inset: 12px; border: 1px solid rgba(255, 255, 255, .8); border-radius: 14px; pointer-events: none;}
.v2 .univers-carte:hover img {transform: scale(1.05);}
.v2 .univers-nom {display: inline-block; margin-top: 18px; font-family: var(--police-label); font-weight: 500; font-size: 16px; letter-spacing: .18em; text-transform: uppercase; padding-bottom: 6px; border-bottom: 1px solid var(--accent);}
.v2 .vedettes {background: transparent; padding: clamp(72px, 8vw, 112px) var(--gouttiere) clamp(40px, 4vw, 64px);}
.v2 .grille-produits {display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px 24px; max-width: var(--largeur); margin: 0 auto 48px;}
.v2 .carte {display: flex; flex-direction: column;}
.v2 .carte-image {position: relative; display: block; background: var(--blanc); border-radius: var(--rayon-s); overflow: hidden; margin-bottom: 18px;}
.v2 .carte-image img {width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .6s ease;}
.v2 .carte-image:hover img {transform: scale(1.03);}
.v2 .carte-corps {margin-bottom: 16px;}
.v2 .carte-titre {font-size: 16px; font-weight: 500; letter-spacing: 0; line-height: 1.35; margin-bottom: 4px;}
.v2 .carte-prix {margin: 0; font-size: 15px; color: var(--sourdine);}
.v2 .carte-prix del {margin-right: 6px;}
.v2 .carte-prix ins {text-decoration: none; color: var(--promo); font-weight: 500;}
.v2 .carte-bouton {margin-top: auto; display: block; text-align: center; border: 1px solid var(--texte); border-radius: var(--rayon); padding: 10px 12px; font-size: 14px; transition: background .2s, color .2s;}
.v2 .carte-bouton:hover {background: var(--texte); color: var(--blanc);}
.v2 .badge {position: absolute; z-index: 1; top: 12px; left: 12px; background: var(--promo); color: var(--blanc); font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px;}
.v2 .badge-rupture {background: var(--blanc); color: var(--texte); border: 1px solid var(--trait);}
.v2 .carte-rupture .carte-image img {opacity: .5;}
.v2 .carte-rupture .carte-bouton {border-color: var(--trait); color: var(--sourdine);}
.v2 .une-int, .v2 .appel-int {max-width: var(--largeur); margin: 0 auto; border-radius: var(--rayon-l);}
.v2 .une {padding-left: var(--gouttiere); padding-right: var(--gouttiere);}
.v2 .une {padding-top: clamp(96px, 10vw, 140px); padding-bottom: clamp(96px, 10vw, 140px); margin-bottom: 0;}
.v2 .une-int {background: var(--sauge); padding: 0 clamp(24px, 5vw, 72px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px); align-items: center;}
.v2 .une-photo {position: relative; margin: calc(-1 * clamp(72px, 8vw, 120px)) 0;}
.v2 .une-photo img {width: 100%; aspect-ratio: 4 / 5; max-height: 720px; object-fit: cover; border-radius: var(--rayon-m); box-shadow: var(--ombre);}
.v2 .une-pastille {position: absolute; top: 32px; right: -40px; width: 116px; height: 116px; border-radius: 50%; background: var(--accent); color: var(--blanc); display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: var(--police-script); font-size: 40px; line-height: .75; box-shadow: var(--ombre-legere); transform: rotate(-8deg);}
.v2 .une-texte {padding: clamp(48px, 6vw, 88px) 0; max-width: 520px;}
.v2 .une-texte .label {color: var(--texte);}
.v2 .une-texte h2 {font-size: clamp(30px, 3.4vw, 46px); margin-bottom: 22px;}
.v2 .une-texte > p:not(.label) {color: rgba(43, 42, 39, .78);}
.v2 .une-pied {margin-top: 30px; padding-top: 28px; border-top: 1px solid rgba(43, 42, 39, .18); display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;}
.v2 .une-prix {font-size: 30px; font-weight: 500; margin: 0;}
.v2 .une-actions {display: flex; gap: 24px; align-items: center; flex-wrap: wrap;}
.v2 .une-actions .lien {border-color: var(--texte);}
.v2 .une + .une {padding-top: 0;}
.v2 .une-inverse .une-int {grid-template-columns: 1fr 1fr;}
.v2 .une-inverse .une-photo {order: 2;}
.v2 .une-inverse .une-pastille {right: auto; left: -40px; transform: rotate(8deg);}
.v2 .une-inverse .une-texte {justify-self: end;}
.v2 .une-rose .une-int {background: var(--rose);}
.v2 .une-or .une-int {background: var(--champagne);}
.v2 .une-pastille span:only-child {font-size: 34px;}
.v2 .une-prix-texte {font-size: 24px;}
.v2 .animations {padding: clamp(72px, 8vw, 112px) var(--gouttiere) 0;}
.v2 .animations-grille {max-width: var(--largeur); margin: 0 auto; display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: 1fr 1fr; gap: 20px; height: clamp(560px, 52vw, 720px);}
.v2 .animation {position: relative; display: block; border-radius: var(--rayon-m); overflow: hidden; color: var(--blanc);}
.v2 .animation-haute {grid-row: span 2;}
.v2 .animation img {width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease;}
.v2 .animation:hover img {transform: scale(1.04);}
.v2 .animation::after {content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20, 19, 17, .62), rgba(20, 19, 17, .18) 50%, transparent 70%);}
.v2 .animation-legende {position: absolute; z-index: 1; left: 24px; right: 24px; bottom: 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px;}
.v2 .animation-nom {display: block; font-size: 24px; font-weight: 700; letter-spacing: -.01em; line-height: 1.2;}
.v2 .animation-sous {display: block; font-weight: 300; font-size: 16px; opacity: .9;}
.v2 .fleche-ronde {flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: rgba(250, 249, 247, .92); color: var(--texte); font-size: 18px; transition: background .2s, color .2s;}
.v2 .animation:hover .fleche-ronde {background: var(--accent); color: var(--blanc);}
.v2 .infos {padding: clamp(80px, 9vw, 120px) var(--gouttiere) clamp(48px, 5vw, 72px);}
.v2 .infos-int {max-width: var(--largeur); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--trait); border-bottom: 1px solid var(--trait);}
.v2 .infos-etapes {padding: clamp(48px, 5vw, 72px) clamp(24px, 5vw, 72px) clamp(48px, 5vw, 72px) 0; border-right: 1px solid var(--trait); display: flex; flex-direction: column;}
.v2 .infos-faq {padding: clamp(48px, 5vw, 72px) 0 clamp(48px, 5vw, 72px) clamp(24px, 5vw, 72px); display: flex; flex-direction: column;}
.v2 .infos-etapes .infos-autre, .v2 .infos-faq .infos-autre {margin-top: auto; padding-top: 32px;}
.v2 .infos h2 {font-size: clamp(28px, 2.8vw, 38px); margin-bottom: 36px;}
.v2 .infos .script {font-size: 52px; margin-bottom: 2px;}
.v2 .frise {position: relative; display: flex; flex-direction: column; gap: 30px; border-top: 1px solid var(--trait); padding-top: 26px;}
.v2 .frise li {position: relative; display: grid; grid-template-columns: 36px 1fr; gap: 20px; align-items: start;}
.v2 .frise li:not(:last-child)::before {content: ""; position: absolute; left: 17px; top: 40px; bottom: -26px; border-left: 1px dashed var(--accent);}
.v2 .frise-num {display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--fond); border: 1px solid var(--accent); color: var(--accent); font-size: 14px; font-weight: 500;}
.v2 .frise h3 {font-size: 17px; font-weight: 500; letter-spacing: 0; margin: 6px 0 4px;}
.v2 .frise p {color: var(--sourdine); font-size: 15px; margin: 0;}
.v2 .faq-liste {border-top: 1px solid var(--trait);}
.v2 .faq-liste details {border-bottom: 1px solid var(--trait);}
.v2 .faq-liste summary {list-style: none; cursor: pointer; position: relative; padding: 19px 40px 19px 0; font-size: 16.5px; font-weight: 400; transition: color .2s;}
.v2 .faq-liste summary:hover {color: var(--accent);}
.v2 .faq-liste summary::-webkit-details-marker {display: none;}
.v2 .faq-liste summary::before, .v2 .faq-liste summary::after {content: ""; position: absolute; right: 4px; top: 50%; width: 13px; height: 1px; background: var(--accent); transition: transform .3s ease;}
.v2 .faq-liste summary::after {transform: rotate(90deg);}
.v2 .faq-liste details[open] summary::after {transform: rotate(0deg);}
.v2 .faq-liste details p {color: var(--sourdine); font-size: 15px; padding: 0 40px 20px 0; margin: 0;}
.v2 .infos-autre {margin: 0; font-size: 15px; color: var(--sourdine);}
.v2 .infos-autre a {color: var(--texte); border-bottom: 1px solid var(--accent); padding-bottom: 2px;}
.v2 .appel {padding: 0 var(--gouttiere) clamp(72px, 8vw, 112px);}
.v2 .appel-int {max-width: 980px; background: var(--surface); border-radius: var(--rayon); padding: 26px 26px 26px 48px; display: flex; align-items: center; justify-content: space-between; gap: 24px;}
.v2 .appel .script {font-size: 52px; margin: 0; flex: none;}
.v2 .appel-texte {font-size: clamp(20px, 2vw, 26px); font-weight: 500; letter-spacing: -.01em; margin: 0; flex: 1;}
.v2 .pied {background: var(--sombre); color: var(--fond); padding: 80px var(--gouttiere) 32px; border-radius: var(--rayon-l) var(--rayon-l) 0 0;}
.v2 .pied-int {max-width: var(--largeur); margin: 0 auto 64px; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr 1fr; gap: 40px;}
.v2 .pied-logo {font-family: var(--police-logo); font-size: 46px; line-height: 1; margin-bottom: 8px;}
.v2 .pied-script {font-family: var(--police-script); color: var(--accent-clair); font-size: 34px; line-height: 1; margin-bottom: 18px;}
.v2 .pied-marque p:last-child {color: rgba(250, 249, 247, .7); font-size: 15px; max-width: 300px;}
.v2 .pied-titre {font-family: var(--police-label); font-weight: 500; font-size: 15px; letter-spacing: .24em; text-transform: uppercase; color: var(--accent-clair); margin-bottom: 18px;}
.v2 .pied-col li {margin-bottom: 9px; font-size: 15px; color: rgba(250, 249, 247, .78);}
.v2 .pied-col a:hover {color: var(--blanc);}
.v2 .pied-copy {text-align: center; font-size: 13px; color: rgba(250, 249, 247, .5); border-top: 1px solid rgba(250, 249, 247, .14); padding-top: 28px; margin: 0;}
@media (max-width: 1024px) {
.v2 .entete-int {grid-template-columns: 1fr auto 1fr; gap: 12px;}
.v2 .burger {display: inline-flex; flex-direction: column; justify-content: center; gap: 6px; width: 44px; height: 44px; padding: 10px 8px; background: none; border: 0; cursor: pointer; color: var(--texte); justify-self: start;}
.v2 .burger span {display: block; height: 1.5px; background: currentColor;}
.v2 .logo {justify-self: center; font-size: 34px;}
.v2 .entete-actions {justify-self: end;}
.v2 .entete-tel {display: none;}
.v2 .menu {position: fixed; inset: 0; z-index: 100; background: var(--creme); padding: 84px var(--gouttiere) 40px; overflow-y: auto; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s;}
.v2 .menu-ouvert .menu {opacity: 1; visibility: visible;}
.v2 .fermer {display: grid; place-items: center; position: absolute; top: 14px; left: var(--gouttiere); width: 44px; height: 44px; background: none; border: 0; cursor: pointer; color: var(--texte);}
.v2 .menu > ul {flex-direction: column; gap: 0;}
.v2 .menu > ul > li {border-bottom: 1px solid var(--trait);}
.v2 .menu > ul > li > a {display: block; padding: 16px 0; font-size: 17px;}
.v2 .a-sous-menu > a::after {display: none;}
.v2 .sous-menu {position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: none; padding: 0 0 12px 16px;}
.v2 .sous-menu a {padding: 7px 0; font-size: 17px;}
.v2 .menu-mobile-seul {display: block;}
.v2 .heros-univers {display: none;}
.v2 .infos-int {grid-template-columns: 1fr;}
.v2 .infos-etapes {padding: 48px 0 40px; border-right: 0; border-bottom: 1px solid var(--trait);}
.v2 .infos-faq {padding: 40px 0 48px;}
.v2 .univers-liste {grid-template-columns: repeat(2, 1fr);}
.v2 .grille-produits {grid-template-columns: repeat(2, 1fr);}
.v2 .une-int {grid-template-columns: 1fr; gap: 0;}
.v2 .une-photo {margin: calc(-1 * clamp(48px, 6vw, 72px)) 0 0;}
.v2 .une-photo img {aspect-ratio: 4 / 3;}
.v2 .une-pastille {right: 20px; top: 20px;}
.v2 .une-inverse .une-int {grid-template-columns: 1fr;}
.v2 .une-inverse .une-texte {justify-self: stretch;}
.v2 .une-inverse .une-photo {order: -1;}
.v2 .une-inverse .une-pastille {left: auto; right: 20px;}
.v2 .une + .une {padding-top: 88px;}
.v2 .une-texte {padding: 36px 0 48px; max-width: none;}
.v2 .animations-grille {height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: auto;}
.v2 .animation-haute {grid-row: auto; grid-column: span 2;}
.v2 .animation img {aspect-ratio: 4 / 3; height: auto;}
.v2 .animation-haute img {aspect-ratio: 16 / 9;}
.v2 .pied-int {grid-template-columns: 1fr 1fr;}
.v2 .pied-marque {grid-column: span 2;}
}
@media (max-width: 640px) {
.v2 {--rayon-l: 26px; --rayon-m: 18px;}
.v2 .logo {font-size: 30px;}
.v2 .entete-actions {gap: 4px;}
.v2 .heros {min-height: 600px;}
.v2 .heros h1 {font-size: 32px;}
.v2 .faits ul {display: grid; grid-template-columns: 1fr 1fr; padding: 6px var(--gouttiere);}
.v2 .faits li {padding: 12px 6px; font-size: 12.5px; letter-spacing: .14em; text-align: center;}
.v2 .faits li + li::before {display: none;}
.v2 .faits li:nth-child(even) {border-left: 1px solid var(--accent);}
.v2 .heros-script {font-size: 92px; margin-bottom: 26px;}
.v2 .univers-liste {grid-template-columns: 1fr 1fr; gap: 14px;}
.v2 .cadre::after {inset: 8px; border-radius: 10px;}
.v2 .univers-nom {font-size: 15px; margin-top: 12px;}
.v2 .grille-produits {gap: 32px 14px;}
.v2 .carte-titre {font-size: 15px;}
.v2 .carte-bouton {font-size: 13px; padding: 9px 6px;}
.v2 .une {padding: 56px 10px 40px;}
.v2 .une + .une {padding-top: 56px;}
.v2 .une-int {padding: 0 18px;}
.v2 .une-photo {margin-top: -40px;}
.v2 .une-pastille {width: 92px; height: 92px; font-size: 32px;}
.v2 .une-pied {flex-direction: column; align-items: flex-start;}
.v2 .animations-grille {grid-template-columns: 1fr; gap: 14px;}
.v2 .animation-haute {grid-column: auto;}
.v2 .animation-haute img {aspect-ratio: 4 / 3;}
.v2 .bouton {font-size: 14px; letter-spacing: .14em; padding: 15px 24px;}
.v2 .appel-int {flex-direction: column; text-align: center; border-radius: var(--rayon-l); padding: 32px 22px; gap: 14px;}
.v2 .pied-int {grid-template-columns: 1fr; gap: 28px;}
.v2 .pied-marque {grid-column: auto;}
}
.v2 .entete-catalogue {display: inline-flex; align-items: center; height: 34px; padding: 0 16px; border: 1px solid var(--texte); border-radius: 999px; font-family: var(--police-label); font-weight: 500; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; transition: background .2s, color .2s;}
.v2 .entete-catalogue:hover {background: var(--texte); color: var(--blanc);}
.v2 .entete-loupe {border: 0; background: none; cursor: pointer; color: var(--texte);}
.v2 .recherche-site {border-top: 1px solid var(--trait); background: var(--creme); padding: 14px var(--gouttiere) 12px; animation: recherche-ouvre .25s ease;}
@keyframes recherche-ouvre { from { opacity: 0; transform: translateY(-6px); } }
.v2 .recherche-site-int {max-width: 760px; margin: 0 auto; display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 6px 0 18px; border: 1px solid var(--trait); border-radius: 999px; background: var(--blanc);}
.v2 .recherche-site-int:focus-within {border-color: var(--accent); box-shadow: 0 0 0 3px rgba(179,154,100,.15);}
.v2 .recherche-site-int svg {width: 18px; height: 18px; fill: none; stroke: var(--sourdine); stroke-width: 1.8; stroke-linecap: round; flex: none;}
.v2 .recherche-site-int input {flex: 1; min-width: 0; border: 0; outline: none; background: none; font: inherit; font-size: 14px; color: var(--texte);}
.v2 .recherche-site-int button[type=submit] {height: 34px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--texte); color: var(--blanc); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;}
.v2 .recherche-fermer {width: 34px; height: 34px; border: 0; border-radius: 50%; background: none; font-size: 22px; line-height: 1; color: var(--sourdine); cursor: pointer;}
.v2 .recherche-raccourcis {max-width: 760px; margin: 10px auto 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12.5px; color: var(--sourdine);}
.v2 .recherche-raccourcis a {padding: 4px 11px; border-radius: 999px; background: var(--blanc); border: 1px solid var(--trait); color: var(--texte); transition: border-color .2s;}
.v2 .recherche-raccourcis a:hover {border-color: var(--accent);}
.v2 .pied-titre a:hover {color: var(--blanc);}
@media (max-width: 1024px) {
.v2 .entete-catalogue {display: none;}
}
@media (max-width: 640px) {
.v2 .recherche-site-int button[type=submit] {display: none;}
.v2 .recherche-raccourcis span {display: none;}
}
@media (min-width: 1181px) {
.v2 .entete-int {display: flex; justify-content: center; position: relative; padding-top: 14px; padding-bottom: 14px;}
.v2 .entete-int > .logo {display: none;}
.v2 .menu {display: flex; align-items: center; justify-content: center; gap: clamp(26px, 3vw, 52px);}
.v2 .menu > ul {display: flex; gap: clamp(22px, 2.4vw, 40px);}
.v2 .menu-gauche {justify-content: flex-end;}
.v2 .menu > ul > li > a {font-size: 15px; letter-spacing: .22em;}
.v2 .menu-vedette > a {color: var(--accent);}
.v2 .menu-vedette > a:hover {border-color: var(--accent);}
.v2 .menu-tel > a {letter-spacing: .14em !important; color: var(--sourdine);}
.v2 .entete-actions {position: absolute; right: var(--gouttiere); top: 50%; transform: translateY(-50%); gap: 6px;}
}
.v2 .logo-cadre {display: inline-flex; flex-direction: column; align-items: center; justify-content: center; position: relative; padding: 10px 22px 12px; border: 1.5px solid var(--texte); line-height: 1; transition: border-color .25s;}
.v2 .logo-cadre::after {content: ""; position: absolute; inset: 3px; border: 1px solid var(--accent); opacity: 0; transition: opacity .25s; pointer-events: none;}
.v2 .logo-cadre:hover::after {opacity: 1;}
.v2 .logo-cadre-nom {font-family: var(--police-logo); font-size: 34px; letter-spacing: .04em; text-transform: uppercase;}
.v2 .logo-cadre-script {margin: -6px -16px 0 auto; font-family: var(--police-script); font-size: 26px; color: var(--accent); transform: rotate(-6deg);}
@media (max-width: 1180px) {
.v2 .entete-int {grid-template-columns: 1fr auto 1fr;}
.v2 .burger {display: inline-flex; flex-direction: column; justify-content: center; gap: 6px; width: 44px; height: 44px; padding: 10px 8px; background: none; border: 0; cursor: pointer; color: var(--texte); justify-self: start;}
.v2 .burger span {display: block; height: 1.5px; background: currentColor;}
.v2 .entete-int > .logo {justify-self: center;}
.v2 .entete-actions {justify-self: end;}
.v2 .menu {position: fixed; inset: 0; z-index: 100; background: var(--creme); padding: 84px var(--gouttiere) 40px; overflow-y: auto; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s;}
.v2 .menu-ouvert .menu {opacity: 1; visibility: visible;}
.v2 .fermer {display: grid; place-items: center; position: absolute; top: 14px; left: var(--gouttiere); width: 44px; height: 44px; background: none; border: 0; cursor: pointer; color: var(--texte);}
.v2 .menu > ul {flex-direction: column; gap: 0;}
.v2 .menu > ul > li {border-bottom: 1px solid var(--trait);}
.v2 .menu > ul > li > a {display: block; padding: 16px 0; font-size: 17px;}
.v2 .a-sous-menu > a::after {display: none;}
.v2 .sous-menu {position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: none; padding: 0 0 12px 16px;}
.v2 .menu-mobile-seul {display: block;}
.v2 .menu .logo-cadre {display: none;}
.v2 .menu-vedette > a {color: var(--accent);}
}
@media (min-width: 1181px) {
.v2 .menu {display: grid; grid-template-columns: 1fr auto 1fr; width: 100%;}
.v2 .menu-gauche {justify-content: flex-end;}
.v2 .menu-droite {justify-content: flex-start;}
}
.v2 .logo-cadre-mini {padding: 6px 14px 8px;}
.v2 .logo-cadre-mini .logo-cadre-nom {font-size: 22px;}
.v2 .logo-cadre-mini .logo-cadre-script {font-size: 18px; margin: -5px -10px 0 auto;}
@media (min-width: 1181px) {
.v2 .menu > .menu-gauche {justify-content: flex-end; padding: 0;}
.v2 .menu > .menu-droite {justify-content: flex-start; padding: 0;}
}
.v2 .logo-image {display: inline-flex; align-items: center;}
.v2 .logo-image img {display: block; height: 58px; width: auto; transition: opacity .2s;}
.v2 .logo-image:hover img {opacity: .82;}
.v2 .logo-image-mini img {height: 34px;}
.v2 .menu .logo-image {padding: 0 6px;}
.v2 .pied-logo img {display: block; height: 50px; width: auto;}
@media (max-width: 1180px) {
.v2 .menu .logo-image {display: none;}
}
.v2 .mv-panier-message {margin: 10px 0 0; font-size: 13px; text-align: center; color: var(--texte);}
.v2 .mv-panier-message a {font-weight: 600; border-bottom: 1px solid var(--accent);}
.v2 .mv-panier-message.mv-erreur {color: var(--alerte);}
.v2 .mv-en-cours {opacity: .6; cursor: progress;}
.v2 .mv-devis {display: grid; gap: 8px; margin-top: 12px; padding: 14px; border-radius: 16px; background: var(--creme); border: 1px solid var(--trait); text-align: left;}
.v2 .mv-devis-titre {margin: 0; font-size: 13px; font-weight: 600;}
.v2 .mv-devis-duo {display: grid; grid-template-columns: 1fr 1fr; gap: 8px;}
.v2 .mv-devis input, .v2 .mv-devis textarea {width: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid var(--trait); border-radius: 10px; background: var(--blanc); font: inherit; font-size: 13.5px; color: var(--texte); resize: vertical;}
.v2 .mv-devis input:focus, .v2 .mv-devis textarea:focus {outline: none; border-color: var(--accent);}
.v2 .mv-devis .mv-piege {position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0;}
.v2 .mv-devis-envoyer {justify-self: start; padding: 10px 20px; border: 0; border-radius: 999px; background: var(--texte); color: var(--blanc); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer;}
.v2 .mv-devis-envoyer:hover {background: var(--accent);}
.v2 .mv-devis-ok {margin: 0; font-size: 14px; font-weight: 600; color: var(--texte);}
@media (max-width: 640px) {
.v2 .mv-devis-duo {grid-template-columns: 1fr;}
}
