/* ============================================================
   PETITLOU — ESPACE MEMBRE (habillage commun)  v1.0
   Navigation + mise en page de /compte/ (WooCommerce Mon compte).
   Couleurs : kit Elementor (Rose, Marron, Marron moyen, Gris…)
   Typo : Nunito
   ============================================================ */

.woocommerce-account,
.pl-account-scope {
    --pl-pink:        #F9867B;
    --pl-pink-soft:   #FEEDEB;
    --pl-dark:        #3E211F;
    --pl-mid:         #8B7A79;
    --pl-line:        #D8D3D2;
    --pl-gray-bg:     #EDEBEB;
    --pl-radius:      15px;
    --pl-shadow:      0 4px 20px rgba(62, 33, 31, 0.08);
    --pl-danger:      #D92D20;
    --pl-ease:        0.2s ease;
}

/* Police de l'espace membre, y compris hors de WooCommerce (profil
   public, où le corps de page garde la police système du thème). */
.pl-account-scope {
    font-family: var(--e-global-typography-text-font-family, Nunito), sans-serif;
    color: var(--pl-dark);
}

/* Profil public (gabarit Elementor #602) : la colonne qui contient le
   menu garde sa largeur Elementor (300 px) au lieu d'être comprimée par
   la colonne du profil. */
.e-con:has(> .elementor-widget-shortcode .pl-account-nav),
.e-con:has(> .e-con-inner > .elementor-widget-shortcode .pl-account-nav) {
    flex-shrink: 0;
}

/* ─── MISE EN PAGE : menu à gauche, écran à droite ─────────── */
/* WooCommerce (et Dokan) glissent des éléments avant le menu : on fixe
   la place de chaque bloc plutôt que de dépendre de leur ordre. Pas
   d'écart vertical entre les lignes : les éléments vides n'en créent pas. */

.woocommerce-account.logged-in .woocommerce {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    column-gap: 40px;
    row-gap: 0;
    align-items: start;
    font-family: Nunito, sans-serif;
    color: var(--pl-dark);
    margin: 32px 0 64px;
}

.woocommerce-account.logged-in .woocommerce > * {
    grid-column: 2;
}

.woocommerce-account.logged-in .woocommerce > .pl-account-nav {
    grid-column: 1;
    grid-row: 1 / span 10;
}

/* Annule les flottants et largeurs de WooCommerce. */
.woocommerce-account .woocommerce-MyAccount-navigation.pl-account-nav,
.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: auto;
    margin: 0;
}

/* Titres internes en double avec l'en-tête de l'écran. */
.woocommerce-MyAccount-content .pl-msg-title,
.woocommerce-MyAccount-content h2:empty {
    display: none;
}

/* ─── MENU ─────────────────────────────────────────────────── */

.pl-account-nav {
    background: #fff;
    border-radius: var(--pl-radius);
    box-shadow: var(--pl-shadow);
    padding: 12px;
}

.pl-account-nav__toggle {
    display: none;
}

/* Sélecteur renforcé : Hello Commerce impose gap: 0 au menu de Mon compte
   (.woocommerce-account .woocommerce-MyAccount-navigation ul). */
.pl-account-nav__list,
:is(.woocommerce-account, .pl-account-scope) .pl-account-nav .pl-account-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pl-account-nav__link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    color: var(--pl-dark);
    text-decoration: none;
    transition: background var(--pl-ease);
}

.pl-account-nav__link:hover,
.pl-account-nav__link:focus-visible {
    background: var(--pl-gray-bg);
    color: var(--pl-dark);
}

.pl-account-nav__icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--pl-gray-bg);
    color: var(--pl-dark);
    transition: background var(--pl-ease), color var(--pl-ease);
}

.pl-account-nav__text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.pl-account-nav__label {
    font-weight: 800;
    font-size: 15px;
    line-height: 1.3;
}

.pl-account-nav__desc {
    font-size: 13px;
    line-height: 1.35;
    color: var(--pl-mid);
}

/* Item actif */
.pl-account-nav__item.is-active .pl-account-nav__link {
    background: var(--pl-pink-soft);
}

