/* =========================================================
   Gemistry 時裝屋聯絡我們 (gemistry-maison-contact)
   - 外框、左右欄比例、大標字級沿用常見問題（gemistry-maison-faq.css），兩頁並排時對齊
   - 切換點 600 / 601px（左右兩欄）、960 / 961px（外框邊距）
   - 手機：大標 → 說明 → 按鈕 → 小字，下面接聯絡方式 / 門市 / 營業時間 / 地圖
   - ≥ 601px：左 1/3 固定不捲走（sticky，距頂端 --gemistry-ms-contact-top），右 2/3 內容
   - 小標、名稱欄同常見問題問題列：12px 粗體大寫；內容 14px 細體；區段之間灰線
   ========================================================= */

.gemistry-ms-contact {
	--gemistry-ms-contact-space: 14.4vw;      /* 上下留白，同常見問題 */
	--gemistry-ms-contact-width: 89.3333%;
	--gemistry-ms-contact-col: 1;
	--gemistry-ms-contact-pad: 0px;
	--gemistry-ms-contact-title: 25px;
	--gemistry-ms-contact-title-lh: 31px;
	--gemistry-ms-contact-top: 160px;         /* 左欄固定時距視窗頂端（頁首 140px + 20px） */
	--gemistry-ms-contact-label: 34%;         /* 名稱 / 日子欄寬 */
	--gemistry-ms-contact-line: #d8d8d8;
	--gemistry-ms-contact-map-ratio: 4 / 3;
	--gemistry-ms-contact-map-filter: none;    /* 原色；要灰階改 grayscale(1) */
}

.gemistry-ms-scope.gemistry-ms-scope.gemistry-ms-contact {
	width: 100%;
	padding-block: var(--gemistry-ms-contact-space);
	background: var(--gemistry-ms-white);
	color: var(--gemistry-ms-ink);
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 48px;
	width: calc(var(--gemistry-ms-contact-width) * var(--gemistry-ms-contact-col));
	max-width: calc(1440px * var(--gemistry-ms-contact-col));
	margin-inline: auto;
}

