/* ============================================
   MON COMPTE — PENSEZ SAUVAGE KRAFT
   css/account.css
   ============================================ */


/* ── CADRE KRAFT COMMUN ──────────────────────
   .ps-account-wrap et .ps-orders-wrap
   ─────────────────────────────────────────── */

.ps-account-wrap,
.ps-orders-wrap {
    position: relative;
    border: var(--ps-bordure-epaisse);
    border-image: url('../images/border.png') 24 24 / 20px 20px / 0.1rem 0.2rem round;
    background: rgba(200, 168, 130, 0.25);
    padding: 2rem 1rem 1.5rem;
    margin: 2.5rem 0;
}

/* Taille de base globale page Mon compte */
.woocommerce-account .ps-contenu-border {
    font-size: 1.2rem;
}


/* ── BOUTONS-TITRES À CHEVAL ─────────────────
   Positionnés en absolu sur le bord supérieur
   ─────────────────────────────────────────── */

.ps-account-boutons {
    position: absolute;
    top: -20px;
    left: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.ps-account-btn {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #2C1810;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: url('../images/kraft-long.jpg') var(--ps-kraft-couleur);
    background-size: 6%;
    border: var(--ps-bordure-epaisse);
    border-image: url('../images/border.png') 24 24 / 12px 12px / 0 round;
    padding: 5px 18px 7px;
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
    line-height: 1.2;
    transition: background 0.2s;
}

.ps-account-btn:hover,
.ps-account-btn.actif:hover,
.ps-orders-btn:hover,
.ps-orders-btn.actif:hover,
.ps-account-valider:hover {
    background:
        radial-gradient(rgba(220, 156, 90, 0.25), rgba(220, 156, 90, 0.25)),
        url('../images/kraft-long.jpg') var(--ps-kraft-couleur) !important;
    background-size: auto, 6% !important;
    background-clip: padding-box !important;
    color: #2C1810 !important;
}

.ps-account-btn.actif {
    background: url('../images/kraft-long.jpg') var(--ps-kraft-couleur);
    background-size: 6%;
    color: #2C1810;
}

/* Titre non cliquable (Mes commandes) — conservé si besoin */
.ps-orders-titre {
    position: absolute;
    top: -20px;
    left: 1.2rem;
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #2C1810;
    font-size: 1.12rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: url('../images/kraft-long.jpg') var(--ps-kraft-couleur);
    background-size: 6%;
    border: var(--ps-bordure-epaisse);
    border-image: url('../images/border.png') 24 24 / 12px 12px / 0 round;
    padding: 5px 18px 7px;
    cursor: default;
    display: inline-block;
}

/* Boutons-titres à cheval — Bloc 2 */
.ps-orders-btn {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #2C1810;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: url('../images/kraft-long.jpg') var(--ps-kraft-couleur);
    background-size: 6%;
    border: var(--ps-bordure-epaisse);
    border-image: url('../images/border.png') 24 24 / 12px 12px / 0 round;
    padding: 5px 18px 7px;
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
    line-height: 1.2;
    transition: background 0.2s;
}

.ps-orders-boutons {
    position: absolute;
    top: -20px;
    left: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.ps-orders-btn.actif {
    background: url('../images/kraft-long.jpg') var(--ps-kraft-couleur);
    background-size: 6%;
    color: #2C1810;
}

/* Panels Bloc 2 */
.ps-orders-panel {
    display: none;
}

.ps-orders-panel.actif {
    display: block;
}


/* ── PANELS ──────────────────────────────────
   Masqués par défaut, .actif les affiche
   ─────────────────────────────────────────── */

.ps-account-panel {
    display: none;
}

.ps-account-panel.actif {
    display: block;
}


/* ── PANEL ACCUEIL ───────────────────────────*/

.ps-account-bienvenue {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #D4600A;
    font-size: 1.9rem;
    font-weight: 400;
    margin: 0 0 0.4rem;
    letter-spacing: 0.03em;
}

.ps-account-email {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #6B3A2A;
    font-size: 1.1rem;
    margin: 0 0 1rem;
}

.ps-account-adresse {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #2C1810;
    font-size: 1.1rem;
    line-height: 1.7;
    background: rgba(200, 168, 130, 0.3);
    border: 1px solid rgba(76, 53, 28, 0.25);
    padding: 0.7rem 1rem;
    margin-top: 0.8rem;
    display: inline-block;
    min-width: 220px;
    margin-right: 1rem;
    vertical-align: top;
}

.ps-account-adresse strong {
    color: var(--ps-bordure-fonce);
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: 0.04em;
}


/* ── PANEL ADRESSE — grille 2 colonnes responsive ──*/

.ps-adresses-grille {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 1rem;
}

.ps-adresse-bloc {
    flex: 1 1 320px;
    min-width: 0;
}

/* Résumé : reprend exactement le look de .ps-account-adresse */
.ps-adresse-resume {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #2C1810;
    font-size: 1.1rem;
    line-height: 1.7;
    background: rgba(200, 168, 130, 0.3);
    border: 1px solid rgba(76, 53, 28, 0.25);
    padding: 0.7rem 1rem;
    box-sizing: border-box;
    width: 100%;
}

.ps-adresse-resume strong {
    color: var(--ps-bordure-fonce);
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: 0.04em;
    display: block;
    margin-bottom: 0.3rem;
}

/* Variante "bloc vide" (aucune adresse enregistrée) */
.ps-adresse-resume--vide {
    min-height: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.6rem;
}

/* Hidden prioritaire : sans cette règle, .ps-adresse-resume--vide
   (display:flex) écrase le [hidden] user-agent sur les blocs vides. */
.ps-adresse-resume[hidden],
.ps-adresse-form[hidden] {
    display: none;
}

/* Lien "Modifier l'adresse" / "Ajouter une adresse" */
.ps-adresse-lien {
    display: inline-block;
    margin-top: 0.6rem;
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #7D2B0B;
    font-size: 1rem;
    text-decoration: underline;
    cursor: pointer;
}

.ps-adresse-lien:hover,
.ps-adresse-lien:focus {
    color: var(--ps-bordure-fonce);
}

/* Formulaire dans le bloc : prend toute la largeur, look kraft */
.ps-adresse-form {
    background: rgba(200, 168, 130, 0.3);
    border: 1px solid rgba(76, 53, 28, 0.25);
    padding: 0.9rem 1rem;
    box-sizing: border-box;
    width: 100%;
}

.ps-adresse-form > strong {
    display: block;
    color: var(--ps-bordure-fonce);
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: 0.04em;
    margin-bottom: 0.8rem;
}

/* Bouton Annuler : même look que Valider mais ton plus discret */
.ps-adresse-annuler {
    opacity: 0.85;
}

.ps-adresse-annuler:hover,
.ps-adresse-annuler:focus {
    opacity: 1;
}

@media (max-width: 768px) {
    .ps-adresses-grille {
        flex-direction: column;
        gap: 1rem;
    }
    .ps-adresse-bloc {
        flex: 1 1 100%;
    }
    .ps-form-boutons {
        flex-direction: column;
        align-items: stretch;
    }
}


/* ── SOUS-TITRES DANS LES PANELS ─────────────*/

.ps-account-sous-titre {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: var(--ps-bordure-fonce);
    font-size: 1.25rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 400;
    margin: 0 0 0.8rem;
    border-bottom: 1px solid rgba(76, 53, 28, 0.2);
    padding-bottom: 0.3rem;
}

/* ── FORMULAIRES (WooCommerce + panel password) ──
   Scoped dans .ps-account-panel pour ne pas
   déborder sur le reste du site
   ─────────────────────────────────────────── */

.ps-account-panel input[type="text"],
.ps-account-panel input[type="email"],
.ps-account-panel input[type="tel"],
.ps-account-panel input[type="password"],
.ps-account-panel select,
.ps-account-panel textarea {
    font-family: 'OldNewspaperTypesALM', Georgia, serif !important;
    color: #2C1810 !important;
    background: #dfc4a6 !important;
    border: var(--ps-bordure-fine) !important;
    padding: 0.4rem 0.8rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 1.05rem !important;
    border-radius: 4px !important;
    outline: none !important;
}

.ps-account-panel input:focus,
.ps-account-panel select:focus,
.ps-account-panel textarea:focus {
    border-color: #D4600A;
    background: rgba(200, 168, 130, 0.25);
}

.ps-account-panel label,
.ps-account-panel .ps-form-champ label {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: var(--ps-bordure-fonce);
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    display: block;
    margin-bottom: 0.25rem;
}

/* Champs WooCommerce générés par woocommerce_form_field() */
.ps-account-panel .form-row {
    margin-bottom: 0.8rem;
}

.ps-account-panel .form-row.form-row-first,
.ps-account-panel .form-row.form-row-last {
    float: left;
    width: 48%;
    box-sizing: border-box;
}

.ps-account-panel .form-row.form-row-last {
    float: right;
}

.ps-account-panel .form-row.form-row-wide {
    clear: both;
    width: 100%;
}

.ps-account-panel .form-row::after {
    content: '';
    display: table;
    clear: both;
}

/* Champs manuels (panel password) */
.ps-form-champ {
    margin-bottom: 0.8rem;
}


/* ── BOUTON VALIDER ──────────────────────────*/

.ps-account-valider {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #2C1810;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: url('../images/kraft-long.jpg') var(--ps-kraft-couleur);
    background-size: 6%;
    border: var(--ps-bordure-epaisse);
    border-image: url('../images/border.png') 24 24 / 12px 12px / 0 round;
    padding: 6px 24px 8px;
    cursor: pointer;
    display: inline-block;
    margin-top: 1rem;
    transition: background 0.2s;
    clear: both;
}



/* ── MES COMMANDES ───────────────────────────*/

.ps-orders-vide {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #6B3A2A;
    font-size: 1rem;
    font-style: italic;
    margin: 0;
}

/* ── TABLEAU MES COMMANDES ───────────────────*/

.ps-orders-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    font-size: 1.05rem;
    color: #2C1810;
}

.ps-orders-table thead th {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ps-bordure-fonce);
    border-bottom: 2px solid rgba(76, 53, 28, 0.35);
    padding: 0.3rem 0.6rem 0.5rem;
    text-align: left;
    white-space: nowrap;
}

