.petition-filters{display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:wrap;margin:0 0 22px;padding:10px 12px;border:1px solid #ded8e2;border-radius:12px;background:#fff;text-align:left}
    .petition-filters-label{margin-right:8px;color:#716e69;font:700 .73rem "Public Sans",sans-serif;text-transform:uppercase;letter-spacing:.1em}
    .petition-filter{border:0;border-radius:999px;padding:8px 14px;background:transparent;color:#4C0297;font:700 .78rem "Public Sans",sans-serif;cursor:pointer;transition:background .15s,color .15s}
    .petition-filter:hover{background:#f1eaf5}
    .petition-filter[aria-pressed="true"]{background:#4C0297;color:#fff}
    .petition-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
    .petition-meta span+span:before{content:"·";margin-right:10px;color:#aaa}
    .feature-count{display:flex;gap:14px;align-items:center}
    .feature-count small{display:inline;margin-left:3px}
    @media(max-width:700px){.petition-filters{gap:3px;padding:8px}.petition-filters-label{width:100%;margin:0 0 3px 5px}.petition-filter{padding:8px 10px;font-size:.72rem}}

/* Sur deux pétitions à la une, afficher chacune une fois dans la vue desktop. */
.carousel-track.featured-two .feature-card{flex-basis:calc((100% - 16px)/2)}
.carousel-track.featured-single .feature-card{flex-basis:100%}
.feature-card{min-height:320px}
.feature-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.feature-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.feature-card .text-link{margin-top:auto}
@media(max-width:700px){.carousel-track.featured-two .feature-card{flex-basis:100%}}
.petition-card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

.tag-filter-label{font:700 .75rem "Public Sans",sans-serif;color:#4C0297}.petition-filters select{min-height:34px;padding:6px 24px 6px 10px;border:1px solid #d9cedf;border-radius:999px;background:#fff;color:#212320;font:600 .78rem "Public Sans",sans-serif}.petition-info .tag-pills{margin:6px 0 2px}

/* Pastilles de tags partagées par les cartes de la grille et le carrousel. */
.tag-pills{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:7px}
.tag-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:#f0e8f7;color:#4C0297;font:700 .72rem "Public Sans",sans-serif}
.feature-card .tag-pills{margin:0 0 12px}


/* Recherche flottante : résultats superposés et limités à deux lignes visibles. */
.site-header{z-index:20}
.nav-wrap{position:relative}
.search-wrap{position:relative;z-index:12;flex:0 0 210px;width:210px;min-width:0}
.search-form{width:100%;min-width:0}
.search-form input{flex:1 1 auto;width:auto;min-width:0;padding-right:6px}
.search-form input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.search-form .search-clear{flex:0 0 30px;width:30px;height:40px;padding:0;color:#4C0297;font:400 1.45rem/1 Arial,sans-serif}
.search-form .search-clear:hover{color:#d1271c}
.search-results{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:100%;max-height:4.5rem;overflow-y:auto;overscroll-behavior:contain;border:1px solid #ded8e2;border-radius:10px;background:#fff;box-shadow:0 8px 24px #2c13301f;text-align:left}
.search-result-list{list-style:none;margin:0;padding:0}
.search-result-list li+li{border-top:1px solid #eee8f1}
.search-result-link{display:block;overflow:hidden;padding:.52rem .72rem;color:#4C0297;font:600 .78rem/1.3 "Public Sans",sans-serif;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.search-result-link:hover,.search-result-link:focus{background:#f5f0f8;text-decoration:underline}
.search-empty{margin:0;padding:.55rem .72rem;color:#716e69;font-size:.78rem}
@media(max-width:950px){.search-wrap{flex-basis:190px;width:190px}}
@media(max-width:700px){.search-wrap{flex:0 0 auto;width:100%}.search-results{max-height:4.5rem}}


/* Sélecteur tags personnalisé : aucune liste système aux couleurs par défaut. */
.tag-select{position:relative;min-width:148px;font-family:"Public Sans",sans-serif}
.tag-select-button{width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:6px 12px;border:1px solid #4C0297;border-radius:999px;background:#FFFCF4;color:#212320;font:600 .78rem "Public Sans",sans-serif;text-align:left;cursor:pointer}
.tag-select-button:hover,.tag-select-button[aria-expanded="true"]{border-color:#D1271C}
.tag-select-chevron{width:9px;height:9px;flex:none;border-right:1.7px solid #4C0297;border-bottom:1.7px solid #4C0297;transform:translateY(-2px) rotate(45deg)}
.tag-select-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:25;width:max(100%,190px);max-height:240px;overflow:auto;padding:5px;border:1px solid #4C0297;border-radius:12px;background:#FFFCF4;box-shadow:0 8px 24px #2c13301f}
.tag-select-option{display:block;width:100%;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:#212320;font:500 .78rem "Public Sans",sans-serif;text-align:left;cursor:pointer}
.tag-select-option:hover,.tag-select-option:focus-visible{background:#f0e8f7;color:#4C0297;outline:0}
.tag-select-option[aria-selected="true"]{background:#4C0297;color:#FFFCF4}

/* Barre de recherche à largeur stable : la croix garde sa place et la loupe reste à droite. */
.search-form{display:flex;flex-wrap:nowrap}
.search-form .search-clear{flex:0 0 30px;width:30px;min-width:30px;height:40px;padding:0;color:#4C0297;font:400 1.45rem/1 Arial,sans-serif;cursor:pointer}
.search-form .search-clear:hover{color:#D1271C}
.search-form .search-clear[aria-hidden="true"]{visibility:hidden;pointer-events:none}
.search-form>button[type="submit"]{flex:0 0 40px;width:40px;min-width:40px}
.search-results{background:rgba(255,252,244,.94);backdrop-filter:blur(5px)}

@media(max-width:700px){.search-wrap{width:100%}.search-form{width:100%}}


/* CTA de proposition aligné sur le titre de la liste des pétitions. */
.petitions-title-line{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.propose-link{white-space:nowrap;font-size:.76rem;padding:11px 17px;transform:translateY(5px)}
.proposal-page .proposal-section{padding-top:72px;padding-bottom:88px}
.proposal-page .proposal-form{margin-inline:auto}
@media(max-width:700px){.petitions-title-line{gap:13px}.propose-link{font-size:.69rem;padding:10px 14px}.proposal-page .proposal-section{padding-top:52px}}


/* Formulaire de proposition : carte et champs pleine largeur, dans le style v35. */
.proposal-page .proposal-form{display:grid;grid-template-columns:minmax(0,1fr);gap:11px;width:100%;max-width:760px;margin-inline:auto;padding:clamp(20px,3vw,34px);border:1px solid #e8e0e8;border-radius:5px 28px 5px 28px;background:#fff;box-shadow:0 18px 45px #35263c0d}
.proposal-page .proposal-form label{color:var(--purple);font:700 .76rem/1.4 var(--display);letter-spacing:.09em;text-transform:uppercase}
.proposal-page .proposal-form input,.proposal-page .proposal-form textarea{display:block;width:100%;min-width:0;min-height:46px;padding:11px 13px;border:1px solid #d8d0dc;border-radius:5px;background:#fff;color:var(--ink);font:400 .95rem/1.5 var(--serif)}
.proposal-page .proposal-form textarea{resize:vertical}
.proposal-page .proposal-form input:focus,.proposal-page .proposal-form textarea:focus{border-color:var(--purple);outline:0;box-shadow:0 0 0 3px #4c02971a}
.proposal-page .proposal-form .proposal-help,.proposal-page .proposal-form .proposal-status{margin:0 0 7px;color:#716e69;font-size:.8rem;line-height:1.6}
.proposal-page .proposal-form .proposal-status.is-error{color:#a62820}
.proposal-page .proposal-form button{justify-self:start}
.proposal-page .proposal-form button:disabled{opacity:.6;cursor:wait}
.site-filter-label{font:700 .75rem "Public Sans",sans-serif;color:#4C0297}.petition-filters #home-source-filter{width:auto;max-width:min(100%,260px);min-height:36px;padding:6px 30px 6px 12px;border:1px solid #4C0297;border-radius:999px;background:#FFFCF4;color:#212320;font:600 .78rem "Public Sans",sans-serif}.petition-filters #home-source-filter:focus-visible{outline:3px solid #eaa900;outline-offset:2px}

.featured-heading{display:block}.featured-heading .section-note{max-width:540px;margin:13px 0 0;text-align:left}.search-wrap{position:relative}.search-results[role=listbox]{position:absolute;top:calc(100% + 7px);left:0;right:0;z-index:30;max-height:330px;overflow:auto;padding:7px;background:#fff;border:1px solid #ded7df;box-shadow:0 14px 34px #26132e25}.search-results [role=option]{display:block;width:100%;padding:11px 12px;border:0;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.search-results [role=option][aria-selected=true],.search-results [role=option]:hover{background:#f0e8f7;color:var(--purple)}


/* Cartes et descriptions : contenu flexible sans découpe ni débordement. */
.feature-card{min-width:0;height:auto;overflow-wrap:anywhere}
.feature-card h3{min-width:0;max-width:100%;display:block;overflow:visible;-webkit-line-clamp:unset}
.feature-card .description-content{width:100%;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.feature-card .description-content p{display:block;overflow:visible;-webkit-line-clamp:unset}
.petition-card-title{min-width:0;overflow-wrap:anywhere;word-break:normal}
.description-content mark{display:inline;padding:0 .16em;border-radius:.24em;background-color:color-mix(in srgb,var(--highlight-color,#fff176) 52%,transparent);color:#29230c;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.description-content{min-width:0;overflow-wrap:anywhere}
.description-content p{margin:0 0 .4em}
.description-content p:last-child{margin-bottom:0}
/* Les titres sont raccourcis en amont : laisser les lignes se développer sans couper le texte. */
.petition-card-title{display:block;overflow:visible;-webkit-line-clamp:unset;overflow-wrap:anywhere}


/* Hauteur stable pour les cartes à la une : contenu complet conservé dans des zones défilantes. */
.feature-card{height:420px;max-height:420px;min-height:0;overflow:hidden}
.feature-card h3{flex:0 0 auto;max-height:5.5em;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;display:block;-webkit-line-clamp:unset}
.feature-card .description-content{flex:1 1 auto;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.feature-card .description-content p{display:block;overflow:visible;-webkit-line-clamp:unset}
.feature-card .text-link{flex:0 0 auto}
@media(max-width:700px){.feature-card{height:420px;max-height:420px;min-height:0}}



/* Titres plus lisibles : affichage naturel dans la limite de hauteur existante. */
#featured-track .feature-card h3{display:block;max-width:100%;max-height:5.5em;overflow-x:hidden;overflow-y:auto;-webkit-line-clamp:unset;margin:0 0 12px;font-size:clamp(1.25rem,1.7vw,1.55rem);line-height:1.25;letter-spacing:-.02em;overscroll-behavior:contain;scrollbar-gutter:stable;}
#featured-track .feature-card-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;}
#featured-track .feature-card .tag-pills{margin:0;}
#featured-track .feature-site-pill{background:#fff;color:#4C0297;border:1px solid #d9cedf;}
#featured-track .feature-card .text-link{flex:0 0 auto;margin-top:12px;}

/* À la une est une grille statique : cartes complètes, sans zone de défilement interne. */
.featured-list{padding:0 55px}
.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.featured-grid .feature-card{width:auto;min-width:0;height:auto;max-height:none;min-height:265px;overflow:visible}
.featured-grid .feature-card h3{flex:0 0 auto;max-height:none;overflow:visible;overflow-wrap:anywhere;scrollbar-gutter:auto}
.featured-grid .feature-card-tags{margin-top:auto}
.featured-grid .feature-card .text-link{margin-top:12px;align-self:flex-start}
@media(max-width:700px){.featured-list{padding:0}.featured-grid{grid-template-columns:minmax(0,1fr)}.featured-grid .feature-card{min-height:245px}}
#featured-track .feature-card h3{max-height:none;overflow:visible;overflow-y:visible;overscroll-behavior:auto;scrollbar-gutter:auto}

/* Carrousel éditorial : commandes explicites, aucune navigation par geste. */
.featured-carousel{position:relative;padding:0 54px}
.featured-carousel .carousel-window{overflow:hidden;border-radius:20px}
.featured-carousel .carousel-track{display:flex;align-items:stretch;gap:16px;transition:transform .52s cubic-bezier(.22,.72,.22,1);will-change:transform;touch-action:auto}
.featured-carousel .feature-card{box-sizing:border-box;flex:0 0 calc((100% - 32px)/3);width:auto;min-width:0;max-width:none;height:306px;min-height:306px;max-height:306px;overflow:hidden;padding:25px 25px 23px;border:1px solid #e6dfd8;border-radius:16px;background:linear-gradient(145deg,#fffdf8 0%,#f2eee8 100%);box-shadow:0 10px 26px #35263c10;}
.featured-carousel .feature-card-top{align-items:flex-start;gap:10px;margin:0 0 20px}
.featured-carousel .feature-tag{flex:none;padding-top:4px;color:#d1271c;font-size:.67rem;letter-spacing:.13em}
.featured-carousel .feature-count{display:flex;justify-content:flex-end;gap:10px;color:#4c0297;font-size:.86rem;line-height:1.3;white-space:nowrap}
.featured-carousel .feature-count>span{display:inline-flex;gap:4px;align-items:baseline}
.featured-carousel .feature-count small{display:inline;color:#716e69;font-size:.65rem}
.featured-carousel .feature-card h3{display:-webkit-box;flex:0 0 auto;min-height:3.75em;max-width:100%;max-height:3.75em;margin:0 0 15px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow-wrap:anywhere;font-size:clamp(1.22rem,1.7vw,1.52rem);line-height:1.25;letter-spacing:-.025em}
.featured-carousel .feature-card-tags{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-height:30px;margin-top:auto}
.featured-carousel .feature-card .tag-pills{gap:7px;margin:0}
.featured-carousel .feature-card .tag-pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem}
.featured-carousel .feature-site-pill{background:#fff;color:#4c0297;border:1px solid #d9cedf}
.featured-carousel .feature-card .text-link{flex:0 0 auto;align-self:flex-start;margin-top:14px}
.featured-carousel .carousel-arrow{top:50%;width:40px;height:40px;transform:translateY(-50%);transition:background .18s,color .18s,opacity .18s,transform .18s}
.featured-carousel .carousel-arrow:hover:not(:disabled){transform:translateY(-50%) scale(1.06)}
.featured-carousel .carousel-arrow:disabled{opacity:.38;cursor:default;box-shadow:none}
.featured-carousel .carousel-arrow.prev{left:0}
.featured-carousel .carousel-arrow.next{right:0}
.featured .carousel-controls{min-height:16px;margin-top:19px}
.featured .carousel-dots{gap:9px}
.featured .carousel-dots button{width:9px;height:9px;transition:background .2s,transform .2s,box-shadow .2s}
.featured .carousel-dots button.active{background:#d1271c;box-shadow:0 0 0 4px #d1271c20;transform:scale(1.08)}
.featured .carousel-dots button:focus-visible{outline:2px solid #4c0297;outline-offset:4px}
@media(max-width:959px){.featured-carousel .feature-card{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:700px){
  .featured-carousel{padding:0 0 55px}
  .featured-carousel .carousel-window{border-radius:16px}
  .featured-carousel .carousel-track{gap:0}
  .featured-carousel .feature-card{flex:0 0 100%;width:100%;max-width:none;height:292px;min-height:292px;max-height:292px;padding:23px 22px 21px}
  .featured-carousel .feature-card-top{margin-bottom:18px}
  .featured-carousel .feature-card h3{font-size:1.3rem}
  .featured-carousel .carousel-arrow{top:auto;bottom:0;width:38px;height:38px;transform:none}
  .featured-carousel .carousel-arrow:hover:not(:disabled){transform:scale(1.06)}
  .featured-carousel .carousel-arrow.prev{left:calc(50% - 57px)}
  .featured-carousel .carousel-arrow.next{right:calc(50% - 57px)}
  .featured .carousel-controls{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.featured-carousel .carousel-track,.featured-carousel .carousel-arrow,.featured .carousel-dots button{transition:none}}
/* Keep the title clamp after legacy homepage overrides that target the track ID. */
#featured-track .feature-card h3{display:-webkit-box;min-height:3.75em;max-height:3.75em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;overscroll-behavior:auto;scrollbar-gutter:auto}
