/* 群英 chicing-core 前台樣式（整合自各模組 inline CSS，單一可快取檔）。 */

/* ===== 自訂 widget：醫師卡 / 療程卡 / 案例 ===== */
.chicing-doctor-grid, .chicing-treatment-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px;
}
.chicing-case-masonry { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.chicing-case-masonry--cols-2 { grid-template-columns: repeat(2, 1fr); }
.chicing-case-masonry--cols-3 { grid-template-columns: repeat(3, 1fr); }
.chicing-case-masonry--cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) { .chicing-doctor-grid, .chicing-treatment-grid, .chicing-case-masonry,
    .chicing-case-masonry--cols-2, .chicing-case-masonry--cols-3, .chicing-case-masonry--cols-4 {
    grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .chicing-doctor-grid, .chicing-treatment-grid, .chicing-case-masonry,
    .chicing-case-masonry--cols-2, .chicing-case-masonry--cols-3, .chicing-case-masonry--cols-4 {
    grid-template-columns: 1fr; } }
.doctor-card, .treatment-card, .case-card {
    background: #fff; border: 1px solid rgba(87,65,55,.14); border-radius: 18px; overflow: hidden;
    text-decoration: none; color: inherit; display: block;
    transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s, border-color .4s;
}
.doctor-card:hover, .treatment-card:hover, .case-card:hover {
    transform: translateY(-6px); border-color: #A86C65; box-shadow: 0 24px 50px rgba(32,24,22,.14);
}
.doctor-card__media, .treatment-card__media, .case-card__media { overflow: hidden; background: #f2e8df; }
.doctor-card__media { aspect-ratio: 4/5; }
.treatment-card__media { aspect-ratio: 4/3; }
.case-card__media { aspect-ratio: 1/1; }
.doctor-card__media img, .treatment-card__media img, .case-card__media img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.doctor-card__body, .treatment-card__body, .case-card__body { padding: 16px 18px 20px; }
.doctor-card__body { text-align: center; }
.doctor-card__name, .treatment-card__title, .case-card__title {
    font-family: "Noto Serif TC", serif; font-size: 19px; color: #201816; margin: 6px 0 4px;
}
.doctor-card__position, .case-card__category {
    color: #A86C65; font-size: 12px; font-weight: 700; font-family: "Playfair Display", serif; letter-spacing: .06em;
}
.treatment-card__excerpt { color: #7b6f68; font-size: 14px; line-height: 1.7; margin: 6px 0 10px; }
.treatment-card__price { color: #17352F; font-weight: 700; font-size: 14px; }
.treatment-card__price--regular { text-decoration: line-through; color: #b3a79f; margin-right: 6px; }

/* ===== 主選單 + Mega Menu ===== */
.chic-nav { display: flex; gap: 22px; align-items: center; font-family: "Noto Sans TC", sans-serif; font-size: 15px; flex-wrap: wrap; }
.chic-nav__cta { margin-left: auto; background: #17352F; color: #fff !important; padding: 9px 18px; border-radius: 999px; font-weight: 700; }
.chic-nav__cta:hover { color: #fff !important; opacity: .92; }
.chic-nav > a, .chic-nav-item > a { color: #5e534c; text-decoration: none; padding: 8px 0; position: relative; }
.chic-nav > a:hover, .chic-nav-item > a:hover { color: #17352F; }
.chic-nav-item { position: static; }
.chic-mega {
    position: absolute; left: 0; right: 0; top: 100%;
    background: rgba(255, 250, 244, .98); border-bottom: 3px solid #A86C65;
    box-shadow: 0 30px 60px rgba(32, 24, 22, .08);
    opacity: 0; visibility: hidden; transform: translateY(10px);
    transition: opacity .25s, transform .25s, visibility .25s; z-index: 999;
    padding: 36px clamp(24px, 6vw, 80px) 44px;
}
.chic-nav-item.has-mega:hover .chic-mega { opacity: 1; visibility: visible; transform: translateY(0); }
.chic-mega-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; max-width: 1240px; margin: 0 auto; }
.chic-mega-col h4 { font-size: 15px; font-weight: 800; color: #17352F; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(87, 65, 55, .15); }
.chic-mega-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 7px; }
.chic-mega-col a { color: #6e6158; text-decoration: none; font-size: 13.5px; line-height: 1.4; }
.chic-mega-col a:hover { color: #A86C65; }
@media (max-width: 1024px) {
    .chic-mega { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; padding: 12px 0; display: none; }
    .chic-nav-item.has-mega:hover .chic-mega, .chic-nav-item.has-mega:focus-within .chic-mega { display: block; }
    .chic-mega-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .chic-nav { gap: 10px 16px; font-size: 14px; justify-content: center; }
    .chic-nav__cta { margin-left: 0; padding: 7px 16px; }
}

/* ===== 內文按鈕（由 rt20 [button] 轉換）===== */
.chic-inline-btn { display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; margin: 4px 0; border-radius: 999px; background: #17352F; color: #fff !important; text-decoration: none; font-weight: 700; font-size: 14px; transition: opacity .3s; }
.chic-inline-btn:hover { opacity: .9; color: #fff !important; }

/* ===== 麵包屑 ===== */
.chic-crumb ol { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; list-style: none; padding: 0; margin: 0 0 18px; font-family: "Noto Sans TC", sans-serif; font-size: 13px; }
.chic-crumb a { color: #7b6f68; text-decoration: none; }
.chic-crumb a:hover { color: #A86C65; }
.chic-crumb li:last-child span { color: #17352F; font-weight: 700; }
.chic-crumb__sep { color: #c9bdb4; }

/* ===== 手機底部固定列 ===== */
.chicing-mobile-bar { display: none; }
@media (max-width: 720px) {
    body { padding-bottom: 58px; }
    .chicing-mobile-bar {
        position: fixed; inset: auto 0 0 0; z-index: 9990;
        display: grid; grid-template-columns: repeat(3, 1fr);
        background: rgba(255, 250, 244, .96); border-top: 1px solid rgba(87, 65, 55, .18); backdrop-filter: blur(16px);
    }
    .chicing-mobile-bar a {
        display: grid; place-items: center; min-height: 58px; color: #17352F; font-weight: 900; text-decoration: none;
        border-right: 1px solid rgba(87, 65, 55, .18); font-family: "Noto Sans TC", sans-serif;
    }
    .chicing-mobile-bar a:last-child { border-right: 0; }
    .chicing-mobile-bar a:active { background: rgba(23, 53, 47, .08); }
}

/* ===== 無障礙 ===== */
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.chic-skip-link:focus {
    position: fixed; top: 12px; left: 12px; z-index: 100000; width: auto; height: auto; clip: auto; margin: 0;
    padding: 12px 20px; background: #17352F; color: #fff; border-radius: 8px; font-weight: 700; text-decoration: none; box-shadow: 0 8px 24px rgba(0,0,0,.2);
}
a:focus-visible, button:focus-visible, input:focus-visible, .chic-nav a:focus-visible, .chic-mega-col a:focus-visible { outline: 2px solid #A86C65; outline-offset: 2px; }
