/* ================================================================
   ParcsActus Blocks — Frontend CSS v1.20.0
   ================================================================ */
:root {
    --pa-red: #de0740;
    --pa-black: #111;
    --pa-gray: #666;
    --pa-bg: #f8f8f8;
    --pa-radius: 10px;
    --pa-grad: linear-gradient(90deg, #de0740 0%, #ff6b35 50%, #de0740 100%);
    --pa-grad-anim: linear-gradient(90deg, #de0740, #ff6b35, #de0740);
}
.pa-container { width:100%; max-width:1240px; margin:0 auto; padding:0 clamp(16px,4vw,40px); }
.pa-btn { display:inline-flex; align-items:center; gap:8px; padding:11px 20px; border-radius:8px; font-size:14px; font-weight:700; text-decoration:none!important; cursor:pointer; border:none; transition:background .2s,transform .15s; }
.pa-btn--red { background:var(--pa-red); color:#fff!important; }

.pa-badge { display:inline-block; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:var(--pa-red); color:#fff!important; padding:3px 10px; border-radius:0; text-decoration:none!important; }
.pa-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:32px; flex-wrap:wrap; }
.pa-section-head__left { display:flex; flex-direction:column; gap:4px; }
.pa-section-head__eyebrow { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--pa-red); }
.pa-section-head__title { font-size:clamp(20px,3vw,30px); font-weight:800; letter-spacing:-.025em; color:var(--pa-black); margin:0; }
.pa-section-head__link { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--pa-red)!important; text-decoration:none!important; white-space:nowrap; }
.pa-section-head__link:hover { gap:10px; }

/* Espacement blocs */
.pa-article-grid-block, .pa-dossiers-block, .pa-park-logos { padding:clamp(40px,6vw,72px) 0; }
.pa-double-banner { padding:clamp(16px,2.5vw,28px) 0; }
.pa-newsletter-inline { padding:clamp(28px,4vw,48px) 0; }

/* ══ HERO SLIDER ══ */
.pa-hero-slider { position:relative; overflow:hidden; background:#000; }
.pa-hero-slider__track { position:relative; height:clamp(380px,55vw,640px); min-height:380px; }
.pa-hero-slider__slide {
    position:absolute; inset:0; width:100%; height:100%;
    background:#111 center/cover no-repeat;
    display:flex; align-items:flex-end;
    opacity:0; transform:scale(1.04);
    transition:opacity .8s cubic-bezier(.4,0,.2,1), transform .8s cubic-bezier(.4,0,.2,1);
    pointer-events:none;
}
.block-editor-block-list__layout .pa-hero-slider__track { height:480px; }
.block-editor-block-list__layout .pa-hero-slider__slide { opacity:0; pointer-events:none; }
.block-editor-block-list__layout .pa-hero-slider__slide.is-active { opacity:1; pointer-events:auto; transform:scale(1); }
.pa-hero-slider__slide.is-active { opacity:1; transform:scale(1); pointer-events:auto; z-index:1; }
.pa-hero-slider__slide.is-leaving { opacity:0; transform:scale(.97); z-index:0; }
.pa-hero-slider__overlay {
    position:absolute; inset:0;
    background:linear-gradient(105deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.5) 50%, rgba(0,0,0,.1) 100%);
}
.pa-hero-slider__content {
    position:relative; z-index:2;
    padding:clamp(32px,5vw,56px) 0;
    display:flex; flex-direction:column; gap:14px; max-width:600px;
    align-items:flex-start;
    transform:translateY(0); transition:transform .8s .1s cubic-bezier(.4,0,.2,1), opacity .8s .1s;
}
.pa-hero-slider__slide:not(.is-active) .pa-hero-slider__content { transform:translateY(20px); opacity:0; }
.pa-hero-slider__content .pa-badge { align-self:flex-start; }
.pa-hero-slider__content .pa-btn { align-self:flex-start; }
.pa-hero-slider__title { color:#fff; font-size:clamp(24px,4.5vw,52px); font-weight:800; letter-spacing:-.03em; line-height:1.1; margin:0; text-wrap:balance; }
.pa-hero-slider__excerpt { color:rgba(255,255,255,.75); font-size:clamp(13px,1.6vw,16px); line-height:1.7; margin:0; }
.pa-hero-slider__dots { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; gap:8px; align-items:center; z-index:10; }
.pa-hero-slider__arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:11; }
.pa-hero-slider__arrow--prev { left:20px; }
.pa-hero-slider__arrow--next { right:20px; }
.pa-hero-slider__dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.4); border:none; cursor:pointer; padding:0; transition:background .25s,width .25s; }
.pa-hero-slider__dot.is-active { background:#fff; width:24px; border-radius:4px; }
.pa-hero-slider__arrow { width:48px; height:48px; border-radius:50%; background:rgba(0,0,0,.55); border:2px solid rgba(255,255,255,.5); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s, border-color .2s; }
.pa-hero-slider__arrow:hover { background:rgba(0,0,0,.7); border-color:#fff; }

/* ══ NEWS TICKER ══ */
.pa-news-ticker { background:var(--pa-black); padding:11px 0; overflow:hidden; }
.pa-news-ticker__inner { display:flex; align-items:center; gap:16px; }
.pa-news-ticker__label { background:var(--pa-red); color:#fff; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:5px 12px; border-radius:4px; white-space:nowrap; flex-shrink:0; }
.pa-news-ticker__track-wrap { flex:1; overflow:hidden; min-width:0; }
.pa-news-ticker__track { display:flex; transition:transform .4s ease; }
.pa-news-ticker__item { display:inline-flex; align-items:center; gap:12px; white-space:nowrap; padding:0 6px; }
.pa-news-ticker__item a { color:rgba(255,255,255,.8)!important; font-size:13px; font-weight:500; text-decoration:none!important; }
.pa-news-ticker__item a:hover { color:#fff!important; }
.pa-news-ticker__sep { color:var(--pa-red); opacity:.6; font-size:10px; }
.pa-news-ticker__nav { display:flex; gap:6px; flex-shrink:0; }
.pa-news-ticker__btn { width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s; }
.pa-news-ticker__btn:hover { background:rgba(255,255,255,.2); }

/* ══ ARTICLE GRID ══ */
.pa-article-grid { display:grid; gap:20px; }
.pa-article-grid--1col { grid-template-columns:1fr; }
.pa-article-grid--2col { grid-template-columns:repeat(2,1fr); }
.pa-article-grid--3col { grid-template-columns:repeat(3,1fr); }
.pa-article-grid--4col { grid-template-columns:repeat(4,1fr); }
.pa-article-grid--5col { grid-template-columns:repeat(5,1fr); }
.pa-article-grid--6col { grid-template-columns:repeat(6,1fr); }
@media(max-width:1024px){ .pa-article-grid--5col,.pa-article-grid--6col{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:900px){ .pa-article-grid--4col{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .pa-article-grid{ grid-template-columns:repeat(2,1fr)!important; } }
@media(max-width:440px){ .pa-article-grid{ grid-template-columns:1fr!important; } }
.pa-card { display:flex; flex-direction:column; background:#fff; border-radius:var(--pa-radius); border:1.5px solid rgba(0,0,0,.07); overflow:hidden; text-decoration:none!important; transition:transform .25s,box-shadow .25s; }
.pa-card:hover { transform:translateY(-4px); box-shadow:0 8px 32px rgba(222,7,64,.13); }
.pa-card:hover .pa-card__img img { transform:scale(1.05); }
.pa-card:hover .pa-card__title { color:var(--pa-red); }
.pa-card__img { position:relative; overflow:hidden; aspect-ratio:16/10; background:#e8e8e8; }
.pa-card__img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.pa-card__img-placeholder { width:100%; height:100%; background:linear-gradient(135deg,#e8e8e8,#ddd); }
.pa-card__img .pa-badge { position:absolute; top:10px; left:10px; z-index:2; }
.pa-card__body { padding:14px; display:flex; flex-direction:column; gap:5px; flex:1; }
.pa-card__cat { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--pa-red); }
.pa-card__title { font-size:clamp(13px,1.5vw,15px); font-weight:700; line-height:1.35; color:var(--pa-black); margin:0; transition:color .2s; text-wrap:balance; }
.pa-card__meta { display:flex; align-items:center; gap:5px; font-size:11px; color:var(--pa-gray); margin-top:auto; padding-top:6px; }

/* ══ DOUBLE BANNER v2 ══ */
.pa-double-banner__grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media(max-width:760px){ .pa-double-banner__grid { grid-template-columns:1fr; } }

.pa-banner-card {
    position:relative; display:flex;
    border-radius:var(--pa-radius); overflow:hidden;
    min-height:clamp(280px,30vw,420px);
    text-decoration:none!important;
    transition:transform .3s, box-shadow .3s;
    box-shadow:0 4px 20px rgba(0,0,0,.07);
}
.pa-banner-card:hover { transform:translateY(-4px); box-shadow:0 14px 44px rgba(0,0,0,.14); }
.pa-banner-card .pa-badge { align-self:flex-start; margin-bottom:4px; }

/* Contenu commun */
.pa-banner-card__content {
    position:relative; z-index:2;
    display:flex; flex-direction:column; gap:10px;
    justify-content:flex-end;
    padding:clamp(22px,3.2vw,40px);
    max-width:560px;
}
.pa-banner-card__title {
    font-size:clamp(19px,2.4vw,28px); font-weight:800;
    line-height:1.18; margin:0; text-wrap:balance; letter-spacing:-.02em;
}
.pa-banner-card__text { font-size:13.5px; line-height:1.6; margin:0; }
.pa-banner-card__btn {
    display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
    padding:11px 20px; border-radius:8px;
    font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
    transition:opacity .2s, transform .2s;
}
.pa-banner-card:hover .pa-banner-card__btn { opacity:.92; transform:translateX(2px); }

/* Metas (icone + label) */
.pa-banner-card__metas { display:flex; align-items:center; gap:clamp(12px,1.8vw,24px); flex-wrap:wrap; }
.pa-banner-card__meta-item {
    display:inline-flex; align-items:center; gap:7px;
    font-size:10.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
    white-space:nowrap;
}
.pa-banner-card__meta-item svg { flex-shrink:0; opacity:.85; }

/* ── Style PHOTO : image plein fond, voile sombre, contenu blanc ── */
.pa-banner-card--image { background:#111; }
.pa-banner-card--image .pa-banner-card__bg {
    position:absolute; inset:0; z-index:0;
    background:#222 center/cover no-repeat;
    transition:transform .5s ease;
}
.pa-banner-card--image:hover .pa-banner-card__bg { transform:scale(1.04); }
.pa-banner-card--image .pa-banner-card__bg--empty { background:linear-gradient(135deg,#1a1a2e,#111); }
.pa-banner-card--image .pa-banner-card__scrim {
    position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(100deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.55) 42%, rgba(0,0,0,.08) 75%, transparent 100%);
}
.pa-banner-card--image .pa-banner-card__title { color:#fff; }
.pa-banner-card--image .pa-banner-card__text { color:rgba(255,255,255,.78); }
.pa-banner-card--image .pa-banner-card__footer {
    display:flex; align-items:center; gap:clamp(14px,2vw,26px); flex-wrap:wrap; margin-top:8px;
}
.pa-banner-card--image .pa-banner-card__btn--white { background:#fff; color:var(--card-color,var(--pa-red))!important; }
.pa-banner-card--image .pa-banner-card__meta-item { color:rgba(255,255,255,.9); }

/* ── Style CLAIR : fond creme, contenu gauche, image produit droite ── */
.pa-banner-card--light {
    background:#f7f3ec;
    display:grid; grid-template-columns:1.15fr 1fr;
    border:1.5px solid rgba(0,0,0,.05);
}
.pa-banner-card--light .pa-banner-card__content { justify-content:center; }
.pa-banner-card--light .pa-banner-card__title { color:var(--pa-black); }
.pa-banner-card--light .pa-banner-card__subtitle {
    font-size:clamp(14px,1.6vw,18px); font-weight:800; line-height:1.3;
    color:var(--card-color,var(--pa-red)); margin:0;
}
.pa-banner-card--light .pa-banner-card__text { color:#444; }
.pa-banner-card--light .pa-banner-card__metas {
    margin:6px 0 4px; padding:10px 0;
    border-top:1px solid rgba(0,0,0,.08); border-bottom:1px solid rgba(0,0,0,.08);
}
.pa-banner-card--light .pa-banner-card__meta-item { color:#333; }
.pa-banner-card--light .pa-banner-card__meta-item svg { color:var(--card-color,var(--pa-red)); opacity:1; }
.pa-banner-card--light .pa-banner-card__btn--color {
    background:var(--card-color,var(--pa-red)); color:#fff!important; margin-top:4px;
}

/* Image produit a droite */
.pa-banner-card__product {
    position:relative; z-index:1;
    background:center/cover no-repeat;
    min-height:200px;
}
.pa-banner-card__product.is-contain {
    background-size:contain;
    background-position:center right;
    margin:clamp(12px,2vw,24px);
}
/* Option : image legerement plus grande qui depasse du bloc */
.pa-banner-card--light.has-overflow { overflow:visible; }
.pa-banner-card__product.is-overflow {
    transform:scale(1.1);
    transform-origin:right bottom; /* le bas reste cale : ca depasse en haut/cote, jamais en bas */
    filter:drop-shadow(0 16px 32px rgba(0,0,0,.18));
}
@media(max-width:760px){
    .pa-banner-card--light { grid-template-columns:1fr; }
    .pa-banner-card__product { min-height:220px; order:-1; }
    .pa-banner-card__product.is-overflow { transform:none; }
    .pa-banner-card--light.has-overflow { overflow:hidden; }
}

/* ══ VIDEO BANNER v2 — facon hero ══ */
.pa-video-banner {
    position:relative; overflow:hidden;
    background:#0a0a0a;
    min-height:clamp(340px,40vw,520px);
    display:flex; align-items:center;
}
/* Photo a droite, fondue vers le noir */
.pa-video-banner__photo {
    position:absolute; top:0; right:0; bottom:0; left:30%;
    background:#111 center/cover no-repeat;
    z-index:0;
}
.pa-video-banner__photo::before {
    content:''; position:absolute; inset:0;
    background:linear-gradient(to right, #0a0a0a 0%, rgba(10,10,10,.55) 32%, rgba(10,10,10,.08) 65%, transparent 100%);
}
@media(max-width:768px){
    .pa-video-banner__photo { left:0; }
    .pa-video-banner__photo::before { background:rgba(0,0,0,.65); }
}
.pa-video-banner__inner { position:relative; z-index:2; width:100%; }
.pa-video-banner__content {
    display:flex; flex-direction:column; gap:16px;
    align-items:flex-start;
    max-width:580px;
    padding:clamp(36px,5vw,64px) 0;
}
.pa-video-banner__title {
    font-size:clamp(26px,4.2vw,50px); font-weight:800; color:#fff;
    line-height:1.08; margin:0; text-wrap:balance; letter-spacing:-.03em;
}
.pa-video-banner__excerpt {
    color:rgba(255,255,255,.75); font-size:clamp(13px,1.6vw,16px);
    line-height:1.7; margin:0;
}
.pa-video-banner__actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:6px; }
/* Bouton blanc avec pastille play */
.pa-video-banner__play {
    display:inline-flex; align-items:center; gap:11px;
    background:#fff; color:var(--pa-black);
    border:none; padding:9px 22px 9px 10px;
    border-radius:8px; cursor:pointer;
    font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
    transition:transform .2s, box-shadow .2s;
}
.pa-video-banner__play:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.35); }
.pa-vb-play-icon {
    width:30px; height:30px; border-radius:50%;
    background:var(--pa-red); color:#fff;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
}
.pa-vb-play-icon svg { margin-left:2px; }
.pa-video-banner__meta { color:rgba(255,255,255,.85); font-size:13px; font-weight:600; }
.pa-video-banner__meta-dot { color:var(--pa-red); margin:0 2px; }

/* Modal */
.pa-video-banner__modal { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; }
.pa-video-banner__modal.is-open { display:flex; }
.pa-video-banner__modal-overlay { position:absolute; inset:0; background:rgba(0,0,0,.9); }
.pa-video-banner__modal-inner { position:relative; z-index:1; width:min(900px,95vw); aspect-ratio:16/9; background:#000; border-radius:12px; overflow:hidden; }
.pa-video-banner__modal-close { position:absolute; top:-44px; right:0; background:rgba(255,255,255,.15); border:none; color:#fff; width:36px; height:36px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.pa-video-banner__embed { width:100%; height:100%; }
.pa-video-banner__embed iframe, .pa-video-banner__embed video { width:100%; height:100%; border:none; }

/* ══ PARK LOGOS ══ */
.pa-park-logos { padding:clamp(20px,3vw,40px) 0; overflow:hidden; }
.pa-park-logos__track-outer { overflow:hidden; }
.pa-park-logos__track {
    display:flex; gap:0; align-items:center;
    width:max-content;
    animation:pa-logos-scroll 60s linear infinite;
    will-change:transform;
}
.pa-park-logos__item { margin-right:16px; }
/* Safari : eviter le rendu coupe pendant le chargement */
.pa-park-logos__track img { max-width:120px; }
@keyframes pa-logos-scroll {
    0%   { transform:translateX(0); }
    100% { transform:translateX(-50%); }
}
.pa-park-logos__item { flex-shrink:0; height:56px; padding:8px 20px; background:#fff; border:1.5px solid rgba(0,0,0,.07); border-radius:var(--pa-radius); display:flex; align-items:center; justify-content:center; text-decoration:none!important; transition:border-color .2s,box-shadow .2s; }
.pa-park-logos__item:hover { border-color:rgba(222,7,64,.25); box-shadow:0 4px 16px rgba(222,7,64,.08); }
.pa-park-logos__item img { max-height:36px; max-width:120px; object-fit:contain;  }


/* ══ NEWSLETTER ══ */
.pa-newsletter-inline {
    background:var(--pa-bg);
    border-top:1px solid rgba(0,0,0,.06);
    border-bottom:1px solid rgba(0,0,0,.06);
}
.pa-newsletter-inline__inner { display:flex; align-items:center; gap:clamp(16px,3vw,40px); flex-wrap:wrap; }
.pa-newsletter-inline__icon { flex-shrink:0; opacity:.7; }
.pa-newsletter-inline__text { flex:1; min-width:220px; }
.pa-newsletter-inline__text strong { display:block; font-size:clamp(16px,2vw,22px); font-weight:800; color:var(--pa-black); margin-bottom:5px; letter-spacing:-.02em; }
.pa-newsletter-inline__text p { font-size:14px; color:var(--pa-gray); line-height:1.6; margin:0; }
.pa-newsletter-inline__form { display:flex; gap:0; flex-shrink:0; }
.pa-newsletter-inline__input { padding:12px 18px; border:2px solid rgba(0,0,0,.1); border-right:none; border-radius:8px 0 0 8px; font-size:14px; min-width:240px; outline:none; transition:border-color .2s; background:#fff; }
.pa-newsletter-inline__input:focus { border-color:var(--pa-red); }
.pa-newsletter-inline__btn { padding:12px 20px; background:var(--pa-red); color:#fff!important; border:2px solid var(--pa-red); border-radius:0 8px 8px 0; font-size:14px; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; gap:8px; white-space:nowrap; transition:background .2s; }

@media(max-width:640px){ .pa-newsletter-inline__form { width:100%; } .pa-newsletter-inline__input { flex:1; min-width:0; } }

/* ══ DOSSIERS ══ */
.pa-dossiers-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:32px; align-items:start; }
@media(max-width:860px){ .pa-dossiers-grid { grid-template-columns:1fr; } }
.pa-dossiers-featured { display:flex; flex-direction:column; text-decoration:none!important; border-radius:var(--pa-radius); overflow:hidden; background:#fff; border:1.5px solid rgba(0,0,0,.07); box-shadow:0 2px 12px rgba(0,0,0,.05); transition:transform .25s,box-shadow .25s; }
.pa-dossiers-featured:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,.1); }
.pa-dossiers-featured__img { position:relative; aspect-ratio:16/10; background:#222 center/cover no-repeat; }
.pa-dossiers-featured__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.25) 0%,transparent 50%); }
.pa-dossiers-featured__badge { position:absolute; top:12px; left:12px; }
.pa-dossiers-featured__body { padding:20px; display:flex; flex-direction:column; gap:8px; }
.pa-dossiers-featured__title { font-size:clamp(17px,2vw,21px); font-weight:800; color:var(--pa-black); line-height:1.25; margin:0; text-wrap:balance; transition:color .2s; }
.pa-dossiers-featured:hover .pa-dossiers-featured__title { color:var(--pa-red); }
.pa-dossiers-featured__meta { font-size:12px; color:var(--pa-gray); }
.pa-dossiers-list { display:flex; flex-direction:column; gap:0; }
.pa-dossiers-item { display:grid; grid-template-columns:88px 1fr; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid rgba(0,0,0,.06); text-decoration:none!important; }
.pa-dossiers-item:first-child { border-top:1px solid rgba(0,0,0,.06); }
.pa-dossiers-item:hover .pa-dossiers-item__title { color:var(--pa-red); }
.pa-dossiers-item__img { border-radius:8px; overflow:hidden; aspect-ratio:4/3; background:#e8e8e8; }
.pa-dossiers-item__img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.pa-dossiers-item:hover .pa-dossiers-item__img img { transform:scale(1.05); }
.pa-dossiers-item__placeholder { width:100%; height:100%; background:linear-gradient(135deg,#e8e8e8,#ddd); }
.pa-dossiers-item__body { display:flex; flex-direction:column; gap:4px; }
.pa-dossiers-item__cat { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--pa-red); }
.pa-dossiers-item__title { font-size:14px; font-weight:700; color:var(--pa-black); line-height:1.3; margin:0; transition:color .2s; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pa-dossiers-item__meta { font-size:11px; color:var(--pa-gray); }

/* ══ GRADIENT TICKER ══ */
.pa-gradient-ticker { overflow:hidden; padding:clamp(16px,2.5vw,28px) 0; }
.pa-gticker__track { display:flex; align-items:center; gap:0; width:max-content; animation:pa-ticker-scroll var(--gticker-speed,20s) linear infinite; }
.pa-gticker__belt { display:flex; align-items:center; gap:0; }
@keyframes pa-ticker-scroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.pa-gticker__word {
    white-space:nowrap;
    font-size:clamp(28px,5vw,60px); font-weight:800; letter-spacing:-.03em;
    background:var(--pa-grad); background-size:200% auto;
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
    animation:pa-grad-shift 4s linear infinite;
    padding:0 clamp(16px,3vw,40px);
    display:inline-block; vertical-align:middle;
}
@keyframes pa-grad-shift { from{background-position:0%} to{background-position:200%} }
.block-editor-block-list__layout .pa-gticker__word { -webkit-text-fill-color:var(--pa-red); background:none; animation:none; }
.pa-gticker__sep { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.pa-gticker__sep img { height:32px; width:auto; object-fit:contain; vertical-align:middle; margin:0 clamp(16px,3vw,32px); }
.pa-gticker__sep--dot { font-size:clamp(16px,3vw,32px); color:var(--pa-red); padding:0 clamp(8px,2vw,24px); -webkit-text-fill-color:var(--pa-red); }

/* ══ STATS COUNTER ══ */
.pa-stats-counter { border-radius:var(--pa-radius); overflow:hidden; margin:clamp(16px,3vw,32px) 0; }
.pa-stats-counter.alignfull { border-radius:0; margin:0; }
.pa-stats-counter__inner { display:flex; align-items:stretch; justify-content:center; flex-wrap:wrap; min-height:clamp(120px,16vw,180px); }
.pa-stats-counter__item { text-align:center; flex:1; min-width:180px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:clamp(24px,4vw,48px) clamp(20px,3vw,40px); position:relative; gap:8px; }
.pa-stats-counter__item + .pa-stats-counter__item::before { content:''; position:absolute; left:0; top:20%; bottom:20%; width:1px; background:rgba(255,255,255,.2); }
.pa-stats-counter__number { font-size:clamp(44px,7vw,88px); font-weight:900; color:#fff; letter-spacing:-.05em; line-height:1; font-variant-numeric:tabular-nums; }
.pa-stats-counter__label { font-size:clamp(12px,1.4vw,15px); color:#fff; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }

/* ══ EDITOR wrapper ══ */
.pa-ssr-wrap { border:2px solid var(--pa-red); border-radius:8px; overflow:hidden; position:relative; }
.pa-ssr-label { background:var(--pa-red); padding:4px 10px; }
.pa-ssr-label span { font-size:10px; font-weight:700; color:#fff; letter-spacing:.1em; text-transform:uppercase; }
.pa-ssr-loading { display:flex; align-items:center; gap:10px; padding:20px; color:#666; font-size:13px; }

/* Fix eyebrow */
.pa-section-head__eyebrow,
.pa-section-head .pa-section-head__eyebrow {
    display:inline-block!important; padding:0!important; margin:0!important;
    border:none!important; text-indent:0!important;
}
.pa-section-head__eyebrow::before { display:none!important; content:none!important; width:0!important; }

/* ================================================================
   Blocs Gutenberg natifs — padding cohérent avec le site
   ================================================================ */
.wp-block-columns { display:flex!important; gap:clamp(20px,3vw,40px)!important; align-items:flex-start!important; margin-bottom:2em!important; }
.wp-block-column { min-width:0; }
@media(max-width:600px){ .wp-block-columns { flex-direction:column!important; } }
.wp-block-image { margin:2em 0!important; }
.wp-block-image img { border-radius:var(--pa-radius)!important; max-width:100%!important; height:auto!important; display:block!important; }
.wp-block-image.alignfull img, .wp-block-image.alignwide img { border-radius:0!important; }
.wp-block-image figcaption { font-size:12px!important; color:var(--pa-gray)!important; text-align:center!important; margin-top:8px!important; font-style:italic!important; }
.wp-block-cover { border-radius:var(--pa-radius)!important; overflow:hidden!important; }
.wp-block-media-text { display:grid!important; gap:clamp(20px,3vw,40px)!important; align-items:center!important; }
.wp-block-media-text img { border-radius:var(--pa-radius)!important; }
.wp-block-group { padding:clamp(20px,3vw,40px)!important; }
.wp-block-group.has-background { border-radius:var(--pa-radius)!important; }

/* Heading barre rouge à gauche */
.entry-content h2, .page-content h2, .wp-block-post-content h2 { position:relative; padding-left:0!important; }
.entry-content h2::before, .page-content h2::before, .wp-block-post-content h2::before { content:none!important; display:none!important; }

/* ================================================================
   BLOC LISTE DES PARCS
   ================================================================ */
.pa-park-list-block { padding:clamp(40px,6vw,72px) 0; }
.pa-park-list { display:grid; gap:16px; grid-template-columns:repeat(4,1fr); }
.pa-park-list--2col { grid-template-columns:repeat(2,1fr); }
.pa-park-list--3col { grid-template-columns:repeat(3,1fr); }
.pa-park-list--4col { grid-template-columns:repeat(4,1fr); }
.pa-park-list--5col { grid-template-columns:repeat(5,1fr); }
@media(max-width:1024px){ .pa-park-list--4col,.pa-park-list--5col { grid-template-columns:repeat(3,1fr); } }
@media(max-width:768px){ .pa-park-list { grid-template-columns:repeat(2,1fr)!important; } }
@media(max-width:440px){ .pa-park-list { grid-template-columns:1fr!important; } }

.pa-park-card {
    position:relative; display:flex; flex-direction:column;
    border-radius:var(--pa-radius); overflow:hidden;
    aspect-ratio:3/4; background:#111 center/cover no-repeat;
    text-decoration:none!important;
    transition:transform .3s, box-shadow .3s;
}
/* Hover park card : dégradé du site */
.pa-park-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(222,7,64,.2); }
.pa-park-card__overlay {
    position:absolute; inset:0;
    background:linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.3) 45%, rgba(0,0,0,.05) 100%);
    transition:opacity .3s;
}
/* Hover overlay : dégradé site en semi-transparent */
.pa-park-card:hover .pa-park-card__overlay {
    background:linear-gradient(to top,
        rgba(222,7,64,.82) 0%,
        rgba(255,107,53,.5) 45%,
        rgba(222,7,64,.08) 100%
    );
    opacity:1;
}
.pa-park-card__content { position:relative; z-index:2; display:flex; flex-direction:column; height:100%; justify-content:space-between; padding:clamp(12px,2vw,20px); }
.pa-park-card__logo-wrap { align-self:flex-start; background:rgba(0,0,0,.3); border:1px solid rgba(255,255,255,.2); border-radius:8px; padding:8px 12px; transition:background .2s; }
.pa-park-card:hover .pa-park-card__logo-wrap { background:rgba(255,255,255,.22); }
.pa-park-card__logo { max-height:32px; max-width:100px; object-fit:contain; display:block; filter:brightness(0) invert(1); }
.pa-park-card__footer { display:flex; flex-direction:column; gap:3px; }
.pa-park-card__name { font-size:clamp(14px,1.8vw,18px); font-weight:800; color:#fff; line-height:1.2; letter-spacing:-.015em; }
.pa-park-card__count { font-size:11px; color:rgba(255,255,255,.55); font-weight:500; }

/* ================================================================
   CONTENU PAGE — alignement padding = container du site
   ================================================================ */
.entry-content,
.page-content,
.wp-block-post-content,
.site-main .page,
.site-main article.page {
    max-width:1240px;
    margin:0 auto;
    padding:clamp(32px,5vw,64px) clamp(16px,4vw,40px);
}
.entry-content > *,
.page-content > *,
.wp-block-post-content > * {
    max-width:780px;
    margin-left:auto;
    margin-right:auto;
}
/* Blocs full/wide cassent le max-width */
.entry-content > .alignfull,
.entry-content > .alignwide,
.page-content > .alignfull,
.page-content > .alignwide {
    max-width:none;
    margin-left:calc(-1 * clamp(16px,4vw,40px));
    margin-right:calc(-1 * clamp(16px,4vw,40px));
}
.entry-content > .alignwide {
    max-width:1100px;
    margin-left:auto;
    margin-right:auto;
}

/* ================================================================
   DESIGN SYSTEM v1.4.1 — uniformisation avec le theme
   ================================================================ */
:root {
    --pa-content-w: 760px;
    --pa-t: .25s;
    --pa-ease: cubic-bezier(.4,0,.2,1);
    --pa-lift: -3px;
    --pa-shadow-hover: 0 10px 28px rgba(222,7,64,.16), 0 4px 12px rgba(255,107,53,.10);
    --pa-shadow-hover-strong: 0 14px 36px rgba(222,7,64,.22), 0 6px 16px rgba(255,107,53,.14);
}
@supports (color: color-mix(in srgb, red, blue)) {
    :root {
        --pa-shadow-hover: 0 10px 28px color-mix(in srgb, var(--pa-g1, #de0740) 17%, transparent),
                           0 4px 12px color-mix(in srgb, var(--pa-g2, #ff6b35) 11%, transparent);
        --pa-shadow-hover-strong: 0 14px 36px color-mix(in srgb, var(--pa-g1, #de0740) 23%, transparent),
                                  0 6px 16px color-mix(in srgb, var(--pa-g2, #ff6b35) 15%, transparent);
    }
}

/* ── BOUTONS — meme style que le theme : 8px, 13px/700 ── */
.pa-btn {
    font-size:13px; font-weight:700; letter-spacing:.03em;
    padding:11px 22px; border-radius:8px;
    transition:transform var(--pa-t) var(--pa-ease), box-shadow var(--pa-t) var(--pa-ease),
               background var(--pa-t) var(--pa-ease), color var(--pa-t) var(--pa-ease);
}
.pa-btn:hover { transform:translateY(-2px); box-shadow:var(--pa-shadow-hover); }
.pa-btn--red:hover { background:#fff; color:var(--pa-red)!important; }

/* Boutons des bannieres : alignes sur le style commun */
.pa-banner-card__btn {
    border-radius:8px; padding:11px 22px;
    font-size:13px; font-weight:700; letter-spacing:.03em; text-transform:none;
    transition:transform var(--pa-t) var(--pa-ease), box-shadow var(--pa-t) var(--pa-ease),
               background var(--pa-t) var(--pa-ease), color var(--pa-t) var(--pa-ease);
}
/* Texte rouge -> blanc sur fond rouge */
.pa-banner-card--image:hover .pa-banner-card__btn--white { background:var(--card-color,var(--pa-red)); color:#fff!important; opacity:1; transform:translateX(0); box-shadow:var(--pa-shadow-hover); }
.pa-banner-card--light:hover .pa-banner-card__btn--color { background:#fff; color:var(--card-color,var(--pa-red))!important; box-shadow:var(--pa-shadow-hover); opacity:1; transform:translateX(0); border:1.5px solid var(--card-color,var(--pa-red)); }
.pa-video-banner__play {
    border-radius:8px; font-size:13px; font-weight:700; letter-spacing:.03em; text-transform:none;
    padding:9px 22px 9px 10px;
    transition:transform var(--pa-t) var(--pa-ease), box-shadow var(--pa-t) var(--pa-ease),
               background var(--pa-t) var(--pa-ease), color var(--pa-t) var(--pa-ease);
}
.pa-video-banner__play:hover { transform:translateY(-2px); box-shadow:var(--pa-shadow-hover-strong); }
.pa-newsletter-inline__btn { transition:background var(--pa-t) var(--pa-ease), box-shadow var(--pa-t) var(--pa-ease), transform var(--pa-t) var(--pa-ease); }
.pa-newsletter-inline__btn:hover { background:#fff; color:var(--pa-red)!important; border-color:var(--pa-red); transform:translateY(-2px); box-shadow:var(--pa-shadow-hover); }
.pa-btn--red:hover { background:#fff; color:var(--pa-red)!important; box-shadow:var(--pa-shadow-hover); }

/* ── CARTES — hover unifie ── */
.pa-card,
.pa-banner-card,
.pa-dossiers-featured,
.pa-park-card,
.pa-park-logos__item {
    transition:transform var(--pa-t) var(--pa-ease), box-shadow var(--pa-t) var(--pa-ease),
               border-color var(--pa-t) var(--pa-ease);
}
.pa-card:hover,
.pa-banner-card:hover,
.pa-dossiers-featured:hover {
    transform:translateY(var(--pa-lift));
    box-shadow:var(--pa-shadow-hover);
}
.pa-park-card:hover { transform:translateY(var(--pa-lift)); box-shadow:var(--pa-shadow-hover-strong); }
.pa-park-logos__item:hover { border-color:rgba(222,7,64,.25); box-shadow:var(--pa-shadow-hover); transform:translateY(-2px); }
/* Zoom image unifie a 1.04 */
.pa-card:hover .pa-card__img img,
.pa-dossiers-item:hover .pa-dossiers-item__img img { transform:scale(1.04); }
.pa-banner-card--image:hover .pa-banner-card__bg { transform:scale(1.04); }
/* Titres -> rouge au hover (cartes claires uniquement) */
.pa-card:hover .pa-card__title,
.pa-dossiers-featured:hover .pa-dossiers-featured__title,
.pa-dossiers-item:hover .pa-dossiers-item__title { color:var(--pa-red); }

/* ── LIEN "VOIR TOUT" — texte rouge -> pastille rouge/blanc ── */
.pa-section-head__link {
    border-radius:8px; padding:6px 14px; margin:-6px -14px;
    transition:background var(--pa-t) var(--pa-ease), color var(--pa-t) var(--pa-ease), gap 0s;
}
.pa-section-head__link:hover { gap:6px; background:var(--pa-red); color:#fff!important; }

/* ── LOGOS — jamais d'effet ── */
.pa-park-logos__item img,
.pa-park-card__logo { transition:none!important; transform:none!important; filter:none!important; }
.pa-park-logos__item:hover img { filter:none!important; }
.pa-park-card__logo-wrap,
.pa-park-card:hover .pa-park-card__logo-wrap {
    background:transparent!important; border:none!important;
    padding:0!important; border-radius:0!important;
}
.pa-park-card__logo { max-height:40px; }

/* ── Largeur texte des pages alignee sur la variable commune ── */
.entry-content > *,
.page-content > *,
.wp-block-post-content > * { max-width:var(--pa-content-w,760px); }

/* ── Typo cartes alignee sur le theme ── */
.pa-card__title { font-size:clamp(14px,1.8vw,16px); }

/* ================================================================
   v1.4.2 — corrections coherence
   ================================================================ */

/* ── OVERLAY ROUGE AU HOVER — cartes image du plugin ── */
.pa-card__img::after,
.pa-dossiers-featured__img::after,
.pa-dossiers-item__img::after {
    content:''; position:absolute; inset:0; z-index:1;
    opacity:0; pointer-events:none;
    transform:translateY(14px);
    background:linear-gradient(to top, rgba(222,7,64,.5) 0%, rgba(255,107,53,.22) 55%, transparent 100%);
    transition:opacity var(--pa-t, .25s) var(--pa-ease, ease), transform .32s var(--pa-ease, ease);
}
@supports (color: color-mix(in srgb, red, blue)) {
    .pa-card__img::after,
    .pa-dossiers-featured__img::after,
    .pa-dossiers-item__img::after {
        background:linear-gradient(to top,
            color-mix(in srgb, var(--pa-g1, #de0740) 50%, transparent) 0%,
            color-mix(in srgb, var(--pa-g2, #ff6b35) 22%, transparent) 55%,
            transparent 100%);
    }
}
.pa-card__img, .pa-dossiers-featured__img, .pa-dossiers-item__img { position:relative; }
.pa-card:hover .pa-card__img::after,
.pa-dossiers-featured:hover .pa-dossiers-featured__img::after,
.pa-dossiers-item:hover .pa-dossiers-item__img::after { opacity:1; }
.pa-card:hover .pa-card__img::after,
.pa-dossiers-featured:hover .pa-dossiers-featured__img::after,
.pa-dossiers-item:hover .pa-dossiers-item__img::after { transform:none; }
/* Banniere style photo : le voile devient teinte rouge au hover */
.pa-banner-card--image:hover .pa-banner-card__scrim {
    background:linear-gradient(100deg, rgba(222,7,64,.78) 0%, rgba(222,7,64,.42) 42%, rgba(255,107,53,.1) 75%, transparent 100%);
}
.pa-banner-card--image .pa-banner-card__scrim { transition:background var(--pa-t,.25s) var(--pa-ease,ease); }

/* ── HERO SLIDER : pas de fleches sur telephone (elles cachent le texte) ── */
@media(max-width:768px){
    .pa-hero-slider__arrow { display:none!important; }
}

/* ── Securite : jamais de rouge sur rouge sur les boutons ── */
.pa-section-head__link:hover { color:#fff!important; }
.pa-banner-card--image:hover .pa-banner-card__btn--white { color:#fff!important; }

/* ================================================================
   v1.4.3 — park-card overlay anime, coherence boutons
   ================================================================ */
.pa-park-card::after {
    content:''; position:absolute; inset:0; z-index:1;
    opacity:0; transform:translateY(14px); pointer-events:none;
    background:linear-gradient(to top, rgba(222,7,64,.72) 0%, rgba(255,107,53,.4) 50%, rgba(222,7,64,.06) 100%);
    transition:opacity var(--pa-t,.25s) var(--pa-ease,ease), transform .32s var(--pa-ease,ease);
}
.pa-park-card:hover::after { opacity:1; transform:none; }
.pa-park-card:hover .pa-park-card__overlay { opacity:1; }
.pa-park-card__content { z-index:2; }

/* ================================================================
   v1.4.4 — article callout, logos pleine largeur, newsletter
   ================================================================ */

/* ── ARTICLE CALLOUT ── */
.pa-article-callout {
    display:grid; grid-template-columns:minmax(180px,42%) 1fr;
    border-radius:var(--pa-radius,10px); overflow:hidden;
    border:1.5px solid rgba(0,0,0,.07);
    background:#fff;
    text-decoration:none!important;
    margin:36px 0;
    min-height:180px;
    transition:transform var(--pa-t,.25s) var(--pa-ease,ease), box-shadow var(--pa-t,.25s) var(--pa-ease,ease), border-color var(--pa-t,.25s);
}
.pa-article-callout:hover { transform:translateY(var(--pa-lift,-3px)); box-shadow:var(--pa-shadow-hover); border-color:rgba(222,7,64,.2); }
.pa-article-callout__img {
    position:relative;
    background:#e8e8e8 center/cover no-repeat;
}
.pa-article-callout__img::after {
    content:''; position:absolute; inset:0; z-index:1;
    opacity:0; transform:translateY(14px); pointer-events:none;
    background:linear-gradient(to top, rgba(222,7,64,.5) 0%, rgba(255,107,53,.22) 55%, transparent 100%);
    transition:opacity var(--pa-t,.25s) var(--pa-ease,ease), transform .32s var(--pa-ease,ease);
}
.pa-article-callout:hover .pa-article-callout__img::after { opacity:1; transform:none; }
.pa-article-callout__body {
    display:flex; flex-direction:column; justify-content:center; gap:8px;
    padding:clamp(18px,3vw,32px);
}
.pa-article-callout__eyebrow { font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--pa-red); }
.pa-article-callout__title {
    font-size:clamp(17px,2.2vw,23px); font-weight:800;
    color:var(--pa-black); line-height:1.25; letter-spacing:-.02em; text-wrap:balance;
    transition:color var(--pa-t,.25s);
}
.pa-article-callout:hover .pa-article-callout__title { color:var(--pa-red); }
.pa-article-callout__cta { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--pa-red); margin-top:4px; }
@media(max-width:600px){
    .pa-article-callout { grid-template-columns:1fr; }
    .pa-article-callout__img { min-height:170px; }
}

/* ── PARK LOGOS : pleine largeur + ombre du hover non coupee ── */
.pa-park-logos { overflow:visible; }
.pa-park-logos__track-outer { overflow:hidden; padding:18px 0; margin:-18px 0; }

/* ── NEWSLETTER : espacements aeres retablis ── */
.pa-newsletter-inline { padding:clamp(36px,5vw,64px) 0; }
.pa-newsletter-inline__inner { gap:clamp(20px,4vw,48px); }
.pa-newsletter-inline__text strong { margin-bottom:8px; }
.pa-newsletter-inline__text p { font-size:14px; line-height:1.7; }
.pa-newsletter-inline__input { padding:13px 18px; }
.pa-newsletter-inline__btn { padding:13px 22px; }

/* ================================================================
   v1.5.0 — formulaire de contact
   ================================================================ */
.pa-contact-form { margin:36px 0; }
.pa-contact-form__grid {
    display:grid; grid-template-columns:1fr 1fr; gap:18px;
}
.pa-contact-form__field--full { grid-column:1 / -1; }
@media(max-width:600px){ .pa-contact-form__grid { grid-template-columns:1fr; } }
.pa-contact-form__field { display:flex; flex-direction:column; gap:7px; }
.pa-contact-form__field label {
    font-size:13px; font-weight:700; color:var(--pa-black);
}
.pa-contact-form__req { color:var(--pa-red); }
.pa-contact-form__field input,
.pa-contact-form__field textarea {
    padding:13px 16px;
    border:1.5px solid rgba(0,0,0,.12); border-radius:8px;
    font-size:15px; font-family:inherit; background:#fff;
    transition:border-color var(--pa-t,.25s), box-shadow var(--pa-t,.25s);
    outline:none; width:100%;
}
.pa-contact-form__field input:focus,
.pa-contact-form__field textarea:focus {
    border-color:var(--pa-red);
    box-shadow:0 0 0 3px rgba(222,7,64,.12);
}
.pa-contact-form__field textarea { resize:vertical; min-height:140px; }
.pa-contact-form__hp { position:absolute!important; left:-9999px!important; width:1px; height:1px; opacity:0; }
.pa-contact-form__footer { display:flex; align-items:center; gap:18px; margin-top:20px; flex-wrap:wrap; }
.pa-contact-form__submit:disabled { opacity:.6; cursor:wait; transform:none!important; }
.pa-contact-form__status { font-size:14px; font-weight:600; margin:0; }
.pa-contact-form__status.is-success { color:#15803d; }
.pa-contact-form__status.is-error { color:var(--pa-red); }

/* ================================================================
   v1.5.1 — blocs equipe, boutique, evenement
   ================================================================ */

/* ══ TEAM MEMBER ══ */
.pa-team-member {
    display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,56px);
    align-items:center; margin:clamp(28px,4vw,48px) 0;
}
.pa-team-member--photo-left { direction:rtl; }
.pa-team-member--photo-left > * { direction:ltr; }
.pa-team-member__media { position:relative; }
.pa-team-member__photo {
    width:100%; aspect-ratio:4/3; object-fit:cover;
    border-radius:var(--pa-radius,10px); display:block;
}
.pa-team-member__photo--empty { background:linear-gradient(135deg,#e8e8e8,#ddd); }
.pa-team-member__name {
    font-size:clamp(20px,2.8vw,28px); font-weight:800; letter-spacing:-.02em;
    line-height:1.2; margin:0 0 14px; color:var(--pa-black);
}
.pa-team-member__role { color:var(--tm-accent,var(--pa-red)); font-weight:800; }
.pa-team-member__bio { font-size:15px; line-height:1.7; color:#333; margin:0 0 18px; }
.pa-team-member__favs { list-style:none!important; padding:0!important; margin:0!important; display:flex; flex-direction:column; gap:9px; }
.pa-team-member__favs li { display:flex; align-items:center; gap:10px; padding:0!important; margin:0!important; }
.pa-team-member__favs li::before { content:none!important; }
.pa-team-member__fav-label { font-weight:800; color:var(--pa-black); font-size:14px; }
.pa-team-member__fav-arrow { color:var(--tm-accent,var(--pa-red)); flex-shrink:0; }
.pa-team-member__fav-value { font-size:14px; color:#333; }
@media(max-width:760px){
    .pa-team-member { grid-template-columns:1fr; gap:20px; }
    .pa-team-member--photo-left { direction:ltr; }
    .pa-team-member__media { order:-1; }
}

/* ══ SHOP ITEM ══ */
.pa-shop-item {
    display:grid; grid-template-columns:minmax(200px,38%) 1fr; gap:0;
    border:1.5px solid rgba(0,0,0,.07); border-radius:var(--pa-radius,10px); overflow:hidden;
    background:#fff; margin:clamp(20px,3vw,32px) 0;
    transition:transform var(--pa-t,.25s) var(--pa-ease,ease), box-shadow var(--pa-t,.25s) var(--pa-ease,ease), border-color var(--pa-t,.25s);
}
.pa-shop-item:hover { transform:translateY(var(--pa-lift,-3px)); box-shadow:var(--pa-shadow-hover); border-color:color-mix(in srgb,var(--si-accent,var(--pa-red)) 20%,transparent); }
.pa-shop-item--img-right { grid-template-columns:1fr minmax(200px,38%); }
.pa-shop-item--img-right .pa-shop-item__media { order:2; }
.pa-shop-item__media { position:relative; background:#f4f4f4; }
.pa-shop-item__img { position:absolute; inset:0; background:center/cover no-repeat; }
.pa-shop-item__img--empty { background:linear-gradient(135deg,#eee,#e0e0e0); }
.pa-shop-item__badge {
    position:absolute; top:12px; left:12px; z-index:2;
    background:var(--si-accent,var(--pa-red)); color:#fff;
    font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
    padding:5px 12px; border-radius:0;
}
.pa-shop-item__content { padding:clamp(20px,3vw,36px); display:flex; flex-direction:column; gap:10px; }
.pa-shop-item__title { font-size:clamp(18px,2.2vw,24px); font-weight:800; letter-spacing:-.02em; line-height:1.2; margin:0; color:var(--pa-black); }
.pa-shop-item__price { font-size:15px; font-weight:700; color:var(--si-accent,var(--pa-red)); margin:0; }
.pa-shop-item__desc { font-size:14.5px; line-height:1.65; color:#444; }
.pa-shop-item__desc strong { color:var(--pa-black); }
.pa-shop-item__actions { display:flex; gap:12px; margin-top:8px; flex-wrap:wrap; }
.pa-shop-item__btn1 { background:var(--si-accent,var(--pa-red)); color:#fff!important; }
.pa-shop-item__btn1:hover { background:#fff; color:var(--si-accent,var(--pa-red))!important; }
.pa-shop-item__btn2 { border:2px solid var(--si-accent,var(--pa-red)); color:var(--si-accent,var(--pa-red))!important; background:transparent; }
.pa-shop-item__btn2:hover { background:var(--si-accent,var(--pa-red)); color:#fff!important; }
@media(max-width:600px){
    .pa-shop-item, .pa-shop-item--img-right { grid-template-columns:1fr; }
    .pa-shop-item__media { min-height:220px; order:-1!important; }
}

/* ══ EVENT CARD ══ */
.pa-event-card {
    display:grid; grid-template-columns:clamp(160px,22%,240px) 1fr clamp(180px,28%,320px);
    align-items:stretch;
    border-radius:var(--pa-radius,10px); overflow:hidden;
    background:#fff; border:1.5px solid rgba(0,0,0,.07);
    text-decoration:none!important; margin:clamp(16px,2.5vw,24px) 0;
    min-height:clamp(170px,20vw,230px);
    box-shadow:0 4px 20px rgba(0,0,0,.06);
    transition:transform var(--pa-t,.25s) var(--pa-ease,ease), box-shadow var(--pa-t,.25s) var(--pa-ease,ease);
}
.pa-event-card:hover { transform:translateY(var(--pa-lift,-3px)); box-shadow:0 14px 40px color-mix(in srgb,var(--ec-accent,var(--pa-red)) 22%,rgba(0,0,0,.12)); }
/* Panneau couleur (logo) avec bord droit courbe */
.pa-event-card__panel {
    position:relative; background:var(--ec-panel,#111);
    display:flex; align-items:center; justify-content:center;
    padding:clamp(16px,2.5vw,28px);
}
/* panneau logo : bords droits (pas de diagonale, pas de rond) */
.pa-event-card__logo { max-width:100%; max-height:90px; object-fit:contain; position:relative; z-index:2; }
.pa-event-card__body {
    display:flex; flex-direction:column; justify-content:center; gap:8px;
    padding:clamp(18px,3vw,32px) clamp(20px,3vw,36px);
    position:relative; z-index:2; background:#fff;
}
.pa-event-card__eyebrow { font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--ec-accent,var(--pa-red)); }
.pa-event-card__title { font-size:clamp(20px,2.8vw,30px); font-weight:800; letter-spacing:-.02em; line-height:1.15; margin:0; color:var(--pa-black); }
.pa-event-card__desc { font-size:14px; line-height:1.6; color:#444; margin:0; }
.pa-event-card__actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:8px; }
.pa-event-card__btn {
    display:inline-flex; align-items:center; gap:8px;
    background:var(--ec-accent,var(--pa-red)); color:#fff!important;
    padding:11px 20px; border-radius:8px; font-size:13.5px; font-weight:800;
    text-decoration:none!important; transition:transform var(--pa-t,.25s), box-shadow var(--pa-t,.25s), gap var(--pa-t,.25s);
}
.pa-event-card__btn:hover { transform:translateY(-2px); gap:12px; box-shadow:0 8px 22px color-mix(in srgb,var(--ec-accent,var(--pa-red)) 40%,transparent); }
.pa-event-card__link { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:800; color:var(--ec-accent,var(--pa-red)); text-decoration:none!important; transition:gap var(--pa-t,.25s); }
.pa-event-card__link:hover { gap:12px; }
.pa-event-card__media { position:relative; }
.pa-event-card__img {
    position:absolute; inset:0; background:#222 center/cover no-repeat;
    clip-path:polygon(26px 0, 100% 0, 100% 100%, 0 100%);
}
.pa-event-card__arrow {
    position:absolute; top:50%; right:clamp(12px,2vw,22px); transform:translateY(-50%); z-index:3;
    width:38px; height:38px; border-radius:50%;
    background:var(--ec-accent,var(--pa-red)); color:#fff;
    display:flex; align-items:center; justify-content:center;
    transition:transform var(--pa-t,.25s) var(--pa-ease,ease);
}
.pa-event-card:hover .pa-event-card__arrow { transform:translateY(-50%) translateX(4px); }
@media(max-width:760px){
    .pa-event-card { grid-template-columns:1fr; }
    .pa-event-card__panel { min-height:120px; clip-path:none; }
    .pa-event-card__body { padding:clamp(18px,4vw,28px); margin-left:0; }
    .pa-event-card__media { min-height:160px; }
    .pa-event-card__img { clip-path:none; }
}

/* ══ AWARD RESULT ══ */
.pa-award {
    display:grid; grid-template-columns:clamp(180px,26%,300px) 1fr;
    gap:clamp(24px,4vw,56px); align-items:start;
    padding:clamp(28px,4vw,52px); border-radius:var(--pa-radius,10px);
    background:#fff; border:1.5px solid rgba(0,0,0,.07);
    margin:clamp(20px,3vw,32px) 0;
}
.pa-award--dark { background:#0b0b0b; border-color:rgba(255,255,255,.12); }
/* Mode sombre pleine largeur : fond noir bord a bord, contenu aligne sur le container */
.pa-award--full {
    margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
    max-width:100vw; width:100vw; border-radius:0; border-left:none; border-right:none;
    padding-left:max(24px, calc(50vw - 620px)); padding-right:max(24px, calc(50vw - 620px));
}
.pa-award__media { display:flex; align-items:flex-start; justify-content:center; }
.pa-award__medal { max-width:100%; height:auto; object-fit:contain; }
.pa-award__content { min-width:0; }
.pa-award__title {
    font-size:clamp(22px,3.4vw,38px); font-weight:800; letter-spacing:-.02em;
    line-height:1.1; margin:0 0 6px; text-transform:uppercase; color:var(--pa-black);
}
.pa-award--dark .pa-award__title { color:#fff; }
.pa-award__eyebrow {
    display:block; font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
    color:var(--aw-accent,var(--pa-red)); margin-bottom:14px;
}
.pa-award__desc { font-size:15px; line-height:1.7; font-style:italic; color:#444; margin:0 0 22px; }
.pa-award--dark .pa-award__desc { color:rgba(255,255,255,.75); }

/* Podium : encadre accent */
.pa-award__podium {
    background:var(--aw-accent,var(--pa-red));
    border-radius:var(--pa-radius,10px);
    padding:clamp(18px,2.5vw,26px) clamp(20px,3vw,30px);
    display:flex; flex-direction:column; gap:8px;
}
.pa-award__rank { display:flex; gap:8px; align-items:baseline; flex-wrap:wrap; color:#fff; }
.pa-award__rank-label { font-weight:800; font-size:15px; }
.pa-award__rank-name  { font-weight:600; font-size:15px; }
.pa-award__rank--1 .pa-award__rank-name { font-weight:800; }

/* Jury */
.pa-award__jury { margin-top:24px; padding-top:24px; border-top:1px solid rgba(0,0,0,.12); }
.pa-award--dark .pa-award__jury { border-top-color:rgba(255,255,255,.18); }
.pa-award__jury-title { font-size:15px; font-weight:800; color:var(--pa-black); margin:0 0 12px; }
.pa-award--dark .pa-award__jury-title { color:#fff; }
.pa-award__jury-list { list-style:none!important; padding:0!important; margin:0!important; display:flex; flex-direction:column; gap:9px; }
.pa-award__jury-list li {
    position:relative; padding-left:18px!important; margin:0!important;
    font-size:15px; color:#333;
}
.pa-award--dark .pa-award__jury-list li { color:rgba(255,255,255,.8); }
.pa-award__jury-list li::before {
    content:''; position:absolute; left:0; top:.55em;
    width:7px; height:7px; border-radius:50%; background:var(--aw-accent,var(--pa-red));
}
@media(max-width:760px){
    .pa-award { grid-template-columns:1fr; gap:20px; }
    .pa-award__media { max-width:200px; }
}

/* ══ NEWSLETTER : message inline + page de preferences ══ */
.pa-newsletter-inline__msg {
    flex-basis:100%; margin:10px 0 0; font-size:14px; font-weight:600;
}
.pa-newsletter-inline__msg.is-success { color:#15803d; }
.pa-newsletter-inline__msg.is-error { color:var(--pa-red); }

/* Page preferences : largeur alignee sur le container du site (padding vertical seul) */
.pa-nl-page { padding:clamp(36px,5vw,72px) 0 clamp(56px,8vw,96px); }
.pa-nl-page__intro { font-size:16px; line-height:1.7; color:#444; margin:0 0 28px; max-width:620px; }

.pa-nl-hero { margin-bottom:clamp(28px,4vw,44px); max-width:680px; }
.pa-nl-hero__eyebrow { display:inline-block; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--pa-red); margin-bottom:10px; }
.pa-nl-hero__title { font-size:clamp(28px,4.5vw,46px); font-weight:800; letter-spacing:-.03em; line-height:1.08; margin:0 0 14px; color:var(--pa-black); }
.pa-nl-hero__intro { font-size:16px; line-height:1.7; color:#555; margin:0; }

.pa-nl-section {
    background:#fff; border:1.5px solid rgba(0,0,0,.07); border-radius:var(--pa-radius,10px);
    padding:clamp(22px,3.5vw,36px); margin-bottom:20px;
}
.pa-nl-section__head { margin-bottom:18px; }
.pa-nl-section__title { font-size:clamp(19px,2.4vw,24px); font-weight:800; letter-spacing:-.02em; margin:0 0 6px; color:var(--pa-black); }
.pa-nl-section__desc { font-size:14px; line-height:1.6; color:#666; margin:0; max-width:640px; }

.pa-nl-tools { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:18px; }
.pa-nl-tool {
    display:inline-flex; align-items:center; gap:7px;
    background:var(--pa-bg,#f8f8f8); border:1.5px solid rgba(0,0,0,.1); color:var(--pa-black);
    font-size:13px; font-weight:700; padding:9px 16px; border-radius:100px; cursor:pointer;
    transition:background var(--pa-t,.25s), color var(--pa-t,.25s), border-color var(--pa-t,.25s);
}
.pa-nl-tool:hover { background:var(--pa-red); color:#fff; border-color:var(--pa-red); }
.pa-nl-geo-status { font-size:12.5px; color:var(--pa-gray); font-weight:600; }

.pa-nl-group { font-size:13px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--pa-red); margin:20px 0 12px; }
.pa-nl-group:first-of-type { margin-top:0; }
.pa-nl-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:10px; }
.pa-nl-check {
    display:flex; align-items:center; gap:10px;
    padding:12px 14px; border:1.5px solid rgba(0,0,0,.12); border-radius:8px;
    font-size:14px; font-weight:600; cursor:pointer; background:#fff;
    transition:border-color var(--pa-t,.25s), background var(--pa-t,.25s);
}
.pa-nl-check:hover { border-color:var(--pa-red); }
.pa-nl-check input { width:18px; height:18px; accent-color:var(--pa-red); flex-shrink:0; cursor:pointer; }
.pa-nl-check input:checked + span { color:var(--pa-red); }

.pa-nl-consent { background:var(--pa-bg,#f8f8f8); border-color:transparent; }
.pa-nl-consent__row { display:flex; align-items:flex-start; gap:12px; font-size:14.5px; line-height:1.6; color:#333; cursor:pointer; }
.pa-nl-consent__row input { width:20px; height:20px; accent-color:var(--pa-red); flex-shrink:0; margin-top:1px; cursor:pointer; }
.pa-nl-consent__row em { color:var(--pa-gray); font-style:italic; }
.pa-nl-submit { margin-top:8px; }

/* Message d'inscription dans le footer */
.pa-footer__nl-msg { margin:10px 0 0; font-size:13px; font-weight:600; }
.pa-footer__nl-msg.is-success { color:#7CFC9B; }
.pa-footer__nl-msg.is-error { color:#ff9ba8; }

/* ══ CATEGORY SPOTLIGHT (Articles par categorie) ══ */
.pa-cat-spotlight { padding:clamp(36px,5vw,60px) 0; }
.pa-cat-spotlight + .pa-cat-spotlight { padding-top:0; }
.pa-cat-spotlight__head {
    display:flex; align-items:flex-end; justify-content:space-between; gap:20px;
    margin-bottom:clamp(20px,3vw,32px); padding-bottom:18px;
    border-bottom:1px solid rgba(0,0,0,.08); position:relative;
}
.pa-cat-spotlight__head::after {
    content:""; position:absolute; left:0; bottom:-1px; width:64px; height:3px;
    background:var(--cs-accent,#de0740); border-radius:2px;
}
.pa-cat-spotlight__heading { display:flex; flex-direction:column; gap:7px; min-width:0; }
.pa-cat-spotlight__eyebrow {
    font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
    color:var(--cs-accent,#de0740); display:inline-flex; align-items:center; gap:8px;
}
.pa-cat-spotlight__eyebrow::before { content:""; width:20px; height:2px; background:var(--cs-accent,#de0740); }
.pa-cat-spotlight__title {
    font-size:clamp(24px,3.4vw,38px); font-weight:800; letter-spacing:-.025em;
    line-height:1.05; color:var(--pa-black,#111); margin:0; text-wrap:balance;
}
.pa-cat-spotlight__link {
    display:inline-flex; align-items:center; gap:6px; flex-shrink:0;
    font-size:13px; font-weight:700; color:var(--cs-accent,#de0740)!important;
    text-decoration:none!important; white-space:nowrap;
    border:1.5px solid color-mix(in srgb, var(--cs-accent,#de0740) 35%, transparent);
    padding:8px 14px; border-radius:8px; transition:background .2s, color .2s, gap .2s;
}
.pa-cat-spotlight__link:hover { background:var(--cs-accent,#de0740); color:#fff!important; gap:9px; }
.pa-cat-spotlight__link svg { transition:transform .2s; }
.pa-cat-spotlight__link:hover svg { transform:translateX(2px); }
@media(max-width:560px){
    .pa-cat-spotlight__head { flex-direction:column; align-items:flex-start; gap:14px; }
}

/* ══ TIMELINE / FRISE ══ */
.pa-timeline { position:relative; max-width:980px; margin:clamp(28px,4vw,44px) auto; padding:8px 0 4px; }
.pa-timeline__line {
    position:absolute; top:0; bottom:0; left:50%; width:3px; transform:translateX(-50%);
    background:linear-gradient(180deg, #de0740, #ff6b35 55%, rgba(255,107,53,.15));
    border-radius:3px;
}
.pa-timeline__item { position:relative; width:50%; padding:0 44px 40px 0; }
.pa-timeline__item--right { margin-left:50%; padding:0 0 40px 44px; }
.pa-timeline__item:last-child { padding-bottom:8px; }
.pa-timeline__dot {
    position:absolute; top:22px; width:15px; height:15px; border-radius:50%;
    background:#fff; border:3.5px solid var(--pa-red,#de0740);
    box-shadow:0 0 0 5px rgba(222,7,64,.12);
    z-index:2;
}
.pa-timeline__item--left  .pa-timeline__dot { right:-7.5px; }
.pa-timeline__item--right .pa-timeline__dot { left:-7.5px; }
.pa-timeline__card {
    position:relative; background:#fff; border-radius:14px;
    padding:22px 24px 20px; box-shadow:0 6px 26px rgba(17,17,34,.09);
    border:1px solid rgba(0,0,0,.05);
    transition:transform .25s ease, box-shadow .25s ease;
}
.pa-timeline__item:hover .pa-timeline__card { transform:translateY(-3px); box-shadow:0 14px 34px rgba(17,17,34,.13); }
.pa-timeline__card::before {
    content:""; position:absolute; top:24px; width:12px; height:12px;
    background:#fff; transform:rotate(45deg);
    border:1px solid rgba(0,0,0,.05); border-bottom:none; border-left:none;
}
.pa-timeline__item--left  .pa-timeline__card::before { right:-7px; border-top:none; border-right:none; border-bottom:1px solid rgba(0,0,0,.05); border-left:1px solid rgba(0,0,0,.05); transform:rotate(-135deg); }
.pa-timeline__item--right .pa-timeline__card::before { left:-7px; transform:rotate(-135deg); border:1px solid rgba(0,0,0,.05); border-top:none; border-right:none; }
.pa-timeline__label {
    display:inline-flex; align-items:center; gap:8px;
    font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
    color:var(--pa-red,#de0740); margin-bottom:8px;
}
.pa-timeline__label::before { content:""; width:18px; height:2px; background:var(--pa-red,#de0740); }
.pa-timeline__title { font-size:clamp(17px,2.2vw,21px); font-weight:800; letter-spacing:-.02em; line-height:1.25; margin:0 0 8px; color:var(--pa-black,#111); }
.pa-timeline__text { font-size:14.5px; line-height:1.7; color:#4b4b55; }
.pa-timeline__text p { margin:0 0 .8em; }
.pa-timeline__text p:last-child { margin-bottom:0; }

/* variante tout a gauche */
.pa-timeline--left .pa-timeline__line { left:7px; transform:none; }
.pa-timeline--left .pa-timeline__item, .pa-timeline--left .pa-timeline__item--right { width:100%; margin-left:0; padding:0 0 36px 40px; }
.pa-timeline--left .pa-timeline__dot { left:0; right:auto; }
.pa-timeline--left .pa-timeline__card::before { left:-7px; right:auto; transform:rotate(-135deg); border:1px solid rgba(0,0,0,.05); border-top:none; border-right:none; }

@media (max-width:760px) {
    .pa-timeline__line { left:7px; transform:none; }
    .pa-timeline__item, .pa-timeline__item--right { width:100%; margin-left:0; padding:0 0 32px 38px; }
    .pa-timeline__dot { left:0 !important; right:auto !important; }
    .pa-timeline__card::before { left:-7px !important; right:auto !important; transform:rotate(-135deg) !important; border:1px solid rgba(0,0,0,.05) !important; border-top:none !important; border-right:none !important; }
}

/* ══ COMPTE A REBOURS ══ */
.pa-countdown { margin:clamp(28px,4vw,44px) auto; max-width:860px; }
.pa-countdown__inner {
    position:relative; overflow:hidden; border-radius:18px;
    padding:clamp(26px,4vw,40px) clamp(20px,4vw,44px);
    text-align:center;
}
.pa-countdown--dark .pa-countdown__inner { background:#16161d; color:#fff; box-shadow:0 18px 44px rgba(17,17,34,.22); }
.pa-countdown--dark .pa-countdown__inner::after {
    content:""; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(520px 210px at 85% -10%, rgba(222,7,64,.4), transparent 70%),
               radial-gradient(420px 190px at 8% 110%, rgba(255,107,53,.22), transparent 70%);
}
.pa-countdown--light .pa-countdown__inner { background:var(--pa-bg,#f8f8f8); color:var(--pa-black,#111); border:1px solid rgba(0,0,0,.06); }
.pa-countdown__head { position:relative; margin-bottom:20px; }
.pa-countdown__logo { display:inline-block; max-height:64px; width:auto; margin-bottom:12px; }
.pa-countdown__eyebrow { display:block; font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--pa-red,#de0740); margin-bottom:6px; }
.pa-countdown--dark .pa-countdown__eyebrow { color:#ff6b8f; }
.pa-countdown__title { font-size:clamp(20px,3vw,30px); font-weight:800; letter-spacing:-.02em; margin:0; line-height:1.15; }
.pa-countdown__timer { position:relative; display:flex; align-items:flex-start; justify-content:center; gap:clamp(6px,1.6vw,14px); }
.pa-countdown__unit { min-width:clamp(64px,10vw,96px); }
.pa-countdown__num {
    display:block; font-size:clamp(30px,6vw,54px); font-weight:800; letter-spacing:-.03em; line-height:1;
    font-variant-numeric:tabular-nums;
    background:linear-gradient(120deg, #de0740, #ff6b35);
    -webkit-background-clip:text; background-clip:text; color:transparent;
}
.pa-countdown--dark .pa-countdown__num { background:none; -webkit-background-clip:border-box; background-clip:border-box; color:#fff; }
.pa-countdown__unit small { display:block; font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-top:8px; opacity:.55; }
.pa-countdown__sep { font-size:clamp(24px,4.5vw,40px); font-weight:800; line-height:1.15; opacity:.3; }
.pa-countdown__end { position:relative; font-size:clamp(19px,2.6vw,26px); font-weight:800; letter-spacing:-.01em; }
.pa-countdown--over .pa-countdown__timer { display:none; }
@media (max-width:480px) { .pa-countdown__sep { display:none; } .pa-countdown__timer { flex-wrap:wrap; gap:12px 18px; } }

/* ══ CONTACT FORM : consentement RGPD ══ */
.pa-contact-form__rgpd { margin:16px 0 4px; }
.pa-contact-form__rgpd label { display:flex; align-items:flex-start; gap:10px; cursor:pointer; }
.pa-contact-form__rgpd input[type="checkbox"] {
    flex-shrink:0; width:17px; height:17px; margin-top:2px;
    accent-color: var(--pa-red, #de0740); cursor:pointer;
}
.pa-contact-form__rgpd span { font-size:12.5px; line-height:1.6; color:#6b6b74; }
.pa-contact-form__rgpd a { color:var(--pa-red,#de0740); text-decoration:underline; text-underline-offset:2px; }

/* ══ CATEGORY SPOTLIGHT : description sous le titre ══ */
.pa-cat-spotlight__desc { margin:6px 0 0; font-size:14px; line-height:1.65; color:var(--pa-gray,#666); max-width:560px; }

/* ══ LISTE DES CATEGORIES (autonome, memes cotes que les chips du theme) ══ */
.pa-catlist { display:flex; flex-wrap:wrap; gap:10px; }
.pa-catlist .pa-cat-chip {
    display:inline-flex; align-items:center; gap:8px;
    background:#fff; border:1.5px solid rgba(0,0,0,.08);
    border-radius:8px; padding:7px 14px;
    font-size:13.5px; font-weight:600; color:var(--pa-black,#111);
    text-decoration:none !important;
    transition:border-color .2s, box-shadow .2s, transform .2s, background .2s, color .2s;
}
.pa-catlist .pa-cat-chip:hover { border-color:var(--pa-red,#de0740); background:var(--pa-red,#de0740); color:#fff !important; transform:translateY(-1px); }
.pa-catlist .pa-cat-chip:hover .pa-cat-chip__count { color:rgba(255,255,255,.75); }
.pa-catlist .pa-cat-chip__dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.pa-catlist .pa-cat-chip__count { font-size:11px; color:var(--pa-gray,#666); margin-left:2px; }

/* ════ Fix Safari : les animations defilantes se reinitialisent au survol ════
   Sur Safari/WebKit, un repaint declenche sur un enfant (hover box-shadow,
   border...) peut re-declencher l'animation transform du conteneur parent.
   On force chaque piste animee sur sa propre couche GPU et on isole le
   rendu des enfants pour que leur repaint n'affecte plus la piste. */
.pa-park-logos__track,
.pa-gticker__track,
.pa-news-ticker__track {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-perspective: 1000px;
    perspective: 1000px;
}
/* Reintroduire l'animation APRES translateZ (sinon la regle ci-dessus l'ecrase) */
.pa-park-logos__track { -webkit-animation: pa-logos-scroll 60s linear infinite; animation: pa-logos-scroll 60s linear infinite; }
.pa-gticker__track    { -webkit-animation: pa-ticker-scroll var(--gticker-speed,20s) linear infinite; animation: pa-ticker-scroll var(--gticker-speed,20s) linear infinite; }

/* Les enfants survoles sont isoles : leur repaint reste dans leur couche */
.pa-park-logos__item,
.pa-gticker__word,
.pa-news-ticker__item {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    isolation: isolate;
}
/* Le survol ne doit jamais modifier une propriete qui force un relayout du parent ;
   box-shadow et border sont composables. On conserve l'effet de levee en 3D. */
.pa-park-logos__item:hover { -webkit-transform: translate3d(0,-2px,0); transform: translate3d(0,-2px,0); }

/* ════ BLOC : ENTETE DE PAGE ════ */
.pa-page-header {
    background: var(--ph-band, #16161d);
    color: var(--ph-color, #fff);
    padding: clamp(28px, 5vw, 56px) 0;
    margin-bottom: clamp(24px, 4vw, 44px);
    /* pleine largeur meme a l'interieur du conteneur de page */
    width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
}
.pa-page-header__inner {
    max-width: 1240px; margin: 0 auto;
    padding: 0 clamp(16px, 4vw, 40px);
    display: flex; align-items: center; gap: clamp(18px, 3vw, 32px);
}
.pa-page-header--center .pa-page-header__inner { justify-content: center; text-align: center; }
.pa-page-header__logo { max-height: clamp(56px, 8vw, 96px); width: auto; flex-shrink: 0; }
.pa-page-header__title {
    font-size: clamp(26px, 4.5vw, 44px); font-weight: 800; letter-spacing: -.025em;
    line-height: 1.1; margin: 0; color: var(--ph-color, #fff);
}
.pa-page-header__desc {
    font-size: clamp(14px, 1.8vw, 16.5px); line-height: 1.65; margin: 10px 0 0;
    color: var(--ph-color, #fff); opacity: .82; max-width: 720px;
}
.pa-page-header--center .pa-page-header__desc { margin-left: auto; margin-right: auto; }
@media (max-width: 640px) {
    .pa-page-header__inner { flex-direction: column; align-items: flex-start; }
    .pa-page-header--center .pa-page-header__inner { align-items: center; }
}
/* Le bloc remplace le H1 natif du theme */
body.pa-has-page-header .pa-page-head { display: none !important; }

/* ════ Liste des parcs : mise en page telephone compacte ════ */
@media (max-width: 768px) {
    .pa-park-list { gap: 12px; }
    /* cartes paysage compactes au lieu du grand portrait */
    .pa-park-card { aspect-ratio: 16/9; }
    .pa-park-card__logo { max-height: 48px; max-width: 150px; }
    .pa-park-card__logo-wrap { padding: 8px 14px; }
    .pa-park-card__content { padding: 14px 16px; }
    .pa-park-card__name { font-size: 16px; }
}
@media (max-width: 440px) {
    .pa-park-card { aspect-ratio: 2/1; }
    .pa-park-card__logo { max-height: 54px; max-width: 170px; }
}
