/* =========================================================================
   6minutes — feuille de style principale
   Mobile-first (colonne 430px), breakpoint desktop : 900px.
   Tokens issus du handoff (README) et des maquettes .dc.html.
   ========================================================================= */

:root {
	/* Couleurs */
	--sixm-bg-page: #100D0F;
	--sixm-bg: #1A1618;
	--sixm-surface: #242024;
	--sixm-bg-dark: #141114;
	--sixm-red: #E74C3C;
	--sixm-red-light: #FF8A7A;
	--sixm-text: #F2ECEA;
	--sixm-text-2: #A89A96;
	--sixm-text-3: #8A7F7C;
	--sixm-text-warm: #C9B8AE;
	--sixm-text-warm-2: #D8CCC7;
	--sixm-success: #3FCF8E;
	--sixm-warn: #F59E4B;
	--sixm-gold: #C9A05C;
	--sixm-stars: #E8B93B;
	--sixm-male: #2A6FDB;
	--sixm-male-light: #7FB3E8;
	--sixm-female: #ED4B65;
	--sixm-wa: #25D366;
	--sixm-wa-text: #4ADE80;
	--sixm-disabled: #3A3336;

	--sixm-border-card: rgba(255, 255, 255, 0.07);
	--sixm-border-input: rgba(255, 255, 255, 0.12);
	--sixm-border-btn: rgba(255, 255, 255, 0.18);

	/* Typo */
	--sixm-font-display: 'Bricolage Grotesque', sans-serif;
	--sixm-font-body: 'Figtree', sans-serif;

	/* Rayons / ombres */
	--sixm-radius-card: 18px;
	--sixm-radius-btn: 14px;
	--sixm-shadow-cta: 0 8px 24px rgba(231, 76, 60, 0.35);
	--sixm-shadow-orange: 0 8px 24px rgba(245, 158, 75, 0.25);
}

/* ------------------------------------------------------------------ Base */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--sixm-bg-page);
	color: var(--sixm-text);
	font-family: var(--sixm-font-body);
	font-size: 15px;
	line-height: 1.55;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--sixm-red-light); text-decoration: none; transition: color 0.2s ease; }

h1, h2, h3, h4 {
	font-family: var(--sixm-font-display);
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 12px;
	letter-spacing: -0.5px;
}

h1 { font-size: 28px; font-weight: 800; }
h2 { font-size: 21px; }
h3 { font-size: 15px; font-family: var(--sixm-font-body); letter-spacing: 0; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}
.skip-link:focus {
	position: fixed !important;
	top: 8px; left: 8px;
	z-index: 200;
	width: auto; height: auto;
	clip-path: none;
	background: var(--sixm-red);
	color: #fff;
	padding: 10px 16px;
	border-radius: 10px;
}

:focus-visible { outline: 2px solid rgba(231, 76, 60, 0.7); outline-offset: 2px; }

/* L'attribut HTML hidden doit toujours l'emporter, même sur display:flex. */
[hidden] { display: none !important; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---------------------------------------------------------------- Layout */

/* Colonne mobile : fluide en pleine largeur (le cadre 430px des maquettes
   n'est pas reproduit pour éviter les bandes noires sur grands mobiles) ;
   elle se recentre à 720px sur tablette puis passe au layout desktop. */
.sixm-site {
	min-height: 100vh;
	margin: 0 auto;
	background: var(--sixm-bg);
	display: flex;
	flex-direction: column;
}

.sixm-main { flex: 1; }

.sixm-container { padding-left: 16px; padding-right: 16px; }

/* Conteneur imbriqué dans un autre (panier, confirmation rendus dans le
   gabarit de page) : pas de double marge latérale. */
.sixm-container .sixm-container { padding-left: 0; padding-right: 0; max-width: none; }

.sixm-section { margin-top: 38px; }

.sixm-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}
.sixm-section__head h2 { margin: 0; }
.sixm-section__head p { margin: 0; }

/* Palier tablette : la colonne s'élargit progressivement avant le layout desktop. */
@media (min-width: 600px) and (max-width: 899px) {
	.sixm-site { max-width: 720px; }
	.sixm-container { padding-left: 32px; padding-right: 32px; }
	.sixm-section { margin-top: 56px; }
	h1 { font-size: 34px; }
	h2 { font-size: 24px; }
	.sixm-hero__title { font-size: 42px; }
	.sixm-hero__photo { height: 320px; }
	.sixm-event-card { --sixm-thumb: 96px; padding: 14px; }
	.sixm-event-card__title { font-size: 17px; }
	.sixm-chips { padding-left: 32px; padding-right: 32px; flex-wrap: wrap; overflow: visible; }
	.sixm-stats__value { font-size: 32px; }
	.sixm-product__photo { width: min(380px, 100%); }
	.sixm-product__photo img { width: min(380px, 100%); height: auto; aspect-ratio: 1 / 1; }
	.sixm-sticky-bar { max-width: 720px; margin-left: auto; margin-right: auto; }
	.sixm-steps-list { flex-direction: row; gap: 24px; }
	.sixm-step { flex: 1; }
	.sixm-reviews { flex-direction: row; }
	.sixm-review { flex: 1; }
	.sixm-duo { flex-direction: row; align-items: stretch; }
	.sixm-press-card, .sixm-gift-card { flex: 1; }
}

@media (min-width: 900px) {
	.sixm-site { max-width: none; margin: 0; box-shadow: none; }
	.sixm-container { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 40px; padding-right: 40px; }
	.sixm-section { margin-top: 90px; }
	h1 { font-size: 48px; letter-spacing: -1.5px; }
	h2 { font-size: 30px; }

	/* Pages en colonne centrée 720–800px. */
	.sixm-narrow { max-width: 800px; }
}

/* --------------------------------------------------------------- Boutons */

.sixm-btn,
.sixm-btn:hover,
.sixm-btn:focus {
	text-decoration: none;
}

.sixm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 15px 24px;
	border-radius: var(--sixm-radius-btn);
	border: 0;
	font-family: var(--sixm-font-body);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	text-align: center;
	transition: filter 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.sixm-btn--primary { background: var(--sixm-red); color: #fff; box-shadow: var(--sixm-shadow-cta); }
.sixm-btn--primary:hover { filter: brightness(1.08); color: #fff; }
.sixm-btn--primary:disabled,
.sixm-btn--primary[disabled] { background: var(--sixm-disabled); color: var(--sixm-text-3); box-shadow: none; cursor: not-allowed; }

.sixm-btn--secondary {
	background: transparent;
	color: var(--sixm-text);
	border: 1.5px solid var(--sixm-border-btn);
}
.sixm-btn--secondary:hover { border-color: rgba(255, 255, 255, 0.3); color: var(--sixm-text); }

.sixm-btn--orange { background: var(--sixm-warn); color: #1A1005; box-shadow: var(--sixm-shadow-orange); }

.sixm-btn--pill { border-radius: 99px; padding: 12px 28px; font-size: 13.5px; background: transparent; border: 1.5px solid var(--sixm-border-btn); color: var(--sixm-text); }

.sixm-btn--block { display: flex; width: 100%; }
.sixm-btn--lg { padding: 17px 32px; font-size: 16px; border-radius: 16px; }

.sixm-back-link { color: var(--sixm-text-2); font-weight: 600; }
.sixm-back-link:hover { color: var(--sixm-red-light); }

/* --------------------------------------------------------------- Header */

.sixm-header {
	border-bottom: 1px solid var(--sixm-border-card);
	position: sticky;
	top: 0;
	z-index: 60;
	background: var(--sixm-bg);
}

.sixm-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 16px;
}

.sixm-logo {
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 29px;
	color: var(--sixm-red);
	letter-spacing: -0.6px;
}
@media (min-width: 900px) {
	.sixm-logo { font-size: 32px; }
}
.sixm-logo span { color: var(--sixm-text); }
.sixm-logo:hover { color: var(--sixm-red); }

.sixm-header__actions { display: flex; align-items: center; gap: 16px; }

.sixm-cart { position: relative; color: var(--sixm-text); padding: 2px; display: inline-flex; }
.sixm-cart__badge {
	position: absolute;
	top: -4px; right: -6px;
	min-width: 16px; height: 16px;
	border-radius: 99px;
	background: var(--sixm-red);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
}
.sixm-cart__badge.is-hidden { display: none; }

/* Burger (2 barres → croix). */
.sixm-burger {
	background: none;
	border: 0;
	padding: 6px 2px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 26px;
}
.sixm-burger__bar { width: 22px; height: 2px; background: var(--sixm-text); border-radius: 2px; transition: transform 0.2s ease; }
.sixm-burger__bar--bottom { width: 14px; align-self: flex-end; }
.sixm-burger[aria-expanded="true"] .sixm-burger__bar--top { transform: translateY(3.5px) rotate(45deg); width: 22px; }
.sixm-burger[aria-expanded="true"] .sixm-burger__bar--bottom { transform: translateY(-3.5px) rotate(-45deg); width: 22px; align-self: stretch; }

/* Nav desktop cachée en mobile. */
.sixm-nav { display: none; }
.sixm-header__cta { display: none; }

@media (min-width: 900px) {
	.sixm-header__inner { max-width: 1200px; margin: 0 auto; padding: 18px 40px; }
	.sixm-logo { font-size: 32px; }
	.sixm-burger { display: none; }
	.sixm-nav { display: block; }
	.sixm-nav-list { list-style: none; display: flex; gap: 32px; margin: 0; padding: 0; }
	.sixm-nav-list a { font-size: 14.5px; font-weight: 600; color: var(--sixm-text-warm-2); }
	.sixm-nav-list a:hover,
	.sixm-nav-list .current-menu-item > a,
	.sixm-nav-list .current_page_item > a { color: var(--sixm-red-light); }
	.sixm-nav-list .sixm-menu-badge { display: none; }
	.sixm-header__cta { display: inline-flex; padding: 12px 24px; border-radius: 12px; font-size: 14px; box-shadow: none; }
}

/* ---------------------------------------------------------- Menu mobile */

/* Panneau latéral : glisse depuis la droite PAR-DESSUS le header,
   fond teinté rouge + ombre pour une ouverture évidente. */
.sixm-mobile-menu-overlay {
	position: fixed;
	inset: 0;
	z-index: 88;
	background: rgba(10, 8, 9, 0.72);
	backdrop-filter: blur(2px);
	animation: sixmFadeIn 0.2s ease-out;
}
.sixm-mobile-menu {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	width: min(86%, 360px);
	background:
		linear-gradient(200deg, rgba(231, 76, 60, 0.14), rgba(231, 76, 60, 0.03) 45%),
		var(--sixm-surface);
	border-left: 1px solid rgba(231, 76, 60, 0.35);
	box-shadow: -24px 0 60px rgba(0, 0, 0, 0.55);
	display: flex;
	flex-direction: column;
	animation: sixmSlideIn 0.25s ease-out;
}
.sixm-mobile-menu[hidden],
.sixm-mobile-menu-overlay[hidden] { display: none; }

.sixm-mobile-menu__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 22px 14px;
	border-bottom: 1px solid rgba(231, 76, 60, 0.20);
}
.sixm-mobile-menu__label {
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 17px;
	color: var(--sixm-red-light);
	letter-spacing: -0.3px;
}

@keyframes sixmSlideIn {
	from { transform: translateX(40px); opacity: 0; }
	to { transform: translateX(0); opacity: 1; }
}
@keyframes sixmFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

.sixm-mobile-menu__scroll { flex: 1; overflow-y: auto; padding: 10px 22px 20px; }

.sixm-mobile-menu__list { list-style: none; margin: 0; padding: 0; }
.sixm-mobile-menu__list li { border-bottom: 1px solid var(--sixm-border-card); }
.sixm-mobile-menu__list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 17px 2px;
	font-family: var(--sixm-font-display);
	font-weight: 700;
	font-size: 21px;
	color: var(--sixm-text);
}
.sixm-mobile-menu__list a::after { content: '›'; color: var(--sixm-text-3); font-size: 18px; font-family: var(--sixm-font-body); font-weight: 400; }
.sixm-mobile-menu__list .sixm-menu-badge {
	font-size: 11px;
	font-weight: 800;
	font-family: var(--sixm-font-body);
	color: #fff;
	background: var(--sixm-red);
	padding: 4px 10px;
	border-radius: 99px;
	margin-left: auto;
	margin-right: 10px;
}

.sixm-mobile-menu__secondary-list { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 20px 2px 0; }
.sixm-mobile-menu__secondary-list a { font-size: 14px; font-weight: 600; color: var(--sixm-text-2); }

.sixm-mobile-menu__bottom { padding: 18px 22px 26px; border-top: 1px solid var(--sixm-border-card); }
.sixm-mobile-menu__bottom .sixm-social { margin-top: 16px; justify-content: center; }

@media (min-width: 900px) {
	.sixm-mobile-menu { display: none !important; }
}

/* -------------------------------------------------------------- Langues */

.sixm-lang { display: flex; align-items: center; justify-content: center; gap: 16px; }
.sixm-lang--footer { margin-bottom: 16px; font-size: 12.5px; font-weight: 700; letter-spacing: 0.5px; }
.sixm-lang--footer .sixm-lang__item { color: var(--sixm-text-3); }
.sixm-lang--footer .sixm-lang__item.is-active { color: var(--sixm-text); border-bottom: 2px solid var(--sixm-red); padding-bottom: 2px; }

.sixm-lang--pills { justify-content: flex-start; gap: 8px; padding: 24px 2px 0; }
.sixm-lang__label { font-size: 11.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--sixm-text-3); margin-right: 4px; }
.sixm-lang--pills .sixm-lang__item { font-size: 12.5px; font-weight: 600; color: var(--sixm-text-2); border: 1px solid var(--sixm-border-input); padding: 6px 13px; border-radius: 99px; }
.sixm-lang--pills .sixm-lang__item.is-active { font-weight: 700; color: var(--sixm-red-light); background: rgba(231, 76, 60, 0.16); border-color: rgba(231, 76, 60, 0.45); }

/* --------------------------------------------------------------- Footer */

.sixm-footer {
	margin-top: auto;
	background: var(--sixm-bg-dark);
	border-top: 1px solid var(--sixm-border-card);
	padding: 32px 16px 0;
}
.sixm-footer__grid {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	gap: 24px 40px;
}
.sixm-footer__logo {
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 22px;
	letter-spacing: -0.6px;
	color: var(--sixm-red);
	margin: 0 0 10px;
}
.sixm-footer__address {
	font-style: normal;
	font-size: 14px;
	line-height: 1.65;
	color: var(--sixm-text-2);
	margin: 0 0 14px;
}
.sixm-footer__contact { margin: 0; }
.sixm-footer__title {
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--sixm-red-light);
	margin: 0 0 8px;
}
.sixm-footer__col ul,
.sixm-footer__extra-menu { list-style: none; margin: 0; padding: 0; }
.sixm-footer__col li { margin: 0; }
.sixm-footer__col ul a,
.sixm-footer__extra-menu a {
	display: inline-block;
	padding: 4px 0;
	font-size: 14.5px;
	color: var(--sixm-text-warm-2);
	text-decoration: none;
}
.sixm-footer__col ul a:hover,
.sixm-footer__extra-menu a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* Les pastilles sociales gardent leur centrage flex quoi qu'il arrive. */
.sixm-footer .sixm-social__item {
	display: flex !important;
	padding: 0 !important;
	line-height: 1;
}

.sixm-social { display: flex; gap: 12px; margin-bottom: 18px; }
.sixm-social__item {
	width: 42px; height: 42px;
	border-radius: 99px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--sixm-text-warm-2);
}
.sixm-social__item:hover { border-color: rgba(255, 255, 255, 0.4); color: var(--sixm-text); }

.sixm-footer__bottom {
	max-width: 1200px;
	margin: 28px auto 0;
	padding: 14px 0 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--sixm-text-3);
	text-align: center;
}

@media (min-width: 600px) {
	.sixm-footer { padding: 52px 32px 0; }
	.sixm-footer__grid { grid-template-columns: 1fr 1fr; }
	.sixm-footer__brand { grid-column: 1 / -1; }
}

@media (min-width: 900px) {
	.sixm-footer { padding: 60px 40px 0; }
	.sixm-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 34px 40px; }
	.sixm-footer__brand { grid-column: auto; }
	.sixm-footer__logo { font-size: 26px; }
	.sixm-footer__address { font-size: 15px; }
	.sixm-footer__col ul a, .sixm-footer__extra-menu a { font-size: 15.5px; padding: 6px 0; }
	.sixm-footer__title { margin-bottom: 14px; }
	.sixm-footer__bottom { margin-top: 40px; }
}

/* Sélecteur de langue du footer : pills bien visibles avec libellé. */
.sixm-footer .sixm-lang--pills { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.sixm-footer .sixm-lang--pills .sixm-lang__label {
	width: 100%;
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--sixm-red-light);
	margin: 6px 0 2px;
}
.sixm-footer .sixm-lang--pills .sixm-lang__item { font-size: 14px; padding: 8px 16px; }

/* ----------------------------------------------------------- Composants */

.sixm-card {
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: var(--sixm-radius-card);
	transition: border-color 0.2s ease;
}

.sixm-accent { color: var(--sixm-red-light); }
.sixm-star { color: var(--sixm-stars); }
.sixm-social-proof { font-size: 13px; color: var(--sixm-text-3); margin: 0; }
.sixm-social-proof strong { color: var(--sixm-text); }

.sixm-photo-placeholder {
	display: block;
	background: #37312F;
	border-radius: inherit;
	width: 100%;
	height: 100%;
	min-height: 120px;
}

/* Badges de statut. */
.sixm-badge {
	display: inline-block;
	font-size: 11.5px;
	font-weight: 700;
	padding: 3px 9px;
	border-radius: 99px;
	width: fit-content;
}
.sixm-badge--available { background: rgba(63, 207, 142, 0.14); color: var(--sixm-success); }
.sixm-badge--low { background: rgba(245, 158, 75, 0.16); color: var(--sixm-warn); }
.sixm-badge--full { background: rgba(255, 255, 255, 0.08); color: var(--sixm-text-3); }

/* Slogan : citation chaleureuse — halo doré discret, texte crème,
   grand guillemet décoratif. (L'ancien encadré rouge criait « alerte »
   pour une phrase qui promet une belle soirée.) */
.sixm-slogan {
	position: relative;
	background:
		radial-gradient(520px 260px at 50% 0%, rgba(201, 160, 92, 0.22), transparent 75%),
		linear-gradient(180deg, rgba(201, 160, 92, 0.07), rgba(201, 160, 92, 0.02));
	border: 1px solid rgba(201, 160, 92, 0.22);
	border: 0;
	border-radius: var(--sixm-radius-card);
	padding: 44px 22px 26px;
	text-align: center;
}
.sixm-slogan::before {
	content: '“';
	position: absolute;
	top: -6px;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--sixm-font-display);
	font-size: 88px;
	line-height: 1;
	font-weight: 800;
	color: rgba(201, 160, 92, 0.35);
	pointer-events: none;
}
.sixm-slogan p {
	margin: 0;
	font-family: var(--sixm-font-display);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.5;
	color: var(--sixm-text-warm);
	letter-spacing: -0.3px;
}
@media (min-width: 900px) {
	.sixm-slogan p { font-size: 25px; line-height: 1.45; }
	.sixm-slogan { padding: 52px 40px 30px; }
}

