/*-------------------------------------
FEUILLE DE STYLE PAP.FR
---------------------------------------
*/
/* MIXIN */
/* Adds a browser prefix to the property */
/* Border radius */
/* Border radius separate */
/* Box shadow */
/* Text shadow */
/* Rotate */
/* Transition */
/* Clearfix */
/* Icon fontastic */
/* Text truncate */
/* VARIABLE */
/* Fonts */
/* Page wrapper width */
/* Breakpoint */
/* UI color settings */
/* Colors */
/* STYLES */
/* Article */
.article h1 {
  color: #1b3bde;
}
.article h2,
.article p.h2 {
  color: #ff7319;
}

/* Homepage cover */
.homepage-cover .item-title {
  background-color: #9aad8b;
}
.homepage-cover .item-title h1,
.homepage-cover .item-title p {
  color: white;
}
.homepage-cover .item-tampon {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 1;
  width: 125px;
  height: 125px;
  content: "";
  background-image: url(/images/visuels/logo-pap-tampon-light.svg);
  background-repeat: no-repeat;
}
.homepage-cover .item-form form {
  padding: 12px;
  margin-bottom: 14px;
}
.homepage-cover .item-form form ::placeholder {
  color: black;
  opacity: 1;
}
.homepage-cover .item-form form ::-ms-input-placeholder {
  color: black;
}
.homepage-cover .item-form form input[type=text] {
  font-weight: bold;
}
.homepage-cover .item-form form .icon-input-wrapper.icon-input-locate input[type=text],
.homepage-cover .item-form form .icon-input-wrapper.icon-input-calendar input[type=text],
.homepage-cover .item-form form .icon-input-wrapper.icon-input-people input[type=text] {
  padding-right: 12px;
  padding-left: 42px;
}
.homepage-cover .item-form form .icon-input-wrapper.icon-input-locate:before,
.homepage-cover .item-form form .icon-input-wrapper.icon-input-calendar:before,
.homepage-cover .item-form form .icon-input-wrapper.icon-input-people:before {
  right: inherit;
  left: 12px;
}
.homepage-cover .item-form a {
  color: white;
}

/* Homepage cover desktop only */
@media only screen and (min-width: 968px) {
  .homepage-cover {
    position: relative;
    height: 440px;
    background-color: #9aad8b;
    background-position: center center;
    background-size: cover;
  }
  .homepage-cover::before, .homepage-cover::after {
    position: absolute;
    top: 220px;
    right: 0;
    width: 220px;
    height: 220px;
    content: "";
    background: #fce300;
  }
  .homepage-cover::after {
    top: 0;
    right: 0;
    background-color: #2409f1;
    mix-blend-mode: multiply;
  }
  .homepage-cover .wrapper {
    position: relative;
  }
  .homepage-cover .item-title {
    height: 440px;
    padding-top: 80px;
  }
  .homepage-cover .item-form {
    position: absolute;
    right: 20px;
    bottom: 35px;
    left: 20px;
  }
  .homepage-cover .item-form form .form-group-separator {
    position: relative;
  }
  .homepage-cover .item-form form .form-group-separator::after {
    position: absolute;
    top: 6px;
    right: -10px;
    width: 1px;
    height: 34px;
    content: "";
    background: #d9d9d9;
  }
  .homepage-cover .item-form form input[type=text] {
    border-color: white;
  }
  .homepage-cover-1 {
    background-image: url(/images/visuels/visuel-homepage-desktop-1.jpg);
  }
  .homepage-cover-2 {
    background-image: url(/images/visuels/visuel-homepage-desktop-2.jpg);
  }
  .homepage-cover-3 {
    background-image: url(/images/visuels/visuel-homepage-desktop-3.jpg);
  }
  .homepage-cover-4 {
    background-image: url(/images/visuels/visuel-homepage-desktop-4.jpg);
  }
  .homepage-cover-5 {
    background-image: url(/images/visuels/visuel-homepage-desktop-5.jpg);
  }
  .homepage-cover-6 {
    background-image: url(/images/visuels/visuel-homepage-desktop-6.jpg);
  }
}
/* Homepage cover mobile only */
@media only screen and (max-width: 968px) {
  .homepage-cover {
    position: relative;
    height: inherit;
    padding-top: 148px;
    padding-bottom: 15px;
    background-color: #9aad8b;
  }
  .homepage-cover::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 128px;
    content: "";
    background-position: center center;
    background-size: cover;
  }
  .homepage-cover::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 128px;
    content: "";
    background-color: #2409f1;
    mix-blend-mode: multiply;
  }
  .homepage-cover .item-tampon {
    width: 88px;
    height: 88px;
  }
  .homepage-cover .item-title {
    background: none;
  }
  .homepage-cover .item-title h1 {
    margin-bottom: 18px;
    font-size: 1.4em;
    line-height: 1.3em;
  }
  .homepage-cover-1::before {
    background-image: url(/images/visuels/visuel-homepage-mobile-1.jpg);
  }
  .homepage-cover-2::before {
    background-image: url(/images/visuels/visuel-homepage-mobile-2.jpg);
  }
  .homepage-cover-3::before {
    background-image: url(/images/visuels/visuel-homepage-mobile-3.jpg);
  }
  .homepage-cover-4::before {
    background-image: url(/images/visuels/visuel-homepage-mobile-4.jpg);
  }
  .homepage-cover-5::before {
    background-image: url(/images/visuels/visuel-homepage-mobile-5.jpg);
  }
  .homepage-cover-6::before {
    background-image: url(/images/visuels/visuel-homepage-mobile-6.jpg);
  }
}



