/* =========================================================
   VIVI Lite Home
   Version: 0.9.544
   Purpose: 首頁第一版 / B 方案輕量獨立輸出模式
========================================================= */

*, *::before, *::after { box-sizing: border-box; }
html { margin: 0; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body.vivi-lite-home-page {
	margin: 0;
	background: var(--vivi-color-bg);
	color: var(--vivi-color-text);
	font-family: var(--vivi-font-body);
	font-size: var(--vivi-fs-body);
	font-weight: var(--vivi-fw-regular);
	line-height: var(--vivi-lh-body);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}
body.vivi-lite-home-page a:not(.vivi-btn) { color: inherit; text-decoration: none; }
body.vivi-lite-home-page img { display: block; max-width: 100%; height: auto; }
body.vivi-lite-home-page button { font: inherit; cursor: pointer; }

body.vivi-lite-home-page.vivi-mobile-menu-open {
	overflow: hidden;
	touch-action: none;
}
/* v0.10.121：Header 高度統一由 vivi-base.css 的最外層 page wrapper 承擔。
   本檔只保留首頁外框的尺寸、背景與 overflow，不再重複加入 padding-top。 */
body.vivi-lite-page > .vivi-page { width: 100%; min-height: 100vh; overflow-x: hidden; overflow-y: visible; background: var(--vivi-color-bg); }

:root {
	/* 首頁舊變數名稱保留為相容層，實際值統一指向 vivi-base.css */
	--vivi-black: var(--vivi-color-black);
	--vivi-soft-black: var(--vivi-color-black-soft);
	--vivi-blue: var(--vivi-color-red);
	--vivi-yellow: var(--vivi-color-accent);
	--vivi-bg: var(--vivi-color-bg);
	--vivi-bg-soft: var(--vivi-color-bg-soft);
	--vivi-bg-warm: var(--vivi-color-bg-warm);
	--vivi-border: var(--vivi-color-border);
	--vivi-border-strong: var(--vivi-color-border-strong);
	--vivi-muted: var(--vivi-color-text-muted);
	--vivi-light: var(--vivi-color-text-light);
	--vivi-shadow: var(--vivi-shadow-card);
	--vivi-wide: var(--vivi-container-wide);
	--vivi-status-soldout: var(--vivi-color-red);
}


/* Common：按鈕樣式統一交由 assets/css/vivi-base.css 管理；首頁只保留區塊排版。 */
.vivi-kicker, .vivi-section-kicker { margin: 0 0 12px; color: var(--vivi-blue); font-size: var(--vivi-fs-xs); font-weight: var(--vivi-fw-bold); letter-spacing: .12em; }
.vivi-section { padding: 72px 64px; }
.vivi-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; width: min(100% - 20px, var(--vivi-container)); margin: 0 auto 30px; }
.vivi-section-head h2, .vivi-brand-intro h2, .vivi-family h2 { margin: 0; color: var(--vivi-black); font-size: var(--vivi-fs-h2); font-weight: var(--vivi-fw-bold); line-height: 1.18; letter-spacing: .04em; }
.vivi-section-head p:not(.vivi-section-kicker), .vivi-brand-intro p:not(.vivi-section-kicker), .vivi-family-copy > p:not(.vivi-section-kicker) { margin: 8px 0 0; color: var(--vivi-muted); font-size: var(--vivi-fs-small); font-weight: var(--vivi-fw-regular); }
.vivi-section-head > a { color: var(--vivi-black); font-size: var(--vivi-fs-small); font-weight: var(--vivi-fw-bold); border-bottom: 1px solid currentColor; }