/* Bouton play. */
.sixm-play {
	width: 62px; height: 62px;
	border-radius: 99px;
	background: rgba(231, 76, 60, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}
.sixm-play::after {
	content: '';
	width: 0; height: 0;
	border-top: 11px solid transparent;
	border-bottom: 11px solid transparent;
	border-left: 18px solid #fff;
	margin-left: 5px;
}
.sixm-play--sm { width: 56px; height: 56px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.sixm-play--sm::after { border-top-width: 10px; border-bottom-width: 10px; border-left-width: 16px; margin-left: 4px; }

/* Pastille de confirmation « pop ». */
.sixm-check-pop { animation: sixmPop 0.5s ease; }
@keyframes sixmPop {
	0% { transform: scale(0.4); }
	70% { transform: scale(1.12); }
	100% { transform: scale(1); }
}

/* WhatsApp. */
.sixm-whatsapp {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	border: 1.5px solid rgba(37, 211, 102, 0.5);
	color: var(--sixm-wa-text);
	padding: 11px 20px;
	border-radius: 99px;
	font-size: 14px;
	font-weight: 600;
}
.sixm-whatsapp:hover { border-color: rgba(37, 211, 102, 0.8); color: var(--sixm-wa-text); }

/* Champs. */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
input[type="password"], select, textarea {
	background: var(--sixm-bg);
	border: 1.5px solid rgba(255, 255, 255, 0.22);
	border-radius: 12px;
	padding: 12px 14px;
	font-size: 15px;
	color: var(--sixm-text);
	font-family: var(--sixm-font-body);
	width: 100%;
}
input::placeholder, textarea::placeholder { color: var(--sixm-text-3); }
input:focus, select:focus, textarea:focus { outline: none; border-color: rgba(231, 76, 60, 0.5); }

/* Formulaires inline (email + bouton). */
.sixm-inline-form { display: flex; gap: 8px; }
.sixm-inline-form input { flex: 1; min-width: 0; }
.sixm-inline-form .sixm-btn { flex: none; padding: 12px 16px; font-size: 13.5px; border-radius: 12px; }
.sixm-inline-form--stack { flex-direction: column; }
.sixm-inline-form__row { display: flex; gap: 8px; }
.sixm-inline-form__row input { flex: 1; min-width: 0; }

.sixm-form-success {
	display: flex;
	align-items: center;
	gap: 9px;
	background: rgba(63, 207, 142, 0.12);
	border-radius: 12px;
	padding: 13px 14px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--sixm-success);
}
.sixm-form-success::before {
	content: '✓';
	width: 20px; height: 20px;
	border-radius: 99px;
	background: var(--sixm-success);
	color: #10201A;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 800;
	flex: none;
}

/* Pastilles toggle (Homme/Femme, options). */
.sixm-toggle-pill { flex: 1; }
.sixm-toggle-pill input { position: absolute; opacity: 0; pointer-events: none; }
.sixm-toggle-pill span,
.sixm-toggle-pill--btn {
	display: block;
	text-align: center;
	padding: 12px 0;
	border-radius: 12px;
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
	background: var(--sixm-bg);
	color: var(--sixm-text-2);
	border: 1.5px solid var(--sixm-border-input);
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	width: 100%;
	font-family: var(--sixm-font-body);
}
.sixm-toggle-pill input:checked + span,
.sixm-toggle-pill--btn.is-selected {
	background: rgba(231, 76, 60, 0.16);
	color: var(--sixm-red-light);
	border-color: rgba(231, 76, 60, 0.55);
}

/* Note de réassurance. */
.sixm-secure-note { text-align: center; font-size: 13px; color: var(--sixm-text-3); margin: 12px 0 0; }

/* --------------------------------------------------- Cartes événement */

.sixm-event-list { display: flex; flex-direction: column; gap: 10px; }

.sixm-event-card {
	display: flex;
	gap: 14px;
	align-items: center;
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: 16px;
	padding: 12px;
	color: var(--sixm-text);
}
.sixm-event-card:hover { border-color: rgba(255, 255, 255, 0.14); color: var(--sixm-text); }

.sixm-event-card__photo {
	width: var(--sixm-thumb, 82px);
	height: var(--sixm-thumb, 82px);
	flex: none;
	border-radius: 12px;
	overflow: hidden;
	background: #37312F;
}
.sixm-event-card__photo img { width: 100%; height: 100%; object-fit: cover; }

.sixm-event-card__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.sixm-event-card__title { font-family: var(--sixm-font-display); font-weight: 700; font-size: 15.5px; line-height: 1.2; }
.sixm-event-card__date { font-size: 13px; color: var(--sixm-text-2); }
.sixm-event-card__chevron { color: var(--sixm-text-3); font-size: 18px; flex: none; }

/* Grille desktop de 3 (masquée en mobile, liste masquée en desktop). */
.sixm-event-grid { display: none; }

@media (min-width: 900px) {
	.sixm-event-list { display: none; }
	.sixm-event-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
}

.sixm-event-card-v {
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: 20px;
	overflow: hidden;
	color: var(--sixm-text);
	display: block;
}
.sixm-event-card-v:hover { border-color: rgba(255, 255, 255, 0.14); color: var(--sixm-text); }
.sixm-event-card-v__photo { display: block; aspect-ratio: 1 / 1; background: #37312F; }
.sixm-event-card-v__photo img { width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.sixm-event-card-v__body { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px 20px; }
.sixm-event-card-v__title { font-family: var(--sixm-font-display); font-weight: 700; font-size: 18px; }
.sixm-event-card-v__date { font-size: 14px; color: var(--sixm-text-2); margin-bottom: 8px; }

/* ------------------------------------------------------------- Accueil */

.sixm-hero { padding-top: 34px; }
.sixm-hero__title { font-size: 34px; line-height: 1.1; letter-spacing: -1px; margin-bottom: 12px; }
.sixm-hero__subtitle { margin: 0 0 22px; font-size: 15.5px; color: var(--sixm-text-2); }
.sixm-hero__ctas { display: flex; gap: 10px; margin: 0 0 24px; }
.sixm-hero__photo { width: 100%; height: 240px; object-fit: cover; border-radius: 18px; }
.sixm-hero__proof { margin-top: 14px; text-align: center; }

@media (min-width: 900px) {
	.sixm-hero {
		padding-top: 70px;
		display: grid;
		grid-template-columns: 1.05fr 1fr;
		gap: 56px;
		align-items: center;
	}
	.sixm-hero__title { font-size: 56px; line-height: 1.05; letter-spacing: -2px; margin-bottom: 18px; }
	.sixm-hero__subtitle { font-size: 18px; line-height: 1.6; max-width: 480px; margin-bottom: 28px; }
	.sixm-hero__photo { height: 440px; border-radius: 24px; }
	.sixm-hero__proof { text-align: left; font-size: 14.5px; }
}

/* Bande concept. */
.sixm-band {
	margin-top: 42px;
	background: var(--sixm-bg-dark);
	border-top: 1px solid var(--sixm-border-card);
	border-bottom: 1px solid var(--sixm-border-card);
	padding: 36px 0;
}
.sixm-band__subtitle { margin: 0 0 26px; font-size: 16px; line-height: 1.6; color: var(--sixm-text-warm-2); }
@media (min-width: 900px) {
	.sixm-band__subtitle { font-size: 17.5px; }
}

.sixm-steps-list { display: flex; flex-direction: column; gap: 22px; }
.sixm-step { display: flex; gap: 16px; align-items: flex-start; }
.sixm-step__num {
	width: 34px; height: 34px;
	border-radius: 99px;
	background: var(--sixm-red);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 800;
	flex: none;
	font-family: var(--sixm-font-display);
}
.sixm-step__num--gold { background: var(--sixm-gold); color: var(--sixm-bg); }
.sixm-step h3 { margin: 0 0 6px; font-weight: 700; font-size: 18px; letter-spacing: -0.2px; }
.sixm-step p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--sixm-text-2); }

@media (min-width: 900px) {
	.sixm-step h3 { font-size: 19px; }
	.sixm-step p { font-size: 16px; }
}

.sixm-guarantee {
	margin-top: 22px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: rgba(63, 207, 142, 0.08);
	border: 1px solid rgba(63, 207, 142, 0.22);
	border-radius: 14px;
	padding: 16px 18px;
}
.sixm-guarantee__check { color: var(--sixm-success); font-size: 18px; font-weight: 800; flex: none; }
.sixm-guarantee p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--sixm-text-warm-2); }
@media (min-width: 900px) {
	.sixm-guarantee p { font-size: 16px; }
}
.sixm-guarantee strong { color: var(--sixm-success); }

@media (min-width: 900px) {
	.sixm-band { margin-top: 90px; padding: 70px 0; }
	.sixm-steps-list { flex-direction: row; gap: 40px; }
	.sixm-step { flex: 1; }
}

/* Façade vidéo. */
.sixm-video-facade {
	position: relative;
	display: block;
	width: 100%;
	border: 1px solid var(--sixm-border-card);
	border-radius: 18px;
	overflow: hidden;
	cursor: pointer;
	background: none;
	padding: 0;
}
.sixm-video-facade__thumb {
	display: block;
	height: 0;
	padding-top: 56.25%; /* 16:9 */
	background-size: cover;
	background-position: center;
	min-height: 0;
	border-radius: 0;
}
.sixm-video-facade__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: rgba(16, 13, 15, 0.25);
	pointer-events: none;
}
.sixm-video-facade__label {
	font-family: var(--sixm-font-display);
	font-weight: 700;
	font-size: 15px;
	color: #fff;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
.sixm-video-facade iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; display: block; }

@media (min-width: 900px) {
	/* 16:9 conservé à toutes les tailles (padding-top ci-dessus). */
}

/* Avis. */
.sixm-reviews { display: flex; flex-direction: column; gap: 12px; }
.sixm-review {
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: 18px;
	padding: 20px;
}
.sixm-review__stars { color: var(--sixm-stars); font-size: 12px; letter-spacing: 2px; margin-bottom: 6px; }
.sixm-review p { margin: 0 0 8px; font-size: 15px; color: var(--sixm-text-warm-2); }
.sixm-review footer { font-size: 12.5px; font-weight: 600; color: var(--sixm-text-2); }

@media (min-width: 900px) {
	.sixm-reviews { flex-direction: row; }
	.sixm-review { flex: 1; }
	.sixm-review--mobile-only { display: none; }
}

/* Stats. */
.sixm-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: rgba(255, 255, 255, 0.09);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 20px;
	overflow: hidden;
	margin-top: 22px;
}
.sixm-stats__cell {
	position: relative;
	background:
		radial-gradient(140px 70px at 50% 0%, rgba(231, 76, 60, 0.10), transparent 75%),
		var(--sixm-surface);
	padding: 26px 14px 22px;
	text-align: center;
}
.sixm-stats__cell::before {
	content: '';
	position: absolute;
	top: 0; left: 50%;
	transform: translateX(-50%);
	width: 34px; height: 3px;
	border-radius: 0 0 4px 4px;
	background: var(--sixm-red);
	opacity: 0.75;
}
.sixm-stats__value {
	display: block;
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 31px;
	line-height: 1.05;
	letter-spacing: -1px;
	color: var(--sixm-red-light);
	font-variant-numeric: tabular-nums;
	transition: transform 0.2s ease;
}
.sixm-stats__label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--sixm-text-2);
	margin-top: 5px;
}

