/* =========================================================
   theme.css — 風格 preset：溫柔圓潤手感（婦產科・安心好孕）
   置中單欄但骨架與語聲山語不同：非對稱 Hero 色塊、底線標題、
   填色＋頂部色條卡片、大圓角、藥丸按鈕、柔和陰影、珊瑚暖色。
   ========================================================= */
:root{
  --bg:#fff9f6; --surface:#fdeee9; --tint:#fbe0d6; --line:rgba(200,140,120,.22);
  --brand:#f2ab9f; --brand-deep:#e07d78; --brand-dark:#c95f68; --accent:#e6a97f;
  --ink:#4a3b38; --ink-soft:#8a726b;
  --font-title:'Noto Sans TC',sans-serif; --font-body:'Noto Sans TC',sans-serif;
  --r-card:22px; --r-btn:999px; --r-box:18px;
  --shadow:0 14px 34px -14px rgba(224,125,120,.40);
  --shadow-soft:0 8px 22px -12px rgba(224,125,120,.30);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.95;font-weight:400;}
h1,h2,h3,h4{font-family:var(--font-title);font-weight:700;color:var(--brand-dark);letter-spacing:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;}
.container{max-width:1000px;margin:0 auto;padding:0 24px;}
.container.narrow{max-width:720px;}
.container.mid{max-width:880px;}

header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,249,246,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav{max-width:1100px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:72px;}
.logo{display:flex;align-items:center;gap:8px;font-family:var(--font-title);font-size:1.28rem;font-weight:800;color:var(--brand-deep);}
.nav-links{display:flex;gap:8px;font-size:.92rem;}
.nav-links a{color:var(--ink-soft);padding:8px 16px;border-radius:999px;transition:.25s;}
.nav-links a:hover{color:var(--brand-dark);background:var(--tint);}
.back-link{font-size:.9rem;color:var(--brand-deep);background:var(--surface);padding:9px 20px;border-radius:999px;transition:.25s;}
.back-link:hover{background:var(--tint);}

