/* Polmar Concessions — Styles archive et fiche */
:root{--pm-navy:#0F314C;--pm-pink:#C17FB5;--pm-white:#fff;--pm-gray-50:#F8F9FA;--pm-gray-100:#F1F3F5;--pm-gray-200:#E9ECEF;--pm-gray-400:#ADB5BD;--pm-gray-600:#6C757D;--pm-gray-800:#343A40;--pm-radius:10px;--pm-shadow:0 4px 20px rgba(15,49,76,.08)}

/* ── Filtres ── */
.pm-conc-filters{background:var(--pm-white);border:1.5px solid var(--pm-gray-200);border-radius:var(--pm-radius);padding:14px 20px;margin-bottom:28px;box-shadow:var(--pm-shadow)}
.pm-conc-filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:4px 0}
.pm-conc-filter-row+.pm-conc-filter-row{border-top:1px solid var(--pm-gray-100);margin-top:8px;padding-top:8px}
.pm-conc-filter-label{font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pm-gray-400);min-width:60px;white-space:nowrap}
.pm-conc-pills{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.pm-pill{font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;border-radius:100px;border:1.5px solid var(--pm-gray-200);background:var(--pm-white);color:var(--pm-gray-600);cursor:pointer;transition:all .18s;white-space:nowrap}
.pm-pill:hover{border-color:var(--pm-navy);color:var(--pm-navy)}
.pm-pill--active{background:var(--pm-navy);border-color:var(--pm-navy);color:var(--pm-white)}

/* ── Grille concessions ── */
.pm-conc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:1024px){.pm-conc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.pm-conc-grid{grid-template-columns:1fr}}

