/* ==========================================================================
   Cosmoshop : en-tête, barre des services et pied de page COMMUNS (02/10/2026, agent Site)
   Chargé sur toutes les pages, accueil compris, après site.css (accueil Codex).
   Reprend à l'identique les réglages d'en-tête que home.css appliquait seulement à l'accueil
   (« body.home … »), pour que l'en-tête soit le même partout.
   ========================================================================== */

/* En-tête : logo horizontal officiel (02/10/2026, soir).
   Ordinateur ≥ 1024 px : logo 52 px, barre 76 px, recherche à 32 px du logo.
   Tablette 768–1023 px : logo 44 px, barre 68 px, même ligne.
   Mobile < 768 px : logo 36 px à gauche, compte et panier à droite, recherche dessous sur toute la largeur.
   Marge de protection ≥ 1/4 de la hauteur du logo. Le logo est aligné sur le bord gauche du conteneur. */
.announcement { display: none; }
.site-header { z-index: 30; }
.cosmo-logo { display: block; flex-shrink: 0; line-height: 0; }
.cosmo-logo__img { display: block; width: auto; max-width: none; }
.cosmo-logo--entete .cosmo-logo__img { height: 52px; }
.site-header > .container.header-main { height: 76px; gap: 32px; }
.primary-nav { height: 50px; }
@media (max-width: 1023px) {
	.cosmo-logo--entete .cosmo-logo__img { height: 44px; }
	.site-header > .container.header-main { height: 68px; gap: 24px; }
}
@media (max-width: 767px) {
	.cosmo-logo--entete .cosmo-logo__img { height: 36px; }
	.site-header > .container.header-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; height: auto; gap: 10px 12px; padding-block: 10px 12px; }
	.site-header > .container.header-main .cosmo-logo { grid-column: 1; grid-row: 1; justify-self: start; }
	.site-header > .container.header-main .header-actions { grid-column: 2; grid-row: 1; margin-left: 0; gap: 8px; }
	.site-header > .container.header-main .header-actions a { justify-content: center; min-width: 44px; min-height: 44px; }
	.site-header > .container.header-main .site-search { grid-column: 1 / -1; grid-row: 2; max-width: none; width: 100%; height: 48px; }
	.site-header--commande > .container.header-main { grid-template-columns: minmax(0, 1fr) auto; }
	.site-header--commande > .container.header-main .header-actions a { justify-content: flex-start; }
}
@media (max-width: 600px) {
	.primary-nav { height: 43px; }
}
/* Page Commande : barre seule, même hauteur que la barre du haut */
.site-header--commande > .container.header-main { height: 76px; }
@media (max-width: 1023px) { .site-header--commande > .container.header-main { height: 68px; } }
@media (max-width: 767px) { .site-header--commande > .container.header-main { height: auto; padding-block: 12px; } }
.primary-nav a[aria-current="page"] { color: var(--gold); }
.mega-inner section > a[aria-current="page"] { color: var(--teal); font-weight: 700; }

/* Barre des services (Livraison, Click & Collect, Les promotions) */
.home-services { background: var(--white); border-bottom: 1px solid var(--line); }
.home-services > .container { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 49px; font-size: 12px; }
.home-services > .container > span { color: var(--muted); }
.home-services nav { display: flex; align-items: center; gap: 28px; }
.home-services a { display: flex; align-items: center; gap: 12px; font-weight: 700; min-height: 44px; }
.home-services svg { width: 16px; }
.home-services .home-promo-link { color: var(--teal); border-left: 1px solid var(--line); padding-left: 28px; }
@media (max-width: 1000px) {
	.home-services > .container > span { display: none; }
	.home-services nav { justify-content: space-between; width: 100%; }
}
@media (max-width: 600px) {
	.home-services > .container { min-height: 42px; }
	.home-services nav { gap: 12px; }
	.home-services a { font-size: 10px; gap: 6px; min-height: 42px; }
	.home-services svg { width: 12px; }
	.home-services .home-promo-link { padding-left: 13px; }
}

/* En-tête de la page Commande : logo + retour au panier, sans menu */
.site-header--commande > .container.header-main { justify-content: space-between; }
.site-header--commande .header-actions a > span { display: inline; }

/* Pied de page : logo horizontal 40 px aligné sur la colonne de gauche, marge de protection 10 px */
.cosmo-logo--pied { margin: 0 0 18px; padding: 10px 0; }
.cosmo-logo--pied .cosmo-logo__img { height: 40px; }
/* Pied de page : le lien « Gérer mes cookies » garde la taille des autres liens du bas */
.footer-bottom a { display: inline-flex; align-items: center; }

/* Page « bientôt disponible » (mode coming soon de WooCommerce) */
.cosmo-bientot { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: 24px; background: var(--night); color: #e0e8ed; text-align: center; }
.cosmo-bientot .cosmo-logo { display: inline-block; margin: 0 auto 28px; }
.cosmo-bientot .cosmo-logo__img { height: 64px; }
@media (max-width: 400px) { .cosmo-bientot .cosmo-logo__img { height: 48px; } }
.cosmo-bientot h1 { color: var(--white); font-size: clamp(36px, 6vw, 56px); margin: 0 0 14px; }
.cosmo-bientot p { color: #aebbc6; font-size: 17px; margin: 0; }

/* ==========================================================================
   Mobile du 02/10/2026 (agent Site, accord du propriétaire du 02/10/2026). Ordinateur et tablette inchangés.
   ========================================================================== */

/* Aucune page ne déborde en largeur (clip et non hidden, qui casserait position: sticky). */
html, body { overflow-x: clip; }

/* Recherche FiboSearch de l'en-tête : même rendu que l'ancien style en ligne sur ordinateur et tablette. */
.site-search-wrapper { flex: 1; max-width: 600px; margin: 0 20px; }

@media (max-width: 767px) {
	/* Bandes plus serrées : logo et actions, recherche, menu (zones tactiles de 44 px conservées). */
	.site-header > .container.header-main { padding-block: 4px 8px; row-gap: 4px; }
	/* Recherche centrée, pleine largeur du conteneur. */
	.site-header > .container.header-main .site-search-wrapper { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; width: 100%; max-width: none; margin: 0; }
	.site-header .site-search-wrapper .dgwt-wcas-search-wrapp { width: 100%; max-width: none; margin: 0; }
	.site-header .site-search-wrapper .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input { height: 44px; }
	.site-header .site-search-wrapper .dgwt-wcas-search-submit { height: 44px; min-height: 44px; }
	/* Menu : exactement 3 entrées sur une ligne (Tous les rayons, Courses générales, Communautaire). */
	.site-header .nav-bar .primary-nav { height: 44px; gap: 12px; justify-content: space-between; font-size: 12px; }
	.site-header .primary-nav > a { display: none !important; }
	.site-header .primary-nav > a[href$="/courses-generales/"],
	.site-header .primary-nav > a[href$="/communautaire/"] { display: flex !important; align-items: center; min-height: 44px; margin-left: 0; }
	.site-header .primary-nav > .menu-toggle { font-size: 12px; gap: 8px; }
	.site-header .primary-nav > .menu-toggle svg { width: 18px; height: 18px; }
}
@media (max-width: 359px) {
	.site-header .nav-bar .primary-nav { gap: 6px; font-size: 10.5px; letter-spacing: -0.005em; }
	.site-header .primary-nav > .menu-toggle { font-size: 10.5px; gap: 5px; }
	.site-header .primary-nav > .menu-toggle svg { width: 15px; height: 15px; }
}
