/* =====================================================================
   TARC — custom dark footer (overrides the theme's Elementor footer)
   Scoped under .tarc-footer ; classes prefixed .ft- to avoid collisions.
===================================================================== */

.tarc-footer {
  --ft-brand: var(--bs-clr-pr-1, #f16319);
  --ft-brand-2: #d34e0c;
  --ft-fd: var(--bs-font-2, "Space Grotesk", sans-serif);
  --ft-fb: var(--bs-font-1, "Albert Sans", sans-serif);
  --ft-bg: #0b0c0d;
  --ft-line: #23262a;
  --ft-ink: #eceae6;
  --ft-ink-2: #9298a0;
  --ft-ink-3: #6b7178;

  background: var(--ft-bg);
  color: var(--ft-ink);
  position: relative;
  overflow: hidden;
  border-top: 3px solid var(--ft-brand);
  font-family: var(--ft-fb);
  line-height: 1.6;
}
.tarc-footer *, .tarc-footer *::before, .tarc-footer *::after { box-sizing: border-box; }
.tarc-footer a { color: inherit; text-decoration: none; }
.tarc-footer .ft-wrap { max-width: 1280px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 64px); }

.tarc-footer .ft-watermark { position: absolute; left: 0; right: 0; bottom: -4%; text-align: center; font-family: var(--ft-fd); font-weight: 700; font-size: clamp(80px, 22vw, 300px); letter-spacing: -.03em; color: #fff; opacity: .022; pointer-events: none; line-height: .8; white-space: nowrap; }

/* main */
.tarc-footer .ft-main { position: relative; z-index: 2; padding-block: clamp(48px, 6vw, 76px); }
.tarc-footer .ft-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: clamp(28px, 4vw, 56px); }
@media (max-width: 900px) { .tarc-footer .ft-grid { grid-template-columns: 1fr 1fr; gap: 40px 28px; } }
@media (max-width: 520px) { .tarc-footer .ft-grid { grid-template-columns: 1fr; } }

.tarc-footer .ft-brand .ft-logo { font-family: var(--ft-fd); font-weight: 700; font-size: 34px; letter-spacing: .02em; color: #fff; line-height: 1; display: inline-block; }
.tarc-footer .ft-brand .ft-logo span { color: var(--ft-brand); }
.tarc-footer .ft-brand .ft-logo img { max-height: 84px; width: auto; display: block; }
.tarc-footer .ft-brand .ft-name { font-family: var(--ft-fd); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--ft-ink-2); margin-top: 10px; }
.tarc-footer .ft-brand p { color: var(--ft-ink-2); font-size: 15px; margin: 20px 0 24px; max-width: 38ch; }
.tarc-footer .ft-social { display: flex; gap: 10px; }
.tarc-footer .ft-social a { width: 42px; height: 42px; border-radius: 100px; border: 1px solid var(--ft-line); display: grid; place-items: center; color: var(--ft-ink-2); transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.tarc-footer .ft-social a:hover { background: var(--ft-brand); border-color: var(--ft-brand); color: #fff; transform: translateY(-3px); }
.tarc-footer .ft-social svg { width: 17px; height: 17px; }

.tarc-footer .ft-col h4 { font-family: var(--ft-fd); font-weight: 600; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #fff; margin: 0 0 22px; display: flex; align-items: center; gap: 9px; }
.tarc-footer .ft-col h4::before { content: ""; width: 16px; height: 2px; background: var(--ft-brand); }
.tarc-footer .ft-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.tarc-footer .ft-col ul li { min-width: 0; }
.tarc-footer .ft-col ul a { color: var(--ft-ink-2); font-size: 15px; display: flex; align-items: center; gap: 8px; transition: color .2s ease, transform .2s ease; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tarc-footer .ft-col ul a::before { content: "\203A"; color: var(--ft-brand); flex: none; opacity: 0; width: 0; transition: opacity .2s ease, width .2s ease; }
.tarc-footer .ft-col ul a:hover { color: #fff; }
.tarc-footer .ft-col ul a:hover::before { opacity: 1; width: 9px; }

.tarc-footer .ft-contact .ft-phone { font-family: var(--ft-fd); font-weight: 700; font-size: 22px; color: #fff; letter-spacing: -.01em; display: block; margin-bottom: 14px; }
.tarc-footer .ft-contact .ft-phone:hover { color: var(--ft-brand); }
.tarc-footer .ft-contact .ft-email { color: var(--ft-ink-2); font-size: 15px; display: inline-flex; align-items: center; gap: 10px; word-break: break-word; }
.tarc-footer .ft-contact .ft-email:hover { color: #fff; }
.tarc-footer .ft-contact .ft-mail-ic { flex: none; color: var(--ft-brand); display: inline-flex; }
.tarc-footer .ft-contact .ft-mail-ic svg { width: 18px; height: 18px; }

/* bottom */
.tarc-footer .ft-bottom { position: relative; z-index: 2; border-top: 1px solid var(--ft-line); }
.tarc-footer .ft-bottom .ft-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-block: 22px; }
.tarc-footer .ft-bottom p { margin: 0; color: var(--ft-ink-3); font-size: 13.5px; }
.tarc-footer .ft-bottom .ft-links { display: flex; gap: 22px; }
.tarc-footer .ft-bottom .ft-links a { color: var(--ft-ink-3); font-size: 13.5px; }
.tarc-footer .ft-bottom .ft-links a:hover { color: var(--ft-brand); }
.tarc-footer .ft-totop { display: inline-flex; align-items: center; gap: 8px; color: var(--ft-ink-2); font-family: var(--ft-fd); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.tarc-footer .ft-totop .circle { width: 34px; height: 34px; border: 1px solid var(--ft-line); border-radius: 100px; display: grid; place-items: center; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.tarc-footer .ft-totop:hover .circle { background: var(--ft-brand); border-color: var(--ft-brand); color: #fff; }

@media (prefers-reduced-motion: reduce) { .tarc-footer * { transition: none !important; } }
