/*
Theme Name: moloop Landing
Theme URI: https://moloop.tw
Author: moloop
Description: moloop 品牌著陸頁主題。雙源胜肽機能飲——以包裝藍→青→綠漸層為節律語言，含日常三律、成分、訂閱與 Email 名單擷取區塊。
Version: 1.4.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: moloop-landing
Tags: one-column, custom-colors, landing-page
*/

/* =========================================================
   Design tokens（依 moloop 品牌手冊）
   ======================================================= */
:root{
	--ink:#12332E;            /* 深墨綠：主要文字 */
	--ink-soft:#4C6660;       /* 柔墨：輔助文字 */
	--canvas:#FBFAF6;         /* 主畫布：近白暖米 */
	--paper:#FFFFFF;
	--line:#E4E4DA;
	--blue:#1D5FA8;           /* 包裝漸層：晨 */
	--azure:#2E8FC0;
	--teal:#1E7F74;           /* 午 */
	--green:#1A4D2E;          /* 夜 */
	--grad:linear-gradient(100deg,var(--blue) 0%,var(--azure) 34%,var(--teal) 66%,var(--green) 100%);
	--serif-tc:'Noto Serif TC',serif;
	--sans-tc:'Noto Sans TC',sans-serif;
	--fraunces:'Fraunces',serif;
	--inter:'Inter',sans-serif;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
	background:var(--canvas);
	color:var(--ink);
	font-family:var(--sans-tc),var(--inter);
	line-height:1.75;
	-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px}
.wrap{max-width:1080px;margin:0 auto;padding-left:24px;padding-right:24px}

/* =========================================================
   Nav
   ======================================================= */
.site-nav{
	position:sticky;top:0;z-index:20;
	background:rgba(251,250,246,.88);backdrop-filter:blur(10px);
	border-bottom:1px solid var(--line);
}
body.admin-bar .site-nav{top:32px}
@media(max-width:782px){body.admin-bar .site-nav{top:46px}}
.nav-inner{display:flex;align-items:baseline;justify-content:space-between;padding:18px 24px;max-width:1080px;margin:0 auto}
.wordmark{font-family:var(--fraunces);font-weight:600;font-size:1.25rem;letter-spacing:.04em}
.wordmark em{
	font-style:italic;
	background:var(--grad);
	-webkit-background-clip:text;background-clip:text;color:transparent;
}
.wordmark .zh{font-family:var(--serif-tc);font-style:normal;font-weight:600;font-size:1.05rem;margin-left:.5em;color:var(--ink)}
.wordmark-sm{font-size:1rem}
.wordmark-sm .zh{font-size:.9rem}
.nav-links{display:flex;gap:28px;font-size:.85rem;font-weight:500;color:var(--ink-soft)}
.nav-links a:hover{color:var(--teal)}
@media(max-width:640px){.nav-links{display:none}}

/* =========================================================
   Hero
   ======================================================= */
