.td-footer{margin-top:var(--space-16);border-top:1px solid var(--color-border-strong);background:radial-gradient(circle at top left,rgba(15,23,42,0.95),rgba(8,13,26,0.98))}
.td-footer-main{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-10);padding-top:var(--space-12);padding-bottom:var(--space-10)}
.td-footer-brand{max-width:420px}
.td-footer-logo{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}
.td-footer-brand-text .brand-name{font-size:var(--font-size-lg);letter-spacing:0.22em;text-transform:uppercase}
.td-footer-tagline{font-size:var(--font-size-xs);letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-muted)}
.td-footer-copy{font-size:var(--font-size-sm)}
.td-footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8);min-width:0}
.td-footer-heading{font-size:var(--font-size-xs);margin-bottom:var(--space-3);letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-muted)}
.td-footer-links{display:flex;flex-direction:column;gap:0.55rem;font-size:var(--font-size-sm)}
.td-footer-links a{color:var(--color-accent-silver)}
.td-footer-links a:hover{color:var(--color-primary)}
.td-footer-bottom{border-top:1px solid var(--color-border-subtle);padding-block:var(--space-4);background:rgba(8,13,26,0.98)}
.td-footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.td-footer-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}
.td-footer-note{opacity:0.85}
.td-footer-social{display:flex;align-items:center;gap:var(--space-3)}
.td-footer-social a{width:34px;height:34px;border-radius:999px;border:1px solid rgba(148,163,184,0.8);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,rgba(249,250,251,0.14),rgba(15,23,42,0.9));color:var(--color-accent-silver);box-shadow:var(--shadow-soft);font-size:0.9rem}
.td-footer-social a:hover{color:var(--color-primary);border-color:var(--color-primary)}
.td-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:60;background:radial-gradient(circle at top,rgba(15,23,42,0.98),rgba(8,13,26,0.98));border-top:1px solid var(--color-border-strong);box-shadow:0 -18px 45px rgba(0,0,0,0.55);transform:translateY(100%);opacity:0;transition:transform var(--transition-base),opacity var(--transition-base)}
.td-cookie-banner.is-visible{transform:translateY(0);opacity:1}
.td-cookie-inner{max-width:var(--container-max-width);margin:0 auto;padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}
.td-cookie-text{max-width:640px}
.td-cookie-title{font-size:var(--font-size-sm);margin-bottom:var(--space-2)}
.td-cookie-text p{font-size:var(--font-size-sm);margin-bottom:var(--space-2)}
.td-cookie-link{display:inline-flex;font-size:var(--font-size-xs);letter-spacing:0.16em;text-transform:uppercase;color:var(--color-accent-silver);border-bottom:1px solid rgba(148,163,184,0.6)}
.td-cookie-link:hover{color:var(--color-primary);border-color:var(--color-primary)}
.td-cookie-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}
.td-cookie-btn{font-size:var(--font-size-xs);padding-inline:1.4rem}
.td-cookie-reject{background:rgba(15,23,42,0.9)}
@media (max-width:1024px){.td-footer-main{flex-direction:column}.td-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){.td-footer-main{padding-top:var(--space-10);padding-bottom:var(--space-8)}.td-footer-grid{grid-template-columns:1fr}.td-footer-bottom-inner{flex-direction:column;align-items:flex-start}.td-cookie-inner{padding-inline:var(--space-4);padding-block:var(--space-4);flex-direction:column;align-items:flex-start}.td-cookie-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.td-cookie-btn{flex:1;justify-content:center}}
@media (max-width:480px){.td-footer-main{padding-inline:var(--space-4)}.td-cookie-inner{padding-inline:var(--space-4)}.td-cookie-btn{width:100%}}

/* responsive polish */
.site-footer,
.footer,
footer {
  overflow-wrap: anywhere;
}

@media (max-width: 640px) {
  .td-cookie-btn {
    flex: 1 1 auto;
    white-space: normal;
  }
}

/* opaque overlays */
.td-cookie-banner {
  background: radial-gradient(circle at top, #0f172a, #080d1a);
}