@media (min-width: 600px) {
	.sixm-stats { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 900px) {
	.sixm-stats__cell { padding: 34px 16px 28px; }
	.sixm-stats__value { font-size: 44px; letter-spacing: -1.5px; }
	.sixm-stats__label { font-size: 12.5px; margin-top: 7px; }
}

/* Presse + bons cadeaux. */
.sixm-duo { display: flex; flex-direction: column; gap: 38px; }

.sixm-press-card {
	display: block;
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: 18px;
	overflow: hidden;
	color: var(--sixm-text);
}
.sixm-press-card:hover { border-color: rgba(255, 255, 255, 0.14); color: var(--sixm-text); }
.sixm-press-card__media { position: relative; display: block; height: 190px; }
.sixm-press-card__media .sixm-photo-placeholder { border-radius: 0; height: 100%; }
.sixm-press-card__body { display: block; padding: 16px 18px; }
.sixm-press-card__body strong { display: block; font-family: var(--sixm-font-display); font-size: 15.5px; margin-bottom: 4px; }
.sixm-press-card__body span { font-size: 13px; color: var(--sixm-text-2); }

.sixm-gift-card {
	display: flex;
	gap: 16px;
	align-items: center;
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: 18px;
	padding: 22px;
	color: var(--sixm-text);
}
.sixm-gift-card:hover { border-color: rgba(255, 255, 255, 0.14); color: var(--sixm-text); }
.sixm-gift-card__icon {
	width: 52px; height: 52px;
	border-radius: 14px;
	background: rgba(201, 160, 92, 0.16);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	flex: none;
}
.sixm-gift-card__body { flex: 1; min-width: 0; }
.sixm-gift-card__body strong { display: block; font-family: var(--sixm-font-display); font-size: 16px; margin-bottom: 2px; }
.sixm-gift-card__body span { font-size: 13px; color: var(--sixm-text-2); }

@media (min-width: 900px) {
	.sixm-duo { flex-direction: row; align-items: stretch; }
	.sixm-press-card, .sixm-gift-card { flex: 1; }
}

/* Newsletter : bloc rouge plein, contrasté et impossible à rater. */
.sixm-newsletter {
	position: relative;
	overflow: hidden;
	background: linear-gradient(170deg, #C64536 0%, #A8352A 100%);
	border: 0;
	border-radius: 22px;
	padding: 32px 24px;
	box-shadow: 0 18px 50px rgba(168, 53, 42, 0.30);
}
.sixm-newsletter::after {
	content: '';
	position: absolute;
	top: -70px; right: -70px;
	width: 240px; height: 240px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	pointer-events: none;
}
.sixm-newsletter__head { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; }
.sixm-newsletter__head h2 { margin: 0; font-size: 23px; font-weight: 800; letter-spacing: -0.4px; color: #fff; }
.sixm-newsletter__icon {
	width: 46px; height: 46px;
	border-radius: 99px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}
.sixm-newsletter__icon svg { stroke: var(--sixm-red); }
.sixm-newsletter > p { margin: 0 0 18px; font-size: 15px; color: rgba(255, 255, 255, 0.92); }
.sixm-newsletter__form { display: flex; flex-direction: column; gap: 10px; position: relative; }
.sixm-newsletter__form input,
.sixm-newsletter__form select {
	padding: 15px 16px;
	font-size: 15px;
	background: #fff;
	border: 0;
	color: #2A1512;
}
.sixm-newsletter__form select:invalid { color: #555B66; }
/* !important requis : la règle globale « placeholders discrets »
   (voir plus bas) en porte un — sur la carte rouge de la newsletter,
   la discrétion devenait de l'illisibilité. */
.sixm-newsletter__form input::placeholder { color: #555B66 !important; opacity: 1 !important; }
.sixm-newsletter__form input:focus,
.sixm-newsletter__form select:focus { outline: 3px solid rgba(255, 255, 255, 0.45); border: 0; }
.sixm-newsletter__form .sixm-btn {
	white-space: nowrap;
	background: #fff;
	color: #B03427;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}
.sixm-newsletter__note {
	margin: 14px 0 0 !important;
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.75) !important;
	text-align: center;
}
.sixm-newsletter__form .sixm-btn:hover { background: #FFF3F1; color: #B03427; filter: none; }

@media (min-width: 600px) {
	.sixm-newsletter__form { flex-direction: row; flex-wrap: wrap; }
	.sixm-newsletter__email { flex: 1 1 220px; min-width: 0; }
	.sixm-newsletter__firstname { flex: 1 1 150px; min-width: 0; }
	.sixm-newsletter__age { flex: 0 0 90px; }
	.sixm-newsletter__gender { flex: 0 0 150px; width: auto; }
	.sixm-newsletter__form .sixm-btn { flex: 1 1 auto; }
}

@media (min-width: 900px) {
	.sixm-newsletter { padding: 46px 48px; text-align: center; }
	.sixm-newsletter__head { justify-content: center; }
	.sixm-newsletter__head h2 { font-size: 30px; }
	.sixm-newsletter > p { font-size: 16.5px; margin-bottom: 24px; }
	.sixm-newsletter__form { text-align: left; }
}

/* La mise en page du formulaire suit la largeur RÉELLE de la carte
   (container query) : une carte de 720 px dans une page n'est pas
   traitée comme la carte pleine largeur de l'accueil. */
.sixm-newsletter { container-type: inline-size; }

/* Carte moyenne (ex. colonne de page ~720 px) : 2 rangées —
   e-mail + prénom + âge / genre + bouton. */
@container (min-width: 560px) and (max-width: 899px) {
	.sixm-newsletter__form { display: grid; grid-template-columns: 1.5fr 1.1fr 0.55fr; }
	.sixm-newsletter__email,
	.sixm-newsletter__firstname,
	.sixm-newsletter__age,
	.sixm-newsletter__gender { width: 100%; box-sizing: border-box; }
	.sixm-newsletter__gender { grid-column: 1 / 2; }
	.sixm-newsletter__form .sixm-btn { grid-column: 2 / -1; }
}

/* Carte large (accueil desktop) : la ligne unique historique. */
@container (min-width: 900px) {
	.sixm-newsletter__form { flex-wrap: nowrap; }
	.sixm-newsletter__form .sixm-btn { flex: 0 0 auto; }
}

/* CTA final. */
.sixm-final-cta { padding-top: 40px; padding-bottom: 36px; text-align: center; }
.sixm-final-cta h2 { font-size: 24px; font-weight: 800; margin-bottom: 8px; }
.sixm-final-cta p { margin: 0 0 18px; font-size: 14px; color: var(--sixm-text-2); }

@media (min-width: 900px) {
	.sixm-final-cta { padding-top: 90px; padding-bottom: 90px; }
	.sixm-final-cta h2 { font-size: 40px; }
}

/* --------------------------------------------------- Liste des événements */

.sixm-events-page__head { padding-top: 28px; }
.sixm-events-page__head h1 { margin-bottom: 8px; }
.sixm-events-page__head p { margin: 0 0 18px; font-size: 14.5px; color: var(--sixm-text-2); }

.sixm-chips {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding: 0 16px 4px;
	scrollbar-width: none;
}
.sixm-chips::-webkit-scrollbar { display: none; }

.sixm-chip {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 15px;
	border-radius: 99px;
	font-size: 13.5px;
	font-weight: 700;
	background: transparent;
	color: var(--sixm-text-2);
	border: 1px solid var(--sixm-border-input);
	transition: border-color 0.2s ease, background 0.2s ease;
}
.sixm-chip:hover { border-color: rgba(255, 255, 255, 0.25); color: var(--sixm-text); }
.sixm-chip.is-active {
	background: rgba(231, 76, 60, 0.16);
	color: var(--sixm-red-light);
	border-color: rgba(231, 76, 60, 0.55);
}
.sixm-chip.is-empty { color: var(--sixm-text-3); }
.sixm-chip__count {
	font-size: 11px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 99px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--sixm-text-2);
}
.sixm-chip.is-active .sixm-chip__count { background: rgba(231, 76, 60, 0.25); color: var(--sixm-red-light); }
.sixm-chip__notify { font-size: 11px; font-weight: 700; color: var(--sixm-red-light); }
.sixm-chip--static { cursor: default; font-weight: 600; font-size: 12px; padding: 5px 11px; }

@media (min-width: 900px) {
	.sixm-chips { max-width: 1200px; margin: 0 auto; padding: 0 40px 4px; flex-wrap: wrap; overflow: visible; }
}

/* Groupes par mois. */
.sixm-month__head {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 20px 0 12px;
}
.sixm-month__head h2 {
	margin: 0;
	font-family: var(--sixm-font-body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--sixm-red-light);
}
.sixm-month__rule { flex: 1; height: 1px; background: rgba(255, 255, 255, 0.08); }
.sixm-month__count { font-size: 12px; color: var(--sixm-text-3); }

@media (min-width: 900px) {
	.sixm-month__head { margin: 44px 0 18px; }
	.sixm-month__head h2 { font-size: 14px; }
}

/* Ville sans événement. */
.sixm-empty-city {
	margin-top: 20px;
	background: var(--sixm-surface);
	border: 1px dashed rgba(255, 255, 255, 0.18);
	border-radius: 18px;
	padding: 24px 20px;
	text-align: center;
}
.sixm-empty-city--plain { border-style: solid; border-color: var(--sixm-border-card); }
.sixm-empty-city__pin { display: block; font-size: 30px; margin-bottom: 10px; }
.sixm-empty-city h2 { font-size: 18px; margin-bottom: 6px; }
.sixm-empty-city p { margin: 0 0 16px; font-size: 13.5px; color: var(--sixm-text-2); }

/* Suggestion. */
.sixm-suggest {
	margin: 44px 0 36px;
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: 18px;
	padding: 22px 20px;
}
.sixm-suggest h2 { font-size: 18px; margin-bottom: 6px; }
.sixm-suggest p { margin: 0 0 14px; font-size: 13px; color: var(--sixm-text-2); }

@media (min-width: 900px) {
	.sixm-suggest { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; padding: 32px; }
	.sixm-suggest p { margin-bottom: 0; }
}

/* ------------------------------------------------------- Page événement */

.sixm-product { padding-top: 32px; }
.sixm-product__grid { display: block; }

.sixm-pills { display: flex; gap: 10px; margin: 0 0 18px; }
.sixm-pill {
	font-size: 14px;
	font-weight: 700;
	color: #E5D8CF;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.14);
	padding: 8px 16px;
	border-radius: 99px;
}
.sixm-pill--city {
	color: var(--sixm-red-light);
	background: rgba(231, 76, 60, 0.14);
	border-color: rgba(231, 76, 60, 0.35);
}

.sixm-product__title { margin-bottom: 10px; }
.sixm-product__title sup { font-size: 15px; }
.sixm-product__intro p { margin: 0 0 24px; font-size: 15px; color: var(--sixm-text-2); }

.sixm-product__photo { margin: 0 auto; width: 300px; max-width: 100%; }
.sixm-product__photo img { width: 300px; height: 300px; max-width: 100%; object-fit: cover; border-radius: 16px; }
.sixm-product__share-label { margin: 16px 0 0; text-align: center; font-size: 13px; color: var(--sixm-text-2); }
.sixm-product__share { display: flex; justify-content: center; margin: 10px 0 0; }

.sixm-product__aside--mobile { margin-top: 24px; display: flex; flex-direction: column; gap: 24px; }
.sixm-product__aside--desktop { display: none; }

@media (min-width: 900px) {
	.sixm-product { padding-top: 56px; }
	.sixm-product__grid {
		display: grid;
		/* minmax(0, 1fr) : le contenu accepte de rétrécir (sans lui, la
		   grille impose la largeur intrinsèque — débordement garanti).
		   Colonne droite et gouttière élastiques : la page reste entière
		   de 900 à 1250 px au lieu de se faire rogner. */
		grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
		gap: clamp(28px, 4.5vw, 56px);
	}
	.sixm-product__aside--desktop { align-self: stretch; }
	.sixm-product__aside--mobile { display: none; }
	.sixm-product__aside--desktop { display: block; }
	.sixm-product__aside-sticky { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 24px; }
	.sixm-product__photo { width: 100%; }
	.sixm-product__photo img { width: 100%; height: 400px; }
}

/* Infos pratiques. */
.sixm-infos { padding: 8px 20px; }
.sixm-infos__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.sixm-infos__row:last-child { border-bottom: 0; }
.sixm-infos__label { font-size: 13.5px; color: var(--sixm-text-2); flex: none; }
.sixm-infos__value { font-size: 15.5px; font-weight: 600; text-align: right; }
.sixm-infos__value--price { font-size: 15px; font-weight: 700; color: var(--sixm-red-light); }
.sixm-infos__value--price .woocommerce-Price-amount { color: var(--sixm-red-light); }

/* Widget places. */
.sixm-places { padding: 22px; }
.sixm-places__head {
	text-align: center;
	padding-bottom: 16px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--sixm-border-card);
}
.sixm-places__count {
	margin: 0;
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 21px;
	color: var(--sixm-red);
}
.sixm-places__note { margin: 4px 0 0; font-size: 12px; color: var(--sixm-text-2); }

/* États du widget (classes reprises par le widget JS v3). */
.sixm-places__section-title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.sixm-places__section-title--available { color: var(--sixm-success); }
.sixm-places__section-title--low { color: var(--sixm-warn); }
.sixm-places__section-title--full { color: var(--sixm-text-3); }

.sixm-places__row {
	display: flex;
	align-items: center;
	gap: 12px;
	border-radius: 12px;
	padding: 13px 14px;
	margin-bottom: 8px;
	font-size: 14.5px;
	font-weight: 600;
}
.sixm-places__row--available { background: rgba(63, 207, 142, 0.10); }
.sixm-places__row--low { background: rgba(245, 158, 75, 0.10); }
.sixm-places__row--full { background: rgba(255, 255, 255, 0.04); color: var(--sixm-text-3); }

.sixm-places__gender { font-size: 17px; flex: none; }
.sixm-places__gender--f { color: var(--sixm-red-light); }
.sixm-places__gender--m { color: var(--sixm-male-light); }
.sixm-places__range { flex: none; min-width: 78px; }
.sixm-places__bar { flex: 1; height: 7px; background: rgba(255, 255, 255, 0.10); border-radius: 99px; overflow: hidden; }
.sixm-places__bar-fill { display: block; height: 7px; border-radius: 99px; background: var(--sixm-success); }
.sixm-places__row--low .sixm-places__bar-fill { background: var(--sixm-warn); }
.sixm-places__status { flex: none; font-size: 13px; font-weight: 600; }
.sixm-places__row--available .sixm-places__status { color: var(--sixm-success); }
.sixm-places__row--low .sixm-places__status { color: var(--sixm-warn); font-weight: 700; }
.sixm-places__waitlist-link {
	font-size: 12px;
	font-weight: 700;
	color: var(--sixm-red-light);
	text-decoration: underline;
	text-underline-offset: 3px;
	flex: none;
}

/* Inclus. */
.sixm-included { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.sixm-included li { display: flex; gap: 12px; align-items: flex-start; font-size: 15.5px; }
.sixm-included li::before {
	content: '✓';
	width: 22px; height: 22px;
	border-radius: 99px;
	background: rgba(63, 207, 142, 0.15);
	color: var(--sixm-success);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	flex: none;
}

@media (min-width: 900px) {
	.sixm-included { display: grid; grid-template-columns: 1fr 1fr; }
}

/* Timeline. */
.sixm-timeline { list-style: none; margin: 0; padding: 0; }
.sixm-timeline li { display: flex; gap: 14px; position: relative; padding-bottom: 24px; }
.sixm-timeline li:last-child { padding-bottom: 0; }
.sixm-timeline li:not(:last-child)::before {
	content: '';
	position: absolute;
	left: 14px;
	top: 30px;
	bottom: 0;
	width: 2px;
	background: rgba(255, 255, 255, 0.10);
}
.sixm-timeline__num {
	width: 30px; height: 30px;
	border-radius: 99px;
	background: var(--sixm-red);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	flex: none;
	position: relative;
	z-index: 1;
}
.sixm-timeline__num--gold { background: var(--sixm-gold); color: var(--sixm-bg); }
.sixm-timeline strong { font-size: 16px; }
.sixm-timeline p { margin: 0; font-size: 15px; color: var(--sixm-text-2); }

/* Compteurs ronds (mobile uniquement). */
.sixm-circles { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
.sixm-circle {
	width: 80px; height: 80px;
	border-radius: 50%;
	background: var(--sixm-surface);
	border: 1px solid rgba(255, 255, 255, 0.09);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.sixm-circle__value { font-family: var(--sixm-font-display); font-weight: 800; font-size: 14.5px; color: var(--sixm-red-light); }
.sixm-circle__label { font-size: 9.5px; color: var(--sixm-text-2); margin-top: 2px; }

@media (min-width: 900px) {
	.sixm-circles { display: none; }
}

/* FAQ. */
.sixm-faq details { border-bottom: 1px solid rgba(255, 255, 255, 0.08); padding: 16px 0; }
.sixm-faq details:last-child { border-bottom: 0; }
.sixm-faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}
.sixm-faq summary::-webkit-details-marker { display: none; }
.sixm-faq__marker {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 99px;
	border: 1.5px solid rgba(255, 138, 122, 0.45);
	background: rgba(231, 76, 60, 0.10);
	transition: background 0.15s ease, transform 0.15s ease;
}
.sixm-faq__marker::after { content: '+'; color: var(--sixm-red-light); font-size: 21px; font-weight: 700; line-height: 1; }
.sixm-faq summary:hover .sixm-faq__marker { background: rgba(231, 76, 60, 0.22); }
.sixm-faq details[open] .sixm-faq__marker { transform: rotate(180deg); }
.sixm-faq details[open] .sixm-faq__marker::after { content: '−'; }
.sixm-faq details p { margin: 10px 0 0; font-size: 15px; color: var(--sixm-text-2); }

/* Barre collante mobile. */
/* Barre flottante détachée du bord : le CTA remonte au-dessus de la zone
   qui « réveille » la barre d'outils de Safari iOS (tap au ras du bas =
   affichage de la toolbar au lieu du clic). safe-area = encoche iPhone. */
.sixm-sticky-bar {
	position: sticky;
	bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	z-index: 40;
	background: rgba(36, 32, 36, 0.92);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 18px;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.55);
	padding: 12px 14px 12px 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 0 12px;
	width: auto;
}
.sixm-sticky-bar__price { display: block; font-size: 16px; font-weight: 800; font-family: var(--sixm-font-display); }
.sixm-sticky-bar__price .woocommerce-Price-amount { color: var(--sixm-text); }
.sixm-sticky-bar__meta { display: block; font-size: 11.5px; color: var(--sixm-text-2); }
.sixm-sticky-bar .sixm-btn { padding: 13px 26px; }

@media (min-width: 900px) {
	/* Desktop : la barre n'apparaît QUE lorsque le bouton « Réserver ma
	   place » de la colonne est hors écran (IntersectionObserver) —
	   petits écrans / colonnes longues. Position fixed (et non sticky) :
	   elle doit surgir où qu'on soit dans la page. */
	.sixm-sticky-bar {
		position: fixed;
		bottom: 18px;
		transform: translateY(12px);
		margin: 0;
		/* left et width posés par le JS : alignée sur la colonne droite. */
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.22s ease, transform 0.22s ease;
	}
	.sixm-sticky-bar.is-visible {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}
}

/* ---------------------------------------------------- Popup réservation */

/* La popup flotte au-dessus du bord (zone toolbar Safari + encoche). */
.sixm-modal {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	/* Ancrée en HAUT sur mobile : quand le tunnel compacte le contenu,
	   le haut du panneau reste stable (c'est le bas qui remonte), et on
	   s'éloigne complètement de la zone toolbar de Safari. */
	align-items: flex-start;
	justify-content: center;
	padding: calc(10px + env(safe-area-inset-top, 0px)) 10px calc(10px + env(safe-area-inset-bottom, 0px));
}
@media (min-width: 600px) {
	.sixm-modal { align-items: center; }
}
.sixm-modal[hidden] { display: none; }
.sixm-modal__overlay {
	position: absolute;
	inset: 0;
	/* Pas de backdrop-filter ici : sur iOS Safari, un flou sur l'overlay
	   décale le curseur de saisie dans les champs de la popup (bug connu).
	   Le voile à 88% suffit à neutraliser l'arrière-plan. */
	background: rgba(8, 6, 8, 0.88);
}
.sixm-modal__panel {
	position: relative;
	width: 100%;
	max-width: 520px;
	/* dvh = hauteur RÉELLEMENT visible sur iOS (barre Safari déduite) ;
	   repli vh pour les anciens navigateurs. */
	max-height: 86vh;
	max-height: calc(100dvh - 20px - env(safe-area-inset-bottom, 0px));
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	background: var(--sixm-surface);
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: 24px;
	padding: 28px 18px calc(20px + env(safe-area-inset-bottom, 0px));
}
.sixm-modal__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.sixm-modal__head h2 { margin: 0; font-size: 22px; }
.sixm-modal__close {
	width: 32px; height: 32px;
	border-radius: 99px;
	background: rgba(255, 255, 255, 0.07);
	color: var(--sixm-text-2);
	border: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	cursor: pointer;
	flex: none;
}
.sixm-modal__subtitle { margin: 0 0 22px; font-size: 14.5px; color: var(--sixm-text-2); }

@media (min-width: 900px) {
	.sixm-modal { align-items: center; padding: 24px; }
	.sixm-modal__panel { border-radius: 24px; max-height: 88vh; padding: 30px; }
}

.sixm-booking__label {
	font-size: 13.5px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--sixm-text-2);
	margin: 20px 0 10px;
}

.sixm-booking__genders { display: flex; gap: 10px; }
.sixm-gender-card {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 11px 10px;
	border-radius: 14px;
	background: var(--sixm-bg);
	border: 1.5px solid var(--sixm-border-input);
	color: var(--sixm-text);
	font-family: var(--sixm-font-body);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.sixm-gender-card__icon {
	width: 32px; height: 32px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: #fff;
}
.sixm-gender-card--m .sixm-gender-card__icon { background: var(--sixm-male); }
.sixm-gender-card--f .sixm-gender-card__icon { background: var(--sixm-female); }
.sixm-gender-card.is-selected { background: rgba(231, 76, 60, 0.12); border-color: rgba(231, 76, 60, 0.6); }

/* Grille d'âges : toutes les pastilles identiques — ne jamais révéler la
   disponibilité par âge. */
.sixm-booking__ages { display: flex; flex-wrap: wrap; gap: 8px; }
.sixm-age-pill {
	width: 48px;
	padding: 10px 0;
	text-align: center;
	border-radius: 10px;
	background: var(--sixm-bg);
	border: 1.5px solid var(--sixm-border-input);
	color: var(--sixm-text);
	font-family: var(--sixm-font-body);
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.sixm-age-pill.is-selected { background: rgba(231, 76, 60, 0.16); border-color: rgba(231, 76, 60, 0.6); color: var(--sixm-red-light); }

.sixm-booking__meet { display: flex; gap: 8px; }
.sixm-booking__meet label { flex: 1; min-width: 0; }

.sixm-booking__extras { display: flex; gap: 8px; }
.sixm-booking__extras .sixm-toggle-pill--btn { flex: 1; }

.sixm-booking__price-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 22px 0 14px;
	font-size: 14px;
	color: var(--sixm-text-2);
}
.sixm-booking__price { font-family: var(--sixm-font-display); font-weight: 800; font-size: 20px; color: var(--sixm-red-light); }
.sixm-booking__price .woocommerce-Price-amount { color: var(--sixm-red-light); }

.sixm-age-warning {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	background: rgba(245, 158, 75, 0.12);
	border: 1px solid rgba(245, 158, 75, 0.35);
	border-radius: 12px;
	padding: 12px 14px;
	margin-top: 14px;
}
.sixm-age-warning span { color: var(--sixm-warn); flex: none; }
.sixm-age-warning p { margin: 0; font-size: 13px; color: #E5C9A8; }

.sixm-waitlist { margin-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.sixm-waitlist__box {
	background: rgba(245, 158, 75, 0.10);
	border: 1px solid rgba(245, 158, 75, 0.30);
	border-radius: 14px;
	padding: 14px 16px;
}
.sixm-waitlist__box p { margin: 0 0 6px; font-size: 13px; color: #E5C9A8; }
.sixm-waitlist__box p:last-child { margin-bottom: 0; }
.sixm-waitlist__title strong { color: var(--sixm-warn); }
.sixm-waitlist__success { margin: 0; }

.sixm-booking__confirm {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	background: rgba(63, 207, 142, 0.12);
	border-radius: 12px;
	padding: 13px 14px;
	margin: 14px 0 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--sixm-success);
}
.sixm-booking__confirm .sixm-check-pop {
	width: 20px; height: 20px;
	border-radius: 99px;
	background: var(--sixm-success);
	color: #10201A;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 800;
}

/* ---------------------------------------------------------------- Panier */

.sixm-cart-page { padding-top: 28px; padding-bottom: 36px; }

.sixm-cart-items { display: flex; flex-direction: column; gap: 12px; }

.sixm-cart-item { padding: 16px; }
.sixm-cart-item__top { display: flex; gap: 14px; align-items: flex-start; }
.sixm-cart-item__photo { width: 72px; height: 72px; flex: none; border-radius: 12px; overflow: hidden; background: #37312F; }
.sixm-cart-item__photo img { width: 100%; height: 100%; object-fit: cover; }
.sixm-cart-item__body { flex: 1; min-width: 0; }
.sixm-cart-item__title { margin: 0; font-family: var(--sixm-font-display); font-weight: 700; font-size: 15.5px; }
.sixm-cart-item__title a { color: var(--sixm-text); }
.sixm-cart-item__date { margin: 3px 0 0; font-size: 13px; color: var(--sixm-text-2); }
.sixm-cart-item__remove {
	flex: none;
	color: var(--sixm-text-3);
	font-size: 16px;
	padding: 2px 6px;
	transition: color 0.2s ease;
}
.sixm-cart-item__remove:hover { color: var(--sixm-red); }

.sixm-cart-item__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.sixm-cart-item__chips .sixm-chip--static {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(255, 255, 255, 0.10);
	color: var(--sixm-text-warm-2);
}

.sixm-cart-item__foot {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.sixm-cart-item__type { font-size: 13px; color: var(--sixm-text-2); }
.sixm-cart-item__price { font-weight: 700; }

.sixm-coupon { display: flex; gap: 8px; margin-top: 18px; }
.sixm-coupon input { flex: 1; min-width: 0; }
.sixm-coupon .sixm-btn { flex: none; padding: 12px 18px; font-size: 13.5px; border-radius: 12px; }

/* Totaux WooCommerce. */
.sixm-cart-totals { margin-top: 20px; }
.sixm-cart-totals .cart_totals h2 { display: none; }
.sixm-cart-totals table {
	width: 100%;
	border-collapse: collapse;
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: var(--sixm-radius-card);
	overflow: hidden;
}
.sixm-cart-totals th, .sixm-cart-totals td {
	text-align: left;
	padding: 13px 18px;
	font-size: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.sixm-cart-totals th { color: var(--sixm-text-2); font-weight: 600; }
.sixm-cart-totals td { text-align: right; }
.sixm-cart-totals .cart-discount td { color: var(--sixm-success); }
.sixm-cart-totals .order-total th { color: var(--sixm-text); }
.sixm-cart-totals .order-total td {
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 20px;
	color: var(--sixm-red-light);
	border-bottom: 0;
}
.sixm-cart-totals .order-total .woocommerce-Price-amount { color: var(--sixm-red-light); }
.sixm-cart-totals .wc-proceed-to-checkout { margin-top: 16px; }

.sixm-cart-empty { padding-top: 60px; padding-bottom: 60px; text-align: center; }
.sixm-cart-empty__icon { display: block; font-size: 40px; margin-bottom: 14px; }
.sixm-cart-empty h1 { font-size: 22px; margin-bottom: 18px; }

/* -------------------------------------------------------------- Checkout */

.sixm-steps {
	list-style: none;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 620px;
	margin: 30px auto 28px;
	padding: 0;
	font-size: 14px;
	font-weight: 700;
}
.sixm-steps__item { display: flex; align-items: center; gap: 9px; color: var(--sixm-text-3); flex: none; }
/* Trait de liaison entre les étapes (vert quand l'étape précédente est faite). */
.sixm-steps__item:not(:last-child) { flex: 1; }
.sixm-steps__item:not(:last-child)::after {
	content: '';
	flex: 1;
	height: 2px;
	min-width: 28px;
	margin: 0 14px;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.12);
}
.sixm-steps__item.is-done::after { background: rgba(63, 207, 142, 0.55); }
.sixm-steps__item.is-current::after { background: rgba(231, 76, 60, 0.45); }

/* Mobile : fil d'étapes compact, sur une seule ligne, sans débordement. */
@media (max-width: 599px) {
	.sixm-steps { font-size: 12.5px; margin: 24px 0 20px; }
	.sixm-steps__item { gap: 6px; white-space: nowrap; }
	.sixm-steps__dot { width: 22px; height: 22px; font-size: 11px; }
	.sixm-steps__item:not(:last-child)::after { margin: 0 8px; min-width: 10px; }
}
.sixm-steps__dot {
	width: 24px; height: 24px;
	border-radius: 99px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--sixm-text-3);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 800;
}
.sixm-steps__item.is-done { color: var(--sixm-success); }
.sixm-steps__item.is-done .sixm-steps__dot { background: rgba(63, 207, 142, 0.16); color: var(--sixm-success); }
.sixm-steps__item.is-current { color: var(--sixm-text); }
.sixm-steps__item.is-current .sixm-steps__dot { background: var(--sixm-red); color: #fff; }

/* Formulaire (classes WooCommerce + Checkout Field Editor Pro). */
.woocommerce-checkout { padding-bottom: 36px; }

.woocommerce-checkout .form-row { margin: 0 0 20px; padding: 0; display: block; }
.woocommerce-checkout .form-row label {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: var(--sixm-text);
	margin-bottom: 8px;
}
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="number"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
	font-size: 16px;
	padding: 15px 16px;
}
.woocommerce-checkout .form-row .required { color: var(--sixm-red-light); text-decoration: none; }
.woocommerce-checkout .form-row .woocommerce-input-wrapper { display: block; }
/* Mobile : TOUS les champs en pleine largeur, quelles que soient les
   classes demi-largeur (form-row-first/last) posées par les plugins. */
@media (max-width: 699px) {
	.woocommerce-checkout .form-row,
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last {
		width: 100% !important;
		max-width: none !important;
		display: block !important;
		float: none !important;
		margin-right: 0 !important;
	}
}

/* Desktop : les paires first/last se placent côte à côte (hors grilles,
   qui gèrent déjà leurs colonnes). */
@media (min-width: 700px) {
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last { width: calc(50% - 5px); display: inline-block; vertical-align: top; }
	.woocommerce-checkout .form-row-first { margin-right: 10px; }
}
.woocommerce-checkout .form-row .description,
.woocommerce-checkout .form-row small { font-size: 13px; color: var(--sixm-text-3); }

@media (min-width: 700px) {
	#billing_postcode_field { max-width: 130px; display: inline-block; margin-right: 10px; vertical-align: top; }
	#billing_city_field { width: calc(100% - 144px); display: inline-block; vertical-align: top; }
}

/* ------------------------------------------------------------------
   Champs du checkout en 2 colonnes (desktop) — y compris les champs
   ajoutés par Checkout Field Editor : les conteneurs de champs passent
   en grille, chaque .form-row occupe une colonne, sauf exceptions. */
@media (min-width: 700px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
	.woocommerce-checkout .thwcfe-fields-wrapper,
	.woocommerce-checkout .thwcfd-fields-wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 22px;
		align-items: start;
	}

	/* Dans une grille, les largeurs « moitié » historiques n'ont plus de sens. */
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row,
	.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row,
	.woocommerce-checkout .thwcfe-fields-wrapper .form-row,
	.woocommerce-checkout .thwcfd-fields-wrapper .form-row {
		width: 100% !important;
		max-width: none !important;
		display: block;
		margin-right: 0;
	}

	/* Pleine largeur : champs marqués « wide », notes de commande, cases à
	   cocher / radios, titres et paragraphes intercalés par le plugin. */
	.woocommerce-checkout .form-row-wide,
	.woocommerce-checkout #order_comments_field,
	.woocommerce-checkout .form-row.thwcfe-radio-field,
	.woocommerce-checkout .form-row.thwcfe-checkbox-field,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > h2,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > h3,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > p:not(.form-row),
	.woocommerce-checkout .woocommerce-additional-fields__field-wrapper > h2,
	.woocommerce-checkout .woocommerce-additional-fields__field-wrapper > h3,
	.woocommerce-checkout .woocommerce-additional-fields__field-wrapper > p:not(.form-row),
	.woocommerce-checkout .thwcfe-fields-wrapper > h2,
	.woocommerce-checkout .thwcfe-fields-wrapper > h3,
	.woocommerce-checkout .thwcfe-fields-wrapper > p:not(.form-row) {
		grid-column: 1 / -1;
	}
}

.woocommerce-checkout h3 {
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 28px;
	margin: 52px 0 22px;
	letter-spacing: -0.4px;
}
/* Barre d'accent rouge sous chaque titre de section : sépare nettement
   Tes informations / Informations complémentaires / Ta réservation / Paiement. */
.woocommerce-checkout h3::after {
	content: '';
	display: block;
	width: 46px;
	height: 3px;
	margin-top: 10px;
	border-radius: 3px;
	background: var(--sixm-red);
}
.woocommerce-checkout .woocommerce-billing-fields h3:first-child,
#customer_details h3:first-of-type { margin-top: 26px; }
.sixm-payment-heading { margin-top: 52px !important; }

/* Chaque grande section du checkout devient une carte au fond légèrement
   plus clair : les champs (plus sombres) ressortent par contraste. */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background: #211C1E;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 20px;
	padding: 26px 24px 12px;
	margin-top: 30px;
}
.woocommerce-checkout .woocommerce-billing-fields > h3:first-child,
.woocommerce-checkout .woocommerce-additional-fields > h3:first-child {
	margin-top: 0;
}
/* Les titres intercalés par Checkout Field Editor dans ces cartes. */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	margin-top: 26px;
	font-size: 21px;
}
.woocommerce-checkout .woocommerce-billing-fields > h3:first-child,
.woocommerce-checkout .woocommerce-additional-fields > h3:first-child {
	font-size: 28px;
}
/* Champs encore un peu plus sombres que la carte pour le relief. */
.woocommerce-checkout .woocommerce-billing-fields input,
.woocommerce-checkout .woocommerce-billing-fields select,
.woocommerce-checkout .woocommerce-billing-fields textarea,
.woocommerce-checkout .woocommerce-additional-fields input,
.woocommerce-checkout .woocommerce-additional-fields select,
.woocommerce-checkout .woocommerce-additional-fields textarea {
	background: #151113;
}

@media (max-width: 699px) {
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-additional-fields {
		padding: 20px 16px 8px;
		border-radius: 16px;
	}
}

/* Paiement. */
#payment { background: transparent; }
#payment .wc_payment_methods {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
/* Les plugins de paiement (mame Twint / Datatrans) chargent leur propre CSS
   (logos centrés en display:block, labels repositionnés) : on neutralise
   leur mise en page avec une spécificité supérieure et des !important
   ciblés sur le LAYOUT uniquement. */
#payment ul.payment_methods li.wc_payment_method {
	position: relative;
	background: var(--sixm-surface);
	border: 1.5px solid rgba(255, 255, 255, 0.22);
	border-radius: 14px;
	padding: 16px 18px !important;
	margin: 0 !important;
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	float: none !important;
	transition: border-color 0.2s ease;
}
#payment ul.payment_methods li.wc_payment_method:has(input:checked) {
	border-color: rgba(231, 76, 60, 0.65);
	background: rgba(231, 76, 60, 0.08);
}
#payment li.wc_payment_method > input.input-radio {
	accent-color: var(--sixm-red);
	width: 20px !important;
	height: 20px !important;
	flex: none;
	margin: 0 !important;
	float: none !important;
	position: static !important;
}
#payment li.wc_payment_method > label {
	flex: 1;
	min-width: 0;
	display: flex !important;
	align-items: center;
	gap: 12px;
	font-weight: 700;
	font-size: 16px;
	color: var(--sixm-text);
	cursor: pointer;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	width: auto !important;
	text-align: left !important;
}
/* Tout le bandeau est cliquable : le label recouvre la carte entière. */
#payment li.wc_payment_method > label::before {
	content: '';
	position: absolute;
	inset: 0;
	cursor: pointer;
}
/* Logos : hauteur fixe (les SVG sans dimensions intrinsèques ne débordent
   plus), alignés à droite du libellé, jamais centrés en bloc. */
