/* =========================================================
   德斯丹 D.STAN — 內容區樣式（依 Figma「首頁_風格1」）
   每個區塊最外層容器都帶 .dstan，所有規則都限定在 .dstan 底下，
   不影響 WoodMart 的選單與頁尾。
   ========================================================= */

@font-face {
	font-family: "Swei Meatball Hero";
	src: url("fonts/swei-meatball-hero.woff2") format("woff2");
	font-weight: 700;
	font-display: swap;
}

:root {
	--ds-brown: #6b3f23;
	--ds-brown-2: #784e36;
	--ds-brown-3: #79482a;
	--ds-tan: #c8ac96;
	--ds-orange: #dd3f07;
	--ds-beige: #e8dfd5;
	--ds-cream: #fff7f0;
	--ds-gold: #a1854a;
	--ds-ink: #1d1410;
	--ds-sans: "Noto Sans TC", "Noto Sans", "PingFang TC", "Microsoft JhengHei", sans-serif;
	--ds-serif-en: "Crimson Text", Georgia, serif;
	--ds-hand: "Caveat", "Segoe Script", cursive;
	--ds-display: "Swei Meatball Hero", "Noto Serif TC", serif;
	--ds-wrap: 1440px;
	--ds-gutter: 24px;
	--ds-img: url("img/");
}

/* ---------- 基礎重設（只在 .dstan 範圍內） ---------- */
.e-con.dstan,
.dstan .e-con {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--gap: 0px;
	--row-gap: var(--gap);
	--column-gap: var(--gap);
	--min-height: 0px;
}
.dstan .elementor-widget:not(:last-child) { margin-block-end: 0; }
.dstan,
.dstan .elementor-widget-text-editor,
.dstan .elementor-widget-heading .elementor-heading-title {
	font-family: var(--ds-sans);
	color: #000;
	line-height: 1.5;
}
.dstan .elementor-widget-text-editor p { margin: 0; }
.dstan .elementor-widget-text-editor p + p { margin-top: .6em; }
.dstan .elementor-widget-heading .elementor-heading-title { line-height: 1.35; font-weight: 700; }
.dstan .elementor-widget-image img { display: block; width: 100%; }

/* 最外層區塊撐滿整個視窗寬（WoodMart 內容區預設有固定寬度） */
.elementor > .e-con.dstan {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.wd-page-content:has(.dstan-sec),
.main-page-wrapper:has(.dstan-sec) { overflow-x: clip; }
.main-page-wrapper:has(.dstan-hero),
.main-page-wrapper:has(.dstan-banner) { padding-top: 0; }
.dstan .e-con.dstan-wrap,
.dstan .e-con.dstan-wrap {
	width: 100%;
	max-width: calc(var(--ds-wrap) + var(--ds-gutter) * 2);
	margin-inline: auto;
	--padding-left: var(--ds-gutter);
	--padding-right: var(--ds-gutter);
}

/* ---------- 區塊標題 ---------- */
.dstan .e-con.dstan-title { --gap: 8px; align-items: center; text-align: center; }
.dstan .dstan-title__zh .elementor-heading-title { font-size: 24px; color: var(--ds-brown); }
.dstan .dstan-title__en .elementor-heading-title {
	font-family: var(--ds-hand);
	font-size: 21px;
	font-weight: 700;
	color: var(--ds-orange);
	line-height: 1.1;
	letter-spacing: .02em;
}
.dstan .dstan-title__desc {
	position: relative;
	margin-top: 16px;
	padding-top: 24px;
	max-width: 900px;
	font-size: 16px;
}
.dstan .dstan-title__desc::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: min(620px, 100%);
	height: 1px;
	transform: translateX(-50%);
	background: url("img/line-dotted.svg") center / 100% 1px no-repeat;
}

/* 標題左右雙線（堅果、抹醬、月餅） */
.dstan .e-con.dstan-title--lines .dstan-title__row {
	--flex-direction: row;
	--gap: 8px;
	--align-items: center;
	--justify-content: center;
	--flex-direction: row; flex-direction: row;
	align-items: baseline;
	justify-content: center;
	position: relative;
	width: 100%;
}
.dstan .e-con.dstan-title--lines .dstan-title__row > .elementor-widget { width: auto; }
.dstan .e-con.dstan-title--lines .dstan-title__row::before,
.dstan .e-con.dstan-title--lines .dstan-title__row::after {
	content: "";
	flex: 0 1 240px;
	height: 13px;
	align-self: center;
	background: url("img/title-lines.svg") center / 100% 13px no-repeat;
}
.dstan .e-con.dstan-title--lines .dstan-title__row::before { margin-right: 35px; position: static; inset: auto; width: auto; opacity: 1; mix-blend-mode: normal; border-radius: 0; }
.dstan .e-con.dstan-title--lines .dstan-title__row::after { margin-left: 35px; }
.dstan .e-con.dstan-title--lines .dstan-title__desc { margin-top: 20px; padding-top: 0; text-align: left; }
.dstan .e-con.dstan-title--lines .dstan-title__desc::before { display: none; }
.dstan .e-con.dstan-title--nolines .dstan-title__row::before,
.dstan .e-con.dstan-title--nolines .dstan-title__row::after { visibility: hidden; }