.pl-account-nav__item.is-active .pl-account-nav__icon {
    background: var(--pl-pink);
    color: #fff;
}

/* Pastille */
.pl-account-nav__badge {
    flex-shrink: 0;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 11px;
    background: var(--pl-pink);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 22px;
    text-align: center;
}

/* Se déconnecter : à part, plus discret */
.pl-account-nav__item--customer-logout {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid var(--pl-gray-bg);
}

.pl-account-nav__item--customer-logout .pl-account-nav__link {
    color: var(--pl-mid);
}

.pl-account-nav__item--customer-logout .pl-account-nav__icon {
    background: transparent;
    color: var(--pl-mid);
}

/* ─── EN-TÊTE DE CHAQUE ÉCRAN ──────────────────────────────── */

.pl-account-heading {
    margin: 0 0 28px;
}

.pl-account-heading__title {
    font-family: Nunito, sans-serif;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    color: var(--pl-dark);
    margin: 0 0 6px;
}

.pl-account-heading__desc {
    font-size: 15px;
    color: var(--pl-mid);
    margin: 0;
}

/* ─── BOUTONS : style du kit Elementor (Global › Boutons) ──── */
/* Sélecteurs renforcés : le thème impose ses styles aux <button> et sa
   couleur aux liens survolés. */

