/* ==========================================================================
   Cosmoshop : direction visuelle de l'accueil déclinée sur les pages en blocs (02/10/2026, agent Site)
   Bleu nuit #0d2136, turquoise #087D89 pour les actions sur fond clair, or #f6ca56 sur fond nuit,
   gris clair #f7f8f6, bordures #DCE3E4, rayon 8px, cartes sans ombre (docs refonte : DESIGN.md).
   Chargé après style.css, vitrine.css, site.css et commun.css, sur toutes les pages sauf l'accueil Codex.
   La palette du thème (theme.json) porte déjà les nouvelles couleurs ; ce fichier règle le reste.
   ========================================================================== */

:root {
	/* Jetons de vitrine.css (cartes produit, carrousels) remappés sur la direction de l'accueil */
	--cs-nuit: #0d2136;
	--cs-bleu: #087d89;
	--cs-bleu-fonce: #06616b;
	--cs-bleu-doux: #edf2ef;
	--cs-cyan: #35b9ca;
	--cs-encre: #152638;
	--cs-muted: #65707a;
	--cs-bordure: #dce3e4;
	--cs-fond: #ffffff;
	--cs-sable: #f7f8f6;
	--cs-rayon: 8px;
	--cs-ombre: none;
	--cs-ombre-forte: none;
	--cs-max: 1320px;
	/* Jetons de style.css */
	--cosmo-rayon: 8px;
	--cosmo-ombre: none;
	--cosmo-ombre-forte: 0 16px 35px rgba(8, 14, 25, 0.12);
	--cosmo-gouttiere: 40px;
}
@media (max-width: 1150px) { :root { --cosmo-gouttiere: 24px; } }
@media (max-width: 600px) { :root { --cosmo-gouttiere: 18px; } }

/* Pas d'espace entre l'en-tête, le contenu et le pied (comme l'accueil) */
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks > .wp-block-template-part:last-child { margin-top: 0; }

/* Largeur de contenu alignée sur l'en-tête (1320px) */
main.cosmo-rayon > *, main.cosmo-fiche > *, main.cosmo-page > * { max-width: 1320px; }

/* Focus clavier de l'accueil */
.wp-site-blocks :focus-visible { outline: 3px solid var(--teal); outline-offset: 4px; }
.site-header :focus-visible, .site-footer :focus-visible { outline-color: var(--gold); }