#payment li.wc_payment_method > label img {
	display: inline-block !important;
	height: 30px !important;
	max-height: 30px !important;
	width: auto !important;
	max-width: 120px;
	margin: 0 0 0 auto !important;
	float: none !important;
	border-radius: 6px;
	position: relative;
}
#payment .payment_box {
	flex-basis: 100%;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--sixm-text-2);
	margin: 2px 0 0 32px !important;
	padding: 0 !important;
	background: transparent !important;
	position: relative;
}
#payment .payment_box p { margin: 0 0 6px; color: var(--sixm-text-2); }
#payment .payment_box b, #payment .payment_box strong { color: var(--sixm-text-warm-2); }
#payment .payment_box img { max-height: 30px; width: auto; display: inline-block; vertical-align: middle; border-radius: 6px; }

/* CGV + bouton payer. */
.woocommerce-terms-and-conditions-wrapper { margin: 18px 0; font-size: 14.5px; line-height: 1.6; color: var(--sixm-text-warm-2); }
.woocommerce-terms-and-conditions-wrapper a { text-decoration: underline; text-underline-offset: 2px; }
.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] { width: auto; accent-color: var(--sixm-red); margin-right: 8px; }

#place_order {
	width: 100%;
	background: var(--sixm-red);
	color: #fff;
	border: 0;
	border-radius: 16px;
	padding: 17px;
	font-size: 16px;
	font-weight: 700;
	font-family: var(--sixm-font-body);
	cursor: pointer;
	box-shadow: var(--sixm-shadow-cta);
	transition: filter 0.2s ease;
}
#place_order:hover { filter: brightness(1.08); }
#place_order:disabled,
#place_order.sixm-disabled {
	background: var(--sixm-disabled);
	color: var(--sixm-text-3);
	box-shadow: none;
	cursor: not-allowed;
}

/* Récapitulatif repliable. */
.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: var(--sixm-radius-card);
	overflow: hidden;
	margin-bottom: 20px;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	text-align: left;
	padding: 15px 18px;
	font-size: 15px;
	vertical-align: top;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.woocommerce-checkout-review-order-table td:last-child { text-align: right; white-space: nowrap; }
.woocommerce-checkout-review-order-table td.product-name { font-weight: 700; }
.woocommerce-checkout-review-order-table .product-quantity { color: var(--sixm-text-2); font-weight: 600; }
.woocommerce-checkout-review-order-table .order-total th { font-size: 16px; color: var(--sixm-text); }
.woocommerce-checkout-review-order-table .order-total td {
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 21px;
	color: var(--sixm-red-light);
}
.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount { color: var(--sixm-red-light); }

/* Déclinaisons sur UNE ligne compacte de paires « libellé valeur ». */
.woocommerce-checkout-review-order-table dl.variation {
	display: flex !important;
	flex-wrap: wrap;
	gap: 3px 14px;
	margin: 8px 0 0;
	font-size: 13px;
	font-weight: 400;
	color: var(--sixm-text-2);
}
.woocommerce-checkout-review-order-table dl.variation dt,
.woocommerce-checkout-review-order-table dl.variation dd {
	display: inline;
	margin: 0;
	float: none;
}
.woocommerce-checkout-review-order-table dl.variation dt { font-weight: 600; }
.woocommerce-checkout-review-order-table dl.variation dd { margin-left: -8px; }
.woocommerce-checkout-review-order-table dl.variation dd p { display: inline; margin: 0; color: var(--sixm-red-light); font-weight: 700; }

/* Messages / erreurs WooCommerce. */
.woocommerce-error, .woocommerce-message, .woocommerce-info, .wc-block-components-notice-banner {
	list-style: none;
	margin: 0 0 16px;
	padding: 13px 16px;
	border-radius: 12px;
	font-size: 14.5px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--sixm-border-input);
	color: var(--sixm-text-warm-2);
}
.woocommerce-error { background: rgba(245, 158, 75, 0.12); border-color: rgba(245, 158, 75, 0.4); color: #E5C9A8; }
.woocommerce-message { background: rgba(63, 207, 142, 0.12); border-color: rgba(63, 207, 142, 0.35); color: var(--sixm-success); }
.woocommerce-message .button, .woocommerce-error .button, .woocommerce-info .button { display: none; }

/* --------------------------------------------------- Confirmation / échec */

.sixm-received { padding-top: 36px; padding-bottom: 40px; }
.sixm-received__head { text-align: center; margin-bottom: 26px; }
.sixm-received__head h1 { font-size: 26px; margin: 14px 0 8px; }
.sixm-received__head p { margin: 0; font-size: 14px; color: var(--sixm-text-2); }

.sixm-status-dot {
	display: inline-flex;
	width: 56px; height: 56px;
	border-radius: 99px;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	font-weight: 800;
}
.sixm-status-dot--ok { background: rgba(63, 207, 142, 0.16); color: var(--sixm-success); }
.sixm-status-dot--warn { background: rgba(245, 158, 75, 0.16); color: var(--sixm-warn); }

/* Billet façon ticket. */
.sixm-ticket {
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-top: 4px solid var(--sixm-red);
	border-radius: var(--sixm-radius-card);
	padding: 8px 20px;
	position: relative;
}
.sixm-ticket::after {
	content: '';
	display: block;
	border-top: 1px dashed rgba(255, 255, 255, 0.2);
	margin: 0 -20px;
}
.sixm-ticket__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 14px;
	padding: 13px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	font-size: 14px;
}
.sixm-ticket__row span { color: var(--sixm-text-2); font-size: 13px; flex: none; }
.sixm-ticket__row strong { text-align: right; }
.sixm-ticket__row--total { border-bottom: 0; }
.sixm-ticket__row--total strong { color: var(--sixm-red-light); font-family: var(--sixm-font-display); font-size: 16px; }
.sixm-ticket__meta { font-size: 12.5px; color: var(--sixm-text-2); padding: 0 0 10px; }
.sixm-ticket__meta .wc-item-meta { list-style: none; margin: 0; padding: 0; }

.sixm-order-card { padding: 8px 20px; }
.sixm-order-card__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 13px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	font-size: 14px;
}
.sixm-order-card__row:last-child { border-bottom: 0; }
.sixm-order-card__row > span:first-child { color: var(--sixm-text-2); font-size: 13px; }

.sixm-received__actions { display: flex; flex-direction: column; gap: 10px; margin: 20px 0 0; }
.sixm-received__share { text-align: center; }
.sixm-received__share p { margin: 0 0 10px; font-size: 13px; color: var(--sixm-text-2); }
.sixm-received__more { text-align: center; margin-top: 26px; }

@media (min-width: 900px) {
	.sixm-received__actions { flex-direction: row; justify-content: center; }
}

/* ------------------------------------------------------ Pages & articles */

.sixm-narrow-page .sixm-main > * { padding-top: 0; }

.sixm-breadcrumb { padding-top: 26px; font-size: 12.5px; color: var(--sixm-text-3); display: flex; gap: 8px; }
.sixm-breadcrumb a { color: var(--sixm-text-3); }
.sixm-breadcrumb a:hover { color: var(--sixm-red-light); }

.sixm-page-header { padding-top: 26px; }
.sixm-breadcrumb + .sixm-page-header { padding-top: 14px; }
.sixm-page-header h1 { font-size: 30px; margin-bottom: 10px; }
.sixm-page-header__lead { margin: 0 0 8px; font-size: 15.5px; color: var(--sixm-text-2); }
.sixm-post-meta { margin: 0 0 8px; font-size: 13px; color: var(--sixm-text-3); }
.sixm-cat-badge {
	display: inline-block;
	margin: 26px 0 0;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--sixm-red-light);
	background: rgba(231, 76, 60, 0.14);
	border: 1px solid rgba(231, 76, 60, 0.35);
	padding: 6px 13px;
	border-radius: 99px;
}
.sixm-cat-badge + .sixm-page-header { padding-top: 12px; }

.sixm-page-thumb { margin: 8px 0 0; }
.sixm-page-thumb img { border-radius: 18px; width: 100%; }

/* Styles .entry-content. */
.entry-content { margin-top: 22px; }
.entry-content h2 { font-size: 21px; margin: 30px 0 12px; }
.entry-content h3 { font-size: 17px; font-family: var(--sixm-font-display); margin: 24px 0 10px; }
.entry-content p { margin: 0 0 16px; font-size: 15px; line-height: 1.65; color: var(--sixm-text-warm-2); }
.entry-content a { text-decoration: underline; text-underline-offset: 2px; }
.entry-content ul, .entry-content ol { margin: 0 0 16px; padding-left: 22px; color: var(--sixm-text-warm-2); font-size: 15px; line-height: 1.65; }
.entry-content li { margin-bottom: 6px; }
.entry-content blockquote {
	margin: 24px 0;
	background: rgba(231, 76, 60, 0.12);
	border: 1px solid rgba(231, 76, 60, 0.25);
	border-radius: 18px;
	padding: 26px 22px;
	text-align: center;
}
.entry-content blockquote p {
	margin: 0;
	font-family: var(--sixm-font-display);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.4;
	color: var(--sixm-red-light);
}
.entry-content img { border-radius: 16px; margin: 8px auto; }
.entry-content figcaption { text-align: center; font-size: 12.5px; color: var(--sixm-text-3); margin-top: 8px; }

.sixm-page-cta, .sixm-article-cta { margin: 36px 0 40px; text-align: center; }
.sixm-page-cta p, .sixm-article-cta p { margin: 0 0 14px; font-size: 15px; font-weight: 600; }
.sixm-article-cta p { font-family: var(--sixm-font-display); font-weight: 700; font-size: 17px; color: var(--sixm-red-light); }

.sixm-share { display: flex; justify-content: center; gap: 10px; margin: 0 0 36px; flex-wrap: wrap; }
.sixm-related { margin-bottom: 40px; }
.sixm-post-list { display: flex; flex-direction: column; gap: 10px; }
.sixm-post-card .sixm-event-card__photo { width: 72px; height: 72px; }

.sixm-pagination { margin: 26px 0 40px; text-align: center; }
.sixm-pagination .page-numbers {
	display: inline-flex;
	min-width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	border: 1px solid var(--sixm-border-input);
	color: var(--sixm-text-2);
	margin: 0 3px;
	padding: 0 10px;
	font-size: 13.5px;
	font-weight: 600;
}
.sixm-pagination .page-numbers.current { background: var(--sixm-red); border-color: var(--sixm-red); color: #fff; }

/* ------------------------------------------------------------------- 404 */

.sixm-404 { padding: 60px 22px 80px; text-align: center; }
.sixm-404__code {
	margin: 0;
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 88px;
	line-height: 1;
	letter-spacing: -3px;
	color: var(--sixm-red);
}
.sixm-404 h1 { font-size: 24px; margin: 10px 0 8px; }
.sixm-404__text { margin: 0 0 24px; font-size: 14.5px; color: var(--sixm-text-2); }
.sixm-404 .sixm-btn { margin-bottom: 18px; }

/* Groupes du widget places (rendu natif des jauges JSON). */
.sixm-places__group + .sixm-places__group { margin-top: 18px; }
button.sixm-places__waitlist-link { background: none; border: 0; cursor: pointer; font-family: var(--sixm-font-body); padding: 0; }

/* ------------------------------------------------- Shortcodes WooCommerce
   Grille [products] pour les pages hors événements (bons cadeaux, boutique
   d'objets…) : cartes cohérentes avec le design. */
.entry-content ul.products,
.sixm-main ul.products {
	list-style: none;
	margin: 20px 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}
.sixm-main ul.products li.product {
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: 18px;
	overflow: hidden;
	margin: 0;
	display: flex;
	flex-direction: column;
	transition: border-color 0.2s ease;
}
.sixm-main ul.products li.product:hover { border-color: rgba(255, 255, 255, 0.14); }
.sixm-main ul.products li.product img { width: 100%; height: 190px; object-fit: cover; border-radius: 0; margin: 0; }
.sixm-main ul.products .woocommerce-loop-product__title {
	font-family: var(--sixm-font-display);
	font-size: 17px;
	font-weight: 700;
	margin: 14px 18px 4px;
	color: var(--sixm-text);
}
.sixm-main ul.products .price { display: block; margin: 0 18px 12px; color: var(--sixm-red-light); font-weight: 700; }
.sixm-main ul.products .price .woocommerce-Price-amount { color: var(--sixm-red-light); }
.sixm-main ul.products .button {
	margin: auto 18px 18px;
	display: inline-flex;
	justify-content: center;
	padding: 12px 20px;
	border-radius: 12px;
	background: var(--sixm-red);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	box-shadow: var(--sixm-shadow-cta);
}
.sixm-main ul.products .onsale { display: none; }

@media (min-width: 600px) {
	.entry-content ul.products,
	.sixm-main ul.products { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (min-width: 900px) {
	.entry-content ul.products,
	.sixm-main ul.products { grid-template-columns: repeat(3, 1fr); gap: 20px; }
}

/* Badges des tranches complètes (regroupées par genre). */
.sixm-places__badges { flex: 1; display: flex; flex-wrap: wrap; gap: 6px; }
.sixm-places__badge {
	background: rgba(255, 255, 255, 0.08);
	padding: 4px 10px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--sixm-text-3);
}

/* Titre de gamme au-dessus du titre des cartes événement. */
.sixm-event-card__brand {
	display: block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--sixm-red-light);
	margin-bottom: 2px;
}
.sixm-event-card-v__body .sixm-event-card__brand { font-size: 11.5px; margin-bottom: 4px; }

/* Note sous le formulaire « M'informer » d'une ville vide : bien visible. */
.sixm-empty-city__hint {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	text-align: left;
	margin: 12px 0 0 !important;
	padding: 12px 14px;
	background: rgba(231, 76, 60, 0.10);
	border: 1px solid rgba(231, 76, 60, 0.25);
	border-radius: 12px;
	font-size: 13.5px !important;
	line-height: 1.55;
	color: var(--sixm-text-warm-2) !important;
}
.sixm-empty-city__hint::before { content: '💡'; flex: none; }
.sixm-city-notify select { flex: 1; min-width: 0; width: auto; }
.sixm-city-notify input[type="number"] { flex: 1; min-width: 0; }

/* La carte « Prochainement à … » reste lisible sur desktop :
   largeur plafonnée, formulaire compact centré. */
@media (min-width: 900px) {
	.sixm-empty-city { max-width: 560px; margin-left: auto; margin-right: auto; padding: 32px 34px 28px; }
}


/* Info importante au-dessus du compteur d'inscrits (même typo/couleur). */
.sixm-places__count--highlight { margin-bottom: 4px; }
.sixm-places__count + .sixm-places__count { margin-top: 2px; }

/* Lieu cliquable dans les infos pratiques. */
.sixm-infos__link { color: var(--sixm-red-light); text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.sixm-infos__link:hover { color: var(--sixm-red); }

/* Note « Pourquoi une liste d'attente ? » sous les jauges. */
.sixm-places__why {
	margin: 16px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--sixm-border-card);
	font-size: 13px;
	line-height: 1.55;
	color: var(--sixm-text-2);
}

/* Formulaire de la popup liste d'attente. */
.sixm-waitlist-form { display: flex; flex-direction: column; gap: 4px; margin-top: 18px; }
.sixm-waitlist-form label { display: block; }
.sixm-waitlist-form .sixm-booking__label { margin: 12px 0 8px; }
.sixm-waitlist-form__row { display: flex; gap: 10px; }
.sixm-waitlist-form__row label { flex: 1; min-width: 0; }
.sixm-waitlist-form .sixm-btn { margin-top: 20px; }
#sixm-waitlist-modal .sixm-waitlist__box { margin-top: 6px; }
#sixm-waitlist-modal .sixm-form-success { margin-top: 18px; }


/* CTA « Réserver ma place » des cartes verticales (liste des événements). */
.sixm-event-card-v__cta {
	margin-top: 14px;
	padding: 13px 20px;
	font-size: 14px;
	pointer-events: none; /* toute la carte est déjà un lien */
}


/* Les pages WooCommerce passent par .entry-content : les boutons ne doivent
   pas hériter des styles de liens du contenu (soulignement, taille). */
.entry-content .sixm-btn,
.entry-content a.sixm-btn,
.entry-content .checkout-button {
	text-decoration: none !important;
	font-size: 16px;
	font-weight: 700;
}
.entry-content .sixm-coupon .sixm-btn { font-size: 14px; }

/* Valeur mise en avant dans les chips du panier. */
.sixm-chip__value { color: var(--sixm-red-light); font-weight: 700; }
.sixm-cart-item__chips .sixm-chip--static { color: var(--sixm-text-2); }

/* Le titre du produit dans le panier ne doit pas être souligné non plus. */
.entry-content .sixm-cart-item__title a { text-decoration: none; }
.entry-content .sixm-cart-item__title a:hover { color: var(--sixm-red-light); }


/* Récapitulatif de commande (checkout) : cartes façon panier. */
.sixm-review {
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: var(--sixm-radius-card);
	overflow: hidden;
	margin-bottom: 22px;
}
.sixm-review__item { padding: 16px 18px; border-bottom: 1px solid rgba(255, 255, 255, 0.07); }
.sixm-review__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 14px;
	font-family: var(--sixm-font-display);
	font-weight: 700;
	font-size: 16px;
}
.sixm-review__qty { color: var(--sixm-text-2); font-family: var(--sixm-font-body); font-weight: 600; font-size: 13.5px; }
.sixm-review__price { white-space: nowrap; font-family: var(--sixm-font-body); font-weight: 700; font-size: 15px; }
.sixm-review__date { margin: 4px 0 0; font-size: 14px; color: var(--sixm-text-2); }
.sixm-review__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.sixm-review__chips .sixm-chip--static {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(255, 255, 255, 0.10);
	color: var(--sixm-text-2);
}
.sixm-review__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 14px;
	padding: 14px 18px;
	font-size: 15px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.sixm-review__row > span:first-child { color: var(--sixm-text-2); font-weight: 600; }
