/* PPN – Agenda des marchés de Noël (couleurs et polices du kit Elementor) */
.ppn-agenda{--ppn-red:#C41939;--ppn-red-dark:#9E1430;--ppn-blue:#01488B;--ppn-text:#383A3E;--ppn-muted:#5C6068;--ppn-line:#E3E5E8;--ppn-bg:#F6F6F6;--ppn-green:#2E7D32;font-family:Roboto,system-ui,sans-serif;color:var(--ppn-text);display:flex;flex-direction:column;gap:20px;margin:0 auto 48px;max-width:1200px}
.ppn-agenda *,.ppn-agenda *::before,.ppn-agenda *::after{box-sizing:border-box}
.ppn-filters{background:#fff;border:1px solid var(--ppn-line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:14px;margin:0}
.ppn-filters__row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.ppn-field{display:flex;flex-direction:column;gap:6px;flex:1 1 190px;font-size:13px;font-weight:600;color:var(--ppn-muted);margin:0}
.ppn-field--grow{flex:999 1 380px}
.ppn-agenda .ppn-field input,.ppn-agenda .ppn-field select{height:48px;border:1px solid #C9CDD3;border-radius:10px;padding:0 14px;font:400 16px Roboto,sans-serif;color:var(--ppn-text);background:#fff;width:100%;margin:0}
.ppn-agenda .ppn-field input:focus,.ppn-agenda .ppn-field select:focus{outline:2px solid var(--ppn-blue);outline-offset:1px;border-color:var(--ppn-blue)}
.ppn-chips{align-items:center;gap:8px}
.ppn-chips__label{font-size:13px;font-weight:600;color:var(--ppn-muted);margin-right:4px}
.ppn-agenda .ppn-chip,.ppn-agenda .ppn-views button,.ppn-agenda .ppn-more{min-height:44px;padding:0 18px;border-radius:30px;border:1px solid #C9CDD3;background:#fff;color:var(--ppn-text);font:500 14px Roboto,sans-serif;cursor:pointer;line-height:1;text-transform:none;letter-spacing:0;box-shadow:none}
.ppn-agenda .ppn-chip:hover,.ppn-agenda .ppn-views button:hover,.ppn-agenda .ppn-more:hover{border-color:var(--ppn-red);color:var(--ppn-red);background:#fff}
.ppn-agenda .ppn-chip.is-active,.ppn-agenda .ppn-views button.is-active{background:var(--ppn-red);border-color:var(--ppn-red);color:#fff}
.ppn-agenda .ppn-chip:focus-visible,.ppn-agenda .ppn-views button:focus-visible,.ppn-agenda .ppn-more:focus-visible{outline:2px solid var(--ppn-blue);outline-offset:2px}
.ppn-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ppn-count{margin:0;font-size:15px;color:var(--ppn-muted)}
.ppn-count strong{color:var(--ppn-text)}
.ppn-views{display:flex;gap:6px;flex-wrap:wrap}
.ppn-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.ppn-card{background:#fff;border:1px solid var(--ppn-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.ppn-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
.ppn-card[hidden]{display:none}
.ppn-card__media{position:relative;display:flex;align-items:center;justify-content:center;height:200px;overflow:hidden;background:#2b2d31;text-decoration:none}
.ppn-card__bg{position:absolute;inset:-24px;background-size:cover;background-position:center;filter:blur(16px) brightness(.8);transform:scale(1.05)}
.ppn-card__poster{position:relative;max-width:calc(100% - 28px);max-height:calc(100% - 28px);width:auto;height:auto;object-fit:contain;border-radius:3px;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.ppn-card__default{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background-color:var(--ppn-red);background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.22) 0 2px,transparent 3px),radial-gradient(circle at 70% 65%,rgba(255,255,255,.16) 0 2px,transparent 3px),radial-gradient(circle at 45% 85%,rgba(255,255,255,.14) 0 1.5px,transparent 2.5px);background-size:60px 60px,80px 80px,50px 50px}
.ppn-card__default span{font-family:Lobster,cursive;color:#fff;font-size:34px;line-height:1.1;text-align:center}
.ppn-card__date{position:absolute;top:12px;left:12px;background:#fff;border-radius:10px;padding:6px 10px;min-width:54px;display:flex;flex-direction:column;align-items:center;box-shadow:0 2px 8px rgba(0,0,0,.18);color:var(--ppn-text)}
.ppn-card__date b{font-size:19px;line-height:1.1;color:var(--ppn-red)}
.ppn-card__date small{font-size:11px;font-weight:700;letter-spacing:.06em}
.ppn-card__body{padding:16px;display:flex;flex-direction:column;gap:7px;flex-grow:1}
.ppn-card__meta{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ppn-muted)}
.ppn-card__dates{text-transform:none;letter-spacing:0;font-weight:600}
.ppn-agenda .ppn-card__title{margin:0;font:600 17px/1.3 Roboto,sans-serif;color:var(--ppn-text)}
.ppn-agenda .ppn-card__title a{color:var(--ppn-text);text-decoration:none}
.ppn-agenda .ppn-card__title a:hover{color:var(--ppn-red)}
.ppn-card__title a::after{content:"";position:absolute;inset:0}
.ppn-card{position:relative}
.ppn-card__place{font-size:14px;color:var(--ppn-muted)}
.ppn-card__dist{font-weight:600;color:var(--ppn-blue)}
.ppn-card__dist:not(:empty)::before{content:" · "}
.ppn-card__badge{align-self:flex-start;margin-top:auto;font-size:12px;font-weight:600;padding:4px 10px;border-radius:30px;background:#E6F2E7;color:#1E5A22;display:inline-flex;align-items:center;gap:6px}
.ppn-card__badge::before{content:"";width:12px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.ppn-empty{margin:0;padding:24px;background:#fff;border:1px dashed #C9CDD3;border-radius:16px;text-align:center;color:var(--ppn-muted)}
.ppn-more-wrap{display:flex;justify-content:center}
.ppn-more-wrap[hidden]{display:none}
.ppn-map{height:520px;border-radius:16px;overflow:hidden;border:1px solid var(--ppn-line);z-index:0}
.ppn-map[hidden]{display:none}
.ppn-map .leaflet-popup-content a{color:var(--ppn-red);font-weight:600}
/* Vue liste par date */
.ppn-agenda.is-list .ppn-results{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid var(--ppn-line);border-radius:16px;overflow:hidden}
.ppn-agenda.is-list .ppn-week{margin:0;padding:18px 18px 8px;font:600 20px/1.3 Roboto,sans-serif;color:var(--ppn-text);background:var(--ppn-bg);border-top:1px solid var(--ppn-line)}
.ppn-agenda.is-list .ppn-week:first-child{border-top:0}
.ppn-agenda.is-list .ppn-card{flex-direction:row;align-items:center;border:0;border-top:1px solid var(--ppn-line);border-radius:0;gap:14px;padding:12px 16px}
.ppn-agenda.is-list .ppn-card:hover{transform:none;box-shadow:none;background:#FBFBFB}
.ppn-agenda.is-list .ppn-card__media{width:72px;height:72px;flex-shrink:0;border-radius:10px;order:2}
.ppn-agenda.is-list .ppn-card__poster{max-width:calc(100% - 10px);max-height:calc(100% - 10px)}
.ppn-agenda.is-list .ppn-card__default span{font-size:15px}
.ppn-agenda.is-list .ppn-card__date{position:static;order:1;box-shadow:none;background:none;padding:0;min-width:56px}
.ppn-agenda.is-list .ppn-card__media .ppn-card__date{display:none}
.ppn-agenda.is-list .ppn-card__body{order:3;padding:0;flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:12px;row-gap:4px}
.ppn-agenda.is-list .ppn-card__title{flex-basis:100%}
.ppn-agenda.is-list .ppn-card__meta{order:2}
.ppn-agenda.is-list .ppn-card__badge{margin-top:0;order:3}
.ppn-list-date{display:none}
.ppn-agenda.is-list .ppn-list-date{display:flex;flex-direction:column;align-items:center;min-width:56px;order:1}
.ppn-list-date b{font-size:22px;line-height:1.1;color:var(--ppn-red)}
.ppn-list-date small{font-size:11px;font-weight:700;letter-spacing:.06em}
@media (max-width:600px){.ppn-filters{padding:14px}.ppn-card__media{height:180px}.ppn-agenda.is-list .ppn-card{flex-wrap:wrap}.ppn-agenda.is-list .ppn-card__body{flex-basis:100%}.ppn-map{height:420px}}
/* v1.1 – format proche de l'agenda actuel : titre Lobster, date et lieu avec icônes, partenaires */
.ppn-agenda .ppn-card__title{font-family:Lobster,cursive;font-weight:400;font-size:22px;line-height:1.2;color:#000}
.ppn-agenda .ppn-card__title a{color:#000}
.ppn-card__meta{font-size:12px;letter-spacing:.05em}
.ppn-card__info{display:flex;align-items:flex-start;gap:8px;font-size:15px;line-height:1.35;color:var(--ppn-text)}
.ppn-card__info svg{flex-shrink:0;margin-top:2px;color:#5C6068}
.ppn-card__dates{text-transform:none;letter-spacing:0;font-weight:400}
.ppn-card--partner{border:2px solid var(--ppn-red)}
.ppn-card__ribbon{position:absolute;top:22px;right:-44px;width:170px;transform:rotate(45deg);background:var(--ppn-red);color:#fff;font:700 12px/1 Roboto,sans-serif;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:7px 0;box-shadow:0 2px 6px rgba(0,0,0,.25);z-index:2;pointer-events:none}
.ppn-agenda.is-list .ppn-card--partner{border:0;border-top:1px solid var(--ppn-line);box-shadow:inset 4px 0 0 var(--ppn-red)}
.ppn-agenda.is-list .ppn-card__ribbon{display:none}
.ppn-agenda.is-list .ppn-card--partner .ppn-card__meta::after{content:" · Partenaire";color:var(--ppn-red)}
.ppn-agenda.is-list .ppn-card__title{font-size:19px}
.ppn-agenda.is-list .ppn-card__info{font-size:14px;order:2}
.ppn-pin{background:none;border:0}
.ppn-pin svg{display:block;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.ppn-pin--partner svg path:first-child{fill:#C41939}
/* v1.2 – lien et page des événements passés */
.ppn-past-link{margin:4px 0 0;text-align:center;font-size:14px}
.ppn-past-link a{color:#5C6068;text-decoration:underline;text-underline-offset:3px}
.ppn-past-link a:hover{color:#C41939}
.ppn-past{font-family:Roboto,system-ui,sans-serif;color:#383A3E;max-width:960px;margin:0 auto 48px;display:flex;flex-direction:column;gap:20px}
.ppn-past *{box-sizing:border-box}
.ppn-past__back{margin:0;font-size:15px}
.ppn-past__back a{color:#01488B;text-decoration:none;font-weight:500}
.ppn-past .ppn-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#5C6068}
.ppn-past .ppn-field input{height:48px;border:1px solid #C9CDD3;border-radius:10px;padding:0 14px;font:400 16px Roboto,sans-serif;width:100%}
.ppn-past__year h2{font-family:Lobster,cursive;font-weight:400;font-size:28px;color:#C41939;margin:8px 0 10px}
.ppn-past__year ul{list-style:none;margin:0;padding:0;background:#fff;border:1px solid #E3E5E8;border-radius:14px;overflow:hidden}
.ppn-past__item{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:12px 16px;border-top:1px solid #E3E5E8;margin:0}
.ppn-past__item:first-child{border-top:0}
.ppn-past__item[hidden],.ppn-past__year[hidden]{display:none}
.ppn-past__date{flex:0 0 230px;font-size:14px;color:#5C6068}
.ppn-past__item a{flex:1 1 260px;font-weight:600;color:#383A3E;text-decoration:none}
.ppn-past__item a:hover{color:#C41939}
.ppn-past__where{flex:1 1 100%;font-size:13px;color:#5C6068}
@media(min-width:760px){.ppn-past__where{flex:0 0 auto;margin-left:auto}}

/* 1.3.0 – pays + drapeau sur les cartes */
.ppn-card__top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.ppn-card__country{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:1;color:var(--ppn-text);white-space:nowrap}
.ppn-flag{display:inline-block;width:18px;height:12px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.14);flex-shrink:0;background-size:cover;background-position:center}
.ppn-flag--be{background:linear-gradient(90deg,#000 33.34%,#FDDA24 33.34% 66.67%,#EF3340 66.67%)}
.ppn-flag--fr{background:linear-gradient(90deg,#0055A4 33.34%,#fff 33.34% 66.67%,#EF4135 66.67%)}
.ppn-flag--de{background:linear-gradient(180deg,#000 33.34%,#DD0000 33.34% 66.67%,#FFCE00 66.67%)}
.ppn-flag--nl{background:linear-gradient(180deg,#AE1C28 33.34%,#fff 33.34% 66.67%,#21468B 66.67%)}
.ppn-flag--lu{background:linear-gradient(180deg,#EA141D 33.34%,#fff 33.34% 66.67%,#51ADDA 66.67%)}
.ppn-flag--gb{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2030%22%3E%3CclipPath%20id%3D%22t%22%3E%3Cpath%20d%3D%22M30%2C15h30v15zv15h-30zh-30v-15zv-15h30z%22%2F%3E%3C%2FclipPath%3E%3Cpath%20d%3D%22M0%2C0v30h60v-30z%22%20fill%3D%22%23012169%22%2F%3E%3Cpath%20d%3D%22M0%2C0L60%2C30M60%2C0L0%2C30%22%20stroke%3D%22%23fff%22%20stroke-width%3D%226%22%2F%3E%3Cpath%20d%3D%22M0%2C0L60%2C30M60%2C0L0%2C30%22%20clip-path%3D%22url%28%23t%29%22%20stroke%3D%22%23C8102E%22%20stroke-width%3D%224%22%2F%3E%3Cpath%20d%3D%22M30%2C0v30M0%2C15h60%22%20stroke%3D%22%23fff%22%20stroke-width%3D%2210%22%2F%3E%3Cpath%20d%3D%22M30%2C0v30M0%2C15h60%22%20stroke%3D%22%23C8102E%22%20stroke-width%3D%226%22%2F%3E%3C%2Fsvg%3E")}
.ppn-agenda.is-list .ppn-card__top{order:2;gap:12px}

/* 1.3.1 – evenements passes : le champ de recherche ne s'etire plus en hauteur */
.ppn-past .ppn-field--grow{flex:0 0 auto}

/* 1.3.2 – drapeau toujours sur la ligne du type, meme pour un libelle long */
.ppn-card__top{flex-wrap:nowrap;align-items:flex-start}
.ppn-card__top .ppn-card__meta{flex:1 1 auto;min-width:0}
.ppn-card__country{flex:0 0 auto;margin-top:1px}

/* 1.3.3 – agenda plus large (1320 px), cartes plus larges, categorie sur une seule ligne */
.ppn-agenda{max-width:1320px}
.ppn-results{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.ppn-card__top .ppn-card__meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 2.0.0 – nouveaux filtres (ou / quand / quoi, autour de moi, duree, tri) */
.ppn-agenda .ppn-filters{background:#fff;border:1px solid var(--ppn-line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px}
.ppn-ftop{display:flex;gap:12px;align-items:flex-end}
.ppn-ftop .ppn-field{display:flex;flex-direction:column;gap:6px;margin:0}
.ppn-ftop .ppn-field>label,.ppn-ftop .ppn-field>span{font:700 13px/1.3 Roboto,sans-serif;color:var(--ppn-muted)}
.ppn-ftop .ppn-field--sel{flex:0 0 240px}
.ppn-ftop input[type=search],.ppn-ftop select{width:100%;height:48px;box-sizing:border-box;border:1px solid #C9CDD2;border-radius:12px;padding:0 14px;font:400 16px Roboto,sans-serif;color:var(--ppn-text);background:#FAFAFA}
.ppn-ftop select{font-size:15px;padding:0 10px}
.ppn-search{position:relative;flex:1 1 auto;min-width:0}
.ppn-sugg{position:absolute;top:100%;left:0;right:0;z-index:20;margin:6px 0 0;padding:6px 0;list-style:none;background:#fff;border:1px solid var(--ppn-line);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.ppn-sugg li{margin:0;padding:0}
.ppn-sugg__item{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0;background:#fff;padding:10px 16px;font:400 15px Roboto,sans-serif;color:var(--ppn-text);cursor:pointer;text-align:left}
.ppn-sugg__item small{color:var(--ppn-muted);font-size:13px}
.ppn-sugg__item:hover,.ppn-sugg__item:focus{background:var(--ppn-bg);outline:none}
.ppn-frows{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--ppn-line);padding-top:16px}
.ppn-frow{display:grid;grid-template-columns:84px minmax(0,1fr);column-gap:12px;align-items:start}
.ppn-frow__label{font:700 14px/40px Roboto,sans-serif;color:var(--ppn-text)}
.ppn-frow__body{display:flex;flex-direction:column;gap:8px;min-width:0}
.ppn-chiplist{display:flex;flex-wrap:wrap;gap:8px}
.ppn-chiplist--sub{padding-left:12px;border-left:3px solid var(--ppn-line)}
.ppn-chiplist[hidden],.ppn-fchip[hidden]{display:none}
.ppn-agenda .ppn-fchip{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid #C9CDD2;background:#fff;color:var(--ppn-text);font:500 14px/1 Roboto,sans-serif;cursor:pointer;white-space:nowrap;margin:0;box-shadow:none;text-transform:none;letter-spacing:0}
.ppn-agenda .ppn-fchip:hover{border-color:var(--ppn-red);color:var(--ppn-red);background:#fff}
.ppn-agenda .ppn-fchip.is-active,.ppn-agenda .ppn-fchip.is-active:hover{background:var(--ppn-red);border-color:var(--ppn-red);color:#fff}
.ppn-fchip__n{font-size:12px;font-weight:700;color:var(--ppn-muted)}
.ppn-fchip.is-active .ppn-fchip__n{color:#fff;opacity:.85}
.ppn-agenda .ppn-fchip:focus-visible,.ppn-agenda .ppn-pill:focus-visible{outline:3px solid var(--ppn-blue);outline-offset:2px}
.ppn-agenda .ppn-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.ppn-toolbar__right{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ppn-sort{display:flex;align-items:center;gap:8px}
.ppn-sort__label{font:700 13px Roboto,sans-serif;color:var(--ppn-muted)}
.ppn-note{font-weight:400;color:var(--ppn-muted);font-size:14px}
.ppn-pills{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ppn-pills[hidden]{display:none}
.ppn-agenda .ppn-pill{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid #F3C2CC;background:#FCE8EC;color:#9E1430;font:500 14px/1 Roboto,sans-serif;cursor:pointer;margin:0;text-transform:none;letter-spacing:0}
.ppn-agenda .ppn-pill span{font-size:16px}
.ppn-agenda .ppn-pill--reset{background:transparent;border-color:transparent;color:var(--ppn-blue);text-decoration:underline}
.ppn-agenda .ppn-empty{background:#fff;border:1px dashed #C9CDD2;border-radius:16px;padding:28px;text-align:center}
.ppn-agenda .ppn-empty p{margin:0 0 8px}
.ppn-agenda .ppn-reset{margin-top:8px;border:0;border-radius:999px;background:var(--ppn-red);color:#fff;font:500 14px Roboto,sans-serif;padding:12px 20px;cursor:pointer}
.ppn-card__dist{font-weight:700;color:var(--ppn-blue)}
@media (max-width:760px){
.ppn-ftop{flex-direction:column;align-items:stretch}
.ppn-ftop .ppn-field--sel{flex:1 1 auto}
.ppn-frow{grid-template-columns:1fr}
.ppn-frow__label{line-height:1.4;margin-bottom:6px}
.ppn-chiplist{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.ppn-chiplist--sub{padding-left:8px}
.ppn-agenda .ppn-toolbar{flex-direction:column;align-items:flex-start}
}

.ppn-agenda .ppn-sugg__item,.ppn-agenda .ppn-sugg__item small,.ppn-agenda .ppn-fchip,.ppn-agenda .ppn-pill{text-transform:none;letter-spacing:0}
.ppn-agenda .ppn-fchip[hidden],.ppn-agenda .ppn-chiplist[hidden]{display:none}

/* 2.0.3 – tri en bleu, centre sur desktop */
.ppn-agenda .ppn-sortgrp button:hover{border-color:var(--ppn-blue);color:var(--ppn-blue)}
.ppn-agenda .ppn-sortgrp button.is-active,.ppn-agenda .ppn-sortgrp button.is-active:hover{background:var(--ppn-blue);border-color:var(--ppn-blue);color:#fff}
@media (min-width:1025px){.ppn-agenda .ppn-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.ppn-agenda .ppn-toolbar__right{display:contents}.ppn-agenda .ppn-toolbar .ppn-sort{justify-self:center}.ppn-agenda .ppn-toolbar .ppn-views:not(.ppn-sortgrp){justify-self:end}}

/* 2.0.4 – noms des evenements un peu plus grands */
.ppn-agenda .ppn-card__title{font-size:25px;line-height:1.18}
.ppn-agenda.is-list .ppn-card__title{font-size:21px}

/* 2.0.7 – compteur, tri et vues centrés sur mobile/tablette */
@media (max-width:1024px){.ppn-agenda .ppn-toolbar{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}.ppn-agenda .ppn-count{width:100%;text-align:center;margin:0}.ppn-agenda .ppn-toolbar__right{width:100%;justify-content:center}.ppn-agenda .ppn-sort{justify-content:center;flex-wrap:wrap}.ppn-agenda .ppn-toolbar .ppn-views{justify-content:center}}

/* 2.1.0 – favoris */
.ppn-agenda .ppn-card{position:relative}
.ppn-agenda .ppn-favbtn{position:absolute;top:10px;right:10px;z-index:3;width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#383A3E;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.ppn-agenda .ppn-favbtn:hover{background:#fff;color:#C41939}
.ppn-agenda .ppn-favbtn[aria-pressed="true"]{color:#C41939}
.ppn-agenda .ppn-favbtn[aria-pressed="true"] svg{fill:currentColor}
.ppn-agenda .ppn-favbtn:focus-visible{outline:3px solid #01488B;outline-offset:2px}
.ppn-agenda .ppn-favchip{display:inline-flex;align-items:center;gap:6px;margin-left:8px;min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid #F3C2CC;background:#fff;color:#C41939;font:500 14px/1 Roboto,sans-serif;cursor:pointer;text-transform:none;letter-spacing:0;vertical-align:middle}
.ppn-agenda .ppn-favchip[aria-pressed="true"],.ppn-agenda .ppn-favchip:hover{background:#C41939;border-color:#C41939;color:#fff}
.ppn-agenda.is-list .ppn-favbtn{top:8px;right:8px;width:36px;height:36px;min-height:36px}
/* 2.1.1 – coeur en bas à droite de l'image (le ruban Partenaire occupe le coin supérieur) */
.ppn-agenda .ppn-favbtn{top:150px}
.ppn-agenda.is-list .ppn-favbtn{top:auto;bottom:10px;right:10px}