.pl-btn,
:is(.woocommerce-account, .pl-account-scope) .pl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center; /* texte centré aussi quand le bouton prend toute la largeur */
    text-align: center;
    gap: 8px;
    appearance: none;
    box-shadow: none;
    font-family: var(--e-global-typography-2b38a43-font-family, "DM Mono"), sans-serif;
    font-size: var(--e-global-typography-2b38a43-font-size, 0.9rem);
    font-weight: var(--e-global-typography-2b38a43-font-weight, 500);
    text-transform: var(--e-global-typography-2b38a43-text-transform, uppercase);
    line-height: var(--e-global-typography-2b38a43-line-height, 1em);
    letter-spacing: normal;
    border-style: solid;
    border-width: 1px;
    border-color: var(--e-global-color-d5626f4, #3E211F);
    border-radius: 5px;
    padding: 10px 16px;
    background: transparent;
    color: var(--e-global-color-d5626f4, #3E211F);
    text-decoration: none;
    cursor: pointer;
    transition: background var(--pl-ease), color var(--pl-ease), border-color var(--pl-ease);
}

.pl-btn:hover,
.pl-btn:focus-visible,
:is(.woocommerce-account, .pl-account-scope) .pl-btn:hover,
:is(.woocommerce-account, .pl-account-scope) .pl-btn:focus-visible {
    background: var(--e-global-color-d5626f4, #3E211F);
    border-color: var(--e-global-color-d5626f4, #3E211F);
    color: var(--e-global-color-40b5c9a, #F9867B);
}

/* Principal plein (variante de .pl-btn) */
:is(.woocommerce-account, .pl-account-scope) .pl-btn--solid {
    justify-content: center;
    background: var(--e-global-color-d5626f4, #3E211F);
    color: #fff;
}

:is(.woocommerce-account, .pl-account-scope) .pl-btn--solid:hover,
:is(.woocommerce-account, .pl-account-scope) .pl-btn--solid:focus-visible {
    color: var(--e-global-color-40b5c9a, #F9867B);
}

/* Désactivé (ex. « Enregistrement… ») : mêmes dimensions. Le thème impose
   aux boutons désactivés son propre padding et un fond gris. */
:is(.woocommerce-account, .pl-account-scope) .pl-btn:disabled,
:is(.woocommerce-account, .pl-account-scope) .pl-btn[disabled] {
    padding: 10px 16px !important;
    background: transparent !important;
    color: var(--e-global-color-d5626f4, #3E211F) !important;
    opacity: .6;
    cursor: wait;
}

:is(.woocommerce-account, .pl-account-scope) .pl-btn--solid:disabled,
:is(.woocommerce-account, .pl-account-scope) .pl-btn--solid[disabled] {
    background: var(--e-global-color-d5626f4, #3E211F) !important;
    color: #fff !important;
}

/* Accepter / Refuser une modification d'horaire ou de lieu
   (petitlou_change_buttons(), includes/reservation.php). */
.pl-change-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
}

.pl-change-actions .pl-rental-actions__form {
    display: inline-flex;
    margin: 0;
}

:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--small {
    padding: 8px 14px;
    font-size: 0.8rem;
}

/* Refuser : texte rouge, sans contour ni fond. */
:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--text-danger {
    padding: 8px 2px;
    border-color: transparent;
    background: transparent;
    color: var(--pl-danger, #D92D20);
}

:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--text-danger:hover,
:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--text-danger:focus-visible {
    border-color: transparent;
    background: transparent;
    color: var(--pl-danger, #D92D20);
    text-decoration: underline;
}

/* Annulation de dernière minute : avertissement dans le formulaire */
.pl-rental-actions__warning {
    margin: 0;
    padding: 10px 14px;
    border-radius: 10px;
    background: #FDECEA;
    color: var(--pl-danger, #D92D20);
    font-size: 14px;
    font-weight: 700;
}

.pl-rental-actions__hint {
    font-size: 13px;
    color: var(--pl-mid);
}

/* Question du jour J (« Avez-vous bien récupéré l'article ? ») */
.pl-rental-actions__question {
    flex-basis: 100%;
    margin: 0;
    font-weight: 800;
}

/* Danger : un vrai rouge, distinct du rose de la marque. */
:is(.woocommerce-account, .pl-account-scope) .pl-btn--danger {
    border-color: var(--pl-danger);
    color: var(--pl-danger);
}

:is(.woocommerce-account, .pl-account-scope) .pl-btn--danger:hover,
:is(.woocommerce-account, .pl-account-scope) .pl-btn--danger:focus-visible {
    background: var(--pl-danger);
    border-color: var(--pl-danger);
    color: #fff;
}

/* ─── PROFIL PUBLIC VU PAR SON PROPRIÉTAIRE ────────────────── */

.pl-owner {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-family: Nunito, sans-serif;
    color: var(--pl-dark);
}

.pl-owner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 6px;
}

.pl-owner__notice {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    color: var(--pl-dark);
    font-size: 15px;
    text-decoration: none;
    transition: background var(--pl-ease);
}

/* Conseil (information secondaire) : violet */
.pl-owner__notice {
    background: #EEF0FF;
}

.pl-owner__notice .pl-icon {
    color: #8E9CFF;
}

.pl-owner__notice:hover,
.pl-owner__notice:focus-visible {
    background: #DFE3FF;
    color: var(--pl-dark);
}

/* Action en attente (important : réservation, message, avis…) : rose */
.pl-owner__notice--pending {
    background: var(--pl-pink-soft);
    font-weight: 800;
}

.pl-owner__notice--pending .pl-icon {
    color: var(--pl-pink);
}

.pl-owner__notice--pending:hover,
.pl-owner__notice--pending:focus-visible {
    background: #FCD9D5;
}

/* ─── MES LOCATIONS / MES RÉSERVATIONS ─────────────────────── */

.pl-rentals {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pl-rentals__empty {
    padding: 32px 24px;
    border-radius: var(--pl-radius);
    background: var(--pl-gray-bg);
    text-align: center;
}

.pl-rentals__empty p {
    margin: 0 0 16px;
}

.pl-rentals__back {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 16px;
    color: var(--pl-mid);
    font-size: 14px;
    text-decoration: none;
}

.pl-rentals__back:hover {
    color: var(--pl-dark);
}

.pl-rental-card__link {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 16px 12px 12px;
    background: #fff;
    border-radius: var(--pl-radius);
    box-shadow: var(--pl-shadow);
    color: var(--pl-dark);
    text-decoration: none;
    transition: box-shadow var(--pl-ease);
}

.pl-rental-card__link:hover,
.pl-rental-card__link:focus-visible {
    color: var(--pl-dark);
    box-shadow: 0 4px 24px rgba(62, 33, 31, 0.16);
}

.pl-rental-card__thumb {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: 10px;
    overflow: hidden;
    background: var(--pl-gray-bg);
}

.pl-rental-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pl-rental-card__thumb--large {
    width: 96px;
    height: 96px;
}

.pl-rental-card__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pl-rental-card__title {
    font-weight: 800;
    font-size: 16px;
    line-height: 1.3;
}

.pl-rental-card__meta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: var(--pl-mid);
}

.pl-rental-card__side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex-shrink: 0;
}

.pl-rental-card__total {
    font-weight: 800;
}

/* Statuts */
.pl-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--pl-gray-bg);
    color: var(--pl-dark);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.pl-status--on-hold,
.pl-status--pending {
    background: var(--pl-pink-soft);
    color: #C4564B;
}

/* Confirmée = en cours (retrait / retour à venir) : vert, qui attire
   l'attention. Terminée = plus rien d'attendu : violet clair, plus calme. */
.pl-status--processing {
    background: #E6F4EA;
    color: #2E7D46;
}

.pl-status--completed {
    background: #E8EBFF;
    color: #4A55A8;
}

.pl-status--cancelled,
.pl-status--refunded,
.pl-status--failed {
    color: var(--pl-mid);
}

/* Demande refusée par le loueur : en rouge. */
.pl-status--refused {
    background: #FDECEA;
    color: var(--pl-danger, #D92D20);
}

/* Détail */
.pl-rental-detail {
    padding: 24px;
    margin-bottom: 32px;
    background: #fff;
    border-radius: var(--pl-radius);
    box-shadow: var(--pl-shadow);
}

.pl-rental-detail__head {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.pl-rental-detail__title {
    margin: 8px 0 0;
    font-size: 20px;
    font-weight: 900;
}

.pl-rental-detail__title a {
    color: var(--pl-dark);
}

.pl-rental-detail__facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
    margin: 0 0 20px;
    padding: 16px 0 0;
    border-top: 1px solid var(--pl-gray-bg);
}

.pl-rental-detail__facts dt {
    font-size: 13px;
    color: var(--pl-mid);
    margin: 0 0 2px;
}

.pl-rental-detail__facts dd {
    margin: 0;
    font-weight: 700;
}

.pl-rental-detail__facts dd a {
    font-weight: 400;
    color: var(--pl-dark);
}

/* Actions de la demande (includes/reservation.php) */
.pl-rental-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 20px;
}

.pl-rental-actions__form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

/* Accord en attente de l'autre membre, ou retrait/retour en cours de
   modification : bouton grisé + info-bulle (un bouton désactivé ne reçoit
   pas le survol, l'info-bulle est portée par son conteneur). */
.pl-rental-actions [data-pl-tip] {
    position: relative;
    display: inline-flex;
}

.pl-rental-actions [data-pl-tip] .pl-btn:disabled {
    opacity: .45;
    cursor: not-allowed;
    pointer-events: none;
}

.pl-rental-actions [data-pl-tip]:hover::after,
.pl-rental-actions [data-pl-tip]:focus-within::after,
.pl-rental-actions [data-pl-tip]:focus::after {
    content: attr(data-pl-tip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    z-index: 5;
    width: max-content;
    max-width: 280px;
    padding: 8px 12px;
    border-radius: 5px;
    background: #3E211F;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.pl-rental-actions__note {
    margin: 0 0 14px;
    padding: 10px 14px;
    border-radius: 10px;
    background: var(--pl-pink-soft);
    font-size: 14px;
}

.pl-rental-actions__more summary {
    padding: 10px 0;
    cursor: pointer;
    color: var(--pl-mid);
    font-size: 14px;
    text-decoration: underline;
}

.pl-rental-actions__more[open] summary {
    color: var(--pl-dark);
}

.pl-rental-actions__label {
    font-size: 14px;
    font-weight: 700;
}

.pl-rental-actions__form textarea {
    width: 100%;
    min-width: min(360px, 100%);
    padding: 10px 14px;
    border: 1.5px solid var(--pl-line);
    border-radius: 10px;
    font-family: inherit;
    font-size: 14px;
}

/* ─── MES ARTICLES ─────────────────────────────────────────── */

.pl-articles__toolbar {
    display: flex;
    justify-content: flex-end;
    margin: -8px 0 20px;
}

.pl-articles {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
}

.pl-article-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: var(--pl-radius);
    box-shadow: var(--pl-shadow);
    overflow: hidden;
}

.pl-article-card.is-paused .pl-article-card__thumb img {
    opacity: .45;
}

.pl-article-card__thumb {
    display: block;
    aspect-ratio: 4 / 3;
    background: var(--pl-gray-bg);
}

.pl-article-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pl-article-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 14px 16px 16px;
}

.pl-article-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}

.pl-article-card__title {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.3;
}

.pl-article-card__price {
    margin: 0 0 6px;
    font-size: 14px;
}

.pl-article-card__meta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 14px;
    font-size: 13px;
    color: var(--pl-mid);
}

.pl-article-card__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: auto;
}

.pl-article-card__delete {
    margin-left: auto;
    font-size: 13px;
    color: var(--pl-mid);
    text-decoration: underline;
}

.pl-article-card__delete:hover {
    color: #C4564B;
}

/* ─── PARAMÈTRES ────────────────────────────────────────────── */

.pl-settings {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.pl-settings + .pl-settings {
    margin-top: 24px;
}

.pl-settings__block {
    padding: 24px;
    background: #fff;
    border-radius: var(--pl-radius);
    box-shadow: var(--pl-shadow);
}

.pl-settings__title {
    margin: 0 0 4px;
    font-family: var(--e-global-typography-text-font-family, Nunito), sans-serif;
    font-size: 18px;
    font-weight: 900;
    color: var(--pl-dark);
}

.pl-settings__desc {
    margin: 0 0 18px;
    font-size: 14px;
    color: var(--pl-mid);
}

.pl-settings__hint {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    color: var(--pl-mid);
}

.pl-settings__submit {
    margin: 8px 0 0;
}

.pl-settings__address {
    margin: 0 0 16px;
    font-style: normal;
    line-height: 1.5;
}

.pl-settings__address--empty {
    color: var(--pl-mid);
}

.pl-settings__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.pl-settings__row .pl-settings__desc {
    margin-bottom: 0;
}

.pl-settings__title .pl-tag {
    margin-left: 8px;
    vertical-align: middle;
}

/* Tag d'état */
.pl-tag {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--pl-gray-bg);
    color: var(--pl-mid);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
}

.pl-tag--on {
    background: #E6F4EA;
    color: #2E7D46;
}

/* Interrupteur */
.pl-toggle {
    position: relative;
    flex-shrink: 0;
    display: inline-block;
    width: 52px;
    height: 30px;
    cursor: pointer;
}

.pl-toggle input {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    cursor: pointer;
}

.pl-toggle__track {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: var(--pl-line);
    transition: background var(--pl-ease);
    pointer-events: none;
}

.pl-toggle__track::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(62, 33, 31, 0.25);
    transition: transform var(--pl-ease);
}

.pl-toggle input:checked + .pl-toggle__track {
    background: var(--pl-pink);
}

.pl-toggle input:checked + .pl-toggle__track::after {
    transform: translateX(22px);
}

.pl-toggle input:focus-visible + .pl-toggle__track {
    outline: 2px solid var(--pl-dark);
    outline-offset: 2px;
}

.pl-toggle input:disabled + .pl-toggle__track {
    opacity: .6;
}

/* Onglets */
.pl-tabs {
    margin: 0 0 20px;
    overflow-x: auto;
}

.pl-tabs__list {
    display: flex;
    gap: 6px;
    margin: 0;
    padding: 0 0 4px;
    list-style: none;
}

.pl-tabs__tab {
    display: block;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--pl-gray-bg);
    color: var(--pl-dark);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none;
    transition: background var(--pl-ease), color var(--pl-ease);
}

.pl-tabs__tab:hover,
.pl-tabs__tab:focus-visible {
    background: var(--pl-line);
    color: var(--pl-dark);
}

.pl-tabs__tab.is-active,
.pl-tabs__tab.is-active:hover {
    background: var(--pl-dark);
    color: #fff;
}

.pl-tabs__tab--danger:not(.is-active) {
    color: var(--pl-danger);
}

/* Sans JavaScript, tous les blocs restent visibles ; avec, un seul à la fois. */
.pl-settings__block[hidden],
.pl-settings__submit[hidden] {
    display: none;
}

.pl-settings__block--danger .pl-settings__title {
    color: var(--pl-danger);
}

.pl-settings__delete summary {
    cursor: pointer;
    color: var(--pl-danger);
    font-weight: 700;
}

.pl-settings__delete form {
    margin-top: 16px;
}

.pl-settings__check {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 400;
}

/* Formulaire d'adresse WooCommerce : son titre double celui de l'écran. */
.woocommerce-MyAccount-content .woocommerce-address-fields ~ h2,
.woocommerce-account .woocommerce-MyAccount-content form > h2:first-child {
    display: none;
}

/* ─── PROFIL PUBLIC /membre/<slug>/ (dokan/store.php) ──────── */

.pl-member {
    padding: 32px 16px 64px;
}

.pl-member__inner {
    max-width: 1140px;
    margin: 0 auto;
}

.pl-member--own .pl-member__inner {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    column-gap: 40px;
    align-items: start;
}

.pl-member__content {
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 0;
}

.pl-member-card {
    display: flex;
    gap: 28px;
    align-items: flex-start;
    padding: 28px;
    background: #fff;
    border-radius: var(--pl-radius);
    box-shadow: var(--pl-shadow);
}

.pl-member-card__avatar {
    flex-shrink: 0;
    width: 112px;
    height: 112px;
    border-radius: 50%;
    object-fit: cover;
}

.pl-member-card__body {
    min-width: 0;
}

.pl-member-card__name {
    margin: 0 0 6px;
    font-family: var(--e-global-typography-primary-font-family, Nunito), sans-serif;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    color: var(--pl-dark);
}

.pl-member-card__rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 14px;
    font-size: 15px;
}