/* ---------- Titres, fil d'Ariane, textes ---------- */
.cosmo-ariane, .cosmo-ariane a { font-size: 12px; color: var(--muted); }
.cosmo-ariane { margin: 26px 0 14px; }
.cosmo-ariane a { text-decoration: underline; text-underline-offset: 3px; }
.cosmo-ariane a:hover { color: var(--teal); }
.cosmo-rayon__titre, .cosmo-page__titre, .wp-block-post-title {
	font-size: clamp(32px, 4vw, 52px);
	font-weight: 750;
	line-height: 1.08;
	letter-spacing: -0.035em;
	color: var(--ink);
}
.cosmo-rayon__titre { margin: 0 0 14px; }
.cosmo-rayon--promotions .cosmo-rayon__titre { color: var(--ink); }
.cosmo-rayon__intro { max-width: 850px; font-size: 15px; }
.cosmo-rayon__intro, .cosmo-rayon__intro p { color: var(--muted); }
.cosmo-rayon__intro a, .cosmo-bandeau-dates a, .wp-block-post-content a:not(.wp-element-button):not(.button),
.cosmo-infos__contenu a, .cosmo-404__texte a, .woocommerce-info a, .woocommerce-message a {
	color: var(--teal);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.cosmo-rayon__intro a:hover, .wp-block-post-content a:not(.wp-element-button):not(.button):hover { color: var(--teal-dark); }

/* Pages de service et pages légales (gabarit page de Twenty Twenty-Five) */
.wp-block-post-content { line-height: 1.75; }
.wp-block-post-content em { font-style: italic; }
.wp-block-post-content h2 { font-size: 28px; font-weight: 750; margin-top: 2.2rem; }
.wp-block-post-content h3 { font-size: 21px; margin-top: 1.6rem; }
.wp-block-post-content li { color: var(--muted); }
.wp-block-post-content strong { color: var(--ink); }
.wp-block-post-content .wp-block-table th, .wp-block-post-content .wp-block-table td { border-color: var(--line); }
.wp-block-post-content .wp-block-table thead th { background: var(--paper); color: var(--ink); }
.cosmo-version { color: var(--muted); font-size: 14px; }

/* ---------- Boutons des blocs ---------- */
.wp-element-button, .wp-block-button__link {
	min-height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 12px 23px;
	border-radius: 8px;
	background: var(--teal);
	color: var(--white);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.18s;
}
.wp-element-button:hover, .wp-block-button__link:hover { background: var(--teal-dark); color: var(--white); }
.wp-block-button.is-style-outline > .wp-block-button__link, .cosmo-404__actions .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--teal);
	border: 1px solid var(--teal);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover, .cosmo-404__actions .is-style-outline .wp-block-button__link:hover { background: var(--bleu-doux, #edf2ef); color: var(--teal-dark); }

/* Champ de recherche des pages (404, résultats) : même dessin que la recherche de l'en-tête */
.cosmo-recherche--page .wp-block-search__inside-wrapper { border: 1px solid var(--line); border-radius: 8px; background: var(--white); padding: 4px; min-height: 52px; }
.cosmo-recherche--page .wp-block-search__input { border: 0; background: transparent; padding: 10px 16px; font-size: 15px; color: var(--ink); }
.cosmo-recherche--page .wp-block-search__button { min-height: 44px; min-width: 44px; margin: 0; padding: 0 12px; background: var(--gold); color: var(--night); border-radius: 8px; }
.cosmo-recherche--page .wp-block-search__button:hover { background: #eaba40; color: var(--night); }
.cosmo-recherche--page .wp-block-search__button svg { fill: currentColor; }

/* ---------- Rayons, recherche, Promotions, Nouveautés ---------- */
.cosmo-bandeau-dates { background: var(--paper); border-radius: 8px; }
.cosmo-sous-rayons a { border-color: var(--line); border-radius: 999px; font-size: 13px; font-weight: 700; color: var(--ink); }
.cosmo-sous-rayons a:hover { border-color: var(--teal); color: var(--teal); }
.cosmo-sous-rayons a[aria-current="page"] { background: var(--teal); border-color: var(--teal); color: var(--white); }
.cosmo-rayon__filtres .cosmo-filtres, .cosmo-filtres.wp-block-woocommerce-product-filters {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 8px;
	padding: 20px;
}
.cosmo-filtres__titre { font-size: 15px; font-weight: 750; letter-spacing: -0.015em; }
.cosmo-filtres h3 { font-size: 13px; font-weight: 700; letter-spacing: 0; color: var(--ink); }
.cosmo-filtres .wp-block-woocommerce-product-filter-attribute,
.cosmo-filtres .wp-block-woocommerce-product-filter-taxonomy,
.cosmo-filtres .wp-block-woocommerce-product-filter-price,
.cosmo-filtres .wp-block-woocommerce-product-filter-status { border-top-color: var(--line); }
.cosmo-filtres label, .cosmo-filtres .wc-block-product-filter-checkbox-list__text { font-size: 13px; color: var(--ink); }
.cosmo-filtres input[type="checkbox"] { accent-color: var(--teal); }
.cosmo-rayon__barre .wc-block-product-results-count { font-size: 13px; color: var(--muted); }
.cosmo-rayon__barre select { min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); font-size: 13px; }
.cosmo-rayon__vide { background: var(--paper); border: 0; border-radius: 8px; padding: 50px; }
.cosmo-rayon__vide h2 { font-size: 27px; font-weight: 750; letter-spacing: -0.035em; }
.cosmo-rayon__conseils { color: var(--muted); }
.cosmo-pagination a, .cosmo-pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--line);
	border-radius: 6px;
	color: var(--ink);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.cosmo-pagination .page-numbers.current { background: var(--teal); border-color: var(--teal); color: var(--white); }
.cosmo-pagination a:hover { border-color: var(--teal); color: var(--teal); }
@media (max-width: 600px) {
	.cosmo-rayon__vide { padding: 30px 20px; }
	.cosmo-rayon__titre, .cosmo-page__titre, .wp-block-post-title { font-size: 32px; }
}

/* ---------- Carte produit (dessin de la carte de l'accueil) ---------- */
.cosmo-carte { border-color: var(--line); border-radius: 8px; box-shadow: none; transition: border-color 0.2s; }
.cosmo-carte:hover, .cosmo-carte:focus-within { box-shadow: none; border-color: var(--teal); }
.cosmo-carte__media { padding: 20px; aspect-ratio: 1.12; }
.cosmo-carte__img { max-height: 175px; transition: transform 0.3s; }
.cosmo-carte:hover .cosmo-carte__img { transform: scale(1.045); }
.cosmo-carte__corps { padding: 8px 18px 0; gap: 0; }
.cosmo-carte__marque { color: var(--teal); font-size: 10px; font-weight: 800; letter-spacing: 0.08em; margin-bottom: 8px; }
.cosmo-carte__nom { font-size: 15px; font-weight: 700; line-height: 1.4; letter-spacing: -0.015em; min-height: 42px; margin-bottom: 8px; }
.cosmo-carte__nom a { color: var(--ink); }
.cosmo-carte__nom a:hover { color: var(--teal); }
.cosmo-carte:has(.cosmo-carte__nom a:focus-visible) { outline: 3px solid var(--teal); outline-offset: 3px; }
.cosmo-carte__format { font-size: 12px; color: var(--muted); }
.cosmo-carte__prix { min-height: 0; padding-top: 12px; }
.cosmo-carte__prix-valeur { font-size: 20px; font-weight: 750; color: var(--ink); }
.cosmo-carte__prix-avenir { font-size: 14px; font-weight: 600; color: var(--muted); }
.cosmo-carte__achat { padding: 0 18px 19px; }
.cosmo-carte__ajouter { min-height: 46px; border-radius: 8px; background: var(--teal); font-size: 14px; }
.cosmo-carte__ajouter:hover { background: var(--teal-dark); }
.cosmo-qte { border-color: var(--line); border-radius: 8px; }
.cosmo-carte__etat { margin: 6px 0 0; font-size: 12px; font-weight: 700; color: var(--muted); }
.cosmo-carte__detail {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--line);
	font-size: 12px;
	font-weight: 700;
	color: var(--teal);
	text-decoration: none;
}
.cosmo-carte__detail:hover { color: var(--teal-dark); }
.cosmo-badge--promo { background: #c2410c; color: var(--white); border-radius: 999px; }
.cosmo-rail__fleche { box-shadow: none; border-color: var(--line); }
.cosmo-rail__fleche:hover { color: var(--teal); border-color: var(--teal); }
@media (max-width: 781px) {
	.cosmo-carte__media { padding: 19px; aspect-ratio: 1; }
	.cosmo-carte__corps { padding: 7px 12px 0; }
	.cosmo-carte__achat { padding: 0 12px 12px; }
	.cosmo-carte__marque { font-size: 9px; line-height: 1.4; }
	.cosmo-carte__nom { font-size: 12px; line-height: 1.45; min-height: 36px; margin-bottom: 7px; }
	.cosmo-carte__format { font-size: 11px; }
	.cosmo-carte__prix-avenir { font-size: 12px; }
	.cosmo-carte__detail { font-size: 10px; margin-top: 12px; padding-top: 9px; }
}

/* ---------- Fiche produit ---------- */
.cosmo-galerie__cadre { background: var(--paper); border-color: transparent; border-radius: 8px; }
.cosmo-galerie__image { background: transparent; mix-blend-mode: multiply; }
.cosmo-galerie__vignette { border-color: var(--line); border-radius: 8px; }
.cosmo-galerie__vignette[aria-pressed="true"] { border-color: var(--teal); }
.cosmo-galerie__zoom { border-color: var(--line); }
.cosmo-fiche__marque { font-size: 12px; letter-spacing: 0.08em; }
.cosmo-fiche__marque a { color: var(--teal); }
.cosmo-fiche__nom { font-size: clamp(30px, 3.2vw, 40px); font-weight: 750; letter-spacing: -0.035em; line-height: 1.1; }
.cosmo-fiche__contenance { background: var(--paper); }
.cosmo-fiche__resume { color: var(--muted); }
.cosmo-prix { border: 0; border-block: 1px solid var(--line); border-radius: 0; padding: 20px 0; }
.cosmo-prix__actuel { font-weight: 750; }
.cosmo-prix__absent { font-size: 22px; color: var(--muted); }
.cosmo-allergenes { background: var(--paper); border-radius: 8px; }
.cosmo-bloc-date { border-radius: 8px; }
.cosmo-stepper { border-color: var(--line); border-radius: 8px; }
.cosmo-stepper__btn:hover { background: var(--paper); }
.cosmo-achat__bouton { border-radius: 8px; background: var(--teal); font-size: 15px; }
.cosmo-achat__bouton:hover { background: var(--teal-dark); }
.cosmo-achat__bouton:disabled { background: var(--paper); color: var(--muted); border: 1px solid var(--line); }
.cosmo-garanties { border-top-color: var(--line); }
.cosmo-garanties .cosmo-ico { color: var(--teal); }
.cosmo-ancres { background: var(--white); border-bottom-color: var(--line); }
.cosmo-ancres a { color: var(--muted); }
.cosmo-ancres a:hover { color: var(--ink); border-bottom-color: var(--teal); }
.cosmo-infos__bloc { border-color: var(--line); border-radius: 8px; }
.cosmo-infos__titre { font-size: 21px; font-weight: 750; letter-spacing: -0.02em; }
.cosmo-infos__contenu p { color: var(--muted); }
.cosmo-infos__allergenes { background: var(--paper); }
.cosmo-nutrition thead th { border-bottom-color: var(--ink); }
.cosmo-nutrition tbody th, .cosmo-nutrition td { border-bottom-color: var(--line); }
.cosmo-assoc__entete h2 { font-size: clamp(27px, 3vw, 34px); font-weight: 750; letter-spacing: -0.035em; }
.cosmo-assoc__lien { border-color: var(--line); border-radius: 8px; }
.cosmo-assoc__lien:hover { border-color: var(--teal); box-shadow: none; }
.cosmo-assoc__photo { background: var(--white); }
.cosmo-assoc__marque { color: var(--teal); font-size: 10px; letter-spacing: 0.08em; }
.cosmo-assoc__fleche { border-color: var(--line); }
.cosmo-assoc__fleche:hover { border-color: var(--teal); color: var(--teal); }
.cosmo-barre { box-shadow: none; border-top-color: var(--line); }
@media (max-width: 899px) { body:has(.cosmo-barre) .site-footer { padding-bottom: 92px; } }

/* ---------- Panier, commande, compte ---------- */
.cosmo-panier-page .wc-block-cart__main,
.cosmo-panier-page .wc-block-cart__sidebar,
.cosmo-commande-page .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.cosmo-compte-page .col2-set > div,
.cosmo-compte-page .woocommerce > .woocommerce-form-login,
.cosmo-compte-page .woocommerce-form-register,
.cosmo-compte-page .woocommerce-ResetPassword,
.cosmo-compte-page .woocommerce-MyAccount-content,
.cosmo-compte-page .woocommerce-MyAccount-navigation ul { border-color: var(--line); border-radius: 8px; box-shadow: none; }
.cosmo-panier-page .wc-block-cart__sidebar { background: var(--paper); }
.cosmo-page .wc-block-components-product-name { color: var(--ink); font-weight: 700; }
.cosmo-page .wc-block-components-product-name:hover { color: var(--teal); }
.cosmo-page .wc-block-cart__submit-button, .cosmo-page .wc-block-components-checkout-place-order-button,
.cosmo-page .wc-block-components-button:not(.is-link) { background: var(--teal); color: var(--white); border-radius: 8px; min-height: 52px; font-size: 15px; font-weight: 700; }
.cosmo-page .wc-block-cart__submit-button:hover, .cosmo-page .wc-block-components-checkout-place-order-button:hover,
.cosmo-page .wc-block-components-button:not(.is-link):hover { background: var(--teal-dark); color: var(--white); }
.cosmo-page .wc-block-components-text-input input, .cosmo-page .wc-block-components-textarea,
.cosmo-page .wc-blocks-components-select .wc-blocks-components-select__select { border-color: var(--line); border-radius: 8px; }
.cosmo-page .wc-block-components-text-input input:focus, .cosmo-page .wc-block-components-textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 1px var(--teal); outline: 3px solid var(--teal); outline-offset: 2px; }
.cosmo-page .wc-block-components-checkout-return-to-cart-button { color: var(--teal); }
.cosmo-page .wc-block-cart__empty-cart__title { font-size: 27px; font-weight: 750; letter-spacing: -0.035em; }
.cosmo-compte-page .woocommerce .button { background: var(--teal); border-radius: 8px; min-height: 46px; font-size: 14px; }
.cosmo-compte-page .woocommerce .button:hover { background: var(--teal-dark); }
.cosmo-compte-page .woocommerce .input-text, .cosmo-compte-page .woocommerce select { border-color: var(--line); border-radius: 8px; }
.cosmo-compte-page .woocommerce .input-text:focus, .cosmo-compte-page .woocommerce select:focus { border-color: var(--teal); outline: 3px solid var(--teal); outline-offset: 2px; }
.cosmo-compte-page .woocommerce h2 { font-size: 22px; font-weight: 750; letter-spacing: -0.02em; }
.cosmo-compte-page .woocommerce-MyAccount-navigation li + li { border-top-color: var(--line); }
.cosmo-compte-page .woocommerce-MyAccount-navigation a:hover { color: var(--teal); }
.cosmo-compte-page .woocommerce-MyAccount-navigation .is-active a { background: var(--paper); color: var(--teal); }
.woocommerce-message, .woocommerce-info, .wc-block-components-notice-banner.is-info { border-color: var(--teal); background: var(--paper); }

