/* OPS Frontend CSS */

/* --- Checkout (dans pmpro_checkout_box) --- */
.pmpro_checkout_box .ops-field { margin-bottom: 18px; }
.pmpro_checkout_box .ops-field:last-of-type { margin-bottom: 6px; }

/* --- Champs partagés checkout + admin profile --- */
.ops-field { margin-bottom: 18px; }
.ops-label { display:block; font-weight:500; font-size:.95rem; color:#333; margin-bottom:9px; line-height:1.4; }
.ops-radios { display:flex; gap:28px; flex-wrap:wrap; align-items:center; }
.ops-radio-label { display:inline-flex; align-items:center; gap:7px; font-size:.95rem; color:#444; cursor:pointer; }
.ops-radio-label input[type="radio"] { width:16px; height:16px; margin:0; accent-color:#1a6abf; flex-shrink:0; }

/* --- Admin profile section --- */
.ops-section { margin:24px 0; }
.ops-section-title { font-size:1.05rem; font-weight:600; color:#333; margin:0 0 16px; padding-bottom:10px; border-bottom:1px solid #e5e7eb; }

/* --- Bloc préférences page adhérent --- */
.ops-account-prefs {
    margin: 32px 0 20px;
    padding: 26px 30px 22px;
    background: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.ops-account-prefs-title {
    font-size: 1.1rem; font-weight: 700; color: #1e3a5f;
    margin: 0 0 22px; padding-bottom: 14px;
    border-bottom: 2px solid #e5e7eb;
}
.ops-prefs-fields { margin-bottom: 22px; }
.ops-account-prefs .ops-field {
    margin-bottom: 18px; padding-bottom: 18px;
    border-bottom: 1px solid #f3f4f6;
}
.ops-account-prefs .ops-field:last-child { border-bottom:none; padding-bottom:0; margin-bottom:0; }
.ops-account-prefs .ops-label { font-size:.91rem; color:#374151; }
.ops-req { color:#e53e3e; font-weight:700; margin-left:2px; }

/* Radio pills */
.ops-account-prefs .ops-radios { gap:10px; }
.ops-pill {
    padding: 6px 16px 6px 10px;
    border: 1.5px solid #d1d5db;
    border-radius: 20px;
    font-size: .88rem; font-weight: 500; color: #6b7280;
    transition: border-color .15s, background .15s, color .15s;
}
.ops-pill:has(input:checked) { border-color:#1a6abf; background:#eff6ff; color:#1a6abf; }
.ops-pill input[type="radio"] { accent-color:#1a6abf; }

/* Bouton save */
.ops-prefs-footer { padding-top:18px; border-top:1px solid #f3f4f6; }
.ops-account-save-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 11px 28px;
    background: linear-gradient(135deg,#1a6abf,#1251a0);
    color: #fff; font-size:.91rem; font-weight:600;
    border: none; border-radius: 8px; cursor: pointer;
    box-shadow: 0 3px 10px rgba(26,106,191,.32);
    transition: background .18s, box-shadow .18s, transform .1s;
}
.ops-account-save-btn:hover { background:linear-gradient(135deg,#1251a0,#0d3e80); box-shadow:0 5px 14px rgba(26,106,191,.42); transform:translateY(-1px); }
.ops-account-save-btn:active { transform:translateY(0); }
.ops-account-save-btn:disabled { opacity:.65; cursor:not-allowed; transform:none; }

/* Messages */
.ops-prefs-msg { padding:10px 15px; border-radius:7px; font-size:.87rem; font-weight:500; margin-bottom:16px; }
.ops-msg-ok  { background:#f0fdf4; color:#16a34a; border:1px solid #bbf7d0; }
.ops-msg-err { background:#fef2f2; color:#dc2626; border:1px solid #fecaca; }

@media(max-width:640px){
    .ops-account-prefs { padding:18px 16px 16px; }
    .ops-account-save-btn { width:100%; justify-content:center; }
}
