/* ============================================================
   Footer — newsletter · quick contact · link columns · socials
============================================================ */

/* ============================================================
       FOOTER — Premium 5-column layout (rich, detailed)
    ============================================================ */
    footer {
      position: relative;
      padding: 0;
      background: linear-gradient(180deg, #0A1628 0%, #040D1F 100%);
      color: var(--gray-400);
      overflow: hidden;
    }

/* Subtle decorative orb top-left */
    footer::before {
      content: '';
      position: absolute;
      top: -100px;
      left: -100px;
      width: 400px;
      height: 400px;
      border-radius: 50%;
      background: rgba(37, 99, 235, 0.10);
      filter: blur(80px);
      pointer-events: none;
    }

footer::after {
      content: '';
      position: absolute;
      bottom: -120px;
      right: -80px;
      width: 320px;
      height: 320px;
      border-radius: 50%;
      background: rgba(8, 145, 178, 0.08);
      filter: blur(80px);
      pointer-events: none;
    }

footer .container {
      position: relative;
      z-index: 1;
    }

/* === Newsletter banner — top of footer === */
    .foot-news {
      background: linear-gradient(135deg, var(--blue) 0%, var(--cyan) 100%);
      border-radius: 24px;
      padding: 36px 40px;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 28px;
      margin-top: 56px;
      margin-bottom: 48px;
      box-shadow: 0 20px 60px rgba(37, 99, 235, 0.30);
      position: relative;
      overflow: hidden;
    }

.foot-news::before {
      content: '';
      position: absolute;
      right: -40px;
      top: -40px;
      width: 200px; height: 200px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.10);
      pointer-events: none;
    }

.foot-news-text { position: relative; z-index: 1; }

.foot-news-text h3 {
      color: #fff;
      font-family: 'Sora', sans-serif;
      font-size: 22px;
      font-weight: 800;
      letter-spacing: -0.02em;
      margin-bottom: 6px;
    }

.foot-news-text p {
      color: rgba(255, 255, 255, 0.85);
      font-size: 14px;
      line-height: 1.55;
    }

.foot-news-form {
      display: flex;
      gap: 10px;
      position: relative;
      z-index: 1;
    }

.foot-news-input {
      background: rgba(255, 255, 255, 0.95);
      border: 1px solid rgba(255, 255, 255, 0.40);
      border-radius: 12px;
      padding: 13px 18px;
      font-family: 'Instrument Sans', sans-serif;
      font-size: 14px;
      color: var(--gray-900);
      outline: none;
      width: 280px;
      transition: var(--t);
    }

.foot-news-input:focus {
      background: #fff;
      box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.30);
    }

.foot-news-input::placeholder { color: var(--gray-500); }

.foot-news-btn {
      background: var(--amber);
      color: #fff;
      border: none;
      border-radius: 12px;
      padding: 13px 22px;
      font-family: 'Sora', sans-serif;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      transition: var(--t);
      display: flex;
      align-items: center;
      gap: 8px;
      box-shadow: 0 6px 18px rgba(245, 158, 11, 0.30);
      white-space: nowrap;
    }

.foot-news-btn:hover {
      background: var(--amber-dark);
      transform: translateY(-2px);
    }

/* === Main grid: 5 columns (brand + 4 link cols) === */
    .foot-main {
      padding: 0 0 48px;
    }

.foot-grid {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr;
      gap: 48px;
      margin-bottom: 48px;
    }

/* Brand column */
    .foot-brand .nav-logo {
      color: #fff;
      font-size: 22px;
      display: inline-block;
      margin-bottom: 16px;
      text-decoration: none;
      letter-spacing: -0.5px;
    }

.foot-brand p {
      font-size: 13.5px;
      color: var(--gray-400);
      line-height: 1.75;
      margin-bottom: 22px;
    }

