/* AINotariatBook — composants de l'extension. Couleurs issues du thème, avec valeurs de repli. */
:root {
	--anb-paper: var(--wp--preset--color--paper, #F6F3EC);
	--anb-surface: var(--wp--preset--color--surface, #FFFFFF);
	--anb-ink: var(--wp--preset--color--ink, #1B2130);
	--anb-ink-2: var(--wp--preset--color--ink-2, #3A4252);
	--anb-muted: var(--wp--preset--color--muted, #5D6473);
	--anb-line: var(--wp--preset--color--line, #DCD5C6);
	--anb-accent: var(--wp--preset--color--accent, #8B2E2A);
	--anb-navy: var(--wp--preset--color--navy, #24395C);
	--anb-serif: var(--wp--preset--font-family--serif, Georgia, serif);
	--anb-sans: var(--wp--preset--font-family--sans, system-ui, sans-serif);
	--anb-radius: 6px;
	--anb-shadow: 0 1px 2px rgba(27,33,48,.05), 0 6px 18px rgba(27,33,48,.06);
}
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.anb-muted { color: var(--anb-muted); font-size: .9rem; }
.anb-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
[hidden] { display: none !important; }

/* Boutons */
.anb-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4em; padding: .66em 1.2em; border: 1px solid var(--anb-accent); border-radius: 4px; background: var(--anb-accent); color: #fff !important; font: 600 .95rem/1.2 var(--anb-sans); text-decoration: none !important; cursor: pointer; transition: background .15s, color .15s; }
.anb-btn:hover { background: #6F221F; border-color: #6F221F; }
.anb-btn--ghost { background: transparent; color: var(--anb-accent) !important; }
.anb-btn--ghost:hover { background: #F5E3E1; color: #6F221F !important; }
.anb-btn:focus-visible, .anb-chips a:focus-visible, .anb-card__title a:focus-visible, .anb-video__play:focus-visible { outline: 2px solid var(--anb-navy); outline-offset: 2px; }

/* Recherche */
.anb-search { display: flex; gap: .5rem; width: 100%; max-width: 640px; }
.anb-search input[type="search"], .anb-filter input[type="search"] { flex: 1; min-width: 0; padding: .85em 1em; border: 1px solid #C9C0AD; border-radius: 4px; background: var(--anb-surface); color: var(--anb-ink); font: 400 1rem/1.3 var(--anb-sans); box-sizing: border-box; }
.anb-search input:focus, .anb-filter input:focus { outline: 2px solid var(--anb-navy); outline-offset: 1px; border-color: var(--anb-navy); }

/* Catalogue */
.anb-catalogue, .anb-videos { margin: 1.5rem 0 2rem; }
.anb-filter { display: flex; gap: .5rem; max-width: 620px; margin: 0 0 1rem; }
.anb-filter input[type="search"] { padding: .7em .9em; }
.anb-chips { display: flex; flex-wrap: wrap; gap: .45rem; padding: 0; margin: 0 0 1.25rem; list-style: none; }
.anb-chips a { display: inline-flex; align-items: center; padding: .4em .9em; border: 1px solid var(--anb-line); border-radius: 999px; background: var(--anb-surface); color: var(--anb-ink-2); font-size: .9rem; font-weight: 500; text-decoration: none; }
.anb-chips a:hover { border-color: var(--anb-accent); color: var(--anb-accent); }
.anb-chips a[aria-current="true"] { background: var(--anb-ink); border-color: var(--anb-ink); color: #fff; }
.anb-count { margin: 0 0 .9rem; color: var(--anb-muted); font-size: .9rem; font-weight: 600; }
.anb-count:empty { display: none; }

/* Cartes */
.anb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: 1rem; }
.anb-card { position: relative; display: flex; flex-direction: column; gap: .45rem; padding: 1.25rem 1.25rem 1.1rem; background: var(--anb-surface); border: 1px solid var(--anb-line); border-radius: var(--anb-radius); transition: border-color .15s, box-shadow .15s; box-sizing: border-box; min-width: 0; }
.anb-card:hover { border-color: #C6BDA9; box-shadow: var(--anb-shadow); }
.anb-card__kicker { margin: 0; font: 600 .72rem/1.3 var(--anb-sans); text-transform: uppercase; letter-spacing: .08em; color: var(--anb-accent); }
.anb-card__title { margin: 0; font: 600 1.2rem/1.25 var(--anb-serif); color: var(--anb-ink); }
.anb-card__title a { color: var(--anb-ink); text-decoration: none; }
.anb-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--anb-radius); }
.anb-card__title a:hover { color: var(--anb-accent); }
.anb-card__editeur { margin: 0; color: var(--anb-muted); font-size: .85rem; }
.anb-card__excerpt { margin: 0; color: var(--anb-ink-2); font-size: .95rem; line-height: 1.5; }
.anb-card__foot { display: flex; flex-direction: column; gap: .5rem; margin-top: auto; padding-top: .6rem; }
.anb-card__avis { margin: 0; display: flex; align-items: center; gap: .4rem; color: var(--anb-muted); font-size: .85rem; }
.anb-card__interet { margin: 0; align-self: flex-start; padding: .15em .55em; border-radius: 4px; background: #F4ECD6; color: #6A4E0F; font-size: .76rem; font-weight: 600; }
.anb-card__lien { margin: .2rem 0 0; font-size: .9rem; }
.anb-card__lien a { position: relative; z-index: 1; font-weight: 600; }
.anb-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.anb-tags li { padding: .15em .55em; border-radius: 999px; background: #ECE9E2; color: #4E5563; font-size: .76rem; font-weight: 600; }
.anb-stars { display: inline-flex; gap: 1px; color: #D4CDBE; font-size: .95rem; letter-spacing: 0; line-height: 1; }
.anb-stars .on { color: #B07A12; }
.anb-empty { padding: 1.25rem 1.4rem; margin: 1rem 0; border: 1px dashed #C9C0AD; border-radius: var(--anb-radius); color: var(--anb-ink-2); background: rgba(255,255,255,.6); }

/* Listes compactes (accueil) */
.anb-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--anb-line); }
.anb-list li { border-bottom: 1px solid var(--anb-line); }
.anb-list a { display: grid; gap: .15rem; padding: .85rem 0; color: var(--anb-ink); text-decoration: none; }
.anb-list__t { font: 600 1.08rem/1.3 var(--anb-serif); }
.anb-list__d { color: var(--anb-ink-2); font-size: .9rem; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.anb-list a:hover .anb-list__t { color: var(--anb-accent); }

/* Fiche outil */
.anb-interet { margin: 0 0 1.5rem; padding: 1rem 1.2rem; border: 1px solid #E3D3A8; border-left: 4px solid #B07A12; border-radius: 0 var(--anb-radius) var(--anb-radius) 0; background: #FBF6E8; }
.anb-interet p { margin: 0; font-size: .95rem; color: #4A3A12; }
.anb-interet__t { font-weight: 700; text-transform: uppercase; letter-spacing: .07em; font-size: .74rem !important; margin-bottom: .3rem !important; }
.anb-fiche { margin: 0 0 2rem; padding: 1.25rem 1.4rem; background: var(--anb-surface); border: 1px solid var(--anb-line); border-radius: var(--anb-radius); }
.anb-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: .9rem 1.5rem; margin: 0; }
.anb-facts div { min-width: 0; }
.anb-facts dt { margin: 0 0 .15rem; font: 600 .72rem/1.3 var(--anb-sans); text-transform: uppercase; letter-spacing: .08em; color: var(--anb-muted); }
.anb-facts dd { margin: 0; color: var(--anb-ink); font-size: .97rem; line-height: 1.45; overflow-wrap: anywhere; }
.anb-fiche__avis { margin: 1rem 0 0; padding-top: .9rem; border-top: 1px solid var(--anb-line); }
.anb-fiche__avis a { display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; text-decoration: none; }
.anb-fiche__avis a:hover { text-decoration: underline; }
.anb-sources { margin-top: 2.75rem; padding-top: 1.25rem; border-top: 1px solid var(--anb-line); }
.anb-sources h2, .anb-avis h2 { margin-top: 0; }
.anb-sources ul { padding-left: 1.2rem; }
.anb-sources li { margin: .3rem 0; overflow-wrap: anywhere; }

/* Avis */
.anb-avis { margin-top: 2.75rem; padding-top: 1.25rem; border-top: 1px solid var(--anb-line); scroll-margin-top: 90px; }
.anb-avis__list { margin: 0 0 1.5rem; padding: 0; list-style: none; display: grid; gap: .9rem; }
.anb-avis__item { padding: 1rem 1.2rem; background: var(--anb-surface); border: 1px solid var(--anb-line); border-radius: var(--anb-radius); }
.anb-avis__item--conseil { border-left: 3px solid var(--anb-navy); }
.anb-avis__item header { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .75rem; margin-bottom: .5rem; font-size: .88rem; color: var(--anb-muted); }
.anb-avis__qui strong { color: var(--anb-ink); }
.anb-avis__item time { margin-left: auto; }
.anb-avis__txt p { margin: 0 0 .5rem; }
.anb-avis__txt p:last-child { margin-bottom: 0; }
.anb-badge { padding: .15em .6em; border-radius: 999px; font-size: .76rem; font-weight: 700; background: #F5E3E1; color: var(--anb-accent); }
.anb-badge--conseil { background: #E3E9F2; color: var(--anb-navy); }
.anb-notice { padding: .9rem 1.1rem; border-radius: var(--anb-radius); background: #E4EFE8; color: #1F5A3D; border: 1px solid #BFD9C9; }
.anb-notice--err { background: #F5E3E1; color: #7A2421; border-color: #E5C3BF; }

/* Formulaires */
.anb-form-avis { margin-top: .5rem; border: 1px solid var(--anb-line); border-radius: var(--anb-radius); background: var(--anb-surface); }
.anb-form-avis > summary { padding: 1rem 1.2rem; cursor: pointer; font-weight: 700; color: var(--anb-accent); list-style: none; }
.anb-form-avis > summary::-webkit-details-marker { display: none; }
.anb-form-avis > summary::before { content: "+"; display: inline-block; width: 1.2em; font-weight: 700; }
.anb-form-avis[open] > summary::before { content: "–"; }
.anb-form-avis .comment-respond { padding: 0 1.2rem 1.2rem; }
.anb-form-avis .comment-reply-title { display: none; }
.anb-form, .anb-form-avis form { display: grid; gap: .9rem; }
.anb-form-avis form > p, .anb-form > p { margin: 0; }
.anb-field { display: grid; gap: .3rem; margin: 0; min-width: 0; }
.anb-field label, .anb-field legend { font-weight: 600; font-size: .92rem; color: var(--anb-ink); }
.anb-field input[type="text"], .anb-field input[type="email"], .anb-field input[type="url"], .anb-field select, .anb-field textarea { width: 100%; padding: .65em .8em; border: 1px solid #C9C0AD; border-radius: 4px; background: #fff; color: var(--anb-ink); font: 400 1rem/1.4 var(--anb-sans); box-sizing: border-box; }
.anb-field input:focus, .anb-field select:focus, .anb-field textarea:focus { outline: 2px solid var(--anb-navy); outline-offset: 1px; border-color: var(--anb-navy); }
.anb-field--inline { display: flex; flex-wrap: wrap; gap: .4rem 1rem; padding: 0; border: 0; }
.anb-field--inline legend { width: 100%; margin-bottom: .35rem; padding: 0; }
.anb-radio { display: inline-flex; align-items: center; gap: .35rem; font-weight: 400 !important; cursor: pointer; }
.anb-radio input, .anb-check input { accent-color: var(--anb-accent); width: 1rem; height: 1rem; }
.anb-check label { display: flex; align-items: flex-start; gap: .55rem; font-weight: 400; font-size: .92rem; line-height: 1.45; }
.anb-check input { margin-top: .2rem; flex: none; }
.anb-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: .9rem 1.2rem; }
.anb-form-avis .form-submit { margin: 0; }
.anb-proposer { max-width: 760px; padding: 1.4rem 1.5rem; background: var(--anb-surface); border: 1px solid var(--anb-line); border-radius: var(--anb-radius); box-sizing: border-box; }

/* Vidéos */
.anb-videos__rgpd { margin: 0 0 1rem; max-width: 72ch; }
.anb-grid--videos { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.anb-video { padding: 0 0 1.1rem; overflow: hidden; }
.anb-video > *:not(.anb-video__frame) { margin-inline: 1.15rem; }
.anb-video__frame { position: relative; aspect-ratio: 16 / 9; margin-bottom: .55rem; background: linear-gradient(135deg, #1B2130 0%, #24395C 100%); }
.anb-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.anb-video__play { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .45rem; width: 100%; border: 0; background: transparent; color: #fff; font: 600 1rem var(--anb-sans); cursor: pointer; }
.anb-video__play small { font-weight: 400; font-size: .78rem; color: #C9CCD3; }
.anb-video__icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: rgba(255,255,255,.12); border: 1.5px solid rgba(255,255,255,.75); transition: background .15s, transform .15s; }
.anb-video__icon::after { content: ""; margin-left: 4px; border-style: solid; border-width: 10px 0 10px 16px; border-color: transparent transparent transparent #fff; }
.anb-video__play:hover .anb-video__icon { background: var(--anb-accent); border-color: var(--anb-accent); transform: scale(1.05); }

/* Liens */
.anb-links-groups { display: grid; gap: 2.25rem; }
.anb-links-groups h2 { margin: 0 0 .3rem; }
.anb-links-groups section > .anb-muted { margin: 0 0 .9rem; }
.anb-links { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: .75rem; }
.anb-links li { padding: .95rem 1.1rem; background: var(--anb-surface); border: 1px solid var(--anb-line); border-radius: var(--anb-radius); min-width: 0; }
.anb-links a { display: grid; gap: .1rem; text-decoration: none; }
.anb-links__t { font: 600 1.05rem/1.3 var(--anb-serif); color: var(--anb-ink); }
.anb-links__u { font-size: .8rem; color: var(--anb-accent); overflow-wrap: anywhere; }
.anb-links a:hover .anb-links__t { color: var(--anb-accent); text-decoration: underline; }
.anb-links p { margin: .4rem 0 0; color: var(--anb-ink-2); font-size: .9rem; line-height: 1.45; }

/* Citations d'avis (accueil) */
.anb-quotes { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1rem; }
.anb-quotes li { padding: 1.1rem 1.25rem; background: var(--anb-surface); border: 1px solid var(--anb-line); border-radius: var(--anb-radius); }
.anb-quotes__outil { margin: 0 0 .5rem; font-size: .85rem; font-weight: 600; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.anb-quotes blockquote { margin: 0 0 .5rem; font: 400 1.05rem/1.5 var(--anb-serif); color: var(--anb-ink); }
.anb-quotes .anb-muted { margin: 0; }

@media (max-width: 560px) {
	.anb-search, .anb-filter { flex-direction: column; }
	.anb-search .anb-btn, .anb-filter .anb-btn { width: 100%; }
	.anb-avis__item time { margin-left: 0; width: 100%; }
	.anb-proposer { padding: 1.1rem; }
}
