/* Thème « Resort » (hérite de « default ») : efficacité hôtelière. Seuls les écarts avec le thème de base sont ici. */
h1, h2, h3 { font-weight: var(--weight-heading); letter-spacing: var(--tracking-heading); }
h1 { font-size: var(--text-h1); }
h2 { font-size: var(--text-h2); }

/* Titres de section centrés, avec un filet doré dessous */
.section h2:not(.hero-title) { text-align: center; }
.section h2:not(.hero-title)::after { content: ""; display: block; width: 3.5rem; height: 2px; margin: var(--space-4) auto 0; background: var(--color-accent); }
.hero h1::after, .hero h2::after { display: none; }

/* En-tête blanc, navigation en capitales, bouton Appeler doré */
.site-header { box-shadow: var(--shadow-sm); }
.site-name { font-family: var(--font-heading); font-size: 1.45rem; text-transform: uppercase; letter-spacing: 0.12em; }
.site-nav a { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.82rem; font-weight: 700; }
.call-btn { background: var(--color-accent); color: var(--color-on-accent); }

/* Boutons rectangulaires, capitales */
.btn { border-radius: var(--radius-pill); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.85rem; font-weight: 700; padding: 0.85rem 1.8rem; }
.hero--image .btn-primary { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-on-accent); }

/* Accueil : grande image, texte centré */
.hero--image .hero-text { text-align: center; margin-inline: auto; }
.hero--image .btn-group { justify-content: center; }
.hero--image h1 { text-shadow: var(--shadow-text); }

/* Cartes à caractéristiques : ombre, image qui s'agrandit au survol */
.cols--cards .cols-item { background: var(--color-bg); border: 0; border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); overflow: hidden; padding: 0 0 var(--space-5); transition: box-shadow var(--duration); }
.cols--cards .cols-item > *:not(.cols-media):not(img) { padding-inline: var(--space-5); }
.cols--cards .cols-item:hover { box-shadow: var(--shadow-md); }
.cols--cards .cols-item img { border-radius: 0; transition: transform 0.6s; }
.cols--cards .cols-item:hover img { transform: scale(1.04); }
.cols-item h3 { font-family: var(--font-heading); font-weight: 400; font-size: 1.45rem; }
.section--colonnes { background: var(--color-surface); }

/* Chiffres dorés */
.stats-item dt { font-family: var(--font-heading); color: var(--color-primary); font-weight: 400; }

/* Pied de page vert profond */
.site-footer { background: var(--color-primary); color: var(--color-on-primary); }
.site-footer a { color: inherit; }
@media (prefers-reduced-motion: reduce) { .cols--cards .cols-item img { transition: none; } .cols--cards .cols-item:hover img { transform: none; } }
.site-footer { --color-text: var(--color-on-primary); --color-muted: color-mix(in srgb, var(--color-on-primary) 75%, transparent); --color-border: color-mix(in srgb, var(--color-on-primary) 22%, transparent); }
.section h2:not(.hero-title) + p { text-align: center; max-width: var(--width-text); margin-inline: auto; }
@media (max-width: 640px) { .site-name { font-size: 1.05rem; letter-spacing: 0.06em; } }
.section .kicker { text-align: center; color: var(--color-accent); }
.section--bg-primary .kicker, .section--bg-dark .kicker, .hero--image .kicker { color: inherit; }
