.talentum-footer{--talentum-color-background:#0D0D0D;--talentum-color-surface:#101214;--talentum-color-text:#f5f5f3;--talentum-color-muted:#b6b8ba;--talentum-color-accent:#C9A24E;--talentum-color-accent-hover:#e1bd69;--talentum-color-line:rgba(201,162,78,.28);--talentum-container-width:1230px;position:relative;left:50%;right:50%;width:100vw;max-width:100vw;margin:0 -50vw;color:var(--talentum-color-text);background:var(--talentum-color-background);font-family:inherit;line-height:1.45}.talentum-footer *,.talentum-footer *:before,.talentum-footer *:after{box-sizing:border-box}.talentum-footer a{color:inherit;text-decoration:none}.talentum-footer__container{width:min(calc(100% - 48px),var(--talentum-container-width));margin-inline:auto}.talentum-footer__newsletter{padding:18px 0;background:#0b0d0f;border-top:1px solid var(--talentum-color-line);border-bottom:1px solid var(--talentum-color-line)}.talentum-footer__newsletter-inner{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:36px;align-items:center}.talentum-footer__newsletter h2{margin:0 0 4px;font-size:19px;line-height:1.2}.talentum-footer__newsletter p{margin:0;color:var(--talentum-color-muted);font-size:12px}.talentum-footer__newsletter-form{display:flex;gap:8px}.talentum-footer__newsletter-form input{min-width:0;flex:1;height:44px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:#f5f5f5;color:#161616;padding:0 15px;font:inherit}.talentum-footer__newsletter-form button{min-width:155px;height:44px;border:0;border-radius:4px;background:linear-gradient(135deg,#d9b35b,#c5963d);color:#111;font-weight:800;cursor:pointer}.talentum-footer__newsletter-form button:disabled,.talentum-footer__newsletter-form input:disabled{cursor:not-allowed;opacity:.7}.talentum-footer__main{padding:34px 0 30px;background:linear-gradient(180deg,#0d1012,#090b0c)}.talentum-footer__grid{display:grid;grid-template-columns:1.45fr repeat(4,1fr);gap:42px}.talentum-footer__brand{min-width:0}.talentum-footer__logo{display:block;width:auto;height:auto;max-width:190px;max-height:68px;object-fit:contain;object-position:left center;margin-bottom:13px}.talentum-footer__wordmark{display:block;color:var(--talentum-color-accent);font-size:23px;letter-spacing:.16em;margin-bottom:12px}.talentum-footer__brand>p{margin:0 0 18px;color:#ddd;font-size:13px}.talentum-footer__column h3{margin:0 0 12px;font-size:13px;color:#fff}.talentum-footer__column ul{list-style:none;margin:0;padding:0}.talentum-footer__column li+li{margin-top:7px}.talentum-footer__column a{font-size:12px;color:#c9cbcd}.talentum-footer__column a:hover,.talentum-footer__column a:focus-visible{color:var(--talentum-color-accent-hover)}.talentum-footer__socials{display:flex;gap:8px;flex-wrap:wrap}.talentum-footer__socials a{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-size:9px;font-weight:800}.talentum-footer__socials a:hover,.talentum-footer__socials a:focus-visible{border-color:var(--talentum-color-accent);color:var(--talentum-color-accent-hover)}.talentum-footer a:focus-visible,.talentum-footer button:focus-visible,.talentum-footer input:focus-visible{outline:2px solid var(--talentum-color-accent-hover);outline-offset:3px}.talentum-footer__bottom{border-top:1px solid rgba(255,255,255,.08);background:#090b0c;padding:15px 0}.talentum-footer__bottom-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}.talentum-footer__bottom p{margin:0;color:#9ea1a4;font-size:11px}.elementor-widget-shortcode:has(.talentum-footer),.elementor-widget-shortcode:has(.talentum-footer)>.elementor-widget-container{margin-block-end:0!important;padding-block-end:0!important}.e-con:has(>.elementor-element.elementor-widget-shortcode:last-child .talentum-footer),.e-con-inner:has(>.elementor-element.elementor-widget-shortcode:last-child .talentum-footer){padding-block-end:0!important;margin-block-end:0!important}
@media(max-width:1024px){.talentum-footer__container{width:min(calc(100% - 32px),var(--talentum-container-width))}.talentum-footer__newsletter-inner{grid-template-columns:1fr;gap:14px}.talentum-footer__grid{grid-template-columns:1.3fr repeat(2,1fr);gap:30px}.talentum-footer__brand{grid-row:span 2}}
@media(max-width:700px){.talentum-footer__container{width:calc(100% - 24px)}.talentum-footer__newsletter{padding:22px 0}.talentum-footer__newsletter-form{display:grid;grid-template-columns:1fr}.talentum-footer__newsletter-form button{width:100%}.talentum-footer__main{padding:30px 0 24px}.talentum-footer__grid{grid-template-columns:1fr 1fr;gap:28px 24px}.talentum-footer__brand{grid-column:1/-1;grid-row:auto}.talentum-footer__bottom-inner{display:grid;gap:7px}.talentum-footer__bottom p:last-child{color:var(--talentum-color-accent)}}
@media(max-width:430px){.talentum-footer__grid{grid-template-columns:1fr}.talentum-footer__brand{grid-column:auto}.talentum-footer__column{padding-top:4px;border-top:1px solid rgba(255,255,255,.07)}.talentum-footer__column h3{margin-top:10px}.talentum-footer__logo{max-width:165px;max-height:58px}}

/* v0.2.1 — Placement hardening: only collapse integration spacing when
   Talentum Footer is the final real component in its host/layout chain. */
.elementor-element.e-con:has(> .elementor-element.elementor-widget-shortcode:last-child .talentum-footer),
.elementor-element.e-con > .e-con-inner:has(> .elementor-element.elementor-widget-shortcode:last-child .talentum-footer),
.elementor-section:has(.elementor-column:last-child .elementor-widget-shortcode:last-child .talentum-footer),
.elementor-column:has(.elementor-widget-wrap > .elementor-widget-shortcode:last-child .talentum-footer) > .elementor-widget-wrap,
.entry-content:has(> .elementor:last-child .talentum-footer),
.entry-content:has(> .talentum-footer:last-child) {
	margin-block-end: 0 !important;
	padding-block-end: 0 !important;
	row-gap: 0;
}

.elementor-widget-shortcode:has(> .elementor-widget-container > .talentum-footer:last-child),
.elementor-widget-shortcode:has(> .elementor-widget-container > .talentum-footer:last-child) > .elementor-widget-container {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* v0.2.2 — Contextual short-page layout.
   The screenshot validated that the white area is outside the visual footer: the
   component closes correctly, while a short Elementor/content root leaves the
   remainder of the viewport unoccupied. These rules activate only on a content
   root that actually contains the Talentum footer host. */
.talentum-component-host--footer {
	position: relative;
	width: 100%;
	margin-block: 0;
	padding-block: 0;
}

/* Elementor page root: preserve normal flow on long pages, but give short pages
   a viewport-height column and let the final Footer container consume the free
   space above it rather than leaving it below the footer. */
.elementor:has(.talentum-component-host--footer) {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.elementor:has(.talentum-component-host--footer) > .elementor-element:last-child:has(.talentum-component-host--footer) {
	margin-block-start: auto;
}

/* If Header and Footer live inside one top-level Elementor container, that
   container becomes the short-page column and the Footer widget is pushed to
   its end. This is scoped to the exact container that owns the Talentum host. */
.elementor:has(> .elementor-element.e-con:only-child .talentum-component-host--footer) > .elementor-element.e-con:only-child {
	min-height: 100vh;
}

.elementor-element.e-con:has(> .elementor-element.elementor-widget-shortcode:last-child .talentum-component-host--footer) > .elementor-element.elementor-widget-shortcode:last-child,
.elementor-element.e-con > .e-con-inner:has(> .elementor-element.elementor-widget-shortcode:last-child .talentum-component-host--footer) > .elementor-element.elementor-widget-shortcode:last-child {
	margin-block-start: auto;
}

/* Native WordPress content: same behavior, without touching pages that do not
   contain the Talentum footer. */
.entry-content:has(> .talentum-component-host--footer:last-child) {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.entry-content:has(> .talentum-component-host--footer:last-child) > .talentum-component-host--footer:last-child {
	margin-block-start: auto;
}

