/* =========================================================
   ROPAR CONNECT FOOTER
   Premium / Modern / GenZ Future Style
========================================================= */

/* =========================================================
   VARIABLES
========================================================= */

:root {
  --rc-orange: #ff7a00;
  --rc-green: #1b8f3a;

  --rc-light-green: #5ac26f;
  --rc-light-orange: #ffb067;

  --rc-dark: #121212;
  --rc-dark-2: #181818;
  --rc-dark-3: #202020;

  --rc-white: #ffffff;
  --rc-text-light: #b9b9b9;
  --rc-text-muted: #858585;
}

/* =========================================================
   CONTAINER
========================================================= */

.rc-footer .rc-container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

/* =========================================================
   FOOTER
========================================================= */

.rc-footer {
  position: relative;

  background:
    radial-gradient(
      circle at 10% 20%,
      rgba(255, 122, 0, 0.08),
      transparent 30%
    ),
    radial-gradient(
      circle at 90% 80%,
      rgba(27, 143, 58, 0.08),
      transparent 30%
    ),
    var(--rc-dark);

  color: var(--rc-white);

  overflow: hidden;
}

/* =========================================================
   TOP GLOW LINE
========================================================= */

.rc-footer::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 2px;

  background: linear-gradient(
    90deg,
    var(--rc-green),
    var(--rc-orange),
    var(--rc-green)
  );
}

/* =========================================================
   FOOTER MAIN
========================================================= */

.rc-footer-main {
  padding: 75px 0 65px;
}

/* =========================================================
   FOOTER GRID
========================================================= */

.rc-footer-grid {
  display: grid;

  grid-template-columns:
    1.8fr
    1fr
    1fr
    1fr;

  gap: 55px;
}

/* =========================================================
   BRAND
========================================================= */

.rc-footer-brand {
  max-width: 370px;
}

/* =========================================================
   LOGO
========================================================= */

.rc-footer-logo {
  display: inline-flex;

  align-items: center;

  gap: 13px;

  text-decoration: none;

  color: var(--rc-white);

  margin-bottom: 22px;
}

/* Logo icon */

.rc-footer-logo-icon {
  width: 48px;
  height: 48px;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius: 14px;

  background: linear-gradient(135deg, var(--rc-orange), var(--rc-green));

  color: var(--rc-white);

  font-size: 20px;

  box-shadow: 0 10px 30px rgba(255, 122, 0, 0.18);
}

/* Logo name */

.rc-footer-logo-name {
  display: block;

  font-size: 22px;

  font-weight: 800;

  letter-spacing: -0.5px;
}

/* Logo tagline */

.rc-footer-logo-tagline {
  display: block;

  margin-top: 3px;

  color: var(--rc-text-muted);

  font-size: 11px;

  font-weight: 600;

  letter-spacing: 1.2px;

  text-transform: uppercase;
}

/* =========================================================
   DESCRIPTION
========================================================= */

.rc-footer-description {
  margin: 0;

  max-width: 350px;

  color: var(--rc-text-light);

  font-size: 14px;

  line-height: 1.8;
}

/* =========================================================
   SOCIAL
========================================================= */

.rc-footer-social {
  display: flex;

  align-items: center;

  gap: 10px;

  margin-top: 25px;
}

.rc-social-link {
  width: 40px;
  height: 40px;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius: 11px;

  border: 1px solid rgba(255, 255, 255, 0.1);

  background: rgba(255, 255, 255, 0.04);

  color: var(--rc-text-light);

  text-decoration: none;

  transition:
    transform 0.3s ease,
    background 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}

.rc-social-link:hover {
  transform: translateY(-4px);

  color: var(--rc-white);

  background: var(--rc-orange);

  border-color: var(--rc-orange);
}

/* =========================================================
   FOOTER COLUMN
========================================================= */

.rc-footer-column {
  min-width: 0;
}

/* =========================================================
   FOOTER TITLE
========================================================= */

.rc-footer-title {
  position: relative;

  margin: 5px 0 22px;

  padding-bottom: 12px;

  font-size: 15px;

  font-weight: 700;

  letter-spacing: 0.3px;
}

.rc-footer-title::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: 0;

  width: 28px;
  height: 2px;

  border-radius: 10px;

  background: var(--rc-orange);
}

/* =========================================================
   FOOTER LINKS
========================================================= */

.rc-footer-links {
  list-style: none;

  margin: 0;
  padding: 0;
}

.rc-footer-links li {
  margin-bottom: 12px;
}