/* List cover */


.list-cover .item-tampon {
  top: 20px;
  right: 20px;
  width: 80px;
  height: 80px;
}

.h-100 {
    height: 100%;
}

/* Modal commission */
.modal-commission-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 9000;
    align-items: center;
    justify-content: center;
}
.modal-commission-box {
    background: #fff;
    border-radius: 8px;
    max-width: 580px;
    width: 92%;
    max-height: 92vh;
    overflow-y: auto;
    padding: 36px 32px 28px;
    position: relative;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}
.modal-commission-close {
    position: absolute;
    top: 16px;
    right: 20px;
    background: none;
    border: none;
    font-size: 1.8rem;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    color: #333;
}
.modal-commission-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    width: 80px;
    height: 80px;
}
.modal-commission-icon--indigo {
    background: #ebebff;
}
.modal-commission-icon--green {
    background: #e8f5e9;
}

.modal-commission-icon-rocket {
    width: 60px;
    height: 60px;
}

.modal-commission-icon-check {
    width: 80px;
    height: 80px;
}

.modal-commission-divider {
    display: flex;
    align-items: center;
    gap: 12px;
}
.modal-commission-divider::before,
.modal-commission-divider::after {
    content: '';
    flex: 1;
    border-top: 1px solid #e0e0e0;
}
.modal-commission-banner {
    background: #e8f5e9;
    border-left: 4px solid #2e7d32;
    padding: 14px 20px;
    margin-bottom: 16px;
}