.pl-member-card__rating .pl-icon {
    color: #EF9F27;
}

.pl-member-card__rating a {
    color: var(--pl-mid);
    text-decoration: underline;
}

.pl-member-card__facts,
.pl-member-card__checks {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
    color: var(--pl-mid);
}

.pl-member-card__checks {
    margin-top: 10px;
    color: #2E7D46;
    font-weight: 700;
}

.pl-member-card__facts li,
.pl-member-card__checks li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pl-member__away {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 12px 16px;
    border-radius: 10px;
    background: #FFF4E0;
    color: var(--pl-dark);
}

.pl-member__title {
    margin: 0 0 8px;
    font-family: var(--e-global-typography-text-font-family, Nunito), sans-serif;
    font-size: 18px;
    font-weight: 900;
    color: var(--pl-dark);
}

.pl-member__bio {
    margin: 0;
    line-height: 1.6;
}

.pl-member .pl-tabs {
    margin-bottom: 0;
}

.pl-member__panel[hidden] {
    display: none;
}

.pl-member-items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pl-member-item a {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--pl-dark);
    text-decoration: none;
}

.pl-member-item__thumb {
    display: block;
    aspect-ratio: 4 / 3;
    margin-bottom: 6px;
    border-radius: var(--pl-radius);
    overflow: hidden;
    background: var(--pl-gray-bg);
}