.page-hero,.topic-hero,.article-hero{position:relative;overflow:hidden;background:
   radial-gradient(60% 90% at 12% 0%,var(--tint),transparent 60%),
   radial-gradient(50% 80% at 100% 20%,#ffe9df,transparent 55%),var(--bg);}
.page-hero{padding:132px 0 48px;}.topic-hero{padding:132px 0 52px;}.article-hero{padding:142px 0 54px;}
.page-hero>.container,.topic-hero>.container{position:relative;}
.eyebrow{display:inline-block;font-size:.74rem;letter-spacing:.28em;color:var(--brand-deep);background:#fff;padding:5px 16px;border-radius:999px;margin-bottom:14px;box-shadow:var(--shadow-soft);}
.hero-crumb{font-size:.82rem;color:var(--ink-soft);margin-bottom:14px;position:relative;z-index:2;}
.hero-crumb a{color:var(--brand-deep);}
.page-hero .eyebrow,.page-hero h1,.page-hero .hero-lead,.page-hero .hero-actions,
.topic-hero .eyebrow,.topic-hero h1,.topic-hero .hero-lead{position:relative;z-index:2;max-width:600px;}
.page-hero h1,.topic-hero h1{font-size:clamp(1.7rem,3.8vw,2.5rem);line-height:1.35;margin-bottom:16px;}
.article-hero h1{font-size:clamp(1.55rem,3.7vw,2.25rem);line-height:1.5;margin-bottom:16px;}
.hero-lead{color:var(--ink-soft);max-width:600px;font-size:1.04rem;}
.tag{display:inline-block;font-size:.8rem;color:var(--brand-deep);background:#fff;padding:6px 16px;border-radius:999px;margin-bottom:18px;box-shadow:var(--shadow-soft);}
.article-meta{font-size:.86rem;color:var(--accent);}
.hero-actions{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap;}
/* 非對稱 Hero：右側有機色塊 */
.page-hero::after,.topic-hero::after{content:"";position:absolute;right:5%;top:48%;transform:translateY(-50%);
  width:clamp(170px,25vw,310px);height:clamp(170px,25vw,310px);
  border-radius:46% 54% 57% 43% / 48% 42% 58% 52%;
  background:radial-gradient(circle at 34% 30%,#ffe1d6,var(--brand));box-shadow:var(--shadow);z-index:1;}

main{padding:54px 0 84px;}
.list-title{position:relative;font-size:1.05rem;font-weight:700;color:var(--brand-dark);margin-bottom:24px;padding-bottom:12px;}
.list-title::after{content:"";position:absolute;left:0;bottom:0;width:54px;height:4px;border-radius:2px;background:var(--brand-deep);}
.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.card-grid.cols-3{grid-template-columns:repeat(3,1fr);}
/* 卡片：填色＋頂部色條，非四邊框 */
.card{background:var(--surface);border:none;box-shadow:none;border-top:4px solid var(--brand);border-radius:0 0 var(--r-card) var(--r-card);padding:28px 28px 30px;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.card .article-tag{align-self:flex-start;font-size:.76rem;color:var(--brand-deep);background:var(--tint);padding:5px 14px;border-radius:999px;margin-bottom:14px;}
.card h3{font-size:1.12rem;line-height:1.55;margin-bottom:10px;}
.card p{font-size:.92rem;color:var(--ink-soft);flex:1;line-height:1.85;}
.card .more{margin-top:16px;font-size:.85rem;color:var(--brand-deep);font-weight:500;}

article{padding:52px 0 74px;}
article p{margin-bottom:1.4em;font-size:1.04rem;color:#54443f;}
article h2{font-size:1.4rem;margin:2.3em 0 .8em;display:flex;align-items:center;gap:10px;}
article h2::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--brand);flex:none;}
article h3{font-size:1.14rem;margin:1.8em 0 .7em;color:var(--brand-deep);}
article ul,article ol{margin:0 0 1.4em 1.4em;}
article li{margin-bottom:.55em;font-size:1rem;color:#54443f;}
.lead{font-size:1.1rem;color:var(--brand-deep);background:var(--surface);border-radius:var(--r-box);padding:20px 24px;margin-bottom:1.9em !important;}
.note-box{background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:var(--r-box);padding:22px 26px;margin:1.8em 0;box-shadow:var(--shadow-soft);}
.note-box strong{color:var(--brand-dark);}
.cta-box{background:linear-gradient(135deg,var(--tint),var(--surface));border-radius:var(--r-card);padding:30px;margin:2em 0;text-align:center;}
.cta-box p{margin-bottom:16px;font-size:1rem;}
.btn{display:inline-block;background:var(--brand-deep);color:#fff;padding:13px 36px;border-radius:var(--r-btn);font-size:.96rem;font-weight:500;box-shadow:var(--shadow-soft);transition:.25s;}
.btn:hover{background:var(--brand-dark);transform:translateY(-2px);}
.btn-ghost{display:inline-block;border:1.5px solid var(--brand-deep);color:var(--brand-deep);padding:12px 32px;border-radius:var(--r-btn);font-size:.96rem;font-weight:500;}
.btn-ghost:hover{background:#fff;}

.faq-sec{margin-top:3em;}
.faq-sec details{background:#fff;border:1px solid var(--line);border-radius:var(--r-box);margin-bottom:12px;box-shadow:var(--shadow-soft);}
.faq-sec summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:600;color:var(--brand-dark);display:flex;justify-content:space-between;align-items:center;}
.faq-sec summary::-webkit-details-marker{display:none;}
.faq-sec summary::after{content:'＋';color:var(--brand-deep);}
.faq-sec details[open] summary::after{content:'－';}
.faq-sec .ans{padding:0 22px 20px;font-size:.96rem;color:var(--ink-soft);}

.related{margin-top:3em;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:26px 30px;box-shadow:var(--shadow-soft);}
.related h2{font-size:1.15rem;margin:0 0 14px;}
.related a{display:block;padding:9px 0;font-size:.96rem;color:var(--brand-deep);border-bottom:1px solid var(--line);}
.related a:last-child{border-bottom:none;}

.sponsor-slot{margin-top:2em;background:linear-gradient(135deg,#fff,var(--surface));border:1.5px solid var(--brand);border-radius:var(--r-card);padding:30px;text-align:center;box-shadow:var(--shadow);}
.sponsor-eyebrow{display:inline-block;font-size:.74rem;letter-spacing:.2em;color:var(--brand-deep);background:#fff;padding:5px 16px;border-radius:999px;margin-bottom:14px;box-shadow:var(--shadow-soft);}
.sponsor-name{font-size:1.3rem;margin-bottom:8px;}
.sponsor-pitch{font-size:1.02rem;color:var(--brand-deep);margin-bottom:8px;}
.sponsor-desc{font-size:.94rem;color:var(--ink-soft);margin-bottom:18px;line-height:1.85;}
.sponsor-btn{display:inline-block;background:var(--brand-deep);color:#fff;padding:12px 32px;border-radius:var(--r-btn);font-size:.94rem;font-weight:500;box-shadow:var(--shadow-soft);}
.sponsor-btn:hover{background:var(--brand-dark);}
/* 推薦／冠名版位的聯絡資訊：電話、地址、官網 */
.sponsor-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:0 0 16px;font-size:.9rem;color:var(--ink-soft);}
.sponsor-contact a{color:var(--brand-deep);}
.sponsor-contact b{color:var(--brand-deep);font-weight:600;margin-right:3px;}

.references{margin-top:3.4em;padding-top:2em;border-top:1px solid var(--line);}
.references h2{font-size:1.2rem;}
.references ol{list-style:none;margin:1.2em 0 0;counter-reset:ref;}
.references li{counter-increment:ref;font-size:.88rem;color:var(--ink-soft);margin-bottom:.9em;padding-left:2.4em;position:relative;line-height:1.7;}
.references li::before{content:"[" counter(ref) "]";position:absolute;left:0;color:var(--brand-deep);}
.disclaimer{background:var(--surface);border-radius:var(--r-box);padding:18px 24px;margin-top:2.5em;font-size:.86rem;color:var(--ink-soft);}

.intro{padding:8px 0 10px;color:var(--ink-soft);font-size:1rem;}
.jump{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 32px;}
.jump a{font-size:.88rem;color:var(--brand-deep);background:var(--surface);border-radius:999px;padding:8px 18px;transition:.25s;}
.jump a:hover{background:var(--tint);}

/* 縣市版位（1 名額）— 含電話、地址、官網 */
.city-sponsor{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,var(--tint),var(--surface));border-radius:var(--r-card);padding:20px 24px;margin:6px 0 32px;box-shadow:var(--shadow-soft);}
.city-sponsor-body{flex:1;min-width:240px;}
.city-sponsor strong{font-size:1.08rem;color:var(--brand-dark);margin-right:8px;}
.city-sponsor span.desc{font-size:.94rem;color:var(--ink-soft);}
.city-sponsor .sponsor-contact{justify-content:flex-start;margin-top:10px;}
.city-sponsor .more-btn{align-self:center;font-size:.92rem;color:#fff;background:var(--brand-deep);padding:9px 22px;border-radius:999px;white-space:nowrap;}
.area-sponsor-tag{font-size:.72rem;letter-spacing:.12em;color:#fff;background:var(--brand-deep);border-radius:999px;padding:4px 14px;}

/* 分區／縣市列表卡（連到下一層）*/
.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.link-card{background:var(--surface);border-top:4px solid var(--brand);border-radius:0 0 var(--r-box) var(--r-box);padding:22px 24px;transition:.25s;}
.link-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.link-card h3{font-size:1.12rem;margin-bottom:6px;}
.link-card p{font-size:.88rem;color:var(--ink-soft);}
.link-card .more{margin-top:10px;font-size:.84rem;color:var(--brand-deep);font-weight:500;display:inline-block;}

.district-block{margin-bottom:46px;}
.district-title{font-size:1.32rem;margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.district-title::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--brand);}
/* 行政區版位（最多 2 名額）— 含電話、地址、官網 */
.area-sponsors{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;}
.area-sponsor{display:block;background:linear-gradient(135deg,#fff,var(--surface));border:1.5px solid var(--brand);border-radius:var(--r-box);padding:18px 20px;box-shadow:var(--shadow-soft);transition:transform .25s;}
.area-sponsor:hover{transform:translateY(-4px);}
.area-sponsor strong{display:block;font-size:1.04rem;color:var(--brand-dark);margin:10px 0 4px;}
.area-sponsor span.desc{font-size:.9rem;color:var(--ink-soft);}
.area-sponsor .sponsor-contact{justify-content:flex-start;margin-top:10px;font-size:.86rem;}

.store-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.store-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px 26px;box-shadow:var(--shadow-soft);transition:transform .25s,box-shadow .25s;}
.store-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.store-card h4{font-size:1.1rem;margin-bottom:8px;}
.store-badge{display:inline-block;font-size:.74rem;color:var(--brand-deep);background:var(--tint);padding:4px 12px;border-radius:999px;margin-bottom:10px;}
.store-card p{font-size:.92rem;color:var(--ink-soft);margin-bottom:6px;line-height:1.8;}
.store-card .field{font-size:.9rem;color:#54443f;margin-bottom:5px;}
.store-card .field b{font-weight:600;color:var(--brand-deep);}
.store-card .field a{color:var(--brand-deep);}
.store-card .detail-link{font-size:.88rem;color:var(--brand-deep);font-weight:500;margin-top:10px;display:inline-block;}
/* 推薦版位：跟一般店家卡一樣，只是外框特別明顯的顏色；左側標籤直接寫「推薦」 */
.store-card.is-sponsor{border:2.5px solid var(--brand-deep);box-shadow:var(--shadow);}
.store-card.is-sponsor .store-badge{color:#fff;background:var(--brand-deep);}
/* 整張卡片可點：覆蓋連結進入專屬頁；地址/電話/官網仍可各自點 */
.store-card{position:relative;cursor:pointer;}
.store-card .card-cover{position:absolute;inset:0;z-index:1;border-radius:var(--r-card);}
.store-card .field a,.store-card .detail-link{position:relative;z-index:2;}
.store-detail{padding:42px 0 74px;}
.store-detail .field-row{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-size:1rem;}
.store-detail .field-row b{min-width:72px;color:var(--brand-deep);font-weight:600;}

footer{background:var(--brand-dark);color:#ffe9e2;padding:40px 0;text-align:center;font-size:.84rem;}
footer a{color:#fff;border-bottom:1px solid rgba(255,255,255,.3);}
.footer-disclaimer{font-size:.82rem;line-height:1.9;color:#f3cfc7;max-width:680px;margin:0 auto 14px;}

/* 冠名版位改靠左（不再置中） */
.sponsor-slot{text-align:left;}
.sponsor-slot .sponsor-contact{justify-content:flex-start;}
.sponsor-slot .sponsor-btn{margin-top:4px;}

/* 行政區按鈕（藥丸）*/
.area-pills{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 30px;}
.area-pills a{display:inline-flex;align-items:center;gap:6px;font-size:.92rem;color:var(--brand-deep);background:#fff;border:1.5px solid var(--brand);border-radius:999px;padding:9px 18px;transition:.2s;}
.area-pills a:hover,.area-pills a.active{background:var(--brand-deep);color:#fff;border-color:var(--brand-deep);}
.area-pills a .cnt{font-size:.82rem;opacity:.85;}

/* 多欄頁尾 + Powered by */
footer .footer-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px;text-align:left;margin-bottom:26px;}
.footer-brand h4{color:#fff;font-size:1.1rem;margin-bottom:10px;}
.footer-brand p{color:#f3cfc7;font-size:.86rem;max-width:280px;line-height:1.85;}
.footer-col h4{color:#fff;font-size:.94rem;margin-bottom:12px;letter-spacing:.05em;}
.footer-col a{display:block;color:#f3cfc7;padding:5px 0;font-size:.88rem;border:none;}
.footer-col a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.22);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;text-align:left;}
.footer-bottom .copy{color:#f3cfc7;font-size:.82rem;}
.powered{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);color:#fff;padding:9px 20px;border-radius:999px;font-size:.82rem;font-weight:600;border:none;}
.powered:hover{background:rgba(255,255,255,.28);}

/* 加入推薦頁 */
.join-hero{background:linear-gradient(135deg,var(--brand-dark),var(--brand-deep));color:#fff;padding:150px 0 72px;}
.join-hero .eyebrow{background:rgba(255,255,255,.16);color:#fff;box-shadow:none;}
.join-hero h1{color:#fff;font-size:clamp(2rem,4.6vw,3rem);line-height:1.22;margin-bottom:18px;max-width:680px;}
.join-hero p{color:#ffe9e2;max-width:600px;font-size:1.06rem;}
.join-sec{padding:52px 0;}
.join-sec .k{font-size:.78rem;letter-spacing:.2em;color:var(--brand-deep);font-weight:700;margin-bottom:10px;}
.join-sec h2{font-size:1.7rem;margin-bottom:14px;}
.join-sec>.container>p{color:var(--ink-soft);max-width:640px;}
.join-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 28px;}
.step{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r-box);padding:20px 22px;margin-bottom:14px;box-shadow:var(--shadow-soft);}
.step .n{flex:none;width:40px;height:40px;border-radius:50%;background:var(--brand-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;}
.step h3{font-size:1.08rem;margin-bottom:4px;}
.step p{color:var(--ink-soft);font-size:.94rem;}

@media(max-width:680px){
  .card-grid,.card-grid.cols-3,.area-sponsors,.store-list,.link-grid{grid-template-columns:1fr;}
  .nav-links{display:none;}
  .page-hero,.topic-hero,.article-hero{padding:116px 0 42px;}
  .page-hero::after,.topic-hero::after{display:none;}
  .page-hero h1,.topic-hero h1,.page-hero .hero-lead{max-width:100%;}
  .city-sponsor .more-btn{align-self:flex-start;}
  footer .footer-cols{grid-template-columns:1fr;gap:22px;}
}