.ps-orders-table tbody tr:not(.ps-order-detail-row):not(.ps-devis-detail-row) {
    border-bottom: 1px solid rgba(76, 53, 28, 0.2);
}

.ps-orders-table tbody tr:not(.ps-order-detail-row):not(.ps-devis-detail-row):last-of-type {
    border-bottom: none;
}

.ps-orders-table td {
    padding: 0.55rem 0.6rem;
    vertical-align: middle;
}

.ps-order-num {
    font-weight: bold;
    color: var(--ps-bordure-fonce);
    white-space: nowrap;
}

.ps-order-date {
    color: #6B3A2A;
    white-space: nowrap;
}

.ps-order-statut {
    text-transform: capitalize;
}

.ps-order-total {
    font-weight: bold;
    color: #D4600A;
    white-space: nowrap;
}

.ps-order-paiement,
.ps-order-facture-cell,
.ps-order-detail-cell {
    text-align: center;
    white-space: nowrap;
}

.ps-order-facture {
    opacity: 0.6;
    display: inline-flex;
    align-items: center;
    transition: opacity 0.2s;
}

.ps-order-facture:hover {
    opacity: 1;
}

/* Ligne de détail repliée */
.ps-order-detail-row,
.ps-devis-detail-row {
    display: none;
}

.ps-order-detail-row.ouvert,
.ps-devis-detail-row.ouvert {
    display: table-row;
}

