/* Généré par outils/v2-vers-theme.py depuis site/v2/produit.css — ne pas modifier ici */
.v2 .pp {--pp-blanc: #FFFFFF;
  --pp-creme: #F6F1E9;
  --pp-champagne: #F1E7D6;
  --pp-filet: #ECE5DA;
  --pp-filet-fort: #DED3C3;
  --pp-ombre: 0 1px 2px rgba(43, 42, 39, .04), 0 18px 40px -28px rgba(43, 42, 39, .28);
  --pp-bleu: #7DA2CC;
  --pp-rose: #D98AA3;
  --pp-r-l: 20px;
  --pp-r-m: 14px;
  --pp-r-s: 10px;
  max-width: 1060px; margin: 0 auto; padding: 0 var(--gouttiere) clamp(72px, 8vw, 110px); box-sizing: content-box;
  color: var(--texte);}
.v2 .pp h1, .v2 .pp h2 {letter-spacing: -.02em; font-weight: 600;}
.v2 .pp h1 span, .v2 .pp h2 span {display: inline; font-weight: inherit;}
.v2 .pp em {font-family: var(--police-script); font-style: normal; font-weight: 400; color: var(--accent); font-size: 1.6em; line-height: 0; letter-spacing: 0; padding: 0 .06em 0 .02em; position: relative; top: .06em;}
.v2 .pp svg {fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round;}
.v2 .pp-ariane {display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 22px 0 18px; font-size: 12.5px; color: var(--sourdine);}
.v2 .pp-ariane span {color: var(--pp-filet-fort);}
.v2 .pp-ariane a {transition: color .2s;}
.v2 .pp-ariane a:hover {color: var(--texte);}
.v2 .pp-ariane em {font-family: inherit; font-size: inherit; color: var(--texte); top: 0; padding: 0; line-height: inherit;}
.v2 .pp-grille {display: grid; grid-template-columns: minmax(0, 1fr) 350px; column-gap: clamp(24px, 3.4vw, 44px); row-gap: 14px; align-items: start;}
.v2 .pp-galerie, .v2 .pp-bloc {grid-column: 1;}
.v2 .pp-resume {grid-column: 2; grid-row: 1 / span 6; display: flex; flex-direction: column; gap: 12px;}
.v2 .pp-photo-cadre, .v2 .pp-vignette, .v2 .pp-couleur-img {background: var(--pp-creme);}
.v2 .pp-photo-cadre img, .v2 .pp-vignette img, .v2 .pp-couleur-img img {mix-blend-mode: multiply;}
.v2 .pp-photo-cadre {margin: 0; border-radius: var(--pp-r-l); overflow: hidden;}
.v2 .pp-photo {display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover;}
.v2 .pp-vignettes {display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 8px;}
.v2 .pp-vignette {padding: 0; border: 0; border-radius: var(--pp-r-m); overflow: hidden; cursor: pointer; position: relative;}
.v2 .pp-vignette img {display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s ease;}
.v2 .pp-vignette::after {content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 0 var(--texte); transition: box-shadow .25s;}
.v2 .pp-vignette.actif::after {box-shadow: inset 0 0 0 2px var(--texte);}
.v2 .pp-vignette:hover img {transform: scale(1.04);}
.v2 .pp-bloc {background: var(--pp-blanc); border: 1px solid var(--pp-filet); border-radius: var(--pp-r-l); padding: 20px 22px 22px; box-shadow: var(--pp-ombre);}
.v2 .pp-bloc-tete {display: flex; align-items: center; gap: 12px; margin-bottom: 16px;}
.v2 .pp-bloc-tete h2 {font-size: 17px; line-height: 1.35;}
.v2 .pp-num {flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--accent); color: var(--accent); font-size: 12px; font-weight: 500;}
.v2 .pp-choix-couleur {display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;}
.v2 .pp-couleur {display: flex; flex-direction: column; gap: 0; padding: 6px; text-align: left; font: inherit; color: inherit; cursor: pointer; background: var(--pp-blanc); border: 1px solid var(--pp-filet); border-radius: var(--pp-r-m); transition: border-color .25s, box-shadow .25s, transform .25s;}
.v2 .pp-couleur:hover {border-color: var(--pp-filet-fort); transform: translateY(-2px);}
.v2 .pp-couleur.actif {border-color: var(--texte); box-shadow: 0 0 0 1px var(--texte);}
.v2 .pp-couleur-img {position: relative; display: block; border-radius: var(--pp-r-s); overflow: hidden;}
.v2 .pp-couleur-img img {display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover;}
.v2 .teinte-rose::before, .v2 .teinte-bleu::before {content: ""; position: absolute; inset: 0; z-index: 1; mix-blend-mode: multiply;}
.v2 .teinte-rose::before {background: linear-gradient(160deg, rgba(217,138,163,.0) 30%, rgba(217,138,163,.35));}
.v2 .teinte-bleu::before {background: linear-gradient(160deg, rgba(125,162,204,.0) 30%, rgba(125,162,204,.35));}
.v2 .pp-secrete {aspect-ratio: 16 / 10; display: grid; place-items: center; background: radial-gradient(circle at 30% 20%, #F3E7CF 0%, #E2CC9F 45%, #C3A46A 100%);}
.v2 .pp-secrete-signe {font-family: var(--police-script); font-size: 86px; line-height: 1; color: rgba(255, 255, 255, .92); margin-top: 18px;}
.v2 .pp-coche {position: absolute; z-index: 2; top: 7px; right: 7px; width: 20px; height: 20px; border-radius: 50%; background: var(--texte); color: var(--blanc); display: grid; place-items: center; opacity: 0; transform: scale(.6); transition: opacity .25s, transform .25s;}
.v2 .pp-coche svg {width: 12px; height: 12px; stroke-width: 2.2;}
.v2 .pp-couleur.actif .pp-coche {opacity: 1; transform: scale(1);}
.v2 .pp-couleur-txt {display: flex; flex-direction: column; padding: 9px 6px 4px;}
.v2 .pp-couleur-nom {font-size: 14.5px; font-weight: 600; letter-spacing: -.01em;}
.v2 .pp-couleur-sous {font-size: 12px; color: var(--sourdine);}
.v2 .pp-option-bloc .pp-bloc-tete h2 {font-size: 17px;}
.v2 .pp-option {display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 14px; padding: 14px 16px; border-radius: var(--pp-r-m); background: var(--pp-champagne); cursor: pointer; transition: background .25s;}
.v2 .pp-option:hover {background: #EEE2CD;}
.v2 .pp-option-icone {display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--pp-blanc); color: var(--accent); font-size: 15px; font-weight: 600; letter-spacing: -.02em; box-shadow: 0 6px 16px -10px rgba(43,42,39,.4);}
.v2 .pp-option-titre {display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 14.5px; font-weight: 600; margin-bottom: 4px;}
.v2 .pp-option-badge {font-size: 10.5px; font-weight: 500; letter-spacing: .02em; color: #5D6C57; background: rgba(255, 255, 255, .7); border-radius: 999px; padding: 3px 10px;}
.v2 .pp-option-desc {display: block; font-size: 13px; line-height: 1.55; color: rgba(43, 42, 39, .7); max-width: 460px;}
.v2 .pp-option-action {display: flex; flex-direction: column; align-items: flex-end; gap: 10px;}
.v2 .pp-option-prix {font-size: 14.5px; font-weight: 600; white-space: nowrap;}
.v2 .pp-interrupteur {appearance: none; -webkit-appearance: none; margin: 0; width: 40px; height: 23px; border-radius: 999px; background: #D8CFC2; position: relative; cursor: pointer; transition: background .25s;}
.v2 .pp-interrupteur::after {content: ""; position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: var(--blanc); box-shadow: 0 2px 6px rgba(0,0,0,.15); transition: transform .25s;}
.v2 .pp-interrupteur:checked {background: var(--texte);}
.v2 .pp-interrupteur:checked::after {transform: translateX(17px);}
.v2 .pp-interrupteur:focus-visible {outline: 2px solid var(--accent); outline-offset: 3px;}
.v2 .pp-calendrier {padding: 0;}
.v2 .pp-cal-tete {display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px;}
.v2 .pp-cal-mois {font-size: 14px; font-weight: 600;}
.v2 .pp-cal-nav {display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--pp-filet); background: var(--pp-blanc); color: var(--texte); cursor: pointer; transition: background .2s, border-color .2s;}
.v2 .pp-cal-nav:hover {background: var(--pp-creme); border-color: var(--pp-filet-fort);}
.v2 .pp-cal-nav svg {width: 13px; height: 13px; stroke-width: 1.8;}
.v2 .pp-cal-grille {display: grid; grid-template-columns: repeat(7, 1fr); row-gap: 2px; justify-items: center;}
.v2 .pp-jour-nom {font-size: 10.5px; color: var(--sourdine); padding: 4px 0 6px;}
.v2 .pp-jour {width: 34px; height: 34px; border-radius: 50%; border: 0; background: transparent; font: inherit; font-size: 13px; color: var(--texte); cursor: pointer; transition: background .2s, color .2s;}
.v2 .pp-jour:hover {background: var(--pp-champagne);}
.v2 .pp-jour.complet {color: #BDB4A7; text-decoration: line-through; text-decoration-color: rgba(43,42,39,.35); cursor: not-allowed; background: repeating-linear-gradient(135deg, transparent 0 5px, rgba(43,42,39,.05) 5px 6px);}
.v2 .pp-jour.complet:hover {background: repeating-linear-gradient(135deg, transparent 0 5px, rgba(43,42,39,.05) 5px 6px);}
.v2 .pp-jour.choisi {background: var(--texte); color: var(--blanc); font-weight: 600;}
.v2 .pp-legende {display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--pp-filet); font-size: 11.5px; color: var(--sourdine);}
.v2 .pp-legende li {display: flex; align-items: center; gap: 8px;}
.v2 .pp-leg {width: 10px; height: 10px; border-radius: 50%;}
.v2 .pp-leg-dispo {border: 1px solid var(--pp-filet-fort);}
.v2 .pp-leg-complet {background: repeating-linear-gradient(135deg, #fff 0 2px, #CFC5B7 2px 3px); border: 1px solid #CFC5B7;}
.v2 .pp-leg-choisi {background: var(--texte);}
.v2 .pp-infos {background: var(--pp-champagne); border-color: transparent; box-shadow: none; padding: 18px 22px 20px;}
.v2 .pp-infos-sur, .v2 .pp-marche-sur {font-family: var(--police-label); font-weight: 500; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); margin: 0 0 12px;}
.v2 .pp-infos-liste {display: grid; grid-template-columns: 1fr 1fr; gap: 8px 22px;}
.v2 .pp-infos-liste li {position: relative; padding-left: 24px; font-size: 13.5px;}
.v2 .pp-infos-liste li::before {content: ""; position: absolute; left: 0; top: 2px; width: 15px; height: 15px; border-radius: 50%; background: var(--pp-blanc) 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.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center / 11px no-repeat;}
.v2 .pp-infos-large {grid-column: 1 / -1; font-weight: 500;}
.v2 .pp-resume .pp-infos-liste {grid-template-columns: 1fr; gap: 7px;}
.v2 .pp-marche {text-align: center; padding: 20px 22px 22px;}
.v2 .pp-marche-sur {display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 6px;}
.v2 .pp-marche-sur::before, .v2 .pp-marche-sur::after {content: ""; width: 28px; height: 1px; background: var(--accent);}
.v2 .pp-marche h2 {font-size: 19px; margin-bottom: 18px;}
.v2 .pp-etapes {display: grid; grid-template-columns: repeat(3, 1fr); position: relative;}
.v2 .pp-etapes::before {content: ""; position: absolute; top: 19px; left: 17%; right: 17%; border-top: 1px dashed var(--pp-filet-fort);}
.v2 .pp-etapes li {position: relative; display: flex; flex-direction: column; align-items: center; gap: 9px;}
.v2 .pp-etape-num {display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--pp-blanc); border: 1px solid var(--accent); color: var(--accent); font-size: 12.5px; font-weight: 500; box-shadow: 0 0 0 6px var(--pp-blanc);}
.v2 .pp-etape-txt {font-size: 13px; font-weight: 500; max-width: 150px; line-height: 1.35;}
.v2 .pp-resa {background: var(--pp-blanc); border: 1px solid var(--pp-filet); border-radius: var(--pp-r-l); box-shadow: var(--pp-ombre); overflow: hidden;}
.v2 .pp-resa-tete {padding: 18px 20px 16px; background: linear-gradient(160deg, #F6EEDF 0%, var(--pp-champagne) 100%);}
.v2 .pp-resa-sur {display: flex; align-items: center; justify-content: space-between; gap: 12px; font-family: var(--police-label); font-weight: 500; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--accent);}
.v2 .pp-pastille {font-family: var(--police-texte); font-size: 10.5px; letter-spacing: .04em; text-transform: none; font-weight: 500; color: #5D6C57; background: rgba(255, 255, 255, .75); border-radius: 999px; padding: 4px 11px;}
.v2 .pp-resa-tete h1 {font-size: 21px; line-height: 1.2; margin: 10px 0 6px;}
.v2 .t-bleu {color: var(--pp-bleu);}
.v2 .t-rose {color: var(--pp-rose);}
.v2 .pp-resa-chapo {margin: 0; font-size: 12.5px; color: rgba(43, 42, 39, .65);}
.v2 .pp-resa-choix {margin: 0; padding: 12px 20px 10px;}
.v2 .pp-resa-choix div {display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 4px 0;}
.v2 .pp-resa-choix dt {font-size: 12.5px; color: var(--sourdine);}
.v2 .pp-resa-choix dd {margin: 0; display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 500; text-align: right;}
.v2 .pp-resa-choix dd.pp-attente {font-weight: 400; font-style: italic; color: var(--accent);}
.v2 .pp-puce-couleur {width: 10px; height: 10px; border-radius: 50%; background: var(--pp-rose); box-shadow: 0 0 0 3px rgba(0,0,0,.04);}
.v2 .pp-resa-lignes {margin: 0 20px; padding: 10px 0; border-top: 1px solid var(--pp-filet); border-bottom: 1px solid var(--pp-filet);}
.v2 .pp-resa-lignes div {display: flex; justify-content: space-between; padding: 3px 0; font-size: 12.5px; color: var(--sourdine);}
.v2 .pp-resa-lignes small {font-size: 11.5px;}
.v2 .pp-resa-lignes div span:last-child {color: var(--texte); font-variant-numeric: tabular-nums;}
.v2 .pp-resa-lignes div.cache {display: none;}
.v2 .pp-resa-total {padding: 12px 20px 16px;}
.v2 .pp-total-ligne {display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px;}
.v2 .pp-total-label {font-size: 13.5px; font-weight: 600;}
.v2 .pp-total-label small {font-weight: 400; color: var(--sourdine);}
.v2 .pp-total-prix {font-size: 25px; font-weight: 600; letter-spacing: -.03em; font-variant-numeric: tabular-nums;}
.v2 .pp-bouton {display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; border: 0; cursor: pointer; background: var(--texte); color: var(--blanc); font: inherit; font-size: 14px; font-weight: 600; padding: 12px 20px; border-radius: 999px; transition: background .25s, transform .25s;}
.v2 .pp-bouton:hover {background: #3D3B37; transform: translateY(-1px);}
.v2 .pp-bouton-fleche {display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--accent); color: var(--blanc); font-size: 12px; transition: transform .25s;}
.v2 .pp-bouton:hover .pp-bouton-fleche {transform: translateX(3px);}
.v2 .pp-mention {margin: 9px 0 0; text-align: center; font-size: 11.5px; color: var(--sourdine);}
.v2 .pp-mention span {color: var(--accent); margin: 0 6px;}
.v2 .pp-garanties {display: grid; grid-template-columns: repeat(3, 1fr); background: var(--fond); border-top: 1px solid var(--pp-filet);}
.v2 .pp-garanties li {display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 11px 4px 10px; font-size: 11px; font-weight: 500; text-align: center; color: var(--texte);}
.v2 .pp-garanties li + li {border-left: 1px solid var(--pp-filet);}
.v2 .pp-garanties svg {width: 17px; height: 17px; color: var(--accent);}
.v2 .pp-mini {display: grid; grid-template-columns: repeat(3, 1fr); background: var(--pp-blanc); border: 1px solid var(--pp-filet); border-radius: var(--pp-r-m);}
.v2 .pp-mini li {display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 6px; text-align: center; font-size: 11px; color: var(--sourdine);}
.v2 .pp-mini li + li {border-left: 1px solid var(--pp-filet);}
.v2 .pp-mini svg {width: 16px; height: 16px; color: var(--accent);}
.v2 .pp-mini span {display: flex; flex-direction: column; gap: 1px;}
.v2 .pp-mini strong {color: var(--texte); font-size: 12px; font-weight: 600;}
@media (max-width: 1024px) {
.v2 .pp-grille {display: flex; flex-direction: column; gap: 12px;}
.v2 .pp-galerie {order: 1;}
.v2 .pp-marche {order: 2;}
.v2 .pp-couleurs {order: 3;}
.v2 .pp-option-bloc {order: 4;}
.v2 .pp-resume {order: 5;}
.v2 .pp-resume .pp-dispo {order: -1;}
}
@media (max-width: 640px) {
.v2 .pp {padding: 0 12px 64px;}
.v2 .pp-ariane {padding: 16px 4px 14px; font-size: 12px;}
.v2 .pp-vignettes {gap: 6px; margin-top: 6px;}
.v2 .pp-bloc {padding: 18px 14px 18px;}
.v2 .pp-choix-couleur {gap: 6px;}
.v2 .pp-couleur {padding: 4px;}
.v2 .pp-couleur-txt {padding: 8px 4px 3px;}
.v2 .pp-couleur-nom {font-size: 13.5px;}
.v2 .pp-couleur-sous {font-size: 11px;}
.v2 .pp-option {grid-template-columns: 40px 1fr; padding: 14px; gap: 12px;}
.v2 .pp-option-icone {width: 40px; height: 40px; font-size: 14px;}
.v2 .pp-option-action {grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; padding-top: 10px; border-top: 1px solid rgba(43,42,39,.1);}
.v2 .pp-jour {width: 36px; height: 36px;}
.v2 .pp-infos-liste {grid-template-columns: 1fr;}
.v2 .pp-etape-txt {font-size: 12px;}
}
.v2 .pp-secrete-signe {font-family: var(--police-titres); font-weight: 300; font-size: 44px; margin-top: 0; letter-spacing: -.04em; text-shadow: 0 6px 24px rgba(120, 90, 40, .25);}
@media (max-width: 640px) {
.v2 .pp-secrete-signe {font-size: 34px;}
}
.v2 .pp-photo-cadre img.pp-photo-reelle {mix-blend-mode: normal; object-position: 50% 62%;}
.v2 .pp-vignettes-5 {grid-template-columns: repeat(5, 1fr);}
.v2 .pp-vignette img.pp-photo-reelle {mix-blend-mode: normal;}
.v2 .pp-vignette video {display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; pointer-events: none;}
.v2 .pp-lecture {position: absolute; right: 6px; bottom: 6px; width: 20px; height: 20px; border-radius: 50%; background: rgba(255,255,255,.88); box-shadow: 0 2px 6px rgba(0,0,0,.18);}
.v2 .pp-lecture::before {content: ""; position: absolute; left: 7.5px; top: 5.5px; border-style: solid; border-width: 4.5px 0 4.5px 7px; border-color: transparent transparent transparent var(--texte);}
.v2 .pp-photo-cadre .pp-video {display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: contain; background: var(--sombre);}
.v2 .pp-photo-cadre .pp-video[hidden], .v2 .pp-photo-cadre .pp-photo[hidden] {display: none;}
@media (max-width: 640px) {
.v2 .pp-vignettes-5 {grid-template-columns: repeat(5, 1fr); gap: 5px;}
}
.v2 .pp-vignettes-video {grid-template-columns: repeat(4, 1fr);}
.v2 .pp-vignettes-video .pp-vignette video {aspect-ratio: 3 / 4;}
@media (max-width: 640px) {
.v2 .pp-vignettes-video {gap: 6px;}
}
.v2 .pp-vignette-video {cursor: default;}
.v2 .pp-vignette-video::after {display: none;}
.v2 .pp-galerie:has(.pp-vignettes-video) .pp-photo {aspect-ratio: 3 / 2;}
.v2 .pp-galerie:has(.pp-vignettes-video) .pp-photo-cadre img.pp-photo-reelle {object-position: 50% 90%;}
.v2 .pp-vignettes-video {gap: 20px; margin-top: 20px;}
.v2 .pp-vignettes-video .pp-vignette {border-radius: var(--pp-r-l);}
.v2 .pp-vignettes-video .pp-vignette video {aspect-ratio: 9 / 16;}
@media (max-width: 640px) {
.v2 .pp-vignettes-video {gap: 8px; margin-top: 8px;}
}
.v2 .pp-couleur-photo img {aspect-ratio: 7 / 5; mix-blend-mode: normal; object-position: 50% 78%;}
.v2 .pp-couleurs .pp-secrete {aspect-ratio: 7 / 5; background: linear-gradient(135deg, #E6C886 0%, #CDAE6E 50%, #A98A55 100%);}
.v2 .pp-couleurs .pp-secrete-signe {font-family: var(--police-titres); font-weight: 700; font-size: 46px; letter-spacing: .04em; color: #FFFFFF; text-shadow: 0 4px 18px rgba(90, 65, 25, .25);}
.v2 .pp-couleurs .pp-couleur {padding: 0; overflow: hidden;}
.v2 .pp-couleurs .pp-couleur-img {border-radius: 0;}
.v2 .pp-couleurs .pp-couleur-txt {padding: 10px 14px 12px;}
.v2 .pp-couleurs .pp-couleur-sous {text-transform: uppercase; letter-spacing: .06em; font-size: 11px;}
.v2 .pp-couleurs .pp-coche {top: 8px; right: 8px;}
@media (max-width: 640px) {
.v2 .pp-couleurs .pp-couleur {padding: 0;}
.v2 .pp-couleurs .pp-couleur-txt {padding: 8px 9px 9px;}
.v2 .pp-couleurs .pp-secrete-signe {font-size: 30px;}
}
.v2 .pp-secrete {position: relative; overflow: hidden;}
.v2 .pp-secrete-lettre {position: absolute; left: 50%; top: 50%; width: 30px; height: 30px; margin: -15px 0 0 -15px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.95); box-shadow: 0 6px 16px rgba(90,65,25,.25); animation: pp-lettre 4.5s ease-in-out infinite;}
.v2 .pp-secrete-lettre svg {width: 17px; height: 17px; fill: none; stroke: #A98A55; stroke-width: 1.6; stroke-linejoin: round;}
@keyframes pp-lettre {
  0% { transform: translate(-90px, 40px) scale(.6) rotate(-12deg); opacity: 0; }
  15% { opacity: 1; }
  45% { transform: translate(0, -34px) scale(1) rotate(0); opacity: 1; }
  70% { transform: translate(70px, -60px) scale(.75) rotate(10deg); opacity: 1; }
  85%, 100% { transform: translate(110px, -80px) scale(.5) rotate(14deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
.v2 .pp-secrete-lettre {animation: none; transform: translate(0, -34px);}
}
.v2 .pp-secret-info {display: none; margin-top: 12px; padding: 14px 16px; border-radius: var(--pp-r-m); background: linear-gradient(135deg, #FBF5E8, #F4E9D2); border: 1px solid #E8D6AE; animation: pp-secret-ouvre .35s ease;}
.v2 .pp-couleurs:has(.pp-couleur[data-couleur="Secrète"].actif) .pp-secret-info {display: block;}
@keyframes pp-secret-ouvre { from { opacity: 0; transform: translateY(-6px); } }
.v2 .pp-secret-titre {margin: 0 0 8px; font-weight: 600; font-size: 14px;}
.v2 .pp-secret-etapes {display: grid; gap: 6px;}
.v2 .pp-secret-etapes li {display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; color: rgba(43,42,39,.82);}
.v2 .pp-secret-etapes li > span {flex: none; display: grid; place-items: center; width: 20px; height: 20px; margin-top: 1px; border-radius: 50%; background: #A98A55; color: #FFFFFF; font-size: 11px; font-weight: 700;}
.v2 .pp-secret-etapes a {font-weight: 600; border-bottom: 1px solid #A98A55;}
.v2 .pp-secret-etapes li > span.pp-secret-txt {display: block; width: auto; height: auto; margin: 0; border-radius: 0; background: none; color: inherit; font-size: inherit; font-weight: 400;}
.v2 .pp-secret-etapes li > span.pp-secret-txt b {font-weight: 600;}
.v2 .pp-secret-etapes li > span.pp-secret-txt {flex: 1; min-width: 0; white-space: normal; overflow-wrap: anywhere;}
.v2 .pp-secret-info {white-space: normal;}
.v2 .pp-jour.passe {opacity: .3; cursor: default;}
.v2 .pp-cal-nav:disabled {opacity: .3; cursor: default;}