/* Quick contact strip in brand column */
/* === Standalone "quick contact + trust" strip — sits above link columns === */
    .foot-strip {
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 32px;
      padding: 26px 32px;
      margin-bottom: 48px;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 20px;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
    }

    .foot-quick {
      display: flex;
      align-items: center;
      gap: 28px;
      flex-wrap: wrap;
    }

    .foot-quick-item {
      display: flex;
      align-items: center;
      gap: 12px;
      color: var(--gray-300);
      font-size: 13px;
      text-decoration: none;
      transition: color var(--t);
    }

    .foot-quick-item i {
      width: 32px; height: 32px;
      border-radius: 10px;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.10);
      display: flex; align-items: center; justify-content: center;
      color: var(--amber);
      font-size: 12px;
      flex-shrink: 0;
      transition: background var(--t), border-color var(--t), transform var(--t);
    }

    .foot-quick-item:hover {
      color: #fff;
    }

    .foot-quick-item:hover i {
      background: var(--amber);
      border-color: var(--amber);
      color: #fff;
      transform: scale(1.06);
    }

    /* Trust badges — right side of strip */
    .foot-trust {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .foot-trust-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.12);
      color: rgba(255, 255, 255, 0.85);
      padding: 8px 14px;
      border-radius: 999px;
      font-size: 11.5px;
      font-weight: 600;
      font-family: 'Sora', sans-serif;
    }

    @media (max-width: 1023px) {
      .foot-strip {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 22px 24px;
      }
      .foot-quick {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
      }
      .foot-trust {
        justify-content: flex-start;
      }
    }
    @media (max-width: 479px) {
      .foot-strip {
        padding: 20px;
        margin-bottom: 32px;
      }
    }

.foot-trust-badge i {
      color: var(--emerald);
      font-size: 10px;
    }

/* Link columns */
    .foot-col-title {
      font-family: 'Sora', sans-serif;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #fff;
      margin-bottom: 20px;
      position: relative;
      padding-bottom: 12px;
    }

.foot-col-title::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 28px;
      height: 2px;
      background: var(--amber);
      border-radius: 2px;
    }

.foot-col a {
      display: flex;
      align-items: center;
      gap: 9px;
      font-size: 13px;
      color: var(--gray-400);
      text-decoration: none;
      padding: 5px 0;
      transition: color var(--t), padding-left var(--t);
      font-family: 'Sora', sans-serif;
      font-weight: 500;
    }

.foot-col a i {
      font-size: 10px;
      color: var(--gray-600);
      transition: color var(--t), transform var(--t);
      width: 12px;
      flex-shrink: 0;
    }

.foot-col a:hover {
      color: #fff;
      padding-left: 4px;
    }

.foot-col a:hover i {
      color: var(--amber);
      transform: translateX(2px);
    }

/* === Bottom bar === */
    .foot-bottom {
      padding: 24px 0;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 24px;
    }

.foot-copy {
      font-size: 12px;
      color: var(--gray-500);
      font-family: 'Sora', sans-serif;
    }

.foot-copy strong {
      color: #fff;
      font-weight: 700;
    }

.foot-bottom-links {
      display: flex;
      align-items: center;
      gap: 8px;
    }

.foot-bottom-link {
      font-size: 12px;
      color: var(--gray-500);
      text-decoration: none;
      transition: color var(--t);
      font-family: 'Sora', sans-serif;
      font-weight: 500;
    }

.foot-bottom-link:hover { color: #fff; }

.foot-bottom-sep {
      color: var(--gray-700);
    }

/* Premium socials */
    .socials {
      display: flex;
      gap: 8px;
      justify-content: flex-end;
    }

.soc {
      width: 38px;
      height: 38px;
      border-radius: 10px;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.10);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--gray-400);
      cursor: pointer;
      transition: background var(--t), border-color var(--t), color var(--t), transform var(--t);
      text-decoration: none;
      font-size: 14px;
    }

.soc:hover {
      background: var(--amber);
      border-color: var(--amber);
      color: #fff;
      transform: translateY(-3px);
    }

.soc.soc-fb:hover { background: #1877F2; border-color: #1877F2; }

.soc.soc-ig:hover { background: linear-gradient(45deg, #F58529, #DD2A7B, #8134AF); border-color: transparent; }

.soc.soc-yt:hover { background: #FF0000; border-color: #FF0000; }

.soc.soc-tg:hover { background: #229ED9; border-color: #229ED9; }

.soc.soc-tt:hover { background: #000; border-color: #000; }

.soc.soc-li:hover { background: #0A66C2; border-color: #0A66C2; }
