/*
Theme Name:   Todays Management (Astra child)
Template:     astra
Description:  Habillage du site Todays Management. La logique Hostaway vit dans le plugin tm-hostaway.
Version:      0.3.17
Text Domain:  astra-child
*/

:root {
	--tm-ink: #23302b;
	--tm-ink-deep: #17211d;
	--tm-cream: #f5f1e9;
	--tm-sand: #e8dfd2;
	--tm-white: #fffdf9;
	--tm-caramel: #b7815e;
	--tm-caramel-deep: #85543d;
	--tm-sage: #758278;
	--tm-muted: rgba(35, 48, 43, .72);
	--tm-rule: rgba(35, 48, 43, .18);
	--tm-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
	--tm-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body,
/* Astra peint `.ast-separate-container` (classe du body sur Our Stays et les fiches) de sa couleur
   globale n° 5, un bleu pâle hors palette. */
body.ast-separate-container {
	background: var(--tm-cream);
	color: var(--tm-ink);
	font-family: var(--tm-sans);
}

::selection {
	background: var(--tm-caramel-deep);
	color: var(--tm-white);
}

a {
	text-underline-offset: .18em;
}

.site-header .ast-primary-header-bar {
	border: 0;
	border-bottom: 1px solid var(--tm-rule);
	background: rgba(245, 241, 233, .96);
}

/* Transparent navigation layered over the photographic hero. */
body.tm-visual-header .site-header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	background: transparent;
}

body.admin-bar.tm-visual-header .site-header {
	top: 0;
}

body.tm-visual-header .site-header::before {
	content: "";
	position: absolute;
	/* Déborde sous le menu pour que l'ombre se fonde dans la photo, sans limite visible. */
	inset: 0 0 -180px;
	pointer-events: none;
	/* Voile net, sans flou (retiré le 2026-09-27) : ombre localisée derrière le logo + dégradé pour le menu. */
	background:
		radial-gradient(ellipse 460px 320px at 0 0, rgba(10, 18, 15, .55), rgba(10, 18, 15, 0) 72%),
		linear-gradient(180deg, rgba(10, 18, 15, .34), rgba(10, 18, 15, 0));
}

body.tm-visual-header .site-header .ast-primary-header-bar {
	position: relative;
	border-bottom-color: transparent;
	background: transparent;
}

body.tm-visual-header .site-header .ast-builder-grid-row {
	min-height: 138px;
}

/*
 * Logo transparent sur la photo (demande de Yoan : jamais de fond). Le logo or foncé/or clair est
 * dessiné pour un fond clair : on l'éclaircit d'un ton, sans aucun halo ni flou (retirés le
 * 2026-09-27, ils rendaient le logo baveux), et une ombre douce localisée dans le coin supérieur
 * gauche du voile (voir ::before) lui donne son contraste.
 */
body.tm-visual-header .site-header .custom-logo-link img {
	width: auto;
	max-height: 108px;
	filter: brightness(1.6) saturate(.9);
}

body.tm-visual-header .ast-builder-menu-1 .menu-item > .menu-link,
body.tm-visual-header .ast-builder-menu-1 .menu-item:hover > .menu-link,
body.tm-visual-header .ast-builder-menu-1 .current-menu-item > .menu-link,
body.tm-visual-header .site-title a {
	color: var(--tm-white);
	text-shadow: 0 1px 12px rgba(10, 18, 15, .62);
}

body.tm-visual-header .ast-builder-menu-1 .current-menu-item > .menu-link,
body.tm-visual-header .ast-builder-menu-1 .menu-item:hover > .menu-link {
	color: #fff4ec;
	box-shadow: inset 0 -1px 0 #f1c8aa;
}

body.tm-visual-header .ast-mobile-menu-trigger-minimal,
body.tm-visual-header .mobile-menu-toggle-icon,
body.tm-visual-header .ast-button-wrap .menu-toggle.main-header-menu-toggle {
	color: var(--tm-white);
	filter: drop-shadow(0 1px 7px rgba(10, 18, 15, .65));
}

body.tm-visual-header .ast-button-wrap .menu-toggle.main-header-menu-toggle .ast-mobile-svg {
	fill: var(--tm-white);
}

