/*
 * blocks/hero-standard.css — photo pleine case + badge flottant (visuel hero).
 * Complète guest.css, ne redéfinit aucune primitive existante.
 */

.photo-frame { position: relative; height: 100%; min-height: 380px; overflow: hidden; }
.photo-frame img {
	width: 100%;
	height: 100%;
	min-height: 380px;
	object-fit: cover;
	border-radius: var(--radius-lg);
	display: block;
}
.photo-frame .badge.hero__visual-badge { right: var(--s5); left: auto; bottom: var(--s5); max-width: calc(100% - var(--s5) * 2); }

@media (max-width: 480px) {
	.photo-frame .badge.hero__visual-badge { white-space: normal; text-align: left; }
}

/* variante blanche : plus de dégradé de fond, teinte proche du blanc.
   Motif SVG discret — règle standing : jamais de fond uni plat, toujours un
   motif en arrière-plan pour casser la monotonie (ici en encre très clair,
   puisque le fond est proche du blanc). Motif "toile" : lignes croisées
   petits nœuds épars, répartis irrégulièrement sur une grande tuile —
   très discret, jamais uniforme/dense. */
.hero--plain {
	background-color: var(--surface);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'%3E%3Cg fill='none' stroke='%23101713' stroke-opacity='.06' stroke-width='1'%3E%3Cpath d='M30 40 C 42 30, 48 50, 60 40 S 78 30, 90 40'/%3E%3Cpath d='M220 90 C 232 80, 238 100, 250 90 S 268 80, 280 90'/%3E%3Cpath d='M90 220 C 102 210, 108 230, 120 220 S 138 210, 150 220'/%3E%3Cpath d='M250 260 C 262 250, 268 270, 280 260 S 298 250, 310 260'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 320px 320px;
}

/* variante bgImage : image plein cadre en fond, contenu superposé en clair */
.hero-standard--bg { position: relative; overflow: hidden; }
.hero-standard--bg__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.hero-standard--bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(16,23,19,.55) 0%, rgba(16,23,19,.42) 55%, rgba(16,23,19,.62) 100%);
	z-index: 1;
}
.hero-standard--bg .hero__grid { position: relative; z-index: 2; grid-template-columns: 1fr; }
.hero-standard--bg .breadcrumb a,
.hero-standard--bg .breadcrumb span,
.hero-standard--bg .breadcrumb i { color: rgba(255,255,255,.75); }
.hero-standard--bg .eyebrow { background: rgba(216,255,84,.16); color: var(--signal); }
.hero-standard--bg h1 { color: #fff; }
.hero-standard--bg .lead { color: rgba(255,255,255,.85); }
.hero-standard--bg .hero__trust span { color: rgba(255,255,255,.75); }
