/* =========================================================
   CALCIOCATANIA.COM — FOOTER 2026
   ========================================================= */

#cc-footer2026 {

  --ccf-blue: var(--cc-blue, #1172a8);
  --ccf-blue-light: var(--cc-blue-light, #65c7ef);
  --ccf-red: var(--cc-red, #d72638);

  --ccf-bg: var(--cc-ink, #101216);
  --ccf-panel: var(--cc-panel-dark, #16191e);

  --ccf-text: var(--cc-text-on-dark, #f4f4f4);
  --ccf-muted: var(--cc-muted-on-dark, #a8acb3);

  --ccf-rule:
    rgba(255,255,255,.12);

  position: relative;

  width: 100%;

  margin: 0;

  overflow: hidden;

  border-top:
    1px solid
    rgba(255,255,255,.08);

  background:
    var(--ccf-bg);

  color:
    var(--ccf-text);

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    "Helvetica Neue",
    Arial,
    sans-serif;
}


#cc-footer2026::before {

  content: "";

  position: absolute;

  inset:
    0
    0
    auto
    0;

  height: 5px;

  background:
    linear-gradient(
      90deg,
      var(--ccf-red) 0 50%,
      var(--ccf-blue) 50% 100%
    );
}

.cc-footer2026__inner {

  width:
    min(
      1160px,
      calc(100% - 40px)
    );

  margin:
    0
    auto;

  padding:
    48px
    0
    22px;
}


/* =========================================================
   TOP GRID
   ========================================================= */

.cc-footer2026__grid {

  display: grid;

  grid-template-columns:
    minmax(260px,1.5fr)
    repeat(
      3,
      minmax(145px,.65fr)
    );

  gap:
    40px
    34px;

  align-items: start;
}


/* =========================================================
   BRAND
   ========================================================= */

.cc-footer2026__brand {

  max-width: 390px;
}


.cc-footer2026__logo {

  display: inline-block;

  margin: 0;

  color: #fff;

  font-size:
    clamp(
      1.75rem,
      3vw,
      2.55rem
    );

  line-height: .9;

  font-weight: 900;

  letter-spacing: -.055em;

  text-decoration: none;
}


.cc-footer2026__logo span {

  color:
    var(--ccf-blue-light);
}


.cc-footer2026__claim {

  max-width: 350px;

  margin:
    17px
    0
    0;

  color:
    var(--ccf-muted);

  font-size: .76rem;

  line-height: 1.58;

  font-weight: 500;
}


/* =========================================================
   SOCIAL
   ========================================================= */

.cc-footer2026__social {

  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 10px;

  margin-top: 20px;
}


.cc-footer2026__social-link {

  display: inline-flex;

  align-items: center;

  gap: 9px;

  min-height: 44px;

  padding:
    0
    13px;

  border:
    1px solid
    rgba(255,255,255,.14);

  border-radius: 6px;

  background:
    rgba(255,255,255,.035);

  color:
    #fff;

  font-size: .62rem;

  line-height: 1;

  font-weight: 850;

  letter-spacing: .025em;

  text-decoration: none;

  transition:
    border-color .16s ease,
    background .16s ease,
    color .16s ease,
    transform .16s ease;
}


.cc-footer2026__social-link svg {

  width: 19px;
  height: 19px;

  flex:
    0
    19px;

  fill:
    currentColor;
}


.cc-footer2026__social-link:hover {

  border-color:
    rgba(101,199,239,.55);

  background:
    rgba(17,114,168,.18);

  color:
    var(--ccf-blue-light);

  transform:
    translateY(-1px);
}


.cc-footer2026__social-link:focus-visible {

  outline:
    3px solid
    rgba(101,199,239,.42);

  outline-offset: 3px;
}


.cc-footer2026__social-label {

  display: flex;

  flex-direction: column;

  gap: 3px;
}


.cc-footer2026__social-name {

  color:
    rgba(255,255,255,.52);

  font-size: .48rem;

  line-height: 1;

  font-weight: 850;

  letter-spacing: .08em;

  text-transform: uppercase;
}


.cc-footer2026__social-account {

  color:
    inherit;

  font-size: .63rem;

  line-height: 1;

  font-weight: 850;

  letter-spacing: 0;
}


.cc-footer2026__since {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  margin-top: 19px;

  color:
    rgba(255,255,255,.72);

  font-size: .58rem;

  font-weight: 900;

  letter-spacing: .075em;

  text-transform: uppercase;
}

.cc-footer2026__since::before {

  content: "";

  width: 26px;
  height: 2px;

  background:
    linear-gradient(
      90deg,
      var(--ccf-red),
      var(--ccf-blue)
    );
}

/* =========================================================
   NAV COLUMNS
   ========================================================= */

.cc-footer2026__nav {

  min-width: 0;
}


.cc-footer2026__title {

  display: block;

  margin-bottom: 13px;

  color:
    rgba(255,255,255,.48);

  font-size: .55rem;

  line-height: 1;

  font-weight: 900;

  letter-spacing: .1em;

  text-transform: uppercase;
}


.cc-footer2026__links {

  margin: 0;

  padding: 0;

  list-style: none;
}


.cc-footer2026__links li {

  border-bottom:
    1px solid
    var(--ccf-rule);
}


.cc-footer2026__links a {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 10px;

  min-height: 39px;

  color:
    var(--ccf-text);

  font-size: .72rem;

  line-height: 1.2;

  font-weight: 750;

  text-decoration: none;
}


.cc-footer2026__links a::after {

  content: "→";

  flex:
    0
    0
    auto;

  color:
    rgba(255,255,255,.25);

  transition:
    transform .16s ease,
    color .16s ease;
}


.cc-footer2026__links a:hover {

  color:
    var(--ccf-blue-light);
}


.cc-footer2026__links a:hover::after {

  color:
    var(--ccf-blue-light);

  transform:
    translateX(3px);
}


.cc-footer2026__links a:focus-visible,
.cc-footer2026__bottom a:focus-visible,
.cc-footer2026__back-top:focus-visible {

  outline:
    3px solid
    rgba(101,199,239,.42);

  outline-offset: 3px;
}


/* COMMUNITY SPECIAL */

.cc-footer2026__community {

  color:
    #fff
    !important;
}


.cc-footer2026__community span {

  display: inline-flex;

  align-items: center;

  gap: 7px;
}


.cc-footer2026__community span::before {

  content: "";

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background:
    var(--ccf-red);

  box-shadow:
    0 0 0 4px
    rgba(215,38,56,.14);
}


/* =========================================================
   FEATURED ARCHIVE STRIP
   ========================================================= */

.cc-footer2026__archive-strip {

  display: grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  gap: 24px;

  align-items: center;

  margin-top: 42px;

  padding:
    20px
    22px;

  border:
    1px solid
    var(--ccf-rule);

  background:
    var(--ccf-panel);
}


.cc-footer2026__archive-copy {

  min-width: 0;
}


.cc-footer2026__archive-eyebrow {

  display: block;

  color:
    var(--ccf-blue-light);

  font-size: .53rem;

  font-weight: 900;

  letter-spacing: .09em;

  text-transform: uppercase;
}


.cc-footer2026__archive-title {

  display: block;

  margin-top: 6px;

  color: #fff;

  font-size:
    clamp(
      1rem,
      2vw,
      1.3rem
    );

  line-height: 1.12;

  font-weight: 900;

  letter-spacing: -.025em;
}


.cc-footer2026__archive-text {

  display: block;

  margin-top: 5px;

  color:
    var(--ccf-muted);

  font-size: .66rem;

  line-height: 1.45;
}


.cc-footer2026__archive-cta {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-height: 40px;

  padding:
    0
    14px;

  border:
    1px solid
    rgba(255,255,255,.4);

  color: #fff;

  font-size: .56rem;

  font-weight: 900;

  letter-spacing: .065em;

  text-transform: uppercase;

  text-decoration: none;

  white-space: nowrap;
}


.cc-footer2026__archive-cta:hover {

  border-color:
    var(--ccf-blue-light);

  background:
    var(--ccf-blue);

  color: #fff;
}


/* =========================================================
   BOTTOM
   ========================================================= */

.cc-footer2026__bottom {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap:
    18px
    28px;

  margin-top: 28px;

  padding-top: 18px;

  border-top:
    1px solid
    var(--ccf-rule);

  color:
    rgba(255,255,255,.48);

  font-size: .58rem;

  line-height: 1.45;

  font-weight: 650;
}


.cc-footer2026__legal {

  display: flex;

  flex-wrap: wrap;

  gap:
    8px
    16px;
}


.cc-footer2026__legal a {

  color:
    rgba(255,255,255,.68);

  text-decoration: none;
}


.cc-footer2026__legal a:hover {

  color:
    var(--ccf-blue-light);
}


.cc-footer2026__back-top {

  display: inline-flex;

  align-items: center;

  gap: 7px;

  color:
    rgba(255,255,255,.76);

  font-size: .55rem;

  font-weight: 900;

  letter-spacing: .065em;

  text-transform: uppercase;

  text-decoration: none;

  white-space: nowrap;
}


.cc-footer2026__back-top::before {

  content: "↑";

  color:
    var(--ccf-blue-light);

  font-size: .8rem;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

  .cc-footer2026__grid {

    grid-template-columns:
      minmax(240px,1.2fr)
      repeat(
        2,
        minmax(150px,.8fr)
      );
  }


  .cc-footer2026__brand {

    grid-column:
      1 / -1;

    max-width: 620px;
  }

}


@media (max-width: 680px) {

  .cc-footer2026__inner {

    width: 100%;

    padding:
      40px
      16px
      20px;
  }


  .cc-footer2026__grid {

    grid-template-columns:
      1fr
      1fr;

    gap:
      34px
      22px;
  }


  .cc-footer2026__brand {

    grid-column:
      1 / -1;
  }


  .cc-footer2026__social-link {

    min-height: 46px;
  }


  .cc-footer2026__archive-strip {

    grid-template-columns: 1fr;

    align-items: start;

    padding:
      18px;
  }


  .cc-footer2026__archive-cta {

    justify-self: start;
  }


  .cc-footer2026__bottom {

    align-items: flex-start;

    flex-direction: column;
  }


  .cc-footer2026__back-top {

    align-self: flex-start;
  }

}


@media (max-width: 430px) {

  .cc-footer2026__grid {

    grid-template-columns: 1fr;
  }


  .cc-footer2026__brand {

    grid-column: auto;
  }


  .cc-footer2026__social {

    display: grid;

    grid-template-columns:
      1fr
      1fr;

    width: 100%;
  }


  .cc-footer2026__social-link {

    min-width: 0;

    padding:
      0
      11px;
  }


  .cc-footer2026__social-account {

    overflow: hidden;

    text-overflow: ellipsis;
  }

}


@media (
  prefers-reduced-motion: reduce
) {

  .cc-footer2026__links a::after,
  .cc-footer2026__social-link {

    transition: none;
  }


  .cc-footer2026__social-link:hover {

    transform: none;
  }

}
