
/* ---------- page tarifs ---------- */
.sp .pc-hero{grid-template-columns:1fr;padding-bottom:4px;}
.sp .pc-hero .sub{max-width:620px;}
.sp .pc-wrap{padding-top:26px;}
.sp .pc-sr{position:absolute;left:-9999px;}
.sp .pc-bar{border:0;padding:0;margin:0 0 30px;}
.sp .pc-bar-in{display:grid;grid-template-columns:auto auto minmax(260px,1fr);gap:26px 34px;
  align-items:start;background:#fff;border:1px solid rgba(31,31,31,.10);border-radius:18px;padding:20px 24px;}
.sp .pc-ctl{display:flex;flex-direction:column;gap:9px;min-width:0;align-items:flex-start;}  /* les contrôles gardent leur largeur naturelle, ils ne s'étirent pas */
.sp .pc-ctl-label{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6b7075;}

/* sélecteur mensuel / annuel */
.sp .pc-seg{display:inline-flex;background:#f2f3f5;border-radius:999px;padding:4px;gap:4px;height:48px;align-items:center;}
.sp .pc-seg label{position:relative;display:inline-flex;align-items:center;height:100%;}
.sp .pc-seg input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.sp .pc-seg span{display:inline-flex;align-items:center;gap:7px;height:100%;padding:0 18px;border-radius:999px;font-size:14.5px;color:#494e52;transition:background .16s ease,color .16s ease;}
.sp .pc-seg em{font-style:normal;font-size:12px;font-weight:600;color:#cd3900;}
.sp .pc-seg input:checked + span{background:#fff;color:#1f1f1f;box-shadow:0 1px 3px rgba(20,20,20,.14);}
.sp .pc-seg input:focus-visible + span{outline:2px solid #da3d00;outline-offset:2px;}

/* compteurs à boutons */
.sp .pc-step{display:inline-flex;align-items:center;height:48px;background:#fff;border:1px solid rgba(31,31,31,.16);border-radius:12px;overflow:hidden;}
.sp .pc-step-btn{width:42px;height:100%;border:0;background:none;color:#494e52;font-size:20px;line-height:1;cursor:pointer;transition:background .14s ease,color .14s ease;}
.sp .pc-step-btn:hover{background:rgba(31,31,31,.05);color:#1f1f1f;}
.sp .pc-step-btn:focus-visible{outline:2px solid #da3d00;outline-offset:-2px;}
.sp .pc-step-btn:disabled{color:#8e9398;cursor:default;background:none;}  /* bouton inactif : exempté du seuil WCAG, mais gardé lisible (3,2:1) */
.sp .pc-step input{width:66px;height:100%;border:0;text-align:center;font:inherit;font-size:16.5px;color:#1f1f1f;background:none;-moz-appearance:textfield;}
.sp .pc-step input::-webkit-outer-spin-button,.sp .pc-step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.sp .pc-step input:focus-visible{outline:2px solid #da3d00;outline-offset:-2px;border-radius:4px;}

/* curseur : la piste se remplit jusqu'à la valeur (variable --pct posée par le JS) */
.sp .pc-ctl--rooms{min-width:0;align-self:stretch;align-items:stretch;}  /* seule cette colonne s'étire : son curseur a besoin de la place restante */
.sp .pc-rooms-row{display:flex;align-items:center;gap:18px;min-width:0;}
.sp .pc-slider{flex:1;min-width:120px;display:flex;flex-direction:column;gap:5px;}
.sp .pc-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;margin:0;
  background:linear-gradient(to right,#da3d00 var(--pct,0%),rgba(31,31,31,.14) var(--pct,0%));cursor:pointer;}
.sp .pc-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#da3d00;border:3px solid #fff;box-shadow:0 1px 4px rgba(20,20,20,.28);cursor:grab;}
.sp .pc-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#da3d00;border:3px solid #fff;box-shadow:0 1px 4px rgba(20,20,20,.28);cursor:grab;}
.sp .pc-range:focus-visible{outline:2px solid #da3d00;outline-offset:4px;}
.sp .pc-scale{display:flex;justify-content:space-between;font-size:11px;color:#6b7075;}
.sp .pc-scale i{font-style:normal;}
.sp .pc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,340px);gap:34px;align-items:start;}
.sp .pc-block{border:0;padding:0;margin:0 0 30px;}
.sp .pc-legend{padding:0;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6b7075;margin-bottom:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.sp .pc-legend-note{font-size:11px;letter-spacing:.02em;text-transform:none;font-weight:400;color:#c33600;}
.sp .pc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.sp .pc-card{position:relative;display:block;cursor:pointer;}
.sp .pc-card input{position:absolute;opacity:0;width:1px;height:1px;}
.sp .pc-card-in{display:flex;flex-direction:column;height:100%;gap:12px;padding:20px 18px 18px;background:#fff;border:1.5px solid rgba(31,31,31,.12);border-radius:16px;transition:border-color .16s ease,box-shadow .16s ease;}
.sp .pc-card:hover .pc-card-in{border-color:rgba(218,61,0,.45);}
.sp .pc-card input:checked + .pc-card-in{border-color:#da3d00;box-shadow:0 0 0 3px rgba(218,61,0,.12);}
.sp .pc-card input:focus-visible + .pc-card-in{outline:2px solid #da3d00;outline-offset:3px;}
.sp .pc-pop{position:absolute;top:-9px;left:18px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:#da3d00;border-radius:5px;padding:3px 8px;z-index:1;}
.sp .pc-card--pop .pc-card-in{border-color:rgba(218,61,0,.35);}
.sp .pc-card-head{display:flex;flex-direction:column;gap:4px;}
.sp .pc-card-head b{font-size:18px;font-weight:600;color:#1f1f1f;}
.sp .pc-card-blurb{font-size:13px;color:#494e52;line-height:1.4;}
.sp .pc-card-price{display:flex;flex-direction:column;gap:3px;padding:10px 0 12px;border-bottom:1px solid rgba(31,31,31,.08);}
.sp .pc-price-lead{display:flex;align-items:baseline;gap:6px;}
.sp .pc-price-from{font-size:12.5px;color:#6b7075;}
.sp .pc-card-price b{font-size:28px;font-weight:400;font-family:'Untitled Serif',Georgia,serif;color:#1f1f1f;line-height:1;}
.sp .pc-price-cycle{font-size:12.5px;color:#6b7075;}
.sp .pc-price-rate{font-size:12.5px;color:#6b7075;}
.sp .pc-card-feats{list-style:none;margin:0;padding:0;display:grid;gap:7px;align-content:start;}  /* sinon les puces s'étirent pour remplir la carte */
.sp .pc-card-feats li{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:#1f1f1f;line-height:1.35;}
.sp .pc-card-feats svg{width:13px;height:13px;color:#da3d00;flex:none;margin-top:3px;}
/* Alignement des cartes : titre, prix et liste se calent sur les mêmes lignes d'une
   carte à l'autre, quelle que soit la longueur des textes. La sous-grille propage
   les lignes de la grille parente jusqu'au contenu ; le min-height sert de repli
   pour les navigateurs qui ne la connaissent pas. */
@media (min-width:821px){
  .sp .pc-cards{grid-template-rows:auto auto 1fr;}
  .sp .pc-card{grid-row:span 3;display:grid;grid-template-rows:subgrid;}
  .sp .pc-card-in{grid-row:span 3;display:grid;grid-template-rows:subgrid;gap:12px;}
  @supports not (grid-template-rows:subgrid){
    .sp .pc-card-in{display:flex;}
    .sp .pc-card-blurb{min-height:2.8em;}
  }
}
.sp .pc-addons{display:grid;gap:10px;}
.sp .pc-addon{position:relative;display:flex;align-items:center;gap:14px;padding:15px 18px;border:1px solid rgba(31,31,31,.12);border-radius:14px;cursor:pointer;transition:border-color .16s ease,background .16s ease,opacity .16s ease;}
.sp .pc-addon:hover{border-color:rgba(218,61,0,.45);background:rgba(218,61,0,.03);}
.sp .pc-addon input{position:absolute;opacity:0;width:1px;height:1px;}
.sp .pc-box{width:22px;height:22px;border:1.5px solid rgba(31,31,31,.28);border-radius:6px;flex:none;position:relative;transition:background .16s ease,border-color .16s ease;}
.sp .pc-box::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .16s ease;}
.sp .pc-addon input:checked ~ .pc-box{background:#da3d00;border-color:#da3d00;}
.sp .pc-addon input:checked ~ .pc-box::after{transform:rotate(45deg) scale(1);}
.sp .pc-addon input:focus-visible ~ .pc-box{outline:2px solid #da3d00;outline-offset:3px;}
.sp .pc-addon input:disabled ~ .pc-box{background:#6b7075;border-color:#6b7075;}
.sp .pc-addon.is-locked{cursor:default;opacity:.72;}
.sp .pc-addon.is-locked:hover{border-color:rgba(31,31,31,.12);background:none;}
.sp .pc-addon-txt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;}
.sp .pc-addon-txt b{font-weight:500;font-size:15.5px;color:#1f1f1f;}
.sp .pc-addon-txt span{font-size:13px;color:#6b7075;}
.sp .pc-addon-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap;}
.sp .pc-ap-lead{display:flex;align-items:baseline;gap:5px;}
.sp .pc-ap-from{font-size:11.5px;color:#6b7075;}
.sp .pc-addon-price b{font-size:16.5px;font-weight:500;color:#1f1f1f;}
.sp .pc-ap-cycle{font-size:11.5px;color:#6b7075;}
.sp .pc-ap-rate{font-size:11.5px;color:#6b7075;}
.sp .pc-quote{position:sticky;top:96px;background:#fff;border:1px solid rgba(31,31,31,.10);border-radius:20px;padding:24px 24px 22px;box-shadow:0 18px 44px -30px rgba(20,20,20,.30);}
.sp .pc-quote h2{font-size:18px;margin:0 0 15px;font-family:'FH Sans',Arial,sans-serif;font-weight:600;}
.sp .pc-lines{margin:0;padding:0;display:grid;gap:10px;}
.sp .pc-lines > div{display:flex;justify-content:space-between;gap:14px;font-size:14px;}
.sp .pc-lines dt{color:#494e52;margin:0;}
.sp .pc-lines dd{margin:0;color:#1f1f1f;white-space:nowrap;}
.sp .pc-lines .pc-sub{border-top:1px solid rgba(31,31,31,.10);padding-top:10px;}
.sp .pc-lines .pc-off dd{color:#c33600;}
.sp .pc-total{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:16px;padding-top:15px;border-top:1px solid rgba(31,31,31,.12);}
.sp .pc-total > span{font-size:15px;color:#494e52;}
.sp .pc-total strong{font-size:33px;font-weight:400;font-family:'Untitled Serif',Georgia,serif;color:#1f1f1f;letter-spacing:-.01em;}
.sp .pc-total small{font-size:13px;color:#6b7075;font-family:'FH Sans',Arial,sans-serif;margin-left:4px;}
.sp .pc-total-note{margin:7px 0 0;font-size:13px;color:#6b7075;}
.sp .pc-live{position:absolute;left:-9999px;}
.sp .pc-cta{margin-top:18px;width:100%;}
.sp .pc-fine{margin:11px 0 0;font-size:12.5px;color:#6b7075;line-height:1.45;}
@media (max-width:1080px){
  .sp .pc-grid{grid-template-columns:1fr;gap:26px;}
  .sp .pc-quote{position:static;}
}
@media (max-width:820px){
  .sp .pc-cards{grid-template-columns:1fr;}
  .sp .pc-card--pop{order:-1;}
}
/* le bandeau de configuration se réorganise : la ligne « chambres » a besoin de
   place pour son curseur, elle passe donc sur toute la largeur en premier */
@media (max-width:960px){
  .sp .pc-bar-in{grid-template-columns:auto minmax(0,1fr);}
  .sp .pc-ctl--rooms{grid-column:1 / -1;}
}
@media (max-width:600px){
  .sp .pc-bar-in{grid-template-columns:minmax(0,1fr);gap:20px;padding:18px;}
  .sp .pc-seg{width:100%;}
  .sp .pc-seg label{flex:1;}
  .sp .pc-seg span{width:100%;justify-content:center;padding:0 10px;}
  .sp .pc-ctl{align-items:stretch;}
  .sp .pc-step{width:100%;}
  .sp .pc-step input{flex:1;width:auto;}
  .sp .pc-rooms-row{flex-wrap:wrap;gap:14px;}
  .sp .pc-slider{flex:1 0 100%;}
}
@media (max-width:520px){
  .sp .pc-addon{flex-wrap:wrap;}
  .sp .pc-addon-price{width:100%;padding-left:36px;}
}
