/* ---------- Glossaire : liens et infobulles ---------- */
a.focus-gloss{text-decoration:underline dotted;text-underline-offset:.2em;position:relative;cursor:help}
a.focus-gloss[data-focus-def]:hover::after,a.focus-gloss[data-focus-def]:focus-visible::after{content:attr(data-focus-def);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:max-content;max-width:min(300px,80vw);padding:.6em .8em;border-radius:6px;background:#1d1f21;color:#fff;font-size:.85rem;font-weight:400;line-height:1.45;text-align:left;white-space:normal;box-shadow:0 6px 20px rgba(0,0,0,.25);z-index:9999;pointer-events:none}
a.focus-gloss[data-focus-def]:hover::before,a.focus-gloss[data-focus-def]:focus-visible::before{content:"";position:absolute;left:50%;bottom:calc(100% + 2px);transform:translateX(-50%);border:6px solid transparent;border-top-color:#1d1f21;border-bottom:0;z-index:9999}
@media (hover:none){a.focus-gloss[data-focus-def]::after,a.focus-gloss[data-focus-def]::before{display:none!important}}
/* ---------- Glossaire : index ---------- */
.focus-glossary__search input{width:100%;max-width:420px;padding:.55em .8em;border:1px solid rgba(0,0,0,.2);border-radius:6px;font:inherit;margin-top:.3em;display:block}
.focus-glossary__letters{display:flex;flex-wrap:wrap;gap:.3em;margin:1em 0 1.5em;position:sticky;top:0;background:inherit;padding:.4em 0;z-index:2}
.focus-glossary__letters a,.focus-glossary__letters span{display:inline-flex;align-items:center;justify-content:center;min-width:2em;height:2em;border-radius:4px;font-weight:600;text-decoration:none}
.focus-glossary__letters a{border:1px solid currentColor}
.focus-glossary__letters span{opacity:.3}
.focus-glossary__group h2{margin:1.2em 0 .4em;padding-bottom:.2em;border-bottom:2px solid currentColor}
.focus-glossary__group dl{margin:0}
.focus-glossary__item{padding:.5em 0;border-bottom:1px solid rgba(0,0,0,.08)}
.focus-glossary__item dt{font-weight:700}
.focus-glossary__item dd{margin:.15em 0 0;opacity:.85}
/* ---------- Bons plans ---------- */
.focus-deal{border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:1em 1.2em;margin:0 0 1.5em;display:grid;gap:.6em}
.focus-deal__prices{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6em}
.focus-deal__price{font-size:1.8em;font-weight:800;line-height:1}
.focus-deal__regular{text-decoration:line-through;opacity:.6}
.focus-deal__off{background:#c0392b;color:#fff;border-radius:4px;padding:.15em .45em;font-weight:700;font-size:.9em}
.focus-deal__meta{display:flex;flex-wrap:wrap;gap:.4em 1.2em;font-size:.92em;opacity:.85}
.focus-deal__code{font-family:monospace;border:1px dashed currentColor;padding:.1em .45em;border-radius:4px;user-select:all}
.focus-deal__btn{display:inline-block;justify-self:start;background:#1d1f21;color:#fff!important;padding:.7em 1.3em;border-radius:6px;font-weight:700;text-decoration:none!important}
.focus-deal__btn:hover{opacity:.9}
.focus-deal.is-expired{opacity:.75}
.focus-deal.is-expired .focus-deal__btn{background:#8a8f94;pointer-events:none}
.focus-deal__badge{justify-self:start;background:#8a8f94;color:#fff;border-radius:4px;padding:.2em .6em;font-weight:700;font-size:.85em;text-transform:uppercase}
.focus-deal__disclosure{font-size:.8em;opacity:.7;margin:0}
.focus-deals{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.2em;margin:1em 0}
.focus-deals__card{border:1px solid rgba(0,0,0,.12);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.focus-deals__card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.focus-deals__body{padding:.8em 1em 1em;display:flex;flex-direction:column;gap:.35em;flex:1}
.focus-deals__title{font-weight:700;line-height:1.3;text-decoration:none}
.focus-deals__merchant{font-size:.85em;opacity:.75}
.focus-deals__card.is-expired{opacity:.6}
/* ---------- Articles liés ---------- */
.focus-related{margin:2em 0 1em;padding-top:1em;border-top:1px solid rgba(0,0,0,.12)}
.focus-related__title{font-size:1.25em;margin:0 0 .8em}
.focus-related__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1em;list-style:none;margin:0;padding:0}
.focus-related__item a{text-decoration:none;display:flex;flex-direction:column;gap:.4em}
.focus-related__item img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;display:block}
.focus-related__name{font-weight:700;line-height:1.3}
.focus-related__date{font-size:.8em;opacity:.7}
