/*
Theme Name: Nexus Affiliate
Author: OpenAI
Description: Thème éditorial WordPress natif, rapide et personnalisable pour médias et sites d'affiliation.
Version: 1.3.1
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: nexus-affiliate
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: block-patterns, block-styles, editor-style, full-site-editing, news, blog
*/

:root { color-scheme: light; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { text-wrap: pretty; }
img { height: auto; max-width: 100%; }
.wp-block-avatar img { aspect-ratio: 1; object-fit: cover; }
a { text-underline-offset: .18em; }
:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 3px; }
.skip-link { position: absolute; left: -9999px; top: 1rem; z-index: 99999; }
.skip-link:focus { left: 1rem; background: #fff; color: #111; padding: .75rem 1rem; }
.site-header { border-bottom: 1px solid var(--wp--preset--color--border); }
.site-footer { border-top: 1px solid var(--wp--preset--color--border); margin-top: var(--wp--preset--spacing--70); }
.nexus-card { border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--card); padding: var(--wp--preset--spacing--40); background: var(--wp--preset--color--surface); }
.nexus-meta { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.nexus-eyebrow { color: var(--wp--preset--color--accent); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nexus-article-header { margin-bottom: var(--wp--preset--spacing--50); }
.nexus-article-header .wp-block-post-featured-image img { aspect-ratio: 16/9; object-fit: cover; }
.nexus-disclosure { border-left: 4px solid var(--wp--preset--color--accent); background: var(--wp--preset--color--surface); padding: 1rem 1.25rem; font-size: .92rem; }
.nexus-offer { display: grid; gap: 1rem; align-items: center; }
.nexus-offer__badge { display: inline-block; width: fit-content; padding: .2rem .55rem; border-radius: 999px; background: var(--wp--preset--color--accent-soft); color: var(--wp--preset--color--contrast); font-size: .75rem; font-weight: 700; }
.nexus-offer__price { font-size: 1.35rem; font-weight: 750; }
.nexus-offer__button { display: inline-flex; justify-content: center; width: fit-content; border-radius: var(--wp--custom--radius--button); background: var(--wp--preset--color--accent); color: #fff; padding: .8rem 1.15rem; font-weight: 700; text-decoration: none; }
.nexus-offer__button:hover { filter: brightness(.92); }
.nexus-reading-width { max-width: var(--wp--style--global--content-size); }
.nexus-key-takeaways, .nexus-quick-answer, .nexus-verdict, .nexus-method, .nexus-audience, .nexus-update-note, .nexus-reviewer, .nexus-preferred-source { border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--card); padding: clamp(1rem, 3vw, 1.6rem); background: var(--wp--preset--color--surface); margin-block: var(--wp--preset--spacing--50); }
.nexus-key-takeaways { border-left: 5px solid var(--wp--preset--color--accent); }
.nexus-quick-answer { background: var(--wp--preset--color--accent-soft); }
.nexus-verdict { border-top: 5px solid var(--wp--preset--color--accent); }
.nexus-pros, .nexus-cons { border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--card); padding: var(--wp--preset--spacing--40); }
.nexus-pros { background: #effaf4; }
.nexus-cons { background: #fff6f2; }
.nexus-sources { margin-block: var(--wp--preset--spacing--60); padding-top: var(--wp--preset--spacing--40); border-top: 1px solid var(--wp--preset--color--border); font-size: .92rem; overflow-wrap: anywhere; }
.nexus-update-note p, .nexus-reviewer p, .nexus-preferred-source p, .nexus-author-credentials p { margin-block: .35rem; }
.nexus-preferred-source__button { display: inline-flex; background: var(--wp--preset--color--accent); color: #fff; padding: .7rem 1rem; border-radius: var(--wp--custom--radius--button); text-decoration: none; font-weight: 700; }
.nexus-related { margin-block: var(--wp--preset--spacing--60); }
.nexus-related__grid { display: grid; gap: var(--wp--preset--spacing--40); grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); }
.nexus-related__card { border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--card); overflow: hidden; background: var(--wp--preset--color--surface); }
.nexus-related__card img { display: block; aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.nexus-related__card h3 { font-size: 1.05rem; padding: 0 var(--wp--preset--spacing--40) var(--wp--preset--spacing--40); }
.nexus-related__card a { color: inherit; }
.nexus-author-credentials { color: var(--wp--preset--color--muted); font-size: .95rem; }
.nexus-author-page { margin-bottom: var(--wp--preset--spacing--60); }
.nexus-author-box { position: relative; display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: clamp(1.2rem, 3vw, 2rem); align-items: start; margin-block: var(--wp--preset--spacing--60); padding: clamp(1.25rem, 3vw, 2rem); overflow: hidden; border: 1px solid var(--wp--preset--color--border); border-radius: calc(var(--wp--custom--radius--card) + 4px); background: linear-gradient(135deg, var(--wp--preset--color--surface), var(--wp--preset--color--base)); box-shadow: 0 14px 40px rgba(23, 32, 51, .07); }
.nexus-author-box__accent { position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--wp--preset--color--accent); }
.nexus-author-box__photo { position: relative; }
.nexus-author-box__photo::after { content: ""; position: absolute; inset: -5px; z-index: 0; border: 1px solid var(--wp--preset--color--accent); border-radius: 50%; opacity: .25; pointer-events: none; }
.nexus-author-box__photo a { position: relative; z-index: 1; display: block; border-radius: 50%; }
.nexus-author-box__avatar { display: block; width: 128px; height: 128px; border-radius: 50%; object-fit: cover; box-shadow: 0 8px 24px rgba(23, 32, 51, .16); }
.nexus-author-box__body { min-width: 0; }
.nexus-author-box__eyebrow { margin: 0 0 .3rem; color: var(--wp--preset--color--accent); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.nexus-author-box__heading { display: flex; align-items: baseline; gap: .7rem 1rem; flex-wrap: wrap; }
.nexus-author-box__heading h2 { margin: 0; font-size: clamp(1.35rem, 2vw, 1.75rem); }
.nexus-author-box__heading h2 a { color: inherit; text-decoration: none; }
.nexus-author-box__heading h2 a:hover { color: var(--wp--preset--color--accent); }
.nexus-author-box__job { margin: 0; color: var(--wp--preset--color--muted); font-size: .92rem; font-weight: 650; }
.nexus-author-box__bio { margin: .7rem 0 .85rem; color: var(--wp--preset--color--contrast); line-height: 1.65; }
.nexus-author-box__expertise { display: flex; flex-wrap: wrap; gap: .4rem; }
.nexus-author-box__expertise span { padding: .25rem .6rem; border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 25%, transparent); border-radius: 999px; background: var(--wp--preset--color--accent-soft); color: var(--wp--preset--color--contrast); font-size: .78rem; font-weight: 650; }
.nexus-author-box__footer { margin-top: 1rem; }
.nexus-author-box__link { display: inline-flex; align-items: center; color: var(--wp--preset--color--accent); font-size: .9rem; font-weight: 750; text-decoration-thickness: 1px; }
@media (max-width: 600px) { .nexus-author-box { grid-template-columns: 1fr; gap: 1rem; } .nexus-author-box__photo { width: 88px; } .nexus-author-box__avatar { width: 88px; height: 88px; } }
@media (min-width: 700px) { .nexus-offer { grid-template-columns: 1fr auto; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