/* ---------- Page 404 ---------- */
.cosmo-404__code { color: var(--teal); font-size: 11px; letter-spacing: 0.16em; font-weight: 750; }
.cosmo-404__texte { color: var(--muted); }
.cosmo-404__sous-titre { font-size: 19px; font-weight: 750; letter-spacing: -0.02em; }

/* Ajustements après contrôle visuel (02/10/2026) */
/* Gabarit « page » de Twenty Twenty-Five (pages de service et légales) : marge haute ramenée à celle des autres pages */
.wp-site-blocks > main.wp-block-group:not([class*="cosmo-"]) { margin-top: 0 !important; }
.wp-site-blocks > main.wp-block-group:not([class*="cosmo-"]) > .wp-block-group.alignfull { padding-top: 34px !important; }
/* Fiche : l'espace au-dessus du bouton d'achat (la classe .cosmo-achat sert aussi aux cartes) */
.cosmo-fiche .cosmo-achat { margin-top: 18px; }
/* Panier, commande, compte : WooCommerce limite le titre et le contenu à 1000px ; alignement sur l'en-tête (1320px) */
main.cosmo-page > *, main.cosmo-page .wp-block-post-title, main.cosmo-page .woocommerce { max-width: 1320px !important; }
main.cosmo-page .woocommerce { width: 100%; }
.cosmo-compte-page .woocommerce > .woocommerce-breadcrumb { grid-column: 1 / -1; }
@media (min-width: 782px) {
	.cosmo-compte-page .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: 260px minmax(0, 1fr); align-items: start; }
}
.cosmo-compte-page .woocommerce-MyAccount-navigation li { padding: 0; margin: 0; }
.cosmo-compte-page .woocommerce-MyAccount-navigation a { padding: 0 16px; border-bottom: 0; text-decoration: none !important; font-size: 14px; }
.cosmo-compte-page .woocommerce::before, .cosmo-compte-page .woocommerce::after { display: none !important; }
.cosmo-compte-page .woocommerce-MyAccount-navigation, .cosmo-compte-page .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
main.cosmo-rayon > *, main.cosmo-fiche > * { max-width: 1320px !important; }

