/* ============================================================
   RakuVisa 公開ページの下地 — 2026-08 サイト刷新 便1
   ・`body.rv-public`（＝非ログインで見えるページ）だけに効く。
     ログイン後の一般顧客マイページ等には付かないので業務画面は無影響。
   ・目的は「トンマナを揃える」こと。既存の .secure-page 等のページ固有CSSは
     そのまま残し、字面・行間・色・余白・ボタンの基本トーンだけを上書きする。
   ・トップ(.rv-home)とLP(.rv-lp)は自前の指定を持つので、ここでは触らない。
   ============================================================ */

body.rv-public {
    font-family: var(--rv-font);
    color: var(--rv-ink);
    background: var(--rv-ground);
}

/* ---- 文字まわり ---- */
body.rv-public :is(h1, h2, h3, h4, h5) {
    font-family: var(--rv-font);
    color: var(--rv-ink);
    letter-spacing: .005em;
}

body.rv-public h1 {
    font-size: clamp(24px, 2.6vw, 31px);
    font-weight: 800;
    line-height: 1.5;
}

body.rv-public h2 {
    font-size: clamp(20px, 2.1vw, 25px);
    font-weight: 800;
    line-height: 1.55;
}

body.rv-public h3 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
}

body.rv-public h4 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
}

body.rv-public :is(p, li, dd, dt, td, th, label) {
    line-height: 1.85;
}

body.rv-public :is(p, li) {
    color: var(--rv-ink-2);
}

/* 既存の見出しユーティリティ。旧デザインではオレンジ一色だったのを、
   新デザインに合わせて本文色＋アクセントに寄せる。 */
body.rv-public .big-header-title {
    font-size: clamp(24px, 2.6vw, 31px);
    font-weight: 800;
    line-height: 1.5;
    color: var(--rv-ink);
    margin-bottom: 1.75rem;
}

body.rv-public .text-primary {
    color: var(--rv-brand-ink) !important;
}

body.rv-public a:not(.btn):not(.rv-btn) {
    color: var(--rv-brand-ink);
}

    body.rv-public a:not(.btn):not(.rv-btn):hover {
        color: var(--rv-brand-deep);
    }

body.rv-public .text-grey,
body.rv-public .text-md {
    color: var(--rv-muted);
}

/* ---- ボタン ---- */
body.rv-public .btn {
    border-radius: 9px;
    font-weight: 700;
    padding: .6em 1.4em;
}

body.rv-public .btn--primary,
body.rv-public .btn-primary {
    background: var(--rv-brand);
    border-color: var(--rv-brand);
    color: #fff;
}

    body.rv-public .btn--primary:hover,
    body.rv-public .btn-primary:hover {
        background: var(--rv-brand-deep);
        border-color: var(--rv-brand-deep);
        color: #fff;
    }

/* ---- 面・罫線 ---- */
body.rv-public :is(.card, .secure-page__board, .contact-page__form-wrapper, .intro-page__info) {
    border-radius: 13px;
    border-color: var(--rv-line);
}

body.rv-public hr {
    border-color: var(--rv-line);
}

body.rv-public :is(table.table, .table) {
    --bs-table-border-color: var(--rv-line);
}

/* ---- フォーム ---- */
body.rv-public :is(.form-control, .form-select) {
    border-radius: 9px;
    border-color: var(--rv-line);
    font-family: inherit;
}

    body.rv-public :is(.form-control, .form-select):focus {
        border-color: var(--rv-brand-line);
        box-shadow: 0 0 0 3px rgba(255,121,0,.15);
    }

/* ---- 余白のリズム ---- */
body.rv-public :is(.secure-page, .contact-page, .intro-page, .refund-page) {
    padding-top: 48px;
    padding-bottom: 64px;
}

/* ---- トップとLPは自前の指定を持つので、下地の見出し上書きを戻す ---- */
body.rv-public .rv-home :is(h1, h2, h3),
body.rv-public .rv-lp :is(h1, h2, h3) {
    color: inherit;
}