.sixm-review__row--discount { color: var(--sixm-success); }
.sixm-review__row--discount > span:first-child { color: var(--sixm-success); }
.sixm-review__row--total { border-bottom: 0; }
.sixm-review__row--total > span:first-child { color: var(--sixm-text); font-weight: 700; font-size: 16px; }
.sixm-review__row--total > span:last-child {
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 22px;
	color: var(--sixm-red-light);
}
.sixm-review__row--total .woocommerce-Price-amount { color: var(--sixm-red-light); }

/* --------------------------------------------- Page de confirmation v2 */

/* Espace entre « Confirmer et payer » et « Retour au panier ». */
#payment .sixm-secure-note { margin-top: 22px; }

/* Textes plus grands sur toute la page. */
.sixm-received { font-size: 16px; }
.sixm-received__head h1 { font-size: 32px; }
.sixm-received__head p { font-size: 15.5px; }

/* Coche géante. */
.sixm-received .sixm-status-dot {
	width: 84px;
	height: 84px;
	font-size: 38px;
	font-weight: 800;
}
.sixm-received .sixm-status-dot--ok {
	background: radial-gradient(circle at 30% 25%, rgba(63, 207, 142, 0.35), rgba(63, 207, 142, 0.14) 70%);
	box-shadow: 0 0 0 12px rgba(63, 207, 142, 0.07), 0 12px 40px rgba(63, 207, 142, 0.18);
}
.sixm-received .sixm-status-dot--warn {
	box-shadow: 0 0 0 12px rgba(245, 158, 75, 0.07);
}

/* Billet : lignes plus grandes, numéro de commande mis en avant. */
.sixm-ticket__row { padding: 15px 0; font-size: 15.5px; }
.sixm-ticket__row span { font-size: 14px; }
.sixm-ticket__number {
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 24px;
	letter-spacing: -0.5px;
	color: var(--sixm-red-light);
}
.sixm-ticket__chips { padding: 2px 0 14px; }

/* Boutons calendrier aux couleurs universelles. */
.sixm-cal-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 24px;
	border-radius: 14px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
}
.sixm-cal-btn svg { flex: none; }
.sixm-cal-btn--google { background: #fff; color: #1F1F1F; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35); }
.sixm-cal-btn--google:hover { background: #F1F3F4; color: #1F1F1F; }
.sixm-cal-btn--apple { background: #000; color: #fff; border: 1px solid rgba(255, 255, 255, 0.35); }
.sixm-cal-btn--apple:hover { border-color: rgba(255, 255, 255, 0.6); color: #fff; }


/* Sections de la confirmation en cartes bien délimitées. */
.sixm-received-card {
	background: var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: 20px;
	padding: 28px 24px;
	margin-top: 22px;
	text-align: center;
}
.sixm-received-card h2 { font-size: 21px; margin-bottom: 6px; }
.sixm-received-card > p { margin: 0 0 16px; font-size: 14.5px; color: var(--sixm-text-2); }
.sixm-received-card .sixm-received__actions { margin-top: 14px; justify-content: center; }
/* La timeline reste alignée à gauche (une liste numérotée centrée se lit mal),
   mais le bloc est centré dans la carte. */
.sixm-received-card .sixm-timeline {
	margin-top: 16px;
	text-align: left;
	display: inline-block;
	max-width: 520px;
}

/* Rangée de partage : WhatsApp + partage natif côte à côte, centrés. */
.sixm-share-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: center; }
.sixm-share-row .sixm-whatsapp { flex: 1 1 auto; justify-content: center; text-decoration: none !important; }
.sixm-share-row .sixm-native-share { flex: 1 1 auto; border-radius: 99px; padding: 11px 20px; font-size: 14px; }

@media (min-width: 600px) {
	.sixm-share-row .sixm-whatsapp,
	.sixm-share-row .sixm-native-share { flex: 0 0 auto; }
}


/* Voile de traitement WooCommerce (validation du paiement, mise à jour du
   checkout) : fond assombri + gros spinner rouge centré. */
.blockUI.blockOverlay {
	background: rgba(16, 13, 15, 0.78) !important;
	opacity: 1 !important;
}
.blockUI.blockOverlay::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 56px;
	height: 56px;
	margin: -28px 0 0 -28px;
	border: 5px solid rgba(255, 255, 255, 0.15);
	border-top-color: var(--sixm-red);
	border-radius: 50%;
	animation: sixmSpin 0.8s linear infinite;
}
/* Sur le formulaire de checkout (long), le spinner reste visible à l'écran. */
form.woocommerce-checkout .blockUI.blockOverlay::after {
	position: fixed;
	top: 50vh;
	left: 50vw;
}
@keyframes sixmSpin {
	to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
	.blockUI.blockOverlay::after { animation-duration: 1.6s; }
}

/* ------------------------------------------------ Charte 6minutes (popup) */
.sixm-charter {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 18px 0 14px;
	cursor: pointer;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--sixm-text-warm-2);
}
.sixm-charter input[type="checkbox"] {
	width: 20px;
	height: 20px;
	flex: none;
	margin-top: 1px;
	accent-color: #2A6FDB;
	cursor: pointer;
}
.sixm-charter__term {
	position: relative;
	color: #6FA8FF;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 3px;
	cursor: help;
}
/* Infobulle bleue au survol / focus clavier. */
.sixm-charter__tip {
	position: absolute;
	bottom: calc(100% + 12px);
	left: 50%;
	transform: translateX(-50%);
	width: min(380px, 88vw);
	background: linear-gradient(180deg, #16233B, #101A2C);
	border: 1.5px solid rgba(90, 145, 230, 0.55);
	border-radius: 16px;
	padding: 20px 22px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
	font-weight: 400;
	text-align: left;
	color: #D9E5F8;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.15s ease;
	z-index: 20;
	pointer-events: none;
}
.sixm-charter__tip::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 7px solid transparent;
	border-top-color: rgba(90, 145, 230, 0.55);
}
.sixm-charter__term:hover .sixm-charter__tip,
.sixm-charter__term:focus .sixm-charter__tip,
.sixm-charter__term:focus-within .sixm-charter__tip {
	opacity: 1;
	visibility: visible;
}
.sixm-charter__tip strong {
	display: block;
	font-family: var(--sixm-font-display);
	font-size: 17.5px;
	color: #8FBAFF;
	margin-bottom: 12px;
}
.sixm-charter__item { display: block; font-size: 15px; line-height: 1.5; padding: 4px 0; }
.sixm-charter__tip em {
	display: block;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(90, 145, 230, 0.25);
	font-size: 13.5px;
	font-style: italic;
	color: #A9C4EE;
}
/* Bouton liste d'attente grisé tant que la charte n'est pas cochée. */
.sixm-booking [data-waitlist-toggle]:disabled { opacity: 0.45; cursor: not-allowed; }


/* Pastille « ? » : invite à survoler / taper la charte. */
.sixm-charter__q {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-left: 6px;
	border-radius: 50%;
	background: #2A6FDB;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	vertical-align: 1px;
	text-decoration: none;
}

/* ------------------------------------------------------------------
   Accueil en blocs Gutenberg (.sixm-blocks) : les blocs natifs héritent
   du design du thème. */

/* Boutons natifs → boutons 6minutes (plein = primaire, outline = secondaire). */
.sixm-blocks .wp-block-button__link {
	background: var(--sixm-red);
	color: #fff;
	font-family: var(--sixm-font-body);
	font-weight: 700;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 14px;
	text-decoration: none !important;
	box-shadow: 0 10px 26px rgba(231, 76, 60, 0.35);
	transition: filter 0.15s ease;
}
.sixm-blocks .wp-block-button__link:hover { filter: brightness(1.08); color: #fff; }
.sixm-blocks .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--sixm-text);
	border: 1.5px solid rgba(255, 255, 255, 0.3);
	box-shadow: none;
}
.sixm-blocks .is-style-outline .wp-block-button__link:hover { border-color: rgba(255, 255, 255, 0.55); color: #fff; }
.sixm-blocks .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.sixm-blocks .sixm-btn--lg-block .wp-block-button__link { font-size: 16.5px; padding: 17px 34px; }

/* Images / vidéos / embeds dans le hero et les sections. */
.sixm-blocks .sixm-hero__media img,
.sixm-blocks .sixm-hero__media video {
	width: 100%;
	height: auto;
	border-radius: 22px;
	display: block;
}
.sixm-blocks .sixm-hero__media .wp-block-embed { margin: 0; }
.sixm-blocks .sixm-hero__media .wp-block-embed__wrapper {
	position: relative;
	padding-top: 56.25%;
	border-radius: 22px;
	overflow: hidden;
}
.sixm-blocks .sixm-hero__media .wp-block-embed__wrapper iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.sixm-blocks .wp-block-image { margin: 0; }
.sixm-blocks figure img { max-width: 100%; height: auto; }

/* Éléments recréés en <p> par les blocs (le CSS d'origine visait des <span>). */
.sixm-blocks p.sixm-step__num,
.sixm-blocks p.sixm-guarantee__check,
.sixm-blocks p.sixm-review__stars { margin: 0; }
.sixm-blocks .sixm-review__footer { margin: 10px 0 0; font-size: 13px; font-weight: 600; color: var(--sixm-text-2); }
.sixm-blocks .sixm-step { display: flex; gap: 14px; align-items: flex-start; }
.sixm-blocks .sixm-step > .wp-block-group { flex: 1; }
.sixm-blocks .sixm-guarantee { display: flex; gap: 12px; align-items: flex-start; }
.sixm-blocks .sixm-guarantee p:not(.sixm-guarantee__check) { margin: 0; flex: 1; }

/* Cartes presse / cadeau version blocs : mêmes cartes, contenu libre. */
.sixm-blocks .sixm-press-card--block,
.sixm-blocks .sixm-gift-card--block {
	display: block;
	padding: 22px;
}
.sixm-blocks .sixm-press-card--block .sixm-press-card__body,
.sixm-blocks .sixm-gift-card--block .sixm-gift-card__body {
	display: block;
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 1.6;
}
.sixm-blocks .sixm-press-card--block strong,
.sixm-blocks .sixm-gift-card--block strong {
	font-family: var(--sixm-font-display);
	font-size: 17px;
}

/* Espacement vertical des sections en mode blocs. */
.sixm-blocks > .wp-block-group.sixm-hero { padding-top: 26px; }
.sixm-blocks .sixm-section,
.sixm-blocks .sixm-final-cta { margin-top: 8px; }


/* ------------------------------------------------------------------
   CORRECTIF CLÉ (accueil en blocs) : sur les thèmes classiques, WordPress
   injecte un <div class="wp-block-group__inner-container"> DANS chaque bloc
   Groupe au rendu — les conteneurs flex/grid du thème ne voyaient plus
   qu'un enfant unique et tout s'empilait. display:contents rend ce wrapper
   transparent pour la mise en page : les enfants redeviennent les enfants
   directs du groupe. */
.sixm-blocks .wp-block-group__inner-container { display: contents; }

/* Alignements spécifiques au mode blocs. */
.sixm-blocks .sixm-final-cta .wp-block-buttons { justify-content: center; }
.sixm-blocks .sixm-final-cta { text-align: center; }
.sixm-blocks .sixm-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.sixm-blocks .sixm-stats { overflow: hidden; }

/* Ré-assertion des layouts de section sous .sixm-blocks (ceinture et
   bretelles face aux styles injectés par le cœur ou les plugins). */
.sixm-blocks .sixm-steps-list { display: flex; flex-direction: column; gap: 16px; }
.sixm-blocks .sixm-step { display: flex; flex-direction: row; gap: 14px; align-items: flex-start; }
.sixm-blocks .sixm-guarantee { display: flex; flex-direction: row; gap: 12px; align-items: flex-start; }
.sixm-blocks .sixm-reviews { display: flex; flex-direction: column; gap: 14px; }
.sixm-blocks .sixm-duo { display: flex; flex-direction: column; gap: 38px; }

@media (min-width: 900px) {
	.sixm-blocks .sixm-steps-list { flex-direction: row; gap: 40px; }
	.sixm-blocks .sixm-step { flex: 1; }
	.sixm-blocks .sixm-reviews { flex-direction: row; gap: 18px; }
	.sixm-blocks .sixm-review { flex: 1; }
	.sixm-blocks .sixm-duo { flex-direction: row; align-items: stretch; }
	.sixm-blocks .sixm-press-card,
	.sixm-blocks .sixm-gift-card { flex: 1; }
	.sixm-blocks .sixm-hero {
		display: grid;
		grid-template-columns: 1.05fr 1fr;
		gap: 48px;
		align-items: center;
	}
}

/* ---------------------------------------------- Vu à la télé (reportage) */
.sixm-tv { display: block; text-decoration: none !important; color: inherit; }
.sixm-tv__media {
	position: relative;
	display: block;
	height: 0;
	padding-top: 56.25%; /* 16/9 sans aspect-ratio : compatible anciens iOS. */
	border-radius: 20px;
	overflow: hidden;
	background: #37312F;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
}
.sixm-tv__media img,
.sixm-tv__media .sixm-photo-placeholder {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}
.sixm-tv:hover .sixm-tv__media img { transform: scale(1.03); }
.sixm-tv__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: linear-gradient(180deg, rgba(16, 13, 15, 0.10) 40%, rgba(16, 13, 15, 0.65));
	transition: background 0.25s ease;
}
.sixm-tv:hover .sixm-tv__overlay { background: linear-gradient(180deg, rgba(16, 13, 15, 0.22) 40%, rgba(16, 13, 15, 0.75)); }
.sixm-tv__cta {
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 19px;
	color: #fff;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
}
.sixm-tv__caption { display: block; margin-top: 12px; }
.sixm-tv__caption strong {
	display: block;
	font-family: var(--sixm-font-display);
	font-size: 18px;
	letter-spacing: -0.3px;
}
.sixm-tv__caption span { display: block; margin-top: 2px; font-size: 14px; color: var(--sixm-text-2); }

@media (min-width: 900px) {
	.sixm-tv { max-width: 860px; margin: 0 auto; }
	.sixm-tv__cta { font-size: 24px; }
	.sixm-tv__caption { text-align: center; }
}

/* En-tête de la section reportage : logo RTS + phrase. */
.sixm-tv__head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 16px;
}
.sixm-tv__logo { height: 30px; width: auto; flex: none; }
.sixm-tv__head p {
	margin: 0;
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 18px;
	letter-spacing: -0.3px;
}

@media (min-width: 900px) {
	.sixm-tv__head { max-width: 860px; margin: 0 auto 18px; }
	.sixm-tv__logo { height: 36px; }
	.sixm-tv__head p { font-size: 22px; }
}

/* ----------------------------------------- Avis v2 : 4 cartes, plus beaux */
.sixm-reviews--grid { display: grid !important; grid-template-columns: 1fr; gap: 16px; }
.sixm-reviews--grid .sixm-review {
	position: relative;
	background:
		radial-gradient(220px 120px at 12% 0%, rgba(231, 76, 60, 0.08), transparent 70%),
		var(--sixm-surface);
	border: 1px solid var(--sixm-border-card);
	border-radius: 20px;
	padding: 26px 24px 22px;
	overflow: hidden;
}
.sixm-reviews--grid .sixm-review::before {
	content: '“';
	position: absolute;
	top: -6px;
	right: 14px;
	font-family: var(--sixm-font-display);
	font-size: 96px;
	line-height: 1;
	font-weight: 800;
	color: rgba(231, 76, 60, 0.14);
	pointer-events: none;
}
.sixm-reviews--grid .sixm-review__stars {
	color: var(--sixm-gold);
	font-size: 26px;
	line-height: 1;
	letter-spacing: 5px;
	margin-bottom: 14px;
	text-shadow: 0 2px 12px rgba(201, 160, 92, 0.35);
}
.sixm-reviews--grid .sixm-review p {
	margin: 0 0 16px;
	font-size: 16.5px;
	line-height: 1.65;
	color: var(--sixm-text-warm);
}
.sixm-reviews--grid .sixm-review footer {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--sixm-text-2);
}
.sixm-reviews--grid .sixm-review footer::before {
	content: '';
	width: 18px;
	height: 2.5px;
	border-radius: 2px;
	background: var(--sixm-red);
}

@media (min-width: 600px) {
	.sixm-reviews--grid { grid-template-columns: 1fr 1fr; gap: 18px; }
	.sixm-reviews--grid .sixm-review { flex: none; }
}

/* ------------------------------- Vidéo de présentation + charte 6minutes */
.sixm-video-charter { display: grid; grid-template-columns: 1fr; gap: 22px; align-items: stretch; }
.sixm-video-charter .sixm-video-facade { width: 100%; margin: 0; }