/* Hero */
.vivi-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(390px, .9fr) minmax(520px, 1.1fr);
	align-items: center;
	min-height: 650px;
	padding: 86px 64px 72px;
	background:
		radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--vivi-color-red) 18%, transparent), transparent 28%),
		radial-gradient(circle at 10% 88%, color-mix(in srgb, var(--vivi-color-accent) 18%, transparent), transparent 24%),
		linear-gradient(115deg, var(--vivi-color-card-warm) 0%, var(--vivi-color-bg) 100%);
	border-bottom: 1px solid var(--vivi-border);
}
.vivi-hero::after { content: ""; position: absolute; left: 64px; right: 64px; bottom: 0; height: 1px; background: color-mix(in srgb, var(--vivi-color-black) 6%, transparent); }
.vivi-hero-copy { position: relative; z-index: 2; max-width: 600px; align-self: center; }
.vivi-hero h1 { margin: 0; color: var(--vivi-black); font-size: var(--vivi-fs-hero); font-weight: var(--vivi-fw-bold); line-height: 1.1; letter-spacing: .035em; }
.vivi-hero-text { max-width: 540px; margin: 24px 0 0; color: var(--vivi-soft-black); font-size: var(--vivi-fs-body); font-weight: var(--vivi-fw-regular); line-height: 1.9; }
.vivi-hero-buttons { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.vivi-hero-mini { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.vivi-hero-mini span { display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; color: var(--vivi-soft-black); background: color-mix(in srgb, var(--vivi-color-card) 64%, transparent); border: 1px solid var(--vivi-border); border-radius: var(--vivi-radius, 8px); font-size: var(--vivi-fs-xs); font-weight: var(--vivi-fw-bold); }
.vivi-hero-visual { position: relative; min-height: 480px; align-self: center; }
.vivi-hero-image { width: 100%; height: min(480px, 38vw); min-height: 420px; object-fit: cover; object-position: center; border-radius: var(--vivi-radius, 8px); border: 1px solid color-mix(in srgb, var(--vivi-color-card) 82%, transparent); box-shadow: var(--vivi-shadow); background: var(--vivi-bg-soft); }

/* Benefits */
.vivi-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; width: min(100% - 20px, var(--vivi-container)); margin: -26px auto 0; position: relative; z-index: 5; padding: 10px; background: color-mix(in srgb, var(--vivi-color-card) 94%, var(--vivi-color-bg-soft) 6%); border: 1px solid var(--vivi-border); border-radius: var(--vivi-radius, 8px); box-shadow: var(--vivi-shadow-soft); backdrop-filter: blur(12px); }
.vivi-benefit-card { position: relative; display: block; min-height: 116px; padding: 22px 20px 20px; color: inherit; border-radius: var(--vivi-radius, 8px); text-align: left; text-decoration: none; transition: background .2s ease, transform .2s ease, box-shadow .2s ease; }
.vivi-benefit-card + .vivi-benefit-card { border-left: 1px solid color-mix(in srgb, var(--vivi-color-black) 8%, transparent); }
.vivi-benefit-card:hover, .vivi-benefit-card:focus-visible { background: var(--vivi-color-bg-soft); transform: translateY(-1px); outline: none; }
.vivi-benefit-icon { display: none; align-items: center; justify-content: center; min-width: 34px; height: 22px; margin: 0 0 14px; color: var(--vivi-blue); background: color-mix(in srgb, var(--vivi-color-red) 10%, transparent); border-radius: var(--vivi-radius, 8px); font-size: var(--vivi-fs-xs); font-weight: var(--vivi-fw-bold); letter-spacing: .08em; }
.vivi-benefits strong { display: block; color: var(--vivi-black); font-size: var(--vivi-fs-body-lg); font-weight: var(--vivi-fw-bold); line-height: 1.25; letter-spacing: .02em; }
.vivi-benefit-card > span:last-child { display: block; margin-top: 7px; color: var(--vivi-muted); font-size: var(--vivi-fs-small); font-weight: var(--vivi-fw-regular); line-height: 1.55; }

/* Deals */
.vivi-deals { --vivi-deal-card-height: 392px; background: var(--vivi-bg); }
.vivi-deals-actions { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; }
.vivi-deals-layout { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; width: min(100% - 20px, var(--vivi-container)); margin: 0 auto; align-items: stretch; }
.vivi-deals-countdown { display: flex; flex-direction: column; min-width: 0; height: auto; min-height: var(--vivi-deal-card-height); align-self: stretch; background: color-mix(in srgb, var(--vivi-color-card) 72%, transparent); border: 1px solid var(--vivi-border); border-radius: var(--vivi-radius, 8px); box-shadow: var(--vivi-shadow-soft); }
.vivi-deals-countdown-card { overflow: hidden; padding: 0; height: auto; background: linear-gradient(135deg, var(--vivi-color-card) 0%, color-mix(in srgb, var(--vivi-color-bg-warm) 82%, transparent) 100%); border-radius: var(--vivi-radius, 8px); }
.vivi-countdown-banner { display: block; width: 100%; height: 190px; object-fit: cover; object-position: center; background: var(--vivi-bg-soft); }
.vivi-countdown-panel { display: grid; flex: 1 1 auto; align-content: center; gap: 12px; padding: 14px 18px 20px; }
.vivi-countdown-label { color: var(--vivi-light); font-size: var(--vivi-fs-xs); font-weight: var(--vivi-fw-bold); letter-spacing: .08em; text-transform: uppercase; }
.vivi-countdown-time { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.vivi-countdown-time span { display: grid; align-content: center; justify-items: center; min-height: 64px; background: var(--vivi-color-card); border: 1px solid color-mix(in srgb, var(--vivi-color-black) 8%, transparent); border-radius: var(--vivi-radius, 8px); }
.vivi-countdown-time strong { color: var(--vivi-black); font-size: var(--vivi-fs-h2); font-weight: var(--vivi-fw-bold); line-height: 1; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.vivi-countdown-time em { margin-top: 5px; color: var(--vivi-light); font-size: var(--vivi-fs-xs); font-style: normal; font-weight: var(--vivi-fw-bold); }
.vivi-deals-carousel { position: relative; grid-column: span 3; min-width: 0; background: transparent; }
body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-mobile { display: none !important; }
body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-desktop { display: block !important; }
.vivi-deals-track { position: relative; min-height: var(--vivi-deal-card-height); overflow: hidden; background: transparent; }
.vivi-deals-slide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; opacity: 0; pointer-events: none; position: absolute; inset: 0; background: transparent; transform: translateX(18px); transition: opacity .34s ease, transform .34s ease; }
.vivi-deals-slide.is-active { opacity: 1; pointer-events: auto; position: relative; transform: translateX(0); }
/* Loop List pagination：首頁保留相容 selector，實際規格統一由 vivi-base.css 的 .vivi-loop-pagination / .vivi-loop-dots 控制 */
.vivi-deals-carousel-nav { display: flex; align-items: center; justify-content: center; gap: var(--vivi-loop-pagination-gap); width: 100%; margin-top: var(--vivi-loop-pagination-margin-top); }
.vivi-deals-carousel-nav button { display: inline-flex; align-items: center; justify-content: center; width: var(--vivi-loop-pagination-button-size); height: var(--vivi-loop-pagination-button-size); color: var(--vivi-loop-pagination-button-color); background: var(--vivi-loop-pagination-button-bg); border: 1px solid var(--vivi-loop-pagination-button-border); border-radius: var(--vivi-radius, 8px); font-size: 0; font-weight: var(--vivi-fw-bold); line-height: 1; cursor: pointer; box-shadow: var(--vivi-loop-pagination-button-shadow); }
.vivi-deals-carousel-nav button:hover { border-color: var(--vivi-loop-pagination-button-hover-border); color: var(--vivi-loop-pagination-button-hover-color); }
.vivi-deals-dots { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: var(--vivi-loop-dots-gap); min-width: 0; }
.vivi-deals-dots button { width: var(--vivi-loop-dot-size); height: var(--vivi-loop-dot-size); padding: 0; border: 0; border-radius: var(--vivi-radius, 8px); background: var(--vivi-loop-dot-color); box-shadow: none; font-size: 0; }
.vivi-deals-dots button.is-active { width: var(--vivi-loop-dot-active-width); background: var(--vivi-loop-dot-active-color); }

.vivi-deals-carousel img,
.vivi-brand-carousel img,
.vivi-life-carousel img,
.vivi-deals-carousel a,
.vivi-brand-carousel a,
.vivi-life-carousel a { -webkit-user-drag: none; }

/* Carousel nav: keep prev / dots / next grouped together */
.vivi-deals-carousel-nav,
.vivi-brand-carousel-nav,
.vivi-life-carousel-nav {
	justify-content: center !important;
}
.vivi-deals-carousel-nav .vivi-deals-dots,
.vivi-brand-carousel-nav .vivi-deals-dots,
.vivi-life-carousel-nav .vivi-deals-dots {
	flex: 0 0 auto !important;
}

.vivi-product-card, .vivi-story-card { overflow: hidden; background: var(--vivi-color-card); border: 1px solid var(--vivi-border); border-radius: var(--vivi-radius, 8px); box-shadow: var(--vivi-shadow-soft); transition: transform .2s ease, box-shadow .2s ease; }
.vivi-product-card:hover, .vivi-story-card:hover { transform: translateY(-2px); box-shadow: var(--vivi-shadow); }
.vivi-product-link { display: block; height: 100%; color: inherit; text-decoration: none; }
.vivi-product-link:hover, .vivi-product-link:focus { color: inherit; text-decoration: none; }

.vivi-product-image { position: relative; min-height: 190px; background-size: cover; background-position: center; }
.vivi-product-image span { position: absolute; left: 14px; top: 14px; display: inline-flex; min-height: 26px; align-items: center; padding: 0 10px; color: var(--vivi-color-text-inverse); background: color-mix(in srgb, var(--vivi-color-black) 78%, transparent); border-radius: var(--vivi-radius, 8px); font-size: var(--vivi-fs-xs); font-weight: var(--vivi-fw-bold); letter-spacing: .08em; }
.vivi-product-soldout { position: absolute; right: 14px; top: 14px; display: inline-flex; min-height: 26px; align-items: center; padding: 0 10px; color: var(--vivi-color-text-inverse); background: var(--vivi-status-soldout); border-radius: var(--vivi-radius, 8px); font-size: var(--vivi-fs-xs); font-style: normal; font-weight: var(--vivi-fw-bold); letter-spacing: .08em; }
.vivi-product-card.is-soldout .vivi-product-image::after { content: ""; position: absolute; inset: 0; background: color-mix(in srgb, var(--vivi-color-bg-soft) 34%, transparent); pointer-events: none; }
.vivi-product-card.is-soldout .vivi-product-image span, .vivi-product-card.is-soldout .vivi-product-soldout { z-index: 1; }
.vivi-product-body { padding: 16px 16px 18px; }
.vivi-img-food { background-image: linear-gradient(135deg, var(--vivi-color-black), var(--vivi-color-red) 45%, var(--vivi-color-bg-warm)); }
.vivi-img-hotel { background-image: linear-gradient(135deg, var(--vivi-color-black-soft), var(--vivi-color-bg-warm) 52%, var(--vivi-color-bg)); }
.vivi-img-workshop { background-image: linear-gradient(135deg, var(--vivi-color-bg), var(--vivi-color-red) 46%, var(--vivi-color-black-soft)); }
.vivi-img-coffee { background-image: linear-gradient(135deg, var(--vivi-color-black), var(--vivi-color-accent) 42%, var(--vivi-color-bg-soft)); }
.vivi-img-care { background-image: linear-gradient(135deg, var(--vivi-color-bg), var(--vivi-color-bg-warm) 48%, var(--vivi-color-black-soft)); }
.vivi-img-family { background-image: linear-gradient(135deg, var(--vivi-color-bg-warm), var(--vivi-color-red) 54%, var(--vivi-color-bg)); }
.vivi-img-select { background-image: linear-gradient(135deg, var(--vivi-color-black-soft), var(--vivi-color-bg-warm) 48%, var(--vivi-color-bg)); }
.vivi-img-bistro { background-image: linear-gradient(135deg, var(--vivi-color-black), var(--vivi-color-red) 46%, var(--vivi-color-red)); }
.vivi-img-flower { background-image: linear-gradient(135deg, var(--vivi-color-bg-warm), var(--vivi-color-bg) 42%, var(--vivi-color-red)); }

/* Brand map */
.vivi-brand-map { display: grid; grid-template-columns: .76fr 1.24fr; gap: 42px; align-items: center; background: linear-gradient(135deg, var(--vivi-color-bg-warm) 0%, var(--vivi-color-bg) 100%); }
.vivi-brand-intro { justify-self: end; width: 100%; max-width: 380px; }
.vivi-brand-intro .vivi-btn { margin-top: 26px; }
.vivi-brand-carousel { width: 100%; max-width: 900px; min-width: 0; }
.vivi-brand-track { position: relative; min-height: 250px; overflow: hidden; background: transparent; }
.vivi-brand-slide { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; width: 100%; align-items: stretch; opacity: 0; pointer-events: none; position: absolute; inset: 0; background: transparent; transform: translateX(18px); transition: opacity .34s ease, transform .34s ease; }
.vivi-brand-slide.is-active { opacity: 1; pointer-events: auto; position: relative; transform: translateX(0); }
.vivi-brand-carousel-nav { margin-top: 22px; }

/* Editorial */
.vivi-life { background: var(--vivi-bg-soft); }
.vivi-story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; width: min(100% - 20px, var(--vivi-container)); margin: 0 auto; align-items: stretch; }
.vivi-life-carousel { width: min(100% - 20px, var(--vivi-container)); margin: 0 auto; }
.vivi-life-track { position: relative; overflow: hidden; background: transparent; }
.vivi-life-slide { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: stretch; width: 100%; opacity: 0; pointer-events: none; position: absolute; inset: 0; background: transparent; transform: translateX(18px); transition: opacity .34s ease, transform .34s ease; }
.vivi-life-slide.is-active { opacity: 1; pointer-events: auto; position: relative; transform: translateX(0); }
.vivi-life-carousel-nav { margin-top: 16px; }
.vivi-story-card { display: grid; grid-template-rows: auto 1fr; height: 100%; }
.vivi-story-card > div:last-child { display: flex; flex-direction: column; min-height: 0; padding: 18px; }
.vivi-story-card .vivi-story-image-link { display: block; margin: 0; border: 0; }
.vivi-story-image { display: block; min-height: 190px; background-size: cover; background-position: center; }
.vivi-story-card p { margin: 0 0 8px; color: var(--vivi-blue); font-size: var(--vivi-fs-xs); font-weight: var(--vivi-fw-bold); letter-spacing: .08em; }
.vivi-story-card h3 { margin: 0; min-height: 56px; font-size: var(--vivi-fs-h3); font-weight: var(--vivi-fw-bold); line-height: 1.42; }
.vivi-story-card h3 a { display: inline; margin: 0; color: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; border: 0; }
.vivi-story-card a { display: inline-flex; margin-top: 18px; font-size: var(--vivi-fs-small); font-weight: var(--vivi-fw-bold); border-bottom: 1px solid currentColor; }
.vivi-story-card .vivi-story-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin: 0 0 8px; color: var(--vivi-blue); font-size: var(--vivi-fs-xs); font-weight: var(--vivi-fw-bold); letter-spacing: .08em; }
.vivi-story-card .vivi-story-group-link,
.vivi-story-card .vivi-story-user-link { margin-top: 0 !important; color: inherit; font-size: inherit !important; font-weight: inherit; letter-spacing: inherit; border-bottom: 1px solid currentColor; }
.vivi-story-card .vivi-story-meta-sep { margin: 0 .35em; }
.vivi-story-excerpt { margin-top: 12px; color: var(--vivi-color-text-muted); font-size: var(--vivi-fs-small); font-weight: var(--vivi-fw-regular); line-height: 1.7; }
.vivi-story-readmore { margin-top: auto !important; padding-top: 18px; align-self: flex-start; }
.vivi-story-a { background-image: linear-gradient(135deg, var(--vivi-color-accent), var(--vivi-color-bg) 42%, var(--vivi-color-red)); }
.vivi-story-b { background-image: linear-gradient(135deg, var(--vivi-color-black), var(--vivi-color-black-soft) 44%, var(--vivi-color-bg-warm)); }
.vivi-story-c { background-image: linear-gradient(135deg, var(--vivi-color-red), var(--vivi-color-card-warm) 54%, var(--vivi-color-accent)); }

