/* Paris-Comédie Core — surchargez les variables dans le CSS additionnel du thème si besoin. */
.pcore {
  --pcore-accent: #b3122b;
  --pcore-accent-dark: #8c0d21;
  --pcore-ink: #1d1a1c;
  --pcore-muted: #6b6468;
  --pcore-line: #e8e2e4;
  --pcore-bg: #ffffff;
  --pcore-soft: #faf6f6;
  --pcore-ok: #1c7a45;
  --pcore-radius: 14px;
  color: var(--pcore-ink);
  font-family: inherit;
  line-height: 1.45;
}
.pcore *, .pcore *::before, .pcore *::after { box-sizing: border-box; }

.pcore-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.pcore-grid-3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.pcore-grid-4 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

.pcore-card {
  position: relative; display: flex; flex-direction: column; overflow: hidden;
  background: var(--pcore-bg); border: 1px solid var(--pcore-line); border-radius: var(--pcore-radius);
  box-shadow: 0 1px 2px rgba(0,0,0,.04); transition: box-shadow .2s, transform .2s;
}
.pcore-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.09); transform: translateY(-2px); }
.pcore-card[hidden] { display: none; }

.pcore-media { position: relative; aspect-ratio: 3 / 2; background: var(--pcore-soft); overflow: hidden; }
.pcore-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pcore-noimg { display: grid; place-items: center; height: 100%; font-size: 56px; font-weight: 700; color: var(--pcore-accent); }
.pcore-badge {
  position: absolute; left: 12px; top: 12px; max-width: calc(100% - 24px);
  background: var(--pcore-accent); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .02em;
  padding: 5px 10px; border-radius: 999px;
}
.pcore-rank {
  position: absolute; right: 12px; top: 12px; z-index: 2; background: #fff; color: var(--pcore-accent);
  font-weight: 800; font-size: 15px; padding: 4px 10px; border-radius: 999px; box-shadow: 0 1px 4px rgba(0,0,0,.15);
}

.pcore-body { display: flex; flex-direction: column; gap: 6px; padding: 16px; flex: 1; }
.pcore-title { margin: 0; font-size: 1.15rem; line-height: 1.25; }
.pcore-meta, .pcore-sub { margin: 0; color: var(--pcore-muted); font-size: .86rem; }
.pcore-rating { margin: 0; font-weight: 600; font-size: .92rem; }
.pcore-rating span[aria-hidden] { color: #e0a100; }
.pcore-next { margin: 0; font-size: .88rem; color: var(--pcore-ok); font-weight: 600; }

.pcore-offers { list-style: none; margin: 6px 0 2px; padding: 0; border-top: 1px solid var(--pcore-line); }
.pcore-offers li {
  display: grid; grid-template-columns: 1fr auto; column-gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--pcore-line);
}
.pcore-prov { font-weight: 600; }
.pcore-price { font-weight: 700; text-align: right; }
.pcore-check { grid-column: 1 / -1; font-size: .76rem; color: var(--pcore-muted); }
.pcore-best .pcore-price { color: var(--pcore-ok); }
.pcore-best .pcore-prov::after {
  content: "Meilleur prix"; margin-left: 8px; font-size: .68rem; font-weight: 700; text-transform: uppercase;
  background: #e5f4ea; color: var(--pcore-ok); padding: 2px 7px; border-radius: 999px;
}
.pcore-old .pcore-price { color: var(--pcore-muted); font-weight: 500; }

