/* Footer: newsletter signup and link columns (white) */

.site-footer {
	position: relative; z-index: 2;
	background: var(--c-white);
	color: var(--c-black);
}
/* Measured on Wix at 1440 and 2196 wide; vertical spacing scales with the width like the rest */
.site-footer__inner {
	padding: calc(86 * var(--u)) var(--gutter) calc(148 * var(--u));
}

/* ---- Newsletter ---- */
.newsletter__title { max-width: none; }

.newsletter__form { position: relative; margin-top: calc(51 * var(--u)); padding: 0 24px; }

.newsletter__field label, .newsletter__consent {
	font-family: var(--f-roman), var(--f-cjk);
	font-size: 15px; line-height: 21px;
	color: var(--c-text-muted);
}
.req { margin-left: 2px; }

.newsletter__field input {
	display: block; width: 100%; height: 36px;
	margin-top: 8px; padding: 8px 2px 8px 0;
	text-indent: 12px;   /* Wix：文字距欄位左緣 12px，底線仍與標籤對齊 */
	background: transparent; border: 0; border-bottom: 1px solid var(--c-text-muted);
	border-radius: 0; outline: none;
	font-family: var(--f-roman), var(--f-cjk); font-size: 14px; color: var(--c-text-muted);
	transition: border-color .2s;
}
.newsletter__field input:focus { border-color: var(--c-black); color: var(--c-black); }
/* 瀏覽器自動填入時會套上淺藍底，改為維持白底與原本的文字顏色 */
.newsletter__field input:-webkit-autofill,
.newsletter__field input:-webkit-autofill:hover,
.newsletter__field input:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px var(--c-white) inset;
	box-shadow: 0 0 0 1000px var(--c-white) inset;
	-webkit-text-fill-color: var(--c-black);
	caret-color: var(--c-black);
	transition: background-color 9999s ease-out 0s;
}
.newsletter__field input:autofill { background-color: var(--c-white); }
.newsletter__field.is-invalid input { border-color: #d0021b; }

.newsletter__hp { position: absolute; left: -9999px; top: 0; width: 1px; height: 1px; overflow: hidden; }

.newsletter__row {
	display: grid; grid-template-columns: 50.4% 49.6%; align-items: start;
	margin-top: 25px;
}
.newsletter__consent { display: flex; align-items: center; gap: 12px; font-size: 14px; cursor: pointer; margin-top: 2px; }
.newsletter__consent input {
	width: 16px; height: 16px; margin: 0;
	accent-color: var(--c-black);
}
.newsletter__submit { width: 100%; }

.newsletter__message { position: absolute; left: 24px; right: 24px; top: 100%; margin-top: 12px; font-size: 14px; color: var(--c-text-muted); }
.newsletter__message.is-success { color: var(--c-black); }
.newsletter__message.is-error { color: #d0021b; }

/* ---- Columns ---- */
.site-footer__columns {
	display: grid;
	grid-template-columns: calc(218 * var(--u)) calc(226 * var(--u)) calc(244 * var(--u)) minmax(0, 1fr);
	margin: calc(143 * var(--u)) 0 0 calc(289 * var(--u));
}
.site-footer__heading {
	font-family: var(--f-grotesk), var(--f-cjk);
	font-size: var(--fs-eyebrow); letter-spacing: 1px; line-height: 1.3;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.site-footer__links li { font-size: 17px; line-height: 23.8px; color: var(--c-text-muted); }
.site-footer__links a { transition: color .2s; }
.site-footer__links a:hover { color: var(--c-black); }
.site-footer__social a { text-decoration: underline; text-underline-offset: 2px; }
.site-footer__address { font-size: 12px; line-height: 16.8px; margin-top: 4px; }
.site-footer__muted { opacity: .5; }

.site-footer__group summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: color .2s; }
.site-footer__group[open] summary { color: var(--c-black); }
.site-footer__group summary::-webkit-details-marker { display: none; }
.site-footer__chevron { width: 10px; height: 10px; color: var(--c-black); transition: transform .2s, color .2s; }
.site-footer__group[open] .site-footer__chevron { transform: rotate(180deg); color: #1a6aff; }
.site-footer__group ul { padding: 6px 0 7px 16px; }
.site-footer__group li a { display: block; padding: 4px 0; font-family: var(--f-madefor), var(--f-cjk); font-size: 15px; line-height: 21px; color: var(--c-black); }
.site-footer__group li a:hover { color: var(--c-text-muted); }


/* Tablets and phones: Wix tablet (up to 1000px) and mobile (up to 750px) layouts */
@media (max-width: 1000px) {
	.site-footer__inner { padding: 6vw 6vw 4vw; }
	.newsletter__title { letter-spacing: -.02em; }
	.newsletter__form { margin-top: 5.2vw; padding: 24px 24px 0; }
	.site-footer__columns { grid-template-columns: repeat(4, 22.4vw); gap: 0; margin: calc(160px + 6.7vw) 0 0; }
	.site-footer__heading { font-size: 16px; letter-spacing: .05em; margin-bottom: 18px; }
	.site-footer__links li { font-size: 15px; line-height: 21px; overflow-wrap: anywhere; }
	.site-footer__address { font-size: 15px; line-height: 21px; margin-top: 0; }
}
/* Phones: the button under the checkbox, the four columns two by two */
@media (max-width: 750px) {
	.site-footer__inner { padding: 5.9vw 5.9vw 8px; }
	.newsletter__title { max-width: 81.5vw; letter-spacing: -.03em; }
	.newsletter__form { margin-top: 10.5vw; padding: 24px 24px 22px; }
	.newsletter__row { grid-template-columns: 1fr; gap: 20px; }
	.newsletter__submit { width: 100%; height: 41px; font-size: 14px; }
	.site-footer__columns { grid-template-columns: 37.7vw minmax(0, 1fr); row-gap: 15px; margin-top: calc(115px + 7.7vw); }
	.site-footer__column { min-height: 121px; }
	.site-footer__heading { font-size: 14px; margin-bottom: 14px; }
}
