/* v77: Footer fit to content + Google Maps icon + appointment notice tidy. Footer only. */

/* 背景色沿用 v72/v76，不改；只修正大玻璃底寬度與公司資訊欄 */
.footer-v62-inner{
  max-width:1360px!important;
  padding-left:28px!important;
  padding-right:28px!important;
}

.footer-v62-main{
  width:max-content!important;
  max-width:calc(100vw - 56px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  grid-template-columns:230px 420px 150px 360px!important;
  gap:28px!important;
  padding:26px 28px 28px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

.footer-v62-info{
  width:360px!important;
  max-width:360px!important;
  min-width:0!important;
}
.footer-v65-company-info,
.footer-v65-company-info li{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

/* 地址＋地圖圖示：保持同一行，圖示小巧清楚 */
.footer-v65-company-info .footer-address-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  white-space:nowrap!important;
  max-width:100%!important;
  color:#ffffff!important;
  text-decoration:none!important;
}
.footer-map-icon-img{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  display:inline-block!important;
  vertical-align:middle!important;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.34));
}
.footer-map-icon{display:none!important;}

/* 預約提醒：寬度與地址行接近，玻璃底完整，不再超出 */
.footer-v66-appointment{
  display:block!important;
  box-sizing:border-box!important;
  width:345px!important;
  max-width:100%!important;
  margin-top:12px!important;
  padding:11px 14px!important;
  border-radius:15px!important;
  line-height:1.72!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
  background:rgba(255,255,255,.145)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 10px 20px rgba(0,0,0,.10)!important;
}

/* 服務項目維持白色，不再被舊版顏色覆蓋 */
.footer-v62-service-grid a,
.footer-v62-service-grid li:nth-child(3n+1) a,
.footer-v62-service-grid li:nth-child(3n+2) a,
.footer-v62-service-grid li:nth-child(3n) a{
  color:#ffffff!important;
  font-weight:500!important;
  text-shadow:0 1px 2px rgba(0,0,0,.50), 0 0 10px rgba(255,255,255,.12)!important;
}

@media (max-width: 1240px){
  .footer-v62-main{
    width:auto!important;
    max-width:100%!important;
    grid-template-columns:1fr 1.45fr!important;
  }
  .footer-v62-info{width:auto!important; max-width:100%!important;}
  .footer-v66-appointment{width:100%!important;}
}

@media (max-width: 760px){
  .footer-v62-inner{padding-left:18px!important; padding-right:18px!important;}
  .footer-v62-main{grid-template-columns:1fr!important; width:auto!important; max-width:100%!important;}
  .footer-v62-info{width:auto!important; max-width:100%!important;}
  .footer-v65-company-info .footer-address-link{white-space:normal!important;}
  .footer-v66-appointment{width:100%!important;}
}
