/*
Theme Name: Twenty Twenty-Five The AI news
Template: twentytwentyfive
Description: Theme enfant de Twenty Twenty-Five pour the-ai.news : mise en forme calee sur anthropic.com/news (valeurs mesurees).
Version: 0.3
Text Domain: twentytwentyfive-ai-news
*/

/* ---------- Entete : logo centre + menu en pastilles ---------- */
.ai-header { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 28px 0 22px; }
.ai-header .wp-block-site-title { margin: 0; font-size: 20px; line-height: 1; letter-spacing: .14em; text-transform: uppercase; }
.ai-header .wp-block-site-title a { text-decoration: none; }
.ai-nav { font-size: 13px; letter-spacing: .01em; }
.ai-nav .wp-block-navigation__container { gap: 6px; justify-content: center; }
.ai-nav .wp-block-navigation-item__content {
	padding: 7px 12px; line-height: 20px;
	border: 1px solid var(--wp--preset--color--border); border-radius: 999px;
	background: var(--wp--preset--color--pill); color: var(--wp--preset--color--soft); text-decoration: none;
}
.ai-nav .wp-block-navigation-item__content:hover,
.ai-nav .current-menu-item > .wp-block-navigation-item__content { background: var(--wp--preset--color--line); }
/* La pastille englobe le lien et sa fleche de sous-menu */
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item {
	display: flex; align-items: center; padding: 0 8px 0 12px;
	border: 1px solid var(--wp--preset--color--border); border-radius: 999px; background: var(--wp--preset--color--pill);
}
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item:hover { background: var(--wp--preset--color--line); }
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 7px 0; border: 0; border-radius: 0; background: transparent; }
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-icon { margin-left: 6px; }
.ai-nav .wp-block-navigation__submenu-container {
	min-width: 220px; padding: 6px; box-shadow: none;
	background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--line); border-radius: 8px;
}
.ai-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 10px; border: 0; border-radius: 6px; background: transparent; }
.ai-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--pill); }
@media (min-width: 1200px) { .ai-nav .wp-block-navigation__container { flex-wrap: nowrap; } }

/* ---------- Bandeau de section (filets haut et bas) ---------- */
.ai-sectionhead { margin: 20px 0 24px; padding: 15px 0; border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); font-size: 13px; font-weight: 700; letter-spacing: .01em; }
.ai-sectionhead p { margin: 0; }

/* ---------- Tuiles (a la une, cartes) ---------- */
.ai-tile-meta { display: flex; flex-wrap: nowrap; gap: 16px; margin: 0 0 16px; font-size: 13px; letter-spacing: .01em; color: var(--wp--preset--color--muted); }
.ai-tile-meta a { color: inherit; text-decoration: none; }
.ai-tile .wp-block-post-featured-image { margin: 0; }
.ai-tile .wp-block-post-featured-image img { border-radius: 4px; width: 100%; }
.ai-tile .wp-block-post-title { margin: 16px 0 0; font-size: 21.35px; line-height: 1.25; }
.ai-tile .wp-block-post-title a { text-decoration: none; }
.ai-tile .wp-block-post-excerpt { margin: 17px 0 0; font-size: 14.68px; line-height: 1.5; color: var(--wp--preset--color--soft); }
.ai-tile .wp-block-post-excerpt p { margin: 0; }

/* A la une : 304 | 1fr | 304, tuile centrale en grand */
.ai-featured .wp-block-post-template { display: grid; grid-template-columns: 304px minmax(0, 1fr) 304px; gap: 0 16px; list-style: none; padding: 0; margin: 0; }
.ai-featured .wp-block-post-template > li { margin: 0; }
.ai-featured .wp-block-post-template > li:nth-child(1) { grid-column: 2; grid-row: 1 / span 2; }
.ai-featured .wp-block-post-template > li:nth-child(2) { grid-column: 1; grid-row: 1; }
.ai-featured .wp-block-post-template > li:nth-child(3) { grid-column: 1; grid-row: 2; }
.ai-featured .wp-block-post-template > li:nth-child(4) { grid-column: 3; grid-row: 1; }
.ai-featured .wp-block-post-template > li:nth-child(5) { grid-column: 3; grid-row: 2; }
.ai-featured .wp-block-post-template > li:nth-child(3),
.ai-featured .wp-block-post-template > li:nth-child(5) { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--wp--preset--color--line); }
.ai-featured .wp-block-post-template > li:nth-child(1) .wp-block-post-title { margin-top: 16px; font-size: 32.44px; line-height: 1.14; }
.ai-featured .wp-block-post-template > li:nth-child(1) .wp-block-post-excerpt { font-size: 16.68px; line-height: 1.53; }
.ai-featured { padding-bottom: 48px; }