.sixm-charter-card {
	background: linear-gradient(180deg, #16233B, #101A2C);
	border: 1.5px solid rgba(90, 145, 230, 0.45);
	border-radius: 20px;
	padding: 26px 24px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.sixm-charter-card__title {
	margin: 0 0 14px;
	font-family: var(--sixm-font-display);
	font-weight: 800;
	font-size: 21px;
	letter-spacing: -0.3px;
	color: #8FBAFF;
}
.sixm-charter-card__list {
	margin: 0;
	padding: 0 0 0 22px;
	color: #D9E5F8;
	font-size: 15.5px;
	line-height: 1.6;
}
.sixm-charter-card__list li { padding: 4px 0; }
.sixm-charter-card__list li::marker { color: #6FA8FF; font-weight: 700; }
.sixm-charter-card__note {
	margin: 16px 0 0;
	padding-top: 14px;
	border-top: 1px solid rgba(90, 145, 230, 0.25);
	font-size: 13.5px;
	font-style: italic;
	color: #A9C4EE;
}

@media (min-width: 900px) {
	.sixm-video-charter { grid-template-columns: 1fr 1fr; gap: 40px; align-items: stretch; }
	/* La carte charte se calibre sur la hauteur 16:9 de la vidéo :
	   typographie compactée pour tenir dans ~330px à largeur standard. */
	.sixm-charter-card { padding: 22px 28px; }
	.sixm-charter-card__title { font-size: 21px; margin-bottom: 10px; }
	.sixm-charter-card__list { font-size: 14.5px; line-height: 1.5; }
	.sixm-charter-card__list li { padding: 2.5px 0; }
	.sixm-charter-card__note { font-size: 12.5px; margin-top: 12px; padding-top: 11px; }
	/* Le bouton vidéo définit la hauteur de la rangée. */
	.sixm-video-charter .sixm-video-facade { align-self: start; }
}


/* Image de la façade vidéo (miniature YouTube ou vignette custom). */
.sixm-video-facade__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.sixm-video-facade__thumb { position: relative; overflow: hidden; }


/* Titre au-dessus des statistiques. */
.sixm-stats__title {
	margin: 40px 0 0;
	font-size: 22px;
	letter-spacing: -0.3px;
}
@media (min-width: 900px) {
	.sixm-stats__title { font-size: 26px; margin-top: 52px; }
}

/* Valeurs exactes (12'000+) : typo mesurée, lisible sans écraser. */
.sixm-stats__value {
	font-size: 21px !important;
	letter-spacing: -0.2px !important;
	font-weight: 600 !important; /* graisse allégée : chiffres élégants, pas massifs */
	font-family: var(--sixm-font-body) !important;
	font-variant-numeric: tabular-nums;
}
@media (min-width: 900px) {
	.sixm-stats__value { font-size: 27px !important; letter-spacing: -0.4px !important; }
}

/* Titre des stats en section autonome (après vidéo + charte). */
.sixm-stats__title--standalone { margin-top: 0; }

/* Titre au-dessus de la vidéo de présentation (pleine largeur du duo). */
.sixm-video-charter__title {
	grid-column: 1 / -1;
	margin: 0 0 4px;
	font-size: 22px;
	letter-spacing: -0.3px;
}
@media (min-width: 900px) {
	.sixm-video-charter__title { font-size: 26px; }
}

/* Slogan : encadré resserré et centré sur desktop + signature. */
.sixm-slogan__author {
	margin-top: 12px;
	font-size: 14px;
	font-weight: 700;
	font-style: normal;
	color: var(--sixm-gold);
	letter-spacing: 0.3px;
	text-align: center;
}
@media (min-width: 900px) {
	.sixm-slogan { max-width: 720px; margin-left: auto; margin-right: auto; }
}


/* La liste des événements respire largement avant le footer. */
.sixm-events-page { padding-bottom: 90px; }
@media (min-width: 900px) {
	.sixm-events-page { padding-bottom: 130px; }
}

/* Footer mobile compact : les colonnes de liens se replient (accordéon). */
.sixm-footer__toggle {
	display: block;
	width: 100%;
	background: none;
	border: 0;
	padding: 12px 0;
	text-align: left;
	cursor: pointer;
	position: relative;
}
.sixm-footer__toggle::after {
	content: '›';
	position: absolute;
	right: 2px;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	font-size: 18px;
	color: var(--sixm-text-2);
	transition: transform 0.2s ease;
}
.sixm-footer__col--collapsible.is-open .sixm-footer__toggle::after {
	transform: translateY(-50%) rotate(-90deg);
}

@media (max-width: 599px) {
	.sixm-footer__grid { gap: 0; }
	.sixm-footer__brand { margin-bottom: 18px; }
	.sixm-footer__col--collapsible { border-top: 1px solid rgba(255, 255, 255, 0.08); }
	.sixm-footer__col--collapsible .sixm-footer__links {
		display: none;
		padding-bottom: 12px;
	}
	.sixm-footer__col--collapsible.is-open .sixm-footer__links { display: block; }
	.sixm-footer__follow { border-top: 1px solid rgba(255, 255, 255, 0.08); padding-top: 16px; margin-top: 0; }
	.sixm-footer__toggle { margin: 0; }
}

@media (min-width: 600px) {
	/* Desktop / tablette : colonnes toujours ouvertes, le bouton redevient un titre. */
	.sixm-footer__toggle { pointer-events: none; padding: 0; margin: 0 0 8px; }
	.sixm-footer__toggle::after { display: none; }
	.sixm-footer__col--collapsible .sixm-footer__links { display: block !important; }
}

/* Filet de sécurité : si une image emoji subsiste (cache, plugin), elle
   se cale sur la ligne de texte comme un caractère normal. */
img.emoji,
img.wp-smiley {
	display: inline-block !important;
	width: 1em !important;
	height: 1em !important;
	margin: 0 0.07em !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	vertical-align: -0.12em !important;
	background: none !important;
}

/* Page produit : respiration avant le footer. */
.sixm-product { padding-bottom: 90px; }
@media (min-width: 900px) {
	.sixm-product { padding-bottom: 130px; }
}

/* Le bloc stats de la page produit garde la grille v2 partout. */
.sixm-product .sixm-stats { margin-top: 18px; }
.sixm-product .sixm-stats__title { margin-top: 44px; }


/* Popup : une fois l'étape choisie, elle se compacte pour gagner en place
   (transition douce, la sélection reste modifiable d'un tap). */
.sixm-gender-card { transition: padding 0.25s ease; }
.sixm-gender-card__icon { transition: width 0.25s ease, height 0.25s ease, font-size 0.25s ease; }
.sixm-booking__genders.is-picked .sixm-gender-card { padding: 7px 10px; flex-direction: row; justify-content: center; gap: 8px; }
.sixm-booking__genders.is-picked .sixm-gender-card__icon { width: 22px; height: 22px; font-size: 13px; border-radius: 7px; }
.sixm-booking__genders.is-picked .sixm-gender-card__label { font-size: 14px; }

.sixm-age-pill { transition: padding 0.2s ease, font-size 0.2s ease; }
.sixm-booking__ages.is-picked .sixm-age-pill { padding: 7px 0; font-size: 13.5px; }


/* Concept à 4 étapes : grille 2×2 sur tablette et desktop
   (4 colonnes sur une ligne seraient trop étroites). */
@media (min-width: 600px) {
	.sixm-steps-list.sixm-steps-list--4 {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 30px 40px;
	}
	.sixm-steps-list--4 .sixm-step { flex: none; }
}
@media (min-width: 900px) {
	.sixm-steps-list.sixm-steps-list--4 { gap: 38px 56px; }
}

/* ------------------------------------ Galerie produit native (+ vidéos) */
/* Le CSS WooCommerce étant désactivé, on style la galerie (flexslider)
   aux couleurs du thème. Le plugin Product Video Gallery y injecte ses
   diapositives vidéo, qui héritent de ces styles. */
.sixm-media-gallery .woocommerce-product-gallery {
	position: relative;
	max-width: 100%;
	opacity: 1 !important; /* WC la masque en attendant son JS. */
}
.sixm-media-gallery .woocommerce-product-gallery .flex-viewport {
	border-radius: 18px;
	overflow: hidden;
	background: #37312F;
}
.sixm-media-gallery .woocommerce-product-gallery__wrapper { margin: 0; }
.sixm-media-gallery .woocommerce-product-gallery__image img,
.sixm-media-gallery .woocommerce-product-gallery__image iframe,
.sixm-media-gallery .woocommerce-product-gallery__image video {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 18px;
}
/* Vignettes (miniatures sous la grande image). */
.sixm-media-gallery .flex-control-thumbs {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
}
.sixm-media-gallery .flex-control-thumbs li {
	width: calc(25% - 6px);
	margin: 0;
	cursor: pointer;
}
.sixm-media-gallery .flex-control-thumbs img {
	width: 100%;
	height: 84px; /* hauteur fixe : aucune déformation possible */
	object-fit: cover;
	display: block;
	border-radius: 10px;
	border: 2px solid transparent;
	opacity: 0.55;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}
@media (min-width: 900px) {
	.sixm-media-gallery .flex-control-thumbs img { height: 96px; }
}
.sixm-media-gallery .flex-control-thumbs img:hover { opacity: 0.85; }
.sixm-media-gallery .flex-control-thumbs img.flex-active {
	opacity: 1;
	border-color: var(--sixm-red);
}
/* Déclencheur plein écran (loupe) de la visionneuse native. */
.sixm-media-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 9;
	width: 38px;
	height: 38px;
	border-radius: 99px;
	background: rgba(16, 13, 15, 0.65);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0;
	text-decoration: none !important;
}
.sixm-media-gallery .woocommerce-product-gallery__trigger::before {
	content: '⛶';
	font-size: 17px;
	color: #fff;
}
.sixm-media-gallery .woocommerce-product-gallery__trigger img { display: none; }

@media (min-width: 900px) {
	.sixm-media-gallery .flex-control-thumbs li { width: calc(16.666% - 7px); }
}

/* Le défilement interne du tiroir mobile ne « fuit » pas vers la page. */
.sixm-mobile-menu__scroll {
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}
.sixm-mobile-menu-overlay { touch-action: none; }

/* Logo image (téléversé via Identité du site). */
.sixm-logo--img { display: inline-flex; align-items: center; }
.sixm-logo--img img { width: auto; display: block; }
.sixm-footer__logo--img img { width: auto; display: block; }

/* Bouton « Modifier » du tunnel des âges. */
.sixm-age-modify {
	width: auto !important;
	flex: none;
	padding: 10px 16px !important;
	border-style: dashed !important;
	color: var(--sixm-red-light) !important;
	font-weight: 700;
	background: transparent !important;
}
.sixm-booking__ages.is-picked .sixm-age-modify { padding: 7px 14px !important; }
.sixm-age-modify:hover { border-color: var(--sixm-red-light) !important; }


/* Tunnel des âges (mobile) : une fois l'âge choisi, on ne touche PAS à la
   taille des pastilles — seuls les ESPACES se resserrent et le bouton
   Modifier se compacte pour tenir sur la même ligne. */
@media (max-width: 599px) {
	.sixm-booking__ages.is-picked { gap: 4px; }
	.sixm-booking__ages.is-picked .sixm-age-modify {
		width: auto !important;
		padding: 7px 8px !important;
		font-size: 12px;
		letter-spacing: -0.2px;
		margin-left: auto; /* calé à droite de la ligne */
	}
}


/* 1. Anti-zoom iOS dans les popups : 16px garantis sur les champs à
   toutes les tailles d'écran. */
.sixm-modal input,
.sixm-modal select,
.sixm-modal textarea { font-size: 16px !important; }

/* 2. Bouton « grisé » cliquable + message d'explication. */
.sixm-btn.is-soft-disabled {
	opacity: 0.45;
	filter: saturate(0.6);
	cursor: not-allowed;
	box-shadow: none;
}
.sixm-booking__hint {
	margin: 10px 0 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--sixm-red-light);
	text-align: center;
}


/* ------------------------------------------------------------------ */
/* Désabonnement newsletter                                            */
/* ------------------------------------------------------------------ */
.sixm-unsub { display: flex; justify-content: center; padding: 56px 22px 72px; }
.sixm-unsub__card { max-width: 480px; width: 100%; background: #242024; border: 1px solid rgba(255,255,255,0.07); border-radius: 20px; padding: 34px 28px; text-align: center; }
.sixm-unsub__card h1 { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 26px; letter-spacing: -0.5px; margin: 0 0 12px; }
.sixm-unsub__card p { font-size: 15px; line-height: 1.6; color: #A89A96; margin: 0 0 18px; }
.sixm-unsub__email { color: #F2ECEA; font-size: 16px; word-break: break-all; }
.sixm-unsub__note { font-size: 12.5px; color: #8A7F7C; margin-top: 14px; }
.sixm-unsub__badge { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 99px; background: #3FCF8E; color: #10201A; font-size: 24px; font-weight: 800; margin-bottom: 16px; }

/* Honeypot anti-bot : hors écran, jamais visible ni focusable. */
.sixm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

/* Succès newsletter : version mise en avant (remplace le formulaire). */
.sixm-form-success--hero {
	flex-direction: column;
	justify-content: center;
	text-align: center;
	gap: 12px;
	background: rgba(63, 207, 142, 0.12);
	border: 1.5px solid rgba(63, 207, 142, 0.4);
	border-radius: 16px;
	padding: 26px 20px;
	margin-top: 4px;
}
.sixm-form-success--hero::before { content: none; }
.sixm-form-success__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 99px;
	background: #3FCF8E;
	color: #10201A;
	font-size: 22px;
	font-weight: 800;
	animation: sixm-pop 0.5s ease-out;
}
.sixm-form-success--hero p {
	margin: 0;
	font-family: 'Bricolage Grotesque', sans-serif;
	font-weight: 700;
	font-size: 17.5px;
	line-height: 1.45;
	color: #3FCF8E;
}
@keyframes sixm-pop {
	0% { transform: scale(0.4); }
	60% { transform: scale(1.12); }
	100% { transform: scale(1); }
}

/* ------------------------------------------------------------------ */
/* Formulaire de contact ([sixminutes_contact])                        */
/* ------------------------------------------------------------------ */
.sixm-contact { max-width: 560px; }
.sixm-contact__form { display: flex; flex-direction: column; gap: 10px; }
.sixm-contact__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sixm-contact__form label { display: block; }
.sixm-contact__form input,
.sixm-contact__form select,
.sixm-contact__form textarea {
	width: 100%;
	box-sizing: border-box;
	background: #1A1618;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	padding: 13px 14px;
	font-size: 16px;
	color: #F2ECEA;
	font-family: Figtree, sans-serif;
	outline: none;
	resize: vertical;
}
.sixm-contact__form input:focus,
.sixm-contact__form select:focus,
.sixm-contact__form textarea:focus { border-color: rgba(231, 76, 60, 0.5); }
.sixm-contact__form select:invalid { color: #8A7F7C; }
/* Le select natif (iOS surtout) ignore le padding vertical : on force
   l'apparence custom + une hauteur minimale alignée sur les inputs. */
.sixm-contact__form select {
	-webkit-appearance: none;
	appearance: none;
	min-height: 50px;
	line-height: 1.3;
	padding-right: 42px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23A89A96' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
}
.sixm-contact__form .sixm-btn { margin-top: 4px; align-self: flex-start; }
@media (max-width: 599px) {
	.sixm-contact__row { grid-template-columns: 1fr; }
	.sixm-contact__form .sixm-btn { align-self: stretch; }
}

/* Shortcodes dans le contenu d'une page : rythme vertical. */
.entry-content .sixm-faq { margin: 4px 0 44px; }
.sixm-contact { margin: 0 0 52px; }
.entry-content .sixm-newsletter { margin: 0 0 44px; }
@media (min-width: 900px) {
	.entry-content .sixm-faq { margin-bottom: 56px; }
	.sixm-contact { margin-bottom: 64px; }
}

/* Le h2 de la carte newsletter garde sa taille propre même dans le
   contenu d'une page (.entry-content h2 l'écrasait à 21px). */
.entry-content .sixm-newsletter__head h2 { font-size: 23px; margin: 0; }
@media (min-width: 900px) {
	.entry-content .sixm-newsletter__head h2 { font-size: 30px; }
}

/* Spinner d'envoi sur les boutons de formulaire (.is-loading). */
.sixm-btn.is-loading {
	color: transparent !important;
	pointer-events: none;
	position: relative;
}
.sixm-btn.is-loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	border-radius: 99px;
	border: 2.5px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	animation: sixm-spin 0.7s linear infinite;
}
/* Bouton blanc de la carte newsletter : spinner rouge. */
.sixm-newsletter__form .sixm-btn.is-loading::after {
	border-color: rgba(231, 76, 60, 0.25);
	border-top-color: var(--sixm-red);
}
@keyframes sixm-spin {
	to { transform: rotate(360deg); }
}

/* Suggestion de correction d'e-mail. */
.sixm-email-hint { margin: 6px 0 0; font-size: 13.5px; color: var(--sixm-text-2); }
.sixm-email-hint button {
	background: none;
	border: 0;
	padding: 0;
	color: var(--sixm-red-light);
	font-size: inherit;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}
/* Dans la carte newsletter (fond rouge) : texte blanc, pleine largeur de grille. */
.sixm-newsletter__form .sixm-email-hint { color: rgba(255, 255, 255, 0.92); grid-column: 1 / -1; width: 100%; }
.sixm-newsletter__form .sixm-email-hint button { color: #fff; }

/* Suggestion e-mail dans les popups : les champs vivent dans des
   rangées flex → le hint force sa propre ligne, pleine largeur. */
#sixm-waitlist-modal .sixm-email-hint,
#sixm-booking-modal .sixm-email-hint {
	margin-top: 7px;
	flex-basis: 100%;
	width: 100%;
	order: 99;
}
#sixm-booking-modal .sixm-inline-form,
#sixm-waitlist-modal .sixm-inline-form { flex-wrap: wrap; }

/* Sur la carte newsletter (fond rouge), le succès suit le langage des
   champs : bloc BLANC, texte sombre — le vert translucide se salissait
   sur le rouge. Le badge vert reste le signal de succès. */
.sixm-newsletter .sixm-form-success--hero {
	background: #fff;
	border: 0;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
}
.sixm-newsletter .sixm-form-success--hero p {
	color: #2A1512;
}

/* Message d'erreur de formulaire (validation serveur). */
.sixm-form-error {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	padding: 11px 14px;
	border-radius: 12px;
	background: rgba(231, 76, 60, 0.14);
	border: 1.5px solid rgba(231, 76, 60, 0.45);
	color: #FF8A7A;
	font-size: 14.5px;
	font-weight: 600;
}
.sixm-form-error::before { content: '⚠'; }
/* Sur la carte newsletter rouge : version blanche lisible. */
.sixm-newsletter .sixm-form-error { background: #fff; border: 0; color: #B03427; }

/* Suggestion e-mail dans le checkout WooCommerce. */
.woocommerce-checkout .sixm-email-hint { margin: 7px 0 0; }

/* Fil d'Ariane → contenu : resserrer (le panier cumulait padding du
   wrapper + padding du header interne). */
.sixm-cart-page { padding-top: 6px; }
.sixm-cart-page .sixm-page-header { padding-top: 8px; }
/* Cartes/sections masquées par le filtre ville client. */
.is-hidden-by-filter { display: none !important; }

/* Bloc avis en shortcode dans une page. */
.entry-content .sixm-reviews-block { margin: 8px 0 48px; }
.sixm-reviews-block .sixm-section__head h2 { font-size: 24px; }

/* ------------------------------------------------------------------ */
/* Bloc histoire ([sixminutes_story]) : photo + texte alternés          */
/* ------------------------------------------------------------------ */
.sixm-story {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 0 0 52px;
}
.sixm-story__photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 22px;
	border: 1px solid rgba(255, 255, 255, 0.08);
}
.sixm-story__title {
	font-family: 'Bricolage Grotesque', sans-serif;
	font-weight: 800;
	font-size: 24px;
	letter-spacing: -0.5px;
	margin: 0 0 6px;
}
.sixm-story__meta {
	margin: 0 0 14px;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: var(--sixm-gold);
}
.sixm-story__text p { margin: 0 0 12px; font-size: 15.5px; line-height: 1.65; color: var(--sixm-text-2); }
.sixm-story__text p:last-child { margin-bottom: 0; }

@media (min-width: 700px) {
	.sixm-story {
		flex-direction: row;
		align-items: center;
		gap: 40px;
		margin-bottom: 64px;
	}
	.sixm-story--flip { flex-direction: row-reverse; }
	.sixm-story__photo { flex: 0 0 44%; }
	.sixm-story__body { flex: 1 1 auto; }
	.sixm-story__title { font-size: 28px; }
}
/* Presse via shortcode dans une page : marges adaptées. */
.entry-content .sixm-press-block { padding-left: 0; padding-right: 0; margin-top: 8px; }

/* ------------------------------------------------------------------ */
/* Frise chronologique ([sixminutes_timeline])                          */
/* ------------------------------------------------------------------ */
.sixm-history-timeline { margin: 8px 0 52px; }
.sixm-history-timeline > h2 {
	font-family: 'Bricolage Grotesque', sans-serif;
	font-weight: 800;
	font-size: 26px;
	letter-spacing: -0.5px;
	margin: 0 0 26px;
}
.sixm-history-timeline ol {
	list-style: none;
	margin: 0;
	padding: 0 0 0 30px;
	position: relative;
}
.sixm-history-timeline ol::before {
	content: '';
	position: absolute;
	left: 7px;
	top: 6px;
	bottom: 6px;
	width: 2px;
	background: linear-gradient(180deg, rgba(201, 160, 92, 0.7), rgba(201, 160, 92, 0.12));
	border-radius: 2px;
}
.sixm-history-timeline li { position: relative; padding: 0 0 30px; }
.sixm-history-timeline li:last-child { padding-bottom: 0; }
.sixm-history-timeline li::before {
	content: '';
	position: absolute;
	left: -30px;
	top: 5px;
	width: 16px;
	height: 16px;
	border-radius: 99px;
	background: var(--sixm-bg);
	border: 3px solid var(--sixm-gold);
	box-shadow: 0 0 0 4px rgba(201, 160, 92, 0.14);
}
.sixm-history-timeline h3 {
	font-family: 'Bricolage Grotesque', sans-serif;
	font-weight: 800;
	font-size: 18px;
	letter-spacing: -0.2px;
	margin: 0 0 6px;
	color: var(--sixm-gold);
}
.sixm-history-timeline p { margin: 0; font-size: 15.5px; line-height: 1.65; color: var(--sixm-text-2); }
@media (min-width: 700px) {
	.sixm-history-timeline ol { padding-left: 38px; }
	.sixm-history-timeline li::before { left: -38px; }
	.sixm-history-timeline h3 { font-size: 20px; }
}

/* Mode « magazine » du bloc histoire (wrap="1") : la photo est flottée,
   le long texte l'entoure puis reprend la pleine largeur en dessous. */
@media (min-width: 700px) {
	.sixm-story--wrap { display: block; }
	.sixm-story--wrap::after { content: ''; display: table; clear: both; }
	.sixm-story--wrap .sixm-story__photo {
		float: left;
		width: 42%;
		margin: 6px 36px 18px 0;
	}
	.sixm-story--wrap.sixm-story--flip .sixm-story__photo {
		float: right;
		margin: 6px 0 18px 36px;
	}
}
/* Slogan doré en shortcode dans une page. */
.entry-content .sixm-slogan-block { margin: 40px 0 44px; }

/* Le slogan doré garde sa taille propre dans le contenu d'une page
   (.entry-content p l'écrasait à 15px, comme le h2 de la newsletter). */
.entry-content .sixm-slogan p {
	margin: 0;
	font-size: 21px;
	line-height: 1.45;
	color: inherit;
}
@media (min-width: 900px) {
	.entry-content .sixm-slogan p { font-size: 25px; }
}

/* FAQ contextuelle du contact (révélée par le choix de la raison). */
.sixm-contact__faq {
	background: rgba(201, 160, 92, 0.13);
	border: 1.5px solid rgba(201, 160, 92, 0.45);
	border-radius: 14px;
	padding: 15px 17px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 6px 18px rgba(0, 0, 0, 0.18);
	animation: sixm-faq-in 0.25s ease-out;
}
.sixm-contact__faq-title {
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #E8C98A;
}
.sixm-contact__faq details { border-bottom: 1px solid rgba(255, 255, 255, 0.07); padding: 10px 0; }
.sixm-contact__faq details:last-child { border-bottom: 0; padding-bottom: 2px; }
.sixm-contact__faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	font-size: 14.5px;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}
.sixm-contact__faq summary::-webkit-details-marker { display: none; }
.sixm-contact__faq .sixm-faq__marker { width: 26px; height: 26px; }
.sixm-contact__faq .sixm-faq__marker::after { font-size: 17px; }
.sixm-contact__faq details p { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: var(--sixm-text-2); }
@keyframes sixm-faq-in {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: none; }
}

/* Safari : un clic sur le bouton rond + n'atteignait pas toujours le
   <summary> — le marqueur devient purement décoratif, le clic traverse. */
.sixm-faq__marker { pointer-events: none; }

.sixm-contact__faq details p a { color: var(--sixm-red-light); text-decoration: underline; }
.sixm-faq details p a { color: var(--sixm-red-light); text-decoration: underline; }

/* ------------------------------------------------------------------ */
/* Hub d'aide ([sixminutes_help])                                      */
/* ------------------------------------------------------------------ */
.sixm-help { margin: 8px 0 52px; }
.sixm-help__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin-bottom: 26px;
}
.sixm-help__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	padding: 16px 15px 14px;
	background: #242024;
	border: 1.5px solid rgba(255, 255, 255, 0.09);
	border-radius: 16px;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
	color: var(--sixm-text);
	transition: border-color 0.15s ease, transform 0.15s ease, background 0.15s ease;
}
.sixm-help__card:hover { border-color: rgba(201, 160, 92, 0.5); transform: translateY(-2px); }
.sixm-help__card.is-active {
	border-color: var(--sixm-red);
	background: rgba(231, 76, 60, 0.08);
	box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.14);
}
.sixm-help__icon {
	display: inline-flex;
	color: var(--sixm-gold);
	font-size: 24px;
	line-height: 1;
	margin-bottom: 3px;
}
.sixm-help__icon svg { width: 27px; height: 27px; display: block; }
.sixm-help__card.is-active .sixm-help__icon { color: var(--sixm-red-light); }
.sixm-help__card-title {
	font-family: 'Bricolage Grotesque', sans-serif;
	font-weight: 800;
	font-size: 15.5px;
	letter-spacing: -0.2px;
}
.sixm-help__card-sub { font-size: 12.5px; line-height: 1.4; color: var(--sixm-text-3); }
.sixm-help__panel { scroll-margin-top: 8px; animation: sixm-faq-in 0.25s ease-out; }
.sixm-help__more {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 20px;
	padding: 16px 18px;
	background: #242024;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
}
.sixm-help__more p { margin: 0; font-weight: 700; font-size: 15px; }
.sixm-help__form { margin-top: 26px; scroll-margin-top: 8px; animation: sixm-faq-in 0.25s ease-out; }
@media (min-width: 700px) {
	.sixm-help__grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; }
	.sixm-help__card { padding: 20px 18px 17px; }
	.sixm-help__icon svg { width: 30px; height: 30px; }
	.sixm-help__card-title { font-size: 16.5px; }
}

