/**
 * TechWorld premium global footer.
 */

.site-footer {
	position: relative;
	background: #091327;
	color: rgba(255, 255, 255, 0.72);
}

.footer-cta {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 88% 30%, rgba(255,255,255,.13), transparent 22%),
		linear-gradient(120deg, #2348bd 0%, #245fe3 55%, #2f6ff0 100%);
	color: #fff;
}

.footer-cta::before {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 34px 34px;
	content: "";
	pointer-events: none;
}

.footer-cta::after {
	position: absolute;
	top: -62%;
	right: -5%;
	width: 360px;
	height: 360px;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 50%;
	box-shadow: 0 0 0 54px rgba(255,255,255,.045), 0 0 0 108px rgba(255,255,255,.025);
	content: "";
	pointer-events: none;
}

.footer-cta__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(2rem, 5vw, 5rem);
	padding-block: clamp(3rem, 5vw, 4.5rem);
}

.footer-cta__content { max-width: 760px; }
.footer-cta__eyebrow { display:inline-flex; align-items:center; gap:.55rem; margin:0 0 .75rem; color:rgba(255,255,255,.88); font-size:.75rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.footer-cta__eyebrow::before { width:32px; height:2px; background:var(--techworld-color-accent-400); content:""; }
.footer-cta__title { margin:0; color:#fff; font-size:clamp(2rem,4vw,3.1rem); letter-spacing:-.04em; }
.footer-cta__description { max-width:62ch; margin:1rem 0 0; color:rgba(255,255,255,.84); font-size:1.02rem; }
.footer-cta__actions { display:flex; flex:0 0 auto; flex-wrap:wrap; gap:.75rem; }
.footer-cta__actions .techworld-button { min-height:54px; padding-inline:1.45rem; }
.footer-cta__primary { background:var(--techworld-color-accent-400); color:#101a2d; box-shadow:0 14px 30px rgba(0,0,0,.14); }
.footer-cta__primary:hover,
.footer-cta__primary:focus-visible { background:#fff; color:#101a2d; }
.footer-cta__secondary { border-color:rgba(255,255,255,.48); color:#fff; }
.footer-cta__secondary:hover,
.footer-cta__secondary:focus-visible { border-color:#fff; background:#fff; color:#0f172a; }

.site-footer__main {
	position: relative;
	padding-block: clamp(4.25rem, 7vw, 6.75rem);
	background:
		radial-gradient(circle at 10% 0%, rgba(37,99,235,.08), transparent 28%),
		linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
	background-size: auto, 32px 32px, 32px 32px;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: minmax(260px,1.35fr) repeat(2,minmax(180px,.75fr)) minmax(250px,1fr);
	gap: clamp(2.5rem, 5vw, 5rem);
}

.site-footer__brand { padding-right:clamp(0rem,2vw,1.5rem); }
.site-footer__identity .custom-logo-link { display:inline-flex; }
.site-footer__identity .custom-logo { width:auto; max-width:230px; height:auto; max-height:66px; filter:brightness(0) invert(1); }
.site-footer__site-name { color:#fff; font-family:var(--techworld-font-heading); font-size:1.6rem; font-weight:850; letter-spacing:-.03em; text-decoration:none; }
.site-footer__description { max-width:40ch; margin:1.35rem 0 1.6rem; color:rgba(255,255,255,.68); line-height:1.8; }
.site-footer__socials,
.site-footer__menu,
.site-footer__legal-menu { padding:0; margin:0; list-style:none; }
.site-footer__socials { display:flex; flex-wrap:wrap; gap:.65rem; }
.site-footer__socials a { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:rgba(255,255,255,.045); color:#fff; font-weight:800; text-decoration:none; transition:background-color var(--techworld-transition),border-color var(--techworld-transition),transform var(--techworld-transition),box-shadow var(--techworld-transition); }
.site-footer__socials a:hover,
.site-footer__socials a:focus-visible { border-color:var(--techworld-color-primary-500); background:var(--techworld-color-primary-600); box-shadow:0 10px 24px rgba(37,99,235,.22); transform:translateY(-3px); }

.site-footer__heading { position:relative; padding-bottom:1rem; margin:0 0 1.6rem; color:#fff; font-size:1.05rem; letter-spacing:-.01em; }
.site-footer__heading::after { position:absolute; bottom:0; left:0; width:48px; height:3px; border-radius:999px; background:linear-gradient(90deg,var(--techworld-color-accent-400),var(--techworld-color-primary-500)); content:""; }
.site-footer__menu li + li { margin-top:.75rem; }
.site-footer__menu a,
.site-footer__address a,
.site-footer__map-link,
.site-footer__legal-menu a { color:rgba(255,255,255,.7); text-decoration:none; transition:color var(--techworld-transition),transform var(--techworld-transition); }
.site-footer__menu a { display:inline-flex; align-items:center; gap:.55rem; }
.site-footer__menu a::before { color:var(--techworld-color-accent-400); content:"›"; font-size:1.15rem; transition:transform var(--techworld-transition); }
.site-footer__menu a:hover,
.site-footer__menu a:focus-visible,
.site-footer__address a:hover,
.site-footer__address a:focus-visible,
.site-footer__map-link:hover,
.site-footer__map-link:focus-visible,
.site-footer__legal-menu a:hover,
.site-footer__legal-menu a:focus-visible { color:#fff; }
.site-footer__menu a:hover::before,
.site-footer__menu a:focus-visible::before { transform:translateX(3px); }

.site-footer__address { display:grid; gap:.7rem; font-style:normal; }
.site-footer__address p { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:.8rem; min-height:50px; padding:.55rem .7rem; margin:0; border:1px solid rgba(255,255,255,.07); border-radius:12px; background:rgba(255,255,255,.025); }
.site-footer__address p > span:first-child { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:9px; background:rgba(245,158,11,.1); color:var(--techworld-color-accent-400); }
.site-footer__map-link { display:inline-flex; align-items:center; gap:.5rem; margin-top:1rem; font-weight:750; }

.site-footer__bottom { position:relative; border-top:1px solid rgba(255,255,255,.09); background:rgba(0,0,0,.18); }
.site-footer__bottom-inner { display:flex; align-items:center; gap:1.5rem; min-height:82px; }
.site-footer__copyright { margin:0; font-size:.82rem; }
.site-footer__legal-menu { display:flex; flex-wrap:wrap; gap:1.25rem; margin-left:auto; font-size:.82rem; }
.site-footer__back-to-top { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(255,255,255,.055); color:#fff; cursor:pointer; opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity var(--techworld-transition),transform var(--techworld-transition),background-color var(--techworld-transition),border-color var(--techworld-transition); }
.site-footer__back-to-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.site-footer__back-to-top:hover,
.site-footer__back-to-top:focus-visible { border-color:var(--techworld-color-primary-500); background:var(--techworld-color-primary-600); }

@media (max-width:1100px) {
	.site-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:767px) {
	.footer-cta__inner { align-items:flex-start; flex-direction:column; }
	.footer-cta__actions,
	.footer-cta__actions .techworld-button { width:100%; }
	.site-footer__grid { grid-template-columns:minmax(0,1fr); gap:2.5rem; }
	.site-footer__brand { padding-right:0; }
	.site-footer__bottom-inner { align-items:flex-start; flex-direction:column; padding-block:1.5rem; }
	.site-footer__legal-menu { margin-left:0; }
	.site-footer__back-to-top { position:absolute; right:var(--techworld-gutter); bottom:calc(100% + 1rem); }
	body.has-mobile-actions .site-footer__bottom { padding-bottom:76px; }
}