.gemistry-ms-scope.gemistry-ms-scope :is(.gemistry-ms-contact__title, .gemistry-ms-contact__heading, .gemistry-ms-contact__row dt) {
	margin: 0;
	padding: 0;
	color: var(--gemistry-ms-ink);
	font-family: var(--gemistry-ms-font);
	font-weight: 600;
	letter-spacing: 0;
	text-transform: uppercase;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__title {
	font-size: var(--gemistry-ms-contact-title);
	line-height: var(--gemistry-ms-contact-title-lh);
}

/* ---------- 左欄 ---------- */

.gemistry-ms-scope.gemistry-ms-scope :is(.gemistry-ms-contact__intro, .gemistry-ms-contact__note, .gemistry-ms-contact__address, .gemistry-ms-contact__directions) {
	margin: 0;
	font-style: normal;
	font-weight: 300;
	letter-spacing: .1px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__intro {
	max-width: 30em;
	margin-top: 20px;
	font-size: 14px;
	line-height: 22px;
}

/* 按鈕：同主視覺實心黑底按鈕（48px 高、1px 框、11px 粗體），右邊箭頭 */
.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-width: 200px;
	height: 48px;
	margin-top: 28px;
	padding: 9px 22px;
	border: 1px solid var(--gemistry-ms-ink);
	background: var(--gemistry-ms-ink);
	color: var(--gemistry-ms-white);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .5px;
	line-height: 18px;
	text-transform: uppercase;
	transition: background-color .2s linear, border-color .2s linear;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__cta:lang(zh) {
	font-size: 13px;
	letter-spacing: .7px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__cta:hover {
	border-color: var(--gemistry-ms-gray);
	background: var(--gemistry-ms-gray);
	color: var(--gemistry-ms-white);
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__note {
	margin-top: 12px;
	color: var(--gemistry-ms-gray);
	font-size: 12px;
	line-height: 18px;
}

/* ---------- 右欄區段 ---------- */

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__main { min-width: 0; padding-inline: var(--gemistry-ms-contact-pad); }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__section {
	padding: 22px 0 32px;
	border-top: 1px solid var(--gemistry-ms-contact-line);
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__section:last-of-type { border-bottom: 1px solid var(--gemistry-ms-contact-line); }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__heading {
	margin-bottom: 18px;
	font-size: 12px;
	letter-spacing: 1px;
	line-height: 18px;
}

.gemistry-ms-scope.gemistry-ms-scope :is(.gemistry-ms-contact__heading, .gemistry-ms-contact__row dt):lang(zh) {
	font-size: 13px;
	letter-spacing: .7px;
	line-height: 20px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__rows { margin: 0; }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__row {
	display: grid;
	grid-template-columns: var(--gemistry-ms-contact-label) minmax(0, 1fr);
	gap: 16px;
	padding: 7px 0;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__row dt {
	color: var(--gemistry-ms-gray);
	font-size: 12px;
	line-height: 22px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__row dd {
	margin: 0;
	font-size: 14px;
	font-weight: 300;
	letter-spacing: .1px;
	line-height: 22px;
	overflow-wrap: anywhere;
}

.gemistry-ms-scope.gemistry-ms-scope :is(.gemistry-ms-contact__row dd a, .gemistry-ms-contact__link):hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* 營業時間：時間靠右，數字等寬對齊 */
.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__rows.is-hours .gemistry-ms-contact__row { grid-template-columns: minmax(0, 1fr) auto; }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__rows.is-hours dd { font-variant-numeric: tabular-nums; text-align: right; }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__rows.is-hours .gemistry-ms-contact__row + .gemistry-ms-contact__row { border-top: 1px solid var(--gemistry-ms-line); }

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__address {
	font-size: 14px;
	line-height: 22px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__directions {
	margin-top: 6px;
	color: var(--gemistry-ms-gray);
	font-size: 12px;
	line-height: 18px;
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 18px;
	text-transform: uppercase;
}

.gemistry-ms-scope.gemistry-ms-scope :is(.gemistry-ms-contact__cta, .gemistry-ms-contact__link) .gemistry-ms-icon {
	--gemistry-ms-icon: 16px;
	transition: transform .2s var(--gemistry-ms-ease);
}

.gemistry-ms-scope.gemistry-ms-scope :is(.gemistry-ms-contact__cta, .gemistry-ms-contact__link):hover .gemistry-ms-icon { transform: translateX(3px); }

/* ---------- 地圖 ---------- */

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__map {
	position: relative;
	aspect-ratio: var(--gemistry-ms-contact-map-ratio);
	margin-top: 32px;
	background: var(--gemistry-ms-soft);
}

.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	filter: var(--gemistry-ms-contact-map-filter);
}

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

@media (min-width: 601px) {
	.gemistry-ms-contact {
		--gemistry-ms-contact-space: 5vw;
		--gemistry-ms-contact-width: 83.956%;
		--gemistry-ms-contact-col: .833333;
		--gemistry-ms-contact-pad: .9896vw;
		--gemistry-ms-contact-title: 30px;
		--gemistry-ms-contact-title-lh: 36px;
		--gemistry-ms-contact-label: 30%;
		--gemistry-ms-contact-map-ratio: 16 / 9;
	}

	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		gap: 0;
	}

	/* 左欄撐滿整列高度，內層才有空間 sticky */
	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__aside { align-self: stretch; padding-right: 32px; }

	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__sticky {
		position: sticky;
		top: var(--gemistry-ms-contact-top);
	}

	/* 右欄第一條灰線和左邊大標頂端對齊 */
	.gemistry-ms-scope.gemistry-ms-scope .gemistry-ms-contact__section:first-child { padding-top: 0; border-top: 0; }
}

@media (min-width: 961px) {
	.gemistry-ms-contact {
		--gemistry-ms-contact-width: 83.8889%;
		--gemistry-ms-contact-pad: .9722vw;
		--gemistry-ms-contact-title: 40px;
		--gemistry-ms-contact-title-lh: 45px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gemistry-ms-scope.gemistry-ms-scope :is(.gemistry-ms-contact__cta, .gemistry-ms-contact__cta .gemistry-ms-icon, .gemistry-ms-contact__link .gemistry-ms-icon) { transition: none; }
}
