/*
 * Bab Al Marsa Manager - structure de base des widgets Elementor.
 * Aucune couleur ni valeur visuelle n'est codée en dur ici : toutes les couleurs,
 * ombres, typographies, etc. sont injectées par Elementor via les contrôles Style
 * (Group_Control_Background, Group_Control_Typography, Group_Control_Box_Shadow...).
 * Ce fichier ne définit que la structure (grille, flex, positionnement).
 */

.bam-empty {
	opacity: 0.7;
	font-style: italic;
}

/* ==========================================================================
   BAM Restaurant Grid
   ========================================================================== */

.bam-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bam-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease;
	position: relative;
}

.bam-card__image {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.bam-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.bam-card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.bam-card__title {
	margin: 0;
}

.bam-card__desc {
	margin: 0;
}

.bam-card__meta {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.bam-card__button {
	display: inline-block;
	align-self: flex-start;
	margin-top: 8px;
	text-decoration: none;
	transition: color 0.25s ease, background-color 0.25s ease;
}

@media (max-width: 1024px) {
	.bam-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.bam-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   BAM Location / BAM Horaires / BAM Capacité
   Structure de carte commune (icône + titre + valeur) : les 3 widgets sont
   visuellement interchangeables et alignables côte à côte en rangée Elementor.
   Toutes les couleurs, ombres, tailles, etc. sont injectées par Elementor via
   les contrôles Style (voir widgets/class-bam-field-card.php) ; ce fichier ne
   définit que la structure (flex, positionnement, transitions).
   ========================================================================== */

.bam-field-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	border-bottom: 0 solid transparent;
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.bam-field-card__icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.bam-field-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.bam-field-card__icon svg {
	width: 1em;
	height: 1em;
}

.bam-field-card__title {
	width: 100%;
}

.bam-field-card__value {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.bam-field-card__value--inline {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
}

.bam-field-card__row {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	width: 100%;
}

.bam-field-card__row-label {
	flex-shrink: 0;
}

.bam-field-card__row-text {
	flex-shrink: 0;
}

/* ==========================================================================
   BAM Menu Liste
   Liste de plats avec ligne de pointillés générée en CSS (flexbox), sans tableau
   HTML et sans points tapés en dur : le "leader" est un élément flex-grow avec
   border-bottom en pointillés.
   ========================================================================== */

.bam-menu-list {
	display: flex;
	flex-direction: column;
}

.bam-menu-list__section {
	display: flex;
	flex-direction: column;
}

.bam-menu-list__section-title {
	margin: 0;
}

.bam-menu-list__row {
	display: flex;
	flex-direction: column;
}

.bam-menu-list__line {
	display: flex;
	align-items: flex-end;
	width: 100%;
}

.bam-menu-list__name {
	white-space: nowrap;
	flex-shrink: 0;
}

.bam-menu-list__leader {
	flex-grow: 1;
	border-bottom-style: dotted;
	margin: 0 6px 4px;
	min-width: 20px;
}

.bam-menu-list__price {
	white-space: nowrap;
	flex-shrink: 0;
}

.bam-menu-list__desc {
	margin: 2px 0 0;
}

/* ==========================================================================
   BAM Galerie Slider (Swiper.js)
   ========================================================================== */

.bam-gallery-slider {
	position: relative;
	width: 100%;
}

.bam-gallery-slider .swiper-slide {
	overflow: hidden;
}

.bam-gallery-slider .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.bam-gallery-slider .swiper-button-next,
.bam-gallery-slider .swiper-button-prev {
	--swiper-navigation-size: 20px;
}

.bam-gallery-slider .swiper-button-next::after,
.bam-gallery-slider .swiper-button-prev::after {
	font-size: inherit;
}

/* ==========================================================================
   BAM Bouton Social
   ========================================================================== */

.bam-social-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.bam-social-button__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.bam-social-button__text {
	white-space: nowrap;
}
