/* DarkMag INM - Templates thematiques, sujets et articles */

/* Blocs custom articles */
.inm-pq{margin:28px 0;padding:22px 28px;background:#0d0d0d;border-left:4px solid #cc0000;position:relative;}
.inm-pq::before{content:"\201C";position:absolute;top:-10px;left:18px;font-size:60px;color:#cc0000;opacity:.4;font-family:Georgia,serif;line-height:1;}
.inm-pq p{font-size:20px;font-weight:700;color:#fff;line-height:1.4;margin:0;font-style:italic;}
.inm-pq span{display:block;margin-top:8px;font-size:11px;color:#888;text-transform:uppercase;letter-spacing:1px;font-style:normal;}
.inm-img-caption{margin:24px 0;}
.inm-img-caption img{max-width:100%;border:1px solid #2a2a2a;display:block;}
.inm-img-caption figcaption{font-size:11px;color:#666;margin-top:6px;font-style:italic;}
.inm-verite{margin-top:32px;padding:20px 24px;background:#0a1a0a;border:1px solid #1a3a1a;border-left:4px solid #2a7a2a;}
.inm-verite-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#4caf50;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #1a3a1a;}
.inm-verite p{font-size:13px;color:#bbb;line-height:1.75;margin-bottom:10px;}
.inm-verite p:last-child{margin-bottom:0;}
.inm-sources{margin-top:12px;font-size:11px;color:#666;border-top:1px solid #1a3a1a;padding-top:10px;}
.inm-sources a{color:#4caf50;}

/* Variables */
:root {
    --inm-red:    #cc0000;
    --inm-dark:   #0d0d0d;
    --inm-darker: #111111;
    --inm-mid:    #1a1a1a;
    --inm-border: #2a2a2a;
    --inm-text:   #f0f0f0;
    --inm-muted:  #aaaaaa;
    --inm-radius: 4px;
}

/* Reset page */
.inm-page { background:var(--inm-dark); color:var(--inm-text); min-height:100vh; }
body:has(.inm-page) .wrapper,
body:has(.inm-page) .page-section,
body.single-post .page-section,
body.home .page-section { padding-top:0!important; }
body:has(.inm-page) #page-site-header { display:none!important; height:0!important; min-height:0!important; padding:0!important; margin:0!important; overflow:hidden!important; }

/* Breadcrumb */
.inm-breadcrumb { background:var(--inm-darker); border-bottom:1px solid var(--inm-border); padding:10px 0; }
.inm-breadcrumb ol { list-style:none; margin:0 auto; padding:0 20px; max-width:1200px; display:flex; flex-wrap:wrap; align-items:center; gap:4px; font-size:0.82rem; }
.inm-breadcrumb li { display:flex; align-items:center; gap:4px; color:var(--inm-muted); }
.inm-breadcrumb li + li::before { content:'\203A'; color:var(--inm-muted); }
.inm-breadcrumb a { color:var(--inm-muted); text-decoration:none; transition:color 0.2s; }
.inm-breadcrumb a:hover { color:var(--inm-red); }
.inm-breadcrumb__current { color:var(--inm-text); font-weight:500; }

/* Hero */
.inm-hero { position:relative; min-height:400px; display:flex; align-items:center; justify-content:center; background-size:cover; background-position:center 20%; background-color:var(--inm-darker); overflow:hidden; }
.inm-hero__overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(13,13,13,.55) 0%,rgba(13,13,13,.80) 100%); }
.inm-hero__content { position:relative; z-index:2; max-width:860px; padding:60px 24px; text-align:center; }
.inm-hero__title { font-size:clamp(2rem,5vw,3.2rem); font-weight:800; line-height:1.15; color:#fff; margin:0 0 20px; text-transform:uppercase; letter-spacing:.02em; }

/* Corps */
.inm-page__body { max-width:1200px; margin:0 auto; padding:0 20px 60px; }
.inm-section { margin-top:60px; }
.inm-section__title { font-size:1.4rem; font-weight:700; color:var(--inm-text); text-transform:uppercase; letter-spacing:.04em; margin:0 0 24px; padding-bottom:12px; border-bottom:2px solid var(--inm-red); }

/* Grilles */
.inm-grid { display:grid; gap:20px; }
.inm-grid--3 { grid-template-columns:repeat(3,1fr); }
.inm-grid--4 { grid-template-columns:repeat(4,1fr); }
@media(max-width:900px){ .inm-grid--3,.inm-grid--4{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .inm-grid--3,.inm-grid--4{ grid-template-columns:1fr; } }

/* Card article/page */
.inm-card { background:var(--inm-mid); border:1px solid var(--inm-border); border-radius:var(--inm-radius); overflow:hidden; transition:border-color .2s,transform .2s; }
.inm-card:hover { border-color:var(--inm-red); transform:translateY(-2px); }
.inm-card__link { display:flex; flex-direction:column; text-decoration:none; color:inherit; height:100%; }
.inm-card__img { width:100%; aspect-ratio:16/9; overflow:hidden; background:var(--inm-darker); }
.inm-card__img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.inm-card:hover .inm-card__img img { transform:scale(1.04); }
.inm-card__no-img { width:100%; height:100%; background:var(--inm-border); }
.inm-card__body { padding:16px; flex:1; display:flex; flex-direction:column; gap:10px; }
.inm-card__title { font-size:.95rem; font-weight:700; line-height:1.4; color:var(--inm-text); margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.inm-card__excerpt { font-size:.85rem; color:var(--inm-muted); line-height:1.5; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.inm-card__meta { display:flex; gap:12px; font-size:.78rem; color:var(--inm-muted); margin-top:auto; }

/* Card sujet */
.inm-sujet-card { border-radius:var(--inm-radius); overflow:hidden; aspect-ratio:16/9; position:relative; }
.inm-sujet-card__link { display:flex; align-items:center; justify-content:center; width:100%; height:100%; background-size:cover; background-position:center; background-color:var(--inm-darker); text-decoration:none; position:relative; transition:transform .3s; }
.inm-sujet-card:hover .inm-sujet-card__link { transform:scale(1.02); }
.inm-sujet-card__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(13,13,13,.85) 0%,rgba(13,13,13,.15) 60%,transparent 100%); transition:background .3s; }
.inm-sujet-card:hover .inm-sujet-card__overlay { background:linear-gradient(to top,rgba(13,13,13,.92) 0%,rgba(13,13,13,.30) 60%,transparent 100%); }
.inm-sujet-card__title { position:relative; z-index:2; font-size:1.25rem; font-weight:800; color:#fff; margin:0; line-height:1.25; text-transform:uppercase; letter-spacing:.04em; text-align:center; padding:0 16px; text-shadow:0 2px 8px rgba(0,0,0,.8); }

/* Card theorie */
.inm-theory-list { display:flex; flex-direction:column; gap:12px; }
.inm-theory-card { background:var(--inm-mid); border:1px solid var(--inm-border); border-radius:var(--inm-radius); overflow:hidden; transition:border-color .2s; }
.inm-theory-card:hover { border-color:var(--inm-red); }
.inm-theory-card__link { display:flex; align-items:center; gap:16px; text-decoration:none; color:inherit; padding:12px; }
.inm-theory-card__thumb { flex:0 0 72px; width:72px; height:72px; border-radius:3px; overflow:hidden; background:var(--inm-darker); }
.inm-theory-card__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.inm-theory-card__no-img { width:100%; height:100%; background:var(--inm-border); }
.inm-theory-card__body { flex:1; min-width:0; }
.inm-theory-card__title { font-size:.92rem; font-weight:700; color:var(--inm-text); margin:0 0 4px; line-height:1.35; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.inm-theory-card__excerpt { font-size:.82rem; color:var(--inm-muted); margin:0; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* Bouton charger plus */
.inm-load-more-wrap { text-align:center; margin-top:32px; }
.inm-btn--load-more { background:transparent; border:2px solid var(--inm-red); color:var(--inm-red); font-size:.9rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:12px 36px; border-radius:var(--inm-radius); cursor:pointer; transition:background .2s,color .2s; }
.inm-btn--load-more:hover { background:var(--inm-red); color:#fff; }
.inm-btn--load-more:disabled { opacity:.4; cursor:not-allowed; }

/* Contenu editorial */
.inm-editorial { max-width:800px; }
.inm-editorial h2 { font-size:1.25rem; font-weight:700; color:var(--inm-text); border-left:4px solid var(--inm-red); padding-left:14px; margin:40px 0 16px; }
.inm-editorial p { font-size:1rem; line-height:1.75; color:rgba(240,240,240,.85); margin:0 0 18px; }

/* Responsive hero */
@media(max-width:768px){
    .inm-hero { min-height:320px; }
    .inm-hero__content { padding:40px 20px; }
    .inm-page__body { padding:0 16px 40px; }
    .inm-section { margin-top:40px; }
}

/* Date article */
.inm-article-date { font-size:.78rem; color:var(--inm-muted); padding:10px 20px; max-width:1200px; margin:0 auto; }
body.single-post .entry-content, body.single-post .post-content { margin-top:32px; }

/* Meta article */
.inm-article-meta { display:flex; align-items:center; gap:10px; font-size:.78rem; color:var(--inm-muted); padding:16px 0; margin-top:24px; border-top:1px solid var(--inm-border); }
.inm-article-meta a { color:var(--inm-muted); text-decoration:none; }
.inm-article-meta a:hover { color:var(--inm-red); }
.inm-article-meta__sep { color:var(--inm-border); }

/* Homepage */
.inm-home { background:var(--inm-dark); min-height:100vh; max-width:1200px; margin:0 auto; padding:40px 20px 60px; }
.inm-home__une { margin-bottom:60px; }
.inm-home__une-link { display:grid; grid-template-columns:1fr 1fr; gap:32px; text-decoration:none; color:inherit; align-items:center; }
.inm-home__une-img { overflow:hidden; border-radius:var(--inm-radius); line-height:0; }
.inm-home__une-img img { width:100%; height:auto; display:block; transition:transform .4s; }
.inm-home__une-link:hover .inm-home__une-img img { transform:scale(1.03); }
.inm-home__une-body { display:flex; flex-direction:column; gap:14px; }
.inm-home__une-cat { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--inm-red); }
.inm-home__une-title { font-size:clamp(1.4rem,3vw,2.2rem); font-weight:800; line-height:1.2; color:var(--inm-text); margin:0; border-top:3px solid var(--inm-red); padding-top:16px; }
.inm-home__une-excerpt { font-size:.95rem; line-height:1.65; color:rgba(240,240,240,.75); margin:0; }
.inm-home__une-date { font-size:.75rem; color:var(--inm-muted); margin-top:auto; }
.inm-home__section { margin-bottom:48px; }
.inm-home__section-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:20px; padding-bottom:12px; border-bottom:2px solid var(--inm-red); }
.inm-home__section-title { font-size:1.1rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--inm-text); margin:0; }
.inm-home__section-more { font-size:.75rem; font-weight:600; color:var(--inm-red); text-decoration:none; text-transform:uppercase; letter-spacing:.04em; }
.inm-home__section-more:hover { opacity:.75; }

/* Formulaires homepage */
.inm-home__forms { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:60px; padding-top:48px; border-top:1px solid var(--inm-border); }
.inm-form-block { background:var(--inm-mid); border:1px solid var(--inm-border); border-radius:var(--inm-radius); padding:28px; }
.inm-form-block--newsletter { border-color:var(--inm-red); }
.inm-form-block__title { font-size:1.1rem; font-weight:700; color:var(--inm-text); margin:0 0 8px; text-transform:uppercase; letter-spacing:.03em; }
.inm-form-block__desc { font-size:.85rem; color:var(--inm-muted); line-height:1.6; margin:0 0 20px; }
.inm-form__input,.inm-form__textarea { width:100%; background:var(--inm-darker); border:1px solid var(--inm-border); border-radius:var(--inm-radius); color:var(--inm-text); font-size:.88rem; padding:10px 14px; margin-bottom:10px; box-sizing:border-box; outline:none; transition:border-color .2s; font-family:inherit; }
.inm-form__input:focus,.inm-form__textarea:focus { border-color:var(--inm-red); }
.inm-form__textarea { resize:vertical; min-height:80px; }
.inm-form__row { display:flex; gap:10px; }
.inm-form__row .inm-form__input { flex:1; margin-bottom:0; }
.inm-form__btn { background:var(--inm-red); color:#fff; border:none; border-radius:var(--inm-radius); font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:10px 22px; cursor:pointer; transition:opacity .2s; white-space:nowrap; font-family:inherit; }
.inm-form__btn:hover { opacity:.85; }
.inm-form__btn:disabled { opacity:.5; cursor:not-allowed; }
.inm-form__msg { font-size:.8rem; margin:8px 0 0; min-height:1.2em; color:#4caf50; }
.inm-form__msg.error { color:#e53935; }
.inm-form__group { margin-bottom:14px; }
.inm-form__label { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--inm-muted); margin:0 0 8px; }
.inm-form__checks { display:flex; flex-wrap:wrap; gap:6px; }
.inm-form__check,.inm-form__radio { display:flex; align-items:center; gap:5px; font-size:.82rem; color:var(--inm-text); cursor:pointer; padding:4px 10px; border:1px solid var(--inm-border); border-radius:20px; transition:border-color .2s,background .2s; }
.inm-form__check:hover,.inm-form__radio:hover { border-color:var(--inm-red); }
.inm-form__check input,.inm-form__radio input { accent-color:var(--inm-red); }
.inm-form__radios { display:flex; gap:8px; }
.inm-form__btn--full { width:100%; margin-top:4px; }
@media(max-width:768px){ .inm-home__une-link{grid-template-columns:1fr;gap:20px;} .inm-home{padding:20px 16px 40px;} .inm-home__forms{grid-template-columns:1fr;} .inm-form__row{flex-direction:column;} }

/* Template article single */
.inm-article { background:var(--inm-dark); color:var(--inm-text); }
.inm-article__hero { width:100%; margin:0; padding:0; display:block; line-height:0; }
.inm-article__hero img { width:100%; height:auto; display:block; }
.inm-article__body { max-width:780px; margin:0 auto; padding:0 20px 60px; }
.inm-article__header { margin-bottom:8px; }
.inm-article__title { font-size:clamp(1.7rem,4.5vw,2.6rem); font-weight:800; line-height:1.2; color:var(--inm-text); margin:0 0 32px; padding-top:18px; border-top:3px solid var(--inm-red); }
.inm-article__body .entry-content { font-size:1rem; line-height:1.8; color:rgba(240,240,240,.88); }
.inm-article__body .entry-content p { margin-bottom:1.2em; }
.inm-article__body .entry-content h2 { font-size:1.3rem; font-weight:700; color:var(--inm-text); margin:2em 0 .8em; padding-left:14px; border-left:4px solid var(--inm-red); }
.inm-article__body .entry-content h3 { font-size:1.1rem; font-weight:700; color:var(--inm-text); margin:1.6em 0 .6em; }
.inm-article .inm-breadcrumb { background:var(--inm-darker); border-bottom:1px solid var(--inm-border); margin-bottom:0; }
.inm-article .inm-breadcrumb ol { max-width:780px; }
@media(max-width:768px){ .inm-article__body{padding:0 16px 40px;} }

/* Breadcrumb article inline */
.inm-article__bc { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:.75rem; color:var(--inm-muted); margin-bottom:20px; margin-top:32px; }
.inm-article__bc a { color:var(--inm-muted); text-decoration:none; transition:color .2s; }
.inm-article__bc a:hover { color:var(--inm-red); }
.inm-article__bc span { color:var(--inm-border); }

/* Boutons partage */
.inm-share { display:flex; align-items:center; gap:10px; margin:20px 0 28px; flex-wrap:wrap; }
.inm-share__label { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--inm-muted); white-space:nowrap; }
.inm-share__btns { display:flex; gap:8px; flex-wrap:wrap; }
.inm-share__btn { display:inline-flex; align-items:center; gap:7px; padding:9px 12px; border-radius:4px; font-size:.82rem; font-weight:600; text-decoration:none; transition:opacity .2s,transform .15s; white-space:nowrap; border:none; cursor:pointer; }
.inm-share__btn:hover { opacity:.88; transform:translateY(-1px); }
.inm-share__btn svg { width:18px; height:18px; flex-shrink:0; }
.inm-share__btn span { display:none; }
.inm-share__btn--fb { background:#1877f2; color:#fff; }
.inm-share__btn--msg { background:#0084ff; color:#fff; }
.inm-share__btn--wa { background:#25d366; color:#fff; }
.inm-share__btn--tg { background:#0088cc; color:#fff; }
.inm-share__btn--tw { background:#000; color:#fff; }
.inm-share__btn--sms { background:#4caf50; color:#fff; }
.inm-share__btn--copy { background:#2a2a2a; color:var(--inm-muted); border:1px solid var(--inm-border); }
.inm-share__btn--copy:hover { border-color:var(--inm-red); color:var(--inm-text); }
.inm-share__btn--copy.copied { border-color:#4caf50; color:#4caf50; }

/* Grilles bas d'article */
.inm-art-grid { display:grid; gap:12px; }
.inm-art-grid--3 { grid-template-columns:repeat(3,1fr); }
.inm-art-grid--2 { grid-template-columns:repeat(2,1fr); }
@media(max-width:600px){ .inm-art-grid--3,.inm-art-grid--2{grid-template-columns:1fr;} }

/* Options newsletter */

/* Meta article bas de page */
.inm-article-footer { border-top:1px solid var(--inm-border); margin-top:48px; padding-top:20px; }
.inm-article-meta { display:flex!important; flex-direction:column; gap:10px; }
.inm-article-meta__group { display:flex!important; flex-direction:row; align-items:baseline; gap:10px; flex-wrap:wrap; }
.inm-article-meta__label { font-size:.72rem; color:#555; white-space:nowrap; flex-shrink:0; }
.inm-article-meta__tags { display:flex!important; flex-direction:row; flex-wrap:wrap; gap:8px; }
.inm-article-footer .inm-tag { color:#888!important; font-size:.78rem; }
.inm-article-footer a.inm-tag:hover { color:var(--inm-text)!important; }
.inm-article-meta__date { font-size:.72rem; color:#555; margin-top:4px; }
@media(max-width:768px){
    .inm-article-meta__group { justify-content:center; }
    .inm-article-meta__tags { justify-content:center; }
}
.inm-tag { display:inline; font-size:.78rem; font-weight:400; text-decoration:none; color:#888; background:none; border:none; padding:0; }
.inm-tag:hover { color:var(--inm-text); }
.inm-tag--entite { cursor:default; }
.inm-tag--entite:hover { color:#888; }
.inm-article-meta__date { font-size:.72rem; color:#555; margin-top:4px; }