.pl-member-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease;
}

.pl-member-item a:hover .pl-member-item__thumb img {
    transform: scale(1.03);
}

.pl-member-item__title {
    font-weight: 800;
    line-height: 1.3;
}

.pl-member-item__price {
    font-size: 14px;
    color: var(--pl-mid);
}

.pl-member__pagination {
    margin-top: 24px;
}

/* « Modifier mon profil » (#modifier) : le formulaire remplace le contenu du profil. */
.pl-member__content.is-editing > :not(.pl-member__edit) {
    display: none;
}

.pl-member__edit {
    scroll-margin-top: 160px; /* en-tête collant du site */
    padding: 28px;
    background: #fff;
    border-radius: var(--pl-radius);
    box-shadow: var(--pl-shadow);
}

.pl-member__edit[hidden] {
    display: none;
}

.pl-member__edit-cancel {
    display: inline-block;
    margin-top: 12px;
    color: var(--pl-mid);
    font-size: 14px;
}

/* ─── MOBILE : menu replié derrière un bouton ──────────────── */

@media (max-width: 900px) {
    .woocommerce-account.logged-in .woocommerce {
        grid-template-columns: minmax(0, 1fr);
        margin: 16px 0 48px;
    }

    .woocommerce-account.logged-in .woocommerce > *,
    .woocommerce-account.logged-in .woocommerce > .pl-account-nav {
        grid-column: 1;
        grid-row: auto;
    }

    .pl-account-nav {
        padding: 0;
        margin-bottom: 24px;
    }

    .pl-account-nav__toggle {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        padding: 14px 18px;
        border: 0;
        border-radius: var(--pl-radius);
        background: #fff;
        color: var(--pl-dark);
        font-family: Nunito, sans-serif;
        font-size: 16px;
        font-weight: 800;
        text-align: left;
        cursor: pointer;
    }

    .pl-account-nav__toggle:hover,
    .pl-account-nav__toggle:focus {
        background: #fff;
        color: var(--pl-dark);
    }

    .pl-account-nav__toggle-label {
        flex: 1;
    }

    .pl-account-nav__chevron {
        transition: transform var(--pl-ease);
    }

    .pl-account-nav.is-open .pl-account-nav__chevron {
        transform: rotate(180deg);
    }

    :is(.woocommerce-account, .pl-account-scope) .pl-account-nav .pl-account-nav__list {
        display: none;
        padding: 0 12px 12px;
    }

    :is(.woocommerce-account, .pl-account-scope) .pl-account-nav.is-open .pl-account-nav__list {
        display: flex;
    }

    .pl-account-heading__title {
        font-size: 24px;
    }

    .pl-rental-card__link {
        flex-wrap: wrap;
    }

    .pl-member--own .pl-member__inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .pl-member__nav {
        margin-bottom: 24px;
    }

    .pl-member-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 24px 20px;
    }

    .pl-member-card__rating,
    .pl-member-card__facts,
    .pl-member-card__checks {
        justify-content: center;
    }

    .pl-rental-card__side {
        flex-direction: row;
        align-items: center;
        width: 100%;
        justify-content: space-between;
    }
}

