/*
Theme Name: MSB Bretagne
Theme URI: https://mois-sans-tabac-bretagne.fr
Author: Shortcut
Author URI: https://shortcut-agency.com
Description: Thème bloc sur mesure du site Mois sans Tabac Bretagne — espace professionnel. Basé sur la maquette accueil v3 (charte violet nuit / rouge brique / jaune campagne). Entièrement éditable via l'éditeur de site (FSE).
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: msb-bretagne
*/

/* ==========================================================================
   Icônes Material Symbols (auto-hébergées)
   ========================================================================== */
@font-face {
	font-family: "Material Symbols Outlined";
	font-style: normal;
	font-weight: 100 700;
	font-display: block;
	src: url("assets/fonts/material-symbols-outlined.woff2") format("woff2");
}
.material-symbols-outlined {
	font-family: "Material Symbols Outlined";
	font-weight: normal;
	font-style: normal;
	font-size: 24px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	font-feature-settings: "liga";
	-webkit-font-smoothing: antialiased;
}

/* ==========================================================================
   En-tête : bandeau + navigation sticky
   ========================================================================== */
.msb-header {
	position: sticky;
	top: 0;
	z-index: 50;
}
.msb-banner {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.msb-banner a {
	color: var(--wp--preset--color--jaune);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
.msb-banner a:hover {
	color: var(--wp--preset--color--blanc);
}
.msb-nav {
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.msb-nav .wp-block-navigation a {
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--encre-douce);
}
.msb-nav .wp-block-navigation a:hover,
.msb-nav .wp-block-navigation .current-menu-item > a {
	color: var(--wp--preset--color--brique);
}

/* ==========================================================================
   Cartes (accès rapides, actualités, documents)
   ========================================================================== */
.msb-card {
	background: var(--wp--preset--color--blanc);
	border: 1px solid var(--wp--preset--color--gris-bordure);
	border-radius: var(--wp--custom--radius--card);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.msb-card:hover {
	transform: translateY(-6px);
	border-color: var(--wp--preset--color--corail);
	box-shadow: 0 12px 28px rgba(17, 0, 48, 0.12);
}
.msb-card-static:hover {
	transform: none;
}
.msb-icon-tile {
	width: 64px;
	height: 64px;
	border-radius: var(--wp--custom--radius--medium);
	display: flex;
	align-items: center;
	justify-content: center;
}
.msb-icon-tile .material-symbols-outlined {
	font-size: 34px;
}

/* Actualités : cartes du Query Loop */
.msb-actus .wp-block-post {
	background: var(--wp--preset--color--blanc);
	border-radius: var(--wp--custom--radius--card);
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(17, 0, 48, 0.08);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.msb-actus .wp-block-post:hover {
	box-shadow: 0 10px 24px rgba(17, 0, 48, 0.14);
	transform: translateY(-4px);
}
.msb-actus .wp-block-post-featured-image img {
	transition: transform 0.4s ease;
}
.msb-actus .wp-block-post:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}
.msb-actus .wp-block-post-terms a {
	background: var(--wp--preset--color--brique);
	color: var(--wp--preset--color--blanc);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 4px 10px;
	border-radius: 4px;
	text-decoration: none;
}
.msb-actus .wp-block-post-title a {
	text-decoration: none;
	color: var(--wp--preset--color--nuit);
}
.msb-actus .wp-block-post-title a:hover {
	color: var(--wp--preset--color--brique);
}
.msb-actus .wp-block-post-date {
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* ==========================================================================
   Décors (hero, badges, verre dépoli)
   ========================================================================== */
.msb-hero {
	position: relative;
	overflow: hidden;
}
.msb-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 2px 2px, var(--wp--preset--color--violet) 1px, transparent 0);
	background-size: 40px 40px;
	opacity: 0.05;
	pointer-events: none;
}
.msb-hero > * {
	position: relative;
}
.msb-badge {
	display: inline-block;
	background: var(--wp--preset--color--jaune-pale);
	color: #261a00;
	padding: 4px 16px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.msb-glass {
	background: rgba(255, 255, 255, 0.75);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: var(--wp--custom--radius--medium);
}
.msb-media-rounded img {
	border-radius: var(--wp--custom--radius--medium);
}

/* Chiffres clés */
.msb-stat .msb-stat-number {
	color: var(--wp--preset--color--jaune);
	font-size: var(--wp--preset--font-size--huge);
	font-weight: 800;
	line-height: 1.1;
	margin: 0;
}
.msb-stat p {
	color: var(--wp--preset--color--blanc);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 13px;
}

/* ==========================================================================
   Boutons — variantes
   ========================================================================== */
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid var(--wp--preset--color--nuit);
	color: var(--wp--preset--color--nuit);
	background: transparent;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--nuit);
	color: var(--wp--preset--color--blanc);
}
.msb-btn-jaune .wp-block-button__link {
	background: var(--wp--preset--color--jaune);
	color: #261a00;
}
.msb-btn-jaune .wp-block-button__link:hover {
	background: var(--wp--preset--color--jaune-pale);
	color: #261a00;
}
.msb-btn-blanc .wp-block-button__link {
	background: var(--wp--preset--color--blanc);
	color: var(--wp--preset--color--nuit);
}
.msb-btn-blanc .wp-block-button__link:hover {
	background: var(--wp--preset--color--jaune);
	color: #261a00;
}

/* ==========================================================================
   Pied de page
   ========================================================================== */
.msb-footer a {
	color: var(--wp--preset--color--gris-bordure);
	text-decoration: none;
}
.msb-footer a:hover {
	color: var(--wp--preset--color--jaune);
}
.msb-footer h4 {
	color: var(--wp--preset--color--blanc);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 13px;
}
.msb-footer-logos {
	filter: grayscale(1);
	opacity: 0.8;
	transition: filter 0.3s ease, opacity 0.3s ease;
}
.msb-footer-logos:hover {
	filter: grayscale(0);
	opacity: 1;
}
.msb-logo-slot {
	background: rgba(255, 255, 255, 0.14);
	border-radius: 6px;
	min-height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.6);
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	padding: 8px;
}

/* ==========================================================================
   Divers
   ========================================================================== */
.msb-uppercase {
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
@media (prefers-reduced-motion: reduce) {
	.msb-card,
	.msb-actus .wp-block-post,
	.msb-actus .wp-block-post-featured-image img {
		transition: none;
	}
}
