/* GoogleAuthLogin42 フロント用スタイル */

/* 区切り線（「または」） */
.gal42-separator {
    display: flex;
    align-items: center;
    text-align: center;
    color: #949494;
    font-size: 13px;
    margin: 20px 0 12px;
}
.gal42-separator::before,
.gal42-separator::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid #d9d9d9;
}
.gal42-separator:not(:empty)::before {
    margin-right: 12px;
}
.gal42-separator:not(:empty)::after {
    margin-left: 12px;
}

/* Google公式ガイドライン準拠ボタン */
.gal42-gbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
    padding: 0 16px;
    height: 44px;
    background-color: #ffffff;
    border: 1px solid #dadce0;
    border-radius: 4px;
    color: #3c4043;
    font-family: "Roboto", "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: background-color .15s, box-shadow .15s, border-color .15s;
}
.gal42-gbtn:hover {
    background-color: #f7f8f8;
    border-color: #d2e3fc;
    box-shadow: 0 1px 2px rgba(60, 64, 67, .3);
    color: #3c4043;
    text-decoration: none;
}
.gal42-gbtn:active {
    background-color: #ecf3fe;
}
.gal42-gbtn__icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
.gal42-gbtn__label {
    line-height: 1;
}

/* 訴求コピー */
.gal42-lead {
    max-width: 320px;
    margin: 8px auto 0;
    color: #6c757d;
    font-size: 12px;
    text-align: center;
    line-height: 1.5;
}

/* ボタン挿入ブロックの上部余白 */
.gal42-block {
    margin-top: 20px;
}

/* マイページ連携ボタン: dd内の標準の流れに合わせ左寄せ・上12px */
.gal42-gbtn--mypage {
    margin: 12px 0 0;
}

/* マイページ連携解除ボタンの上余白 */
.gal42-unlink {
    margin-top: 12px;
}

/* 完了ページのボタン縦積み余白
   （本体 .ec-registerRole .ec-blockBtn--action { margin-bottom:16px } の完了ページ版補完）
   本体クラスだけで書くと店舗の会員登録完了ページにも波及するため、
   このプラグインの完了ページに付けた目印で範囲を閉じる。 */
.gal42-complete .ec-blockBtn--action {
    margin-bottom: 16px;
}

/* 会員登録フォーム冒頭ブロック */
.gal42-entrytop {
    margin-bottom: 24px;
}
.gal42-entrytop .gal42-separator {
    margin: 20px 0 0;
}


/* パスワード未設定時の注意書き。dd 内では他の項目(ec-para-normal)と同じ
   並びの1行として表示されるため、それらと同じ左寄せにする。上の余白は
   直前の p の margin-bottom(16px)に任せ、下はボタンとの間隔だけ確保する。 */
.gal42-notice {
    margin: 0 0 16px;
    line-height: 1.6;
    text-align: left;
}


/* 外部アカウント連携画面の共通整形。
   - 先頭の枠線: ページ側の区切り線と二重になり点線が連続するため消す
   - 行の下余白: ボタンが下の点線に密着するため、上(15px)と釣り合う間隔を足す */
.external-account-section .ec-borderedDefs {
    border-top: none;
}
.external-account-section .ec-borderedDefs dl {
    /* 行の上下余白は dl 側で一元管理し、全行を同じリズムに揃える */
    padding-top: 16px;
    padding-bottom: 16px;
}
.external-account-section .ec-borderedDefs dt {
    /* 本体は dt 側だけ上に 14px の余白を持ち、ラベルが値より下がる。
       余白は dl 側で統一するため打ち消す。 */
    padding-top: 0;
}

/* SPは画面が狭く左揃えだと右側が空くため、ボタンだけ中央へ寄せる。
   本文の文字は左揃えのまま崩さない。 */
@media (max-width: 767px) {
    .external-account-section .gal42-gbtn--mypage {
        margin-left: auto;
        margin-right: auto;
    }
    .external-account-section .ec-inlineBtn {
        display: block;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }
}

/* 先頭の欄は直前の「ようこそ」欄が持つ下余白 16px が加算され、
   区切り線から内容までが 32px になって下側(16px)と釣り合わない。
   先頭だけ打ち消し、2つ目以降は直前の欄の線がすぐ上にあるため据え置く。 */
.external-account-section {
    margin-top: -16px;
}
.external-account-section ~ .external-account-section {
    margin-top: 0;
}

/* 本体の .ec-borderedDefs は下に 16px の余白を持つ。区切り線は dl の下端に
   引かれるため、この余白が線の下に残り、次の欄の上だけ 32px に広がる。
   欄の内側の余白は dl 側で管理しているので、ここは 0 にして揃える。 */
.external-account-section .ec-borderedDefs {
    margin-bottom: 0;
}