.hero{padding-top:110px;padding-bottom:90px}
.eyebrow{
	font-family:var(--inter);font-size:.72rem;font-weight:600;
	letter-spacing:.22em;text-transform:uppercase;color:var(--teal);
	margin-bottom:26px;
}
.hero h1{
	font-family:var(--serif-tc);font-weight:700;
	font-size:clamp(2.1rem,5.4vw,3.6rem);
	line-height:1.35;letter-spacing:.02em;max-width:20em;
}
.hero .accent{color:var(--teal)}
.hero-en{
	font-family:var(--fraunces);font-style:italic;font-weight:400;
	font-size:clamp(1.2rem,2.6vw,1.7rem);
	margin-top:18px;
	background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-sub{margin-top:28px;max-width:34em;color:var(--ink-soft);font-size:1.02rem}
.hero-cta{margin-top:44px;display:flex;gap:16px;flex-wrap:wrap}
.btn{
	display:inline-block;padding:14px 32px;border-radius:999px;
	font-weight:500;font-size:.95rem;letter-spacing:.04em;
	transition:transform .18s ease,box-shadow .18s ease;
}
.btn-primary{background:var(--green);color:#fff}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(26,77,46,.25);color:#fff}
.btn-ghost{border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}

/* =========================================================
   The Loop（品牌識別區）
   ======================================================= */
.loop{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:96px 0}
.section-head{margin-bottom:56px}
.section-head h2,.capture h2{
	font-family:var(--serif-tc);font-weight:600;
	font-size:clamp(1.5rem,3.2vw,2.1rem);letter-spacing:.03em;
}
.section-head p{color:var(--ink-soft);margin-top:12px;max-width:36em}
.loopline{position:relative;margin-bottom:8px}
.loopline svg{width:100%;height:56px;display:block}
.rituals{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
@media(max-width:760px){.rituals{grid-template-columns:1fr;gap:40px}.loopline{display:none}}
.ritual{padding-top:22px}
.ritual .time{font-family:var(--inter);font-size:.78rem;font-weight:600;letter-spacing:.18em}
.ritual .en{font-family:var(--fraunces);font-style:italic;font-weight:500;font-size:1.35rem;margin-top:10px}
.ritual h3{font-family:var(--serif-tc);font-weight:700;font-size:1.15rem;margin-top:6px;letter-spacing:.06em}
.ritual p{color:var(--ink-soft);font-size:.94rem;margin-top:12px;max-width:24em}
.r-morning .time,.r-morning .en{color:var(--azure)}
.r-noon .time,.r-noon .en{color:var(--teal)}
.r-night .time,.r-night .en{color:var(--green)}

/* =========================================================
   Ingredients
   ======================================================= */
.ingredients{padding-top:96px;padding-bottom:96px}
.ing-grid{
	display:grid;grid-template-columns:repeat(3,1fr);
	border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper);
}
@media(max-width:760px){.ing-grid{grid-template-columns:1fr}}
.ing{padding:40px 34px;border-right:1px solid var(--line)}
.ing:last-child{border-right:none}
@media(max-width:760px){
	.ing{border-right:none;border-bottom:1px solid var(--line)}
	.ing:last-child{border-bottom:none}
}
.ing .zh{font-family:var(--serif-tc);font-weight:700;font-size:1.2rem;letter-spacing:.05em}
.ing .latin{font-family:var(--inter);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-top:6px}
.ing .desc{color:var(--ink-soft);font-size:.93rem;margin-top:16px}

/* =========================================================
   Subscription plans
   ======================================================= */
.plans{padding-bottom:96px}
.plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px}
@media(max-width:760px){.plan-grid{grid-template-columns:1fr}}
.plan{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:40px 36px}
.plan.featured{border:1.5px solid var(--teal)}
.plan .name{font-family:var(--serif-tc);font-weight:700;font-size:1.3rem;letter-spacing:.08em}
.plan .tag{font-family:var(--inter);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-top:4px}
.plan ul{list-style:none;margin-top:22px;color:var(--ink-soft);font-size:.93rem}
.plan ul li{padding:7px 0 7px 22px;position:relative}
.plan ul li::before{content:"";position:absolute;left:0;top:16px;width:8px;height:8px;border-radius:50%;background:var(--grad)}
.plan .btn{margin-top:28px}

/* =========================================================
   Email capture
   ======================================================= */
.capture{background:var(--green);color:#F4F1E6;padding:88px 0}
.capture h2{color:#fff}
.capture .hero-en{margin-top:8px;font-size:1.25rem}
.capture-sub{color:rgba(244,241,230,.75);margin-top:14px;max-width:32em}
.capture-form{display:flex;gap:12px;margin-top:36px;max-width:480px;flex-wrap:wrap}
.capture-form input[type="email"]{
	flex:1;min-width:220px;padding:14px 20px;border-radius:999px;border:none;
	font-family:var(--sans-tc);font-size:.95rem;background:rgba(255,255,255,.94);color:var(--ink);
}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.capture-form button{
	padding:14px 30px;border-radius:999px;border:none;cursor:pointer;
	background:linear-gradient(100deg,var(--azure),var(--teal));
	color:#fff;font-family:var(--sans-tc);font-weight:500;font-size:.95rem;letter-spacing:.04em;
	transition:opacity .18s ease;
}
.capture-form button:hover{opacity:.9}
.capture-form button:disabled{opacity:.6;cursor:default}
.form-msg{margin-top:14px;font-size:.9rem;min-height:1.4em;color:#fff}
.capture small{display:block;margin-top:16px;font-size:.78rem;color:rgba(244,241,230,.55)}

/* =========================================================
   Footer
   ======================================================= */
.site-footer{padding:48px 0;font-size:.82rem;color:var(--ink-soft)}
.foot-inner{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px}

/* =========================================================
   Accessibility / motion
   ======================================================= */
@media(prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	.btn,.capture-form button{transition:none}
}

/* =========================================================
   語言切換與多語字體
   ======================================================= */
.nav-right{display:flex;align-items:baseline;gap:24px}
.lang-switch{display:flex;gap:2px;font-family:var(--inter);font-size:.76rem;font-weight:500}
.lang-switch a{padding:3px 9px;border-radius:999px;color:var(--ink-soft)}
.lang-switch a:hover{color:var(--teal)}
.lang-switch a.active{background:var(--ink);color:#fff}

/* 日文：本文與標題改用 JP 家族（品牌固定漢字仍相容） */
body.lang-ja{
	--serif-tc:'Noto Serif JP','Noto Serif TC',serif;
	--sans-tc:'Noto Sans JP','Noto Sans TC',sans-serif;
}
/* 韓文：本文與標題改用 KR 家族；儀式名/方案名的漢字回退至 TC */
body.lang-ko{
	--serif-tc:'Noto Serif KR','Noto Serif TC',serif;
	--sans-tc:'Noto Sans KR','Noto Sans TC',sans-serif;
}
/* 英文：本文以 Inter 為先 */
body.lang-en{
	--sans-tc:'Inter','Noto Sans TC',sans-serif;
}
/* 英文標題行高與字距微調（拉丁字母不需 CJK 的寬行高） */
body.lang-en .hero h1{line-height:1.18;letter-spacing:0;max-width:16em}
body.lang-en .section-head h2,body.lang-en .capture h2{letter-spacing:0}

/* =========================================================
   Hero v2：兩欄（文案 + 產品視覺）與成果副標
   ======================================================= */
.hero{padding-top:90px;padding-bottom:80px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
@media(max-width:860px){
	.hero{padding-top:64px}
	.hero-grid{grid-template-columns:1fr;gap:40px}
	.hero-visual{order:-1;max-width:320px;margin:0 auto}
}
.hero-visual svg{width:100%;height:auto;display:block}
.hero-outcome{
	margin-top:22px;max-width:30em;
	font-weight:700;font-size:1.08rem;line-height:1.7;color:var(--ink);
}
.hero .hero-en{font-size:clamp(1.05rem,2vw,1.35rem);margin-top:14px}
.hero-sub{margin-top:18px;font-size:.98rem}
body.lang-en .hero-outcome{font-weight:600}

/* =========================================================
   信任列
   ======================================================= */
.trustbar{border-top:1px solid var(--line);background:var(--canvas);padding:26px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:860px){.trust-grid{grid-template-columns:repeat(2,1fr);gap:18px 12px}}
.trust-item{display:flex;align-items:flex-start;gap:12px}
.trust-icon{flex:0 0 auto;width:22px;height:22px;color:var(--teal);margin-top:2px}
.trust-icon svg{width:100%;height:100%}
.trust-text{display:flex;flex-direction:column;line-height:1.45}
.trust-text strong{font-size:.86rem;font-weight:700;color:var(--ink);letter-spacing:.02em}
.trust-text small{font-size:.76rem;color:var(--ink-soft);margin-top:3px}

/* =========================================================
   FAQ
   ======================================================= */
.faq{padding-bottom:96px}
.faq-list{max-width:760px;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{
	list-style:none;cursor:pointer;position:relative;
	padding:22px 44px 22px 0;
	font-family:var(--serif-tc);font-weight:600;font-size:1.02rem;letter-spacing:.02em;
	color:var(--ink);
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--teal)}
.faq-mark{
	position:absolute;right:2px;top:50%;width:18px;height:18px;
	transform:translateY(-50%);
}
.faq-mark::before,.faq-mark::after{
	content:"";position:absolute;left:50%;top:50%;background:var(--teal);
	transform:translate(-50%,-50%);transition:transform .2s ease;
}
.faq-mark::before{width:14px;height:1.6px}
.faq-mark::after{width:1.6px;height:14px}
.faq-item[open] .faq-mark::after{transform:translate(-50%,-50%) scaleY(0)}
.faq-item > p{
	padding:0 44px 24px 0;color:var(--ink-soft);font-size:.94rem;max-width:42em;
}
@media(prefers-reduced-motion:reduce){.faq-mark::before,.faq-mark::after{transition:none}}

/* =========================================================
   方案價格錨點
   ======================================================= */
.plan{position:relative}
.plan-badge{
	position:absolute;top:-12px;right:28px;
	background:linear-gradient(100deg,var(--azure),var(--teal));color:#fff;
	font-family:var(--inter);font-size:.7rem;font-weight:600;letter-spacing:.1em;
	padding:5px 14px;border-radius:999px;
}
.plan .price{margin-top:18px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.plan .price .was{font-family:var(--inter);font-size:.9rem;color:var(--ink-soft);opacity:.7}
.plan .price .amount{font-family:var(--fraunces);font-weight:600;font-size:1.9rem;letter-spacing:.01em;color:var(--ink)}
.plan.featured .price .amount{color:var(--teal)}
.plan .price .per{font-size:.8rem;color:var(--ink-soft)}
.plans-note{margin-top:22px;font-size:.8rem;color:var(--ink-soft);text-align:center;letter-spacing:.04em}

/* =========================================================
   v2：痛點 Hero / 咖啡對比 / 劑量表 / 專家背書 / 三卡方案 / LINE
   ======================================================= */
.hero-hook{
	margin-top:18px;max-width:26em;
	font-family:var(--serif-tc);font-weight:600;font-size:1.15rem;color:var(--ink);
}
/* v2 中 hero-outcome 降為輔助句 */
.hero-outcome{font-weight:500;font-size:1rem;color:var(--ink-soft);margin-top:14px}

/* 咖啡 vs moloop */
.vs{padding-top:88px;padding-bottom:8px}
.vs-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:760px){.vs-grid{grid-template-columns:1fr}}
.vs-card{border:1px solid var(--line);border-radius:20px;padding:32px 34px;background:var(--paper)}
.vs-card.vs-moloop{border-color:var(--teal)}
.vs-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.vs-card h3{font-family:var(--serif-tc);font-weight:700;font-size:1.08rem;letter-spacing:.03em}
.vs-coffee h3{color:#8A4A3B}
.vs-moloop h3{color:var(--teal)}
.vs-curve{width:120px;height:34px;flex:0 0 auto}
.vs-card ul{list-style:none;color:var(--ink-soft);font-size:.93rem}
.vs-card ul li{padding:7px 0 7px 20px;position:relative}
.vs-card ul li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:50%}
.vs-coffee ul li::before{background:#C9A196}
.vs-moloop ul li::before{background:var(--grad)}

/* 劑量透明表 + SGS + 專家 */
.dose-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;margin-top:24px}
@media(max-width:860px){.dose-grid{grid-template-columns:1fr}}
.dose-table{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:32px 34px}
.dose-table h3{font-family:var(--serif-tc);font-weight:700;font-size:1.05rem;letter-spacing:.04em;margin-bottom:14px}
.dose-table dl{margin:0}
.dose-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}
.dose-row:last-child{border-bottom:none}
.dose-row dt{font-size:.9rem;color:var(--ink-soft)}
.dose-row dd{margin:0;font-family:var(--inter);font-weight:600;font-size:.95rem;color:var(--ink);white-space:nowrap}
.dose-side{display:flex;flex-direction:column;gap:20px}
.sgs-card{
	display:flex;gap:16px;align-items:center;
	background:var(--paper);border:1px solid var(--teal);border-radius:20px;padding:22px 26px;
	transition:box-shadow .18s ease;
}
.sgs-card:hover{box-shadow:0 6px 18px rgba(30,127,116,.15)}
.sgs-thumb{flex:0 0 40px;height:52px}
.sgs-thumb svg{width:100%;height:100%}
.sgs-text{display:flex;flex-direction:column;line-height:1.5}
.sgs-text strong{font-size:.95rem;font-weight:700;color:var(--ink)}
.sgs-text small{font-size:.78rem;color:var(--ink-soft);margin-top:3px}
.expert{
	margin:0;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px 30px;flex:1;
}
.expert-q{font-family:var(--serif-tc);font-weight:700;font-size:1rem;color:var(--ink)}
.expert blockquote{margin:12px 0 0;color:var(--ink-soft);font-size:.9rem;line-height:1.8}
.expert figcaption{margin-top:14px;font-size:.8rem;font-weight:600;color:var(--teal)}

/* 三卡方案與購買動線 */
.plan-grid-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:960px){.plan-grid-3{grid-template-columns:1fr}}
.plan-trial{border:1.5px solid var(--azure)}
.plan-once{margin-top:16px;font-size:.8rem;color:var(--ink-soft);border-top:1px dashed var(--line);padding-top:14px}
.plan-future{margin-top:8px;font-size:.78rem;font-weight:600;color:var(--teal);letter-spacing:.02em}
.plan-daily{margin-top:16px;font-family:var(--serif-tc);font-weight:600;font-size:.92rem;color:var(--ink)}
.office{
	margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
	background:var(--paper);border:1px dashed var(--teal);border-radius:20px;padding:24px 30px;
}
.office-text{display:flex;flex-direction:column;gap:4px}
.office-text strong{font-size:.95rem;color:var(--ink);letter-spacing:.02em}
.office-text span{font-size:.84rem;color:var(--ink-soft)}

/* LINE 優先擷取 */
.btn-line{
	display:inline-flex;align-items:center;gap:10px;margin-top:32px;
	background:#06C755;color:#fff;font-weight:600;padding:16px 36px;font-size:1rem;
}
.btn-line:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(6,199,85,.3);color:#fff}
.btn-line svg{width:22px;height:22px}
.capture-or{margin-top:30px;font-size:.85rem;color:rgba(244,241,230,.65)}
.capture .capture-form{margin-top:14px}
