/*
Theme Name: A Casa Bianca
Description: Thème de la résidence A Casa Bianca à Porticcio. Thème enfant de Twenty Twenty-Five.
Template: twentytwentyfive
Version: 1.4.1
Requires at least: 6.7
Text Domain: casabianca
*/

/* Pas d'espace entre en-tête, contenu et pied de page (les sections ont leurs propres marges) */
.wp-site-blocks > * { margin-block-start: 0; }

/* En-tête collant, légèrement translucide */
.cb-header {
	position: sticky;
	top: 0;
	z-index: 50;
	backdrop-filter: saturate(160%) blur(10px);
	-webkit-backdrop-filter: saturate(160%) blur(10px);
	background-color: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
}
.admin-bar .cb-header { top: var(--wp-admin--admin-bar--height, 32px); }

.cb-logo { display: block; line-height: 0; }
.cb-logo-img { width: 130px; height: auto; }

/* Sélecteur de langue */
.cb-lang { display: flex; gap: 0.15rem; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.04em; }
.cb-lang a {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	color: var(--wp--preset--color--accent-4);
	text-decoration: none;
	padding: 0.3em 0.45em;
	border-radius: 4px;
}
.cb-flag { display: inline-block; width: 1.35em; line-height: 0; border-radius: 2px; overflow: hidden; box-shadow: 0 0 0 1px rgba(13, 36, 51, 0.12); }
.cb-flag svg { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; }
.cb-lang a:not(.is-current) .cb-flag { opacity: 0.75; }
.cb-lang a:hover .cb-flag { opacity: 1; }
.cb-lang a:hover { color: var(--wp--preset--color--accent-3); }
.cb-lang a.is-current { color: var(--wp--preset--color--accent-3); background: var(--wp--preset--color--accent-5); }

@media (max-width: 781px) {
	.cb-logo-img { width: 84px; }
	.cb-header .wp-block-group { gap: 0.35rem !important; }
	.cb-header .wp-block-button__link { padding: 0.5em 0.95em !important; font-size: 0.85rem; white-space: nowrap; }
	.cb-header .wp-block-navigation { order: 3; }
	/* Zones tactiles d'au moins 44 px de haut (drapeaux, bouton du menu) */
	.cb-lang { gap: 0; }
	.cb-lang a { min-width: 34px; min-height: 44px; justify-content: center; padding: 0; }
	.cb-lang-label { display: none; }
	.cb-flag { width: 1.45em; }
	.cb-header .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; margin-right: -10px; display: flex; align-items: center; justify-content: center; }
}

/* Listes à icônes du pied de page */
.cb-footer-list { font-size: 0.95rem; margin: 0; }
.cb-footer-list > li { padding-top: 0.25em; padding-bottom: 0.25em; }
.cb-footer-list > li::before { top: 0.3em; }
.cb-footer-list a[href^="mailto:"] { white-space: nowrap; }

/* Liens vers les réseaux, côte à côte */
.cb-social { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.5rem 2rem; }

/* Cartes : image arrondie qui zoome légèrement au survol */
.cb-card .wp-block-image,
.cb-card .wp-block-cover { overflow: hidden; border-radius: 6px; }
.cb-card img { transition: transform 0.6s ease; }
.cb-card:hover img { transform: scale(1.04); }
.cb-card .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }

/* Galerie de photos homogène */
.cb-gallery.wp-block-gallery img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }

/* Liste à puces discrète (équipements) */
.cb-list { list-style: none; padding-left: 0; }
.cb-list li { padding: 0.35em 0 0.35em 1.4em; position: relative; }
.cb-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.95em;
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-1);
}

/* Chiffres clés */
.cb-stat strong {
	display: block;
	font-family: var(--wp--preset--font-family--literata);
	font-size: clamp(2.4rem, 5vw, 3.4rem);
	font-weight: 300;
	line-height: 1;
	color: var(--wp--preset--color--accent-3);
}

/* Liste sur deux colonnes (caractéristiques des suites), y compris sur mobile pour raccourcir la page */
.cb-list-2col { columns: 2; column-gap: 1.5rem; }
.cb-list-2col li { break-inside: avoid; }
@media (max-width: 480px) { .cb-list-2col { column-gap: 0.75rem; font-size: 0.92rem; } }

/* Fiches suites : photos aux proportions homogènes */
.cb-suite .wp-block-image img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.cb-suite .wp-block-columns .wp-block-columns .wp-block-image img { aspect-ratio: 4 / 3; }
/* Sur mobile, les photos toujours avant le texte (l'ordre alterne sur ordinateur) */
@media (max-width: 781px) { .cb-suite .cb-suite-photos { order: -1; } }
/* L'ancre du sommaire ne passe pas sous l'en-tête collant */
.cb-suite[id] { scroll-margin-top: 4rem; }

/* Sommaire des suites */
.cb-suite-nav { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cb-suite-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 1em;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-5);
	color: var(--wp--preset--color--accent-3);
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
}
.cb-suite-nav a:hover { background: var(--wp--preset--color--accent-3); color: var(--wp--preset--color--accent-6); }

/* Le hero : voile sombre côté texte (à gauche et en bas) pour la lisibilité, la mer reste claire à droite */
.cb-hero .wp-block-cover__background {
	background:
		linear-gradient(90deg, rgba(10, 30, 45, 0.72) 0%, rgba(10, 30, 45, 0.55) 48%, rgba(10, 30, 45, 0.08) 80%),
		linear-gradient(180deg, rgba(10, 30, 45, 0.1) 0%, rgba(10, 30, 45, 0.5) 100%) !important;
	opacity: 1 !important;
}
.cb-hero h1,
.cb-hero p { text-shadow: 0 1px 2px rgba(5, 20, 30, 0.45), 0 2px 24px rgba(5, 20, 30, 0.45); }
.cb-hero p { max-width: 34rem; }
@media (max-width: 781px) {
	/* Sur mobile le texte occupe toute la largeur : voile plus uniforme */
	.cb-hero .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(10, 30, 45, 0.25) 0%, rgba(10, 30, 45, 0.55) 40%, rgba(10, 30, 45, 0.75) 100%) !important;
	}
}

@media (max-width: 781px) {
	.cb-header .wp-block-site-tagline { display: none; }
}
