/* ==========================================================================
   日替わり風呂 案内ブロック
   ルール：フォントサイズは rem 表記（root font-size = 10px 基準／26px → 2.6rem）
   配色は正式なデザインデータが無いため、頂いたキャプチャから近似した仮のもの。
   本番反映前に必ずブランドカラーと突き合わせて調整すること。
   ========================================================================== */

.onsen-guide {
    --onsen-badge-bg: #e2803f;
    --onsen-badge-bg-closed: #9a9a9a;
    --onsen-heading: #6e3b2e;
    --onsen-date: #5c2f3a;
    --onsen-male-border: #4c659b;
    --onsen-male-bg: #f4f8f2;
    --onsen-male-text: #2c456b;
    --onsen-female-border: #bb6f6e;
    --onsen-female-bg: #f8f4f8;
    --onsen-female-text: #9b4f4e;
    --onsen-tomorrow-bg: #efeacc;
    --onsen-tomorrow-border: #dbca9b;
    --onsen-tomorrow-text: #5a4632;
    --onsen-closed-bg: #f7f0ee;
    --onsen-closed-text: #a15a4a;
    --onsen-note: #999999;

    position: relative;
    z-index: 2;
    max-width: 88rem;
    margin: -8rem auto 5em;
    padding: 3.2rem;
    background: #ffffff;
    border-radius: 1.2rem;
    box-shadow: 0 0.6rem 2.4rem rgba(0, 0, 0, 0.12);
    font-family: inherit;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid #e8dbc6;
    border-top: none;
}
.onsen-guide::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.5rem;
    background: linear-gradient(to right, #d0b77e, #de6a1c);
}

.onsen-guide * {
    box-sizing: border-box;
}

/* ---------- バッジ + 見出し ---------- */
.onsen-guide__head {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.2rem;
}

.onsen-guide__badge {
    display: inline-block;
    padding: 0.4rem 1.4rem;
    background: var(--onsen-badge-bg);
    color: #ffffff;
    font-size: 1.3rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    border-radius: 999px;
    line-height: 1;
    font-family: "EB Garamond", serif;
}

.onsen-guide__badge--closed {
    background: var(--onsen-badge-bg-closed);
}

.onsen-guide__headtext {
    font-size: 1.6rem;
    font-weight: bold;
    color: var(--onsen-heading);
    font-family: "Zen Maru Gothic", sans-serif;
}

/* ---------- 日付見出し ---------- */
.onsen-guide__date {
    margin: 0 0 1.6rem;
    font-size: 2.6rem;
    font-weight: bold;
    color: var(--onsen-date);
    line-height: 1.4;
    font-family: "Zen Maru Gothic", sans-serif;
}

/* ---------- 男女入替グリッド ---------- */
.onsen-guide__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.6rem;
    margin-bottom: 1.6rem;
}

.onsen-guide__box {
    display: flex;
    flex-direction: column;
    padding: 1.6rem 2rem;
    border-radius: 0.8rem;
    border: 1px solid #e8dbc6;
    background-color: #fbfaf2;
}

.onsen-guide__box--male {
    border-left: 3px solid var(--onsen-male-border);
}

.onsen-guide__box--female {
    border-left: 3px solid var(--onsen-female-border);
}

.onsen-guide__box--male .onsen-guide__label {
    color: var(--onsen-male-text);
}

.onsen-guide__box--female .onsen-guide__label {
    color: var(--onsen-female-text);
}

.onsen-guide__label {
    font-size: 2rem;
    color: #888888;
    line-height: 1.4;
    font-family: "Zen Maru Gothic", sans-serif;
}

.onsen-guide__bathname {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.6;
    font-family: "Zen Maru Gothic", sans-serif;
}

.onsen-guide__box--male .onsen-guide__bathname {
    color: var(--onsen-date);
}

.onsen-guide__box--female .onsen-guide__bathname {
    color: var(--onsen-date);
}

/* ---------- 休館表示 ---------- */
.onsen-guide__closed {
    padding: 4rem 2rem;
    margin-bottom: 1.6rem;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--onsen-closed-text);
    background: var(--onsen-closed-bg);
    border-radius: 0.8rem;
}

/* ---------- 明日の案内バー ---------- */
.onsen-guide__tomorrow {
    padding: 1rem 2rem;
    font-size: 1.5rem;
    color: var(--onsen-tomorrow-text);
    background: var(--onsen-tomorrow-bg);
    border: 1px dashed var(--onsen-tomorrow-border);
    border-radius: 0.8rem;
    line-height: 1.6;
}

/* ---------- 注釈 ---------- */
.onsen-guide__note {
    margin: 1.2rem 0 0;
    font-size: 1.6rem;
    line-height: 1.8;
    color: var(--onsen-date);
    font-family: "Zen Maru Gothic", sans-serif;
}
.onsen-guide__note strong {
    font-weight: 700;
}
.onsen-guide__attr {
    margin: 1.2rem 0 0;
    font-size: 1.2rem;
    color: var(--onsen-note);
    line-height: 1.6;
}

/* ---------- リンク ---------- */
.onsen-guide__link {
    font-size: 1.2rem;
    color: var(--onsen-badge-bg);
}
.onsen-guide__link a {
    text-decoration: underline;
}

/* ---------- モバイル ---------- */
@media (max-width: 650px) {
    .onsen-guide {
        margin: 8rem auto;
        padding: 2rem;
        border-radius: 0.8rem;
    }
    .onsen-guide__badge,
    .onsen-guide__headtext,
    .onsen-guide__label {
        font-size: 2.4rem;
    }
    .onsen-guide__date {
        font-size: 3.5rem;
    }
    .onsen-guide__grid {
        grid-template-columns: 1fr;
    }

    .onsen-guide__bathname {
        font-size: 3.2rem;
    }

    .onsen-guide__tomorrow {
        font-size: 2rem;
    }
    .onsen-guide__note,
    .onsen-guide__link {
        font-size: 1.8rem;
    }
}
