/* ===== Overrides TVA — retouches DA + corrections. Chargé en DERNIER. ===== */

/* Sidebar « Affiner la recherche » : suit au scroll (desktop ≥ 981px).
   La version mobile (drawer position:fixed) reste intacte. */
@media (min-width: 981px) {
  .r-aside {
    position: sticky !important;
    top: 16px;
    align-self: flex-start;
    max-height: calc(100vh - 32px);
    overflow: auto;
  }
}

/* Carte résultat : la description réelle est longue (500 mots) — on la borne à
   3 lignes pour ne pas étirer la carte ni écraser la photo. */
.r-card-desc {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


/* Icônes d'étapes (Comment ça marche / De la visite à la confirmation) :
   illustrations faites main remplacées par un jeu Lucide homogène, à l'or de la charte. */
.step-art svg.step-ic{
  width: 60px; height: 60px;
  stroke: #ab8846; stroke-width: 1.5;
  fill: none; stroke-linecap: round; stroke-linejoin: round;
}

/* ===== Slider deals → vraie courbe de prix dégressif (price-curve.js) ===== */
.price-play-demo .pc{display:flex;flex-direction:column;gap:14px}
.pc-top{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;
  letter-spacing:.06em;text-transform:uppercase}
.pc-venue{color:#a6813c;font-weight:600}
.pc-day{position:absolute;transform:translate(-45%,18px) rotate(-4deg);font-size:13px;color:#8a8374;white-space:nowrap;pointer-events:none}
.pc-price{font-family:Gar,Georgia,serif;font-size:54px;line-height:1;color:#1a1710;letter-spacing:.01em}
.pc-price b{font-weight:500}
.pc-chart{width:100%;height:auto;display:block;overflow:visible}
.pc-area{stroke:none}
.pc-line{fill:none;stroke:#b7954f;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.pc-guide{stroke:#caa86a;stroke-width:1;stroke-dasharray:3 4;opacity:.65}
.pc-dot{fill:#fff;stroke:#a6813c;stroke-width:3;filter:drop-shadow(0 2px 3px rgba(0,0,0,.18));transition:cx .12s ease,cy .12s ease}
.pc-range{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;
  background:linear-gradient(90deg,#b7954f,#e7dabb);outline:none;margin:2px 0 0}
.pc-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;
  border-radius:50%;background:#fff;border:3px solid #a6813c;box-shadow:0 2px 7px rgba(0,0,0,.22);cursor:pointer;transition:transform .12s ease}
.pc-range::-webkit-slider-thumb:hover{transform:scale(1.08)}
.pc-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;
  border:3px solid #a6813c;box-shadow:0 2px 7px rgba(0,0,0,.22);cursor:pointer}
.pc-ends{display:flex;justify-content:space-between;font-size:12px;color:#8a8374}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .pc-price{color:#f4ecdc}
}

/* ===== Enveloppe « deals du jeudi » : re-skin DA crème/or + sophistication ===== */
/* Scène : halo crème (plus de rose terracotta). */
.invitation-scene{background:radial-gradient(ellipse at 48% 55%,#f3ead6 0%,#faf6ee 54%,rgba(250,246,238,0) 74%)!important}
.invitation-date{color:#8a6f3c!important}
.invitation-copy h2 em{color:#bd974e!important}

/* Corps de l'enveloppe : papier crème, ombres réalistes, fin liseré doré. */
.invitation-envelope-back{
  background:linear-gradient(160deg,#f4ecda,#e8ddc4)!important;
  border:1px solid #e3d7bd!important;
  box-shadow:0 24px 46px rgba(92,70,28,.20), inset 0 1px 0 #fffdf6!important}
.invitation-envelope-back::before{background:linear-gradient(#efe4c6,#e3d3a6)!important} /* rabat arrière */

/* Cartes papier qui sortent : crème chaud, ombre douce. */
.invitation-card{background:#fffdf7!important;border:1px solid #efe7d4!important;
  box-shadow:0 7px 18px rgba(84,62,24,.20)!important}
.invitation-card>span{color:#7a6a4a!important}

/* Devant + intérieur du rabat (liner doré clair). */
.invitation-envelope-front{background:linear-gradient(150deg,#f7f0e0,#ebdfc5)!important}
.invitation-envelope-front::after{background:linear-gradient(#f3ead4,#e7dabb)!important}

/* Sceau de cire doré embossé — le point focal premium. */
.invitation-seal{
  width:62px!important;height:62px!important;top:39%!important;left:41%!important;
  background:radial-gradient(circle at 36% 30%,#dcb964,#b08a3d 52%,#8a6a2d)!important;
  color:#fff6de!important;border:2px solid #e8cd8a!important;
  box-shadow:0 6px 13px rgba(78,52,14,.42),
             inset 0 2px 4px rgba(255,242,205,.55),
             inset 0 -3px 7px rgba(92,62,16,.55)!important;
  text-shadow:0 1px 1px rgba(92,62,16,.6)!important;
  font:italic 23px/1 Gar,Georgia,serif!important}

/* Bouton deals : terracotta → or de la charte (comme le bouton hero). */
.invitation-copy .pill{
  background:linear-gradient(135deg,#caa862,#b0863a)!important;
  color:#201a0d!important;border-color:transparent!important;
  box-shadow:0 6px 16px rgba(120,92,30,.28)!important}

/* Courbe de prix — enrichissements : lueur dorée, repères de jours, économie live. */
.pc-pricerow{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pc-save{font-size:12px;letter-spacing:.03em;color:#9a8b6a;display:inline-flex;align-items:baseline;gap:6px;
  padding:5px 12px;border:1px solid #e7dcc2;border-radius:999px;background:#fbf7ee;opacity:.65;transition:opacity .2s,border-color .2s}
.pc-save.is-on{opacity:1;border-color:#d9c48c}
.pc-save span{text-transform:uppercase;font-size:10px;letter-spacing:.08em;color:#b0a079}
.pc-save b{font-family:Gar,Georgia,serif;font-size:19px;color:#9a6c1f;font-weight:500}
.pc-tick{stroke:#cbb88c;stroke-width:1}
.pc-tklab{fill:#a99a78;font-size:11px;font-family:Inter,Arial,sans-serif;letter-spacing:.04em}
.pc-line{fill:none;stroke:#b7954f;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* Pagination compacte : points de suspension entre les groupes de pages. */
.pager-dots{display:inline-flex;align-items:flex-end;justify-content:center;
  min-width:30px;padding:0 2px;color:#b3a584;font-size:19px;line-height:44px;
  letter-spacing:2px;user-select:none;align-self:center}

/* Marqueurs dorés posés sur la courbe lisse. */
.pc-mark{fill:#fffdf8;stroke:#b7954f;stroke-width:1.8}
.pc-area{opacity:.9}

/* Aligner les boutons « Découvrir ce lieu » en bas des cartes (hauteurs de contenu variables). */
.cards{align-items:stretch}
.card{display:flex;flex-direction:column;height:100%}
.card .cardbtn{margin-top:auto}

/* Mode sombre : le halo crème de la scène enveloppe ressortait en blanc. On le retire
   (l'enveloppe porte ses propres ombres) — propre en clair comme en sombre. */
.invitation-scene{background:none!important}

/* cardbody en colonne flex pour pousser le bouton tout en bas (cartes à hauteur égale). */
.card .cardbody{display:flex;flex-direction:column;flex:1 1 auto}
.card .cardbody .cardbtn{margin-top:auto}

/* ===== Slider deals — avion + tracé (refait propre, DA) ===== */
.pc-flight{display:flex;flex-direction:column;gap:12px}
.pc-flight .pc-top{display:flex;justify-content:space-between;align-items:center}
.pc-flight .pc-venue{color:#a6813c;font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.pc-save-pill{font-size:11px;color:#9a8b6a;display:inline-flex;align-items:baseline;gap:6px;padding:5px 12px;border:1px solid #e7dcc2;border-radius:999px;background:#fbf7ee;opacity:.6;transition:opacity .2s,border-color .2s}
.pc-save-pill.is-on{opacity:1;border-color:#d9c48c}
.pc-save-pill span{text-transform:uppercase;font-size:10px;letter-spacing:.07em;color:#b0a079}
.pc-save-pill b{font-family:Gar,Georgia,serif;font-size:17px;color:#9a6c1f;font-weight:500}
.pc-sky{position:relative;width:100%;aspect-ratio:600/170;margin:2px 0}
.pc-sky-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pc-ribbon{fill:none;stroke:#f1e6cc;stroke-width:12;stroke-linecap:round;opacity:.6}
.pc-trail{fill:none;stroke:#bfa15a;stroke-width:2;stroke-linecap:round;stroke-dasharray:1 9}
.pc-plane path{stroke:#9c7a33;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;fill:#fffdf7;filter:drop-shadow(0 2px 2px rgba(120,90,30,.25))}
.pc-plane path[fill="none"]{fill:none;filter:none}
.pc-day{position:absolute;left:2%;top:-2%;font-size:13px;color:#8a8374;white-space:nowrap;pointer-events:none}
.pc-flight .pc-price{margin:0;font-family:Gar,Georgia,serif;font-size:clamp(44px,6vw,62px);line-height:1;color:#1a1710;text-align:center}
.pc-flight .pc-price b{font-weight:500}
.pc-slider-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#a6813c;margin-top:2px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pc-flight .pc-price{color:#f4ecdc}}

/* Cartes sélection : prix agrandis + lisibles. */
.selection .cards .pricing strong{font-family:Gar,Georgia,serif;font-size:33px;font-weight:500;color:#1a1710;display:block;line-height:1.1;margin-top:4px}
.selection .cards .pricing{margin-bottom:16px}
.selection .cards .card .cardbtn{margin-top:auto;padding-top:14px;padding-bottom:14px}
.selection .cards .pricing small{color:#8a8374;font-size:12px}
.selection .cards .pricing .sur-demande{font-size:19px;color:#a6813c}
.selection .cards .card .photo{min-height:230px}

/* Nouvelles icônes 3D or (étapes Comment ça marche) posées dans l'arche. */
.step-art img.step-ic-img{width:auto;max-width:94px;max-height:88px;height:auto;display:block;margin:auto;filter:drop-shadow(0 3px 5px rgba(120,90,30,.16))}



/* 4 icônes au trait restantes (Visite/Conditions/Paiement/Contrat) : faute d'assets 3D,
   on les rapproche du style or des 3 nouvelles — tout en or + léger relief. */
.step-art svg .dark{stroke:#9c7a33}
.step-art svg .gold{stroke:#9c7a33}
.step-art svg{filter:drop-shadow(0 4px 7px rgba(120,90,30,.18))}

/* ===== Cœur favori : vrai cœur SVG premium (fini le ♡ fin) ===== */
.heart{font-size:0!important;background:#fffdf7f2!important;box-shadow:0 3px 10px rgba(80,60,25,.2);transition:transform .15s ease,box-shadow .2s ease,background .2s ease}
.heart:hover{transform:scale(1.1);box-shadow:0 6px 15px rgba(80,60,25,.28)}
.heart::before{content:"";display:block;width:19px;height:19px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a7b43' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E") center/contain no-repeat}
.heart[aria-pressed="true"]{background:#fff!important}
.heart[aria-pressed="true"]::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23b0455b' stroke='none'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E") center/contain no-repeat;animation:heartpop .3s ease}
@keyframes heartpop{0%{transform:scale(.7)}55%{transform:scale(1.28)}100%{transform:scale(1)}}
