/* Généré par outils/v2-vers-theme.py depuis site/v2/sur-mesure.css — ne pas modifier ici */
.v2 .sm {--sm-blanc: #FFFFFF;
  --sm-creme: #F6F1E9;
  --sm-champagne: #F1E7D6;
  --sm-filet: #ECE5DA;
  --sm-filet-fort: #DED3C3;
  --sm-ombre: 0 1px 2px rgba(43, 42, 39, .04), 0 18px 40px -28px rgba(43, 42, 39, .28);
  --sm-r-l: 20px; --sm-r-m: 14px; --sm-r-s: 10px;
  --sm-largeur: 1280px;
  color: var(--texte);}
.v2 .sm h1, .v2 .sm h2 {letter-spacing: -.02em; font-weight: 600;}
.v2 .sm em {font-family: var(--police-script); font-style: normal; font-weight: 400; color: var(--accent-clair); font-size: 1.6em; line-height: 0; padding: 0 .05em; position: relative; top: .05em;}
.v2 .sm svg {fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;}
.v2 .sm-heros {position: relative; height: 300px; display: flex; align-items: flex-end; background: var(--sombre); overflow: hidden;}
.v2 .sm-heros-photo {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
.v2 .sm-heros-voile {position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,19,17,.92) 0%, rgba(20,19,17,.66) 55%, rgba(20,19,17,.38) 100%);}
.v2 .sm-heros-texte {position: relative; width: 100%; max-width: var(--sm-largeur); margin: 0 auto; padding: 0 var(--gouttiere) 30px; box-sizing: content-box; color: var(--blanc);}
.v2 .sm-surtitre {display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font-family: var(--police-label); font-weight: 500; font-size: 13px; letter-spacing: .24em; text-transform: uppercase; color: var(--accent-clair);}
.v2 .sm-filet {width: 40px; height: 1px; background: currentColor;}
.v2 .sm-heros h1 {font-size: clamp(30px, 3.4vw, 40px); line-height: 1.1; margin: 0 0 10px; color: var(--blanc);}
.v2 .sm-heros-texte > p:not(.sm-surtitre) {font-size: 14.5px; line-height: 1.55; color: rgba(255,255,255,.82); margin: 0 0 18px; max-width: 520px;}
.v2 .sm-heros-actions {display: flex; align-items: center; gap: 24px; flex-wrap: wrap; font-size: 13px; color: rgba(255,255,255,.62);}
.v2 .sm-bouton-or {display: inline-block; padding: 11px 24px; border-radius: 999px; background: var(--accent-clair); color: var(--texte); font-weight: 600; font-size: 14px; transition: background .2s, transform .2s;}
.v2 .sm-bouton-or:hover {background: #E4D1A6; transform: translateY(-1px);}
.v2 .sm-bandeau {background: var(--sombre); color: var(--accent-clair); padding: 13px var(--gouttiere); text-align: center; font-family: var(--police-label); font-weight: 500; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; border-top: 1px solid rgba(217,194,142,.2);}
.v2 .sm-bandeau span {margin: 0 10px; opacity: .6;}
.v2 .sm-ariane {max-width: var(--sm-largeur); margin: 0 auto; padding: 20px var(--gouttiere) 0; box-sizing: content-box; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12.5px; color: var(--sourdine);}
.v2 .sm-ariane span {color: var(--sm-filet-fort);}
.v2 .sm-ariane a:hover {color: var(--texte);}
.v2 .sm-ariane em {font-family: inherit; font-size: inherit; color: var(--texte); top: 0; padding: 0; line-height: inherit;}
.v2 .sm-atouts {max-width: var(--sm-largeur); margin: 0 auto; padding: 22px var(--gouttiere) 0; box-sizing: content-box; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;}
.v2 .sm-atout {background: var(--sm-blanc); border: 1px solid var(--sm-filet); border-radius: var(--sm-r-m); padding: 18px 16px; text-align: center; box-shadow: var(--sm-ombre);}
.v2 .sm-atout-titre {font-size: 16px; font-weight: 600; letter-spacing: -.01em; margin-bottom: 2px;}
.v2 .sm-atout-sous {font-size: 12.5px; color: var(--sourdine);}
.v2 .sm-reserver {max-width: var(--sm-largeur); margin: 0 auto; padding: 14px var(--gouttiere) 72px; box-sizing: content-box; scroll-margin-top: 80px;}
.v2 .sm-carte {background: var(--sm-blanc); border: 1px solid var(--sm-filet); border-radius: var(--sm-r-l); box-shadow: var(--sm-ombre); padding: 34px; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); gap: 56px; align-items: start;}
.v2 .sm-galerie {position: sticky; top: 84px;}
.v2 .sm-galerie img {background: var(--sm-creme); mix-blend-mode: multiply;}
.v2 .sm-photo-principale {display: block; width: 100%; height: 640px; transition: opacity .25s; object-fit: cover; border-radius: var(--sm-r-m); background: var(--sm-creme);}
.v2 .sm-vignettes {display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 8px;}
.v2 .sm-vignette {padding: 0; border: 0; border-radius: var(--sm-r-s); overflow: hidden; cursor: pointer; background: var(--sm-creme);}
.v2 .sm-vignette img {display: block; width: 100%; height: 150px; object-fit: cover; transition: transform .5s;}
.v2 .sm-vignette:hover img {transform: scale(1.04);}
.v2 .sm-vignette {position: relative;}
.v2 .sm-vignette::after {content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 0 var(--accent); transition: box-shadow .2s;}
.v2 .sm-vignette:hover::after {box-shadow: inset 0 0 0 2px var(--accent);}
.v2 .sm-photo-principale.fondu {opacity: 0;}
.v2 .sm-config {min-width: 0; max-height: 860px; overflow-y: auto; padding-right: 10px; scrollbar-width: thin; scrollbar-color: var(--sm-filet-fort) transparent; --rose-choix: #D9A6B9; --rose-fond: #FBF5F7; --rose-prix: #D6336C;}
.v2 .sm-titre {font-size: 26px; line-height: 1.15; margin: 0 0 6px;}
.v2 .sm-sous-titre {font-size: 13.5px; color: var(--sourdine); margin: 0 0 22px;}
.v2 .sm-etape {font-size: 16px; font-weight: 600; letter-spacing: -.01em; margin: 26px 0 12px;}
.v2 .sm-sous-titre + .sm-etape {margin-top: 0;}
.v2 .sm-etape-capitales {text-transform: uppercase; letter-spacing: .04em; font-size: 15px;}
.v2 .sm-formats {display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}
.v2 .sm-format {display: flex; flex-direction: column; padding: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; background: var(--sm-blanc); border: 1px solid var(--sm-filet); border-radius: var(--sm-r-m); overflow: hidden; transition: border-color .25s, background .25s;}
.v2 .sm-format:hover {border-color: var(--sm-filet-fort);}
.v2 .sm-format.actif {border: 2px solid var(--rose-choix); background: var(--rose-fond);}
.v2 .sm-format-img {position: relative; display: block; background: var(--sm-creme);}
.v2 .sm-format-img img {display: block; width: 100%; height: 128px; object-fit: cover; mix-blend-mode: multiply;}
.v2 .sm-format-prix {position: absolute; top: 9px; left: 9px; background: var(--sm-blanc); color: var(--rose-prix); border-radius: 999px; padding: 3px 11px; font-size: 13px; font-weight: 700; box-shadow: 0 2px 6px rgba(0,0,0,.1);}
.v2 .sm-coche {position: absolute; top: 9px; right: 9px; width: 20px; height: 20px; border-radius: 50%; background: var(--texte); color: var(--blanc); font-size: 10px; display: grid; place-items: center; opacity: 0; transform: scale(.6); transition: .25s;}
.v2 .sm-format.actif .sm-coche {opacity: 1; transform: scale(1);}
.v2 .sm-format-corps {display: block; padding: 14px 16px 16px;}
.v2 .sm-format-nom {display: block; font-size: 15px; font-weight: 600; margin-bottom: 4px;}
.v2 .sm-format-inclus {display: block; font-family: var(--police-label); font-weight: 500; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px;}
.v2 .sm-format-liste {display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; color: rgba(43,42,39,.75); line-height: 1.5;}
.v2 .sm-format-liste span {position: relative; padding-left: 14px;}
.v2 .sm-format-liste span::before {content: ""; position: absolute; left: 2px; top: .62em; width: 5px; height: 5px; border-radius: 50%; background: var(--accent);}
.v2 .sm-cadre {border: 1px solid var(--sm-filet); border-radius: var(--sm-r-m); padding: 18px 18px 20px; background: var(--sm-blanc);}
.v2 .sm-cadre-titre {font-size: 16px; font-weight: 600; margin: 0 0 4px;}
.v2 .sm-cadre-texte {font-size: 13px; color: var(--sourdine); margin: 0 0 12px;}
.v2 .sm-compteur {display: inline-block; margin: 0 0 16px; padding: 5px 16px; border: 1px solid var(--sm-filet-fort); border-radius: 999px; font-size: 13.5px;}
.v2 .sm-compteur b {color: var(--accent); font-weight: 600; margin-right: 3px;}
.v2 .sm-palette-titre {font-family: var(--police-label); font-weight: 500; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin: 0 0 12px; padding-bottom: 7px; border-bottom: 1px solid var(--sm-filet);}
.v2 .sm-palette {display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px 4px; margin-bottom: 18px;}
.v2 .sm-ballon {display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 4px 0; border: 0; background: none; font: inherit; font-size: 12.5px; font-weight: 500; color: var(--texte); cursor: pointer;}
.v2 .sm-ballon span {position: relative; width: 40px; height: 48px; border-radius: 50% 50% 50% 50% / 46% 46% 54% 54%; background: radial-gradient(circle at 34% 28%, rgba(255,255,255,.75) 0 10%, rgba(255,255,255,0) 32%), radial-gradient(circle at 60% 70%, rgba(0,0,0,.18), rgba(0,0,0,0) 60%), var(--c); box-shadow: 0 4px 10px -4px rgba(0,0,0,.25), inset 0 0 0 1px rgba(0,0,0,.06); transition: transform .2s, box-shadow .2s;}
.v2 .sm-ballon span::after {content: ""; position: absolute; left: 50%; bottom: -4px; width: 7px; height: 5px; transform: translateX(-50%); background: var(--c); clip-path: polygon(50% 0, 100% 100%, 0 100%); filter: brightness(.9);}
.v2 .sm-ballon:hover span {transform: translateY(-2px);}
.v2 .sm-ballon.actif span {box-shadow: 0 0 0 2px var(--blanc), 0 0 0 4px var(--rose-choix), 0 6px 12px -4px rgba(0,0,0,.25);}
.v2 .sm-ballon:disabled {opacity: .35; cursor: not-allowed;}
.v2 .sm-selection {margin-top: 4px; padding: 14px 10px 12px; border: 1px dashed var(--sm-filet-fort); border-radius: var(--sm-r-m); text-align: center;}
.v2 .sm-selection-titre {font-family: var(--police-label); font-weight: 500; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin: 0 0 10px;}
.v2 .sm-emplacements {display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;}
.v2 .sm-emplacement {display: flex; flex-direction: column; align-items: center; gap: 6px;}
.v2 .sm-rond {display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 2px dashed #E1D2B5; color: #C9B48D; font-size: 14px; box-sizing: border-box;}
.v2 .sm-emplacement.rempli .sm-rond {border: 2px solid var(--blanc); box-shadow: 0 0 0 1px var(--sm-filet-fort); background: var(--c); color: transparent;}
.v2 .sm-empl-nom {font-size: 12px; color: var(--sourdine);}
.v2 .sm-emplacement.rempli .sm-empl-nom {color: var(--texte); font-weight: 500;}
.v2 .sm-ligne-titre {display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 20px 0 10px; font-family: var(--police-label); font-weight: 500; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--sourdine);}
.v2 .sm-ligne-titre b {font-family: var(--police-texte); font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--accent); font-weight: 600;}
.v2 .sm-arches {display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;}
.v2 .sm-arche {display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px 8px 12px; border: 1px solid var(--sm-filet); border-radius: var(--sm-r-m); background: var(--sm-blanc); font: inherit; font-size: 13.5px; font-weight: 600; color: var(--texte); cursor: pointer; transition: .2s;}
.v2 .sm-arche.actif {border: 2px solid var(--rose-choix); background: var(--rose-fond); color: var(--accent);}
.v2 .sm-arche-forme {width: 64px; height: 52px; border-radius: 32px 32px 0 0; background: var(--arche); box-sizing: border-box;}
.v2 .sm-arche-blanche {border: 1px solid var(--sm-filet-fort); border-bottom: 0;}
.v2 .sm-champ-titre {display: block; font-family: var(--police-label); font-weight: 500; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--sourdine); margin: 0 0 8px;}
.v2 .sm-champ {position: relative; margin-bottom: 18px;}
.v2 .sm-champ input {width: 100%; box-sizing: border-box; padding: 12px 56px 12px 14px; border: 1px solid var(--sm-filet); border-radius: var(--sm-r-s); font: inherit; font-size: 14px; color: var(--texte);}
.v2 .sm-champ input:focus {outline: none; border-color: var(--rose-choix);}
.v2 .sm-champ-compte {position: absolute; right: 10px; top: 50%; transform: translateY(-50%); padding: 2px 7px; border-radius: 6px; background: var(--sm-creme); font-size: 11px; font-weight: 600; color: var(--sourdine);}
.v2 .sm-polices {display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;}
.v2 .sm-police {height: 64px; border: 1px solid var(--sm-filet); border-radius: var(--sm-r-s); background: var(--sm-blanc); font-family: var(--police); font-size: 26px; color: var(--texte); cursor: pointer; transition: .2s;}
.v2 .sm-police.actif {border: 2px solid var(--rose-choix); background: var(--rose-fond);}
.v2 .sm-police-autre {display: flex; flex-direction: column; align-items: center; gap: 2px; width: 100%; margin-top: 8px; padding: 12px; border: 1px solid var(--sm-filet); border-radius: var(--sm-r-s); background: var(--sm-blanc); font: inherit; font-size: 12.5px; font-weight: 600; color: var(--sourdine); cursor: pointer;}
.v2 .sm-police-autre span {color: var(--accent); font-size: 16px;}
.v2 .sm-apercu-titre {margin-top: 18px;}
.v2 .sm-direct {display: flex; align-items: center; gap: 6px; font-size: 12.5px !important;}
.v2 .sm-direct::before {content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); animation: sm-pulse 1.6s infinite;}
@keyframes sm-pulse { 50% { opacity: .3; } }
.v2 .sm-apercu {display: flex; justify-content: center; align-items: flex-end; height: 200px; padding-top: 18px; box-sizing: border-box; border-radius: var(--sm-r-m); background: var(--sm-champagne); overflow: hidden;}
.v2 .sm-apercu-arche {display: grid; place-items: center; width: 210px; height: 182px; padding: 20px 16px 0; box-sizing: border-box; border-radius: 105px 105px 0 0; background: var(--arche-apercu, #EDE2CC); border: 1px solid rgba(179,154,100,.35); border-bottom: 0; transition: background .3s;}
.v2 .sm-apercu-arche span {font-family: var(--police-apercu, 'Dancing Script'); font-size: 26px; line-height: 1.15; text-align: center; color: var(--accent); word-break: break-word;}
.v2 .sm-zones {display: flex; flex-direction: column; gap: 10px;}
.v2 .sm-zone {display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; text-align: left; font: inherit; color: inherit; cursor: pointer; background: var(--sm-blanc); border: 1px solid var(--sm-filet); border-radius: var(--sm-r-m); transition: .2s;}
.v2 .sm-zone.actif {border: 2px solid var(--rose-choix); background: var(--rose-fond);}
.v2 .sm-zone > span:first-child {display: flex; flex-direction: column; gap: 2px;}
.v2 .sm-zone-titre {font-size: 14.5px; font-weight: 600;}
.v2 .sm-zone-sous {font-size: 12px; color: var(--sourdine);}
.v2 .sm-zone-prix {font-size: 17px; font-weight: 700; color: var(--rose-prix); white-space: nowrap;}
.v2 .sm-date-cadre {border: 2px solid var(--rose-choix); border-radius: var(--sm-r-m); padding: 14px; background: #FFFCFD;}
.v2 .sm-date {position: relative; display: flex; align-items: center; gap: 14px; cursor: pointer;}
.v2 .sm-date-champ {position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; border: 0;}
.v2 .sm-date-champ::-webkit-calendar-picker-indicator {position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer;}
.v2 .sm-date-icone {display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: var(--sm-champagne); color: var(--accent); flex: none;}
.v2 .sm-date-icone svg {width: 20px; height: 20px;}
.v2 .sm-date-texte {display: flex; flex-direction: column; flex: 1; pointer-events: none;}
.v2 .sm-date-label {font-family: var(--police-label); font-weight: 500; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--sourdine);}
.v2 .sm-date-valeur {font-size: 17px;}
.v2 .sm-date-picto {color: var(--texte); pointer-events: none;}
.v2 .sm-date-picto svg {width: 20px; height: 20px;}
.v2 .sm-date-note {margin: 12px 0 0; padding: 10px 12px; border-radius: var(--sm-r-s); background: #F8F3E9; font-size: 12.5px; color: var(--sourdine);}
.v2 .sm-total {display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; padding: 18px 22px; border-radius: var(--sm-r-m); background: var(--sm-champagne);}
.v2 .sm-total > div {display: flex; flex-direction: column;}
.v2 .sm-total-label {font-size: 13px; color: var(--sourdine);}
.v2 .sm-total-prix {font-size: 38px; font-weight: 700; letter-spacing: -.03em; line-height: 1.05;}
.v2 .sm-total-note {font-size: 13px; font-weight: 600; text-align: right;}
.v2 .sm-cta {display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; margin-top: 14px; padding: 14px 20px; border: 0; border-radius: 999px; background: var(--texte); color: var(--blanc); font: inherit; font-size: 14.5px; font-weight: 600; cursor: pointer; transition: background .25s, transform .25s;}
.v2 .sm-cta span {display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--accent); font-size: 12px; transition: transform .25s;}
.v2 .sm-cta:hover {background: #3D3B37; transform: translateY(-1px);}
.v2 .sm-cta:hover span {transform: translateX(3px);}
.v2 .sm-inclus {background: var(--sm-creme); padding: 56px var(--gouttiere) 60px;}
.v2 .sm-inclus-tete {text-align: center; max-width: 560px; margin: 0 auto 30px;}
.v2 .sm-inclus-tete h2 {font-size: clamp(22px, 2.2vw, 28px); text-transform: uppercase; letter-spacing: .02em; margin: 0 0 12px;}
.v2 .sm-inclus-tete p {color: var(--sourdine); font-size: 14px; margin: 0;}
.v2 .sm-inclus-grille {max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;}
.v2 .sm-inclus-grille li {background: var(--sm-blanc); border-radius: var(--sm-r-m); padding: 20px 20px 22px; box-shadow: 0 1px 2px rgba(43,42,39,.03); transition: transform .3s, box-shadow .3s;}
.v2 .sm-inclus-grille li:hover {transform: translateY(-3px); box-shadow: var(--sm-ombre);}
.v2 .sm-icone {display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #FBEFF3; color: #D78DA6; margin-bottom: 12px;}
.v2 .sm-icone svg {width: 17px; height: 17px;}
.v2 .sm-inclus-grille h3 {font-size: 14.5px; font-weight: 600; letter-spacing: -.01em; margin: 0 0 6px;}
.v2 .sm-inclus-grille p {font-size: 12.5px; line-height: 1.6; color: var(--sourdine); margin: 0;}
.v2 .sm-faq {max-width: 760px; margin: 0 auto; padding: 56px var(--gouttiere) 64px; box-sizing: content-box;}
.v2 .sm-faq-sur {font-family: var(--police-label); font-weight: 500; font-size: 12px; text-align: center; letter-spacing: .22em; text-transform: uppercase; color: #5D6C57; margin: 0 0 10px;}
.v2 .sm-faq h2 {font-size: clamp(22px, 2.2vw, 28px); margin: 0 0 22px; text-align: center;}
.v2 .sm-faq-liste {display: flex; flex-direction: column; gap: 8px;}
.v2 .sm-faq details {background: var(--sm-blanc); border: 1px solid var(--sm-filet); border-radius: var(--sm-r-s); padding: 0 18px; transition: box-shadow .25s;}
.v2 .sm-faq details[open] {box-shadow: var(--sm-ombre);}
.v2 .sm-faq summary {list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 14px 0; font-size: 14px; font-weight: 600;}
.v2 .sm-faq summary::-webkit-details-marker {display: none;}
.v2 .sm-faq summary::after {content: "+"; flex: none; color: var(--accent); font-size: 18px; font-weight: 400; line-height: 1; transition: transform .25s;}
.v2 .sm-faq details[open] summary::after {transform: rotate(45deg);}
.v2 .sm-faq details p {margin: 0; padding: 0 32px 14px 0; font-size: 13px; line-height: 1.65; color: var(--sourdine);}
.v2 .sm-faq .sm-a-completer {font-style: italic; color: var(--accent);}
.v2 .sm-sombre {background: var(--sombre); color: rgba(255,255,255,.78); padding: 64px var(--gouttiere);}
.v2 .sm-sombre-int {max-width: var(--sm-largeur); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center;}
.v2 .sm-surtitre-sombre {margin-bottom: 14px;}
.v2 .sm-sombre h2 {font-size: clamp(24px, 2.4vw, 30px); line-height: 1.25; color: var(--blanc); margin: 0 0 16px;}
.v2 .sm-sombre p:not(.sm-surtitre) {font-size: 14.5px; line-height: 1.75; margin: 0 0 12px;}
.v2 .sm-sombre a {color: var(--accent-clair); border-bottom: 1px solid rgba(217,194,142,.4);}
.v2 .sm-sombre-photo {display: block; width: 100%; height: 320px; object-fit: cover; border-radius: var(--sm-r-l);}
.v2 .sm-avis {max-width: 680px; margin: 52px auto 0; padding-top: 40px; border-top: 1px solid rgba(217,194,142,.2); text-align: center;}
.v2 .sm-etoiles {color: var(--accent-clair); letter-spacing: .3em; font-size: 13px; margin-bottom: 14px;}
.v2 .sm-avis-texte {font-size: 18px; line-height: 1.6; color: var(--blanc); font-weight: 300; margin: 0 0 10px;}
.v2 .sm-avis-auteur {font-size: 12.5px; color: rgba(255,255,255,.55);}
.v2 main.sm + .pied {border-radius: 0; border-top: 1px solid rgba(217,194,142,.15);}
@media (max-width: 1024px) {
.v2 .sm-inclus-grille {grid-template-columns: repeat(2, 1fr);}
.v2 .sm-carte {grid-template-columns: 1fr; gap: 26px;}
.v2 .sm-galerie {position: static;}
.v2 .sm-photo-principale {height: 440px;}
.v2 .sm-config {max-height: none; overflow: visible; padding-right: 0;}
.v2 .sm-sombre-int {grid-template-columns: 1fr; gap: 32px;}
}
@media (max-width: 640px) {
.v2 .sm-heros {height: auto; min-height: 340px; padding-top: 64px;}
.v2 .sm-bandeau {font-size: 11px; letter-spacing: .12em;}
.v2 .sm-bandeau span {margin: 0 5px;}
.v2 .sm-atouts {grid-template-columns: 1fr; gap: 8px; padding-top: 16px;}
.v2 .sm-atout {display: flex; justify-content: space-between; align-items: baseline; text-align: left; padding: 13px 16px;}
.v2 .sm-reserver {padding: 12px 12px 56px;}
.v2 .sm-carte {padding: 12px;}
.v2 .sm-photo-principale {height: 320px;}
.v2 .sm-vignette img {height: 96px;}
.v2 .sm-config {padding: 4px 4px 6px;}
.v2 .sm-format-img img {height: 96px;}
.v2 .sm-palette {gap: 10px 0;}
.v2 .sm-ballon {font-size: 11px;}
.v2 .sm-ballon span {width: 34px; height: 41px;}
.v2 .sm-cadre {padding: 14px 12px 16px;}
.v2 .sm-police {height: 54px; font-size: 22px;}
.v2 .sm-total-prix {font-size: 32px;}
.v2 .sm-titre {font-size: 22px;}
.v2 .sm-sombre {padding: 52px 18px;}
.v2 .sm-inclus {padding: 52px 12px 56px;}
.v2 .sm-inclus-grille {grid-template-columns: 1fr; gap: 12px;}
.v2 .sm-inclus-grille li {padding: 18px 16px;}
.v2 .sm-faq {padding: 52px 12px 60px;}
.v2 .sm-faq details {padding: 0 16px;}
.v2 .sm-faq summary {font-size: 13.5px; padding: 13px 0;}
.v2 .sm-faq details p {padding-right: 0;}
.v2 .sm-sombre-photo {height: 240px;}
}
.v2 .sm-court .sm-ariane {padding-top: 24px;}
.v2 .sm-court .sm-reserver {padding-top: 16px;}
.v2 .sm-config-libre {max-height: none; overflow: visible; padding-right: 0;}
.v2 .sm-photo-paysage {height: auto; aspect-ratio: 4 / 3;}
.v2 .sm-vignettes-4 {grid-template-columns: repeat(4, 1fr);}
.v2 .sm-vignettes-4 .sm-vignette img {height: auto; aspect-ratio: 9 / 16;}
.v2 .sm-chiffres {display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 14px;}
.v2 .sm-chiffres li {display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px 6px 12px; border-radius: var(--sm-r-m); background: var(--sm-champagne); text-align: center;}
.v2 .sm-chiffres b {font-size: 22px; font-weight: 600; letter-spacing: -.02em; color: var(--accent); line-height: 1.1;}
.v2 .sm-chiffres span {font-family: var(--police-label); font-weight: 500; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--sourdine); line-height: 1.3;}
.v2 .sm-pastille-vente {display: inline-block; margin-bottom: 12px; padding: 3px 11px; border-radius: 999px; background: var(--sm-champagne); color: var(--accent); font-family: var(--police-label); font-weight: 500; font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase;}
.v2 .sm-format-sous {display: block; font-family: var(--police-label); font-weight: 500; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--sourdine);}
.v2 .sm-court .sm-format-img img {height: 150px;}
.v2 .sm-quantite {display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border: 1px solid var(--sm-filet); border-radius: var(--sm-r-m); font-size: 14px; color: var(--sourdine);}
.v2 .sm-quantite-ctrl {display: flex; align-items: center; gap: 14px;}
.v2 .sm-quantite-ctrl button {width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--sm-filet-fort); background: var(--sm-blanc); font-size: 16px; color: var(--texte); cursor: pointer; transition: background .2s;}
.v2 .sm-quantite-ctrl button:hover {background: var(--sm-creme);}
.v2 .sm-quantite-ctrl output {min-width: 18px; text-align: center; font-size: 15px; font-weight: 600; color: var(--texte);}
.v2 .sm-caracs {max-width: 1000px; margin: 30px auto 0; padding: 24px 28px 18px; border-radius: var(--sm-r-l); background: var(--sm-blanc); box-sizing: border-box;}
.v2 .sm-caracs h2 {font-size: 20px; margin: 0 0 12px;}
.v2 .sm-caracs dl {margin: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 36px;}
.v2 .sm-caracs dl div {display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--sm-filet); font-size: 13.5px;}
.v2 .sm-caracs dt {color: var(--sourdine);}
.v2 .sm-caracs dd {margin: 0; font-weight: 600; text-align: right;}
@media (max-width: 640px) {
.v2 .sm-chiffres {grid-template-columns: repeat(2, 1fr);}
.v2 .sm-vignettes-4 {gap: 6px;}
.v2 .sm-court .sm-format-img img {height: 110px;}
.v2 .sm-caracs {padding: 20px 16px 12px;}
.v2 .sm-caracs dl {grid-template-columns: 1fr;}
}
.v2 .sm-vignettes-3h .sm-vignette img {height: auto; aspect-ratio: 9 / 11;}
.v2 .sm-puces-produit {list-style: disc; margin: 0 0 22px; padding-left: 18px; font-size: 13.5px; line-height: 1.7; color: var(--sourdine);}
.v2 .sm-puces-produit li::marker {color: var(--accent);}
.v2 .sm-fumees {display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;}
.v2 .sm-fumee {position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 8px 12px; border: 1px solid var(--sm-filet); border-radius: var(--sm-r-m); background: var(--sm-blanc); font: inherit; font-size: 13px; font-weight: 600; color: var(--texte); cursor: pointer; transition: border-color .2s, background .2s; text-align: center;}
.v2 .sm-fumee::after {content: ""; position: absolute; top: 10px; right: 10px; width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid var(--sm-filet-fort); box-sizing: border-box; transition: .2s;}
.v2 .sm-fumee.actif {border: 2px solid var(--rose-choix, #D9A6B9); background: #FBF5F7; padding: 13px 7px 11px;}
.v2 .sm-fumee.actif::after {border: 4px solid var(--texte);}
.v2 .sm-fumee-icone {position: relative; width: 44px; height: 44px; border-radius: 10px; background: #F4F1EC; overflow: hidden;}
.v2 .sm-fumee-icone::before {content: ""; position: absolute; left: 50%; top: 4px; width: 30px; height: 30px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle at 40% 40%, var(--c), transparent 70%), radial-gradient(circle at 65% 30%, var(--c), transparent 60%), radial-gradient(circle at 50% 70%, var(--c), transparent 65%); filter: blur(1.5px);}
.v2 .sm-fumee-icone::after {content: ""; position: absolute; left: 50%; bottom: 4px; width: 5px; height: 11px; transform: translateX(-50%); border-radius: 1px; background: #1E1E1E;}
.v2 .sm-fumee-confettis::before {background: radial-gradient(circle, #E83E7B 1.2px, transparent 1.5px) 0 0 / 8px 8px, radial-gradient(circle, #3B78E7 1.2px, transparent 1.5px) 4px 4px / 8px 8px, radial-gradient(circle, #F4C430 1px, transparent 1.3px) 2px 5px / 9px 9px; width: 40px; height: 40px; top: 2px; filter: none; border-radius: 0;}
.v2 .sm-fumee-confettis::after {display: none;}
.v2 .sm-total-simple {flex-direction: row; align-items: center;}
.v2 .sm-total-simple .sm-total-label {font-size: 14px;}
.v2 .sm-rassurance {display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 16px; padding: 16px 8px; border-radius: var(--sm-r-m); background: var(--sm-champagne);}
.v2 .sm-rassurance li {display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 0 6px; text-align: center; font-size: 12.5px; color: var(--sourdine);}
.v2 .sm-rassurance svg {width: 20px; height: 20px; color: var(--accent);}
.v2 .sm-onglets {margin-top: 24px;}
.v2 .sm-onglets-tete {display: flex; gap: 22px; border-bottom: 1px solid var(--sm-filet);}
.v2 .sm-onglet {padding: 10px 0; margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; background: none; font-family: var(--police-label); font-weight: 500; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: #B7AFA4; cursor: pointer; transition: color .2s, border-color .2s;}
.v2 .sm-onglet.actif {color: var(--texte); border-bottom-color: var(--accent);}
.v2 .sm-onglet-contenu {margin: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px;}
.v2 .sm-onglet-contenu[hidden] {display: none;}
.v2 .sm-onglet-contenu div {padding: 12px 0; border-bottom: 1px solid var(--sm-filet);}
.v2 .sm-onglet-contenu dt {font-family: var(--police-label); font-weight: 500; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #5D6C57; margin-bottom: 3px;}
.v2 .sm-onglet-contenu dd {margin: 0; font-size: 14px; font-weight: 600; line-height: 1.35;}
.v2 .sm-onglet-liste {grid-template-columns: 1fr; padding: 12px 0 0; list-style: none;}
.v2 .sm-onglet-liste li {position: relative; padding: 8px 0 8px 24px; border-bottom: 1px solid var(--sm-filet); font-size: 14px;}
.v2 .sm-onglet-liste li::before, .v2 .sm-coches-liste li::before {content: ""; position: absolute; left: 0; top: 50%; width: 15px; height: 15px; transform: translateY(-50%); border-radius: 50%; background: var(--sm-champagne) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B39A64' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center / 10px no-repeat;}
.v2 .sm-duo {background: var(--sm-creme); padding: 64px var(--gouttiere);}
.v2 .sm-duo-int {max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center;}
.v2 .sm-duo-photo {display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: var(--sm-r-l);}
.v2 .sm-duo-texte h2 {font-size: clamp(22px, 2.3vw, 30px); line-height: 1.15; text-transform: uppercase; letter-spacing: 0; margin: 0 0 16px;}
.v2 .sm-duo-texte p {font-size: 14.5px; line-height: 1.75; color: var(--sourdine); margin: 0 0 14px;}
.v2 .sm-coches-liste {display: flex; flex-direction: column; gap: 9px; margin-top: 6px;}
.v2 .sm-coches-liste li {position: relative; padding-left: 26px; font-size: 14px;}
.v2 .sm-duo-inverse .sm-duo-photo {order: 2;}
.v2 .sm-etapes3 {padding: 60px var(--gouttiere) 64px; background: var(--sm-blanc);}
.v2 .sm-etapes3-liste {max-width: 900px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); position: relative;}
.v2 .sm-etapes3-liste::before {content: ""; position: absolute; top: 22px; left: 16.6%; right: 16.6%; height: 1px; background: var(--sm-filet-fort);}
.v2 .sm-etapes3-liste li {position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 14px;}
.v2 .sm-etapes3-liste span {display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--c); color: var(--blanc); font-size: 16px; font-weight: 600; box-shadow: 0 0 0 6px var(--sm-blanc); margin-bottom: 16px;}
.v2 .sm-etapes3-liste h3 {font-family: var(--police-label); font-weight: 500; font-size: 15px; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 6px;}
.v2 .sm-etapes3-liste p {font-size: 13.5px; line-height: 1.6; color: var(--sourdine); margin: 0; max-width: 230px;}
@media (max-width: 1024px) {
.v2 .sm-duo-int {grid-template-columns: 1fr;}
.v2 .sm-duo-inverse .sm-duo-photo {order: 0;}
}
@media (max-width: 640px) {
.v2 .sm-fumees {gap: 6px;}
.v2 .sm-fumee {font-size: 12px;}
.v2 .sm-onglets-tete {gap: 14px;}
.v2 .sm-onglet {font-size: 12px; letter-spacing: .08em;}
.v2 .sm-onglet-contenu {grid-template-columns: 1fr;}
.v2 .sm-rassurance li {font-size: 11.5px;}
.v2 .sm-duo {padding: 48px 12px;}
.v2 .sm-etapes3 {padding: 48px 12px;}
.v2 .sm-etapes3-liste {grid-template-columns: 1fr; gap: 26px;}
.v2 .sm-etapes3-liste::before {display: none;}
}
.v2 .sm-compact {--sm-largeur: 1060px; --sm-r-l: 20px; --sm-r-m: 14px; --sm-r-s: 10px;}
.v2 .sm-compact .sm-ariane {font-size: 12.5px; padding-top: 22px;}
.v2 .sm-compact .sm-reserver {padding: 14px var(--gouttiere) 56px;}
.v2 .sm-compact .sm-carte {padding: 22px; gap: 36px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);}
.v2 .sm-compact .sm-galerie {top: 84px;}
.v2 .sm-compact .sm-vignettes {gap: 8px; margin-top: 8px;}
.v2 .sm-compact .sm-chiffres {gap: 6px; margin-top: 10px;}
.v2 .sm-compact .sm-chiffres li {padding: 10px 4px 9px; gap: 2px;}
.v2 .sm-compact .sm-chiffres b {font-size: 17px;}
.v2 .sm-compact .sm-chiffres span {font-size: 10px; letter-spacing: .1em;}
.v2 .sm-compact .sm-pastille-vente {font-size: 11px; padding: 2px 10px; margin-bottom: 8px;}
.v2 .sm-compact .sm-titre {font-size: 21px; margin-bottom: 4px;}
.v2 .sm-compact .sm-sous-titre {font-size: 12.5px; margin-bottom: 16px;}
.v2 .sm-compact .sm-puces-produit {font-size: 12.5px; line-height: 1.65; margin-bottom: 16px;}
.v2 .sm-compact .sm-etape {font-size: 15px; margin: 20px 0 10px;}
.v2 .sm-compact .sm-sous-titre + .sm-etape, .v2 .sm-compact .sm-puces-produit + .sm-etape {margin-top: 0;}
.v2 .sm-compact .sm-formats {gap: 10px;}
.v2 .sm-compact.sm-court .sm-format-img img {height: 112px;}
.v2 .sm-compact .sm-format-corps {padding: 10px 12px 12px;}
.v2 .sm-compact .sm-format-nom {font-size: 14px; margin-bottom: 2px;}
.v2 .sm-compact .sm-format-sous {font-size: 11px;}
.v2 .sm-compact .sm-coche {width: 18px; height: 18px; font-size: 9px; top: 7px; right: 7px;}
.v2 .sm-compact .sm-fumees {gap: 6px;}
.v2 .sm-compact .sm-fumee {padding: 10px 6px 9px; gap: 6px; font-size: 12px;}
.v2 .sm-compact .sm-fumee.actif {padding: 9px 5px 8px;}
.v2 .sm-compact .sm-fumee::after {width: 12px; height: 12px; top: 8px; right: 8px;}
.v2 .sm-compact .sm-fumee-icone {width: 34px; height: 34px; border-radius: 8px;}
.v2 .sm-compact .sm-fumee-icone::before {width: 24px; height: 24px; top: 3px;}
.v2 .sm-compact .sm-fumee-icone::after {width: 4px; height: 9px; bottom: 3px;}
.v2 .sm-compact .sm-fumee-confettis::before {width: 32px; height: 32px;}
.v2 .sm-compact .sm-quantite {padding: 10px 14px; font-size: 13px;}
.v2 .sm-compact .sm-quantite-ctrl {gap: 10px;}
.v2 .sm-compact .sm-quantite-ctrl button {width: 28px; height: 28px; font-size: 14px;}
.v2 .sm-compact .sm-quantite-ctrl output {font-size: 14px;}
.v2 .sm-compact .sm-date-cadre {padding: 10px 12px;}
.v2 .sm-compact .sm-date-icone {width: 36px; height: 36px;}
.v2 .sm-compact .sm-date-icone svg {width: 17px; height: 17px;}
.v2 .sm-compact .sm-date-label {font-size: 11px;}
.v2 .sm-compact .sm-date-valeur {font-size: 15px;}
.v2 .sm-compact .sm-total {margin-top: 18px; padding: 13px 18px;}
.v2 .sm-compact .sm-total-label {font-size: 12px;}
.v2 .sm-compact .sm-total-prix {font-size: 25px;}
.v2 .sm-compact .sm-total-note {font-size: 12px;}
.v2 .sm-compact .sm-cta {margin-top: 10px; padding: 12px 20px; font-size: 14px;}
.v2 .sm-compact .sm-rassurance {margin-top: 12px; padding: 12px 6px;}
.v2 .sm-compact .sm-rassurance li {font-size: 11px; gap: 5px;}
.v2 .sm-compact .sm-rassurance svg {width: 17px; height: 17px;}
.v2 .sm-compact .sm-onglets {margin-top: 18px;}
.v2 .sm-compact .sm-onglet {font-size: 12.5px; padding: 8px 0;}
.v2 .sm-compact .sm-onglet-contenu div {padding: 9px 0;}
.v2 .sm-compact .sm-onglet-contenu dt {font-size: 10.5px;}
.v2 .sm-compact .sm-onglet-contenu dd {font-size: 13px;}
.v2 .sm-compact .sm-onglet-liste li {font-size: 13px;}
.v2 .sm-compact .sm-inclus {padding: 48px var(--gouttiere) 52px;}
.v2 .sm-compact .sm-inclus-tete {margin-bottom: 24px;}
.v2 .sm-compact .sm-inclus-grille {max-width: 1060px;}
.v2 .sm-compact .sm-caracs {max-width: 1060px; margin-top: 20px; padding: 20px 22px 14px;}
.v2 .sm-compact .sm-caracs h2 {font-size: 17px;}
.v2 .sm-compact .sm-caracs dl div {padding: 9px 0; font-size: 13px;}
.v2 .sm-compact .sm-duo {padding: 52px var(--gouttiere);}
.v2 .sm-compact .sm-duo-int {max-width: 1060px; gap: 48px;}
.v2 .sm-compact .sm-duo-texte h2 {font-size: clamp(20px, 2vw, 24px); margin-bottom: 12px;}
.v2 .sm-compact .sm-duo-texte p {font-size: 13.5px; line-height: 1.7;}
.v2 .sm-compact .sm-coches-liste li {font-size: 13px;}
.v2 .sm-compact .sm-etapes3 {padding: 48px var(--gouttiere) 52px;}
.v2 .sm-compact .sm-etapes3-liste::before {top: 18px;}
.v2 .sm-compact .sm-etapes3-liste span {width: 36px; height: 36px; font-size: 14px; margin-bottom: 12px;}
.v2 .sm-compact .sm-etapes3-liste h3 {font-size: 13px;}
.v2 .sm-compact .sm-etapes3-liste p {font-size: 12.5px;}
@media (max-width: 640px) {
.v2 .sm-compact .sm-carte {padding: 12px;}
.v2 .sm-compact .sm-reserver {padding: 12px 12px 44px;}
}
.v2 .sm-photo-confettis {height: auto; aspect-ratio: 6 / 5;}
.v2 .sm-encart {margin: 0 0 16px; padding: 14px 16px; border: 1px solid #E9D9B8; border-radius: var(--sm-r-m); background: #FBF4E7; font-size: 12.5px; line-height: 1.65; color: var(--sourdine);}
.v2 .sm-encart p {margin: 0;}
.v2 .sm-encart .sm-encart-titre {font-size: 13.5px; font-weight: 600; color: var(--texte); margin-bottom: 4px;}
.v2 .sm-encart a {color: var(--texte); border-bottom: 1px solid var(--accent);}
.v2 .sm-choix-lignes {display: grid; grid-template-columns: 1fr 1fr; gap: 8px;}
.v2 .sm-choix-ligne {position: relative; display: flex; align-items: center; gap: 12px; padding: 10px 34px 10px 10px; border: 1px solid var(--sm-filet); border-radius: var(--sm-r-m); background: var(--sm-blanc); font: inherit; font-size: 13.5px; font-weight: 600; color: var(--texte); text-align: left; cursor: pointer; transition: border-color .2s, background .2s;}
.v2 .sm-choix-ligne::after {content: ""; position: absolute; top: 50%; right: 12px; width: 14px; height: 14px; transform: translateY(-50%); border-radius: 50%; border: 1.5px solid var(--sm-filet-fort); box-sizing: border-box; transition: .2s;}
.v2 .sm-choix-ligne.actif {border: 2px solid var(--rose-choix, #D9A6B9); background: #FBF5F7; padding: 9px 33px 9px 9px;}
.v2 .sm-choix-ligne.actif::after {border: 4px solid var(--texte); right: 11px;}
.v2 .sm-choix-icone {flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 8px; background: #F4F1EC; overflow: hidden;}
.v2 .sm-choix-icone .sm-fumee-icone {width: 40px; height: 40px; background: none;}
.v2 .sm-ic-duo {position: relative;}
.v2 .sm-ic-duo i {position: absolute; left: 7px; width: 26px; height: 6px; border-radius: 3px; background: linear-gradient(90deg, #E9E3DA 0 22%, var(--c) 22%); transform: rotate(-35deg);}
.v2 .sm-ic-duo i:first-child {top: 20px;}
.v2 .sm-ic-duo i:last-child {top: 13px; left: 10px;}
.v2 .sm-ic-surprise::after {content: "?"; position: absolute; right: 4px; bottom: 1px; font-size: 12px; font-weight: 700; color: var(--accent);}
.v2 .sm-duo-blanc {background: var(--sm-blanc);}
.v2 .sm-duo-blanc .sm-duo-photo {background: var(--sm-creme);}
@media (max-width: 640px) {
.v2 .sm-choix-lignes {grid-template-columns: 1fr;}
}
.v2 .da {--rose-choix: #D9A6B9; --rose-fond: #FBF5F7; --rose-prix: #D6336C; max-width: 1000px; margin: 0 auto; padding: 0 var(--gouttiere) 72px; box-sizing: content-box;}
.v2 .da .sm-ariane {padding-left: 0; padding-right: 0;}
.v2 .da-tete {padding: 18px 0 8px;}
.v2 .da-sig {position: static; display: inline-block; background: var(--sm-champagne); margin-bottom: 8px;}
.v2 .da-tete h1 {font-size: clamp(22px, 2.4vw, 28px); margin: 0 0 6px;}
.v2 .da-tete p {font-size: 13.5px; color: var(--sourdine); margin: 0; max-width: 560px;}
.v2 .da-bloc {margin-top: 30px;}
.v2 .da-carte {padding: 20px 22px 22px; background: var(--sm-blanc); border: 1px solid var(--sm-filet); border-radius: var(--sm-r-l);}
.v2 .da-titre {font-size: 17px; margin: 0 0 4px;}
.v2 .da-sous {font-size: 12.5px; color: var(--sourdine); margin: 0 0 14px;}
.v2 .da-titre-ligne {display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 14px;}
.v2 .da-titre-ligne b {font-size: 13.5px; color: var(--accent); font-weight: 600;}
.v2 .da-formules {display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}
.v2 .da-formule {position: relative; display: grid; grid-template-columns: 46% 1fr; padding: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; background: var(--sm-blanc); border: 1px solid var(--sm-filet); border-radius: var(--sm-r-m); overflow: hidden; transition: border-color .2s, background .2s;}
.v2 .da-formule:hover {border-color: var(--sm-filet-fort);}
.v2 .da-formule.actif {border: 2px solid var(--rose-choix); background: var(--rose-fond);}
.v2 .da-formule img {width: 100%; height: 100%; min-height: 200px; object-fit: cover; display: block;}
.v2 .da-formule-corps {display: flex; flex-direction: column; padding: 14px 14px 14px 16px;}
.v2 .da-formule-sur {font-family: var(--police-label); font-weight: 500; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--sourdine);}
.v2 .da-formule-nom {font-size: 14.5px; font-weight: 600; margin: 2px 0 4px;}
.v2 .da-formule-prix {font-size: 21px; font-weight: 600; color: var(--accent); letter-spacing: -.02em; margin-bottom: 8px;}
.v2 .da-formule-liste {display: flex; flex-direction: column; gap: 3px; font-size: 12px; line-height: 1.45; color: var(--sourdine);}
.v2 .da-formule-liste span {position: relative; padding-left: 12px;}
.v2 .da-formule-liste span::before {content: ""; position: absolute; left: 1px; top: .55em; width: 4px; height: 4px; border-radius: 50%; background: var(--accent);}
.v2 .da-formule .sm-coche {top: 10px; right: 10px;}
.v2 .da-formule.actif .sm-coche {opacity: 1; transform: scale(1);}
.v2 .da-palette {grid-template-columns: repeat(10, 1fr);}
.v2 .da-palette .sm-ballon span {width: 32px; height: 39px;}
.v2 .da-palette .sm-ballon {font-size: 11px;}
.v2 .da-emplacements {max-width: 380px; margin: 0 auto;}
.v2 .da-arches {grid-template-columns: repeat(6, 1fr); gap: 8px;}
.v2 .da-arches .sm-arche {padding: 12px 4px 10px; font-size: 12px;}
.v2 .da-arches .sm-arche-forme {width: 46px; height: 38px; border-radius: 23px 23px 0 0;}
.v2 .da .sm-polices {grid-template-columns: repeat(6, 1fr);}
.v2 .da .sm-police {height: 52px; font-size: 22px;}
.v2 .da .sm-apercu {height: 170px;}
.v2 .da .sm-apercu-arche {width: 180px; height: 152px; border-radius: 90px 90px 0 0;}
.v2 .da-duo {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 30px;}
.v2 .da-duo .da-titre {margin-bottom: 12px;}
.v2 .da-date {height: calc(100% - 34px); box-sizing: border-box; display: flex; align-items: center;}
.v2 .da-date .sm-date {width: 100%;}
.v2 .da-options {border: 1px solid var(--sm-filet); border-radius: var(--sm-r-m); padding: 6px 18px; margin-top: 10px; background: var(--sm-blanc);}
.v2 .da-options li {display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; font-size: 13.5px;}
.v2 .da-options li + li {border-top: 1px solid var(--sm-filet);}
.v2 .da-options b {color: var(--accent); font-weight: 600; white-space: nowrap;}
.v2 .da-themes {display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px;}
.v2 .da-themes li {padding: 5px 13px; border: 1px solid var(--sm-filet-fort); border-radius: 999px; font-size: 12.5px; background: var(--sm-blanc);}
.v2 .da-themes-plus {margin: 10px 0 0; font-family: var(--police-script); font-size: 26px; color: var(--accent);}
@media (max-width: 1024px) {
.v2 .da-palette {grid-template-columns: repeat(5, 1fr);}
.v2 .da-arches, .v2 .da .sm-polices {grid-template-columns: repeat(3, 1fr);}
}
@media (max-width: 640px) {
.v2 .da {padding: 0 12px 56px;}
.v2 .da-formules, .v2 .da-duo {grid-template-columns: 1fr;}
.v2 .da-formule {grid-template-columns: 40% 1fr;}
.v2 .da-formule img {min-height: 170px;}
.v2 .da-carte {padding: 16px 12px;}
}
.v2 .da .da-sig {padding: 3px 11px; border-radius: 999px; font-family: var(--police-label); font-weight: 500; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent);}
.v2 .sm-gratuit {color: #3E8E5A;}
.v2 .da-deco .da-formule img {min-height: 300px;}
.v2 .da-deco .da-formule-corps {padding: 18px 16px 18px 18px;}
@media (max-width: 640px) {
.v2 .da-deco .da-formule img {min-height: 230px;}
}
.v2 .tb {--rose-choix: var(--accent); --rose-fond: #FDFAF3; --rose-prix: var(--accent);}
.v2 .tb .sm-heros {height: 280px;}
.v2 .tb .sm-heros-photo {object-position: center 70%;}
.v2 .tb .sm-ariane {padding-top: 20px;}
.v2 .tb-photo {height: 520px; object-position: center 30%;}
.v2 .tb .sm-vignette img {height: 170px;}
.v2 .tb-config {max-height: 760px; overflow-y: auto; padding-right: 10px;}
.v2 .tb-puces {font-size: 13px;}
.v2 .tb-coches {display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px;}
.v2 .tb-coches span {padding: 6px 12px; border: 1px solid var(--sm-filet); border-radius: 999px; font-size: 12px; font-weight: 500;}
.v2 .tb .sm-etape {margin: 22px 0 10px;}
.v2 .tb .sm-format-img img {height: 140px; object-position: center 35%;}
.v2 .tb .sm-format-prix {color: var(--accent);}
.v2 .tb-tarif {margin-top: 14px; padding: 12px 18px; border: 1px solid var(--sm-filet); border-radius: var(--sm-r-m);}
.v2 .tb-tarif div {display: flex; justify-content: space-between; align-items: baseline; padding: 5px 0; font-size: 13px; color: var(--sourdine);}
.v2 .tb-tarif div + div {border-top: 1px solid var(--sm-filet);}
.v2 .tb-tarif b {color: var(--texte); font-weight: 600; font-size: 14px;}
.v2 .tb-tarif div:first-child b {font-size: 22px; letter-spacing: -.02em;}
.v2 .tb-options label {display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--sm-filet); font-size: 13.5px; cursor: pointer;}
.v2 .tb-options label span:not(.tb-prix) {flex: 1;}
.v2 .tb-options .tb-prix {font-size: 13px; font-weight: 500; color: var(--texte); white-space: nowrap;}
.v2 .tb-options input {appearance: none; -webkit-appearance: none; margin: 0; width: 16px; height: 16px; border-radius: 5px; border: 1px solid var(--sm-filet-fort); display: grid; place-items: center; cursor: pointer;}
.v2 .tb-options input:checked {background: var(--texte); border-color: var(--texte);}
.v2 .tb-options input:checked::after {content: ""; width: 4px; height: 8px; border: solid var(--blanc); border-width: 0 1.6px 1.6px 0; transform: rotate(45deg) translate(-1px, -1px);}
.v2 .tb .sm-date-cadre {border-color: var(--accent); background: #FDFAF3;}
.v2 .tb-cta {background: var(--accent-clair); color: var(--texte);}
.v2 .tb-cta:hover {background: #E4D1A6;}
.v2 .tb-cta span {background: var(--texte); color: var(--blanc);}
.v2 .tb .sm-sombre-photo {height: 360px; object-position: center 60%;}
@media (max-width: 1024px) {
.v2 .tb-config {max-height: none; overflow: visible; padding-right: 0;}
}
@media (max-width: 640px) {
.v2 .tb-photo {height: 380px;}
.v2 .tb .sm-vignette img {height: 120px;}
.v2 .tb .sm-format-img img {height: 110px;}
}
.v2 .tb .sm-config {--rose-choix: var(--accent); --rose-fond: #FDFAF3; --rose-prix: var(--accent);}
.v2 .tb .sm-vignettes {grid-template-columns: 1fr 1fr;}
.v2 .tb .sm-zone-prix {color: var(--accent);}
.v2 .tb-tete {padding: 18px var(--gouttiere) 0;}
.v2 .tb-tete-int {position: relative; max-width: var(--sm-largeur); margin: 0 auto; display: grid; grid-template-columns: 1.05fr 1fr; gap: 28px; align-items: center; padding: 38px 40px 34px; border-radius: var(--sm-r-l); overflow: hidden; color: var(--blanc);
  background: radial-gradient(circle at 18% 0%, rgba(232,180,90,.28), transparent 45%), radial-gradient(circle at 85% 100%, rgba(217,194,142,.18), transparent 50%), linear-gradient(140deg, #2B2620 0%, #3A2E1E 55%, #4A3820 100%);}
.v2 .tb-bulles {position: absolute; inset: 0; pointer-events: none;}
.v2 .tb-bulles i {position: absolute; left: var(--x); bottom: -12px; width: var(--s); height: var(--s); border-radius: 50%; border: 1px solid rgba(240,210,140,.55); background: radial-gradient(circle at 35% 35%, rgba(255,240,200,.5), rgba(240,200,110,.12)); animation: tb-monte var(--t) linear var(--d) infinite;}
@keyframes tb-monte { 0% { transform: translate(0, 0); opacity: 0; } 10% { opacity: .9; } 50% { transform: translate(6px, -160px); } 100% { transform: translate(-4px, -340px); opacity: 0; } }
.v2 .tb-mousse {position: absolute; left: 0; right: 0; top: 0; height: 26px; background: radial-gradient(circle at 10px 0, rgba(255,246,226,.16) 12px, transparent 13px) 0 0 / 24px 26px repeat-x; opacity: .7;}
.v2 .tb-tete-texte {position: relative; z-index: 1;}
.v2 .tb-sante {margin: 4px 0 -4px; font-family: var(--police-script); font-size: 46px; line-height: 1; color: var(--accent-clair); transform: rotate(-4deg); transform-origin: left;}
.v2 .tb-tete h1 {font-size: clamp(28px, 3vw, 38px); color: var(--blanc); margin: 0 0 10px;}
.v2 .tb-chapo {font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.8); max-width: 440px; margin: 0 0 16px;}
.v2 .tb-pastilles {display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px;}
.v2 .tb-pastilles li {padding: 5px 12px; border-radius: 999px; border: 1px solid rgba(217,194,142,.45); background: rgba(255,255,255,.06); font-size: 12px; color: rgba(255,255,255,.9);}
.v2 .tb-tete .sm-heros-actions {color: rgba(255,255,255,.6); font-size: 12.5px;}
.v2 .tb-photos {position: relative; z-index: 1; height: 330px;}
.v2 .tb-polaroid {position: absolute; margin: 0; padding: 8px 8px 30px; background: #FBF8F2; border-radius: 6px; box-shadow: 0 24px 50px -20px rgba(0,0,0,.6); transition: transform .5s ease;}
.v2 .tb-polaroid img {display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 3px;}
.v2 .tb-polaroid figcaption {position: absolute; left: 0; right: 0; bottom: 6px; text-align: center; font-family: var(--police-script); font-size: 20px; color: var(--texte);}
.v2 .tb-pol-1 {left: 4%; top: 10px; width: 46%; height: 300px; transform: rotate(-6deg);}
.v2 .tb-pol-2 {right: 2%; top: 26px; width: 50%; height: 290px; transform: rotate(5deg);}
.v2 .tb-tete-int:hover .tb-pol-1 {transform: rotate(-9deg) translateX(-8px);}
.v2 .tb-tete-int:hover .tb-pol-2 {transform: rotate(8deg) translateX(8px);}
.v2 .tb-prix-pastille {position: absolute; left: 41%; bottom: -6px; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 82px; height: 82px; border-radius: 50%; background: var(--accent-clair); color: var(--texte); box-shadow: 0 10px 24px -8px rgba(0,0,0,.5); transform: rotate(-10deg); animation: tb-pulse 3s ease-in-out infinite;}
.v2 .tb-prix-pastille span {font-family: var(--police-script); font-size: 20px; line-height: .8;}
.v2 .tb-prix-pastille b {font-size: 19px; letter-spacing: -.02em;}
@keyframes tb-pulse { 50% { transform: rotate(-10deg) scale(1.06); } }
@media (prefers-reduced-motion: reduce) {
.v2 .tb-bulles i, .v2 .tb-prix-pastille {animation: none;}
}
.v2 .tb-photo {height: 620px;}
.v2 .tb .sm-vignette img {height: 210px;}
.v2 .tb .sm-format-img img {height: 175px;}
.v2 .tb .sm-sombre-photo {height: 430px;}
.v2 .tb .sm-carte {grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);}
.v2 .tb-config {max-height: 860px;}
@media (max-width: 1024px) {
.v2 .tb-tete-int {grid-template-columns: 1fr; padding: 30px 24px 28px;}
.v2 .tb-photos {height: 300px;}
}
@media (max-width: 640px) {
.v2 .tb-tete {padding: 10px 10px 0;}
.v2 .tb-tete-int {padding: 26px 18px 24px;}
.v2 .tb-sante {font-size: 38px;}
.v2 .tb-photos {height: 250px;}
.v2 .tb-pol-1, .v2 .tb-pol-2 {height: 220px;}
.v2 .tb-prix-pastille {width: 66px; height: 66px;}
.v2 .tb-photo {height: 420px;}
.v2 .tb .sm-vignette img {height: 140px;}
.v2 .tb .sm-format-img img {height: 120px;}
}
.v2 .tb-bulles i {bottom: -16px; animation-name: tb-monte2;}
@keyframes tb-monte2 { 0% { transform: translate(0, 0) scale(.6); opacity: 0; } 8% { opacity: .95; } 35% { transform: translate(var(--w), -120px) scale(.85); } 70% { transform: translate(calc(var(--w) * -1), -260px) scale(1); } 100% { transform: translate(0, -400px) scale(1.1); opacity: 0; } }
.v2 .tb-bulles b {position: absolute; left: var(--x); bottom: 0; width: 2px; height: 100%; background: radial-gradient(circle, rgba(255,236,180,.85) 1px, transparent 1.6px) 0 0 / 2px 14px repeat-y; opacity: .35; animation: tb-filet 1.6s linear var(--d) infinite; -webkit-mask: linear-gradient(to top, #000 0%, #000 55%, transparent 95%); mask: linear-gradient(to top, #000 0%, #000 55%, transparent 95%);}
@keyframes tb-filet { to { background-position: 0 -14px; } }
.v2 .tb-tete-int::after {content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 60px; pointer-events: none; background: linear-gradient(to top, rgba(232,180,90,.22), transparent);}
@media (prefers-reduced-motion: reduce) {
.v2 .tb-bulles b {animation: none;}
}
.v2 .tb-tete {padding: clamp(14px, 2vw, 24px) var(--gouttiere) 0;}
.v2 .tb-tete-int {max-width: var(--largeur); grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 44px); padding: 32px 30px 32px clamp(30px, 3.4vw, 54px);}
.v2 .tb-photos {height: 300px;}
.v2 .tb-pol-1 {height: 280px; width: 42%; left: 8%;}
.v2 .tb-pol-2 {height: 270px; width: 44%; right: 4%;}
.v2 .tb-prix-pastille {left: 43%; bottom: -10px;}
.v2 .sm-vignette[hidden] {display: none;}
.v2 .sm-vignette.actif::after {box-shadow: inset 0 0 0 2px var(--accent);}
.v2 .sm-vignette.actif img {opacity: .78;}
.v2 .ab-tete {padding: clamp(14px, 2vw, 24px) var(--gouttiere) 0;}
.v2 .ab-tete-int {position: relative; max-width: var(--sm-largeur); margin: 0 auto; min-height: 330px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 32px; align-items: center; padding: 30px 30px 30px clamp(30px, 3.4vw, 54px); border-radius: 32px; overflow: hidden; border: 1px solid #EEDFD6;
  background: radial-gradient(circle at 80% 30%, rgba(240,185,199,.28), transparent 42%), radial-gradient(circle at 62% 92%, rgba(169,199,226,.26), transparent 40%), linear-gradient(135deg, #FBF6F1, #F5ECE4);}
.v2 .ab-tete-texte {position: relative; z-index: 2;}
.v2 .ab-ariane {display: flex; gap: 8px; font-size: 13px; color: var(--sourdine); margin-bottom: 10px;}
.v2 .ab-ariane span {color: #D8C6BC;}
.v2 .ab-ariane a:hover {color: var(--texte);}
.v2 .ab-script {margin: 0 0 -4px; font-family: var(--police-script); font-size: 44px; line-height: 1; color: var(--accent); transform: rotate(-3deg); transform-origin: left;}
.v2 .ab-tete h1 {font-size: clamp(30px, 3.2vw, 42px); font-weight: 600; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 10px;}
.v2 .ab-tete h1 em {font-family: var(--police-script); font-style: normal; font-weight: 400; color: var(--accent); font-size: 1.45em; line-height: 0; position: relative; top: .08em;}
.v2 .ab-chapo {font-size: 14px; line-height: 1.6; color: rgba(43,42,39,.75); max-width: 450px; margin: 0 0 14px;}
.v2 .ab-pastilles {display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px;}
.v2 .ab-pastilles li {display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px; border-radius: 999px; background: rgba(255,255,255,.8); border: 1px solid #EEDFD6; font-size: 12px; font-weight: 500;}
.v2 .ab-pastilles i {width: 9px; height: 9px; border-radius: 50%; background: var(--c); box-shadow: inset -2px -2px 3px rgba(0,0,0,.08);}
.v2 .ab-actions {display: flex; align-items: center; gap: 18px; flex-wrap: wrap;}
.v2 .ab-bouton {display: inline-flex; align-items: center; gap: 10px; padding: 11px 22px; border-radius: 999px; background: var(--texte); color: var(--blanc); font-size: 14px; font-weight: 600; transition: background .2s, transform .2s;}
.v2 .ab-bouton span {display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--accent); font-size: 11px;}
.v2 .ab-bouton:hover {background: #3D3B37; transform: translateY(-1px);}
.v2 .ab-tel {font-size: 13px; font-weight: 600; border-bottom: 1px solid var(--accent);}
.v2 .ab-photos {position: relative; z-index: 2; height: 280px;}
.v2 .ab-pol {position: absolute; margin: 0; padding: 8px 8px 30px; background: var(--blanc); border-radius: 5px; box-shadow: 0 24px 44px -22px rgba(90,60,50,.45); transition: transform .5s ease;}
.v2 .ab-pol img {display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 3px;}
.v2 .ab-pol figcaption {position: absolute; left: 0; right: 0; bottom: 3px; text-align: center; font-family: var(--police-script); font-size: 21px; color: var(--texte);}
.v2 .ab-pol-1 {left: 8%; top: 14px; width: 220px; height: 250px; transform: rotate(-5deg); z-index: 1;}
.v2 .ab-pol-2 {right: 6%; top: 0; width: 240px; height: 270px; transform: rotate(4deg);}
.v2 .ab-tete-int:hover .ab-pol-1 {transform: rotate(-8deg) translateX(-6px);}
.v2 .ab-tete-int:hover .ab-pol-2 {transform: rotate(6deg) translateX(6px);}
.v2 .ab-ballon {position: absolute; z-index: 1; border-radius: 50% 50% 48% 52% / 55% 55% 45% 45%; background: radial-gradient(circle at 32% 28%, rgba(255,255,255,.75), transparent 34%), var(--c); opacity: .9; animation: ab-flotte 7s ease-in-out infinite; pointer-events: none;}
.v2 .ab-ballon::after {content: ""; position: absolute; left: 50%; top: 100%; width: 1px; height: 34px; background: rgba(120,100,90,.25);}
.v2 .ab-b1 {--c: #F0B9C7; width: 46px; height: 52px; left: 47%; top: 18px;}
.v2 .ab-b2 {--c: #A9C7E2; width: 34px; height: 39px; left: 54%; bottom: 40px; animation-delay: -2s;}
.v2 .ab-b3 {--c: #E6D7BD; width: 28px; height: 32px; right: 3%; top: 24px; animation-delay: -4s;}
.v2 .ab-b4 {--c: #FFFFFF; width: 30px; height: 35px; right: 4%; bottom: 46px; animation-delay: -1s; box-shadow: 0 6px 14px -8px rgba(0,0,0,.2);}
.v2 .ab-b5 {--c: #F0B9C7; width: 22px; height: 26px; left: 41%; bottom: 22px; animation-delay: -5s; opacity: .7;}
@keyframes ab-flotte { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-12px) rotate(3deg); } }
@media (prefers-reduced-motion: reduce) {
.v2 .ab-ballon {animation: none;}
}
@media (max-width: 1024px) {
.v2 .ab-tete-int {grid-template-columns: 1fr;}
.v2 .ab-photos {height: 260px; max-width: 520px; width: 100%; margin: 0 auto;}
.v2 .ab-b1 {left: auto; right: 8%;}
}
@media (max-width: 640px) {
.v2 .ab-tete {padding: 10px 10px 0;}
.v2 .ab-tete-int {padding: 24px 18px;}
.v2 .ab-script {font-size: 36px;}
.v2 .ab-photos {height: 230px;}
.v2 .ab-pol-1 {width: 165px; height: 190px; left: 2%;}
.v2 .ab-pol-2 {width: 175px; height: 200px; right: 2%;}
.v2 .ab-b2, .v2 .ab-b5 {display: none;}
}
.v2 .dt-tete {position: relative; left: 50%; width: min(1280px, calc(100vw - 2 * var(--gouttiere))); transform: translateX(-50%); padding-top: clamp(14px, 2vw, 24px); margin-bottom: 26px;}
.v2 .dt-tete-int {position: relative; min-height: 340px; display: grid; grid-template-columns: 1fr .95fr; gap: 28px; align-items: center; padding: 30px 30px 30px clamp(30px, 3.4vw, 54px); border-radius: 32px; overflow: hidden; border: 1px solid #E9DFD2;
  background: radial-gradient(circle at 78% 18%, rgba(169,199,226,.30), transparent 40%), radial-gradient(circle at 92% 88%, rgba(240,185,199,.24), transparent 38%), linear-gradient(135deg, #FBF7F1, #F3EADF);}
.v2 .dt-texte {position: relative; z-index: 2;}
.v2 .dt-tete h1 {font-size: clamp(30px, 3.2vw, 42px); font-weight: 600; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 10px;}
.v2 .dt-tete h1 em {font-family: var(--police-script); font-style: normal; font-weight: 400; color: var(--accent); font-size: 1.4em; line-height: 0; position: relative; top: .08em;}
.v2 .dt-formules {display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px;}
.v2 .dt-formules li {display: inline-flex; align-items: baseline; gap: 6px; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.82); border: 1px solid #E9DFD2; font-size: 12px;}
.v2 .dt-formules b {font-weight: 600;}
.v2 .dt-formules span {color: var(--accent); font-weight: 600;}
.v2 .dt-cadres {position: relative; z-index: 2; height: 290px;}
.v2 .dt-cadre {position: absolute; bottom: 0; overflow: hidden; border-radius: 999px 999px 14px 14px; border: 5px solid #FFFFFF; box-shadow: 0 24px 44px -24px rgba(90,60,40,.45); transition: transform .5s ease;}
.v2 .dt-cadre img {display: block; width: 100%; height: 100%; object-fit: cover;}
.v2 .dt-c1 {left: 2%; width: 150px; height: 220px; transform: rotate(-4deg);}
.v2 .dt-c2 {left: 50%; width: 190px; height: 282px; margin-left: -95px; z-index: 1;}
.v2 .dt-c3 {right: 2%; width: 150px; height: 220px; transform: rotate(4deg);}
.v2 .dt-tete-int:hover .dt-c1 {transform: rotate(-7deg) translateX(-6px);}
.v2 .dt-tete-int:hover .dt-c3 {transform: rotate(7deg) translateX(6px);}
.v2 .dt-tete-int:hover .dt-c2 {transform: translateY(-4px);}
.v2 .dt-tete .ab-b1 {left: 49%; top: 22px;}
.v2 .dt-tete .ab-b2 {left: 53%; bottom: 30px;}
@media (max-width: 1024px) {
.v2 .dt-tete-int {grid-template-columns: 1fr;}
.v2 .dt-cadres {max-width: 480px; width: 100%; margin: 0 auto;}
.v2 .dt-tete .ab-b1 {left: auto; right: 6%;}
}
@media (max-width: 640px) {
.v2 .dt-tete {width: calc(100vw - 20px);}
.v2 .dt-tete-int {padding: 24px 18px;}
.v2 .dt-cadres {height: 230px;}
.v2 .dt-c1, .v2 .dt-c3 {width: 110px; height: 165px;}
.v2 .dt-c2 {width: 140px; height: 215px; margin-left: -70px;}
}
@media (max-width: 640px) {
.v2 .dt-tete .ab-b1, .v2 .dt-tete .ab-b3 {display: none;}
}
.v2 .sm-vignettes-5 {grid-template-columns: repeat(5, 1fr); gap: 8px;}
.v2 .sm-vignettes-5 .sm-vignette img {height: auto; aspect-ratio: 1;}
.v2 .sm-photo-principale.sm-photo-entiere {height: auto; aspect-ratio: 1; object-fit: contain; background: #F5F4F2; mix-blend-mode: normal;}
.v2 .sm-vignettes-5 .sm-vignette img {mix-blend-mode: normal;}
.v2 .sm-photo-principale.sm-photo-entiere {object-fit: cover; object-position: 50% 45%; background: none;}
.v2 .sm-vignettes-6 {grid-template-columns: repeat(6, 1fr); gap: 7px;}
.v2 .sm-vignettes-6 .sm-vignette img {height: auto; aspect-ratio: 3 / 4; mix-blend-mode: normal;}
@media (max-width: 640px) {
.v2 .sm-vignettes-6 {grid-template-columns: repeat(3, 1fr);}
}
.v2 .sm-duo-photo.sm-duo-carre {aspect-ratio: 1;}
.v2 .sm-vignettes-quatre {grid-template-columns: repeat(4, 1fr);}
@media (max-width: 640px) {
.v2 .sm-vignettes-quatre {grid-template-columns: repeat(4, 1fr);}
}
.v2 .sm-duo-photo.sm-duo-haut {object-position: 50% 35%;}
.v2 .sm-duo-photo.sm-duo-carre {width: 78%; max-width: 400px; justify-self: center; margin-inline: auto;}
@media (max-width: 860px) {
.v2 .sm-duo-photo.sm-duo-carre {width: 100%; max-width: 420px;}
}