@media (max-width: 921px) {
	body.tm-visual-header .site-header .ast-builder-grid-row { min-height: 104px; }
	body.tm-visual-header .site-header .custom-logo-link img { max-height: 76px; }
}

.site-title a,
.site-title a:focus,
.site-title a:hover {
	color: var(--tm-ink);
	font-family: var(--tm-serif);
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	font-weight: 400;
	letter-spacing: -.025em;
}

.ast-builder-menu-1 .menu-item > .menu-link {
	color: var(--tm-ink);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.ast-builder-menu-1 .menu-item:hover > .menu-link,
.ast-builder-menu-1 .current-menu-item > .menu-link {
	color: var(--tm-caramel-deep);
}

.site-footer {
	background: var(--tm-ink-deep);
	color: rgba(255, 253, 249, .72);
}

.tm-footer-brand__link {
	display: inline-flex;
	flex: 0 0 auto;
	padding: 4px;
	border-radius: 50%;
}

.tm-footer-brand__link:focus-visible {
	outline: 1px solid #f1c8aa;
	outline-offset: 5px;
}

.tm-footer-brand__mark {
	display: block;
	width: 58px;
	height: 38px;
	background-image: var(--tm-footer-logo);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 58px auto;
	filter: brightness(1.17) saturate(1.08) drop-shadow(0 3px 15px rgba(0, 0, 0, .2));
	transition: filter .25s ease, transform .25s ease;
}

.tm-footer-brand__link:hover .tm-footer-brand__mark {
	filter: brightness(1.28) saturate(1.12) drop-shadow(0 4px 18px rgba(0, 0, 0, .25));
	transform: translateY(-2px);
}

.site-footer .site-below-footer-wrap {
	border-top: 1px solid rgba(255, 253, 249, .12);
	background: var(--tm-ink-deep);
	color: rgba(255, 253, 249, .68);
}

.site-footer .site-below-footer-wrap .ast-builder-grid-row {
	min-height: 86px;
}

.site-footer .ast-footer-copyright {
	width: 100%;
	justify-content: center;
}

.tm-footer-meta,
.tm-footer-copy {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.tm-footer-meta {
	width: 100%;
	gap: 14px;
}

.tm-footer-copy {
	gap: 7px;
}

.site-footer a,
.site-footer a:hover,
.site-footer a:focus {
	color: var(--tm-white);
}

.site-footer .ast-footer-copyright,
.site-footer .ast-footer-copyright p,
.site-footer .tm-footer-copy {
	margin: 0;
	color: rgba(255, 253, 249, .68);
	font-size: .78rem;
	letter-spacing: .04em;
}

.site-footer .tm-footer-copy a {
	text-decoration: underline;
	text-decoration-color: rgba(255, 253, 249, .42);
	text-decoration-thickness: 1px;
}

.site-footer .tm-footer-copy a:hover,
.site-footer .tm-footer-copy a:focus-visible {
	text-decoration-color: currentColor;
}

@media (max-width: 544px) {
	.site-footer .site-below-footer-wrap .ast-builder-grid-row {
		min-height: 132px;
	}

	.tm-footer-meta {
		align-items: center;
		justify-content: center;
		flex-wrap: nowrap;
		gap: 8px;
		padding: 12px 40px 38px;
	}

	.tm-footer-copy {
		flex: 0 1 244px;
		justify-content: center;
		gap: 3px 6px;
		max-width: 244px;
		font-size: .72rem;
		line-height: 1.55;
		text-align: center;
	}
}

#ast-scroll-top {
	background-color: var(--tm-caramel-deep);
	color: var(--tm-white);
}

#ast-scroll-top:hover,
#ast-scroll-top:focus {
	background-color: var(--tm-ink);
}

/* Progressive scroll reveals: layout remains unchanged; only opacity and Y transform animate. */
.tm-motion-ready .tm-reveal {
	opacity: 0;
	transform: translate3d(0, 24px, 0);
	transition:
		opacity .72s cubic-bezier(.22, 1, .36, 1) var(--tm-reveal-delay, 0ms),
		transform .72s cubic-bezier(.22, 1, .36, 1) var(--tm-reveal-delay, 0ms);
}

.tm-motion-ready .tm-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
	.tm-motion-ready .tm-reveal,
	.tm-motion-ready .tm-reveal.is-visible {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}
