/* =====================================================================
 * 56 宠物洗澡周期 · 视觉母题「犬猫 × 季节切换」
 * ---------------------------------------------------------------------
 * 色板：泡泡青 #2a7a7a（深色版 #6fc0be），辅以奶白与暖珊瑚。
 * 版式：H（标签页主导）—— 顶部标签切场景，同一套数据不同维度。
 * 纯 CSS / SVG，零图片请求；只作用于 .b11--bath 容器。
 * ===================================================================== */

.b11--bath {
    --bth-pri: #2a7a7a;
    --bth-pri2: #4fa3a0;
    --bth-warm: #c96a4e;
    --bth-tint: #dcf0ef;
    --b11-pri: #2a7a7a;
    --b11-pri2: #4fa3a0;
    --b11-tint: #dcf0ef;
    --b11-bg: #eef4f3;
    --b11-bg2: #e0e9e8;
    --b11-card2: #f6fafa;
    background-image:
        radial-gradient(circle at 88% 6%, color-mix(in srgb, var(--bth-pri) 10%, transparent) 0, transparent 320px),
        repeating-linear-gradient(135deg, color-mix(in srgb, var(--b11-line2) 26%, transparent) 0 1px, transparent 1px 20px);
}
:root[data-theme="dark"] .b11.b11--bath {
    --bth-pri: #6fc0be;
    --bth-pri2: #93d5d2;
    --bth-warm: #e2957c;
    --bth-tint: #16302f;
    --b11-pri: #6fc0be;
    --b11-pri2: #93d5d2;
    --b11-tint: #16302f;
    --b11-bg: #0f1514;
    --b11-bg2: #171e1d;
    --b11-card2: #1b2322;
}

/* ---------- 首屏 ---------- */
.bth-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 28px; align-items: center; padding-bottom: 24px; }
.bth-hero .b11-h1 em { color: var(--bth-pri); }
.bth-hero .b11-lead b { box-shadow: inset 0 -.42em 0 var(--bth-tint); }
.bth-motif { display: grid; place-items: center; }
.bth-motif svg { width: min(300px, 76vw); height: auto; }

/* ---------- 标签页 ---------- */
.bth-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 24px; }
.bth-tab {
    position: relative; cursor: pointer; text-align: left; font-family: inherit;
    background: var(--b11-card); border: 1.5px solid var(--b11-line2);
    padding: 14px 16px 14px 54px; transition: all .16s; color: var(--b11-sub);
    clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 13px, 100% 100%, 0 100%);
}
.bth-tab::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 40px;
    background: var(--b11-bg2); border-right: 1.5px solid var(--b11-line2);
}
.bth-tab .ic {
    position: absolute; left: 0; top: 0; width: 40px; height: 100%;
    display: grid; place-items: center; font-size: 20px; z-index: 1;
}
.bth-tab .nm { display: block; font-size: var(--b11-base); font-weight: 800; color: var(--b11-ink); }
.bth-tab .ds { display: block; font-size: 11px; color: var(--b11-mute); margin-top: 2px; line-height: 1.5; }
.bth-tab:hover { border-color: var(--bth-pri); }
.bth-tab.is-on { background: var(--bth-tint); border-color: var(--bth-pri); }
.bth-tab.is-on::before { background: var(--bth-pri); border-color: var(--bth-pri); }
.bth-tab.is-on .nm { color: var(--bth-pri); }
.bth-tab.is-on .ds { color: var(--b11-sub); }

/* ---------- 面板 ---------- */
.bth-panel {
    margin-top: 16px; background: var(--b11-card); border: 1px solid var(--b11-line);
    border-top: 4px solid var(--bth-pri); padding: 22px 24px; box-shadow: var(--b11-shadow);
    clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
}
.bth-panel-hd { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-start; justify-content: space-between; margin-bottom: 16px; }
.bth-micro { display: block; font-family: var(--b11-mono); font-size: var(--b11-xs); letter-spacing: .16em; color: var(--bth-pri); margin-bottom: 6px; }
.bth-panel-hd h2 { font-size: var(--b11-lg); margin-bottom: 4px; }
.bth-sub { font-size: var(--b11-sm); color: var(--b11-sub); margin: 0; max-width: 640px; }
.bth-season { display: flex; flex-wrap: wrap; gap: 6px; }
.bth-season button {
    cursor: pointer; font-family: inherit; font-size: var(--b11-sm);
    padding: 8px 16px; border: 1.5px solid var(--b11-line2); background: var(--b11-card2);
    color: var(--b11-sub); transition: all .15s;
    clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 0 100%);
}
.bth-season button:hover { border-color: var(--bth-pri); color: var(--bth-pri); }
.bth-season button.is-on { background: var(--bth-pri); border-color: var(--bth-pri); color: var(--b11-on); font-weight: 750; }

/* ---------- 结果 ---------- */
.bth-year { list-style: none; margin: 0; padding: 0; counter-reset: by; }
.bth-year li {
    counter-increment: by; position: relative; padding: 8px 0 8px 44px;
    font-size: var(--b11-sm); color: var(--b11-sub); line-height: 1.7;
    border-bottom: 1px dotted var(--b11-line2);
}
.bth-year li:last-child { border-bottom: 0; }
.bth-year li::before {
    content: counter(by, decimal-leading-zero); position: absolute; left: 0; top: 7px;
    width: 28px; height: 28px; display: grid; place-items: center;
    background: var(--bth-tint); color: var(--bth-pri); font-family: var(--b11-mono);
    font-size: 11px; font-weight: 800; border: 1px solid var(--bth-pri); border-radius: 50%;
}
.bth-year li b { color: var(--b11-ink); }
.bth-year li .d { font-family: var(--b11-mono); font-size: 11px; color: var(--bth-warm); margin-left: 6px; }
.bth-tips { list-style: none; margin: 0; padding: 0; }
.bth-tips li { position: relative; padding: 8px 0 8px 26px; font-size: var(--b11-sm); color: var(--b11-sub); line-height: 1.72; border-bottom: 1px dotted var(--b11-line2); }
.bth-tips li:last-child { border-bottom: 0; }
.bth-tips li::before { content: "◍"; position: absolute; left: 0; top: 8px; color: var(--bth-pri); font-weight: 800; }
.bth-tips li b { color: var(--b11-ink); }

/* ---------- 批量清洗条 ---------- */
.bth-clean {
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px;
    margin-top: 14px; padding: 12px 14px; background: var(--b11-card2);
    border: 1px solid var(--b11-line); font-size: var(--b11-sm);
}
.bth-clean > b { color: var(--bth-pri); font-family: var(--b11-mono); font-size: var(--b11-xs); letter-spacing: .08em; }
.bth-clean code { margin-left: auto; }

@media (max-width: 900px) {
    .bth-hero { grid-template-columns: minmax(0, 1fr); }
    .bth-tabs { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
    .bth-clean code { margin-left: 0; }
}