/* ============================================================
   07-footer.css — Footer dark sage
   Override Astra footer + custom .y-footer container.
   ============================================================ */

.site-footer,
.ast-small-footer,
.footer-adv,
footer.y-footer {
	background-color: var(--y-sage-deep);
	color: var(--y-cream);
	padding: var(--y-space-lg) 0 var(--y-space-md);
	font-family: var(--y-font-sans);
	font-size: 0.95rem;
	line-height: 1.7;
	border-top: 1px solid rgba(var(--y-cream-rgb), 0.08);
}

.site-footer a,
.ast-small-footer a,
footer.y-footer a {
	color: var(--y-cream);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(var(--y-cream-rgb), 0.3);
	text-underline-offset: 4px;
	transition: text-decoration-color var(--y-duration) var(--y-ease);
}

.site-footer a:hover,
.ast-small-footer a:hover,
footer.y-footer a:hover {
	color: var(--y-cream);
	text-decoration-color: var(--y-cream);
}

/* --- Inner grid 4 columns --- */
.y-footer__inner {
	max-width: var(--y-container);
	margin: 0 auto;
	padding: 0 var(--y-gutter);
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: var(--y-space-md);
}

@media (max-width: 960px) {
	.y-footer__inner {
		grid-template-columns: 1fr 1fr;
		gap: var(--y-space-md);
	}
}

@media (max-width: 540px) {
	.y-footer__inner {
		grid-template-columns: 1fr;
	}
}

/* --- Column heading --- */
.y-footer__col-title,
.site-footer .widget-title {
	font-family: var(--y-font-sans);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--y-cream);
	opacity: 0.9;
	margin: 0 0 1rem;
	padding-bottom: 0.6rem;
	border-bottom: 1px solid rgba(var(--y-cream-rgb), 0.15);
}

/* --- Brand column --- */
.y-footer__brand {
	max-width: 320px;
}

.y-footer__logo {
	font-family: var(--y-font-serif);
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: lowercase;
	color: var(--y-cream);
	line-height: 1;
	margin: 0 0 0.75rem;
	display: inline-block;
	text-decoration: none;
}

.y-footer__tagline {
	font-family: var(--y-font-serif);
	font-style: italic;
	font-size: 1.05rem;
	color: rgba(var(--y-cream-rgb), 0.85);
	margin: 0 0 var(--y-space-sm);
	line-height: 1.4;
}

/* --- Footer menu / link list --- */
.y-footer__menu,
.site-footer .menu,
.site-footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.y-footer__menu li,
.site-footer .menu li,
.site-footer ul li {
	margin-bottom: 0.6rem;
}

.y-footer__menu a {
	font-size: 0.95rem;
	color: rgba(var(--y-cream-rgb), 0.85);
	text-decoration: none;
}

.y-footer__menu a:hover {
	color: var(--y-cream);
	text-decoration: underline;
	text-decoration-color: var(--y-cream);
	text-underline-offset: 4px;
}

/* --- Contact info --- */
.y-footer__contact {
	font-style: normal;
	line-height: 1.7;
	color: rgba(var(--y-cream-rgb), 0.85);
}

.y-footer__contact p {
	margin-bottom: 0.5rem;
	max-width: none;
}

/* --- Social icons --- */
.y-footer__social {
	display: flex;
	gap: 0.75rem;
	margin-top: var(--y-space-sm);
	list-style: none;
	padding: 0;
}

.y-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(var(--y-cream-rgb), 0.3);
	border-radius: 50%;
	color: var(--y-cream);
	text-decoration: none;
	transition: background-color var(--y-duration) var(--y-ease),
				border-color var(--y-duration) var(--y-ease);
}

.y-footer__social a:hover {
	background-color: var(--y-cream);
	color: var(--y-sage-deep);
	border-color: var(--y-cream);
}

.y-footer__social svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
	stroke: currentColor;
}

/* --- Bottom bar (copyright + disclaimer) --- */
.y-footer__bottom,
.ast-small-footer-wrap {
	margin-top: var(--y-space-md);
	padding-top: var(--y-space-sm);
	border-top: 1px solid rgba(var(--y-cream-rgb), 0.12);
	font-size: 0.8rem;
	color: rgba(var(--y-cream-rgb), 0.65);
	text-align: center;
}

.y-footer__bottom p,
.ast-small-footer-wrap p {
	margin: 0.4rem 0;
	max-width: none;
}

/* --- Disclaimer TPCN (injected qua functions.php) --- */
.yutorii-disclaimer {
	background-color: var(--y-sage-deep);
	color: rgba(var(--y-cream-rgb), 0.6);
	padding: 1rem var(--y-gutter);
	font-size: 0.75rem;
	line-height: 1.6;
	text-align: center;
	border-top: 1px solid rgba(var(--y-cream-rgb), 0.08);
}

.yutorii-disclaimer p {
	max-width: var(--y-container);
	margin: 0 auto;
	opacity: 0.7;
}

/* --- Astra small footer override (nếu user dùng) --- */
.ast-small-footer {
	background-color: var(--y-sage-deep);
	border-top: 1px solid rgba(var(--y-cream-rgb), 0.08);
}