/* Family */
.vivi-family { display: grid; grid-template-columns: minmax(360px, .92fr) minmax(520px, 1.08fr); gap: 44px; align-items: center; width: min(100% - 20px, var(--vivi-container)); margin: 72px auto; padding: 46px 52px; background: var(--vivi-color-card); border: 1px solid var(--vivi-border); border-radius: var(--vivi-radius, 8px); box-shadow: var(--vivi-shadow-soft); }
.vivi-family-copy { max-width: 560px; }
.vivi-family .vivi-btn { margin-top: 28px; }
.vivi-family-panel { display: flex; justify-content: center; align-items: center; width: 100%; padding: 0; background: transparent; border: 0; border-radius: 0; overflow: visible; }
.vivi-family-guide-img { display: block; width: 100%; max-width: 640px; height: auto; object-fit: contain; border-radius: var(--vivi-radius, 8px); box-shadow: none; }

/* Footer */
/* Footer is locked in assets/css/vivi-base.css. Do not define .vivi-footer here. */

@media (max-width: 1120px) {
	.vivi-hero { grid-template-columns: 1fr; gap: 24px; padding: 72px 36px 56px; }
	.vivi-hero-copy { max-width: 760px; }
	.vivi-hero-visual { min-height: auto; }
	.vivi-hero-image { height: 430px; min-height: 430px; }
	.vivi-brand-slide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vivi-deals-layout { grid-template-columns: 1fr; }
	.vivi-deals-carousel { grid-column: auto; }
	.vivi-deals-slide { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vivi-brand-map { grid-template-columns: 1fr; }
	.vivi-brand-intro, .vivi-brand-carousel { justify-self: center; max-width: var(--vivi-container); }
}


@media (min-width: 861px) {
	.vivi-deals-carousel-desktop { display: block !important; }
	body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-mobile { display: none !important; }
body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-desktop { display: block !important; }
}

@media (max-width: 860px) {
	.vivi-hero { min-height: auto; padding: 54px 16px 40px; }
	.vivi-hero::after { left: 16px; right: 16px; }
	.vivi-hero h1 { font-size: var(--vivi-fs-hero); line-height: 1.14; letter-spacing: .025em; }
	.vivi-hero-text { margin-top: 18px; font-size: var(--vivi-fs-small); line-height: 1.82; }
	.vivi-hero-buttons { display: grid; grid-template-columns: 1fr; margin-top: 26px; }
	.vivi-btn { width: 100%; min-height: var(--vivi-btn-height); padding: 0 var(--vivi-btn-padding-x); font-size: var(--vivi-fs-button); border-radius: var(--vivi-radius, 8px); }
	.vivi-hero-mini { margin-top: 18px; }
	.vivi-hero-mini span { width: 100%; justify-content: center; }
	.vivi-hero-visual { min-height: auto; margin-top: 8px; }
	.vivi-hero-image { height: 330px; min-height: 330px; border-radius: var(--vivi-radius, 8px); }
	.vivi-benefits { grid-template-columns: 1fr; width: calc(100% - 20px); margin-top: -18px; padding: 8px; border-radius: var(--vivi-radius, 8px); }
	.vivi-benefit-card { display: grid; grid-template-columns: 42px 1fr; column-gap: 12px; align-items: start; min-height: auto; padding: 15px 12px; border-radius: var(--vivi-radius, 8px); }
	.vivi-benefit-card + .vivi-benefit-card { border-left: 0; border-top: 1px solid color-mix(in srgb, var(--vivi-color-black) 7.5%, transparent); }
	.vivi-benefit-icon { display: inline-flex; grid-row: 1 / span 2; min-width: 36px; height: 24px; margin: 0; font-size: var(--vivi-fs-xs); }
	.vivi-benefits strong { font-size: var(--vivi-fs-small); line-height: 1.25; }
	.vivi-benefit-card > span:last-child { margin-top: 3px; font-size: var(--vivi-fs-small); font-weight: var(--vivi-fw-regular); line-height: 1.45; }
	.vivi-section { padding: 48px 16px; }
	.vivi-section-head { display: block; margin-bottom: 22px; }
	.vivi-section-head h2, .vivi-brand-intro h2, .vivi-family h2 { font-size: var(--vivi-fs-h2); line-height: 1.25; }
	.vivi-section-head > a { display: inline-flex; margin-top: 14px; }
	.vivi-deals-actions { align-items: stretch; gap: 12px; margin-top: 16px; }
	.vivi-deals-countdown { min-width: 0; border-radius: var(--vivi-radius, 8px); }
	.vivi-deals-countdown-card { padding: 0; }
	.vivi-countdown-banner { height: 150px; }
	.vivi-countdown-panel { padding: 12px 14px 16px; }
	.vivi-countdown-time span { min-height: 56px; }
	.vivi-countdown-time strong { font-size: var(--vivi-fs-h3); }

	.vivi-story-grid { grid-template-columns: 1fr; gap: 14px; }
	.vivi-brand-slide { grid-template-columns: 1fr; gap: 14px; }
	.vivi-deals-layout { grid-template-columns: 1fr; }
	.vivi-deals-carousel { grid-column: auto; }
	body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-desktop { display: none !important; }
	body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-mobile { display: block !important; }
	.vivi-deals-countdown,
	.vivi-deals-countdown-card { height: auto; }
	.vivi-deals-track { min-height: 0; }
	.vivi-deals-slide { grid-template-columns: 1fr; gap: 14px; }
	.vivi-deals-carousel-nav { margin-top: var(--vivi-loop-pagination-margin-top); gap: var(--vivi-loop-pagination-gap); }
	.vivi-deals-dots { gap: var(--vivi-loop-dots-gap); }
	.vivi-deals-dots button { width: var(--vivi-loop-dot-size); height: var(--vivi-loop-dot-size); }
	.vivi-deals-dots button.is-active { width: var(--vivi-loop-dot-active-width); }
	.vivi-product-image, .vivi-story-image { min-height: 178px; }
	.vivi-story-card h3 { min-height: auto; font-size: var(--vivi-fs-body-lg); }
	.vivi-family { grid-template-columns: 1fr; width: calc(100% - 20px); margin: 48px auto; padding: 28px 20px; border-radius: var(--vivi-radius, 8px); gap: 24px; }
	.vivi-family-copy { max-width: none; }
	.vivi-family-panel { order: -1; justify-content: center; padding: 0; border-radius: 0; }
	.vivi-family-guide-img { width: 100%; max-width: 520px; max-height: none; border-radius: var(--vivi-radius, 8px); }
}

@media (max-width: 380px) {
	.vivi-logo { width: 174px; min-width: 154px; gap: 5px; }
	.vivi-logo-main { font-size: var(--vivi-fs-h2); }
	.vivi-logo-style { font-size: var(--vivi-fs-body); }
	.vivi-hero h1 { font-size: var(--vivi-fs-hero); }
	.vivi-hero-image { height: 300px; min-height: 300px; border-radius: var(--vivi-radius, 8px); }
}

@media (max-width: 700px) {
	.vivi-life-slide { grid-template-columns: 1fr; gap: 14px; }
	.vivi-life-carousel-nav { margin-top: 14px; }
}


/* Brand map / V生活誌：與 94小確幸使用同一套頁面切換結構 */
.vivi-brand-track,
.vivi-life-track {
	position: relative;
	overflow: hidden;
	background: transparent;
}
.vivi-brand-slide,
.vivi-life-slide {
	display: grid;
	width: 100%;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	inset: 0;
	background: transparent;
	transform: translateX(18px);
	transition: opacity .34s ease, transform .34s ease;
}
.vivi-brand-slide {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}
.vivi-life-slide {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}
.vivi-brand-slide.is-active,
.vivi-life-slide.is-active {
	opacity: 1;
	pointer-events: auto;
	position: relative;
	transform: translateX(0);
}
@media (max-width: 900px) {
	.vivi-brand-slide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.vivi-brand-slide,
	.vivi-life-slide { grid-template-columns: 1fr; gap: 14px; }
}

/* Carousel motion smoothing: 94小確幸 / 生活探索 / V生活誌 */
.vivi-deals-carousel,
.vivi-brand-carousel,
.vivi-life-carousel {
	-webkit-tap-highlight-color: transparent;
	touch-action: pan-y;
	overscroll-behavior: contain;
}
.vivi-deals-track,
.vivi-brand-track,
.vivi-life-track {
	isolation: isolate;
}
.vivi-deals-slide,
.vivi-brand-slide,
.vivi-life-slide {
	will-change: transform, opacity;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.vivi-deals-slide.is-active,
.vivi-brand-slide.is-active,
.vivi-life-slide.is-active {
	animation-duration: .36s;
	animation-timing-function: cubic-bezier(.22, .72, .18, 1);
	animation-fill-mode: both;
}
.vivi-deals-carousel.is-moving-next .vivi-deals-slide.is-active,
.vivi-brand-carousel.is-moving-next .vivi-brand-slide.is-active,
.vivi-life-carousel.is-moving-next .vivi-life-slide.is-active {
	animation-name: viviCarouselInNext;
}
.vivi-deals-carousel.is-moving-prev .vivi-deals-slide.is-active,
.vivi-brand-carousel.is-moving-prev .vivi-brand-slide.is-active,
.vivi-life-carousel.is-moving-prev .vivi-life-slide.is-active {
	animation-name: viviCarouselInPrev;
}
.vivi-deals-dots button,
.vivi-deals-carousel-nav button,
.vivi-brand-carousel-nav button,
.vivi-life-carousel-nav button {
	transition: width .24s cubic-bezier(.22, .72, .18, 1), background-color .24s ease, border-color .24s ease, color .24s ease, transform .2s ease, box-shadow .2s ease;
}
.vivi-deals-carousel-nav button:hover,
.vivi-brand-carousel-nav button:hover,
.vivi-life-carousel-nav button:hover {
	transform: translateY(-1px);
}
.vivi-deals-carousel.is-dragging,
.vivi-brand-carousel.is-dragging,
.vivi-life-carousel.is-dragging {
	user-select: none;
}
@keyframes viviCarouselInNext {
	0% { opacity: 0; transform: translate3d(22px, 0, 0) scale(.995); }
	100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes viviCarouselInPrev {
	0% { opacity: 0; transform: translate3d(-22px, 0, 0) scale(.995); }
	100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
	.vivi-deals-slide.is-active,
	.vivi-brand-slide.is-active,
	.vivi-life-slide.is-active {
		animation: none !important;
	}
	.vivi-deals-dots button,
	.vivi-deals-carousel-nav button,
	.vivi-brand-carousel-nav button,
	.vivi-life-carousel-nav button {
		transition: none !important;
	}
}


/* v18: 94小確幸 / 生活探索 / V生活誌 — 頁面切換改為真正左右滑動 */
.vivi-deals-track,
.vivi-brand-track,
.vivi-life-track {
	position: relative;
	overflow: hidden;
}
.vivi-deals-slide,
.vivi-brand-slide,
.vivi-life-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	opacity: 0;
	pointer-events: none;
	transform: translate3d(0, 0, 0);
	transition: none;
	animation: none !important;
	will-change: transform;
}
.vivi-deals-slide.is-active,
.vivi-brand-slide.is-active,
.vivi-life-slide.is-active {
	position: relative;
	opacity: 1;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
	animation: none !important;
}
.vivi-deals-carousel.is-sliding,
.vivi-brand-carousel.is-sliding,
.vivi-life-carousel.is-sliding {
	pointer-events: none;
}
.vivi-deals-carousel.is-dragging,
.vivi-brand-carousel.is-dragging,
.vivi-life-carousel.is-dragging {
	user-select: none;
}



@media (min-width: 861px) {
	.vivi-deals-carousel-desktop { display: block !important; }
	body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-mobile { display: none !important; }
body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-desktop { display: block !important; }
}




/* v0.9.23 94小確幸 RWD 顯示保險：桌機只顯示桌機輪播，手機只顯示手機輪播 */
body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-mobile { display: none !important; }
body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-desktop { display: block !important; }
@media (max-width: 860px) {
	body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-desktop { display: none !important; }
	body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-mobile { display: block !important; }
}
@media (min-width: 861px) {
	body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-desktop { display: block !important; }
	body.vivi-lite-home-page .vivi-deals .vivi-deals-carousel-mobile { display: none !important; }
}


/* v0.9.24 品牌 / V生活誌 RWD 顯示保險：桌機使用原本 4 個一組，手機使用 1 個一頁 */
body.vivi-lite-home-page .vivi-brand-carousel-mobile,
body.vivi-lite-home-page .vivi-life-carousel-mobile { display: none !important; }
body.vivi-lite-home-page .vivi-brand-carousel-desktop,
body.vivi-lite-home-page .vivi-life-carousel-desktop { display: block !important; }
@media (max-width: 860px) {
	body.vivi-lite-home-page .vivi-brand-carousel-desktop,
	body.vivi-lite-home-page .vivi-life-carousel-desktop { display: none !important; }
	body.vivi-lite-home-page .vivi-brand-carousel-mobile,
	body.vivi-lite-home-page .vivi-life-carousel-mobile { display: block !important; }
}
@media (min-width: 861px) {
	body.vivi-lite-home-page .vivi-brand-carousel-desktop,
	body.vivi-lite-home-page .vivi-life-carousel-desktop { display: block !important; }
	body.vivi-lite-home-page .vivi-brand-carousel-mobile,
	body.vivi-lite-home-page .vivi-life-carousel-mobile { display: none !important; }
}


/* v0.9.25 手機版首頁版型微調：只作用於手機，不影響桌機 */
@media (max-width: 860px) {
	body.vivi-lite-home-page .vivi-hero {
		display: flex;
		flex-direction: column;
		gap: 18px;
		padding-top: 0;
	}
	body.vivi-lite-home-page .vivi-hero-visual {
		order: 1;
		width: calc(100% + 32px);
		margin: 0 -16px 0;
	}
	body.vivi-lite-home-page .vivi-hero-copy {
		order: 2;
		width: 100%;
	}
	body.vivi-lite-home-page .vivi-hero-image {
		display: block;
		width: 100%;
		height: auto;
		min-height: 0;
		border-radius: 0;
		border-left: 0;
		border-right: 0;
	}
	body.vivi-lite-home-page .vivi-hero-buttons,
	body.vivi-lite-home-page .vivi-hero-mini,
	body.vivi-lite-home-page .vivi-benefits,
	body.vivi-lite-home-page .vivi-countdown-banner {
		display: none !important;
	}
	body.vivi-lite-home-page .vivi-brand-carousel-mobile .vivi-brand-slide {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}
}

@media (max-width: 380px) {
	body.vivi-lite-home-page .vivi-brand-carousel-mobile .vivi-brand-slide {
		gap: 10px;
	}
}


/* v0.9.26 手機版：縮小 94小確幸計時器上下空間，不影響桌機 */
@media (max-width: 860px) {
	body.vivi-lite-home-page .vivi-deals .vivi-deals-countdown {
		min-height: 0 !important;
		height: auto !important;
	}
	body.vivi-lite-home-page .vivi-deals .vivi-deals-countdown-card {
		min-height: 0 !important;
		height: auto !important;
	}
	body.vivi-lite-home-page .vivi-deals .vivi-countdown-panel {
		align-content: start;
		gap: 8px;
		padding: 14px 14px 15px;
	}
	body.vivi-lite-home-page .vivi-deals .vivi-countdown-time span {
		min-height: 50px;
	}
}


/* Shared mobile header and bottom nav separators are locked in assets/css/vivi-base.css. */


/* v0.9.28 94小確幸計時器：活動期間紅底白字；手機版時間格上下 padding */
body.vivi-lite-home-page .vivi-deals-countdown.is-vivi-deal-active .vivi-countdown-time span {
	background: var(--vivi-status-soldout) !important;
	border-color: var(--vivi-status-soldout) !important;
}
body.vivi-lite-home-page .vivi-deals-countdown.is-vivi-deal-active .vivi-countdown-time strong,
body.vivi-lite-home-page .vivi-deals-countdown.is-vivi-deal-active .vivi-countdown-time em {
	color: var(--vivi-color-text-inverse) !important;
}

@media (max-width: 860px) {
	body.vivi-lite-home-page .vivi-deals .vivi-countdown-time span {
		box-sizing: border-box;
		padding-top: 10px;
		padding-bottom: 10px;
	}
}

/* v0.9.29 94小確幸：查看更多移至計時器下方 */
body.vivi-lite-home-page .vivi-countdown-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 40px;
	margin-top: 2px;
	padding: 0 14px;
	color: var(--vivi-black);
	background: color-mix(in srgb, var(--vivi-color-card) 86%, transparent);
	border: 1px solid var(--vivi-border);
	border-radius: var(--vivi-radius, 8px);
	font-size: var(--vivi-fs-xs);
	font-weight: var(--vivi-fw-bold);
	letter-spacing: .06em;
	text-decoration: none;
}
body.vivi-lite-home-page .vivi-countdown-more:hover,
body.vivi-lite-home-page .vivi-countdown-more:focus-visible {
	color: var(--vivi-blue);
	border-color: color-mix(in srgb, var(--vivi-color-red) 42%, transparent);
	outline: none;
}



/* v0.9.30 94小確幸：放大倒數狀態標題（開賣前 / 活動中） */
body.vivi-lite-home-page .vivi-deals .vivi-countdown-label {
	font-size: var(--vivi-fs-body) !important;
	line-height: 1.35;
	letter-spacing: .06em;
}

@media (max-width: 860px) {
	body.vivi-lite-home-page .vivi-deals .vivi-countdown-label {
		font-size: var(--vivi-fs-body) !important;
		line-height: 1.35;
	}
}

/* Shared header trigger behavior is locked in assets/css/vivi-base.css. */

/* v164：首頁 94小確幸區塊改用 94小確幸頁面同款計時器，不再顯示首頁商品輪播。 */
body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section {
	width: min(100% - 20px, var(--vivi-container));
	margin: 0 auto;
}

body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-94-deals-countdown-card {
	display: grid;
	grid-template-columns: minmax(220px, 38%) minmax(0, 1fr);
	min-height: 0;
	height: auto;
	border-radius: var(--vivi-radius, 8px);
	overflow: hidden;
	background: linear-gradient(135deg, var(--vivi-color-card) 0%, color-mix(in srgb, var(--vivi-color-bg-warm) 82%, transparent) 100%);
}

body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-countdown-banner {
	width: 100%;
	height: 100%;
	min-height: 210px;
	object-fit: cover;
	object-position: center;
}

body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-countdown-panel {
	align-content: center;
	gap: 14px;
	padding: 24px;
}

body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-countdown-label {
	color: var(--vivi-light);
	font-size: var(--vivi-fs-body);
	font-weight: var(--vivi-fw-bold);
	line-height: 1.35;
	letter-spacing: .06em;
}

body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-countdown-time {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-countdown-time span {
	display: grid;
	align-content: center;
	justify-items: center;
	min-height: 72px;
	background: var(--vivi-color-card);
	border: 1px solid color-mix(in srgb, var(--vivi-color-black) 8%, transparent);
	border-radius: var(--vivi-radius, 8px);
}

body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-countdown-time strong {
	color: var(--vivi-black);
	font-size: var(--vivi-fs-h2);
	font-weight: var(--vivi-fw-bold);
	line-height: 1;
	letter-spacing: .02em;
	font-variant-numeric: tabular-nums;
}

body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-countdown-time em {
	margin-top: 6px;
	color: var(--vivi-light);
	font-size: var(--vivi-fs-xs);
	font-style: normal;
	font-weight: var(--vivi-fw-bold);
}

body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-94-countdown-note {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 40px;
	margin-top: 2px;
	padding: 0 14px;
	color: var(--vivi-black);
	background: color-mix(in srgb, var(--vivi-color-card) 86%, transparent);
	border: 1px solid var(--vivi-border);
	border-radius: var(--vivi-radius, 8px);
	font-size: var(--vivi-fs-xs);
	font-weight: var(--vivi-fw-bold);
	letter-spacing: .06em;
	text-decoration: none;
}

body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-94-countdown-note:hover,
body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-94-countdown-note:focus-visible {
	border-color: color-mix(in srgb, var(--vivi-color-red) 42%, transparent);
	outline: none;
}

@media (max-width: 767px) {
	body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section {
		width: 100%;
		max-width: 100%;
	}

	body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-94-deals-countdown-card {
		display: flex;
		flex-direction: column;
		border-radius: var(--vivi-radius, 8px);
	}

	body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-countdown-banner {
		height: 150px;
		min-height: 150px;
	}

	body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-countdown-panel {
		gap: 9px;
		padding: 14px 14px 15px;
	}

	body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-countdown-label {
		font-size: var(--vivi-fs-body);
	}

	body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-countdown-time span {
		min-height: 54px;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	body.vivi-lite-home-page .vivi-deals .vivi-home-94-countdown-section .vivi-countdown-time strong {
		font-size: var(--vivi-fs-h3);
	}
}

/* v165：首頁生活探索區塊寬度對齊其他首頁主要內容容器 */
body.vivi-lite-home-page .vivi-brand-map {
	width: min(100% - 20px, var(--vivi-container));
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
}

@media (max-width: 1120px) {
	body.vivi-lite-home-page .vivi-brand-map {
		width: min(100% - 20px, var(--vivi-container));
	}
}

@media (max-width: 767px) {
	body.vivi-lite-home-page .vivi-brand-map {
		width: calc(100% - 20px);
	}
}

/* v169：首頁生活探索區塊底色恢復 v164 原本柔和漸層配色，保留目前寬度設定 */
body.vivi-lite-home-page .vivi-brand-map {
	background: linear-gradient(135deg, var(--vivi-color-bg-warm) 0%, var(--vivi-color-bg) 100%);
}

/* v170：首頁「探索生活圈內的優質品牌」底色全頁展開，內容維持與主要容器對齊 */
body.vivi-lite-home-page .vivi-brand-map {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-left: max(10px, calc((100% - var(--vivi-container)) / 2));
	padding-right: max(10px, calc((100% - var(--vivi-container)) / 2));
	background: linear-gradient(135deg, var(--vivi-color-bg-warm) 0%, var(--vivi-color-bg) 100%);
}

@media (max-width: 1120px) {
	body.vivi-lite-home-page .vivi-brand-map {
		padding-left: 10px;
		padding-right: 10px;
	}
}

@media (max-width: 767px) {
	body.vivi-lite-home-page .vivi-brand-map {
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* v171：手機板首頁生活探索區塊，將「探索生活圈」按鈕移到整個區塊最下方 */
@media (max-width: 767px) {
	body.vivi-lite-home-page .vivi-brand-map {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	body.vivi-lite-home-page .vivi-brand-intro {
		display: contents;
	}

	body.vivi-lite-home-page .vivi-brand-intro .vivi-section-kicker {
		order: 1;
		width: 100%;
	}

	body.vivi-lite-home-page .vivi-brand-intro h2 {
		order: 2;
		width: 100%;
	}

	body.vivi-lite-home-page .vivi-brand-intro p:not(.vivi-section-kicker) {
		order: 3;
		width: 100%;
	}

	body.vivi-lite-home-page .vivi-brand-carousel {
		order: 10;
		width: 100%;
		margin-top: 18px;
	}

	body.vivi-lite-home-page .vivi-brand-intro .vivi-btn {
		order: 20;
		align-self: center;
		margin-top: 10px;
		margin-bottom: 0;
	}
}

/* =========================================================
   VIVI Home Activity Loop: align with activity page cards
   - 首頁 V生活誌動態卡片同步動態頁 Loop Item 設定
   - 只針對品牌名稱、標題、內容摘要進行顯示控制
   - 字級與字重由網站基礎設定管理
========================================================= */
body.vivi-lite-home-page .vivi-life .vivi-activity-card h3.vivi-activity-title-line{
	display:block;
	min-width:0;
	min-height:auto !important;
	max-width:100%;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	font-size:var(--vivi-fs-h3);
	font-weight:var(--vivi-fw-bold);
	line-height:1.42;
}
body.vivi-lite-home-page .vivi-life .vivi-activity-card h3.vivi-activity-title-line a{
	display:block;
	min-width:0;
	max-width:100%;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	font-size:inherit;
	font-weight:inherit;
	line-height:inherit;
	border-bottom:0;
}
body.vivi-lite-home-page .vivi-life .vivi-activity-card .vivi-story-user-link{
	display:inline-block !important;
	max-width:min(62%, calc(100% - 7.2em));
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	vertical-align:bottom;
}
body.vivi-lite-home-page .vivi-life .vivi-activity-card .vivi-story-excerpt{
	display:-webkit-box !important;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:5;
	overflow:hidden !important;
	text-overflow:ellipsis;
	font-size:var(--vivi-fs-body);
	font-weight:var(--vivi-fw-regular);
	line-height:1.7;
}


/* 首頁輪播箭頭：相容舊 selector；通用規格已納入 vivi-base.css */
body.vivi-lite-home-page .vivi-deals-carousel-nav button[data-vivi-deals-prev]::before,
body.vivi-lite-home-page .vivi-brand-carousel-nav button[data-vivi-brand-prev]::before,
body.vivi-lite-home-page .vivi-life-carousel-nav button[data-vivi-life-prev]::before {
	content: '‹';
	display: block;
	font-size: var(--vivi-loop-pagination-arrow-font-size);
	font-weight: var(--vivi-fw-bold);
	line-height: 1;
}

body.vivi-lite-home-page .vivi-deals-carousel-nav button[data-vivi-deals-next]::before,
body.vivi-lite-home-page .vivi-brand-carousel-nav button[data-vivi-brand-next]::before,
body.vivi-lite-home-page .vivi-life-carousel-nav button[data-vivi-life-next]::before {
	content: '›';
	display: block;
	font-size: var(--vivi-loop-pagination-arrow-font-size);
	font-weight: var(--vivi-fw-bold);
	line-height: 1;
}

body.vivi-lite-home-page .vivi-deals-carousel-nav button[data-vivi-deals-prev],
body.vivi-lite-home-page .vivi-deals-carousel-nav button[data-vivi-deals-next],
body.vivi-lite-home-page .vivi-brand-carousel-nav button[data-vivi-brand-prev],
body.vivi-lite-home-page .vivi-brand-carousel-nav button[data-vivi-brand-next],
body.vivi-lite-home-page .vivi-life-carousel-nav button[data-vivi-life-prev],
body.vivi-lite-home-page .vivi-life-carousel-nav button[data-vivi-life-next] {
	font-size: 0;
}


