/* ===== Hero commun V1/V2/V3 (photo plein cadre + overlay 3D derrière le texte) ===== */
.to-sathome-hero {
	position: relative;
	min-height: 640px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: linear-gradient(180deg, #065f46 0%, #059669 100%);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 60px 24px;
	overflow: hidden;
}
.to-sathome-hero-inner { position: relative; max-width: 780px; z-index: 1; }
.to-sathome-hero-inner::before {
	content: '';
	position: absolute;
	inset: -36px -48px;
	background: radial-gradient(ellipse at center, rgba(0,0,0,.55) 0%, rgba(0,0,0,.32) 45%, rgba(0,0,0,0) 75%);
	filter: blur(6px);
	z-index: -1;
	border-radius: 40px;
}
.to-sathome-hero h1 {
	font-family: 'Fraunces', Georgia, serif;
	color: #fff;
	font-size: 44px;
	line-height: 1.15;
	margin: 0 0 20px;
	text-shadow: 0 1px 0 rgba(0,0,0,.5), 0 4px 10px rgba(0,0,0,.45), 0 14px 30px rgba(0,0,0,.35);
}
.to-sathome-hero p {
	color: #fff;
	font-size: 17px;
	line-height: 1.6;
	margin: 0 0 32px;
	text-shadow: 0 1px 0 rgba(0,0,0,.4), 0 3px 8px rgba(0,0,0,.4);
}
.to-sathome-hero-ctas { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.to-sathome-btn--outline {
	background: rgba(255,255,255,.12);
	border: 1.5px solid #fff;
	backdrop-filter: blur(2px);
	color: #fff;
}
.to-sathome-btn--outline:hover { background: #fff; color: #065f46 !important; }

@media (max-width: 640px) {
	.to-sathome-hero { min-height: 480px; padding: 40px 20px; }
	.to-sathome-hero h1 { font-size: 28px; }
}

/* Palette V2 — Occitanie Immersion & Patrimoine : tons chauds */
.to-sathome-theme--patrimoine .to-sathome-hero { background: linear-gradient(180deg, #7c3f10 0%, #b45309 100%); }
.to-sathome-theme--patrimoine .to-satshow-section-title { color: #7c2d12; }
.to-sathome-theme--patrimoine .to-satshow-section-title::before,
.to-sathome-theme--patrimoine .to-satshow-section-title::after { background: linear-gradient(90deg, transparent, #b45309 50%, transparent); }

/* Palette V3 — Occitanie Éco-Évasion & Grand Air : tons naturels */
.to-sathome-theme--ecoevasion .to-sathome-hero { background: linear-gradient(180deg, #14532d 0%, #0369a1 100%); }
.to-sathome-theme--ecoevasion .to-satshow-section-title { color: #14532d; }
.to-sathome-theme--ecoevasion .to-satshow-section-title::before,
.to-sathome-theme--ecoevasion .to-satshow-section-title::after { background: linear-gradient(90deg, transparent, #0d9488 50%, transparent); }

/* ===== Bloc de présentation (V1, nouveau) ===== */
.to-sathome-intro { max-width: 760px; margin: 0 auto; padding: 64px 24px 0; text-align: center; }
.to-sathome-intro h2 { font-family: 'Fraunces', Georgia, serif; font-size: 28px; color: #064e3b; margin: 0 0 10px; }
.to-sathome-intro-subtitle { font-size: 15px; font-style: italic; color: #065f46; margin: 0 0 16px; }
.to-sathome-intro-text { font-size: 15px; line-height: 1.7; color: #44403c; margin: 0; }

/* ===== Blocs "richesses du territoire" (V1) — alternance image/texte ===== */
.to-satshow-blocks { max-width: 1100px; margin: 0 auto; padding: 70px 24px; display: flex; flex-direction: column; gap: 64px; }
.to-satshow-block { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.to-satshow-block.is-reverse .to-satshow-block-media { order: 2; }
.to-satshow-block.is-reverse .to-satshow-block-text { order: 1; }
.to-satshow-block-media { aspect-ratio: 4/3; border-radius: 18px; overflow: hidden; background: #ecfdf5; box-shadow: 0 16px 40px rgba(6,95,70,.14); }
.to-satshow-block-media img { width: 100%; height: 100%; object-fit: cover; }
.to-satshow-block-text h2 { font-family: 'Fraunces', Georgia, serif; font-size: 28px; color: #064e3b; margin: 0 0 14px; }
.to-satshow-block-text p { font-size: 15.5px; line-height: 1.7; color: #44403c; margin: 0; }

@media (max-width: 800px) {
	.to-satshow-block, .to-satshow-block.is-reverse { grid-template-columns: 1fr; }
	.to-satshow-block.is-reverse .to-satshow-block-media,
	.to-satshow-block.is-reverse .to-satshow-block-text { order: initial; }
	.to-satshow-blocks { padding: 48px 20px; gap: 40px; }
}

/* ===== Titres de section partagés (tous designs) ===== */
.to-satshow-section-head { text-align: center; margin: 0 0 48px; }
.to-satshow-section-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	font-family: 'Fraunces', Georgia, serif;
	font-size: 28px;
	color: #064e3b;
	text-align: center;
	margin: 0 0 14px;
}
.to-satshow-section-title::before,
.to-satshow-section-title::after {
	content: '';
	flex: 1 1 80px;
	max-width: 140px;
	height: 1px;
	background: linear-gradient(90deg, transparent, #d4af37 50%, transparent);
}
.to-satshow-section-subtitle { max-width: 560px; margin: 0 auto; font-size: 15px; line-height: 1.6; color: #57534e; }
.to-satshow-more { text-align: center; margin-top: 28px; font-size: 14px; }
.to-satshow-more a { color: #065f46; font-weight: 700; text-decoration: none; }
.to-satshow-more a:hover { text-decoration: underline; }

@media (max-width: 480px) {
	.to-satshow-section-head { margin: 0 0 32px; }
	.to-satshow-section-title { font-size: 22px; gap: 10px; margin: 0 0 10px; }
	.to-satshow-section-title::before,
	.to-satshow-section-title::after { flex: 1 1 28px; max-width: 40px; }
}

/* ===== Piliers (V2/V3) ===== */
.to-sathome-pillars { max-width: 1100px; margin: 0 auto; padding: 64px 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.to-sathome-pillar { text-align: center; padding: 32px 24px; background: #fff; border: 1px solid #e7e5e4; border-radius: 18px; scroll-margin-top: 100px; }
.to-sathome-pillar-number {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 50%;
	font-family: 'Fraunces', Georgia, serif; font-weight: 700; font-size: 18px; color: #fff;
	margin-bottom: 16px;
}
.to-sathome-pillars--patrimoine .to-sathome-pillar-number { background: linear-gradient(135deg,#d99a3d,#b45309); }
.to-sathome-pillars--ecoevasion .to-sathome-pillar-number { background: linear-gradient(135deg,#22c55e,#0369a1); }
.to-sathome-pillar h2 { font-family: 'Fraunces', Georgia, serif; font-size: 19px; color: #1c1917; margin: 0 0 10px; }
.to-sathome-pillar p { font-size: 14px; line-height: 1.6; color: #57534e; margin: 0; }

@media (max-width: 800px) {
	.to-sathome-pillars { grid-template-columns: 1fr; }
}

/* ===== V4 — hero simple (texte seul, pas de photo) + patchwork départements ===== */
.to-sathome-v4-hero {
	background: linear-gradient(135deg, #064e3b, #0a3d2e 60%, #b45309);
	padding: 76px 24px;
	text-align: center;
}
.to-sathome-v4-hero-inner { max-width: 760px; margin: 0 auto; }
.to-sathome-v4-hero h1 { font-family: 'Fraunces', Georgia, serif; color: #fff; font-size: 38px; margin: 0 0 16px; }
.to-sathome-v4-hero p { color: rgba(255,255,255,.9); font-size: 16px; line-height: 1.6; margin: 0; }

.to-sat-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px) { .to-sat-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .to-sat-grid--4 { grid-template-columns: 1fr; } }

.to-sathome-dept-patchwork {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 14px;
}
.to-sathome-dept-tile {
	position: relative;
	aspect-ratio: 4/3;
	border-radius: 14px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #065f46;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	text-decoration: none;
	transition: transform .2s;
}
.to-sathome-dept-tile::before {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.65) 100%);
}
.to-sathome-dept-tile span {
	position: relative;
	color: #fff;
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 700;
	font-size: 15px;
	padding: 14px;
	text-shadow: 0 1px 4px rgba(0,0,0,.5);
}
.to-sathome-dept-tile:hover { transform: translateY(-4px); }

@media (max-width: 480px) {
	.to-sathome-v4-hero h1 { font-size: 26px; }
	.to-sathome-dept-patchwork { grid-template-columns: repeat(2, 1fr); }
}

/* Lien "En savoir plus" sur chaque pilier de la page d'accueil */
.to-sathome-pillar-more { display: inline-block; margin-top: 14px; font-weight: 700; font-size: 13.5px; color: #065f46; text-decoration: none; }
.to-sathome-pillar-more:hover { text-decoration: underline; }

/* Page pilier (hero déjà stylé par .to-sathome-hero) — texte de présentation */
.to-sathome-pillar-page { max-width: 760px; margin: 0 auto; }
.to-sathome-pillar-page p { font-size: 15.5px; line-height: 1.8; color: #44403c; margin: 0 0 20px; }

/* Note discrète (page Hébergements — filtre département indisponible) */
.to-sathome-dept-note { color: rgba(255,255,255,.75); font-size: 12.5px; margin: 16px 0 0; }

/* Pages liste (itinéraires / cités de caractère) */
.to-sathome-list { max-width: 860px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.to-sathome-list-item {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	background: #fff;
	border: 1px solid #e7e5e4;
	border-radius: 14px;
	padding: 22px 24px;
	transition: transform .18s, box-shadow .18s;
}
.to-sathome-list-item:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(6,95,70,.1); }
.to-sathome-list-num {
	flex-shrink: 0;
	width: 40px; height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg,#d99a3d,#b45309);
	color: #fff;
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 700;
	font-size: 16px;
	display: flex; align-items: center; justify-content: center;
}
.to-sathome-list-item h3 { font-family: 'Fraunces', Georgia, serif; font-size: 18px; color: #064e3b; margin: 0 0 6px; }
.to-sathome-list-item p { font-size: 14px; color: #57534e; margin: 0 0 6px; line-height: 1.5; }
.to-sathome-list-meta { font-size: 12.5px; color: #a8a29e; font-weight: 600; margin: 0 !important; }

@media (max-width: 560px) {
	.to-sathome-list-item { flex-direction: column; gap: 12px; }
}