.rc-footer-links a {
  display: inline-flex;

  align-items: center;

  gap: 9px;

  color: var(--rc-text-light);

  text-decoration: none;

  font-size: 13.5px;

  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.rc-footer-links a i {
  font-size: 9px;

  color: var(--rc-green);

  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.rc-footer-links a:hover {
  color: var(--rc-white);

  transform: translateX(4px);
}

.rc-footer-links a:hover i {
  color: var(--rc-orange);

  transform: translateX(2px);
}

/* =========================================================
   BUSINESS CTA
========================================================= */

.rc-footer-cta {
  padding: 0 0 55px;
}

.rc-footer-cta-box {
  position: relative;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 30px;

  padding: 38px 42px;

  border: 1px solid rgba(255, 255, 255, 0.08);

  border-radius: 22px;

  background: linear-gradient(
    135deg,
    rgba(255, 122, 0, 0.1),
    rgba(27, 143, 58, 0.08)
  );

  overflow: hidden;
}

/* CTA glow */

.rc-footer-cta-box::after {
  content: "";

  position: absolute;

  width: 180px;
  height: 180px;

  right: -70px;
  top: -80px;

  border-radius: 50%;

  background: rgba(255, 122, 0, 0.12);

  filter: blur(25px);

  pointer-events: none;
}

/* =========================================================
   CTA CONTENT
========================================================= */

.rc-footer-cta-small {
  display: inline-block;

  margin-bottom: 8px;

  color: var(--rc-orange);

  font-size: 11px;

  font-weight: 800;

  letter-spacing: 1.5px;
}

.rc-footer-cta-content h2 {
  margin: 0 0 8px;

  font-size: clamp(22px, 3vw, 32px);

  line-height: 1.2;

  font-weight: 800;

  letter-spacing: -0.6px;
}

.rc-footer-cta-content p {
  margin: 0;

  max-width: 600px;

  color: var(--rc-text-light);

  font-size: 14px;

  line-height: 1.7;
}

/* =========================================================
   CTA BUTTON
========================================================= */

.rc-footer-cta-btn {
  position: relative;

  z-index: 2;

  display: inline-flex;

  align-items: center;

  gap: 14px;

  padding: 14px 20px;

  border-radius: 12px;

  background: var(--rc-orange);

  color: var(--rc-white);

  text-decoration: none;

  font-size: 13px;

  font-weight: 700;

  white-space: nowrap;

  box-shadow: 0 12px 30px rgba(255, 122, 0, 0.2);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease;
}

.rc-footer-cta-btn:hover {
  transform: translateY(-3px);

  background: #e96d00;

  color: var(--rc-white);

  box-shadow: 0 18px 35px rgba(255, 122, 0, 0.28);
}

.rc-footer-cta-btn i {
  transition: transform 0.3s ease;
}

.rc-footer-cta-btn:hover i {
  transform: translateX(4px);
}

/* =========================================================
   FOOTER BOTTOM
========================================================= */

.rc-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.07);

  background: rgba(0, 0, 0, 0.16);
}

.rc-footer-bottom-inner {
  min-height: 72px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 20px;
}

/* =========================================================
   COPYRIGHT
========================================================= */

.rc-footer-copyright {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 9px;

  color: var(--rc-text-muted);

  font-size: 12px;
}

.rc-footer-divider {
  opacity: 0.4;
}

/* =========================================================
   LEGAL LINKS
========================================================= */

.rc-footer-legal {
  display: flex;

  align-items: center;

  gap: 22px;
}

.rc-footer-legal a {
  color: var(--rc-text-muted);

  text-decoration: none;

  font-size: 12px;

  transition: color 0.25s ease;
}

.rc-footer-legal a:hover {
  color: var(--rc-orange);
}

/* =========================================================
   BACK TO TOP
========================================================= */

.rc-back-to-top {
  position: fixed;

  right: 25px;
  bottom: 25px;

  width: 45px;
  height: 45px;

  display: flex;

  align-items: center;
  justify-content: center;

  border: 0;

  border-radius: 13px;

  background: var(--rc-orange);

  color: var(--rc-white);

  cursor: pointer;

  opacity: 0;

  visibility: hidden;

  transform: translateY(15px);

  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);

  z-index: 999;

  transition:
    opacity 0.3s ease,
    visibility 0.3s ease,
    transform 0.3s ease,
    background 0.3s ease;
}

.rc-back-to-top.show {
  opacity: 1;

  visibility: visible;

  transform: translateY(0);
}

.rc-back-to-top:hover {
  background: var(--rc-green);
}

/* =========================================================
   RESPONSIVE
========================================================= */

/* TABLET */

@media (max-width: 1000px) {
  .rc-footer-grid {
    grid-template-columns:
      1.5fr
      1fr
      1fr;

    gap: 45px;
  }

  .rc-footer-brand {
    grid-column: span 3;

    max-width: 600px;
  }
}

/* TABLET SMALL */

@media (max-width: 750px) {
  .rc-footer-main {
    padding: 60px 0 50px;
  }

  .rc-footer-grid {
    grid-template-columns: 1fr 1fr;

    gap: 40px 30px;
  }

  .rc-footer-brand {
    grid-column: span 2;
  }

  .rc-footer-cta-box {
    flex-direction: column;

    align-items: flex-start;

    padding: 32px 28px;
  }

  .rc-footer-cta-action {
    width: 100%;
  }

  .rc-footer-cta-btn {
    justify-content: center;

    width: 100%;
  }

  .rc-footer-bottom-inner {
    flex-direction: column;

    justify-content: center;

    padding: 22px 0;

    text-align: center;
  }
}

/* MOBILE */

@media (max-width: 520px) {
  .rc-footer .rc-container {
    width: min(100% - 30px, 1180px);
  }

  .rc-footer-main {
    padding: 50px 0 40px;
  }

  .rc-footer-grid {
    grid-template-columns: 1fr;

    gap: 35px;
  }

  .rc-footer-brand {
    grid-column: span 1;
  }

  .rc-footer-description {
    font-size: 13px;
  }

  .rc-footer-title {
    margin-bottom: 18px;
  }

  .rc-footer-cta {
    padding-bottom: 40px;
  }

  .rc-footer-cta-box {
    padding: 27px 22px;

    border-radius: 18px;
  }

  .rc-footer-cta-content h2 {
    font-size: 24px;
  }

  .rc-footer-bottom-inner {
    gap: 15px;
  }

  .rc-footer-legal {
    flex-wrap: wrap;

    justify-content: center;

    gap: 12px 18px;
  }

  .rc-footer-divider {
    display: none;
  }

  .rc-back-to-top {
    right: 15px;

    bottom: 15px;

    width: 42px;
    height: 42px;
  }
}

/* VERY SMALL MOBILE */

@media (max-width: 360px) {
  .rc-footer-logo-name {
    font-size: 19px;
  }

  .rc-footer-logo-icon {
    width: 43px;
    height: 43px;

    font-size: 17px;
  }

  .rc-footer-cta-content h2 {
    font-size: 21px;
  }
}
