﻿/* ============================================
   FORMULAIRES - STYLES GLOBAUX
   ============================================ */

/* --- Container et Structure --- */
.me5rine-lab-form-container {
    padding: 0;
    max-width: 100%;
}

.me5rine-lab-form-section {
    padding-bottom: 40px;
    margin-bottom: var(--me5rine-lab-spacing-xl);
    border-bottom: 1px solid var(--me5rine-lab-border, #DEE5EC);
}

.me5rine-lab-form-section:last-child {
    border-bottom: none;
}

.campaign-form-dashboard .me5rine-lab-form-section {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    border-bottom: none !important;
}

/* Form titles: .me5rine-lab-title / .me5rine-lab-kicker in primitives.css + cards.css. */

/* --- Texte en tuile --- */
.me5rine-lab-form-text {
    display: block;
    width: 100%;
    padding: 16px 20px;
    padding-left: 24px;
    background: var(--me5rine-lab-bg-secondary, #F9FAFB);
    border: 1px solid var(--me5rine-lab-border, #DEE5EC);
    border-left: 4px solid var(--me5rine-lab-secondary, #0485C8);
    border-radius: var(--me5rine-lab-radius-md);
    font-family: var(--me5rine-lab-font);
    font-size: 15px;
    line-height: 1.5;
    color: var(--me5rine-lab-text, #11161E);
    margin: 24px 0 0 0;
    transition: all 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
}

.me5rine-lab-form-text:hover {
    background: var(--me5rine-lab-bg, #ffffff);
    border-color: var(--me5rine-lab-border-light, #B5C2CF);
    border-left-color: var(--me5rine-lab-primary, #2E576F);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

/* --- Layout (Grid) --- */
.me5rine-lab-form-row {
    display: flex;
    margin-bottom: 24px;
}

.me5rine-lab-form-row:last-of-type {
    margin-bottom: 0;
}

.me5rine-lab-form-row-full {
    display: block;
    margin-bottom: 24px;
}

.me5rine-lab-form-row-full:last-child {
    margin-bottom: 0;
}

.me5rine-lab-form-col {
    width: calc(50% - 1rem);
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.me5rine-lab-form-col-full {
    grid-column: 1 / -1;
}

/* --- Champs de Formulaire --- */
.me5rine-lab-form-field {
    margin-bottom: var(--me5rine-lab-spacing-lg, 20px);
    width: 100% !important;
    display: flex;
    flex-direction: column;
    gap: var(--me5rine-lab-spacing-xs, 5px);
}

.me5rine-lab-form-field:last-child {
    margin-bottom: 0;
}

.me5rine-lab-form-label,
.um-field-label label,
.wpcf7-form label,
.wpcf7-form .wpcf7-quiz-label {
    display: block;
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--me5rine-lab-text, #11161E);
    text-transform: none;
    letter-spacing: normal;
    font-family: var(--me5rine-lab-font);
}

.um-field-label {
    margin-bottom: 0 !important;
}

.um-field-label label {
    line-height: 13px !important;
    margin-bottom: 6px !important;
}

.um-field-label .um-field-label-icon {
    height: 15px !important;
}

.um-field-label .um-field-label-icon i {
    font-size: 18px !important;
    top: -2px !important;
}

.um-field-label-icon i::before {
    color: var(--me5rine-lab-primary, #2E576F) !important;
    font-size: 14px !important;
}

/* --- Inputs, Selects, Textarea --- */
.me5rine-lab-form-input:not([type="file"]),
.me5rine-lab-form-select:not(.select2-hidden-accessible),
.me5rine-lab-form-textarea,
/* Contact Form 7 */
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-tel,
.wpcf7-form-control.wpcf7-quiz,
.wpcf7-form-control.wpcf7-select,
.wpcf7-form-control.wpcf7-textarea,
/* Renforcement pour Ultimate Member - SpÃ©cificitÃ© plus Ã©levÃ©e */
.um .me5rine-lab-form-input:not([type="file"]),
.um .me5rine-lab-form-select:not(.select2-hidden-accessible),
.um .um-form textarea,
.um-form .me5rine-lab-form-input:not([type="file"]),
.um-form .me5rine-lab-form-select:not(.select2-hidden-accessible),
.um-form .me5rine-lab-form-textarea,
.um .um-form input[type=text] {
    width: 100% !important;
    min-height: var(--me5rine-lab-input-min-height, 44px) !important;
    padding: var(--me5rine-lab-input-padding-y, 10px) var(--me5rine-lab-input-padding-x, 15px) !important;
    margin: 0 !important;
    border: var(--me5rine-lab-input-border-width, 1px) solid var(--me5rine-lab-border, #DEE5EC) !important;
    border-radius: var(--me5rine-lab-control-radius, var(--me5rine-lab-radius-sm, 6px)) !important;
    font-size: 15px !important;
    font-family: inherit !important;
    line-height: 1.5 !important;
    transition: all 0.2s ease !important;
    background-color: var(--me5rine-lab-bg, #ffffff) !important;
    background-image: none !important;
    box-sizing: border-box !important;
    color: var(--me5rine-lab-text, #11161E) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    vertical-align: middle !important;
    height: auto !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.wpcf7-form-control.wpcf7-quiz {
    margin-top: 6px !important;
}

.um .um-form textarea {
    height: 100px !important;
}

/* Select spÃ©cifique - Uniquement pour les selects natifs (pas Select2) */
.me5rine-lab-form-select:not(.select2-hidden-accessible),
.wpcf7-form-control.wpcf7-select:not(.select2-hidden-accessible) {
    padding-right: 50px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235D697D' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    cursor: pointer !important;
    overflow-y: auto !important;
    max-height: 200px !important;
    box-sizing: border-box !important;
    color: var(--me5rine-lab-text-light, #5D697D) !important;
}

/* Quand Select2 est actif, on neutralise les styles dangereux sur le <select> caché */
.me5rine-lab-form-select.select2-hidden-accessible,
.wpcf7-form-control.wpcf7-select.select2-hidden-accessible {
    overflow: visible !important;
    max-height: none !important;
    background-image: none !important;
    padding-right: 0 !important;
}

/* Option par dÃ©faut (vide) en gris - Uniquement pour les selects natifs */
.me5rine-lab-form-select:not(.select2-hidden-accessible) option[value=""],
.wpcf7-form-control.wpcf7-select:not(.select2-hidden-accessible) option[value=""] {
    color: var(--me5rine-lab-text-light, #5D697D) !important;
}

/* Options avec valeur en noir - Uniquement pour les selects natifs */
.me5rine-lab-form-select:not(.select2-hidden-accessible) option:not([value=""]),
.wpcf7-form-control.wpcf7-select:not(.select2-hidden-accessible) option:not([value=""]) {
    color: var(--me5rine-lab-text, #11161E) !important;
}

/* Scrollbar pour les selects natifs uniquement */
.me5rine-lab-form-select:not(.select2-hidden-accessible)::-webkit-scrollbar {
    width: 8px;
}

.me5rine-lab-form-select:not(.select2-hidden-accessible)::-webkit-scrollbar-track {
    background: var(--me5rine-lab-bg-secondary, #F9FAFB);
    border-radius: 4px;
    margin: 4px 0;
}

.me5rine-lab-form-select:not(.select2-hidden-accessible)::-webkit-scrollbar-thumb {
    background: var(--me5rine-lab-border-light, #B5C2CF);
    border-radius: 4px;
}

.me5rine-lab-form-select:not(.select2-hidden-accessible)::-webkit-scrollbar-thumb:hover {
    background: var(--me5rine-lab-text-light, #5D697D);
}

.me5rine-lab-form-select:not(.select2-hidden-accessible) {
    scrollbar-width: thin;
    scrollbar-color: var(--me5rine-lab-border-light, #B5C2CF) var(--me5rine-lab-bg-secondary, #F9FAFB);
}

.me5rine-lab-form-textarea,
.um .um-form textarea,
.wpcf7-form-control.wpcf7-textarea {
    min-height: 100px;
    resize: vertical;
}

/* --- Ã‰tats : Focus --- */
.me5rine-lab-form-input:focus,
.me5rine-lab-form-select:focus,
.me5rine-lab-form-textarea:focus,
.um .um-form textarea:focus,
.wpcf7-form-control.wpcf7-text:focus,
.wpcf7-form-control.wpcf7-email:focus,
.wpcf7-form-control.wpcf7-tel:focus,
.wpcf7-form-control.wpcf7-quiz:focus,
.wpcf7-form-control.wpcf7-select:focus,
.wpcf7-form-control.wpcf7-textarea:focus,
.um .um-form input[type=text]:focus {
    outline: none !important;
    border-color: var(--me5rine-lab-secondary, #0485C8) !important;
    box-shadow: 0 0 0 3px var(--me5rine-lab-focus-ring, rgba(4, 133, 200, 0.1)) !important;
}

.um .um-form textarea:focus,
.um .um-form input[type=text]:focus {
    border-width: var(--me5rine-lab-input-border-width, 1px) !important;
}

.me5rine-lab-form-select:not(.select2-hidden-accessible):focus,
.wpcf7-form-control.wpcf7-select:not(.select2-hidden-accessible):focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230485C8' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
}

/* --- Ã‰tats : Hover --- */
.me5rine-lab-form-input:hover:not(:focus),
.me5rine-lab-form-select:not(.select2-hidden-accessible):hover:not(:focus),
.me5rine-lab-form-textarea:hover:not(:focus),
.um .um-form textarea:hover:not(:focus),
.wpcf7-form-control.wpcf7-text:hover:not(:focus),
.wpcf7-form-control.wpcf7-email:hover:not(:focus),
.wpcf7-form-control.wpcf7-tel:hover:not(:focus),
.wpcf7-form-control.wpcf7-quiz:hover:not(:focus),
.wpcf7-form-control.wpcf7-select:hover:not(:focus),
.wpcf7-form-control.wpcf7-textarea:hover:not(:focus) {
    border-color: var(--me5rine-lab-border-light, #B5C2CF) !important;
}

/* --- Placeholders --- */
.me5rine-lab-form-input::placeholder,
.me5rine-lab-form-textarea::placeholder,
.wpcf7-form-control.wpcf7-text::placeholder,
.wpcf7-form-control.wpcf7-email::placeholder,
.wpcf7-form-control.wpcf7-tel::placeholder,
.wpcf7-form-control.wpcf7-quiz::placeholder,
.wpcf7-form-control.wpcf7-textarea::placeholder {
    color: var(--me5rine-lab-text-light, #5D697D) !important;
    opacity: 0.7;
}

/* --- Textes d'aide et erreurs --- */
.me5rine-lab-form-description {
    margin-top: 8px;
    font-size: 13px;
    color: var(--me5rine-lab-text-light);
    line-height: 1.5;
    font-family: var(--me5rine-lab-font);
}

.me5rine-lab-form-error {
    margin-top: 8px;
    font-size: 13px;
    color: var(--me5rine-lab-error, #F44336);
    line-height: 1.5;
    font-family: var(--me5rine-lab-font);
}

/* --- Inputs number (suppression des spinners) --- */
.me5rine-lab-form-input[type="number"]::-webkit-inner-spin-button,
.me5rine-lab-form-input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}

.me5rine-lab-form-input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* --- Checkboxes --- */
.me5rine-lab-form-checkbox-group {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
}

.me5rine-lab-form-checkbox-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid var(--me5rine-lab-border, #DEE5EC);
    border-radius: var(--me5rine-lab-radius-md);
    background: var(--me5rine-lab-bg-secondary, #F9FAFB);
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.me5rine-lab-form-checkbox-item:hover {
    background: var(--me5rine-lab-border, #DEE5EC);
    border-color: var(--me5rine-lab-border-light, #B5C2CF);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.me5rine-lab-form-checkbox-item .me5rine-lab-form-checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    cursor: pointer;
}

.me5rine-lab-form-checkbox-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.me5rine-lab-form-checkbox-icon i {
    font-size: 22px;
    color: var(--me5rine-lab-text-light);
    transition: all 0.2s ease;
}

.me5rine-lab-form-checkbox-text {
    font-size: 14px;
    color: var(--me5rine-lab-text-light);
    flex: 1;
    user-select: none;
    font-family: var(--me5rine-lab-font);
}

/* Ã‰tat checked */
.me5rine-lab-form-checkbox-item.checked,
.me5rine-lab-form-checkbox-item:has(.me5rine-lab-form-checkbox:checked) {
    background: var(--me5rine-lab-focus-ring, rgba(4, 133, 200, 0.1));
    border-color: var(--me5rine-lab-secondary, #0485C8);
    box-shadow: 0 0 0 3px var(--me5rine-lab-focus-ring, rgba(4, 133, 200, 0.1));
}

.me5rine-lab-form-checkbox-item.checked:hover,
.me5rine-lab-form-checkbox-item:has(.me5rine-lab-form-checkbox:checked):hover {
    background: var(--me5rine-lab-focus-ring-medium, rgba(4, 133, 200, 0.15));
    border-color: var(--me5rine-lab-primary, #2E576F);
    transform: translateY(-1px);
    box-shadow: 0 0 0 3px rgba(4, 133, 200, 0.1), 0 2px 4px rgba(0, 0, 0, 0.05);
}

.me5rine-lab-form-checkbox-item.checked .me5rine-lab-form-checkbox-icon i,
.me5rine-lab-form-checkbox-item:has(.me5rine-lab-form-checkbox:checked) .me5rine-lab-form-checkbox-icon i {
    color: var(--me5rine-lab-secondary, #0485C8);
}

.me5rine-lab-form-checkbox-item.checked .me5rine-lab-form-checkbox-text,
.me5rine-lab-form-checkbox-item:has(.me5rine-lab-form-checkbox:checked) .me5rine-lab-form-checkbox-text {
    color: var(--me5rine-lab-text, #11161E);
    font-weight: 500;
}

/* --- Vue (Read-only) --- */
.me5rine-lab-form-view {
    background: var(--me5rine-lab-bg, #ffffff);
    border-radius: var(--me5rine-lab-radius-lg);
    padding: var(--me5rine-lab-spacing-xl);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border-bottom: none;
}

.me5rine-lab-form-view:last-child {
    border-bottom: none;
}

.me5rine-lab-form-view-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 16px;
}

.me5rine-lab-form-view-row:last-of-type {
    margin-bottom: 0;
}

.me5rine-lab-form-view-item {
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
}

.me5rine-lab-form-view-details,
.me5rine-lab-form-views-details {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.me5rine-lab-form-view-uuid {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-all;
    font-size: 0.9em;
    background: var(--me5rine-lab-bg-secondary, #F9FAFB);
    padding: 2px 6px;
    border-radius: var(--me5rine-lab-radius-sm, 3px);
}

.me5rine-lab-form-view-label {
    margin-bottom: var(--me5rine-lab-spacing-xs, 5px);
}

.me5rine-lab-form-view-value {
    font-family: var(--me5rine-lab-font);
    font-size: 15px;
    line-height: 20px;
    color: var(--me5rine-lab-text);
    text-transform: capitalize;
}

.me5rine-lab-form-view-row-full {
    display: block;
    margin-bottom: 16px;
}

.me5rine-lab-form-view-row-full:last-child {
    margin-bottom: 0;
}

.me5rine-lab-form-view-row-full .me5rine-lab-form-view-item {
    grid-column: 1 / -1;
}

/* --- Messages et Notifications --- */
.me5rine-lab-form-message,
p.um-notice {
    border-radius: var(--me5rine-lab-control-radius, var(--me5rine-lab-radius-md, 8px)) !important;
    padding: var(--me5rine-lab-notice-padding-y, 18px) var(--me5rine-lab-notice-padding-x, 24px) !important;
    margin: 0 !important;
    margin-bottom: var(--me5rine-lab-spacing-lg, 20px) !important;
    font-size: 15px !important;
    font-family: var(--me5rine-lab-font) !important;
    line-height: 1.5 !important;
    border-left: 4px solid !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative !important;
}

.me5rine-lab-form-message::before,
p.um-notice::before {
    flex-shrink: 0;
    font-weight: bold;
    line-height: 1;
    display: inline-block;
}

.me5rine-lab-form-message p,
p.um-notice {
    margin: 0;
    font-weight: 500;
    flex: 1;
    padding: 0;
}

.me5rine-lab-form-message p {
    line-height: 22.5px !important;
}

p.um-notice i {
    top: 50%;
    height: inherit;
    line-height: 36px;
    transform: translateY(-50%);
}

.me5rine-lab-form-message-success,
p.um-notice.success {
    background: var(--me5rine-lab-success-bg, rgba(76, 175, 80, 0.1)) !important;
    border-left-color: var(--me5rine-lab-success, #4CAF50) !important;
    border: 1px solid var(--me5rine-lab-success-border, rgba(76, 175, 80, 0.2));
    border-left-width: 4px !important;
    color: var(--me5rine-lab-success, #4CAF50) !important;
}

.me5rine-lab-form-message-success::before,
p.um-notice.success::before {
    content: '✓';
    color: var(--me5rine-lab-success, #4CAF50);
    font-size: 20px;
}

.me5rine-lab-form-message-success p {
    color: var(--me5rine-lab-success, #4CAF50) !important;
}

.me5rine-lab-form-message-error {
    background: var(--me5rine-lab-error-bg, rgba(244, 67, 54, 0.1));
    border-left-color: var(--me5rine-lab-error, #F44336) !important;
    border: 1px solid var(--me5rine-lab-error-border, rgba(244, 67, 54, 0.2));
    border-left-width: 4px !important;
    color: var(--me5rine-lab-error, #F44336) !important;
}

.me5rine-lab-form-message-error::before {
    content: '✕';
    color: var(--me5rine-lab-error, #F44336);
    font-size: 20px;
}

.me5rine-lab-form-message-error p {
    color: var(--me5rine-lab-error, #F44336) !important;
}

.me5rine-lab-form-message-warning {
    background: var(--me5rine-lab-warning-bg, rgba(255, 152, 0, 0.1));
    border-left-color: var(--me5rine-lab-warning, #FF9800) !important;
    border: 1px solid var(--me5rine-lab-warning-border, rgba(255, 152, 0, 0.2)) !important;
    border-left-width: 4px !important;
    color: var(--me5rine-lab-warning, #FF9800) !important;
}

.me5rine-lab-form-message-warning::before {
    content: '⚠';
    color: var(--me5rine-lab-warning, #FF9800);
    font-size: 20px;
}

.me5rine-lab-form-message-warning p {
    color: var(--me5rine-lab-warning, #FF9800) !important;
}

.me5rine-lab-form-message-info {
    background: var(--me5rine-lab-info-bg, rgba(33, 150, 243, 0.1)) !important;
    border-left-color: var(--me5rine-lab-info, #2196F3) !important;
    border: 1px solid var(--me5rine-lab-info-border, rgba(33, 150, 243, 0.2));
    border-left-width: 4px !important;
    color: var(--me5rine-lab-info, #2196F3) !important;
}

.me5rine-lab-form-message-info::before {
    content: 'ℹ';
    color: var(--me5rine-lab-info, #2196F3);
    font-size: 20px;
}

.me5rine-lab-form-message-info p {
    color: var(--me5rine-lab-info, #2196F3) !important;
}

/* Structured notice: body column, inline checkbox, compact actions */
.me5rine-lab-form-message:has(.me5rine-lab-form-message__body) {
    align-items: flex-start;
    padding: var(--me5rine-lab-spacing-md, 15px) var(--me5rine-lab-spacing-lg, 20px) !important;
    gap: 0.65rem;
}

.me5rine-lab-form-message__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
}

.me5rine-lab-form-message__body > p {
    margin: 0;
    flex: none;
    width: 100%;
}

.me5rine-lab-form-message__check {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    max-width: 100%;
    font-weight: 600;
    color: inherit;
    cursor: pointer;
}

.me5rine-lab-form-message__check input {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    margin: 0;
    accent-color: currentColor;
}

.me5rine-lab-form-message__check span {
    min-width: 0;
    line-height: 1.35;
}

.me5rine-lab-form-message__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--me5rine-lab-spacing-sm, 10px);
    margin: 0;
    width: auto;
}

.me5rine-lab-form-message__hint {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 500;
    opacity: 0.9;
}

.me5rine-lab-form-message[hidden],
.me5rine-lab-form-message.is-hidden,
.me5rine-lab-form-message__check[hidden],
.me5rine-lab-form-message__check.is-hidden,
.me5rine-lab-form-message__actions[hidden],
.me5rine-lab-form-message__actions.is-hidden,
.me5rine-lab-form-message__hint[hidden],
.me5rine-lab-form-message__hint.is-hidden {
    display: none !important;
}

/* --- Boutons dans les messages --- */
/* Note: Tous les styles des boutons de messages sont définis dans buttons.css
   pour éviter les conflits avec les boutons secondaires et garantir l'ordre de chargement correct */

/* --- Front notices (UM leftover wrappers still used on some shortcodes) --- */
.me5rine-um-messages-wrapper {
    margin-bottom: 24px;
}

.me5rine-um-messages-wrapper > div {
    margin-bottom: 12px;
}

.me5rine-um-messages-wrapper > div:last-child {
    margin-bottom: 0;
}

/* --- Messages Ultimate Member : Warning et Info (simulÃ©s via success) --- */
/* Ces styles ciblent les spans ajoutÃ©s dans les fonctions utilitaires */
p.um-notice.success .um-notice-warning {
    display: block;
    background: var(--me5rine-lab-warning-bg, rgba(255, 152, 0, 0.1)) !important;
    border-left: 4px solid var(--me5rine-lab-warning, #FF9800) !important;
    border: 1px solid var(--me5rine-lab-warning-border, rgba(255, 152, 0, 0.2)) !important;
    border-left-width: 4px !important;
    color: var(--me5rine-lab-warning, #FF9800) !important;
    padding: 18px 24px !important;
    border-radius: var(--me5rine-lab-radius-md) !important;
    margin: 0 !important;
}

/* Style pour transformer un message success en warning */
p.um-notice.success:has(.um-notice-warning) {
    background: var(--me5rine-lab-warning-bg, rgba(255, 152, 0, 0.1)) !important;
    border-left-color: var(--me5rine-lab-warning, #FF9800) !important;
    border-color: var(--me5rine-lab-warning-border, rgba(255, 152, 0, 0.2)) !important;
    color: var(--me5rine-lab-warning, #FF9800) !important;
}

p.um-notice.success:has(.um-notice-warning)::before {
    content: '⚠' !important;
    color: var(--me5rine-lab-warning, #FF9800) !important;
}

/* Style pour les messages info */
p.um-notice.success .um-notice-info {
    display: block;
    background: var(--me5rine-lab-info-bg, rgba(33, 150, 243, 0.1)) !important;
    border-left: 4px solid var(--me5rine-lab-info, #2196F3) !important;
    border: 1px solid var(--me5rine-lab-info-border, rgba(33, 150, 243, 0.2)) !important;
    border-left-width: 4px !important;
    color: var(--me5rine-lab-info, #2196F3) !important;
    padding: 18px 24px !important;
    border-radius: var(--me5rine-lab-radius-md) !important;
    margin: 0 !important;
}

/* Style pour transformer un message success en info */
p.um-notice.success:has(.um-notice-info) {
    background: var(--me5rine-lab-info-bg, rgba(33, 150, 243, 0.1)) !important;
    border-left-color: var(--me5rine-lab-info, #2196F3) !important;
    border-color: var(--me5rine-lab-info-border, rgba(33, 150, 243, 0.2)) !important;
    color: var(--me5rine-lab-info, #2196F3) !important;
}

p.um-notice.success:has(.um-notice-info)::before {
    content: 'ℹ' !important;
    color: var(--me5rine-lab-info, #2196F3) !important;
}

/* Style pour les erreurs Ultimate Member */
p.um-notice.err,
p.um-notice.error {
    background: var(--me5rine-lab-error-bg, rgba(244, 67, 54, 0.1)) !important;
    border-left-color: var(--me5rine-lab-error, #F44336) !important;
    border: 1px solid var(--me5rine-lab-error-border, rgba(244, 67, 54, 0.2)) !important;
    border-left-width: 4px !important;
    color: var(--me5rine-lab-error, #F44336) !important;
}

p.um-notice.err::before,
p.um-notice.error::before {
    content: '⚠' !important;
    color: var(--me5rine-lab-error, #F44336) !important;
}

/* --- Styles Select2 pour les formulaires --- */
/* Container Select2 dans les formulaires */
#poke-hub-profile-form .select2-container {
    z-index: auto;
  }

#poke-hub-profile-form .select2-container--open {
    z-index: 9999;
  }

#poke-hub-profile-form .select2-dropdown {
    z-index: 9999;
}

/* Styles pour le champ visible Select2 dans poke-hub-profile-form */
#poke-hub-profile-form .select2-container .select2-selection--single {
    min-height: var(--me5rine-lab-input-min-height, 44px);
    border: var(--me5rine-lab-input-border-width, 1px) solid var(--me5rine-lab-border, #DEE5EC);
    border-radius: var(--me5rine-lab-control-radius, var(--me5rine-lab-radius-sm, 6px));
    display: flex;
    align-items: center;
}

/* Le texte dans Select2 */
#poke-hub-profile-form .select2-container .select2-selection__rendered {
    line-height: 1.5;
    padding-left: 16px;
    padding-right: 44px; /* place pour la flèche */
}

/* La flèche Select2 */
#poke-hub-profile-form .select2-container .select2-selection__arrow {
    height: 100%;
    right: 12px;
}

/* Icônes (drapeau, équipe, motifs Vivillon / lépidonille) : une ligne, image à gauche — comme sur la page friend codes */
#poke-hub-profile-form .select2-container .select2-selection--single .select2-selection__rendered,
.poke-hub-friend-codes-filter-form .select2-container .select2-selection--single .select2-selection__rendered,
.friend-codes-dashboard .select2-container .select2-selection--single .select2-selection__rendered,
.vivillon-dashboard .select2-container .select2-selection--single .select2-selection__rendered {
    display: flex !important;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.5rem;
    line-height: 1.2 !important;
}

#poke-hub-profile-form .select2-selection__rendered > span,
.poke-hub-friend-codes-filter-form .select2-selection__rendered > span,
.friend-codes-dashboard .select2-selection__rendered > span,
.vivillon-dashboard .select2-selection__rendered > span {
    display: inline-flex !important;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    max-width: 100%;
}

#poke-hub-profile-form .select2-selection__rendered img,
.poke-hub-friend-codes-filter-form .select2-selection__rendered img,
.friend-codes-dashboard .select2-selection__rendered img,
.vivillon-dashboard .select2-selection__rendered img {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    object-fit: contain;
    vertical-align: middle;
}

#poke-hub-profile-form .select2-dropdown .select2-results__option,
.poke-hub-friend-codes-filter-form .select2-dropdown .select2-results__option,
.friend-codes-dashboard .select2-dropdown .select2-results__option,
.vivillon-dashboard .select2-dropdown .select2-results__option {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.5rem;
}

#poke-hub-profile-form .select2-dropdown .select2-results__option > span,
.poke-hub-friend-codes-filter-form .select2-dropdown .select2-results__option > span,
.friend-codes-dashboard .select2-dropdown .select2-results__option > span,
.vivillon-dashboard .select2-dropdown .select2-results__option > span {
    display: inline-flex !important;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

#poke-hub-profile-form .select2-dropdown .select2-results__option img,
.poke-hub-friend-codes-filter-form .select2-dropdown .select2-results__option img,
.friend-codes-dashboard .select2-dropdown .select2-results__option img,
.vivillon-dashboard .select2-dropdown .select2-results__option img {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

/* --- Utilitaires de Formulaire --- */
/* Affichage/Masquage */
.me5rine-lab-hidden {
    display: none !important;
}

/* Conteneur flex horizontal avec alignement centré */
.me5rine-lab-flex-row-center {
    display: flex;
    align-items: center;
    gap: var(--me5rine-lab-spacing-sm, 8px);
    margin-bottom: var(--me5rine-lab-spacing-md, 16px);
}

/* Titre sans marge */
.me5rine-lab-subtitle-no-margin {
    margin: 0;
}

/* Bouton avec espacement à gauche */
.me5rine-lab-form-button-spaced {
    margin-left: var(--me5rine-lab-spacing-sm, 8px);
}

/* Bouton inline-block (pour alignement avec autres boutons) */
.me5rine-lab-form-button-inline {
    display: inline-block;
}

/* Message qui peut être caché via classe */
.me5rine-lab-form-message-hidden {
    display: none;
}

/* Conteneur avec espacement conditionnel pour les détails */
.me5rine-lab-form-view-content-spaced {
    margin-bottom: var(--me5rine-lab-spacing-sm, 8px);
}

.me5rine-lab-form-view-content-no-spacing {
    margin-bottom: 0;
}

/* Message full-width dans grid */
.me5rine-lab-form-message-full-width {
    grid-column: 1 / -1;
}

/* Note: Toutes les règles responsive sont dans responsive.css et um-responsive.css */
