:root{
  --rf-bg:#05070a;
  --rf-panel:#0b1018;
  --rf-line:rgba(255,255,255,.12);
  --rf-text:#f7f9fc;
  --rf-muted:#98a4b3;
  --rf-blue:#59b8ff;
  --rf-cyan:#5ce8ff;
  --rf-violet:#8a72ff;
}


/* =========================================================
頁尾
========================================================= */

.rock-site-footer{
  position:relative;
  width:100%;
  margin:0;
  padding:0;

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

  background:
    radial-gradient(
      circle at 20% 0,
      rgba(73,168,255,.08),
      transparent 32%
    ),
    #05070a;

  color:#f7f9fc;
}


.rock-site-footer__inner{
  width:min(
    1180px,
    calc(100% - 36px)
  );

  margin:0 auto;

  padding:
    48px
    0
    110px;
}


.rock-site-footer__grid{
  display:grid;

  grid-template-columns:
    1.2fr
    .8fr
    .8fr;

  gap:34px;
}


.rock-site-footer__brand h2{
  margin:0;

  color:#f7f9fc;

  font-size:24px;
  line-height:1.3;

  font-weight:900;

  letter-spacing:-.03em;
}


.rock-site-footer__brand p{
  max-width:540px;

  margin:
    12px
    0
    0;

  color:#8f9baa;

  font-size:13px;
  line-height:1.85;
}


.rock-site-footer__col strong{
  display:block;

  margin-bottom:12px;

  color:#dce5ef;

  font-size:13px;
  font-weight:850;
}


.rock-site-footer__links{
  display:grid;

  gap:10px;
}


.rock-site-footer__links a{
  display:inline-block;

  color:#8f9baa;

  text-decoration:none;

  font-size:13px;
  line-height:1.5;

  transition:
    color .2s ease;
}


.rock-site-footer__links a:hover{
  color:#fff;
}


.rock-site-footer__bottom{
  margin-top:30px;

  padding-top:18px;

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

  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:14px;

  color:#687483;

  font-size:11px;
  line-height:1.5;
}


/* =========================================================
底部固定雙按鈕

重點：
1. 不放在 footer 裡定位
2. JS 會搬到 body 最外層
3. !important 避免 Elementor 蓋掉
========================================================= */

#rock-floating-contact{
  position:fixed !important;

  left:50% !important;

  right:auto !important;

  top:auto !important;

  bottom:
    max(
      12px,
      env(safe-area-inset-bottom)
    ) !important;

  z-index:2147483646 !important;

  transform:
    translateX(-50%) !important;

  width:
    min(
      520px,
      calc(100vw - 20px)
    ) !important;

  height:auto !important;

  margin:0 !important;

  padding:8px !important;

  display:grid !important;

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

  gap:8px !important;

  overflow:visible !important;

  border:
    1px solid
    rgba(255,255,255,.13) !important;

  border-radius:18px !important;

  background:
    rgba(7,11,17,.92) !important;

  box-shadow:
    0
    18px
    55px
    rgba(0,0,0,.48) !important;

  backdrop-filter:
    blur(18px) !important;

  -webkit-backdrop-filter:
    blur(18px) !important;

  box-sizing:border-box !important;
}


#rock-floating-contact a{
  position:relative !important;

  width:100% !important;

  min-width:0 !important;

  min-height:52px !important;

  margin:0 !important;

  padding:
    0
    12px !important;

  display:flex !important;

  align-items:center !important;
  justify-content:center !important;

  text-align:center !important;

  white-space:nowrap !important;

  border-radius:13px !important;

  text-decoration:none !important;

  font-family:
    Inter,
    "Noto Sans TC",
    "PingFang TC",
    "Microsoft JhengHei",
    Arial,
    sans-serif !important;

  font-size:14px !important;
  line-height:1.2 !important;

  font-weight:900 !important;

  box-sizing:border-box !important;
}


#rock-floating-contact
.rock-floating-contact__phone{
  color:#041019 !important;

  border:
    1px solid
    rgba(92,232,255,.18) !important;

  background:
    linear-gradient(
      110deg,
      #5ce8ff 0%,
      #59b8ff 52%,
      #8a72ff 100%
    ) !important;

  box-shadow:
    0
    8px
    24px
    rgba(73,168,255,.16) !important;
}


#rock-floating-contact
.rock-floating-contact__line{
  color:#f7f9fc !important;

  border:
    1px solid
    rgba(138,114,255,.30) !important;

  background:
    linear-gradient(
      110deg,
      rgba(89,184,255,.14),
      rgba(138,114,255,.20)
    ) !important;
}


/* =========================================================
平板
========================================================= */

@media(max-width:900px){

  .rock-site-footer__grid{
    grid-template-columns:
      1fr
      1fr;
  }


  .rock-site-footer__brand{
    grid-column:
      1 / -1;
  }

}


/* =========================================================
手機
========================================================= */

@media(max-width:600px){

  .rock-site-footer__inner{
    width:min(
      calc(100% - 22px),
      1180px
    );

    padding:
      38px
      0
      100px;
  }


  .rock-site-footer__grid{
    grid-template-columns:1fr;

    gap:28px;
  }


  .rock-site-footer__brand{
    grid-column:auto;
  }


  .rock-site-footer__bottom{
    align-items:flex-start;

    flex-direction:column;

    gap:6px;
  }


  #rock-floating-contact{
    width:
      calc(
        100vw - 16px
      ) !important;

    bottom:
      max(
        8px,
        env(safe-area-inset-bottom)
      ) !important;

    padding:7px !important;

    gap:7px !important;

    border-radius:16px !important;
  }


  #rock-floating-contact a{
    min-height:48px !important;

    padding:
      0
      8px !important;

    font-size:13px !important;

    border-radius:11px !important;
  }

}


/* =========================================================
超窄手機
========================================================= */

@media(max-width:360px){

  #rock-floating-contact a{
    font-size:12px !important;
  }

}
