/* =========================================================
 * GrandPay Theme: Royal Navy
 * Bootstrap 5.3+ の --bs-* CSS 変数を上書きする方式。
 * Bootstrap 本体の CSS の「後ろ」に読み込むこと。
 * ========================================================= */

:root {
  --bs-primary:       #0B2545;
  --bs-primary-rgb:   11, 37, 69;
  --bs-secondary:     #13315C;
  --bs-secondary-rgb: 19, 49, 92;
  --bs-success:       #1F8A5C;
  --bs-success-rgb:   31, 138, 92;
  --bs-danger:        #B5253A;
  --bs-danger-rgb:    181, 37, 58;
  --bs-warning:       #C9A14A;
  --bs-warning-rgb:   201, 161, 74;
  --bs-info:          #378ADD;
  --bs-info-rgb:      55, 138, 221;
  --bs-light:         #F4F6FA;
  --bs-light-rgb:     244, 246, 250;
  --bs-dark:          #0B2545;
  --bs-dark-rgb:      11, 37, 69;
  --bs-body-color:    #2C2C2A;
  --bs-body-bg:       #FFFFFF;
  --bs-border-color:  #D3D1C7;
  --bs-border-radius:    .375rem;
  --bs-border-radius-sm: .25rem;
  --bs-border-radius-lg: .5rem;
}

.btn-primary {
  --bs-btn-bg:                 #0B2545;
  --bs-btn-border-color:       #0B2545;
  --bs-btn-hover-bg:           #13315C;
  --bs-btn-hover-border-color: #13315C;
  --bs-btn-active-bg:          #081A33;
  --bs-btn-active-border-color:#081A33;
}

.btn-outline-primary {
  --bs-btn-color:              #0B2545;
  --bs-btn-border-color:       #0B2545;
  --bs-btn-hover-bg:           #0B2545;
  --bs-btn-hover-border-color: #0B2545;
}

/* Gold accent */
.bg-gold     { background-color: #C9A14A !important; color: #4A1B0C; }
.text-gold   { color: #C9A14A !important; }
.border-gold { border-color: #C9A14A !important; }

.btn-gold {
  --bs-btn-color:              #4A1B0C;
  --bs-btn-bg:                 #C9A14A;
  --bs-btn-border-color:       #C9A14A;
  --bs-btn-hover-color:        #fff;
  --bs-btn-hover-bg:           #B5872E;
  --bs-btn-hover-border-color: #B5872E;
}

/* GrandPay 独自コンポーネント */
.brand-grandpay {
  font-weight: 500;
  letter-spacing: -.02em;
  color: #0B2545;
}
.amount-display {
  font-size: 1.75rem;
  font-weight: 500;
  color: #2C2C2A;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
}
.badge-trust {
  background-color: #1F8A5C;
  color: #fff;
  font-weight: 500;
  font-size: .75rem;
  padding: .25rem .625rem;
  border-radius: 50rem;
}
.badge-premium {
  background-color: #C9A14A;
  color: #4A1B0C;
  font-weight: 500;
  font-size: .75rem;
  padding: .25rem .625rem;
  border-radius: 50rem;
}
.card-grandpay {
  background-color: #F4F6FA;
  border: .5px solid #D3D1C7;
  border-radius: .5rem;
}

.form-control:focus,
.form-select:focus {
  border-color: #0B2545;
  box-shadow: 0 0 0 .2rem rgba(11, 37, 69, .15);
}

/* =========================================================
 * Login / single-page screens
 * ========================================================= */
.login-page-body {
  background-color: #0B2545;
  min-height: 100vh;
}
.login-card {
  background-color: #FFFFFF;
  border: 1px solid #D3D1C7;
  border-radius: .5rem;
  overflow: hidden;
}
.login-card-accent {
  height: 3px;
  background-color: #C9A14A;
}
.login-eyebrow {
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #5F5E5A;
}
