/*
Theme Name: Astra Socle Réutilisable
Description: Architecture éditoriale neutre, cartes et comparatifs sur Astra.
Version: 1.2.0
Template: astra
License: GPL-2.0-or-later
Text Domain: astra-socle-child
*/
:root{--ws-accent:#12664f;--ws-ink:#17343e;--ws-tint:#eff7f3;--ws-footer:#102b34;--ws-focus:#ad6500;--ws-line:#d9e6df}
html{font-size:100%!important}body{color:var(--ws-ink);font-family:"Google Sans Text",Arial,sans-serif;font-size:1.125rem;line-height:1.6;letter-spacing:.1px}
h1,h2,h3,h4,.main-header-menu,.ast-mobile-popup-drawer{font-family:"Google Sans",Arial,sans-serif}h1,h2{font-weight:500;letter-spacing:-.5px}h3,h4{font-weight:500;letter-spacing:normal}
.entry-content p,.entry-content li,.entry-content td,.entry-content th{font-size:1.125rem;line-height:1.6}.main-header-menu .menu-link,.ast-mobile-popup-drawer .menu-link{font-size:1.125rem!important;font-weight:500;letter-spacing:.25px;line-height:1.5}.main-header-menu>.menu-item>.menu-link{padding-inline:12px}
a{color:var(--ws-accent)}a:hover,a:focus-visible{color:var(--ast-global-color-1,#045cb4)}.entry-content blockquote a:not(.ws-affiliate){color:var(--ws-accent)}.entry-content blockquote a:not(.ws-affiliate):hover{color:var(--ast-global-color-1,#045cb4)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--ws-focus);outline-offset:4px}
.ws-hero{padding:56px 24px;background:var(--ws-ink);color:#e1f0ea;text-align:center}.ws-hero h1{color:#fff;line-height:1.15;font-size:clamp(2rem,4.1vw,3.4rem);margin:0 0 24px}.ws-hero h1>span{display:block}.ws-hero h1>span+span{color:#b9e7cd}.ws-hero>p{max-width:750px;margin:0 auto 24px}.ws-search{max-width:750px;display:flex;gap:8px;background:#fff;padding:8px;border-radius:12px;margin:auto}.ws-search input{min-width:0;flex:1;border:0;background:#fff;font-size:1.125rem}.ws-search button,.ws-button,.ws-affiliate{min-height:44px;background:var(--ws-accent);color:#fff!important;border:0;border-radius:8px;padding:12px 18px;font:500 1.125rem "Google Sans",Arial,sans-serif;text-decoration:none!important}.ws-section{max-width:1160px;margin:auto;padding:42px 22px}.ws-section>h2{font-size:clamp(1.7rem,3vw,2.15rem);margin:0 0 24px}.ws-universe-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.ws-comparison-grid,.ws-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ws-card{min-width:0;padding:22px;border:1px solid var(--ws-line);border-radius:16px;background:#fff;color:var(--ws-ink);transition:border-color .15s,box-shadow .15s}.ws-card:hover{border-color:var(--ws-accent);box-shadow:0 5px 18px #17343e0d}.ws-card h3{font-size:1.25rem;line-height:1.4;margin:12px 0}.ws-card h3 a,.ws-card h3 a:hover,.ws-comparison-card,.ws-comparison-card:hover,.ws-universe-card,.ws-universe-card:hover{text-decoration:none!important}.ws-card p{margin:0 0 16px;color:#52636b;font-size:1.125rem}.ws-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.ws-icon{display:inline-flex;background:var(--ws-tint);color:var(--ws-accent);padding:14px;border-radius:14px}.ws-comparison-card{display:flex;flex-direction:column}.ws-card-cta{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:44px;margin-top:auto;border-top:1px solid var(--ws-line);padding-top:14px;color:var(--ws-accent);font-weight:500}.ws-read-more{display:inline!important}.ws-note{padding:24px;border-left:3px solid var(--ws-accent);background:var(--ws-tint);border-radius:0 12px 12px 0;margin-block:32px}.ws-note h2{margin-top:0}.ws-catalogue{max-width:1160px;margin:auto}.ws-pagination ul{display:flex;gap:12px;list-style:none;padding:0}.ws-pagination a,.ws-pagination span{min-width:44px;min-height:44px;display:grid;place-items:center;border:1px solid var(--ws-line);padding:8px}
.single-post #primary,.ws-reading-page #primary{max-width:750px;margin-inline:auto}.single-post .entry-content,.ws-reading-page .entry-content{max-width:630px;margin-inline:auto}.single-post .entry-title,.ws-reading-page .entry-title{max-width:630px;margin-inline:auto}.entry-content figure,.entry-content small,.entry-content figcaption,.entry-meta,.ws-footer{font-size:1rem;line-height:1.5}.entry-content table{width:100%;border-collapse:collapse}.entry-content .ws-table{overflow-x:auto}.ws-table table{min-width:590px}.ws-table td,.ws-table th{padding:14px;border:1px solid var(--ws-line);text-align:left}.ws-table th{background:var(--ws-tint)}
.site-footer{background:var(--ws-footer);color:#e3efe8}.ws-footer{padding:36px 20px;color:#e3efe8}.ws-footer a{color:#e3efe8}.ws-footer a:hover{color:#b9e7cd}.ws-footer-top>a{font:500 1.25rem "Google Sans",Arial,sans-serif}.ws-footer-top>p{max-width:680px;color:#c9ddd3}.ws-footer-bottom{display:flex;flex-wrap:wrap;gap:20px;border-top:1px solid #48645c;padding-top:24px}.ws-footer nav{display:flex;flex-wrap:wrap;gap:16px 20px}.ast-mobile-popup-drawer .ast-mobile-popup-inner{background:var(--ws-ink);color:#fff}.ast-mobile-popup-drawer .menu-link{color:#fff;padding:16px 20px;border-bottom:1px solid #49616a}.ast-mobile-popup-drawer .menu-link:hover{color:#b9e7cd}.ast-mobile-popup-drawer .ast-mobile-popup-close{color:#fff}.cky-consent-container p,.cky-consent-container button{font-size:1rem!important;line-height:1.5!important}
@media(max-width:900px){.ws-universe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ws-comparison-grid,.ws-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ws-hero{padding:36px 20px}.ws-hero h1{font-size:clamp(1.25rem,5.4vw,1.85rem)}.ws-hero h1 span{white-space:nowrap}.ws-search{flex-wrap:wrap}.ws-search input{flex-basis:100%}.ws-search button{width:100%}.ws-universe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ws-news-grid{grid-template-columns:1fr}.ws-card{padding:16px}.ws-comparison-card{padding:14px}.ws-card h3{overflow-wrap:anywhere}.ws-card-cta{flex-wrap:wrap}.ws-section{padding:30px 20px}}
@media(prefers-reduced-motion:reduce){.ws-card{transition:none}}

/* Partager + cinq réseaux : une seule ligne, aucun service tiers au chargement. */
.ws-share{display:flex;align-items:center;flex-wrap:nowrap;gap:18px;max-width:630px;margin:0 auto 24px;padding:8px 0;border-bottom:1px solid #e2e7e4;color:#53605b;font-size:1rem;line-height:1.5}
.ws-share-label{flex:0 0 auto;white-space:nowrap}
.ws-share-links{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;min-width:0}
.entry-content .ws-share .ws-share-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;min-height:44px;border:0;border-radius:8px;background:transparent;color:#69746f;text-decoration:none!important;box-shadow:none;transition:color .15s ease,background-color .15s ease}
.ws-share svg{display:block;width:22px;height:22px}
.entry-content .ws-share .ws-share-link:hover,.entry-content .ws-share .ws-share-link:focus-visible{background:#f2f5f3}
.entry-content .ws-share .ws-share-facebook:is(:hover,:focus-visible){color:#1877f2}
.entry-content .ws-share .ws-share-x:is(:hover,:focus-visible){color:#111}
.entry-content .ws-share .ws-share-pinterest:is(:hover,:focus-visible){color:#bd081c}
.entry-content .ws-share .ws-share-whatsapp:is(:hover,:focus-visible){color:#128c4a}
.entry-content .ws-share .ws-share-telegram:is(:hover,:focus-visible){color:#167fa6}
.entry-content .ws-share .ws-share-link:focus-visible{outline:3px solid var(--ws-focus,var(--sr-focus,#ad6500));outline-offset:2px}
@media(max-width:480px){.ws-share{gap:10px}.ws-share-links{gap:1px}.entry-content .ws-share .ws-share-link{width:36px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.entry-content .ws-share .ws-share-link{transition:none}}

/* Espacements du bandeau de lecture. */
.single-post .ast-breadcrumbs-wrapper{padding-top:16px;margin-bottom:20px}
.single-post .entry-header .entry-title{margin-bottom:22px}
.single-post .entry-header{margin-bottom:26px}
.single-post .entry-meta{font-size:1rem;line-height:1.6}
.single-post .ws-share{margin-top:6px;margin-bottom:26px}
/* Un comparatif plus large qu'un article classique, avec tableaux contenus. */
.ws-comparison-page .site-content>.ast-container{max-width:1120px}
.ws-comparison-page #primary{width:100%;max-width:1080px;margin-inline:auto;min-width:0}
.ws-comparison-page .ast-article-single{padding:40px;min-width:0}
.ws-comparison-page .entry-content,.ws-comparison-page .entry-header,.ws-comparison-page .ast-breadcrumbs-wrapper,.ws-comparison-page .entry-title,.ws-comparison-page .ws-share{max-width:960px;margin-inline:auto}
.ws-comparison-page .ws-comparison{width:100%;max-width:960px;min-width:0}
.ws-comparison-table-scroll{width:100%;max-width:100%;overflow-x:auto;margin-block:24px;overscroll-behavior-inline:contain;border:1px solid #d9e6df;border-radius:10px}
.ws-comparison-table-scroll table{width:100%;min-width:720px;margin:0;border-collapse:collapse}
.ws-comparison-table-scroll:focus-visible{outline:3px solid #ad6500;outline-offset:3px}
.ws-comparison .ws-table:has(.ws-comparison-table-scroll){overflow:visible}
.ws-commerce-note{max-width:960px;margin:36px auto 0;padding:20px 24px;background:#f2f6f3;border:1px solid #d9e6df;border-radius:12px;color:#52636b}
.ws-commerce-note .ws-disclosure{margin:0;padding:0;background:transparent;border:0}
.ws-commerce-note small{font-size:1rem;line-height:1.6}
@media(max-width:768px){.ws-comparison-page .ast-article-single{padding:24px 20px}.single-post .ast-breadcrumbs-wrapper{padding-top:12px;margin-bottom:16px}.single-post .entry-header{margin-bottom:22px}.ws-commerce-note{padding:18px}.ws-comparison-table-scroll{margin-block:20px}}

.ws-author-card{display:flex;align-items:flex-start;gap:18px;margin:36px 0 0;padding:24px;background:#eff6f2;border:1px solid #d9e6df;border-radius:14px;color:#17343e}
.ws-author-initial{display:flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:var(--ws-accent);color:#fff;font-family:"Google Sans",Arial,sans-serif;font-size:1.5rem;font-weight:500}
.ws-author-card>div{min-width:0}.entry-content .ws-author-kicker{font-size:1rem!important;line-height:1.5;margin:0 0 6px;color:#52636b}.entry-content .ws-author-name{font-size:1.25rem!important;font-weight:500;line-height:1.4;margin:0 0 10px}.ws-author-name a{text-decoration:none!important}.entry-content .ws-author-summary{font-size:1.125rem;line-height:1.6;margin:0}
.author .ast-author-box{padding:32px!important}.author .ast-author-bio{min-width:0;max-width:780px;flex:1;width:100%}.author .ast-author-bio p{font-size:1.125rem;line-height:1.65;margin:18px 0 0;white-space:pre-line}.author .ast-author-avatar:empty{display:none}.author .ast-archive-title{margin-top:20px;font-weight:500!important}
@media(max-width:560px){.ws-author-card{gap:12px;padding:20px 16px}.ws-author-initial{width:40px;height:40px;flex-basis:40px;font-size:1.25rem}.author .ast-author-box{padding:24px 20px!important}}
@media(max-width:480px){.ws-share-links{gap:0}.entry-content .ws-share .ws-share-link{width:34px}}


/* Mobile editorial UX: readable vertical lists and explicit access links. */
@media(max-width:560px){
 .ws-universe-grid,.ws-comparison-grid,.ws-news-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
 .ws-card{padding:22px}.ws-card h3{font-size:1.25rem;line-height:1.45}
 .ws-card-excerpt,.ws-comparison-card>p{display:none!important}
 .ws-read-more{display:inline-flex!important;align-items:center;min-height:44px}
 .ast-header-break-point .ast-button-wrap .menu-toggle{min-width:48px;min-height:48px;padding:8px!important}.ast-header-break-point .menu-toggle .ast-mobile-svg{width:30px!important;height:30px!important}
 .archive #primary article.ast-grid-common-col,.blog #primary article.ast-grid-common-col{width:100%!important;max-width:100%!important;flex-basis:100%!important}.archive .ast-excerpt-container,.blog .ast-excerpt-container{display:none}
 .ws-author-card{display:block}.ws-author-initial{float:left;margin:0 12px 12px 0}.ws-author-summary{clear:both;padding-top:4px}
 .ws-footer nav{flex-direction:column;align-items:flex-start;gap:4px}.ws-footer nav a{display:inline-flex;align-items:center;min-height:40px}
}

.ws-table-scroll{width:100%;max-width:100%;overflow-x:auto;margin-block:24px;overscroll-behavior-inline:contain;border:1px solid #d9e6df;border-radius:10px}
.ws-table-scroll table{width:100%;min-width:560px;margin:0;border-collapse:collapse}
.ws-table-scroll:focus-visible{outline:3px solid #ad6500;outline-offset:3px}
.ws-table:has(.ws-table-scroll),.wp-block-table:has(.ws-table-scroll){overflow:visible}

/* Rythme commun : le contenu ne touche pas l'en-tête fixe. */
body:not(.home) #primary{padding-top:32px!important;margin-top:0!important}
body:not(.home) .ast-breadcrumbs-wrapper{padding-top:0;margin-bottom:20px}
body:not(.home) .entry-header .entry-title{margin-bottom:20px}
body:not(.home) .entry-header:not(.ast-header-without-markup){margin-bottom:24px}
.entry-content>.ws-article h2,.entry-content>.ws-comparison h2{margin-top:32px;margin-bottom:16px;line-height:1.3}
.entry-content>.ws-article h3,.entry-content>.ws-comparison h3{margin-top:24px;margin-bottom:12px;line-height:1.4}
.entry-content>.ws-article p,.entry-content>.ws-comparison p{margin-bottom:20px}
html{scroll-padding-top:calc(112px + var(--wp-admin--admin-bar--height,0px))}
.entry-content h2,.entry-content h3,.ast-breadcrumbs-wrapper{scroll-margin-top:16px}
@media(max-width:560px){body:not(.home) #primary{padding-top:24px!important}body:not(.home) .ast-breadcrumbs-wrapper{margin-bottom:16px}body:not(.home) .entry-header:not(.ast-header-without-markup){margin-bottom:22px}}


/* Keep signature and sharing grouped; preserve space below the header. */
.single-post .entry-header:not(.ast-header-without-markup),.ws-comparison-page .entry-header:not(.ast-header-without-markup){margin-bottom:10px!important}
.single-post .ws-share,.ws-comparison-page .ws-share{margin-top:0;padding-top:0}
.ws-author-avatar{flex:0 0 72px;text-align:center}.ws-author-avatar img{display:block;width:64px;height:64px;object-fit:cover;border-radius:50%;margin:0 auto 6px}.ws-author-avatar small{display:block;font-size:12px;line-height:1.25;color:#54645e}
@media(max-width:560px){.ws-author-avatar{float:left;margin:0 16px 12px 0;width:64px}.ws-author-avatar img{width:56px;height:56px}}


/* Final desktop spacing and simplified article cards on phones. */
@media(min-width:922px){.ast-desktop .main-header-menu>.menu-item>.menu-link{padding-inline:20px!important}}
@media(max-width:560px){.ws-read-more,.wp-block-post-excerpt__more-link,.ast-read-more-container{display:none!important}.wp-block-post-excerpt:has(.ws-card-excerpt){margin:0!important}}


@media(max-width:560px){.home .ws-card .wp-block-post-excerpt__more-link,.home .ws-card .wp-block-post-excerpt__excerpt a,.ws-blog-grid .ws-card>p>a{display:none!important}}

/* Images éditoriales : sans ombre et espace après le visuel. */
:is(.single-post,.ws-comparison-page) .entry-content :is(img,figure,.wp-caption,.wp-block-image){box-shadow:none!important}
:is(.single-post,.ws-comparison-page) .entry-content :is(figure,.wp-caption,.wp-block-image){margin-bottom:2rem}
:is(.single-post,.ws-comparison-page) .entry-content img{margin-bottom:1.5rem}
:is(.single-post,.ws-comparison-page) .entry-content :is(figure,.wp-caption,.wp-block-image) img{margin-bottom:0}
:is(.single-post,.ws-comparison-page) .entry-content .ws-author-avatar img{margin-bottom:6px}

/* Footer harmonisé avec le header blanc : contraste des textes et liens. */
.site-footer,.site-footer .site-primary-footer-wrap,.site-footer .site-below-footer-wrap,.site-footer .site-above-footer-wrap{background:#fff;color:#17343e}
.site-footer .ws-footer,.site-footer .ws-footer p,.site-footer .ws-footer span,.site-footer .ws-footer a{color:#17343e}
.site-footer .ws-footer a:hover,.site-footer .ws-footer a:focus-visible{color:#12664f}
.site-footer .ws-footer-bottom{border-top-color:#d9e6df}

/* Accueil : séparer le CTA de la grille des comparatifs. */
.ws-home .ws-comparison-grid+p{margin-top:28px;margin-bottom:0}
.ws-home .ws-comparison-grid+p>.ws-button{display:inline-flex;align-items:center}