/* ---------- Titre de section en grand ---------- */
.ai-h2 { margin: 0; font-size: 42.18px; font-weight: 600; line-height: 1; }

/* ---------- Carrousel de categorie (bloc ainews/category-carousel, avant Tous les articles) ---------- */
.ai-carousel { margin: 0 0 48px; padding-top: 32px; border-top: 1px solid var(--wp--preset--color--line); }
.ai-carousel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 0 0 24px; }
.ai-carousel-nav { display: none; gap: 8px; flex: 0 0 auto; }
.ai-carousel.is-ready .ai-carousel-nav { display: flex; }
.ai-carousel-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--wp--preset--color--border); border-radius: 999px; background: var(--wp--preset--color--pill); color: var(--wp--preset--color--contrast); cursor: pointer; }
.ai-carousel-btn:hover { background: var(--wp--preset--color--line); }
.ai-carousel-btn:disabled { opacity: .35; cursor: default; background: var(--wp--preset--color--pill); }
.ai-carousel-track { display: flex; gap: 16px; list-style: none; margin: 0; padding: 0 0 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ai-carousel-track::-webkit-scrollbar { display: none; }
.ai-carousel-item { flex: 0 0 304px; margin: 0; scroll-snap-align: start; }
.ai-carousel-item .wp-block-post-featured-image img { aspect-ratio: 16 / 9; height: auto; object-fit: cover; }
.ai-carousel-item .wp-block-post-title { font-size: 18px; }
@media (max-width: 781px) {
	.ai-carousel-item { flex-basis: min(78vw, 304px); }
	.ai-carousel-head { align-items: center; }
}

/* ---------- Liste en tableau : Titre / Description / Categorie / Date ---------- */
.ai-table .ai-thead,
.ai-table .ai-trow { display: grid; grid-template-columns: 1.6fr 1.5fr .9fr .9fr; gap: 0 24px; align-items: center; }
.ai-table .ai-thead { padding: 14px 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.ai-table .ai-thead p { margin: 0; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.ai-table .wp-block-post-template { list-style: none; padding: 0; margin: 0; }
.ai-table .wp-block-post-template > li { margin: 0; }
.ai-table .ai-trow { padding: 14px 0; border-bottom: 1px solid var(--wp--preset--color--line); font-size: 13px; letter-spacing: .01em; }
.ai-table .ai-trow > * { margin: 0; min-width: 0; }
.ai-table .ai-trow .wp-block-post-title { font-size: 13.5px; line-height: 1.4; }
.ai-table .ai-trow .wp-block-post-title,
.ai-table .ai-trow .wp-block-post-excerpt p { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0; }
.ai-table .ai-trow .wp-block-post-excerpt { color: var(--wp--preset--color--soft); }
.ai-table .ai-trow a { text-decoration: none; }
.ai-more .wp-block-query-pagination { margin-top: 32px; justify-content: center; }
.ai-more .wp-block-query-pagination-next { padding: 6px 14px; font-size: 13px; border: 1px solid var(--wp--preset--color--border); border-radius: 6px; background: var(--wp--preset--color--line); text-decoration: none; }
.ai-more .wp-block-query-pagination-next[aria-disabled="true"] { opacity: .6; pointer-events: none; }

/* ---------- Categorie : enonce en grand, cartes, autres rubriques ---------- */
.ai-statement { padding: 48px 0 40px; font-size: 40.56px; line-height: 1.25; letter-spacing: -.01em; }
.ai-statement .wp-block-query-title { display: inline; margin: 0; font-size: inherit; font-weight: 700; line-height: inherit; }
.ai-statement .wp-block-term-description { display: block; max-width: 70ch; margin: 24px 0 0; font-family: var(--wp--preset--font-family--serif); font-size: 20px; font-weight: 400; line-height: 1.5; letter-spacing: 0; color: var(--wp--preset--color--contrast); }
.ai-statement .wp-block-term-description p { display: block; margin: 0; font-size: inherit; line-height: inherit; }
.ai-cards .wp-block-post-template { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 32px 16px; list-style: none; padding: 0; margin: 0; }
.ai-cards .wp-block-post-template > li { margin: 0; }
.ai-card .wp-block-post-featured-image { margin: 0 0 12px; }
.ai-card .wp-block-post-featured-image img { border-radius: 4px; width: 100%; }
.ai-card .ai-date { margin: 0 0 6px; font-size: 13px; letter-spacing: .01em; color: var(--wp--preset--color--muted); }
.ai-card .wp-block-post-title { margin: 0; font-size: 16.35px; line-height: 1.3; }
.ai-card .wp-block-post-title a { text-decoration: none; }
.ai-cats { list-style: none; padding: 0; margin: 24px 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.ai-cats li { padding: 16px; border: 1px solid var(--wp--preset--color--line); border-radius: 8px; background: var(--wp--preset--color--pill); font-size: 13px; color: var(--wp--preset--color--muted); }
.ai-cats a { display: block; font-size: 16.35px; font-weight: 700; color: var(--wp--preset--color--contrast); text-decoration: none; }

/* ---------- Article : metadonnees a gauche, colonne de lecture a droite ---------- */
.ai-article-title { margin: 48px 0 32px; font-family: var(--wp--preset--font-family--serif); font-size: 40.56px; font-weight: 400; line-height: 1.25; }
.ai-single-image { margin: 0 0 40px; }
.ai-single-image img { border-radius: 4px; }
.ai-meta-col { margin-top: 20px; position: sticky; top: 2rem; font-size: 13px; letter-spacing: .01em; }
.ai-meta-label { margin: 0 0 .2rem; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.ai-meta-col > * + .ai-meta-label { margin-top: 1.5rem; }
.ai-meta-col a { text-decoration: none; }
.wp-block-post-content a { text-decoration: underline; }

/* ---------- Article : colonne laterale "A lire aussi" (3 colonnes >= 1200 px, sous l'article en dessous) ---------- */
.ai-side-col { font-size: 13px; letter-spacing: .01em; }
.ai-side-col .ai-meta-label { margin: 0 0 4px; padding-bottom: 12px; border-bottom: 1px solid var(--wp--preset--color--line); }
.ai-side-query .wp-block-post-template { display: grid; grid-template-columns: 1fr; gap: 0; list-style: none; padding: 0; margin: 0; }
.ai-side-query .wp-block-post-template > li { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.ai-side-item { display: flex; align-items: flex-start; gap: 12px; }
.ai-side-item > * { margin: 0; }
.ai-side-thumb { flex: 0 0 88px; width: 88px; }
.ai-side-thumb img { display: block; width: 100%; height: auto; border-radius: 4px; }
.ai-side-text { flex: 1 1 0; min-width: 0; }
.ai-side-date { margin: 0 0 4px; font-size: 12px; color: var(--wp--preset--color--muted); }
.ai-side-title { margin: 0; font-size: 14.5px; line-height: 1.3; overflow-wrap: anywhere; }
.ai-side-title a { text-decoration: none; }
.ai-side-title a:hover { text-decoration: underline; }
.ai-side-widgets { font-size: 13px; letter-spacing: .01em; }
.ai-single-side .ai-side-col.ai-side-widgets { position: static; }
.ai-side-widgets .widget { margin: 0 0 32px; }
.ai-side-widgets .widget > :first-child { margin-top: 0; }
.ai-side-widgets .widgettitle { margin: 0 0 12px; padding-bottom: 12px; border-bottom: 1px solid var(--wp--preset--color--line); font-family: var(--wp--preset--font-family--sans); font-size: 11px; font-weight: 400; line-height: 1.3; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.ai-side-widgets img, .ai-side-widgets iframe { max-width: 100%; height: auto; }
.ai-side-widgets ul { list-style: none; padding: 0; margin: 0; }
.ai-side-widgets li { margin: 0; padding: 8px 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.ai-side-widgets a { text-decoration: none; }
.ai-side-widgets a:hover { text-decoration: underline; }
/* Popular Posts (shortcode [wpp] du widget post_single) : meme mise en forme que la liste "A lire aussi" */
.ai-side-widgets .wpp-list li { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 14px 0; overflow: visible; }
.ai-side-widgets .wpp-list .wpp-thumbnail-container { flex: 0 0 88px; width: 88px; margin: 0; }
.ai-side-widgets .wpp-list .wpp-thumbnail-container a { display: block; margin: 0; }
.ai-side-widgets .wpp-list .wpp-thumbnail { display: block; float: none; width: 100%; max-width: 100%; height: auto; margin: 0; border: 0; aspect-ratio: 1; object-fit: cover; border-radius: 4px; }
.ai-side-widgets .wpp-list .wpp-item-data { flex: 1 1 0; min-width: 0; margin: 0; padding: 0; }
.ai-side-widgets .wpp-list .wpp-post-title { display: block; font-size: 14.5px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; overflow-wrap: anywhere; color: var(--wp--preset--color--contrast); }
@media (min-width: 1200px) {
	.ai-single-side .ai-side-col { position: sticky; top: 2rem; }
}
@media (min-width: 782px) and (max-width: 1199px) {
	.ai-single-cols { flex-wrap: wrap !important; }
	.ai-single-side { flex-basis: 100% !important; padding-top: 32px; border-top: 1px solid var(--wp--preset--color--line); }
	.ai-side-query .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
}
@media (max-width: 781px) {
	.ai-single-side { margin-top: 8px; padding-top: 24px; border-top: 1px solid var(--wp--preset--color--line); }
}

/* ---------- Pied de page sombre ---------- */
.ai-footer { margin-top: 64px; padding-top: 64px; padding-bottom: 32px; background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
.ai-footer a { color: var(--wp--preset--color--base); text-decoration: none; }
.ai-footer .wp-block-site-title { margin: 0 0 40px; font-size: 20px; letter-spacing: .14em; text-transform: uppercase; }
.ai-footer-cats > ul, ul.ai-footer-cats { list-style: none; padding: 0; margin: 0; columns: 5; column-gap: 24px; }
.ai-footer-cats > ul > li, ul.ai-footer-cats > li { break-inside: avoid; margin: 0 0 24px; font-weight: 700; font-size: 13px; }
.ai-footer-cats ul { list-style: none; padding: 0; margin: 8px 0 0; }
.ai-footer-cats ul li { margin: 0 0 6px; font-weight: 400; color: #a5a39a; }
.ai-footer-cats ul li a { color: #a5a39a; }
.ai-footer-bottom { margin-top: 32px; padding-top: 24px; border-top: 1px solid #30302e; font-size: 13px; color: #a5a39a; }
.ai-footer-bottom p { margin: 0; }
.ai-footer-pages { display: flex; gap: 24px; list-style: none; padding: 0; margin: 0; }

/* ---------- Mobile ---------- */
@media (max-width: 1023px) {
	.ai-featured .wp-block-post-template { grid-template-columns: 1fr; }
	.ai-featured .wp-block-post-template > li:nth-child(n) { grid-column: 1; grid-row: auto; }
	.ai-featured .wp-block-post-template > li:nth-child(n+3) { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--wp--preset--color--line); }
	.ai-footer-cats > ul, ul.ai-footer-cats { columns: 2; }
}
@media (max-width: 781px) {
	.ai-header { padding: 20px 0 16px; }
	.ai-statement, .ai-article-title { font-size: 28px; }
	.ai-h2 { font-size: 30px; }
	.ai-table .ai-thead { display: none; }
	.ai-table .ai-trow { grid-template-columns: 1fr auto; gap: 4px 12px; }
	.ai-table .ai-trow .wp-block-post-title { grid-column: 1 / -1; white-space: normal; }
	.ai-table .ai-trow .wp-block-post-excerpt { display: none; }
	.ai-meta-col { position: static; }
}

/* ---------- Sous-menus : panneau blanc, 2 colonnes pour les longs (6 entrees ou plus) ---------- */
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item:hover,
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item:focus-within { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); }
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content,
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation__submenu-icon,
.ai-nav .wp-block-navigation__container > .wp-block-navigation-item:focus-within > .wp-block-navigation__submenu-icon { color: var(--wp--preset--color--base); }
.ai-nav .wp-block-navigation__submenu-container {
	padding: 10px; background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: 16px; box-shadow: 0 4px 24px rgba(0, 0, 0, .05);
}
.ai-nav .wp-block-navigation__submenu-container > .wp-block-navigation-item { margin: 0 0 4px; }
.ai-nav .wp-block-navigation__submenu-container > .wp-block-navigation-item:last-child { margin-bottom: 0; }
.ai-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 6px 16px; border-radius: 8px; color: var(--wp--preset--color--soft); background: transparent; border: 0; }
.ai-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--pill); }
@supports selector(:has(*)) {
	/* Grille remplie par colonne (pas de columns: un sous-menu absolu de 3e niveau y serait fragmente) */
	.ai-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-container:has(> li:nth-child(6)) {
		--ai-rows: 3; display: grid; grid-auto-flow: column; grid-template-rows: repeat(var(--ai-rows), auto); column-gap: 8px; width: max-content; min-width: 394px;
	}
	.ai-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-container:has(> li:nth-child(7)) { --ai-rows: 4; }
	.ai-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-container:has(> li:nth-child(9)) { --ai-rows: 5; }
	.ai-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-container:has(> li:nth-child(11)) { --ai-rows: 6; }
	.ai-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-container:has(> li:nth-child(13)) { --ai-rows: 7; }
	.ai-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-container:has(> li:nth-child(15)) { --ai-rows: 8; }
}

.ai-meta-col .wp-block-post-author__avatar img { display: block; border-radius: 50%; }
.ai-meta-col .wp-block-post-author { align-items: center; }