.dstan .e-con.dstan-title--light .dstan-title__zh .elementor-heading-title,
.dstan .e-con.dstan-title--light .dstan-title__en .elementor-heading-title,
.dstan .e-con.dstan-title--light .dstan-title__desc { color: #fff; }
.dstan .e-con.dstan-title--light { filter: drop-shadow(0 4px 2px rgba(0, 0, 0, .35)); }
.dstan .e-con.dstan-title--light .dstan-title__desc { text-align: center; }

/* ---------- 按鈕 ---------- */
.dstan .dstan-btn-drip .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 199px;
	height: 67px;
	padding: 4px 34px 0;
	border-radius: 0;
	background: url("img/btn-drip.svg") center / 100% 100% no-repeat;
	color: #fff;
	font-family: var(--ds-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	filter: drop-shadow(0 4px 6px rgba(103, 51, 30, .18));
	transition: transform .25s ease, filter .25s ease;
}
.dstan .dstan-btn-drip .elementor-button::after {
	content: "";
	width: 26px;
	height: 26px;
	margin-left: 7px;
	flex: none;
	background: url("img/btn-play.svg") center / contain no-repeat;
	transition: transform .25s ease;
}
.dstan .dstan-btn-drip .elementor-button:hover,
.dstan .dstan-btn-drip .elementor-button:focus-visible {
	transform: translateY(-2px);
	filter: drop-shadow(0 8px 12px rgba(103, 51, 30, .28));
	color: #fff;
}
.dstan .dstan-btn-drip .elementor-button:hover::after { transform: translateX(3px); }

.dstan .dstan-btn-solid .elementor-button {
	min-width: 140px;
	padding: 7px 20px;
	border-radius: 0;
	background: var(--ds-brown);
	color: #fff;
	font-family: var(--ds-sans);
	font-size: 16px;
	line-height: 1.2;
	transition: background-color .2s ease;
}
.dstan .dstan-btn-solid .elementor-button:hover,
.dstan .dstan-btn-solid .elementor-button:focus-visible { background: var(--ds-brown-3); color: #fff; }

.dstan .elementor-button:focus-visible { outline: 2px solid var(--ds-orange); outline-offset: 3px; }

/* ---------- 標籤 ---------- */
.dstan .dstan-tag .elementor-heading-title {
	display: inline-block;
	padding: 1px 8px 2px;
	background: var(--ds-brown);
	color: #fff;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.3;
}
.dstan .dstan-pill .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 108px;
	height: 32px;
	padding: 0 14px;
	border-radius: 100px;
	background: var(--ds-brown);
	color: #fff;
	font-size: 20px;
}

/* =========================================================
   首頁
   ========================================================= */

/* 主視覺：下緣弧形 */
.e-con.dstan.dstan-hero {
	position: relative;
	min-height: clamp(420px, 36vw, 690px);
	justify-content: center;
	align-items: center;
	--padding-bottom: clamp(60px, 9vw, 170px);
	--padding-left: var(--ds-gutter);
	--padding-right: var(--ds-gutter);
	clip-path: ellipse(83% 100% at 50% 0);
	background-size: cover;
	background-position: center 40%;
}
.dstan .e-con.dstan-hero__copy { --gap: 12px; align-items: center; text-align: center; max-width: 760px; }
.dstan .dstan-hero__en .elementor-heading-title {
	font-family: var(--ds-serif-en);
	font-size: clamp(32px, 2.85vw, 54px);
	font-weight: 400;
	color: #fff;
	line-height: 1.2;
	text-shadow: 0 4px 4px rgba(0, 0, 0, .25);
}
.dstan .dstan-hero__zh .elementor-heading-title {
	font-family: var(--ds-display);
	font-size: clamp(20px, 1.46vw, 28px);
	color: #fff;
	letter-spacing: .28em;
	text-shadow: 4px 4px 10px rgba(0, 0, 0, .4), 0 4px 4px rgba(0, 0, 0, .25);
}

/* 通用區塊間距 */
.e-con.dstan.dstan-sec--pad { --padding-top: 64px; --padding-bottom: 96px; }
.dstan .e-con.dstan-stack { --gap: 48px; align-items: center; }
.dstan .e-con.dstan-stack--sm { --gap: 28px; }

/* 巧克力裝飾：圖片卡格 */
.dstan .e-con.dstan-deco { --gap: 16px; width: 100%; max-width: 1438px; }
.dstan .e-con.dstan-deco__row { --gap: 14px; --flex-direction: row; flex-direction: row; width: 100%; }
.dstan .e-con.dstan-deco__row > .e-con { flex: 1 1 0; }
.dstan .e-con.dstan-deco__row--b > .e-con:first-child { flex-grow: 819; }
.dstan .e-con.dstan-deco__row--b > .e-con:last-child { flex-grow: 604; }
.dstan .e-con.dstan-card-photo {
	position: relative;
	min-height: 310px;
	justify-content: center;
	align-items: center;
	--gap: 12px;
	--padding-left: 20px;
	--padding-right: 20px;
	text-align: center;
	background-size: cover;
	background-position: center;
	overflow: hidden;
	isolation: isolate;
}
.dstan .e-con.dstan-deco__row--b .dstan-card-photo { min-height: 342px; }
.dstan .e-con.dstan-card-photo::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(0, 0, 0, .2);
	transition: background-color .35s ease;
}
.dstan .e-con.dstan-card-photo:hover::before { background: rgba(0, 0, 0, .38); }
.dstan .e-con.dstan-card-photo .elementor-heading-title,
.dstan .e-con.dstan-card-photo .elementor-widget-text-editor { color: #fff; text-shadow: 0 4px 2px rgba(0, 0, 0, .25); }
.dstan .e-con.dstan-card-photo .elementor-heading-title { font-size: 20px; }
.dstan .e-con.dstan-card-photo .elementor-widget-text-editor { font-size: 16px; }

/* 食品批發 */
.e-con.dstan.dstan-wholesale {
	min-height: 795px;
	justify-content: center;
	align-items: center;
	--padding-top: 80px;
	--padding-bottom: 80px;
	--padding-left: var(--ds-gutter);
	--padding-right: var(--ds-gutter);
	background-size: cover;
	background-position: center bottom;
}
.dstan .e-con.dstan-wholesale__inner { --flex-direction: row; flex-direction: row; align-items: center; justify-content: center; --gap: 100px; max-width: 1092px; width: 100%; }
.dstan .e-con.dstan-wholesale__card {
	flex: 0 0 489px;
	aspect-ratio: 1;
	background: #fff;
	box-shadow: 10px 10px 25px rgba(0, 0, 0, .25);
	justify-content: center;
	align-items: center;
	--gap: 54px;
	--padding-left: 54px;
	--padding-right: 54px;
}
.dstan .e-con.dstan-wholesale__card .dstan-title__desc { max-width: 332px; text-align: left; padding-top: 24px; margin-top: 16px; }
.dstan .e-con.dstan-wholesale__card .dstan-title__desc::before { width: 381px; max-width: 100%; }
.dstan .e-con.dstan-wlist { --gap: 51px; flex: 1 1 auto; }
.dstan .e-con.dstan-wlist__row { --flex-direction: row; flex-direction: row; align-items: center; --gap: 23px; }
.dstan .e-con.dstan-wlist__row > .elementor-widget { width: auto; }
.dstan .e-con.dstan-wlist .dstan-pill .elementor-heading-title {
	width: 160px;
	height: 48px;
	font-size: 16px;
	background: var(--ds-brown-2);
}
.dstan .e-con.dstan-wlist__row:nth-child(even) .dstan-pill .elementor-heading-title { background: var(--ds-tan); }

/* OEM 圖示列 */
.dstan .e-con.dstan-icons { --flex-direction: row; flex-direction: row; justify-content: center; align-items: stretch; width: 100%; max-width: 1340px; --gap: 0px; }
.dstan .e-con.dstan-icon-item {
	flex: 1 1 0;
	align-items: center;
	text-align: center;
	--gap: 6px;
	--padding-top: 8px;
	--padding-bottom: 8px;
	--padding-left: 24px;
	--padding-right: 24px;
	position: relative;
}
.dstan .e-con.dstan-icon-item + .e-con.dstan-icon-item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	height: 165px;
	max-height: 100%;
	width: 1px;
	transform: translateY(-50%);
	background: #000;
}
.dstan .e-con.dstan-icon-item .elementor-widget-image img { width: 44px; height: 44px; object-fit: contain; margin-inline: auto; }
.dstan .e-con.dstan-icon-item .dstan-icon-item__title .elementor-heading-title { font-size: 20px; font-weight: 400; color: var(--ds-brown); }
.dstan .e-con.dstan-icon-item .elementor-widget-text-editor { margin-top: 13px; max-width: 172px; margin-inline: auto; font-size: 16px; }

