/* =========================================================
   Gemistry 時裝屋頁尾 (gemistry-maison-footer)
   - 版面 = chanel.com Footer；切換點 600 / 601px（服務資訊收合、連結欄一欄）、960 / 961px（連結欄並排，欄數 = --gemistry-ms-footer-cols）
   - 白底服務資訊：上下 5vw（最多 80px）、左右 8.06%，內容最寬 1342px（不含內距，同原站）；黑底：Logo 上下 72px、連結欄、分隔線 + 底部列
   ========================================================= */

.gemistry-ms-footer {
	--gemistry-ms-fpad: 20px;
	--gemistry-ms-footer-line: #3a3a3a;
	--gemistry-ms-footer-heading: #f9f9f9;
}

.elementor-widget-gemistry-maison-footer { width: 100%; }

.gemistry-ms-scope.gemistry-ms-scope.gemistry-ms-footer {
	width: 100%;
	color: var(--gemistry-ms-ink);
	font-size: 14px;
	line-height: 1.2857;
}

/* ---------- 服務資訊（白底） ---------- */

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__services {
	background: var(--gemistry-ms-white);
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__services-inner {
	padding: 27px var(--gemistry-ms-fpad);
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service { border-bottom: 1px solid #ececec; }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service:last-child { border-bottom: 0; }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service-title {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 52px;
	padding-right: 24px;
	color: var(--gemistry-ms-black);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service-title::-webkit-details-marker { display: none; }

/* 手機收合箭頭 */
.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service-title::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 4px;
	width: 7px;
	height: 7px;
	border-right: 1.2px solid currentColor;
	border-bottom: 1.2px solid currentColor;
	transform: translateY(-70%) rotate(45deg);
	transition: transform .2s var(--gemistry-ms-ease);
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service[open] > .gemistry-ms-footer__service-title::after { transform: translateY(-30%) rotate(-135deg); }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service-body { padding-bottom: 24px; }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service-text {
	color: var(--gemistry-ms-gray);
	font-size: 14px;
	font-weight: 300;
	line-height: 18px;
}

.gemistry-ms-scope.gemistry-ms-scope :is(.gemistry-ms-footer__service-text a, .gemistry-ms-footer__service-link) {
	border-bottom: 1px solid currentColor;
	color: var(--gemistry-ms-ink);
	transition: border-color .2s linear;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service-text a { color: inherit; }

.gemistry-ms-scope.gemistry-ms-scope :is(.gemistry-ms-footer__service-text a, .gemistry-ms-footer__service-link):hover { border-bottom-color: transparent; }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service-link {
	display: inline-block;
	margin-top: 14px;
	font-size: 14px;
	font-weight: 300;
	line-height: 18px;
}

/* ---------- 黑底 ---------- */

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__main {
	padding: 0 var(--gemistry-ms-fpad);
	overflow: hidden;
	background: var(--gemistry-ms-black);
	color: var(--gemistry-ms-white);
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__logo {
	display: flex;
	justify-content: center;
	margin: 56px 0;
	line-height: 0;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__logo-img {
	display: block;
	width: auto;
	max-width: 70vw;
	height: 28px;
	object-fit: contain;
}

/* 沒上傳白色 Logo 時，把網站 Logo 轉成白色 */
.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__logo-img.is-inverted { filter: brightness(0) invert(1); }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__logo-text {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__hint {
	margin-bottom: 32px;
	color: var(--gemistry-ms-gray-light);
	text-align: center;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__nav {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__col-title {
	margin-bottom: 9px;
	color: var(--gemistry-ms-footer-heading);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__links {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__links :is(a, span) {
	color: var(--gemistry-ms-gray-light);
	font-size: 14px;
	font-weight: 300;
	line-height: 18px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__links a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 底部列 ---------- */

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__bottom {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 48px;
	padding: 18px 0 32px;
	border-top: 1px solid var(--gemistry-ms-footer-line);
	font-size: 12px;
	font-weight: 300;
	line-height: 16px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__meta {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__locale {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 10px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__locale-label,
.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__copyright { color: var(--gemistry-ms-gray); }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__locale-value { color: var(--gemistry-ms-white); }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__locale-value a { color: inherit; }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__social {
	display: flex;
	gap: 10px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: var(--gemistry-ms-gray);
	transition: color .3s linear;
	--gemistry-ms-icon: 20px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__social a:hover { color: var(--gemistry-ms-white); }

/* ---------- 平板 ---------- */

@media (min-width: 601px) {
	.gemistry-ms-footer { --gemistry-ms-fpad: max(20px, 8.0556%); }

	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__services-inner {
		box-sizing: content-box;
		display: flex;
		gap: 80px;
		max-width: 1342px;
		margin: 0 auto;
		padding-top: min(5vw, 80px);
		padding-bottom: min(5vw, 80px);
	}

	/* 桌機服務資訊永遠展開，不能收合 */
	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service {
		flex: 1 1 0;
		min-width: 0;
		border-bottom: 0;
	}

	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service-title {
		min-height: 0;
		margin-bottom: 9px;
		padding-right: 0;
		cursor: default;
		pointer-events: none;
	}

	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service-title::after { display: none; }

	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__service-body { padding-bottom: 0; }

	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__logo { margin: 72px 0; }

	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px; }

	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__bottom {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		margin-top: 64px;
	}

	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__meta {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px 40px;
	}

	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__locale { justify-content: flex-start; }
}

/* ---------- 桌機 ---------- */

@media (min-width: 961px) {
	/* 欄數由 renderer 依實際欄數輸出（預設三欄；改用選單時依第一層數量） */
	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__nav { grid-template-columns: repeat(var(--gemistry-ms-footer-cols, 4), minmax(0, 1fr)); gap: 0; }

	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-footer__bottom { margin-top: 80px; }
}
