/* Styles strictement isolés dans la rubrique News du Nautilus. */
.nn-news {--nn-ink:#171717;--nn-muted:#606060;--nn-line:#e4e4e4;--nn-surface:#f6f6f6; color:var(--nn-ink); width:100%; margin:28px 0 34px; font-family:inherit}
.nn-news * {box-sizing:border-box}
.nn-news a {text-decoration:none!important; color:inherit}
.nn-news .nn-section-heading {display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin:0 0 18px}
.nn-news .nn-heading-left {display:flex; align-items:center; gap:12px}
.nn-news .nn-heading-left h2,.nn-news .nn-archive-heading h2 {padding:0; margin:0; color:var(--nn-ink); font-weight:750; font-size:clamp(22px,2.3vw,31px); line-height:1.15}
.nn-news .nn-live-dot {width:10px;height:10px; flex:0 0 10px; border-radius:100%; background:#222; box-shadow:0 0 0 4px #ececec}
.nn-news .nn-heading-actions {display:flex;align-items:center; gap:10px}
.nn-news .nn-all-news {font-size:14px; font-weight:650; margin-right:10px;white-space:nowrap}
.nn-news .nn-arrow {border:1px solid #222; background:#fff; color:#222; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; line-height:1; cursor:pointer; font-size:27px; padding:0}
.nn-news .nn-arrow:hover,.nn-news .nn-arrow:focus-visible {background:#222;color:white}
.nn-news .nn-track {display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3); gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:1px 1px 9px}
.nn-news .nn-track::-webkit-scrollbar {display:none}
.nn-news .nn-card {display:flex;flex-direction:column; min-width:0; margin:0;background:white;border:1px solid var(--nn-line); border-radius:9px; overflow:hidden; box-shadow:none; scroll-snap-align:start}
.nn-news .nn-card-image {position:relative; display:block;aspect-ratio:16/9; background:#e7e7e7; overflow:hidden}
.nn-news .nn-card-image img {display:block; width:100%;height:100%;object-fit:cover; transition:transform .25s ease}
.nn-news .nn-card:hover .nn-card-image img {transform:scale(1.035)}
.nn-news .nn-image-placeholder {height:100%;display:grid;place-items:center;background:linear-gradient(140deg,#222,#777);color:#fff;font-weight:750;letter-spacing:.12em;font-size:16px}
.nn-news .nn-card-body {padding:17px; display:flex;flex-direction:column;align-items:flex-start;flex-grow:1;gap:8px}
.nn-news .nn-card-topline {display:flex; justify-content:space-between;align-items:center; width:100%; gap:10px;font-size:11px;color:var(--nn-muted)}
.nn-news .nn-card-category {border:1px solid #aaa;border-radius:30px;padding:3px 9px;text-transform:uppercase;letter-spacing:.045em;font-weight:700;font-size:10px;color:#333}
.nn-news .nn-card-title {padding:0!important; margin:0!important;font-size:19px!important;line-height:1.25!important;font-weight:700;color:var(--nn-ink)!important}
.nn-news .nn-card-description {color:var(--nn-muted);font-size:14px;line-height:1.5;padding:0;margin:0 0 3px}
.nn-news .nn-card-cta {font-size:13px;font-weight:700; margin-top:auto; padding-top:6px}
.nn-news .nn-card-cta:hover,.nn-news .nn-card-title a:hover,.nn-news .nn-all-news:hover {text-decoration:underline!important}
.nn-news .nn-archive-heading {margin:0 0 22px}
.nn-news .nn-archive-heading p {margin:8px 0 0;font-size:16px;color:var(--nn-muted)}
.nn-news .nn-filters {display:flex;gap:9px;flex-wrap:wrap; margin:0 0 24px}
.nn-news .nn-filters a {border:1px solid #c4c4c4;padding:7px 13px;border-radius:24px;color:#222;font-size:13px;font-weight:600}
.nn-news .nn-filters a:hover,.nn-news .nn-filters .nn-filter-active {background:#222;color:#fff;border-color:#222}
.nn-news .nn-archive-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.nn-news .nn-pagination {display:flex;justify-content:center;align-items:center;gap:22px;margin-top:30px;font-size:14px}
.nn-news .nn-pagination a {border:1px solid #bbb;border-radius:20px;padding:7px 14px;font-weight:650}
.nn-news .nn-pagination a:hover {background:#222;color:#fff}
@media(max-width:980px){.nn-news .nn-track {grid-auto-columns:calc((100% - 18px)/2)}.nn-news .nn-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.nn-news .nn-track {grid-auto-columns:86%;gap:12px}.nn-news .nn-archive-grid{grid-template-columns:1fr}.nn-news .nn-all-news{font-size:12px;margin-right:0}.nn-news .nn-arrow{width:32px;height:32px}.nn-news .nn-card-body{padding:14px}.nn-news .nn-heading-left h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.nn-news .nn-track{scroll-behavior:auto}.nn-news .nn-card-image img{transition:none}}

/* Formulaire contributeur : indépendant de l'administration WordPress. */
.nn-form-outer{max-width:760px;margin:28px auto;padding:24px;background:#fff;color:#222;border:1px solid #dedede;border-radius:10px;font-family:inherit}
.nn-form-outer *{box-sizing:border-box}
.nn-form-outer h2{font-size:28px;line-height:1.2;margin:0 0 12px;padding:0;color:#171717}
.nn-form-intro{margin:0 0 22px;line-height:1.5}
.nn-contribute-form{display:flex;flex-direction:column;gap:18px}
.nn-form-field{display:flex;flex-direction:column;gap:7px}
.nn-form-field label{font-weight:650;font-size:15px}
.nn-form-field input:not([type=file]),.nn-form-field select,.nn-form-field textarea{width:100%;font-family:inherit;font-size:15px;color:#181818;border:1px solid #bbb;border-radius:5px;background:#fff;padding:11px 12px;min-height:44px}
.nn-form-field textarea{min-height:134px;resize:vertical}
.nn-form-field input[type=file]{font-size:14px;max-width:100%}
.nn-form-field small,.nn-form-note{font-size:12px;line-height:1.5;color:#666}
.nn-form-button{display:inline-block!important;align-self:flex-start;background:#1f1f1f!important;color:#fff!important;border:0!important;border-radius:5px;padding:12px 23px!important;font-size:15px;font-weight:650;line-height:1.4;text-decoration:none!important;cursor:pointer}
.nn-form-button:hover,.nn-form-button:focus-visible{background:#484848!important;color:#fff!important}
.nn-form-alert{padding:12px 14px;border-radius:5px;margin:10px 0 20px!important}
.nn-form-success{background:#e9f6ee;border:1px solid #91c4a5}
.nn-form-error{background:#fcecec;border:1px solid #dba2a2}
.nn-form-hp{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:620px){.nn-form-outer{padding:16px}}
