/* Magasins : archive (templates/archive-magasin.html) et fiches (single-magasin.html), chargée sur ces pages seulement
   (inc/magasins.php). Mesures de la production à 1 440 px : grille et contenu sur 1 170 px (5 px de plus que la
   largeur utile de chaque côté), texte 14,4 px sur 26,64 px. */

.lb-magasins p, .lb-magasin p { line-height: 26.64px; }
.lb-magasins .woocommerce-breadcrumb, .lb-magasin .woocommerce-breadcrumb { margin: 0; } /* bande et texte communs (lb.css, recette [46]) */
.lb-magasins .woocommerce-breadcrumb a, .lb-magasin .woocommerce-breadcrumb a { color: #767676; }

/* Archive ---------------------------------------------------------------- */
.lb-magasins > * + * { margin-block-start: 0; }
.lb-magasins .lb-magasins__titre { margin: 11px 0 20px; padding: 43.2px 0; font-size: 34.56px; font-weight: 600; line-height: 1; }
.lb-magasins .lb-magasins__titre + p { margin: 0 -5px 34.4px; }
.lb-magasins__liste { margin-inline: -5px; }
.lb-magasins__liste .wp-block-post-template { gap: 30px; margin: 0; padding: 0; }
.lb-magasins__liste .wp-block-post { display: flex; flex-direction: column; gap: 20px; padding: 10px; }
.lb-magasins__liste .wp-block-post > * { margin: 0; }
.lb-magasins__liste .wp-block-post-featured-image img { width: 100%; }
.lb-magasin__nom { padding-top: 28.8px; font-size: 28.8px; font-weight: 600; line-height: 1; text-transform: uppercase; }
.lb-magasins__liste .wp-block-post > p { margin-bottom: 14.4px; }
/* Boutons « Détails » et « Je laisse mon avis » (grille de la page Contact) : l'un sous l'autre, centrés, 20 px d'écart. */
.lb-magasins__liste .lb-magasin__boutons { gap: 20px; margin-top: auto; }
.lb-magasins__liste .lb-magasin__boutons .wp-block-button__link { font-size: 15px; font-weight: 600; text-transform: uppercase; border-width: 2px; }

/* Fiche ------------------------------------------------------------------ */
.lb-magasin > * + * { margin-block-start: 0; }
.lb-magasin .lb-magasin__titre { margin: 0; padding: 74.8px 0; font-size: 43.2px; font-weight: 700; line-height: 1; text-transform: uppercase; }
/* Adresse et horaires : encadré de la moitié de la largeur. */
.lb-magasin .lb-magasin__infos { display: flex; flex-direction: column; gap: 5px; width: 585px; max-width: 100%; margin: 10px auto; padding: 10px; border: 3px solid var(--lb-fonce); border-radius: 1px; text-align: center; }
.lb-magasin__infos > * { margin: 0; }
.lb-champ p { margin: 0 0 14.4px; }
.lb-champ--horaires p { margin-bottom: 0; }
.lb-champ--horaires_speciaux { color: var(--lb-orange); }
/* Carte du magasin (bloc la-botte/carte-magasin) : 400 px de haut, comme le widget Google Maps de la prod. */
.lb-carte iframe { display: block; width: 100%; height: 400px; border: 0; }

/* Contenu propre à chaque magasin (écrit par pages.php, converti d'Elementor) : conteneurs « lb-bloc » avec 10 px de
   marge intérieure verticale (sauf réglage du bloc), textes en paragraphes de 14,4 px d'écart, titres de la prod. */
.lb-magasin .lb-magasin__contenu { margin-inline: -5px; }
.lb-magasin__contenu > * + * { margin-block-start: 0; }
.lb-magasin__contenu > :is(.lb-bloc, .lb-rangee) { padding-block: 10px; }
.lb-magasin__contenu .lb-texte > * { margin: 0 0 14.4px; }
.lb-magasin__contenu .lb-texte > :last-child { margin-bottom: 0; }
.lb-magasin__contenu .lb-texte > h3, .lb-magasin__contenu > .lb-bloc > h3 { margin: 0; padding: 24.48px 0; font-size: 24.48px; font-weight: 500; line-height: 1; }
.lb-magasin__contenu .lb-texte > h2, .lb-magasin__contenu > .lb-bloc > h2 { margin: 8px 0 16px; padding: 43.2px 0; font-size: 34.56px; font-weight: 600; line-height: 1.2; }
.lb-magasin__contenu .wp-block-image { width: 100%; margin: 0; } /* largeur explicite : dans un groupe vertical (flex), la figure prenait la hauteur naturelle de l'image (sizes = 900 px) et la photo de 1 170 px débordait sur le texte suivant (recette [25]-[30]) */
.lb-magasin__contenu .wp-block-image img { width: 100%; }
.lb-magasin__contenu .lb-image-haut img { object-position: top center; }

/* Mobile (390 px relevés sur la prod) : 10 px de marge latérale, grille d'une colonne, titres réduits. */
@media (max-width: 767px) {
	.lb-main.lb-magasins, .lb-main.lb-magasin { padding-inline: 10px; }
	.lb-magasins__liste, .lb-magasins .lb-magasins__titre + p, .lb-magasin .lb-magasin__contenu { margin-inline: 0; }
	.lb-magasins .lb-magasins__titre { padding: 28.8px 0; font-size: 28.8px; }
	.lb-magasin .lb-magasin__titre { padding: 46px 0 36px; font-size: 36px; line-height: 45px; }
	.lb-magasin .lb-magasin__infos { width: auto; margin-top: 40px; }
	.lb-champ--informations p { margin-bottom: 0; }
	.lb-magasin__contenu .lb-texte > h2, .lb-magasin__contenu > .lb-bloc > h2 { padding: 28.8px 0; font-size: 28.8px; }
	/* Photos côte à côte : bord à bord de l'écran, 5 px autour de chacune (réglage mobile d'Elementor). */
	.lb-magasin__contenu > .lb-rangee { margin-inline: -10px; }
	.lb-magasin__contenu > .lb-rangee > .wp-block-column { padding: 5px !important; }
	/* Textes limités à 60 % de large (réglage d'Elementor) : pleine largeur sur mobile (recette [25]-[29]). */
	.lb-magasin__contenu .lb-bloc.is-layout-constrained > * { max-width: 100% !important; }
}
