/* 服務方案頁：左欄方案名稱、右欄內容；手機改上下排 */
.plans .plan { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); gap: 2.5rem; padding: 2.4rem 0; border-top: 1px solid var(--border-mid); }
.plans-wrap { max-width: 980px; }
.plans .plan:first-child { border-top: 0; padding-top: .5rem; }
.plans .plan h2 { margin: 0 0 .7rem; padding: 0; border: 0; font-family: var(--font-display); font-weight: 500; font-size: 1.45rem; line-height: 1.4; color: var(--cream); scroll-margin-top: 90px; }
.plan-who { font-size: var(--t-sm); line-height: 1.8; color: var(--sub); }
.plans .plan-detail ul { margin: 0 0 1.1rem; }
.plans .plan-detail li { color: var(--text-hi); }
.plan-excl { font-size: var(--t-sm); line-height: 1.85; color: var(--sub); margin: 0; }
.plan-cta { margin: 1.2rem 0 0; }
.plans .plan-cta a { font-size: var(--t-sm); }
.plans-terms { border-top: 1px solid var(--border-mid); margin-top: 1rem; padding-top: .5rem; }
.plans .plans-terms h2 { font-family: var(--font-mono); font-size: var(--t-label); font-weight: 400; color: var(--gold-dim); letter-spacing: .12em; border: 0; padding: 0; margin: 1.5rem 0 1rem; }
.plans-terms li { font-size: var(--t-sm); color: var(--text); }
.plans-wrap .art-cta .btn { margin: .3rem .35rem; }
@media (max-width: 768px) {
    .plans .plan { grid-template-columns: 1fr; gap: 1rem; padding: 2rem 0; }
}

/* 方案卡片總覽：不同大小的區塊，核心方案放大、在地小店整排 */
.plan-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-areas: "free core core" "assess core core" "shop shop shop"; gap: 1rem; margin: 0 0 3.5rem; }
.plan-cards > [href="#free-audit"] { grid-area: free; }
.plan-cards > [href="#assessment"] { grid-area: assess; }
.plan-cards > [href="#setup"] { grid-area: core; }
.plan-cards > [href="#local-shop"] { grid-area: shop; }
.plan-card {
    display: flex; flex-direction: column; gap: .7rem; padding: 1.6rem 1.5rem 1.3rem;
    border: 1px solid var(--border-mid); border-radius: 14px; background: var(--surface);
    color: inherit; text-decoration: none; transition: border-color .25s, transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s;
}
.plan-card:hover { border-color: var(--gold-dim); transform: translateY(-2px); box-shadow: 0 12px 26px -16px rgba(60,40,10,.3); }
.plan-card:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.plan-card-who { font-size: .8rem; color: var(--sub); line-height: 1.6; }
.plan-card-name { font-family: var(--font-display); font-size: 1.5rem; font-weight: 500; color: var(--cream); line-height: 1.3; }
.plan-card-line { font-size: .92rem; line-height: 1.8; color: var(--text); }
.plan-card-points { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .2rem; }
.plan-card-points span { font-size: .78rem; color: var(--gold-dim); border: 1px solid var(--gold-faint); border-radius: 999px; padding: .15rem .65rem; }
.plan-card-more { margin-top: auto; padding-top: .6rem; font-family: var(--font-mono); font-size: .75rem; color: var(--gold-dim); }
.plan-card--core { background: var(--cream); border-color: var(--cream); padding: 2.2rem 2.2rem 1.8rem; }
.plan-card--core .plan-card-who, .plan-card--core .plan-card-line, .plan-card--core .plan-card-more { color: var(--black); }
.plan-card--core .plan-card-name { color: var(--black); font-size: clamp(1.9rem, 3.4vw, 2.6rem); }
.plan-card--core .plan-card-points span { color: var(--black); border-color: rgba(246,242,234,.35); }
.plan-card--core:hover { border-color: var(--cream); }
.plan-card--shop { background: var(--ink); }
.plans .plan { scroll-margin-top: 90px; }
.plan-cta-row { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; }
@media (max-width: 900px) {
    .plan-cards { grid-template-columns: 1fr 1fr; grid-template-areas: "core core" "free assess" "shop shop"; }
}
@media (max-width: 600px) {
    .plan-cards { grid-template-columns: 1fr; grid-template-areas: "free" "assess" "core" "shop"; }
}
@media (prefers-reduced-motion: reduce) { .plan-card { transition: none; } .plan-card:hover { transform: none; } }
.plans .plan-step { font-size: 1rem; font-weight: 500; color: var(--cream); margin: 0 0 .8rem; scroll-margin-top: 90px; }
.plans .plan-excl + .plan-step { margin-top: 1.8rem; padding-top: 1.4rem; border-top: 1px solid var(--border); }
