/*
Theme Name: GFR
Theme URI: https://www.galaxie-frigorifique-reunionnaise.com
Author: Galaxie Frigorifique Réunionnaise
Description: Thème à blocs du site vitrine de GFR (Galaxie Frigorifique Réunionnaise) : froid, climatisation, spa, pompes à chaleur et ventilation à La Réunion.
Version: 1.1.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gfr
*/

/* ---------- Chapô ---------- */
.gfr-lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
	color: var(--wp--preset--color--contrast);
}

/* ---------- Bandeau de mise en avant ---------- */
.wp-block-group.gfr-band {
	background: var(--wp--preset--color--accent-2);
	border-radius: 16px;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--50);
	margin-block: var(--wp--preset--spacing--60);
}
.wp-block-group.gfr-band > :first-child { margin-top: 0; }
.wp-block-group.gfr-band > :last-child { margin-bottom: 0; }

/* ---------- Bannières d'en-tête de page ---------- */
.entry-content > .wp-block-image.alignwide img,
.entry-content > figure.alignwide img {
	width: 100%;
	max-height: 440px;
	object-fit: cover;
	border-radius: 16px;
}

/* ---------- Univers (accueil) ---------- */
.gfr-univers > .wp-block-column {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--accent-4);
	border-top: 4px solid var(--wp--preset--color--accent-1);
	border-radius: 12px;
	padding: var(--wp--preset--spacing--40);
	transition: box-shadow .2s ease, transform .2s ease;
}
.gfr-univers > .wp-block-column:hover {
	box-shadow: 0 10px 30px rgba(11, 31, 51, .10);
	transform: translateY(-2px);
}
.gfr-univers h3 { margin-top: 0; }
.gfr-univers h3 a { text-decoration: none; color: var(--wp--preset--color--contrast); }
.gfr-univers h3 a::after { content: " →"; color: var(--wp--preset--color--accent-1); }
.gfr-univers p { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent-6); margin-bottom: 0; }

/* ---------- Bandeaux de logos ---------- */
.wp-block-group.gfr-logos {
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	align-items: center;
	padding-block: var(--wp--preset--spacing--40);
}
.gfr-logos .wp-block-image { margin: 0; }
.gfr-logos .wp-block-image img {
	max-height: 56px;
	max-width: 170px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .8;
	transition: filter .2s ease, opacity .2s ease;
}
.gfr-logos .wp-block-image img:hover { filter: none; opacity: 1; }

.wp-block-image.gfr-brand-logo img {
	max-width: 220px;
	max-height: 120px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* ---------- Cartes (brochures) ---------- */
.wp-block-group.gfr-cards { gap: var(--wp--preset--spacing--40); }
.wp-block-group.gfr-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--accent-4);
	border-left: 4px solid var(--wp--preset--color--accent-1);
	border-radius: 12px;
	padding: var(--wp--preset--spacing--40);
}
.gfr-card h3 { margin-top: 0; }
.gfr-card p { color: var(--wp--preset--color--accent-6); font-size: var(--wp--preset--font-size--small); }

/* ---------- Colonnes produits : images centrées ---------- */
.wp-block-columns > .wp-block-column > .wp-block-image:only-child img {
	border-radius: 12px;
}

/* ---------- En-tête ---------- */
.gfr-topbar a { color: inherit; text-decoration: none; }
.gfr-topbar a:hover { text-decoration: underline; }
.gfr-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .gfr-header { top: var(--wp-admin--admin-bar--height, 32px); }
.wp-block-image.gfr-logo { margin: 0; }
.wp-block-image.gfr-logo img {
	height: 64px;
	width: auto;
	max-width: none;
	display: block;
}
.gfr-tagline {
	margin: 0;
	padding-left: .75rem;
	border-left: 1px solid var(--wp--preset--color--accent-4);
	white-space: nowrap;
}

/* ---------- Carte Google Maps ---------- */
.gfr-map iframe {
	display: block;
	width: 100%;
	height: 450px;
	border: 0;
	border-radius: 12px;
}

.gfr-logo-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--wp--preset--color--accent-1);
	color: #fff !important;
	font-weight: 800;
	letter-spacing: .04em;
	border-radius: 10px;
	padding: .2em .45em;
	text-decoration: none !important;
}
.gfr-header .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent-1); }
.gfr-header .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--accent-4) !important;
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(11, 31, 51, .10);
	padding: .4em 0;
}

/* ---------- Pied de page ---------- */
.gfr-footer a { color: inherit; }
.gfr-footer a:hover { color: #fff; }
.gfr-footer h3 { color: #fff; }

/* ---------- Accessibilité ---------- */
:where(a, button, .wp-element-button):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent-5);
	outline-offset: 2px;
}

@media (max-width: 781px) {
	.wp-block-group.gfr-band { padding: var(--wp--preset--spacing--40); border-radius: 12px; }
	.gfr-header { position: static; }
	.wp-block-image.gfr-logo img { height: 48px; }
	.gfr-tagline { display: none; }
	.gfr-map iframe { height: 340px; }
}