/* 食品原料（帶融化巧克力形狀的上緣） */
.e-con.dstan.dstan-ingredients {
	--padding-top: 167px;
	--padding-bottom: 96px;
	background: url("img/drip-divider.svg") center top / max(2060px, 107%) 167px no-repeat;
}
.dstan .e-con.dstan-maspex {
	--flex-direction: row; flex-direction: row;
	align-items: center;
	justify-content: center;
	--gap: 12px;
	--padding-top: 9px;
	--padding-bottom: 9px;
	--padding-left: 24px;
	--padding-right: 24px;
	background: var(--ds-brown);
	width: auto;
	max-width: 100%;
	flex-wrap: wrap;
}
.dstan .e-con.dstan-maspex > .elementor-widget { width: auto; }
.dstan .e-con.dstan-maspex .dstan-maspex__badge .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 16px;
	border: 1px solid #fff;
	border-radius: 100px;
	color: #fff;
	font-size: 16px;
}
.dstan .e-con.dstan-maspex .elementor-widget-text-editor { color: #fff; }

.dstan .e-con.dstan-ing { display: grid; grid-template-columns: repeat(6, 200px); justify-content: center; column-gap: 28px; row-gap: 40px; width: 100%; }
.dstan .e-con.dstan-ing > .e-con:nth-child(4) { margin-left: 12px; }
.dstan .e-con.dstan-ing > .e-con:nth-child(3) { margin-right: -12px; }
.dstan .e-con.dstan-ing-card { --gap: 0px; align-items: stretch; text-align: center; }
.dstan .e-con.dstan-ing-card .elementor-widget-image img {
	height: 245px;
	object-fit: cover;
	transition: transform .5s ease;
}
.dstan .e-con.dstan-ing-card .elementor-widget-image { overflow: hidden; border-bottom: 1px solid var(--ds-brown); margin-bottom: 18px; padding-bottom: 22px; background: #fff; }
.dstan .e-con.dstan-ing-card .elementor-widget-image .elementor-widget-container { overflow: hidden; }
.dstan .e-con.dstan-ing-card:hover .elementor-widget-image img { transform: scale(1.04); }
.dstan .e-con.dstan-ing > .e-con:nth-child(1) .elementor-widget-image img { object-position: left center; }
.dstan .e-con.dstan-ing > .e-con:nth-child(3) .elementor-widget-image .elementor-widget-container { border-top-right-radius: 100px; }
.dstan .e-con.dstan-ing > .e-con:nth-child(4) .elementor-widget-image .elementor-widget-container { border-top-left-radius: 100px; }
.dstan .e-con.dstan-ing-card .elementor-heading-title { font-size: 20px; color: var(--ds-brown); }
.dstan .e-con.dstan-ing-card .elementor-widget-text-editor { margin: 8px auto 0; max-width: 183px; font-size: 16px; }

/* 堅果 ＋ 抹醬 並排 */
.dstan .e-con.dstan-duo { --flex-direction: row; flex-direction: row; align-items: flex-start; justify-content: center; --gap: 48px; width: 100%; max-width: 1404px; }
.dstan .e-con.dstan-duo__nuts { flex: 0 1 656px; --gap: 40px; align-items: center; --padding-top: 0px; }
.dstan .e-con.dstan-duo__spreads {
	flex: 0 1 700px;
	background: var(--ds-beige);
	align-items: center;
	--gap: 32px;
	--padding-top: 45px;
	--padding-bottom: 45px;
	--padding-left: 41px;
	--padding-right: 41px;
}
.dstan .e-con.dstan-duo .dstan-title--lines .dstan-title__row::before,
.dstan .e-con.dstan-duo .dstan-title--lines .dstan-title__row::after { flex-basis: 240px; }

.dstan .e-con.dstan-mini-grid { display: grid; grid-template-columns: repeat(2, 280px); justify-content: center; gap: 40px; }
.dstan .e-con.dstan-mini-grid--spread { grid-template-columns: repeat(2, 300px); gap: 32px 18px; }
.dstan .e-con.dstan-mini {
	--flex-direction: row; flex-direction: row;
	align-items: center;
	--gap: 16px;
	--padding-top: 10px;
	--padding-bottom: 10px;
	--padding-left: 10px;
	--padding-right: 10px;
}
.dstan .e-con.dstan-mini-grid--nut .e-con.dstan-mini { background: #fff; box-shadow: 4px 4px 10px rgba(0, 0, 0, .25); transition: transform .25s ease, box-shadow .25s ease; }
.dstan .e-con.dstan-mini-grid--nut .e-con.dstan-mini:hover { transform: translateY(-3px); box-shadow: 6px 8px 16px rgba(0, 0, 0, .22); }
.dstan .e-con.dstan-mini > .elementor-widget-image { flex: 0 0 100px; width: 100px; }
.dstan .e-con.dstan-mini > .elementor-widget-image img { width: 100px; height: 100px; object-fit: cover; }
.dstan .e-con.dstan-mini-grid--spread .dstan-mini > .elementor-widget-image img { border-radius: 50%; }
.dstan .e-con.dstan-mini__body { --gap: 8px; flex: 1 1 0; min-width: 0; align-items: flex-start; }
.dstan .e-con.dstan-mini__body > .elementor-widget { width: auto; }
.dstan .e-con.dstan-mini__body .elementor-widget-text-editor { color: var(--ds-brown); font-size: 16px; line-height: 1.4; width: 100%; }
.dstan .e-con.dstan-mini-grid--spread .dstan-tag .elementor-heading-title { background: var(--ds-brown-2); min-width: 100px; text-align: center; }
.dstan .e-con.dstan-mini-grid--spread .dstan-mini__body .elementor-widget-text-editor { color: var(--ds-brown-2); }

/* 月餅 */
.e-con.dstan.dstan-moon { align-items: center; --padding-bottom: 80px; }
.dstan .e-con.dstan-moon__bg {
	width: 100%;
	min-height: 472px;
	align-items: center;
	--padding-top: 183px;
	--padding-left: var(--ds-gutter);
	--padding-right: var(--ds-gutter);
	background-size: cover;
	background-position: center;
}
.dstan .e-con.dstan-moon__panel {
	position: relative;
	width: calc(100% - var(--ds-gutter) * 2);
	max-width: 1403px;
	margin-top: -122px;
	align-items: center;
	--gap: 36px;
	--padding-top: 32px;
	--padding-bottom: 80px;
	--padding-left: 32px;
	--padding-right: 32px;
	border-radius: 45px;
	isolation: isolate;
}
.dstan .e-con.dstan-moon__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background: rgba(255, 255, 255, .42);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 4px 4px 20px rgba(0, 0, 0, .25);
	opacity: .7;
}
.dstan .e-con.dstan-moon__panel::after {
	content: "";
	position: absolute;
	inset: 122px 0 0 0;
	z-index: -2;
	border-radius: 0 0 45px 45px;
	background: #fff;
}
.dstan .e-con.dstan-moon__head { --gap: 8px; text-align: center; }
.dstan .e-con.dstan-moon__head .elementor-heading-title { font-size: 20px; color: #fff; text-shadow: 4px 4px 10px rgba(0, 0, 0, .25); }
.e-con.dstan.dstan-moon .dstan-icons .elementor-widget-image img { width: 170px; height: 113px; object-fit: contain; }
.e-con.dstan.dstan-moon .dstan-icon-item { --gap: 10px; }
.e-con.dstan.dstan-moon .dstan-icon-item .dstan-pill { margin-top: 0; }
.e-con.dstan.dstan-moon .dstan-icon-item .elementor-widget-text-editor { margin-top: 9px; }
.dstan .dstan-moon__btn { position: absolute; bottom: -34px; left: 50%; transform: translateX(-50%); width: auto; }

/* 洽詢 */
.e-con.dstan.dstan-cta-sec { align-items: center; --padding-top: 24px; --padding-bottom: 96px; --padding-left: var(--ds-gutter); --padding-right: var(--ds-gutter); }
.dstan .e-con.dstan-cta {
	width: 100%;
	max-width: 1130px;
	min-height: 223px;
	align-items: center;
	justify-content: center;
	--gap: 14px;
	--padding-top: 28px;
	--padding-bottom: 28px;
	--padding-left: 24px;
	--padding-right: 24px;
	background: var(--ds-cream);
	border: 3px dashed var(--ds-brown);
	text-align: center;
}
.dstan .dstan-cta__title .elementor-heading-title { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; font-size: 20px; color: var(--ds-brown); }
.dstan .dstan-cta__title .elementor-heading-title span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 43px;
	height: 43px;
	border: 1px solid var(--ds-brown-2);
	background: #fff;
}
.dstan .e-con.dstan-cta .elementor-widget-text-editor { margin-top: 2px; }

/* =========================================================
   內頁共用
   ========================================================= */

/* 內頁橫幅（同主視覺語彙，較矮） */
.e-con.dstan.dstan-banner {
	min-height: clamp(260px, 22vw, 420px);
	justify-content: center;
	align-items: center;
	--padding-bottom: clamp(30px, 4vw, 70px);
	--padding-left: var(--ds-gutter);
	--padding-right: var(--ds-gutter);
	clip-path: ellipse(90% 100% at 50% 0);
	background-size: cover;
	background-position: center;
	position: relative;
	isolation: isolate;
}
.e-con.dstan.dstan-banner::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(29, 20, 16, .15), rgba(29, 20, 16, .45)); }
.dstan .e-con.dstan-banner__copy { --gap: 8px; align-items: center; text-align: center; }
.dstan .dstan-banner__zh .elementor-heading-title { font-size: clamp(28px, 2.5vw, 40px); color: #fff; letter-spacing: .12em; text-shadow: 0 4px 8px rgba(0, 0, 0, .35); }
.dstan .dstan-banner__en .elementor-heading-title { font-family: var(--ds-serif-en); font-style: italic; font-weight: 400; font-size: clamp(18px, 1.4vw, 24px); color: #fff; text-shadow: 0 2px 6px rgba(0, 0, 0, .4); }

/* 圖文交錯介紹 */
.dstan .e-con.dstan-split { --flex-direction: row; flex-direction: row; align-items: center; --gap: 72px; width: 100%; max-width: 1200px; }
.dstan .e-con.dstan-split--rev { --flex-direction: row-reverse; flex-direction: row-reverse; }
.dstan .e-con.dstan-split > .e-con, .dstan .e-con.dstan-split > .elementor-widget { flex: 1 1 0; }
.dstan .e-con.dstan-split .elementor-widget-image img { aspect-ratio: 4 / 3; object-fit: cover; box-shadow: 10px 10px 25px rgba(0, 0, 0, .18); }
.dstan .e-con.dstan-split__text { --gap: 20px; align-items: flex-start; }
.dstan .e-con.dstan-split__text .dstan-title { align-items: flex-start; text-align: left; }
.dstan .e-con.dstan-split__text .dstan-title__desc { text-align: left; }
.dstan .e-con.dstan-split__text .dstan-title__desc::before { left: 0; transform: none; width: 100%; }

/* 流程步驟 */
.dstan .e-con.dstan-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; width: 100%; max-width: 1340px; }
.dstan .e-con.dstan-steps--4 { grid-template-columns: repeat(4, 1fr); }
.dstan .e-con.dstan-step { position: relative; align-items: center; text-align: center; --gap: 10px; --padding-left: 20px; --padding-right: 20px; }
.dstan .e-con.dstan-step + .e-con.dstan-step::after {
	content: "";
	position: absolute;
	left: 0;
	top: 20px;
	width: 1px;
	height: 120px;
	background: var(--ds-tan);
}
.dstan .e-con.dstan-step .elementor-heading-title { font-size: 20px; color: var(--ds-brown); }
.dstan .e-con.dstan-step .elementor-widget-text-editor { font-size: 15px; max-width: 200px; }

/* 米色底區塊 */
.e-con.dstan.dstan-sec--beige { background: var(--ds-beige); }
.e-con.dstan.dstan-sec--cream { background: var(--ds-cream); }

/* 聯絡資訊卡 */
.dstan .e-con.dstan-contact { --flex-direction: row; flex-direction: row; align-items: stretch; --gap: 48px; width: 100%; max-width: 1200px; }
.dstan .e-con.dstan-contact__info { flex: 0 0 380px; --gap: 22px; --padding-top: 40px; --padding-bottom: 40px; --padding-left: 36px; --padding-right: 36px; background: var(--ds-brown); }
.dstan .e-con.dstan-contact__info .elementor-heading-title,
.dstan .e-con.dstan-contact__info .elementor-widget-text-editor { color: #fff; }
.dstan .e-con.dstan-contact__info .elementor-widget-text-editor a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.dstan .e-con.dstan-contact__info .dstan-contact__label .elementor-heading-title { font-size: 14px; font-weight: 500; color: var(--ds-tan); letter-spacing: .1em; }
.dstan .e-con.dstan-contact__form { flex: 1 1 0; --padding-top: 40px; --padding-bottom: 40px; --padding-left: 40px; --padding-right: 40px; background: #fff; box-shadow: 10px 10px 25px rgba(0, 0, 0, .12); --gap: 20px; }

/* Contact Form 7 表單外觀 */
.dstan .wpcf7 form { display: grid; gap: 16px; }
.dstan .wpcf7 label { display: block; font-size: 15px; color: var(--ds-brown); font-weight: 500; }
.dstan .wpcf7 input[type="text"],
.dstan .wpcf7 input[type="email"],
.dstan .wpcf7 input[type="tel"],
.dstan .wpcf7 select,
.dstan .wpcf7 textarea {
	width: 100%;
	margin-top: 6px;
	padding: 10px 14px;
	border: 1px solid var(--ds-tan);
	border-radius: 0;
	background: var(--ds-cream);
	font-family: var(--ds-sans);
	font-size: 16px;
}
.dstan .wpcf7 input:focus,
.dstan .wpcf7 select:focus,
.dstan .wpcf7 textarea:focus { outline: none; border-color: var(--ds-brown); box-shadow: 0 0 0 3px rgba(107, 63, 35, .15); }
.dstan .wpcf7 .wpcf7-submit {
	justify-self: start;
	min-width: 160px;
	padding: 10px 28px;
	border: 0;
	border-radius: 0;
	background: var(--ds-brown);
	color: #fff;
	font-family: var(--ds-sans);
	font-size: 16px;
	cursor: pointer;
}
.dstan .wpcf7 .wpcf7-submit:hover { background: var(--ds-brown-3); }
.dstan .e-con.dstan-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

/* 型錄（WooCommerce 商品列表）—搭配 WoodMart 商品卡 */
.dstan .dstan-catalog .products,
.dstan .dstan-catalog .wd-products { --wd-prod-gap: 28px; }
.dstan .dstan-catalog .wd-entities-title,
.dstan .dstan-catalog .woocommerce-loop-product__title { font-family: var(--ds-sans); font-weight: 700; font-size: 18px; color: var(--ds-brown); }

/* 分類入口卡（型錄頁頂部） */
.dstan .e-con.dstan-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 28px; width: 100%; max-width: 1340px; }

/* =========================================================
   響應式
   ========================================================= */
@media (max-width: 1366px) {
	.dstan .e-con.dstan-ing { grid-template-columns: repeat(3, 200px); }
	.dstan .e-con.dstan-ing > .e-con:nth-child(3),
	.dstan .e-con.dstan-ing > .e-con:nth-child(4) { margin: 0; }
	.dstan .e-con.dstan-duo { --flex-direction: column; flex-direction: column; align-items: center; --gap: 72px; }
	.dstan .e-con.dstan-duo__nuts, .dstan .e-con.dstan-duo__spreads { flex: 0 0 auto; width: 100%; max-width: 700px; }
}

@media (max-width: 1024px) {
	:root { --ds-gutter: 20px; }
	.e-con.dstan.dstan-sec--pad { --padding-top: 48px; --padding-bottom: 72px; }
	.dstan .e-con.dstan-wholesale__inner { --flex-direction: column; flex-direction: column; --gap: 48px; }
	.dstan .e-con.dstan-wholesale__card { flex: 0 0 auto; width: min(489px, 100%); aspect-ratio: auto; --padding-top: 48px; --padding-bottom: 48px; }
	.dstan .e-con.dstan-icons { flex-wrap: wrap; row-gap: 32px; }
	.dstan .e-con.dstan-icon-item { flex: 0 0 33.333%; }
	.dstan .e-con.dstan-icon-item:nth-child(3n + 1)::before { display: none; }
	.dstan .e-con.dstan-steps { grid-template-columns: repeat(3, 1fr); row-gap: 40px; }
	.dstan .e-con.dstan-step:nth-child(3n + 1)::after { display: none; }
	.dstan .e-con.dstan-split, .dstan .e-con.dstan-split--rev { --flex-direction: column; flex-direction: column; --gap: 32px; }
	.dstan .e-con.dstan-contact { --flex-direction: column; flex-direction: column; }
	.dstan .e-con.dstan-contact__info { flex: 0 0 auto; }
	.dstan .e-con.dstan-moon__panel { --padding-bottom: 72px; }
}

@media (max-width: 767px) {
	:root { --ds-gutter: 16px; }
	.e-con.dstan.dstan-sec--pad { --padding-top: 40px; --padding-bottom: 56px; }
	.dstan .e-con.dstan-stack { --gap: 32px; }
	.dstan .dstan-title__zh .elementor-heading-title { font-size: 22px; }
	.dstan .dstan-title__desc { font-size: 15px; text-align: left; }
	.dstan .e-con.dstan-title--lines .dstan-title__row::before,
	.dstan .e-con.dstan-title--lines .dstan-title__row::after { flex-basis: 48px; }
	.dstan .e-con.dstan-title--lines .dstan-title__row::before { margin-right: 12px; }
	.dstan .e-con.dstan-title--lines .dstan-title__row::after { margin-left: 12px; }

	.e-con.dstan.dstan-hero { clip-path: ellipse(120% 100% at 50% 0); min-height: 420px; }
	.e-con.dstan.dstan-banner { clip-path: ellipse(130% 100% at 50% 0); }

	.dstan .e-con.dstan-deco__row { --flex-direction: column; flex-direction: column; --gap: 12px; }
	.dstan .e-con.dstan-card-photo,
	.dstan .e-con.dstan-deco__row--b .dstan-card-photo { min-height: 220px; }

	.e-con.dstan.dstan-wholesale { min-height: 0; --padding-top: 48px; --padding-bottom: 48px; }
	.dstan .e-con.dstan-wholesale__card { --padding-left: 24px; --padding-right: 24px; --gap: 32px; }
	.dstan .e-con.dstan-wlist { --gap: 16px; width: 100%; }
	.dstan .e-con.dstan-wlist__row { --gap: 14px; }
	.dstan .e-con.dstan-wlist .dstan-pill .elementor-heading-title { width: 128px; height: 40px; font-size: 15px; }
	.dstan .e-con.dstan-wlist__row .elementor-widget-text-editor { flex: 1 1 0; font-size: 15px; }

	.dstan .e-con.dstan-icon-item { flex: 0 0 50%; --padding-left: 12px; --padding-right: 12px; }
	.dstan .e-con.dstan-icon-item:nth-child(3n + 1)::before { display: block; }
	.dstan .e-con.dstan-icon-item:nth-child(odd)::before { display: none; }
	.dstan .e-con.dstan-icon-item + .e-con.dstan-icon-item::before { height: 120px; }

	.e-con.dstan.dstan-ingredients { --padding-top: 110px; background-size: 900px 90px; }
	.dstan .e-con.dstan-ing { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
	.dstan .e-con.dstan-ing-card .elementor-widget-image img { height: 200px; }
	.dstan .e-con.dstan-maspex { --flex-direction: column; flex-direction: column; --gap: 8px; text-align: center; }

	.dstan .e-con.dstan-duo__spreads { --padding-left: 16px; --padding-right: 16px; }
	.dstan .e-con.dstan-mini-grid,
	.dstan .e-con.dstan-mini-grid--spread { grid-template-columns: minmax(0, 1fr); gap: 16px; width: 100%; }

	.dstan .e-con.dstan-moon__bg { min-height: 380px; --padding-top: 72px; }
	.dstan .e-con.dstan-moon__panel { border-radius: 28px; --padding-left: 12px; --padding-right: 12px; }
	.dstan .e-con.dstan-moon__panel::after { border-radius: 0 0 28px 28px; }

	.dstan .dstan-cta__title .elementor-heading-title { gap: 4px; }
	.dstan .dstan-cta__title .elementor-heading-title span { width: 30px; height: 30px; font-size: 16px; }

	.dstan .e-con.dstan-steps { grid-template-columns: repeat(2, 1fr); }
	.dstan .e-con.dstan-step:nth-child(3n + 1)::after { display: block; }
	.dstan .e-con.dstan-step:nth-child(odd)::after { display: none; }
	.dstan .e-con.dstan-form-row { grid-template-columns: 1fr; }
	.dstan .e-con.dstan-contact__form { --padding-left: 20px; --padding-right: 20px; }
}

@media (prefers-reduced-motion: reduce) {
	.dstan *, .dstan *::before, .dstan *::after { transition: none !important; }
}

/* ---------- 對齊微調 ---------- */
.dstan .e-con.dstan-icon-item .elementor-widget,
.dstan .e-con.dstan-ing-card .elementor-widget,
.dstan .e-con.dstan-card-photo .elementor-widget,
.dstan .e-con.dstan-title .elementor-widget,
.dstan .e-con.dstan-moon__head .elementor-widget,
.dstan .e-con.dstan-cta .elementor-widget,
.dstan .e-con.dstan-hero__copy .elementor-widget,
.dstan .e-con.dstan-banner__copy .elementor-widget,
.dstan .e-con.dstan-step .elementor-widget { text-align: center; width: 100%; }
.dstan .e-con.dstan-title--lines .dstan-title__desc,
.dstan .e-con.dstan-wholesale__card .dstan-title__desc { text-align: left; }
.dstan .e-con.dstan-title--light .dstan-title__desc { text-align: center; }
.dstan .e-con.dstan-title__row > .elementor-widget { flex: 0 0 auto; width: auto; }

/* 月餅頁：不壓在背景圖上的推薦面板 */
.dstan .e-con.dstan-moon__panel--plain { margin-top: 8px; }
.dstan .e-con.dstan-moon__panel--plain::after { inset: 0; border-radius: inherit; background: var(--ds-cream); }
.dstan .e-con.dstan-moon__panel--plain::before { display: none; }
.dstan .e-con.dstan-moon__panel--plain { --padding-bottom: 48px; box-shadow: 4px 4px 20px rgba(0, 0, 0, .12); }
.dstan .e-con.dstan-moon__panel--plain .dstan-moon__head .elementor-heading-title { color: var(--ds-brown); text-shadow: none; }

.dstan .e-con.dstan-step .dstan-step__num .elementor-heading-title { font-family: var(--ds-serif-en); font-size: 40px; font-weight: 400; line-height: 1; color: var(--ds-tan); }

/* 內頁月餅區（無背景圖）上方留白 */
.e-con.dstan.dstan-moon:not(:has(.dstan-moon__bg)) { --padding-top: 64px; }

/* 聯絡我們 */
.dstan .e-con.dstan-contact__info,
.dstan .e-con.dstan-contact__form { align-items: stretch; }
.dstan .e-con.dstan-contact__info .elementor-widget,
.dstan .e-con.dstan-contact__form .elementor-widget { width: 100%; text-align: left; }
.dstan .e-con.dstan-contact__info .elementor-widget-heading:not(.dstan-contact__label) .elementor-heading-title { font-size: 24px; color: #fff; margin-bottom: 8px; }
.dstan .e-con.dstan-contact__info .dstan-contact__label { margin-top: 6px; }
.dstan .e-con.dstan-contact__form .elementor-widget-heading .elementor-heading-title { font-size: 22px; color: var(--ds-brown); }
.dstan .wpcf7 input[type="text"],
.dstan .wpcf7 input[type="email"],
.dstan .wpcf7 input[type="tel"],
.dstan .wpcf7 select,
.dstan .wpcf7 textarea { max-width: none; height: auto; }
.dstan .wpcf7 form > p { margin: 0; }
.dstan .wpcf7 label br { display: none; }

@media (max-width: 1024px) {
	/* 批發清單疊在照片上時加底，避免文字看不清 */
	.dstan .e-con.dstan-wlist { width: min(489px, 100%); background: rgba(255, 255, 255, .92); --padding-top: 24px; --padding-bottom: 24px; --padding-left: 20px; --padding-right: 20px; box-shadow: 10px 10px 25px rgba(0, 0, 0, .15); }
}