/* ─── BOUTONS : priorité sur le thème ─────────────────────────
   Dans les modèles Elementor (widget Shortcode), le thème Hello Commerce
   impose aux <button> son fond noir (--ehc-button-background-color: #000),
   avec la même priorité que nos règles et chargé après elles. Les couleurs
   des boutons Petitlou sont donc reprises ici avec un sélecteur renforcé :
   Marron plein (texte blanc → rose au survol) ou contour Marron sur fond
   transparent (fond Marron et texte rose au survol). */
:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn {
    border-color: var(--e-global-color-d5626f4, #3E211F);
    background: transparent;
    color: var(--e-global-color-d5626f4, #3E211F);
}

:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn:hover,
:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn:focus-visible {
    border-color: var(--e-global-color-d5626f4, #3E211F);
    background: var(--e-global-color-d5626f4, #3E211F);
    color: var(--e-global-color-40b5c9a, #F9867B);
}

:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--solid {
    border-color: var(--e-global-color-d5626f4, #3E211F);
    background: var(--e-global-color-d5626f4, #3E211F);
    color: var(--e-global-color-5587488, #FFFFFF);
}

:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--solid:hover,
:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--solid:focus-visible {
    background: var(--e-global-color-d5626f4, #3E211F);
    color: var(--e-global-color-40b5c9a, #F9867B);
}

:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--danger {
    border-color: var(--pl-danger, #D92D20);
    background: transparent;
    color: var(--pl-danger, #D92D20);
}

:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--danger:hover,
:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--danger:focus-visible {
    border-color: var(--pl-danger, #D92D20);
    background: var(--pl-danger, #D92D20);
    color: #fff;
}

:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--text-danger,
:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--text-danger:hover,
:is(.woocommerce-account, .pl-account-scope) .pl-btn.pl-btn--text-danger:focus-visible {
    border-color: transparent;
    background: transparent;
    color: var(--pl-danger, #D92D20);
}