/* ---------- Panier vide : sobriété de l'accueil (02/10/2026, fiche premium) ---------- */
.cosmo-panier-page .wp-block-woocommerce-empty-cart-block { padding: 8px 0 24px; }
.cosmo-panier-page .wc-block-cart__empty-cart__title.with-empty-cart-icon::before { display: none; }
.cosmo-panier-page .wc-block-cart__empty-cart__title { margin: 8px auto 0; padding: 40px 24px; max-width: 760px; border-radius: 8px; background: var(--paper); }
.cosmo-panier-page .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots { display: none; }
.cosmo-panier-page .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) { margin: 56px 0 20px; text-align: left !important; font-size: clamp(27px, 3vw, 34px); font-weight: 750; letter-spacing: -0.035em; }
.cosmo-panier-page .wc-block-grid__products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0 !important; padding: 0; list-style: none; }
@media (max-width: 900px) { .cosmo-panier-page .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
.cosmo-panier-page .wc-block-grid__product { display: flex; flex-direction: column; max-width: none !important; width: auto !important; margin: 0 !important; padding: 16px !important; border: 1px solid var(--line) !important; border-radius: 8px; background: #fff; text-align: left !important; transition: border-color 0.2s; }
.cosmo-panier-page .wc-block-grid__product:hover { border-color: var(--teal) !important; }
.cosmo-panier-page .wc-block-grid__product-image { margin: 0 0 14px !important; padding: 8%; border-radius: 8px; background: var(--paper); isolation: isolate; }
.cosmo-panier-page .wc-block-grid__product-image img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; background: transparent; mix-blend-mode: multiply; }
.cosmo-panier-page .wc-block-grid__product-link { text-decoration: none !important; }
.cosmo-panier-page .wc-block-grid__product-title { margin: 0 0 12px !important; font-size: 15px !important; font-weight: 700; line-height: 1.35; color: var(--ink); text-align: left; }
.cosmo-panier-page .wc-block-grid__product-price { margin: 0 0 12px; font-weight: 750; color: var(--ink); }
.cosmo-panier-page .wc-block-grid__product-add-to-cart { margin-top: auto !important; padding-top: 12px; border-top: 1px solid var(--line); text-align: left !important; }
.cosmo-panier-page .wc-block-grid__product-add-to-cart .wp-block-button__link { display: inline-flex; min-height: 44px; align-items: center; padding: 0 !important; border: 0; background: transparent !important; color: var(--teal) !important; font-size: 13px; font-weight: 750; }
.cosmo-panier-page .wc-block-grid__product-add-to-cart .wp-block-button__link:hover { color: var(--teal-dark) !important; text-decoration: underline; }