/* ── Carte concession ── */
.pm-conc-card{background:var(--pm-white);border:1.5px solid var(--pm-gray-200);border-radius:var(--pm-radius);overflow:hidden;box-shadow:var(--pm-shadow);transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column}
.pm-conc-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(15,49,76,.14);border-color:var(--pm-gray-400)}
.pm-conc-card__photo{position:relative;height:160px;overflow:hidden;background:var(--pm-gray-100)}
.pm-conc-card__photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.pm-conc-card:hover .pm-conc-card__photo img{transform:scale(1.05)}
.pm-conc-card__photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--pm-gray-400)}
.pm-conc-card__dept{position:absolute;top:10px;left:10px;background:var(--pm-navy);color:var(--pm-white);font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:100px}
.pm-conc-card__body{padding:16px 18px;flex:1;display:flex;flex-direction:column;gap:10px}
.pm-conc-card__name{font-size:.88rem;font-weight:800;text-transform:uppercase;color:var(--pm-navy);letter-spacing:.03em;line-height:1.25;margin:0}
.pm-conc-card__info{display:flex;flex-direction:column;gap:5px}
.pm-conc-card__row{display:flex;align-items:flex-start;gap:7px;font-size:.75rem;color:var(--pm-gray-600);line-height:1.4}
.pm-conc-card__row svg{flex-shrink:0;margin-top:2px;color:var(--pm-pink)}
.pm-conc-card__row a{color:var(--pm-navy);font-weight:600;text-decoration:none}
.pm-conc-card__row a:hover{color:var(--pm-pink)}
.pm-conc-card__row--horaires span{line-height:1.5}
.pm-conc-card__marques{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}
.pm-conc-card__marque-tag{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:100px;background:var(--pm-gray-100);color:var(--pm-gray-600)}
.pm-conc-card__accent{height:3px;background:var(--pm-gray-100);transition:background .2s}
.pm-conc-card:hover .pm-conc-card__accent{background:var(--pm-navy)}
.pm-conc-card__foot{padding:11px 16px 14px;border-top:1px solid var(--pm-gray-100);display:flex;gap:8px}
.pm-conc-card__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:9px 10px;border-radius:100px;border:1.5px solid var(--pm-gray-200);background:var(--pm-white);color:var(--pm-gray-600);cursor:pointer;transition:all .18s;text-decoration:none;text-align:center}
.pm-conc-card__btn:hover{border-color:var(--pm-navy);color:var(--pm-navy)}
.pm-conc-card__btn--primary{background:var(--pm-navy);border-color:var(--pm-navy);color:var(--pm-white)}
.pm-conc-card__btn--primary:hover{background:#1a4a72;border-color:#1a4a72;color:var(--pm-white)}
.pm-conc-empty{grid-column:1/-1;text-align:center;padding:48px;display:none}
.pm-conc-empty__title{font-size:1rem;font-weight:700;color:var(--pm-navy);margin-bottom:6px}
.pm-conc-empty__sub{font-size:.85rem;color:var(--pm-gray-400)}

/* ── Single concession ── */
.pm-single-conc__hero{position:relative;min-height:280px;display:flex;align-items:flex-end;background:var(--pm-navy);overflow:hidden}
.pm-single-conc__hero-bg{position:absolute;inset:0}
.pm-single-conc__hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.35}
.pm-single-conc__hero-content{position:relative;width:100%;padding:40px 0 32px}
.pm-breadcrumb{display:flex;gap:6px;align-items:center;font-size:.78rem;color:rgba(255,255,255,.6);margin-bottom:12px}
.pm-breadcrumb a{color:rgba(255,255,255,.6);text-decoration:none}
.pm-breadcrumb a:hover{color:var(--pm-white)}
.pm-single-conc__title{font-size:clamp(1.8rem,4vw,3rem);font-weight:900;text-transform:uppercase;color:var(--pm-white);margin:0 0 8px;line-height:1.1}
.pm-single-conc__ville{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--pm-pink);padding:4px 12px;border:1px solid rgba(193,127,181,.4);border-radius:100px}
.pm-single-conc__body{padding:48px 0 80px}
.pm-single-conc__grid{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
@media(max-width:1024px){.pm-single-conc__grid{grid-template-columns:1fr}}
.pm-single-conc__section{margin-bottom:40px}
.pm-single-conc__section-title{font-size:1.1rem;font-weight:800;color:var(--pm-navy);text-transform:uppercase;letter-spacing:.04em;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid var(--pm-gray-200)}
.pm-single-conc__content{margin-bottom:32px;font-size:.95rem;line-height:1.8;color:var(--pm-gray-800)}
.pm-single-conc__marques{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pm-single-conc__marque-item{display:flex;align-items:center;justify-content:center}
.pm-single-conc__marque-item img{height:40px;width:auto;object-fit:contain;filter:grayscale(1) opacity(.7);transition:filter .2s}
.pm-single-conc__marque-item img:hover{filter:none}
.pm-single-conc__marque-name{font-size:.8rem;font-weight:700;color:var(--pm-navy);text-transform:uppercase;padding:6px 14px;border:1.5px solid var(--pm-gray-200);border-radius:100px}
.pm-single-conc__tels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.pm-single-conc__tel-item{padding:14px 16px;background:var(--pm-gray-50);border:1px solid var(--pm-gray-200);border-radius:8px}
.pm-single-conc__tel-marque{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--pm-gray-600);margin-bottom:4px}
.pm-single-conc__tel-num{font-size:1rem;font-weight:700;color:var(--pm-navy);text-decoration:none}
.pm-single-conc__tel-num:hover{color:var(--pm-pink)}
.pm-single-conc__voir-plus{margin-top:20px;text-align:center}

/* ── Side cards ── */
.pm-side-card{background:var(--pm-white);border:1.5px solid var(--pm-gray-200);border-radius:var(--pm-radius);margin-bottom:16px;overflow:hidden;box-shadow:var(--pm-shadow)}
.pm-side-card__header{padding:10px 16px;background:var(--pm-gray-50);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--pm-gray-600);border-bottom:1px solid var(--pm-gray-200)}
.pm-side-card__body{padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.pm-side-card__row{display:flex;align-items:flex-start;gap:8px;font-size:.88rem;color:var(--pm-gray-800)}
.pm-side-card__row svg{flex-shrink:0;color:var(--pm-pink);margin-top:2px}
.pm-side-card__row a{color:var(--pm-navy);text-decoration:none;font-weight:600}
.pm-side-card__row a:hover{color:var(--pm-pink)}
.pm-side-card__horaires{font-size:.85rem;color:var(--pm-gray-800);line-height:1.7}
.pm-side-card__horaires--sam{border-top:1px solid var(--pm-gray-100);padding-top:8px;margin-top:4px}
.pm-side-card__ferme-dim{font-size:.78rem;color:var(--pm-gray-400);margin:0;font-style:italic}
.pm-side-card--map{padding:0}
.pm-side-card--map iframe{display:block}
.pm-side-card__map-link{padding:10px 16px}
.pm-side-card__itineraire{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--pm-navy);text-decoration:none}
.pm-side-card__itineraire:hover{color:var(--pm-pink)}

/* ── VO cards dans fiche concession ── */
.pm-vo-grid--3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:768px){.pm-vo-grid--3{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.pm-vo-grid--3{grid-template-columns:1fr}}
.pm-vo-card{background:var(--pm-white);border:1.5px solid var(--pm-gray-200);border-radius:8px;overflow:hidden;transition:box-shadow .2s}
.pm-vo-card:hover{box-shadow:0 6px 20px rgba(15,49,76,.12)}
.pm-vo-card__link{text-decoration:none;color:inherit;display:block}
.pm-vo-card__photo{height:130px;overflow:hidden;background:var(--pm-gray-100)}
.pm-vo-card__photo img{width:100%;height:100%;object-fit:cover}
.pm-vo-card__body{padding:12px}
.pm-vo-card__title{font-size:.82rem;font-weight:700;color:var(--pm-navy);margin:0 0 6px;line-height:1.3}
.pm-vo-card__meta{display:flex;gap:8px;font-size:.72rem;color:var(--pm-gray-600);margin-bottom:6px}
.pm-vo-card__prix{font-size:1rem;font-weight:800;color:var(--pm-navy)}