.ps-order-detail-wrap {
    padding: 0.8rem 1rem;
    background: rgba(200, 168, 130, 0.15);
    border-left: 3px solid rgba(76, 53, 28, 0.2);
}

/* Icône mode de paiement */
.ps-order-paiement span[data-tooltip] {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.ps-order-pm-icone {
    width: 38px;
    height: 38px;
    object-fit: contain;
    opacity: 0.85;
    transition: opacity 0.2s;
}

.ps-order-paiement span[data-tooltip]:hover .ps-order-pm-icone {
    opacity: 1;
}

/* Tooltip CSS pur au survol */
.ps-order-paiement span[data-tooltip]::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    background: #2C1810;
    color: var(--ps-kraft-couleur);
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    font-size: 0.8rem;
    white-space: nowrap;
    padding: 3px 8px 5px;
    border-radius: 2px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s;
    z-index: 10;
}

.ps-order-paiement span[data-tooltip]:hover::after {
    opacity: 1;
}

/* Responsive — scroll horizontal sur petit écran */
@media (max-width: 600px) {
    .ps-orders-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

.ps-order-produit {
    display: flex;
    gap: 1rem;
    align-items: baseline;
    padding: 0.3rem 0;
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #2C1810;
    font-size: 1rem;
    border-bottom: 1px solid rgba(76, 53, 28, 0.1);
}

.ps-order-produit:last-child {
    border-bottom: none;
}

.ps-order-produit-nom {
    flex: 1;
    color: #2C1810;
    text-decoration: none;
}

a.ps-order-produit-nom:hover,
a.ps-order-produit-nom:focus {
    color: #6B4226;
    text-decoration: none;
}

.ps-order-produit-qty {
    color: #6B3A2A;
    white-space: nowrap;
}

.ps-order-produit-prix {
    font-weight: bold;
    color: #D4600A;
    white-space: nowrap;
}


/* ── TITRE DE PAGE ───────────────────────────*/

.ps-account-titre-page {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #2C1810;
    font-size: 2.4rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: center;
    margin: 1rem 0 1.5rem;
}

/* Masquer le titre de page injecté par GeneratePress */
.woocommerce-account .inside-article > header.entry-header {
    display: none !important;
}


/* ── BOUTONS FORMULAIRE EN LIGNE ─────────────*/

.ps-form-boutons {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    clear: both;
    margin-top: 1rem;
}

.ps-form-boutons .ps-account-valider {
    margin-top: 0;
    clear: none;
}

/* ── MENTION FACULTATIF ──────────────────────*/

.ps-facultatif {
    font-size: 0.8rem;
    color: #6B3A2A;
    font-style: italic;
    text-transform: none;
    letter-spacing: 0;
}

/* ── CHAMP MOT DE PASSE AVEC ŒIL ────────────*/

.ps-password-wrap {
    position: relative;
    display: block;
    width: 100%;
}

.ps-password-wrap input[type="password"],
.ps-password-wrap input[type="text"] {
    padding-right: 2.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ps-password-oeil {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: none !important;
    border: none !important;
    border-image: none !important;
    cursor: pointer;
    opacity: 0.85;
    padding: 0;
    line-height: 1;
    transition: opacity 0.2s;
    box-shadow: none !important;
}

.ps-password-oeil:hover,
.ps-password-oeil:focus {
    opacity: 1 !important;
    background: none !important;
    background-image: none !important;
    color: inherit !important;
    box-shadow: none !important;
}

.ps-password-oeil img {
    display: block;
    width: 34px;
    height: auto;
}

/* Bouton voir le détail / masquer — forcer couleur texte en toutes circonstances */
.ps-order-toggle,
.ps-order-toggle:hover,
.ps-order-toggle:active,
.ps-order-toggle:focus,
.ps-order-toggle:visited {
    color: #2C1810 !important;
}

/* Verrouille la couleur texte des boutons compte sur tous les états.
   Évite que le navigateur applique sa couleur native au focus/active
   (Firefox notamment passe en blanc). Pattern identique à .ps-order-toggle.
   .ps-account-valider est inclus car réutilisé sur les boutons login/register
   de la page Mon compte non connectée (page-mon-compte.php). */
.ps-account-btn,
.ps-account-btn:hover,
.ps-account-btn:active,
.ps-account-btn:focus,
.ps-account-btn:visited,
.ps-account-valider,
.ps-account-valider:hover,
.ps-account-valider:active,
.ps-account-valider:focus,
.ps-account-valider:visited {
    color: #2C1810 !important;
}

/* Frais de port dans le détail commande */
.ps-order-port-prix {
    color: #4f3821 !important;
}

/* Sachet offert dans le détail commande */
.ps-order-cadeau-prix {
    color: #3a7a2a !important;
}

/* Code promo dans le détail commande */
.ps-order-promo-prix {
    color: #3a7a2a !important;
}


/* ── RESPONSIVE ──────────────────────────────*/

@media (max-width: 600px) {
    .ps-account-boutons {
        position: static;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
        margin-bottom: 1rem;
    }

    .ps-account-wrap,
    .ps-orders-wrap {
        padding-top: 1rem;
        /* Les boutons ne sont plus à cheval sur mobile */
        margin-top: 1rem;
    }

    .ps-account-btn {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }

    .ps-account-panel .form-row.form-row-first,
    .ps-account-panel .form-row.form-row-last {
        float: none;
        width: 100%;
    }

    .ps-account-adresse {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-right: 0;
    }

    .ps-order-ligne {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.3rem;
    }

    .ps-order-toggle {
        margin-left: 0;
    }

    .ps-form-boutons {
        flex-direction: column;
        align-items: flex-start;
    }
    .ps-form-boutons .ps-account-valider {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
}


/* ── CODES PROMO MON COMPTE ──────────────────*/

.ps-promo-mes-codes {
    margin-bottom: 2rem;
}

.ps-promo-code-item {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(76, 53, 28, 0.2);
}

.ps-promo-code-item:last-child {
    border-bottom: none;
}

/* Ligne haute : ticket + infos côte à côte */
.ps-promo-code-top {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1.2rem;
}

/* Ticket image avec code par-dessus */
.ps-promo-ticket-wrap {
    position: relative;
    flex-shrink: 0;
    width: 140px;
    height: auto;
}

.ps-promo-ticket-img {
    width: 140px;
    height: auto;
    display: block;
}

.ps-promo-ticket-code {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    font-size: 1.6rem;
    color: var(--ps-bordure-fonce);
    letter-spacing: 0.08em;
    white-space: nowrap;
    pointer-events: none;
}

/* Infos : valeur, description, expiry */
.ps-promo-code-infos {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    flex: 1;
}

.ps-promo-code-valeur {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    font-size: 1.4rem;
    color: #D4600A;
    font-weight: bold;
}

.ps-promo-code-desc {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    font-size: 1.1rem;
    color: var(--ps-bordure-fonce);
    font-style: italic;
}

.ps-promo-code-expiry {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    font-size: 0.95rem;
    color: #6B3A2A;
}

/* Boutons en bas, pleine largeur */
.ps-promo-code-actions {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.ps-promo-form-ligne {
    display: flex;
    gap: 0.8rem;
    align-items: center;
    flex-wrap: wrap;
}

.ps-promo-input {
    font-family: 'OldNewspaperTypesALM', Georgia, serif !important;
    color: #2C1810 !important;
    background: #dfc4a6 !important;
    border: var(--ps-bordure-fine) !important;
    padding: 0.4rem 0.8rem !important;
    font-size: 1.05rem !important;
    border-radius: 4px !important;
    width: 220px;
    box-sizing: border-box;
}

.ps-promo-retour {
    margin-top: 0.6rem;
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    font-size: 1rem;
    min-height: 1.4rem;
}

.ps-promo-ok {
    color: #3a7a2a;
}

.ps-promo-erreur {
    color: #8B1A1A;
}

.ps-promo-manuel {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(76, 53, 28, 0.2);
}

@media (max-width: 600px) {
    .ps-promo-code-item {
        flex-direction: column;
        align-items: flex-start;
    }
    .ps-promo-input {
        width: 100%;
    }
}

/* ── BOUTON SUPPRIMER MON COMPTE (variant terracotta) ────── */

.ps-account-btn--danger {
    color: #7D2B0B !important;
    border-color: #7D2B0B;
    border-image: url('../images/border.png') 24 24 / 12px 12px / 0 round;
}

.ps-account-btn--danger:hover,
.ps-account-btn--danger:active,
.ps-account-btn--danger:focus {
    background:
        radial-gradient(rgba(220, 156, 90, 0.25), rgba(220, 156, 90, 0.25)),
        url('../images/kraft-long.jpg') var(--ps-kraft-couleur) !important;
    background-size: auto, 6% !important;
    background-clip: padding-box !important;
    color: #7D2B0B !important;
}

.ps-account-btn--danger:disabled,
.ps-account-btn--danger[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ── POPUP SUPPRESSION DE COMPTE ─────────────────────────── */

.ps-popup-wrap--suppression .ps-popup-inner {
    text-align: left;
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #2C1810;
    line-height: 1.5;
    font-size: 1.1rem;
}

.ps-suppression-titre {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #7D2B0B;
    font-size: 1.6rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: center;
    margin: 0 0 1.2rem;
}

.ps-popup-wrap--suppression .ps-popup-inner p {
    margin: 0.6rem 0;
}

.ps-suppression-liste {
    margin: 0.6rem 0 1rem 1.2rem;
    padding: 0;
    list-style: disc;
}

.ps-suppression-liste li {
    margin-bottom: 0.3rem;
}

.ps-suppression-tapez {
    margin-top: 1.2rem !important;
    font-size: 1.05rem;
}

.ps-suppression-input {
    width: 100%;
    padding: 0.5rem 0.7rem;
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    font-size: 1.1rem;
    color: #2C1810;
    background: #dfc4a6;
    border: var(--ps-bordure-medium);
    border-radius: 4px;
    margin-bottom: 1rem;
    box-sizing: border-box;
}

.ps-suppression-input:focus {
    outline: none;
    border-color: #D4600A;
}

.ps-suppression-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.ps-suppression-erreur {
    color: #7D2B0B;
    text-align: center;
    margin-top: 0.8rem !important;
    min-height: 1.2em;
}

.ps-suppression-admin-info {
    background: #f3e8d4;
    padding: 0.8rem 1rem;
    border-left: 3px solid #7D2B0B;
    margin: 1rem 0 !important;
    font-size: 0.95rem;
}

.ps-popup-wrap--suppression .ps-suppression-image {
    display: block;
    max-width: 320px;
    width: 100%;
    height: auto;
    margin: 0 auto 1.2rem;
}

/* ── PANEL MES DEVIS ─────────────────────────────────────── */

.ps-devis-intro {
    margin-bottom: 1.5rem;
    padding: 1rem 1.2rem;
    background: rgba(200, 168, 130, 0.2);
    border-left: 3px solid rgba(76, 53, 28, 0.25);
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    font-size: 1.05rem;
    line-height: 1.5;
    color: #4f3821;
}

.ps-devis-intro p {
    margin: 0.5rem 0;
}

.ps-devis-intro p:first-child {
    margin-top: 0;
}

.ps-devis-intro p:last-child {
    margin-bottom: 0;
}

.ps-devis-row--expire {
    opacity: 0.55;
}

.ps-devis-badge-expire {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0.05rem 0.45rem;
    background: rgba(125, 43, 11, 0.15);
    border: 1px solid rgba(125, 43, 11, 0.4);
    color: #7D2B0B;
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 3px;
    vertical-align: middle;
}

.ps-devis-pdf-placeholder {
    opacity: 0.4;
    cursor: not-allowed;
    display: inline-flex;
}

.ps-devis-toggle,
.ps-devis-commander,
.ps-devis-supprimer {
    font-size: 0.95rem;
    padding: 4px 12px 5px;
}

.ps-devis-supprimer {
    font-size: 1.1rem;
    padding: 4px 10px 5px;
}

/* ── BOUTON ICÔNE PDF DANS LE TABLEAU MES DEVIS ──────────── */

.ps-devis-pdf-bouton {
    background: none;
    border: none;
    border-image: none;
    padding: 0;
    cursor: pointer;
    opacity: 0.85;
    transition: opacity 0.2s, transform 0.15s;
    display: inline-flex;
    align-items: center;
    box-shadow: none;
}

.ps-devis-pdf-bouton:hover,
.ps-devis-pdf-bouton:focus {
    opacity: 1;
    transform: scale(1.05);
    background: none;
    outline: none;
}

.ps-devis-pdf-bouton img {
    display: block;
}

/* Ligne Total en bas du détail (commande + devis) */
.ps-devis-total-ligne,
.ps-order-total-ligne {
    border-top: 1px solid var(--ps-kraft-couleur);
    margin-top: 0.5rem;
    padding-top: 0.5rem;
}

/* Popup confirmation suppression devis : plus petite que la popup glossaire.
   Cible la classe modificateur, le reste des règles vient de glossaire.css. */
.ps-popup-wrap--devis-supprimer .ps-popup-cadre {
    width: clamp(280px, 90vw, 420px);
    max-height: none;
}
.ps-popup-wrap--devis-supprimer .ps-popup-inner {
    max-height: none;
    padding: 1.5rem 1.5rem 1.2rem;
}
.ps-popup-wrap--devis-supprimer .ps-devis-supprimer-message {
    font-size: 1.4rem;
    margin: 0 0 0.4rem;
    text-align: center;
}
/* Bouton poubelle du tableau : image seule, sans cadre kraft. */
.ps-devis-supprimer {
    background: none !important;
    background-image: none !important;
    border: none !important;
    border-image: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}
.ps-devis-supprimer:hover,
.ps-devis-supprimer:focus,
.ps-devis-supprimer:active {
    background: none !important;
    background-image: none !important;
    border: none !important;
    border-image: none !important;
    box-shadow: none !important;
    opacity: 0.75;
}
.ps-devis-supprimer img {
    display: block;
}
.ps-devis-supprimer-form {
    margin: 0;
}
.ps-popup-wrap--devis-supprimer .ps-devis-supprimer-warning {
    font-size: 1.1rem;
    color: #6B4226;
    font-style: italic;
    margin: 0 0 1.2rem;
    text-align: center;
}
.ps-popup-wrap--devis-supprimer .ps-devis-supprimer-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
}


/* ============================================
   PAGE LOGIN / REGISTER NON CONNECTÉ
   /mon-compte/ visiteur — page-mon-compte.php
   ============================================ */

/* ── GRILLE 2 COLONNES (desktop) ───────────── */
.ps-login-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-top: 1.5rem;
}

/* ── COLONNE : petit cadre beige discret ──────
   Reproduit le style .ps-account-adresse (bloc
   beige discret DANS le grand cadre kraft).
   Flex column : permet d'aligner les boutons en bas
   des 2 colonnes via margin-top: auto sur .ps-login-actions.
   ─────────────────────────────────────────── */
.ps-login-col {
    background: rgba(200, 168, 130, 0.3);
    border: 1px solid rgba(76, 53, 28, 0.25);
    padding: 1.5rem 1.5rem 1.2rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

/* Le form occupe tout l'espace restant sous le titre
   pour que margin-top: auto sur .ps-login-actions pousse
   le bouton en bas — alignement vertical entre colonnes. */
.ps-login-col .ps-login-form {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* ── TITRE DE COLONNE (Se connecter / S'inscrire) */
.ps-login-titre {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #7D2B0B;
    font-size: 1.7rem;
    margin: 0 0 1rem;
    letter-spacing: 0.02em;
}

/* ── INPUTS — réplique du pattern .ps-account-panel
   pour cohérence avec les formulaires d'adresse
   ─────────────────────────────────────────── */
.ps-login-col input[type="text"],
.ps-login-col input[type="email"],
.ps-login-col input[type="password"] {
    font-family: 'OldNewspaperTypesALM', Georgia, serif !important;
    color: #2C1810 !important;
    background: #dfc4a6 !important;
    border: var(--ps-bordure-fine) !important;
    padding: 0.4rem 0.8rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 1.05rem !important;
    border-radius: 4px !important;
    outline: none !important;
}

.ps-login-col input:focus {
    border-color: #D4600A !important;
    background: rgba(200, 168, 130, 0.25) !important;
}

/* ── LABELS ─────────────────────────────────── */
.ps-login-col label {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #2C1810;
    font-size: 1.05rem;
    display: block;
    margin-bottom: 0.3rem;
}

.ps-login-col .required {
    color: #7D2B0B;
}

/* ── ESPACEMENT DES LIGNES DE FORMULAIRE ───── */
.ps-login-col .ps-login-row {
    margin-bottom: 1rem;
}

/* ── BLOC ACTIONS (bouton submit centré) ─────
   margin-top: auto pousse le bouton tout en bas
   de la colonne (flex column parent) — alignement
   vertical garanti entre "Se connecter" et "S'inscrire". */
.ps-login-col .ps-login-actions {
    margin-top: auto;
    text-align: center;
}

/* ── LIGNE OPTIONS LOGIN (case Souvenir + lien mot de passe) */
.ps-login-options-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.8rem;
}

.ps-login-col .woocommerce-form-login__rememberme {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: #2C1810;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
    margin: 0;
}

.ps-login-col .woocommerce-form__input-checkbox {
    margin: 0;
    accent-color: #7D2B0B;
}

/* ── LIEN "Mot de passe perdu ?" ──────────────
   Lien inline dans .ps-login-options-row (à droite
   de la case "Se souvenir de moi"). */
.ps-login-lost {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    font-size: 1rem;
    color: #D4600A;
    text-decoration: underline;
}

.ps-login-lost:hover {
    color: #7D2B0B;
}

/* ── TEXTE RGPD (sorti par hook WC) ────────── */
.ps-login-col .woocommerce-privacy-policy-text {
    font-family: 'OldNewspaperTypesALM', Georgia, serif;
    color: var(--ps-bordure-fonce);
    font-size: 0.9rem;
    line-height: 1.5;
    margin-top: 1rem;
    margin-bottom: 0.8rem;
    font-style: italic;
}

.ps-login-col .woocommerce-privacy-policy-text a {
    color: #D4600A;
    text-decoration: underline;
}