/* Sortie de secours discrète du hub d'aide. */
.sixm-help__escape {
	margin: -8px 0 26px;
	font-size: 14px;
	color: var(--sixm-text-3);
	text-align: center;
}
.sixm-help__escape button {
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	font-weight: 700;
	color: var(--sixm-text-2);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.sixm-help__escape button:hover { color: var(--sixm-red-light); }

/* Mode écriture du hub : cartes compactées en pilules, FAQ masquée,
   place au formulaire. Cliquer une pilule ramène aux réponses. */
.sixm-help.is-writing .sixm-help__grid {
	grid-template-columns: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}
.sixm-help.is-writing .sixm-help__card {
	flex-direction: row;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 99px;
	transform: none;
}
.sixm-help.is-writing .sixm-help__icon { margin-bottom: 0; }
.sixm-help.is-writing .sixm-help__icon svg { width: 17px; height: 17px; }
.sixm-help.is-writing .sixm-help__card-title { font-size: 13.5px; }
.sixm-help.is-writing .sixm-help__card-sub { display: none; }
.sixm-help.is-writing .sixm-help__escape { display: none; }
.sixm-help.is-writing .sixm-help__form { margin-top: 4px; }

/* Titre du formulaire en mode écriture du hub. */
.sixm-help__form-title {
	font-family: 'Bricolage Grotesque', sans-serif;
	font-weight: 800;
	font-size: 24px;
	letter-spacing: -0.5px;
	margin: 0 0 4px;
}
.sixm-help__form-lead {
	margin: 0 0 18px;
	font-size: 14.5px;
	color: var(--sixm-text-3);
}

/* Sans fil d'Ariane, le header de page reprend un peu de marge haute. */
.sixm-page-header:first-child { padding-top: 30px; }

/* ------------------------------------------------------------------ */
/* Page Résultats ([sixminutes_results])                               */
/* ------------------------------------------------------------------ */
.sixm-results { max-width: 560px; margin: 0 0 64px; }
@media (max-width: 700px) {
	.sixm-results { margin-bottom: 84px; } /* Le footer ne colle pas. */
}
.sixm-results__step {
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: #242024;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	padding: 22px 20px;
}
.sixm-results__step--code { margin-top: 16px; animation: sixm-faq-in 0.25s ease-out; }
.sixm-results__label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; letter-spacing: 0.3px; text-transform: uppercase; color: var(--sixm-text-3); }
.sixm-results__step select,
.sixm-results__step input {
	width: 100%;
	box-sizing: border-box;
	background: #1A1618;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	padding: 13px 14px;
	font-size: 16px;
	color: #F2ECEA;
	font-family: Figtree, sans-serif;
	outline: none;
}
.sixm-results__step select:focus,
.sixm-results__step input:focus { border-color: rgba(231, 76, 60, 0.5); }
.sixm-results__step .sixm-btn { align-self: flex-start; }
.sixm-results__hint { margin: 0; font-size: 14.5px; color: var(--sixm-text-2); }
.sixm-results__code {
	font-size: 26px !important;
	letter-spacing: 10px;
	text-align: center;
	font-weight: 800;
	max-width: 240px;
}
.sixm-results__error { margin-bottom: 14px; }
.sixm-results__title {
	font-family: 'Bricolage Grotesque', sans-serif;
	font-weight: 800;
	font-size: 24px;
	letter-spacing: -0.5px;
	margin: 0 0 18px;
}
.sixm-results__stats { display: flex; gap: 12px; margin-bottom: 26px; }
.sixm-results__stat {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	background: linear-gradient(165deg, rgba(231, 76, 60, 0.16), rgba(201, 160, 92, 0.10));
	border: 1.5px solid rgba(231, 76, 60, 0.35);
	border-radius: 18px;
	padding: 18px 10px 15px;
}
.sixm-results__stat > span { font-size: 21px; }
.sixm-results__stat strong {
	font-family: 'Bricolage Grotesque', sans-serif;
	font-size: 38px;
	line-height: 1.1;
	font-weight: 800;
	color: var(--sixm-red-light);
}
.sixm-results__stat small { font-size: 13px; font-weight: 700; color: var(--sixm-text-2); }
.sixm-results__subtitle { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 18px; margin: 0 0 12px; }
.sixm-results__matches { display: flex; flex-direction: column; gap: 10px; }
.sixm-results__match {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #242024;
	border: 1px solid rgba(231, 76, 60, 0.35);
	border-radius: 14px;
	padding: 14px 16px;
}
.sixm-results__match-heart { color: var(--sixm-red-light); font-size: 18px; }
.sixm-results__match-name { font-weight: 700; font-size: 16px; flex: 1; }
.sixm-results__match-phone { color: var(--sixm-red-light); font-weight: 700; text-decoration: none; }
.sixm-results__match-phone:hover { text-decoration: underline; }
.sixm-results__nomatch,
.sixm-results__notfound p { font-size: 15.5px; line-height: 1.65; color: var(--sixm-text-2); }
.sixm-results__notfound {
	background: #242024;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 16px;
	padding: 20px;
}
.sixm-results__notfound a { color: var(--sixm-red-light); font-weight: 700; }

/* Résultats : recap e-mail, renvoi avec minuterie, fiches contact. */
.sixm-results__edit {
	background: none;
	border: 0;
	padding: 10px 0;
	margin: -6px 0;
	font-size: 13.5px;
	color: var(--sixm-text-2);
	cursor: pointer;
}
.sixm-results__edit:hover { color: var(--sixm-text); }
@media (max-width: 700px) {
	/* Mobile : le retour devient un vrai bouton fantôme, pleine largeur —
	   confortable au pouce. */
	.sixm-results__edit {
		width: 100%;
		margin: 2px 0 0;
		padding: 13px;
		border: 1px solid rgba(255, 255, 255, 0.14);
		border-radius: 12px;
		text-align: center;
		font-size: 14.5px;
	}
	.sixm-results__foot { gap: 12px; }
	.sixm-results__help { font-size: 14px; }
}
.sixm-results__resend { position: relative; align-self: flex-start; }
.sixm-results__resend button {
	background: none;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 99px;
	padding: 8px 16px 9px;
	font: inherit;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--sixm-text-2);
	cursor: pointer;
}
.sixm-results__resend button:disabled { opacity: 0.45; cursor: default; }
.sixm-results__resend button:not(:disabled):hover { border-color: rgba(231, 76, 60, 0.5); color: var(--sixm-text); }
.sixm-results__resend-bar {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: -5px;
	height: 3px;
	max-width: calc(100% - 24px);
	border-radius: 3px;
	background: var(--sixm-gold);
	width: 0;
	transition: width 0.25s linear;
}
.sixm-results__match-id { color: var(--sixm-gold); font-weight: 800; font-size: 13.5px; }
.sixm-results__match-vcf {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--sixm-text-2);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 99px;
	padding: 6px 11px;
	text-decoration: none;
	white-space: nowrap;
}
.sixm-results__match-vcf:hover { border-color: rgba(201, 160, 92, 0.6); color: var(--sixm-gold); }
@media (max-width: 480px) {
	.sixm-results__match { flex-wrap: wrap; }
	.sixm-results__match-phone { width: 100%; padding-left: 30px; }
}

/* Carte bon cadeau en shortcode dans une page. */
.entry-content .sixm-gift-block .sixm-section { padding: 0; margin: 8px 0 34px; }

/* Sélecteur de soirée : hauteur confortable sur mobile (le rendu natif
   d'iOS écrase les <select>), chevron dessiné, comme le contact. */
.sixm-results__step select {
	appearance: none;
	-webkit-appearance: none;
	min-height: 52px;
	padding-right: 42px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23A89A96' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 15px center;
}
.sixm-results__step input[type="email"] { min-height: 52px; }

/* Boutons de partage (WhatsApp / natif). */
.sixm-share-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 22px;
	border-radius: 99px;
	font-family: Figtree, sans-serif;
	font-size: 15.5px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	border: 1.5px solid transparent;
	transition: transform 0.15s ease, filter 0.15s ease;
	margin: 4px 10px 4px 0;
}
.sixm-share-btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
.sixm-share-btn svg { width: 21px; height: 21px; flex: none; }
.sixm-share-btn--whatsapp { background: #1FAF54; color: #fff; }
.sixm-share-btn--native {
	background: #242024;
	color: var(--sixm-text);
	border-color: rgba(255, 255, 255, 0.16);
}
.sixm-share-btn--native:hover { border-color: rgba(231, 76, 60, 0.5); }
.sixm-share-btn--native svg { color: var(--sixm-gold); }

/* Alignement des défilements vers ancres : offset = hauteur RÉELLE du
   header sticky (mesurée en JS — un logo image le rend plus haut que
   le logo texte) + une respiration. */
html { scroll-padding-top: calc(var(--sixm-header-h, 64px) + 14px); }

/* Le logo image ne doit plus déformer le header : bloc sans jeu de
   ligne de base, centré verticalement. */
.sixm-logo--img { display: inline-flex; align-items: center; }
.sixm-logo--img img { display: block; }

/* Les boîtes de la page Résultats s'alignent en HAUT sous le header
   (le centrage d'écran désorientait). */
.sixm-results__step--code,
.sixm-results__output { scroll-margin-top: 8px; }

/* ------------------------------------------------------------------ */
/* Anciennes soirées (produits de l'ancien site, mode héritage)        */
/* ------------------------------------------------------------------ */
.sixm-legacy img {
	max-width: min(100%, 460px);
	height: auto;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	display: block;
	margin: 18px 0;
}
.sixm-legacy ul { padding-left: 22px; }
.sixm-legacy li { margin-bottom: 8px; }
.sixm-legacy a:not(.sixm-btn) { color: var(--sixm-red-light); text-decoration: underline; }
.sixm-legacy a.sixm-btn--primary { color: #fff; text-decoration: none; }
.sixm-legacy__notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	background: linear-gradient(165deg, rgba(231, 76, 60, 0.14), rgba(201, 160, 92, 0.10));
	border: 1.5px solid rgba(231, 76, 60, 0.4);
	border-radius: 16px;
	padding: 18px 20px;
	margin: 0 0 24px;
}
.sixm-legacy__notice p { margin: 0; font-size: 15.5px; line-height: 1.55; }

/* Emojis-images des anciens contenus : taille de texte, pas 460px ! */
.sixm-legacy img.emoji,
.sixm-legacy img.wp-smiley,
.sixm-legacy img[src*="twemoji"],
.sixm-legacy img[src*="s.w.org/images/core/emoji"] {
	display: inline-block;
	width: 1.25em;
	height: 1.25em;
	max-width: 1.25em;
	margin: 0 2px;
	border: 0;
	border-radius: 0;
	vertical-align: -0.22em;
}

/* Bouton grisé « Événement complet » (anciens produits soldout). */
.sixm-btn--soldout {
	background: #2E292C;
	color: var(--sixm-text-3);
	border: 1.5px solid rgba(255, 255, 255, 0.10);
	cursor: not-allowed;
}
.sixm-btn--soldout:hover { transform: none; filter: none; }
/* Logos presse des anciens contenus : plus compacts. */
.sixm-legacy p > img:not(.emoji):not(.wp-smiley) { margin: 10px 0; }

/* Lien contact du footer : discret, fantôme — le rouge plein criait
   plus fort que tout le reste du pied de page. */
.sixm-footer__contact-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 16px;
	border: 1.5px solid rgba(255, 255, 255, 0.18);
	border-radius: 99px;
	font-size: 14px;
	font-weight: 700;
	color: var(--sixm-text-2);
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease;
}
.sixm-footer__contact-link span { transition: transform 0.15s ease; }
.sixm-footer__contact-link:hover {
	border-color: rgba(231, 76, 60, 0.55);
	color: var(--sixm-text);
}
.sixm-footer__contact-link:hover span { transform: translateX(3px); }

/* ------------------------------------------------------------------ */
/* Produit boutique (casquette, bon cadeau…)                           */
/* ------------------------------------------------------------------ */
.sixm-merch { padding-top: 26px; padding-bottom: 48px; }
.sixm-merch__grid { display: flex; flex-direction: column; gap: 26px; }
.sixm-merch__gallery .woocommerce-product-gallery__image img {
	border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, 0.08);
}
.sixm-merch__title {
	font-family: 'Bricolage Grotesque', sans-serif;
	font-weight: 800;
	font-size: 28px;
	letter-spacing: -0.7px;
	margin: 0 0 8px;
}
.sixm-merch__price { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 24px; color: var(--sixm-red-light); margin: 0 0 14px; }
.sixm-merch__excerpt p { font-size: 15.5px; line-height: 1.65; color: var(--sixm-text-2); }
.sixm-merch__cart { margin: 18px 0 10px; }
.sixm-merch__cart .quantity input {
	background: #1A1618;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	color: #F2ECEA;
	padding: 12px 8px;
	width: 74px;
	text-align: center;
	font-size: 16px;
}
.sixm-merch__cart .single_add_to_cart_button {
	background: var(--sixm-red);
	color: #fff;
	border: 0;
	border-radius: 99px;
	padding: 14px 28px;
	font-family: Figtree, sans-serif;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}
.sixm-merch__cart .single_add_to_cart_button:hover { filter: brightness(1.07); }
.sixm-merch__cart form.cart { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.sixm-merch__cart .variations { width: 100%; margin-bottom: 10px; }
.sixm-merch__cart .variations select {
	background: #1A1618;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	color: #F2ECEA;
	padding: 12px 14px;
	font-size: 15.5px;
	min-height: 50px;
}
.sixm-merch__content { margin-top: 34px; }
@media (min-width: 900px) {
	.sixm-merch__grid { flex-direction: row; gap: 48px; align-items: flex-start; }
	.sixm-merch__gallery { flex: 0 0 46%; }
	.sixm-merch__summary { flex: 1; position: sticky; top: calc(var(--sixm-header-h, 64px) + 20px); }
	.sixm-merch__title { font-size: 34px; }
}

/* Quantité + bouton sur UNE ligne, alignés (WooCommerce imbrique la
   quantité dans .woocommerce-variation-add-to-cart pour les produits
   à déclinaisons — le flex du form ne suffisait pas). */
.sixm-merch__cart .woocommerce-variation-add-to-cart,
.sixm-merch__cart form.cart:not(.variations_form) {
	display: flex;
	align-items: stretch;
	gap: 10px;
	flex-wrap: wrap;
}
.sixm-merch__cart .quantity { display: inline-flex; }
.sixm-merch__cart .quantity input {
	min-height: 52px;
	box-sizing: border-box;
}
.sixm-merch__cart .single_add_to_cart_button { min-height: 52px; }

/* iOS Safari zoome au focus de tout champ < 16px : on garantit 16px
   sur tous les champs de saisie du site (le zoom disparaît, la
   lisibilité y gagne pour notre public). */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
select,
textarea {
	font-size: 16px !important;
}

/* ------------------------------------------------------------------ */
/* Participants au checkout (billets multiples)                        */
/* ------------------------------------------------------------------ */
.sixm-participants {
	margin: 26px 0 8px;
	padding: 20px 18px;
	background: #1A1618;
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: 18px;
}
/* Même registre pour TOUS les titres de section du checkout :
   Qui participe ?, Ta réservation, Moyen de paiement… */
.woocommerce-checkout h3.sixm-participants__title,
.sixm-participants__title,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h3.sixm-payment-heading {
	font-family: var(--sixm-font-display, 'Bricolage Grotesque', sans-serif);
	font-weight: 800;
	font-size: 28px !important;
	letter-spacing: -0.4px;
	margin: 0 0 20px !important;
}
/* « Ta réservation » et « Moyen de paiement » ouvrent une section :
   ils respirent au-dessus (le titre participants, lui, vit DANS sa
   boîte et reste collé en tête). */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h3.sixm-payment-heading {
	margin-top: 48px !important;
}
.sixm-participants__allmine {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 15px;
	line-height: 1.5;
	cursor: pointer;
	margin-bottom: 6px;
}
.sixm-participants__allmine input { width: 20px; height: 20px; accent-color: var(--sixm-red); margin-top: 1px; flex: none; }
.sixm-participants__mine { border: 0; padding: 0; margin: 12px 0 18px; }
.sixm-participants__mine legend { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 17.5px; margin-bottom: 12px; padding: 0; }
.sixm-participants__radio {
	display: flex;
	gap: 10px;
	align-items: center;
	padding: 11px 14px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	margin-bottom: 8px;
	cursor: pointer;
	font-size: 15px;
}
.sixm-participants__radio:has(input:checked) { border-color: rgba(231, 76, 60, 0.6); background: rgba(231, 76, 60, 0.07); }
.sixm-participants__radio input { accent-color: var(--sixm-red); width: 18px; height: 18px; flex: none; }
.sixm-participants__radio em,
.sixm-participants__ticket em { display: block; font-style: normal; font-size: 13px; color: var(--sixm-text-3); }
.sixm-participants__note { font-size: 13px; color: var(--sixm-text-3); margin: 4px 0 0; }
.sixm-participants__card {
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 14px;
	margin-bottom: 10px;
	overflow: hidden;
}
.sixm-participants__head {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	background: none;
	border: 0;
	padding: 13px 15px;
	color: var(--sixm-text);
	font: inherit;
	font-weight: 700;
	font-size: 15px;
	text-align: left;
	cursor: pointer;
}
.sixm-participants__ticket { flex: 1; }
.sixm-participants__summary { font-weight: 600; font-size: 13.5px; color: var(--sixm-gold); }
.sixm-participants__chevron {
	width: 9px;
	height: 9px;
	border-right: 2px solid var(--sixm-text-3);
	border-bottom: 2px solid var(--sixm-text-3);
	transform: rotate(225deg);
	transition: transform 0.18s ease;
	flex: none;
}
.is-collapsed .sixm-participants__chevron { transform: rotate(45deg); }
.sixm-participants__fields { padding: 2px 15px 16px; }
.is-collapsed .sixm-participants__fields { display: none; }
.sixm-participants__lead { font-size: 13.5px; color: var(--sixm-text-2); margin: 0 0 12px; line-height: 1.55; }
.sixm-participants__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.sixm-participants__field { margin: 0; display: flex; flex-direction: column; gap: 5px; }
.sixm-participants__field--email,
.sixm-participants__field--phone { grid-column: 1 / -1; }
.sixm-participants__field label { font-size: 13px; font-weight: 700; color: var(--sixm-text-2); }
.sixm-participants__field label span { color: var(--sixm-red-light); }
.sixm-participants__field input {
	background: #100D0F;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 12px;
	color: var(--sixm-text);
	padding: 12px 13px;
	min-height: 50px;
}
.sixm-participants__field input:focus { outline: none; border-color: rgba(231, 76, 60, 0.65); }
.sixm-participants__field input.is-invalid { border-color: var(--sixm-red); box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.18); }
.sixm-participants__error { font-size: 12.5px; color: var(--sixm-red-light); line-height: 1.45; }
.sixm-participants__unique { font-size: 13px; color: var(--sixm-text-3); margin: 12px 0 0; line-height: 1.5; }
@media (max-width: 540px) {
	.sixm-participants__grid { grid-template-columns: 1fr; }
}