/* Commission offre section — stack columns on mobile */
@media only screen and (max-width: 968px) {
    #commission-offre-section .row {
        flex-direction: column !important;
    }
    #commission-offre-section .col-1-2 {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }
}
/* Offre à la commission seule — carte réduite et centrée */
#forfaits-classiques-section .col-forfait-unique {
    width: 45%;
    padding-left: 40px;
    margin: 0 auto;
    float: none;
}
@media only screen and (max-width: 968px) {
    #forfaits-classiques-section .col-forfait-unique {
        width: 100%;
    }
}
/* Forfait essai gratuit */
.txt-green-light { color: #5EAE46; }
.btn-green-light { background-color: #5EAE46; border-color: #5EAE46; color: #fff; }
.btn-green-light:hover { background-color: #4d9339; border-color: #4d9339; color: #fff; }

/* Homepage cover desktop only */
@media only screen and (min-width: 968px) {
  .list-cover {
    height: 280px;
  }
  .list-cover::before, .list-cover::after {
    top: 140px;
    width: 140px;
    height: 140px;
  }
  .list-cover::after {
    top: 0;
    right: 0;
    background-color: #2409f1;
    mix-blend-mode: multiply;
  }
  .list-cover .item-title {
    height: 280px;
    padding-top: 40px;
  }
}

.options-group .option.no-box input[type=checkbox] + label {
  padding-left: 0;
}
.options-group .option.no-box input[type=checkbox] + label:before,
.options-group .option.no-box input[type=checkbox] + label:after {
  display: none;
}

/* Tunnel commission — étape 2 « Situation géographique ».
   Chaque tuile remplit sa cellule, sans arrondi, contenu (icône + texte) centré (tous contextes). */
.commission-localisation-situation .options-group-checkbox-alt,
.commission-localisation-situation .options-group-checkbox-alt .option {
  width: 100%;
  box-sizing: border-box;
  border-radius: 0;
}
.commission-localisation-situation .options-group-checkbox-alt .option {
  margin: 0;
}
.commission-localisation-situation .options-group-checkbox-alt .option,
.commission-localisation-situation .options-group-checkbox-alt .option label {
  text-align: center;
}

/* Fallback (navigateurs sans CSS Grid) : tuiles empilées en pleine largeur, espacées verticalement. */
.commission-localisation-situation .options-group-checkbox-alt {
  margin-bottom: 10px;
}

/* Progressive enhancement : grille 4 colonnes (desktop) / 2 colonnes (mobile).
   Le gap gère seul l'espacement (lignes + colonnes) ; on annule la marge du fallback. */
@supports (display: grid) {
  .commission-localisation-situation {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
  }
  .commission-localisation-situation .options-group-checkbox-alt {
    margin-bottom: 0;
  }
  @media only screen and (max-width: 1024px) {
    .commission-localisation-situation {
      grid-template-columns: repeat(2, 1fr);
    }
  }
}

/* Cases à cocher en lecture seule (conditions acceptées à la souscription) :
   état visuellement neutre plutôt qu'actif (bleu), pour signifier qu'elles ne sont pas modifiables. */
.options-group .option input[type=checkbox]:disabled + label {
  color: rgba(0, 0, 0, 0.4);
  cursor: not-allowed;
}
.options-group .option input[type=checkbox]:disabled + label:before {
  background: #f5f5f5;
  border-color: #d9d9d9;
}
.options-group .option-active input[type=checkbox]:disabled + label:before {
  background: #b6b6b6;
  border-color: #b6b6b6;
}
.condition-non-modifiable p {
  color: rgba(0, 0, 0, 0.4);
}

/* Menu déroulant « Mon espace » : panneau et items uniquement.
   Sélecteur calqué sur la règle brownie « header .topnav a:not(.btn) »
   pour la surcharger (items en 400, pas en bold). */
header .topnav .menu-mon-espace {
  width: 209px;
  min-width: 0;
  padding: var(--spacing-25, 10px) 0;
}
header .topnav .menu-mon-espace a:not(.btn) {
  padding: var(--spacing-10, 10px) var(--spacing-20, 20px);
  color: var(--black, #000);
  font-size: var(--typography-font-size-base, 16px);
  font-style: normal;
  font-weight: 400;
  line-height: var(--typography-line-height-base, 24px);
}
header .topnav .menu-mon-espace a.lien-deconnexion {
  margin-top: 8px;
  padding-top: 22px;
  border-top: 1px solid #e0e0e0;
}

/* Items du menu « Comment ça marche ? » : la règle brownie
   « header .topnav a:not(.btn) » les met en bold, on revient en 400. */
header .topnav .dropdown div:not(.menu-mon-espace) a:not(.btn) {
  font-weight: 400;
}

/* Navigation mobile des espaces utilisateur/annonceur : « Menu » dépliant
   (slide-toggle brownie), les espaces séparés par un filet.
   Uniquement sous 1024px : la sidebar desktop reste inchangée. */
@media only screen and (max-width: 1024px) {
  .menu-mobile a {
    display: block;
    text-decoration: none;
  }
  .menu-mobile .menu-mobile-liens {
    padding: 0 12px;
    background: white;
    border: 1px solid #d9d9d9;
    border-top: 0;
  }
  .menu-mobile .menu-mobile-groupe + .menu-mobile-groupe {
    border-top: 1px solid #e0e0e0;
  }
  .menu-mobile .menu-mobile-label {
    margin: 0 0 10px 0;
    color: var(--black, #000);
    font-size: var(--typography-font-size-base, 16px);
    font-weight: 700;
    line-height: var(--typography-line-height-base, 24px);
  }
  .menu-mobile .menu-mobile-menu,
  .menu-mobile .menu-mobile-menu:hover {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px;
    color: #949494;
    font-size: var(--typography-font-size-base, 16px);
    line-height: 1.2em;
    text-decoration: none;
    background: white;
    border: 1px solid #d9d9d9;
  }
  .menu-mobile .menu-mobile-menu:after {
    color: black;
    font-family: "brownie-icon-set";
    font-size: 18px;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    content: "m";
  }
  .menu-mobile .menu-mobile-liens a,
  .menu-mobile .menu-mobile-liens a:hover {
    padding: var(--spacing-10, 10px) 0;
    color: var(--black, #000);
    font-size: var(--typography-font-size-base, 16px);
    font-weight: 400;
    line-height: var(--typography-line-height-base, 24px);
    text-decoration: none;
  }
  .menu-mobile .menu-mobile-liens a.current {
    font-weight: 700;
  }
  .menu-mobile .menu-mobile-liens a .badge {
    margin-left: 6px;
  }
}

/* Encadré des conditions de réservation (tunnel commission, étape 9) :
   fond blanc, filet bleu, les 2 acceptations séparées par un filet gris. */
.conditions-reservation-box {
  padding: var(--spacing-20, 20px);
  border: 1px solid #2409f1;
  border-radius: 8px;
  background-color: var(--white, #fff);
}
.conditions-reservation-box .h4 {
  color: #2409f1;
}
.conditions-reservation-box hr {
  margin: var(--spacing-20, 20px) 0;
  border: 0;
  border-top: 1px solid #e0e0e0;
}
