/*!
 * Location: /assets/css/stm-footer.css
 * Purpose:
 * - Base footer layout styling (desktop-first).
 * - Stable 5-column desktop footer for guest and logged-in users.
 * - Wider first brand/contact column with more separation from menu columns.
 * - Footer CSS must stay synchronous/critical enough to avoid guest-cache layout mismatch.
 *
 * Related PHP:
 * - /template-parts/footer/footer.php
 *
 * Linkage/Loader:
 * - Enqueued by: /inc/enqueue.php and /inc/features/footer/footer.php (handle: stm-footer)
 */

.stm-footer{background:#efefef;color:#111;font-size:14px;line-height:1.6;display:block;clear:both;width:100%;}
.stm-footer__inner{max-width:1500px;margin:0 auto;width:100%;}
.stm-footer *{box-sizing:border-box}

/*
 * Desktop 5-column footer layout.
 * Left brand/contact column has a wider fixed safe range; right side keeps four narrower equal menu columns.
 * This prevents the 5th menu column from wrapping for logged-out/guest cached views around 1366px.
 */
.stm-footer__grid{
	display:grid;
	grid-template-columns:minmax(300px,430px) minmax(0,1fr);
	gap:64px;
	padding:32px 18px;
	align-items:start;
	width:100%;
}
.stm-footer__left,
.stm-footer__right,
.stm-footer__cols,
.stm-footer__col{min-width:0;}
.stm-footer__right{width:100%;}

/* Logo 45px + clickable */
.stm-footer__logo-link{display:inline-block;text-decoration:none}
/* Footer logo hard-lock (prevents Woo/global img overrides) */
.stm-footer .stm-footer__logo-img{
	height:45px !important;
	width:auto !important;
	max-width:100% !important;
	display:block !important;
}

.stm-footer__site-title{font-weight:900;font-size:20px;line-height:1.2;color:#111;text-decoration:none}

/* Support logo under website logo */
.stm-footer__logo-under img{max-width:140px;margin-top:12px;display:block}

/* Help (base) */
.stm-footer__help{margin:18px 0}
.stm-footer__help-label{font-weight:700;color:#111;font-size:14px;}
.stm-footer__help-phone{font-weight:900;color:#111;font-size:14px;}

/* Contact */
.stm-footer__contact-title{font-weight:900;margin:10px 0 8px;font-size:14px;}
.stm-footer__contact-line{color:#111;opacity:.9;line-height:1.55;font-size:14px;}

/* Social: inline + no dots */
.stm-footer__social{margin-top:18px}
.stm-footer-social__list{
	list-style:none !important;margin:0 !important;padding:0 !important;
	display:flex !important;flex-wrap:wrap;gap:12px;align-items:center;
}
.stm-footer-social__item{list-style:none !important;margin:0 !important;padding:0 !important}
.stm-footer-social__link{
	width:36px;height:36px;border-radius:8px;
	background:#fff;border:1px solid #d8d8d8;
	display:flex;align-items:center;justify-content:center;
	text-decoration:none;
}
.stm-footer-social__link::before,
.stm-footer-social__item::before{content:none !important;}
.stm-footer-social__img,
.stm-footer-social__link img{width:24px;height:24px;display:block;filter:none !important}

/* RIGHT: four stable columns */
.stm-footer__cols{
	display:grid;
	grid-template-columns:repeat(4,minmax(120px,1fr));
	gap:0 26px;
	align-items:start;
	width:100%;
}
.stm-footer__col{width:100%;}

/* Menu: tight + no bullets */
.stm-footer__menu{
	list-style:none !important;margin:0 !important;padding:0 !important;
	display:grid;gap:8px;
}
.stm-footer__menu li{list-style:none !important;margin:0 !important;padding:0 !important}
.stm-footer__menu li::before{content:none !important;}
.stm-footer__menu a{text-decoration:none;color:#223a5a;line-height:1.3;font-size:14px;}
.stm-footer__menu a:hover{text-decoration:underline}

/* Bottom */
.stm-footer__bottom{border-top:1px solid #ddd;text-align:center;padding:18px 10px;font-weight:800;font-size:14px;}

/* Help block — icon left + 10px gap */
.stm-footer__help--inline{
	display:flex;
	align-items:center;
	gap:10px;
	margin:18px 0;
}
.stm-footer__help-icon img{
	width:42px;
	height:auto;
	display:block;
}
.stm-footer__help-text{
	display:flex;
	flex-direction:column;
	line-height:1.3;
}

/* FOOTER MENUS – UPPERCASE (right side menus) */
.stm-footer__right .stm-footer__menu a{
	text-transform:uppercase;
	letter-spacing:0.4px;
}

/* Override old global footer content-visibility rules when cached/minified CSS is present. */
@supports (content-visibility:auto){
	.stm-site-footer,
	.stm-footer{
		content-visibility:visible !important;
		contain-intrinsic-size:auto !important;
	}
}

@media (min-width: 981px) and (max-width: 1380px){
	.stm-footer__grid{grid-template-columns:minmax(280px,410px) minmax(0,1fr);gap:58px;padding-left:18px;padding-right:18px;}
	.stm-footer__cols{grid-template-columns:repeat(4,minmax(112px,1fr));gap:0 22px;}
	.stm-footer__acc-title{font-size:16px;}
	.stm-footer__menu a{font-size:13.5px;letter-spacing:.25px;}
}

@media (min-width: 981px) and (max-width: 1180px){
	.stm-footer__grid{grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:42px;}
	.stm-footer__cols{grid-template-columns:repeat(4,minmax(98px,1fr));gap:0 18px;}
	.stm-footer__acc-title{font-size:15px;letter-spacing:.25px;}
	.stm-footer__menu a{font-size:13px;letter-spacing:.2px;}
	.stm-footer__contact-line{font-size:13px;}
}

/*
 * Canonical footer layout lock — 2026-06-24.
 * Purpose: force the approved 5-column desktop footer for logged-in and guest users,
 * even if older cached/minified footer CSS is still present in the cascade.
 */
html body .stm-footer[data-stm-footer],
html body footer.stm-footer[data-stm-footer]{
	display:block !important;
	clear:both !important;
	width:100% !important;
	background:#efefef !important;
	color:#111 !important;
	contain:none !important;
	content-visibility:visible !important;
}

html body .stm-footer[data-stm-footer] .stm-footer__inner{
	max-width:1500px !important;
	width:100% !important;
	margin-left:auto !important;
	margin-right:auto !important;
}

@media (min-width:981px){
	html body .stm-footer[data-stm-footer] .stm-footer__grid{
		display:grid !important;
		grid-template-columns:minmax(320px,440px) minmax(0,1fr) !important;
		gap:0 74px !important;
		align-items:start !important;
		width:100% !important;
		padding:32px 18px !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__left{
		width:auto !important;
		max-width:440px !important;
		min-width:0 !important;
		float:none !important;
		clear:none !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__right{
		width:100% !important;
		min-width:0 !important;
		max-width:none !important;
		float:none !important;
		clear:none !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__cols{
		display:grid !important;
		grid-template-columns:repeat(4,minmax(112px,1fr)) !important;
		gap:0 26px !important;
		align-items:start !important;
		width:100% !important;
		min-width:0 !important;
		max-width:none !important;
		float:none !important;
		clear:none !important;
		flex:none !important;
		flex-wrap:nowrap !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__col{
		display:block !important;
		width:auto !important;
		min-width:0 !important;
		max-width:none !important;
		float:none !important;
		clear:none !important;
		flex:initial !important;
		margin:0 !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__acc-panel{
		display:block !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__acc-btn{
		display:flex !important;
		width:100% !important;
		padding:0 !important;
		margin:0 0 14px !important;
		background:transparent !important;
		border:0 !important;
		box-shadow:none !important;
		cursor:default !important;
		text-align:left !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__acc-title{
		font-size:18px !important;
		font-weight:500 !important;
		line-height:1.25 !important;
		text-transform:uppercase !important;
		letter-spacing:.4px !important;
		white-space:nowrap !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__acc-icon{
		display:none !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__menu{
		display:grid !important;
		gap:8px !important;
		list-style:none !important;
		margin:0 !important;
		padding:0 !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__menu li{
		display:block !important;
		width:auto !important;
		list-style:none !important;
		margin:0 !important;
		padding:0 !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__menu a{
		display:inline-block !important;
		font-size:14px !important;
		font-weight:400 !important;
		line-height:1.3 !important;
		text-transform:uppercase !important;
		letter-spacing:.4px !important;
		white-space:nowrap !important;
		color:#223a5a !important;
		text-decoration:none !important;
	}
}

@media (min-width:981px) and (max-width:1380px){
	html body .stm-footer[data-stm-footer] .stm-footer__grid{
		grid-template-columns:minmax(310px,420px) minmax(0,1fr) !important;
		gap:0 66px !important;
		padding-left:18px !important;
		padding-right:18px !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__cols{
		grid-template-columns:repeat(4,minmax(104px,1fr)) !important;
		gap:0 22px !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__acc-title{
		font-size:16px !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__menu a{
		font-size:13.5px !important;
		letter-spacing:.25px !important;
	}
}

@media (min-width:981px) and (max-width:1180px){
	html body .stm-footer[data-stm-footer] .stm-footer__grid{
		grid-template-columns:minmax(280px,360px) minmax(0,1fr) !important;
		gap:0 42px !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__cols{
		grid-template-columns:repeat(4,minmax(94px,1fr)) !important;
		gap:0 16px !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__acc-title{
		font-size:15px !important;
		letter-spacing:.2px !important;
	}

	html body .stm-footer[data-stm-footer] .stm-footer__menu a{
		font-size:13px !important;
		letter-spacing:.15px !important;
	}
}