/* États des cartes participants : à compléter / complet (vert). */
.sixm-participants__summary.is-todo { color: var(--sixm-red-light); }
.sixm-participants__card.is-complete { border-color: rgba(93, 190, 123, 0.55); }
.sixm-participants__card.is-complete .sixm-participants__summary { color: #7BC98F; }

/* Carte participant incomplète : bord rouge SEULEMENT quand elle est
   repliée (rappel « à compléter »). Ouverte = bordure neutre : on est
   en train de la remplir, seuls les champs fautifs s'allument — le
   rouge de carte ne se confond plus avec une erreur. */
.sixm-participants__card.is-incomplete.is-collapsed { border-color: rgba(231, 76, 60, 0.45); }

/* --------------------------------------------------------------- */
/* Indicatif téléphonique (porté du plugin, généralisé)            */
/* --------------------------------------------------------------- */
.sixm-phone-wrap {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	width: 100%;
	gap: 0;
}
.sixm-phone-wrap select.sixm-phone-country {
	flex: 0 0 105px;
	width: 105px;
	max-width: 105px;
	padding: 8px 22px 8px 8px !important;
	font-size: 15px !important;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-right: none;
	border-radius: 12px 0 0 12px;
	background: #1A1618 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23A89A96' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right 8px center;
	color: var(--sixm-text);
	cursor: pointer;
	outline: none;
	box-sizing: border-box;
	margin: 0;
	-webkit-appearance: none;
	appearance: none;
	min-height: 50px;
}
.sixm-phone-wrap input[type="tel"] {
	flex: 1 1 0%;
	min-width: 0;
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
	margin: 0 !important;
	letter-spacing: 0.5px;
}
/* Select2 (si WooCommerce l'attache malgré tout) */
.sixm-phone-wrap .select2-container {
	flex: 0 0 105px !important;
	width: 105px !important;
	min-width: 105px !important;
}
@media (max-width: 480px) {
	.sixm-phone-wrap select.sixm-phone-country,
	.sixm-phone-wrap .select2-container {
		flex: 0 0 92px !important;
		width: 92px !important;
		min-width: 92px !important;
	}
}

/* Message d'erreur du module d'indicatif (facturation + participants). */
.sixm-phone-error {
	display: block;
	margin-top: 5px;
	font-size: 12.5px;
	color: var(--sixm-red-light);
	line-height: 1.45;
}
input[type="tel"].is-invalid {
	border-color: var(--sixm-red) !important;
	box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.18);
}

/* Placeholders nettement plus discrets que le texte saisi — on doit
   voir d'un coup d'œil si un champ est rempli ou non. */
input::placeholder,
textarea::placeholder {
	color: rgba(168, 154, 150, 0.42) !important;
	opacity: 1;
}

/* Pastille verte discrète à droite d'un champ correctement rempli. */
input.sixm-field-ok {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2 4.8 9 10 3.4' fill='none' stroke='%235DBE7B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	padding-right: 34px !important;
}
/* Une erreur prime toujours sur la pastille. */
input.is-invalid.sixm-field-ok { background-image: none !important; padding-right: 13px !important; }

/* --------- Cartes participants : confort mobile --------- */
@media (max-width: 640px) {
	/* La section respire moins en marges internes… */
	.sixm-participants { padding: 18px 13px; }

	/* En-tête sur DEUX lignes propres : billet + chevron, puis le
	   statut seul sur sa ligne avec ellipse — fini l'empilement en
	   trois lignes hachées. */
	.sixm-participants__head { flex-wrap: wrap; padding: 12px 13px; row-gap: 3px; }
	.sixm-participants__ticket { flex: 1 1 auto; min-width: 0; font-size: 14.5px; line-height: 1.35; }
	.sixm-participants__ticket em { font-size: 12.5px; }
	.sixm-participants__chevron { order: 2; }
	.sixm-participants__summary {
		order: 3;
		flex-basis: 100%;
		text-align: left;
		font-size: 13px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* …et la carte OUVERTE s'élargit jusqu'aux bords de la section :
	   la « boîte dans la boîte » gagne 26px de largeur utile pendant
	   la saisie, puis se replie sagement. */
	.sixm-participants__card:not(.is-collapsed) {
		margin-left: -10px; /* 3px d'air conservés contre le bord de la section */
		margin-right: -10px;
	}
	.sixm-participants__fields { padding: 2px 13px 14px; }
}

/* --------------------------------------------------------------- */
/* Sélecteur de langue (module i18n)                               */
/* --------------------------------------------------------------- */
.sixm-lang-switch {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 3px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 99px;
}
.sixm-lang-switch__item {
	display: inline-block;
	padding: 4px 9px;
	border-radius: 99px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.4px;
	color: var(--sixm-text-3);
	text-decoration: none;
	transition: color 0.15s ease, background 0.15s ease;
}
a.sixm-lang-switch__item:hover { color: var(--sixm-text); }
.sixm-lang-switch__item.is-current {
	background: rgba(231, 76, 60, 0.16);
	color: var(--sixm-red-light);
}
@media (max-width: 900px) {
	.sixm-header__actions .sixm-lang-switch { display: none; } /* header serré : le sélecteur vit dans le menu mobile */
}
.sixm-mobile-menu .sixm-lang-switch { margin: 14px 18px 4px; }

/* --------------------------------------------------------------- */
/* Selects : rendu custom UNIFORME (iOS Safari affichait son style  */
/* natif — dégradé clair, texte décentré — faute d'appearance:none) */
/* --------------------------------------------------------------- */
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A89A96' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 40px;
	min-height: 48px;
	line-height: 1.3;
}
/* iOS arrondit et grise les selects désactivés : neutralisé. */
select:disabled { opacity: 0.55; }
/* Le sélecteur d'indicatif garde son propre chevron plus proche. */
.sixm-phone-wrap select.sixm-phone-country { padding-right: 22px !important; background-position: right 8px center; }

/* Newsletter : select sur fond blanc → chevron foncé. Le raccourci
   `background: #fff` plus haut réinitialise repeat/position (d'où un
   motif répété) : on redéclare TOUT explicitement. */
.sixm-newsletter__form select {
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236D5F5B' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 38px;
}

/* Bouton « Copier le lien » à côté du partage WhatsApp. */
.sixm-product__share { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sixm-copy-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	border: 1.5px solid rgba(255, 255, 255, 0.2);
	border-radius: 99px;
	background: none;
	color: var(--sixm-text-2);
	font: inherit;
	font-size: 14.5px;
	font-weight: 700;
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease;
}
.sixm-copy-link:hover { border-color: rgba(255, 255, 255, 0.4); color: var(--sixm-text); }
.sixm-copy-link.is-copied { border-color: rgba(93, 190, 123, 0.6); color: #7BC98F; }
/* Mobile : cercle icône seul. */
@media (max-width: 640px) {
	.sixm-copy-link { padding: 0; width: 46px; height: 46px; justify-content: center; }
	.sixm-copy-link__label { display: none; }
}

/* Safari ignore min-height sur les <select> : hauteur explicite dans
   la popup de réservation (menus « Rencontre souhaitée »), alignée sur
   les autres champs. */
.sixm-modal select {
	height: 52px;
	padding-top: 0;
	padding-bottom: 0;
	width: 100%;
}

/* Case « J'ai lu et j'accepte les conditions générales » : taille
   confortable (le 13px natif était dur à viser, surtout pour notre
   public), couleur thème, alignement propre avec le texte. */
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	cursor: pointer;
	padding: 4px 0;
}
.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
	width: 22px;
	height: 22px;
	min-width: 22px;
	margin: 1px 0 0;
	accent-color: var(--sixm-red);
	cursor: pointer;
}
.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text {
	font-size: 15px;
	line-height: 1.55;
}
.woocommerce-terms-and-conditions-wrapper a { color: var(--sixm-red-light); }

select { background-repeat: no-repeat !important; }

/* Sélecteur de langue dans le footer et le menu mobile. */
.sixm-footer .sixm-lang-switch { margin-top: 10px; }
.sixm-mobile-menu .sixm-lang-switch { margin: 18px 18px 8px; }

/* Sélecteur de langue : version plus généreuse (footer + menu mobile,
   le header desktop ne l'affiche plus). */
.sixm-footer .sixm-lang-switch,
.sixm-mobile-menu .sixm-lang-switch { padding: 4px; }
.sixm-footer .sixm-lang-switch__item,
.sixm-mobile-menu .sixm-lang-switch__item {
	padding: 8px 16px;
	font-size: 14px;
	letter-spacing: 0.6px;
}
.sixm-mobile-menu .sixm-lang-switch { margin: 20px 18px 10px; }

/* Notices WooCommerce sur les fiches produit (erreurs d'ajout…). */
.sixm-product .woocommerce-error,
.sixm-product .woocommerce-message,
.sixm-product .woocommerce-info {
	margin: 0 0 18px;
	padding: 14px 18px;
	border-radius: 12px;
	background: var(--sixm-surface);
	border: 1px solid rgba(231, 76, 60, 0.4);
	color: var(--sixm-text);
	list-style: none;
	font-size: 15px;
}
.sixm-product .woocommerce-message { border-color: rgba(93, 190, 123, 0.45); }

.sixm-merch .woocommerce-error,
.sixm-merch .woocommerce-message,
.sixm-merch .woocommerce-info {
	margin: 0 0 18px;
	padding: 14px 18px;
	border-radius: 12px;
	background: var(--sixm-surface);
	border: 1px solid rgba(231, 76, 60, 0.4);
	color: var(--sixm-text);
	list-style: none;
	font-size: 15px;
}
.sixm-merch .woocommerce-message { border-color: rgba(93, 190, 123, 0.45); }

/* Copier le lien : l'icône copie devient une coche pendant la
   confirmation (indispensable sur mobile où seul le cercle parle). */
.sixm-copy-link__icon-check { display: none; }
.sixm-copy-link.is-copied .sixm-copy-link__icon-copy { display: none; }
.sixm-copy-link.is-copied .sixm-copy-link__icon-check { display: inline; }
.sixm-copy-link.is-copied {
	background: rgba(93, 190, 123, 0.12);
	transform: scale(1.04);
	transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

/* Confirmation multi-soirées : en-tête d'événement + libellés calendrier. */
.sixm-ticket__row--event-head strong {
	color: var(--sixm-red-light);
	font-size: 15px;
	letter-spacing: 0.2px;
}
.sixm-cal-event-label {
	margin: 16px 0 6px;
	font-size: 14px;
	font-weight: 700;
	color: var(--sixm-text-2);
}
/* Bouton Partager/Copier : confirmation verte. */
.sixm-native-share.is-copied {
	border-color: rgba(93, 190, 123, 0.6) !important;
	color: #7BC98F !important;
}

/* ------------------------------------------------ Popup newsletter */
.sixm-popup {
	position: fixed;
	inset: 0;
	z-index: 1200;
}
.sixm-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	opacity: 0;
	transition: opacity 0.25s ease;
}
.sixm-popup.is-open .sixm-popup__backdrop { opacity: 1; }
.sixm-popup__sheet {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -46%);
	width: min(520px, calc(100vw - 40px));
	opacity: 0;
	transition: opacity 0.25s ease, transform 0.25s ease;
}
.sixm-popup.is-open .sixm-popup__sheet {
	opacity: 1;
	transform: translate(-50%, -50%);
}
.sixm-popup .sixm-newsletter { margin: 0; }
.sixm-popup__close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.25);
	color: #fff;
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
}
.sixm-popup__close:hover { background: rgba(0, 0, 0, 0.45); }

/* Mobile : bottom sheet discret, e-mail + bouton d'abord. */
@media (max-width: 700px) {
	.sixm-popup__sheet {
		left: 0;
		right: 0;
		top: auto;
		bottom: 0;
		width: 100%;
		transform: translateY(30px);
	}
	.sixm-popup.is-open .sixm-popup__sheet { transform: translateY(0); }
	.sixm-popup .sixm-newsletter {
		border-radius: 22px 22px 0 0;
		/* Marge basse généreuse : le bouton « Je m'inscris » doit rester
		   loin de la barre gestuelle / boutons virtuels du téléphone. */
		padding: 22px 18px calc(34px + env(safe-area-inset-bottom));
	}
	.sixm-popup .is-engaged .sixm-btn--primary {
		margin-bottom: 6px;
	}
	.sixm-popup .sixm-newsletter__head h2 { font-size: 19px; }
	.sixm-popup .sixm-newsletter > p { font-size: 14px; margin-bottom: 12px; }
	/* Divulgation progressive : masqués jusqu'à la saisie de l'e-mail. */
	.sixm-popup .sixm-newsletter__firstname,
	.sixm-popup .sixm-newsletter__age,
	.sixm-popup .sixm-newsletter__gender,
	.sixm-popup .sixm-newsletter__note { display: none; }
	.sixm-popup .is-engaged .sixm-newsletter__firstname,
	.sixm-popup .is-engaged .sixm-newsletter__age,
	.sixm-popup .is-engaged .sixm-newsletter__gender { display: block; }
}


/* Résultats : choix du canal (e-mail / SMS). */
.sixm-results__channels {
	display: flex;
	gap: 8px;
	margin-bottom: 14px;
}
.sixm-results__channel {
	flex: 1;
	padding: 12px 10px;
	border: 1.5px solid var(--sixm-border);
	border-radius: 999px;
	background: transparent;
	color: var(--sixm-text-2);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}
.sixm-results__channel.is-active {
	border-color: var(--sixm-red);
	color: #fff;
	font-weight: 800;
	background: rgba(215, 66, 50, 0.14);
}
.sixm-results__sent { margin: 0; font-size: 15px; line-height: 1.5; color: var(--sixm-text); }
.sixm-results__foot {
	margin-top: 4px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: flex-start;
}
.sixm-results__help { color: var(--sixm-text-2); font-size: 13px; line-height: 1.5; }
.sixm-results__help a {
	color: var(--sixm-red-light);
	/* Zone de toucher élargie sans bouger la mise en page :
	   padding compensé par des marges négatives. */
	display: inline-block;
	padding: 10px 4px;
	margin: -10px -4px;
}

/* Résultats : funnel de soirées en cartes + statut de publication. */
.sixm-results__events {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 14px;
}
.sixm-results__event {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	padding: 13px 14px;
	/* Pas de bordure : c'est la LUMINOSITÉ du fond qui raconte l'état
	   (repos → survol → sélection). Bordure transparente conservée pour
	   une géométrie stable. */
	border: 1.5px solid transparent;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.045);
	color: var(--sixm-text);
	font-size: 14.5px;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}
.sixm-results__event:hover {
	background: rgba(255, 255, 255, 0.08);
}
.sixm-results__event.is-selected {
	background: rgba(255, 255, 255, 0.13);
	color: #fff;
}
.sixm-results__event.is-selected .sixm-results__event-name { font-weight: 700; }
.sixm-results__event.is-extra { display: none; }
.sixm-results__event.is-pending { opacity: 0.82; }
.sixm-results__badge {
	flex-shrink: 0;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.2px;
}
.sixm-results__badge.is-ready {
	background: rgba(93, 190, 123, 0.16);
	color: #7BC98F;
	border: 1px solid rgba(93, 190, 123, 0.4);
}
.sixm-results__badge.is-pending {
	background: rgba(240, 173, 78, 0.14);
	color: #E8B563;
	border: 1px solid rgba(240, 173, 78, 0.4);
}
.sixm-results__more {
	width: 100%;
	margin-bottom: 14px;
	padding: 11px;
	border: 1.5px dashed var(--sixm-border);
	border-radius: 12px;
	background: transparent;
	color: var(--sixm-text-2);
	font-size: 14px;
	cursor: pointer;
}
.sixm-results__more:hover { color: var(--sixm-text); border-color: rgba(255, 255, 255, 0.3); }
.sixm-results__pubinfo {
	margin: 0 0 14px;
	padding: 12px 14px;
	border-radius: 12px;
	background: rgba(240, 173, 78, 0.10);
	border: 1px solid rgba(240, 173, 78, 0.35);
	color: var(--sixm-text);
	font-size: 14px;
}

/* Résultats : respiration du CTA et aides discrètes. */
.sixm-results__idform .sixm-btn--primary { margin-top: 16px; }
.sixm-results__older {
	margin-top: 22px;
	font-size: 12.5px !important;
	color: #6B7077 !important; /* Gris foncé — !important : blindage contre tout style fantôme. */
	text-align: center;
}
.sixm-results__older a { color: var(--sixm-red-light) !important; text-decoration: none; }
.sixm-results .sixm-phone-wrap { display: flex; gap: 8px; }
.sixm-results .sixm-phone-wrap input { flex: 1; min-width: 0; }

/* Résultats : la phrase qui explique le code (pont conceptuel). */
.sixm-results__why {
	/* Texte nu, sans boîte : dans cette colonne, les encadrés sont les
	   soirées cliquables — la note doit se lire comme une parenthèse,
	   pas comme une carte de plus. */
	margin: 6px 2px 18px;
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--sixm-text-3);
	letter-spacing: 0.1px;
}

/* Centre de préférences newsletter ([sixminutes_newsletter_prefs]). */
.sixm-prefs { max-width: 560px; }
.sixm-prefs__banner {
	padding: 14px 16px;
	border-radius: 12px;
	background: rgba(93, 190, 123, 0.12);
	border: 1px solid rgba(93, 190, 123, 0.4);
	margin-bottom: 16px;
}
/* Après désabonnement : LA confirmation, claire et aérée. */
.sixm-prefs__success {
	padding: 26px 24px;
	border-radius: 16px;
	background: rgba(93, 190, 123, 0.10);
	border: 1px solid rgba(93, 190, 123, 0.35);
	text-align: center;
}
.sixm-prefs__success-title { margin: 0 0 8px; font-size: 24px; font-weight: 800; }
.sixm-prefs__success-sub { margin: 0; color: var(--sixm-text-2); font-size: 15.5px; }
/* La suggestion discrète : un simple lien repliable. */
.sixm-prefs__more { margin-top: 22px; }
.sixm-prefs__more summary {
	cursor: pointer;
	color: var(--sixm-text-2);
	font-size: 13.5px;
	text-align: center;
	list-style: none;
}
.sixm-prefs__more summary::-webkit-details-marker { display: none; }
.sixm-prefs__more summary::after { content: ' ›'; }
.sixm-prefs__more[open] summary::after { content: ' ⌄'; }
.sixm-prefs__more summary:hover { color: var(--sixm-text); }
.sixm-prefs__more[open] summary { margin-bottom: 14px; }
.sixm-prefs__title { margin: 0 0 6px; font-size: 26px; }
/* Carte de désabonnement : le moment mérite une vraie scène. */
.sixm-prefs__card {
	background: #242024;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	padding: 30px 26px;
	text-align: center;
}
.sixm-prefs__card-emoji { margin: 0 0 6px; font-size: 34px; line-height: 1; }
.sixm-prefs__card .sixm-prefs__title { margin-bottom: 8px; }
.sixm-prefs__card .sixm-prefs__lead { margin-bottom: 24px; }
.sixm-prefs__card .sixm-btn { width: 100%; }
.sixm-prefs__card .sixm-prefs__alt { margin-top: 16px; }
.sixm-prefs__card .sixm-prefs__alt a { color: var(--sixm-text-2); text-decoration: underline; }
.sixm-prefs__card .sixm-prefs__alt a:hover { color: var(--sixm-text); }
.sixm-prefs__card .sixm-prefs__note { margin-top: 14px; }
.sixm-prefs__lead { font-size: 16.5px; margin: 0 0 20px; }
.sixm-prefs__email { color: var(--sixm-text-2); margin: 0 0 18px; font-size: 15px; }
/* Le panneau : UNE carte structurée, pas des blocs flottants. */
.sixm-prefs__panel {
	background: #242024;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	padding: 22px 20px;
}
.sixm-prefs__toggle {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 0 0 18px;
	margin-bottom: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	cursor: pointer;
}
.sixm-prefs__toggle strong { font-size: 16px; }
.sixm-prefs__toggle input { width: 20px; height: 20px; accent-color: var(--sixm-red); flex: none; margin-top: 2px; }
.sixm-prefs__desc { color: var(--sixm-text-2); font-size: 13.5px; line-height: 1.5; font-weight: 400; }
.sixm-prefs__section { margin: 0 0 20px; }
.sixm-prefs__panel .sixm-btn { margin-top: 2px; }
.sixm-prefs__section-title { margin: 0 0 4px; font-weight: 700; font-size: 16px; }
.sixm-prefs__section .sixm-prefs__desc { margin: 0 0 12px; }
.sixm-prefs__cities { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.sixm-prefs__city {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	padding: 9px 14px;
	border: 1px solid var(--sixm-border);
	border-radius: 999px;
	cursor: pointer;
	font-size: 14px;
}
.sixm-prefs__city input { accent-color: var(--sixm-red); width: 16px; height: 16px; }
.sixm-prefs__alt { margin-top: 14px; }
.sixm-prefs__alt a { color: var(--sixm-red-light); }
.sixm-prefs__note { margin-top: 12px; font-size: 12.5px; color: var(--sixm-text-3); }

.sixm-prefs__mock {
	padding: 10px 14px;
	border-radius: 10px;
	background: rgba(240, 173, 78, 0.12);
	border: 1px dashed rgba(240, 173, 78, 0.5);
	font-size: 13px;
	margin-bottom: 16px;
}