.pcore-cta {
  margin-top: auto; display: inline-flex; justify-content: center; align-items: center; gap: 6px;
  background: var(--pcore-accent); color: #fff !important; text-decoration: none !important;
  font-weight: 700; padding: 12px 16px; border-radius: 10px; min-height: 44px; transition: background .15s;
}
.pcore-cta:hover { background: var(--pcore-accent-dark); }
.pcore a:focus-visible, .pcore button:focus-visible, .pcore input:focus-visible { outline: 3px solid #1b6fe0; outline-offset: 2px; }
.pcore-body .pcore-cta { margin-top: 10px; }

.pcore-compact .pcore-media { aspect-ratio: 16 / 10; }
.pcore-compact .pcore-body { padding: 12px 14px; }

.pcore-search { margin-bottom: 20px; }
.pcore-search label { display: block; font-weight: 700; margin-bottom: 6px; }
.pcore-search input[type="search"] {
  width: 100%; padding: 14px 16px; font-size: 1rem; border: 2px solid var(--pcore-line); border-radius: 12px; background: #fff;
}
.pcore-search input[type="search"]:focus { border-color: var(--pcore-accent); }
.pcore-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pcore-chips button {
  border: 1px solid var(--pcore-line); background: #fff; color: var(--pcore-ink); border-radius: 999px;
  padding: 8px 14px; font-size: .9rem; cursor: pointer; min-height: 40px;
}
.pcore-chips button.is-on { background: var(--pcore-ink); color: #fff; border-color: var(--pcore-ink); }
.pcore-count { margin: 10px 0 0; color: var(--pcore-muted); font-size: .88rem; }

.pcore-empty { padding: 20px; background: var(--pcore-soft); border-radius: var(--pcore-radius); text-align: center; color: var(--pcore-muted); }
.pcore-empty[hidden] { display: none; }
.pcore-legal { margin-top: 20px; }
.pcore-h2 { margin: 0 0 16px; }

@media (max-width: 600px) {
  .pcore-grid, .pcore-grid-3, .pcore-grid-4 { grid-template-columns: 1fr; gap: 16px; }
  .pcore-body { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) { .pcore-card, .pcore-cta { transition: none; } .pcore-card:hover { transform: none; } }
.pcore .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---- Fiche complète ---- */
.pcore-lock { overflow: hidden; }
.pcore-modal { position: fixed; inset: 0; z-index: 99999; background: rgba(20,12,16,.55); display: flex; align-items: flex-start; justify-content: center; padding: 3vh 12px; overflow-y: auto; }
.pcore-modal .pcore-fiche { width: min(1000px, 100%); background: #fff; border-radius: 18px; padding: 22px; box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.pcore-fiche-slot:empty { display: none; }
.pcore-fiche { display: block; margin-bottom: 24px; }
.pcore-fiche h3 { margin: 0 0 10px; font-size: 1.15rem; }
.pcore-back { border: 0; background: none; color: var(--pcore-accent); font-weight: 700; cursor: pointer; padding: 6px 0; margin-bottom: 10px; font-size: .95rem; }
.pcore-fiche-top { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: start; }
.pcore-fiche-poster { border-radius: 14px; overflow: hidden; background: var(--pcore-soft); aspect-ratio: 3 / 4; }
.pcore-fiche-poster img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pcore-fiche-id { display: flex; flex-direction: column; gap: 8px; }
.pcore-fiche-title { margin: 0; font-size: 2rem; line-height: 1.15; }
.pcore-badge-inline { position: static; align-self: flex-start; }
.pcore-fiche-rate { margin: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pcore-stars { position: relative; display: inline-block; font-size: 1.05rem; line-height: 1; letter-spacing: 0; color: #ddd; white-space: nowrap; }
.pcore-stars::before { content: "★★★★★"; }
.pcore-stars > span { position: absolute; left: 0; top: 0; height: 100%; overflow: hidden; }
.pcore-stars > span::before { content: "★★★★★"; color: #e0a100; white-space: nowrap; }
.pcore-fiche-tags { margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pcore-fiche-tags span { background: var(--pcore-soft); border: 1px solid var(--pcore-line); border-radius: 999px; padding: 4px 12px; font-size: .85rem; font-weight: 600; }
.pcore-fiche-mid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 20px; margin-top: 24px; }
.pcore-synopsis, .pcore-avis-pc, .pcore-reviews, .pcore-compare-inline { border: 1px solid var(--pcore-line); border-radius: 16px; padding: 20px; background: #fff; }
.pcore-synopsis p { margin: 0 0 10px; font-size: 1.02rem; line-height: 1.6; }
.pcore-avis-pc { background: var(--pcore-soft); border-color: #f0d9dd; }
.pcore-avis-pc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pcore-avis-pc li { padding-left: 22px; position: relative; font-size: .95rem; }
.pcore-avis-pc li::before { content: "✓"; position: absolute; left: 0; color: var(--pcore-accent); font-weight: 800; }
.pcore-reviews, .pcore-compare-inline { margin-top: 20px; }
.pcore-rev-top { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.pcore-rev-top > div { display: flex; flex-direction: column; gap: 4px; }
.pcore-rev-note { font-size: 2.6rem; line-height: 1; color: var(--pcore-accent); }
.pcore-rev-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pcore-rev-list li { display: grid; grid-template-columns: 120px 1fr 56px 90px; gap: 12px; align-items: center; }
.pcore-bar { height: 8px; background: #eee; border-radius: 99px; overflow: hidden; }
.pcore-bar i { display: block; height: 100%; background: #e0a100; border-radius: 99px; }
.pcore-sums { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; align-items: stretch; }
.pcore-sum { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 18px 14px; border: 1px solid var(--pcore-line); border-radius: 16px; background: #fff; }
.pcore-sum-low { border: 2px solid var(--pcore-accent); }
.pcore-sum-t { font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pcore-muted); }
.pcore-sum-p { font-size: 2.3rem; line-height: 1; color: var(--pcore-accent); font-weight: 800; }
.pcore-sum-prov { display: inline-flex; align-items: center; gap: 8px; }
.pcore-sum-d { font-size: .8rem; color: var(--pcore-muted); }
.pcore-sum-save { background: linear-gradient(160deg, #ff8a3d, #f26a1b); border: 0; color: #fff; justify-content: center; }
.pcore-sum-save .pcore-sum-t, .pcore-sum-save .pcore-sum-p, .pcore-sum-save .pcore-sum-d { color: #fff; }
.pcore-sum-save .pcore-sum-d { font-size: .92rem; }
.pcore-go { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border-radius: 999px; background: #fdecee; color: var(--pcore-accent) !important; font-weight: 700; text-decoration: none !important; margin-top: auto; }
.pcore-go:hover { background: #fbd9de; }
.pcore-go-main { background: var(--pcore-accent); color: #fff !important; }
.pcore-go-main:hover { background: var(--pcore-accent-dark); }
.pcore-logo { height: 26px; width: auto; max-width: 96px; object-fit: contain; }
.pcore-wordmark { display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border-radius: 6px; font-size: .74rem; font-weight: 800; letter-spacing: -.01em; background: #eee; color: #222; white-space: nowrap; }
.pcore-wm-billetreduc { background: #fff; color: #e3001b; border: 1px solid #f3c3c9; }
.pcore-wm-ticketac { background: #fff; color: #111; border: 1px solid #ddd; }
.pcore-wm-theatreonline { background: #111; color: #fff; }
.pcore-wm-ticketmaster { background: #026cdf; color: #fff; }
.pcore-wm-francebillet { background: #fff; color: #e5002d; border: 1px solid #f3c3c9; }
.pcore-wm-fnac { background: #e9a900; color: #111; }
.pcore-all { margin-top: 18px; border: 1px solid var(--pcore-accent); border-radius: 16px; overflow: hidden; }
.pcore-all-t { display: flex; justify-content: space-between; width: 100%; padding: 14px 18px; background: #fff; border: 0; cursor: pointer; font-weight: 700; color: var(--pcore-accent); font-size: 1rem; }
.pcore-all-t u { text-decoration: none; }
.pcore-all-l { list-style: none; margin: 0; padding: 0; }
.pcore-all-l[hidden] { display: none; }
.pcore-all-l li { display: grid; grid-template-columns: 1.6fr 1.2fr auto auto; align-items: center; gap: 14px; padding: 14px 18px; border-top: 1px solid var(--pcore-line); }
.pcore-all-l li.is-best { background: #f0f9f3; }
.pcore-row-prov { display: flex; align-items: center; gap: 12px; }
.pcore-row-prov span span { display: flex; flex-direction: column; gap: 2px; }
.pcore-row-prov small { margin-top: 2px; }
.pcore-row-prov small.ok { color: var(--pcore-ok); } .pcore-row-prov small.ok::before { content: "● "; }
.pcore-row-prov small.old { color: #e07b00; } .pcore-row-prov small.old::before { content: "● "; }
.pcore-row-d { font-size: .82rem; color: var(--pcore-muted); text-align: right; }
.pcore-row-p { font-weight: 800; font-size: 1.1rem; min-width: 84px; text-align: right; }
.pcore-grid[hidden] { display: none; }
@media (max-width: 780px) {
  .pcore-fiche-top { grid-template-columns: 1fr; }
  .pcore-fiche-poster { max-width: 260px; }
  .pcore-fiche-title { font-size: 1.6rem; }
  .pcore-fiche-mid { grid-template-columns: 1fr; }
  .pcore-sums { grid-template-columns: 1fr; }
  .pcore-rev-list li { grid-template-columns: 100px 1fr 48px; }
  .pcore-rev-list li .pcore-sub { display: none; }
  .pcore-all-l li { grid-template-columns: 1fr auto; }
  .pcore-row-d { display: none; }
}

/* =====================  Charte Paris-Comédie : rouge, orange, blanc  ===================== */
.pcore {
  --pcore-accent: #e51b23;
  --pcore-accent-dark: #bb0710;
  --pcore-red-2: #f12931;
  --pcore-orange: #ff7a1a;
  --pcore-orange-2: #ff9d3d;
  --pcore-tint: #fff4ee;
  --pcore-ink: #1b1b1f;
  --pcore-muted: #6b6b73;
  --pcore-line: #f0e6e3;
  --pcore-soft: #fff9f7;
  --pcore-ok: #1c7a45;
  --pcore-radius: 22px;
  --pcore-grad: linear-gradient(135deg, #e51b23, #f12931 55%, #bb0710);
  --pcore-grad-warm: linear-gradient(135deg, #e51b23 0%, #ff5a1f 60%, #ff9d3d 100%);
  --pcore-gloss: linear-gradient(180deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.08) 48%, rgba(255,255,255,0) 52%);
  --pcore-shadow: 0 1px 2px rgba(27,27,31,.05), 0 12px 32px -14px rgba(27,27,31,.2);
  --pcore-shadow-up: 0 2px 4px rgba(27,27,31,.06), 0 26px 50px -18px rgba(229,27,35,.35);
  --pcore-ease: cubic-bezier(.22,.7,.2,1);
}

/* Recherche */
.pcore-search { background: linear-gradient(180deg, #fff, var(--pcore-soft)); border: 1px solid var(--pcore-line); border-radius: 26px; padding: 26px 28px 22px; box-shadow: var(--pcore-shadow); margin-bottom: 30px; }
.pcore-search label { font-size: .74rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--pcore-accent); margin-bottom: 10px; }
.pcore-search input[type="search"] {
  height: 60px; padding: 0 22px 0 58px; font-size: 1.08rem; border: 1.5px solid var(--pcore-line); border-radius: 999px; background: #fff
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23e51b23' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 22px center;
  box-shadow: 0 8px 24px -14px rgba(27,27,31,.3); transition: border-color .2s, box-shadow .2s;
}
.pcore-search input[type="search"]:focus { border-color: var(--pcore-accent); box-shadow: 0 0 0 5px rgba(229,27,35,.12), 0 8px 24px -14px rgba(27,27,31,.3); outline: none; }
.pcore-chips { gap: 10px; margin-top: 16px; }
.pcore-chips button { border-radius: 999px; padding: 9px 18px; font-weight: 600; background: #fff; transition: all .2s var(--pcore-ease); }
.pcore-chips button:hover { border-color: var(--pcore-orange); color: var(--pcore-accent); transform: translateY(-1px); }
.pcore-chips button.is-on { background: var(--pcore-gloss), var(--pcore-grad); color: #fff; border-color: transparent; box-shadow: 0 8px 18px -8px rgba(229,27,35,.6), inset 0 1px 0 rgba(255,255,255,.45); }
.pcore-count { font-size: .82rem; letter-spacing: .04em; }

/* Cartes */
.pcore-grid { gap: 28px; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.pcore-card { border: 1px solid var(--pcore-line); border-radius: var(--pcore-radius); box-shadow: var(--pcore-shadow); transition: transform .35s var(--pcore-ease), box-shadow .35s var(--pcore-ease), border-color .35s; }
.pcore-card:hover { transform: translateY(-6px); box-shadow: var(--pcore-shadow-up); border-color: rgba(229,27,35,.28); }
.pcore-media { aspect-ratio: 4 / 5; background: #f4ecea; }
.pcore-media img { transition: transform .8s var(--pcore-ease); }
.pcore-card:hover .pcore-media img { transform: scale(1.05); }
.pcore-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 30%), linear-gradient(0deg, rgba(27,27,31,.35), transparent 38%); pointer-events: none; }
.pcore-badge { z-index: 2; background: var(--pcore-gloss), var(--pcore-grad-warm); color: #fff; border: 0; box-shadow: 0 6px 14px -6px rgba(229,27,35,.7), inset 0 1px 0 rgba(255,255,255,.5); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; padding: 6px 12px; }
.pcore-rank { z-index: 3; background: var(--pcore-gloss), var(--pcore-grad); color: #fff; border: 0; box-shadow: 0 6px 14px -6px rgba(229,27,35,.7), inset 0 1px 0 rgba(255,255,255,.5); }
.pcore-body { padding: 20px 22px 22px; gap: 8px; }
.pcore-title { font-size: 1.4rem; line-height: 1.18; letter-spacing: -.01em; }
.pcore-meta { font-size: .84rem; }
.pcore-rating span[aria-hidden] { color: var(--pcore-orange); }
.pcore-next { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; color: var(--pcore-ok); }
.pcore-next::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(28,122,69,.14); }
.pcore-offers { border-top: 1px dashed var(--pcore-line); margin-top: 8px; }
.pcore-offers li { padding: 9px 0; border-bottom: 1px dashed var(--pcore-line); }
.pcore-best .pcore-prov::after { background: var(--pcore-tint); color: var(--pcore-accent); }
.pcore-cta {
  position: relative; overflow: hidden; background: var(--pcore-gloss), var(--pcore-grad); border: 0; border-radius: 14px; min-height: 50px; font-size: .98rem; letter-spacing: .01em; cursor: pointer;
  box-shadow: 0 12px 24px -10px rgba(229,27,35,.65), inset 0 1px 0 rgba(255,255,255,.5); transition: transform .25s var(--pcore-ease), box-shadow .25s var(--pcore-ease), filter .25s;
}
.pcore-cta::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent); transform: skewX(-20deg); transition: left .7s var(--pcore-ease); }
.pcore-cta:hover { background: var(--pcore-gloss), var(--pcore-grad); filter: brightness(1.06); transform: translateY(-2px); box-shadow: 0 18px 30px -12px rgba(229,27,35,.7), inset 0 1px 0 rgba(255,255,255,.5); }
.pcore-cta:hover::after { left: 120%; }
.pcore-cta span[aria-hidden] { transition: transform .25s var(--pcore-ease); }
.pcore-cta:hover span[aria-hidden] { transform: translateX(4px); }

/* Fiche : héros rouge → orange, glossy */
.pcore-fiche { animation: pcore-in .55s var(--pcore-ease) both; }
@keyframes pcore-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.pcore-back { display: inline-flex; align-items: center; gap: 6px; color: var(--pcore-ink); background: #fff; border: 1px solid var(--pcore-line); border-radius: 999px; padding: 8px 16px; font-size: .86rem; margin-bottom: 18px; box-shadow: var(--pcore-shadow); transition: all .2s; }
.pcore-back:hover { border-color: var(--pcore-accent); color: var(--pcore-accent); }
.pcore-fiche-top { position: relative; overflow: hidden; isolation: isolate; border-radius: 28px; padding: 38px; gap: 38px; grid-template-columns: 260px 1fr; align-items: center; color: #fff; background: var(--pcore-grad-warm); box-shadow: var(--pcore-shadow-up); }
.pcore-fiche-top::before { content: ""; position: absolute; inset: -30px; z-index: -2; background: var(--pcore-poster, none) center / cover; filter: blur(34px) saturate(1.2); opacity: .34; mix-blend-mode: luminosity; transform: scale(1.15); }
.pcore-fiche-top::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.08) 38%, rgba(255,255,255,0) 40%), radial-gradient(120% 90% at 100% 0%, rgba(255,255,255,.28), transparent 55%); }
.pcore-fiche-poster { border-radius: 16px; border: 2px solid rgba(255,255,255,.9); box-shadow: 0 30px 55px -18px rgba(120,10,15,.7); background: #fff; }
.pcore .pcore-fiche-top .pcore-fiche-title, .pcore .pcore-fiche-top h2 { font-size: clamp(2rem, 4.4vw, 3.2rem); letter-spacing: -.02em; color: #fff !important; text-shadow: 0 2px 20px rgba(120,10,15,.45); }
.pcore .pcore-fiche-top .pcore-meta, .pcore .pcore-fiche-top .pcore-sub, .pcore .pcore-fiche-top p { color: rgba(255,255,255,.92); font-size: .95rem; }
.pcore .pcore-fiche-top .pcore-next { color: #fff; font-weight: 700; }
.pcore .pcore-fiche-top .pcore-next::before { box-shadow: 0 0 0 4px rgba(255,255,255,.28); }
.pcore-fiche-top .pcore-fiche-rate strong { color: #fff; font-size: 1.1rem; }
.pcore-fiche-top .pcore-stars { color: rgba(255,255,255,.4); }
.pcore-fiche-top .pcore-stars > span::before { color: #fff; }
.pcore-badge-inline { background: rgba(255,255,255,.2); color: #fff; border: 1px solid rgba(255,255,255,.7); box-shadow: inset 0 1px 0 rgba(255,255,255,.5); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pcore-fiche-tags span { background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.65); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.5); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }

/* Fiche : sections */
.pcore-fiche-mid { gap: 24px; margin-top: 28px; }
.pcore-synopsis, .pcore-avis-pc, .pcore-reviews, .pcore-compare-inline { border: 1px solid var(--pcore-line); border-radius: 24px; padding: 28px 30px; box-shadow: var(--pcore-shadow); background: #fff; }
.pcore-fiche h3 { font-size: 1.25rem; margin: 0 0 16px; display: flex; align-items: center; gap: 12px; letter-spacing: -.01em; }
.pcore-fiche h3::after { content: ""; flex: 1; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--pcore-accent), var(--pcore-orange) 55%, transparent); opacity: .55; }
.pcore-synopsis p { font-size: 1.06rem; line-height: 1.75; color: #2b2b31; }
.pcore-avis-pc { background: linear-gradient(160deg, #fff, var(--pcore-tint)); border-color: #ffd9c7; }
.pcore-avis-pc li { padding-left: 30px; }
.pcore-avis-pc li::before { content: "✓"; display: grid; place-items: center; width: 20px; height: 20px; top: 1px; border-radius: 50%; background: var(--pcore-gloss), var(--pcore-grad); color: #fff; font-size: .68rem; box-shadow: 0 4px 10px -4px rgba(229,27,35,.6), inset 0 1px 0 rgba(255,255,255,.5); }
.pcore-reviews, .pcore-compare-inline { margin-top: 24px; }
.pcore-rev-note { font-size: 3.2rem; font-weight: 800; letter-spacing: -.03em; background: var(--pcore-grad-warm); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pcore-stars > span::before { color: var(--pcore-orange); }
.pcore-rev-top .pcore-stars { align-self: flex-start; }
.pcore-bar { height: 10px; background: #f6ece8; }
.pcore-bar i { background: linear-gradient(90deg, var(--pcore-accent), var(--pcore-orange)); box-shadow: inset 0 1px 0 rgba(255,255,255,.45); }

/* Comparateur */
.pcore-sums { gap: 18px; }
.pcore-sum { border: 1px solid var(--pcore-line); border-radius: 22px; padding: 24px 18px; box-shadow: var(--pcore-shadow); }
.pcore-sum-low { border: 1.5px solid var(--pcore-accent); background: linear-gradient(180deg, #fff, var(--pcore-soft)); box-shadow: 0 0 0 5px rgba(229,27,35,.09), var(--pcore-shadow); }
.pcore-sum-t { color: var(--pcore-muted); letter-spacing: .14em; font-size: .72rem; }
.pcore-sum-p { font-size: 2.7rem; letter-spacing: -.03em; color: var(--pcore-ink); }
.pcore-sum-low .pcore-sum-p { background: var(--pcore-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pcore-sum-save { position: relative; overflow: hidden; background: var(--pcore-grad-warm); border: 0; box-shadow: var(--pcore-shadow-up); }
.pcore-sum-save::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.06) 45%, rgba(255,255,255,0) 50%); pointer-events: none; }
.pcore-sum-save .pcore-sum-t, .pcore-sum-save .pcore-sum-d { color: rgba(255,255,255,.95); position: relative; }
.pcore-sum-save .pcore-sum-p { color: #fff; -webkit-text-fill-color: #fff; position: relative; text-shadow: 0 2px 14px rgba(120,10,15,.4); }
.pcore-go { border-radius: 999px; background: var(--pcore-tint); border: 1px solid #ffd9c7; transition: all .2s var(--pcore-ease); }
.pcore-go:hover { transform: translateY(-2px); background: #ffe7da; }
.pcore-go-main { position: relative; border: 0; background: var(--pcore-gloss), var(--pcore-grad); box-shadow: 0 12px 22px -10px rgba(229,27,35,.7), inset 0 1px 0 rgba(255,255,255,.5); }
.pcore-go-main:hover { background: var(--pcore-gloss), var(--pcore-grad); filter: brightness(1.07); }
.pcore-all { border: 1px solid var(--pcore-line); border-radius: 22px; box-shadow: var(--pcore-shadow); background: #fff; }
.pcore-all-t { color: var(--pcore-ink); padding: 18px 24px; font-size: 1.02rem; }
.pcore-all-t u { color: var(--pcore-accent); }
.pcore-all-l li { padding: 16px 24px; border-top: 1px solid var(--pcore-line); transition: background .2s; }
.pcore-all-l li:hover { background: var(--pcore-soft); }
.pcore-all-l li.is-best { background: linear-gradient(90deg, var(--pcore-tint), #fff); box-shadow: inset 4px 0 0 var(--pcore-accent); }
.pcore-wordmark { height: 30px; border-radius: 8px; padding: 0 11px; }
.pcore-logo { height: 30px; }
.pcore-row-p { font-size: 1.25rem; letter-spacing: -.01em; }

/* Fenêtre (autres listes) */
.pcore-modal { background: rgba(27,27,31,.55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); animation: pcore-fade .25s ease both; }
@keyframes pcore-fade { from { opacity: 0; } to { opacity: 1; } }
.pcore-modal .pcore-fiche { background: var(--pcore-soft); border-radius: 30px; padding: 26px; }
.pcore-legal { font-size: .78rem; }

@media (max-width: 780px) {
  .pcore-search { padding: 20px 16px 16px; border-radius: 22px; }
  .pcore-search input[type="search"] { height: 54px; }
  .pcore-fiche-top { grid-template-columns: 1fr; padding: 24px 20px; gap: 22px; border-radius: 22px; }
  .pcore-fiche-poster { max-width: 220px; margin: 0 auto; }
  .pcore-synopsis, .pcore-avis-pc, .pcore-reviews, .pcore-compare-inline { padding: 22px 18px; border-radius: 20px; }
  .pcore-sum-p { font-size: 2.3rem; }
}
@media (prefers-reduced-motion: reduce) {
  .pcore-fiche, .pcore-modal { animation: none; }
  .pcore-card, .pcore-media img, .pcore-cta, .pcore-cta::after, .pcore-go, .pcore-chips button { transition: none; }
  .pcore-card:hover, .pcore-card:hover .pcore-media img { transform: none; }
}

/* Pas de reflet d'affiche sous le héros : uniquement rouge → orange. */
.pcore-fiche-top::before { display: none; }

/* Alignement des boutons en bas de carte */
.pcore-card{display:flex;flex-direction:column}
.pcore-card .pcore-body{flex:1;display:flex;flex-direction:column}
.pcore-body .pcore-cta{margin-top:auto !important}
.pcore-body .pcore-offers,.pcore-body .pcore-tags{margin-bottom:12px}

/* Carte allégée : meilleur prix seul */
.pcore-bestline{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:8px 0 12px;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#fff4ee,#fff);border:1px solid #ffd9c7}
.pcore-bestlabel{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#bb0710;width:100%}
.pcore-bestprice{font-size:26px;line-height:1;background:var(--pcore-grad,linear-gradient(135deg,#e51b23,#ff7a1a));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

.pcore-saveline{width:100%;margin-top:6px;padding:5px 10px;border-radius:999px;font-size:12.5px;font-weight:600;color:#fff;background:linear-gradient(135deg,#e51b23,#ff7a1a);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 2px 6px rgba(229,27,35,.25)}
.pcore-saveline strong{color:#fff}
.pcore-saveline-flat{background:#fff4ee;color:#bb0710;box-shadow:none;border:1px solid #ffd9c7}
