/* mod_bonsai_tip — Frontend Styles */
.mod-bonsai-tip {
    --bonsai-spring-bg: #f0f7ec;
    --bonsai-spring-accent: #4a7c59;
    --bonsai-spring-border: #b8d8c0;
    --bonsai-summer-bg: #fff8e6;
    --bonsai-summer-accent: #c47a00;
    --bonsai-summer-border: #f5d18a;
    --bonsai-autumn-bg: #fdf1e8;
    --bonsai-autumn-accent: #a0522d;
    --bonsai-autumn-border: #e8b98a;
    --bonsai-winter-bg: #eef3f8;
    --bonsai-winter-accent: #3a6186;
    --bonsai-winter-border: #a8c4dd;
    font-family: Georgia, 'Times New Roman', serif;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.10);
    margin-bottom: 1.5rem;
}
.mod-bonsai-tip--spring { background: var(--bonsai-spring-bg); border: 1px solid var(--bonsai-spring-border); --bonsai-accent: var(--bonsai-spring-accent); --bonsai-border: var(--bonsai-spring-border); }
.mod-bonsai-tip--summer { background: var(--bonsai-summer-bg); border: 1px solid var(--bonsai-summer-border); --bonsai-accent: var(--bonsai-summer-accent); --bonsai-border: var(--bonsai-summer-border); }
.mod-bonsai-tip--autumn { background: var(--bonsai-autumn-bg); border: 1px solid var(--bonsai-autumn-border); --bonsai-accent: var(--bonsai-autumn-accent); --bonsai-border: var(--bonsai-autumn-border); }
.mod-bonsai-tip--winter { background: var(--bonsai-winter-bg); border: 1px solid var(--bonsai-winter-border); --bonsai-accent: var(--bonsai-winter-accent); --bonsai-border: var(--bonsai-winter-border); }
.mod-bonsai-tip__header { display: flex; align-items: center; gap: 0.6rem; padding: 0.75rem 1rem 0.5rem; border-bottom: 1px solid var(--bonsai-border); }
.mod-bonsai-tip__season-icon { font-size: 1.4rem; line-height: 1; }
.mod-bonsai-tip__meta { display: flex; flex-direction: column; gap: 0.1rem; }
.mod-bonsai-tip__label { font-size: 0.65rem; font-family: 'Arial', sans-serif; text-transform: uppercase; letter-spacing: 0.08em; color: var(--bonsai-accent); font-weight: 700; }
.mod-bonsai-tip__date { font-size: 0.7rem; font-family: 'Arial', sans-serif; color: #888; }
.mod-bonsai-tip__body { padding: 1rem 1rem 0.75rem; position: relative; }
.mod-bonsai-tip__tip-icon { font-size: 2rem; float: right; margin-left: 0.75rem; opacity: 0.85; line-height: 1; }
.mod-bonsai-tip__title { font-size: 1rem; font-weight: bold; color: var(--bonsai-accent); margin: 0 0 0.5rem 0; line-height: 1.3; }
.mod-bonsai-tip__text { font-size: 0.875rem; line-height: 1.6; color: #333; margin: 0; }
.mod-bonsai-tip__footer { display: flex; justify-content: space-between; align-items: center; padding: 0.5rem 1rem 0.75rem; border-top: 1px solid var(--bonsai-border); }
.mod-bonsai-tip__category { font-size: 0.7rem; font-family: 'Arial', sans-serif; background: var(--bonsai-accent); color: #fff; padding: 0.2em 0.6em; border-radius: 20px; font-weight: 600; }
.mod-bonsai-tip__season-label { font-size: 0.7rem; font-family: 'Arial', sans-serif; color: var(--bonsai-accent); font-style: italic; }
.mod-bonsai-tip__disclaimer { padding: 0.5rem 1rem 0.6rem; border-top: 1px solid var(--bonsai-border); font-size: 0.7rem; font-family: 'Arial', sans-serif; color: #888; line-height: 1.5; display: flex; gap: 0.35rem; align-items: flex-start; }
.mod-bonsai-tip__disclaimer-icon { flex-shrink: 0; font-size: 0.8rem; margin-top: 0.05rem; }

/* Abo-Formular */
.mod-bonsai-tip__subscribe { padding: 0.75rem 1rem 1rem; border-top: 1px solid var(--bonsai-border); }
.mod-bonsai-tip__subscribe-label { font-size: 0.75rem; font-family: 'Arial', sans-serif; font-weight: 700; color: var(--bonsai-accent); margin: 0 0 0.5rem; }
.mod-bonsai-tip__subscribe-row { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.mod-bonsai-tip__subscribe-input { flex: 1; min-width: 160px; padding: 0.4rem 0.6rem; border: 1px solid var(--bonsai-border); border-radius: 4px; font-size: 0.85rem; font-family: 'Arial', sans-serif; outline: none; }
.mod-bonsai-tip__subscribe-input:focus { border-color: var(--bonsai-accent); box-shadow: 0 0 0 2px rgba(74,124,89,.15); }
.mod-bonsai-tip__subscribe-btn { background: var(--bonsai-accent); color: #fff; border: none; padding: 0.4rem 0.9rem; border-radius: 4px; font-size: 0.85rem; font-family: 'Arial', sans-serif; font-weight: 600; cursor: pointer; white-space: nowrap; }
.mod-bonsai-tip__subscribe-btn:hover { opacity: 0.9; }
.mod-bonsai-tip__subscribe-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.mod-bonsai-tip__subscribe-privacy { font-size: 0.7rem; font-family: 'Arial', sans-serif; color: #888; margin: 0.4rem 0 0; line-height: 1.5; }
.mod-bonsai-tip__subscribe-privacy a { color: var(--bonsai-accent); }
.mod-bonsai-tip__subscribe-msg { font-size: 0.8rem; font-family: 'Arial', sans-serif; margin-top: 0.4rem; padding: 0.3rem 0.5rem; border-radius: 4px; }
.mod-bonsai-tip__subscribe-msg--error { background: #fff3f3; color: #c62828; }
.mod-bonsai-tip__subscribe-success { font-size: 0.85rem; font-family: 'Arial', sans-serif; color: #2e7d32; background: #e8f5e9; padding: 0.6rem 0.8rem; border-radius: 4px; margin: 0; }

/* Detail-Bereich */
.mod-bonsai-tip__detail { margin-top: 0.75rem; border-top: 1px solid var(--bonsai-border); padding-top: 0.75rem; }
.mod-bonsai-tip__detail-intro { font-size: 0.875rem; line-height: 1.65; color: #444; margin-bottom: 0.6rem; }
.mod-bonsai-tip__detail-section { font-size: 0.85rem; line-height: 1.6; color: #555; margin-bottom: 0.5rem; background: rgba(0,0,0,0.03); border-radius: 4px; padding: 0.5rem 0.65rem; }

/* ── Detail-Accordion ──────────────────────────────────────────────────────── */
.mod-bonsai-tip__detail-wrap {
    margin-top: 16px;
}

.mod-bonsai-tip__detail-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 16px;
    background: #f0f7ec;
    border: 1px solid #c8e6c9;
    border-radius: 6px;
    color: #2e7d32;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    text-align: left;
    transition: background 0.2s, border-color 0.2s;
    gap: 8px;
}

.mod-bonsai-tip__detail-toggle:hover {
    background: #e8f5e9;
    border-color: #4a7c59;
}

.mod-bonsai-tip__detail-toggle[aria-expanded="true"] {
    background: #e8f5e9;
    border-radius: 6px 6px 0 0;
    border-bottom-color: transparent;
}

.bonsai-toggle-icon {
    font-size: 11px;
    flex-shrink: 0;
    transition: transform 0.2s;
}

.mod-bonsai-tip__detail {
    border: 1px solid #c8e6c9;
    border-top: none;
    border-radius: 0 0 6px 6px;
    padding: 16px;
    background: #fafffe;
    animation: bonsai-slide-down 0.2s ease;
}

@keyframes bonsai-slide-down {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}
