/* Footer頁尾 */
.site-footer{position:relative;background:var(--c-footer);color:var(--c-footer-ink);}
.footer-map-strip{display:grid;grid-template-columns:1fr 1fr;min-height:20rem;}
.footer-contact-title{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(circle at 22% 38%,#fff,rgba(247,248,255,.88) 32%,rgba(229,233,250,.82) 68%,#fff);text-align:center;}
.footer-contact-title p{margin-bottom:.625rem;color:#6577b0;font-size:.75rem;font-weight:600;letter-spacing:.22em;}
.footer-contact-title h2{margin:0;color:#7285c3;font-size:3.25rem;font-weight:600;letter-spacing:.16em;line-height:1.08;}
.footer-map-embed,.footer-map-embed iframe{min-height:20rem;}
.footer-map-embed iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.72);}
.footer-content{padding-block:5px;background:var(--c-footer);}
.footer-content .footer-layout.row{display:flex;align-items:center;margin-block:0;padding-block:5px;padding-inline:0;}
.footer-layout.row > .footer-brand,.footer-layout.row > .footer-actions,.footer-layout.row > .footer-contact{align-self:stretch;}
.footer-brand,.footer-actions,.footer-contact{display:flex;flex-direction:column;justify-content:center;}
.footer-brand{align-items:center;text-align:center;}
.footer-brand .footer-logo{display:inline-block;max-width:13.75rem;margin-bottom:1.375rem;}
.footer-brand .footer-logo img{width:100%;opacity:.82;}
.footer-brand p{margin:0;color:var(--c-footer-muted);font-size:.8125rem;line-height:1.9;}
.footer-actions{padding-inline:5px;}
.footer-consult,.footer-direct-links a{display:flex;align-items:center;justify-content:center;min-height:3.4375rem;color:#fff;font-size:1.125rem;font-weight:600;letter-spacing:.08em;}
.footer-consult{margin-bottom:1.125rem;background:#6679b5;}
.footer-direct-links{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.footer-facebook{background:#1877f2;}
.footer-line{background:#06c755;}
.footer-contact h2{margin:0 0 .75rem;color:var(--c-footer-strong);font-size:1.125rem;font-weight:600;letter-spacing:.08em;}
.footer-socials{display:flex;flex-wrap:wrap;gap:.625rem;margin-bottom:1.1875rem;}
.footer-socials a{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--c-social);color:#fff;font-size:1.1875rem;transition:background-color .2s ease,color .2s ease,transform .2s ease;}
.footer-socials a:hover{color:#fff;transform:translateY(-.125rem);}
.footer-social-facebook:hover{background:#1877f2;}
.footer-social-instagram:hover{background:var(--g-social-instagram);}
.footer-social-threads:hover{background:#1d1d1d;}
.footer-social-line:hover{background:#776bb0;}
.footer-social-youtube:hover{background:#ff0000;}
.footer-social-google:hover{background:#4285f4;}
.footer-social-booking:hover{background:#6d7eb6;}
.footer-consult,.footer-direct-links a{transition:filter .2s ease,transform .2s ease;}
.footer-consult:hover,.footer-direct-links a:hover{color:#fff;filter:brightness(.93);transform:translateY(-.125rem);}
.footer-contact-list > div{grid-template-columns:5.5rem minmax(0,1fr);gap:.875rem;margin-bottom:.625rem;}
.footer-contact-list{margin:0;}
.footer-contact-list dt,.footer-contact-list dd{margin:0;font-size:.875rem;line-height:1.6;}
.footer-contact-list dt{color:var(--c-footer-strong);font-weight:600;}
.footer-contact-list dd,.footer-contact-list a{color:var(--c-footer-muted);}
.footer-contact-list dt{letter-spacing:.08em;white-space:nowrap;}
.footer-contact-list dd{letter-spacing:.06em;}
.footer-contact-list a:hover{color:#5368aa;text-decoration:underline;text-underline-offset:.1875rem;}
/* Visitor statistics and language selector瀏覽統計與語言選擇 */
.visitor-footer{border-top:1px solid rgba(255,255,255,.26);background:var(--c-footer-olive);}
.visitor-footer-inner{display:flex;align-items:center;min-height:0;padding:5px;}
.visitor-stats{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;padding-block:5px;color:#f1f2e9;font-size:.6875rem;}
.visitor-stat-label,.visitor-stat{display:inline-flex;align-items:center;min-height:1.875rem;gap:.375rem;border:1px solid rgba(255,255,255,.32);border-radius:.5rem;padding:.3125rem .5625rem;background:rgba(255,255,255,.1);color:inherit;font-weight:800;line-height:1;text-decoration:none;}
.visitor-stat-label{border:0;padding-left:0;background:transparent;color:#fff;}
.visitor-stat-label i,.footer-language-icon,.footer-language-control > i{color:var(--c-footer-highlight);}
.visitor-stat-primary{border-color:rgba(230,237,186,.72);}
.visitor-stat strong{color:#fff;font-variant-numeric:tabular-nums;}
.visitor-stats.is-unavailable .visitor-stat{opacity:.55;}
.visitor-footer-brand{display:flex;align-items:center;justify-content:flex-start;padding:0;background:transparent;color:#fff;font-size:.8125rem;font-weight:800;text-align:left;}
.visitor-footer-brand img{width:10.5rem;height:auto;}
.footer-language{display:flex;align-items:center;justify-content:flex-end;gap:.5625rem;color:#fff;font-size:.8125rem;font-weight:800;}
.footer-language-icon{display:grid;width:1.9375rem;height:1.9375rem;place-items:center;border:0;border-radius:.5rem;background:transparent;}
.footer-language-label{line-height:1;white-space:nowrap;}
.footer-language-control{position:relative;}
.footer-language select{width:8.375rem;min-height:2.5rem;appearance:none;border:1px solid rgba(255,255,255,.46);border-radius:.625rem;outline:0;background:rgba(255,255,255,.1);color:#fff;font:800 .8125rem/1 var(--font-sans);padding:0 2.125rem 0 .75rem;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;}
.footer-language select:hover{border-color:var(--c-footer-highlight);background:rgba(255,255,255,.18);}
.footer-language select:focus-visible{border-color:var(--c-footer-highlight);box-shadow:0 0 0 .1875rem rgba(230,237,186,.28);}
.footer-language-control > i{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);font-size:.75rem;pointer-events:none;}
.footer-language option{background:var(--c-footer-olive);color:#fff;}
.google-translate-element{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;}
.goog-te-spinner-pos{display:none !important;}
/* Footer utilities頁尾輔助元件 */
.footer-bottom{border-top:1px solid rgba(136,140,111,.17);background:var(--c-footer);color:#a0a28f;}
.footer-bottom .container{display:flex;align-items:center;justify-content:center;min-height:3.375rem;gap:1.25rem;text-align:center;}
.footer-bottom small,.footer-bottom span{font-size:.75rem;letter-spacing:.05em;}
.go-top,.contact-dock-link,.contact-dock-toggle{display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;color:#fff;cursor:pointer;}
.go-top{position:fixed;z-index:1000;right:1.375rem;bottom:17.25rem;width:3.0625rem;height:3.0625rem;border:1px solid #aeb9dc;background:rgba(245,247,255,.95);color:#6d7fba;}
.contact-dock{position:fixed;z-index:1001;right:1.375rem;bottom:1.375rem;display:flex;flex-direction:column;align-items:center;gap:.6875rem;}
.contact-dock-label{position:absolute;right:3.9375rem;bottom:.625rem;padding:.4375rem .75rem;background:#fff;box-shadow:0 .1875rem .75rem rgba(45,49,37,.1);color:#4e5049;font-size:.8125rem;white-space:nowrap;}
.contact-dock-link,.contact-dock-toggle{width:3.25rem;height:3.25rem;font-size:1.4375rem;box-shadow:0 .5rem 1.25rem rgba(45,49,37,.16);}
.contact-dock-link{max-height:0;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(.625rem);transition:opacity .2s ease,transform .2s ease;}
.contact-dock-booking{background:#6d7eb6;}
.contact-dock-line{background:#00b900;}
.contact-dock-instagram{background:var(--g-social-instagram);}
.contact-dock-threads{background:#252525;}
.contact-dock-toggle{background:#ff6c58;}
.contact-dock-toggle .fa-xmark{display:none;}
.contact-dock.is-open .contact-dock-link{max-height:3.25rem;opacity:1;pointer-events:auto;transform:none;}
.contact-dock.is-open .contact-dock-label{opacity:0;}
.contact-dock.is-open .fa-comment-dots{display:none;}
.contact-dock.is-open .fa-xmark{display:block;}
/* Responsive footer layout響應式頁尾版面 */
@media (min-width:62rem){.footer-content .footer-layout.row{min-height:20.9375rem;}
.footer-layout.row > .footer-brand{padding:0 3.375rem 0 .875rem;}
.footer-layout.row > .footer-actions{border-inline:1px solid var(--c-footer-line);}
.footer-layout.row > .footer-contact{padding:0 0 0 4.375rem;}
}
@media (max-width:61.99875rem){.footer-content .footer-layout.row{margin-block:0;padding-block:5px;padding-inline:0;}
.footer-layout.row > .footer-brand,.footer-layout.row > .footer-actions,.footer-layout.row > .footer-contact{width:100%;padding-inline:0;border:0;}
.footer-brand{padding-bottom:2rem;}
.footer-actions{width:min(100%,26.875rem) !important;margin-inline:auto;padding:0 5px;border-top:1px solid var(--c-footer-line) !important;border-bottom:1px solid var(--c-footer-line) !important;}
.footer-contact{padding-top:2rem;text-align:center;}
.footer-socials{justify-content:center;}
.footer-contact-list{width:min(100%,31rem);margin-inline:auto;}
}
@media (max-width:48rem){.footer-map-strip{grid-template-columns:1fr;}
.footer-contact-title{min-height:14.6875rem;}
.footer-map-embed,.footer-map-embed iframe{min-height:17.1875rem;}
.footer-bottom .container{flex-direction:column;gap:.125rem;padding-block:.75rem;}
.go-top{right:1rem;bottom:11.5rem;width:2.8125rem;height:2.8125rem;}
.contact-dock{right:1rem;bottom:1rem;}
.contact-dock-link,.contact-dock-toggle{width:3rem;height:3rem;}
.contact-dock.is-open .contact-dock-link{max-height:3rem;}
.visitor-footer-inner{padding:5px;}
.visitor-footer-brand{margin-top:.25rem;}
.footer-language{justify-content:flex-start;margin-top:.25rem;}
}
@media (max-width:38.75rem){.visitor-footer-inner{align-items:stretch;flex-direction:column;gap:.8125rem;padding:5px;}
.visitor-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
.visitor-stat-label{grid-column:1-1;}
.visitor-stat{justify-content:space-between;}
.visitor-footer-brand{align-self:center;}
.footer-language{width:100%;min-height:2.75rem;}
.footer-language select{flex:1;width:min(100%,11.25rem);min-height:2.75rem;}
}
@media (max-width:36rem){.footer-content .footer-layout.row{padding-block:5px;}
.footer-direct-links{gap:.75rem;}
.footer-direct-links a{min-height:3rem;font-size:1rem;}
.footer-contact-list > div{grid-template-columns:4rem minmax(0,1fr);}
.footer-contact-list dt,.footer-contact-list dd{font-size:.8125rem;}
.footer-socials{gap:.5rem;}
}
