/* --------------------------------------------------------------------------
   PG CLUB MANAGER
   Champs inscrit sur produit WooCommerce
-------------------------------------------------------------------------- */

.pgcm-member-fields {
    max-width: 520px;
    margin: 2rem 0;
    padding: 1.6rem;
    background: var(--pgcm-bg-soft);
    border: 1px solid var(--pgcm-border);
    border-radius: var(--pgcm-radius);
}

.pgcm-member-fields h4 {
    margin: 0 0 .5rem;
    color: var(--pgcm-primary-dark);
    font-weight: 700;
}

.pgcm-member-description {
    margin: 0 0 1.5rem;
    color: var(--pgcm-muted);
    font-size: .95rem;
}

.pgcm-member-fields label {
    display: block;
    margin-bottom: .35rem;
    color: var(--pgcm-primary-dark);
    font-weight: 600;
}

.pgcm-member-fields input[type="text"],
.pgcm-member-fields input[type="date"] {
    width: 100%;
    max-width: 450px;
    padding: .8rem 1rem;
    background: var(--pgcm-bg);
    border: 1px solid var(--pgcm-border);
    border-radius: calc(var(--pgcm-radius) / 1.5);
    color: var(--pgcm-text);
    transition: .2s;
}

.pgcm-member-fields input:focus {
    outline: none;
    border-color: var(--pgcm-primary);
    box-shadow: 0 0 0 3px rgba(30, 115, 190, .15);
}

.pgcm-member-fields .required {
    color: var(--pgcm-error);
}

.single_add_to_cart_button {
    margin-top: 1rem;
}

/* =========================================================
   PG CLUB MANAGER - FRONTEND
   ========================================================= */

:root {
    --pgcm-primary: #1e73be;
    --pgcm-secondary: #00a0d2;
    --pgcm-primary-dark: #144d80;
    --pgcm-bg: #ffffff;
    --pgcm-bg-soft: #f4f9fd;
    --pgcm-bg-light: #e9f3fb;
    --pgcm-text: #2b2b2b;
    --pgcm-muted: #6b7280;
    --pgcm-border: #c8dceb;
    --pgcm-error: #d32f2f;
    --pgcm-success: #2e7d32;

    --pgcm-radius: 16px;
    --pgcm-shadow: 0 12px 30px rgba(30, 115, 190, 0.12);
}

/* =========================================================
   FORMULAIRE
   ========================================================= */

.pgcm-form {
    max-width: 860px;
    margin: 0 auto;
    padding: 10px;
    color: var(--pgcm-text);
}

.pgcm-form-section {
    position: relative;
    margin-bottom: 32px;
    padding: 30px 28px 26px;
    border: 1px solid var(--pgcm-border);
    border-radius: var(--pgcm-radius);
    background: var(--pgcm-bg);
    box-shadow: var(--pgcm-shadow);
}

.pgcm-form-section::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 7px;
    border-radius: var(--pgcm-radius) 0 0 var(--pgcm-radius);
    background: linear-gradient(180deg, var(--pgcm-primary), var(--pgcm-secondary));
}

.pgcm-form-section legend {
    padding: 7px 14px;
    border-radius: 999px;
    background: var(--pgcm-bg-light);
    color: var(--pgcm-primary-dark);
    font-size: 1.18rem;
    font-weight: 800;
    line-height: 1.2;
}

.pgcm-section-description {
    margin: 0 0 20px;
    color: var(--pgcm-muted);
}

/* =========================================================
   CHAMPS
   ========================================================= */

.pgcm-field {
    margin-bottom: 20px;
}

.pgcm-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--pgcm-text);
    font-weight: 700;
}

.pgcm-field input,
.pgcm-field select,
.pgcm-field textarea {
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid var(--pgcm-border);
    border-radius: 10px;
    background: #ffffff;
    color: var(--pgcm-text);
    font-size: 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.pgcm-field textarea {
    min-height: 110px;
    resize: vertical;
}

.pgcm-field input:focus,
.pgcm-field select:focus,
.pgcm-field textarea:focus {
    outline: none;
    border-color: var(--pgcm-primary);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(251, 89, 99, 0.14);
}

.pgcm-field input::placeholder,
.pgcm-field textarea::placeholder {
    color: #aaaaaa;
}

.pgcm-required {
    color: var(--pgcm-error);
    font-weight: 900;
}

/* =========================================================
   RADIO / CHECKBOX
   ========================================================= */

.pgcm-radio-group {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

.pgcm-radio-group label,
.pgcm-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid var(--pgcm-border);
    border-radius: 12px;
    background: var(--pgcm-bg-soft);
    font-weight: 600;
    cursor: pointer;
}

.pgcm-radio-group input,
.pgcm-checkbox-label input {
    width: auto;
    min-height: auto;
    margin: 0;
    accent-color: var(--pgcm-primary);
}

.pgcm-signature-pad canvas {
    display: block;
    width: 100%;
    height: 220px;
    box-sizing: border-box;
    cursor: crosshair;
    background: #ffffff;
    border: 2px dashed #d9d9d9;
    border-radius: 12px;
}

/* =========================================================
   BOUTON
   ========================================================= */

.pgcm-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 14px 28px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--pgcm-primary), var(--pgcm-secondary));
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(251, 89, 99, 0.28);
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.pgcm-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(251, 89, 99, 0.34);
    opacity: 0.96;
}

.pgcm-submit:active {
    transform: translateY(0);
}

/* Bouton générique (utilisé hors du formulaire d'inscription, ex: rapport
   des inscriptions), repris ici car le style inline du formulaire ne
   s'affiche que sur la page contenant ce dernier. */
.pgcm-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 12px 22px;
    font-weight: 700;
    cursor: pointer;
    background: var(--pgcm-primary);
    color: #ffffff;
    text-decoration: none;
}

.pgcm-button:hover {
    background: var(--pgcm-primary-dark);
    color: #ffffff;
}

.pgcm-button-secondary {
    background: var(--pgcm-bg-light);
    color: var(--pgcm-primary-dark);
}

.pgcm-button-secondary:hover {
    background: var(--pgcm-border);
    color: var(--pgcm-primary-dark);
}

/* =========================================================
   MESSAGES
   ========================================================= */

.pgcm-message {
    max-width: 860px;
    margin: 0 auto 22px;
    padding: 15px 18px;
    border-radius: 12px;
    font-weight: 700;
    text-align: center;
}

.pgcm-message-actions {
    margin-top: 14px;
}

.pgcm-success {
    border: 1px solid #bde5c8;
    background: #eaf8ef;
    color: var(--pgcm-success);
}

.pgcm-error {
    border: 1px solid #f0b8b8;
    background: #fff1f1;
    color: var(--pgcm-error);
}

/* =========================================================
   TABLES FUTURES
   ========================================================= */

.pgcm-table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    background: #ffffff;
    border-radius: var(--pgcm-radius);
    overflow: hidden;
    box-shadow: var(--pgcm-shadow);
}

.pgcm-table th,
.pgcm-table td {
    padding: 13px 15px;
    border-bottom: 1px solid var(--pgcm-border);
    text-align: left;
}

.pgcm-table th {
    background: var(--pgcm-bg-light);
    color: var(--pgcm-primary-dark);
    font-weight: 800;
}

.pgcm-table tr:last-child td {
    border-bottom: none;
}

/* =========================================================
   BADGES FUTURS
   ========================================================= */

.pgcm-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--pgcm-bg-light);
    color: var(--pgcm-primary-dark);
    font-size: 0.85rem;
    font-weight: 800;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 700px) {
    .pgcm-form {
        padding: 0;
    }

    .pgcm-form-section {
        padding: 24px 18px 22px;
        border-radius: 14px;
    }

    .pgcm-form-section::before {
        width: 5px;
    }

    .pgcm-form-section legend {
        font-size: 1rem;
    }

    .pgcm-radio-group {
        flex-direction: column;
        gap: 10px;
    }

    .pgcm-submit {
        width: 100%;
    }
}

/* --------------------------------------------------------------------------
   PGCM - Catalogue activités et produits
   Alignée sur le style de la page catégorie WooCommerce native
   (.tax-product_cat dans woocommerce.css) : même largeur de page, même
   grille à 3 colonnes, mêmes cartes et même traitement des titres. Les
   deux gabarits affichent la même donnée (les produits du club), ils
   doivent donc se ressembler.
-------------------------------------------------------------------------- */

.pgcm-catalog {
    width: 80%;
    max-width: 1600px;
    margin: 0 auto 60px;
}

.pgcm-catalog-section {
    margin-bottom: 50px;
}

.pgcm-catalog-header {
    margin-bottom: 34px;
    padding: 36px 34px;
    background: var(--pgcm-bg-soft);
    border: 1px solid var(--pgcm-border);
    border-radius: 22px;
    box-shadow: none;
}

/* Le thème (Divi) applique ses propres styles de titre (couleur, bordure,
   ombre, police) à tous les h1-h6 du site avec une spécificité qui gagne
   sur une règle .pgcm-catalog-header h2 toute simple. On la renforce donc
   explicitement pour reprendre la main, exactement comme le titre de la
   page catégorie. */
.pgcm-catalog-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--pgcm-primary-dark) !important;
    font-family: inherit !important;
    font-size: clamp(2rem, 3vw, 3.1rem) !important;
    font-weight: 900 !important;
    font-style: normal !important;
    line-height: 1.1 !important;
    text-shadow: none !important;
}

.pgcm-catalog-header p {
    margin-top: 16px;
    max-width: 760px;
    color: var(--pgcm-text);
    font-size: 1.05rem;
    line-height: 1.7;
}

.pgcm-catalog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.pgcm-product-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
    background: #fff;
    border: 1px solid var(--pgcm-border);
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.pgcm-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 34px rgba(30, 115, 190, .16);
}

.pgcm-product-image {
    display: block;
    overflow: hidden;
    border-radius: 16px;
    margin-bottom: 18px;
    background: var(--pgcm-bg-light);
}

.pgcm-product-image img {
    width: 100%;
    height: auto;
    display: block;
}

.pgcm-product-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Même conflit de spécificité avec le thème (Divi) que .pgcm-catalog-header h2
   plus haut : ce titre de carte produit vit lui aussi dans un h3 (souvent
   imbriqué dans un module Texte Divi), et perdait face au preset de titre
   du thème. On le renforce pour les mêmes raisons. */
.pgcm-product-content h3 {
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--pgcm-primary-dark) !important;
    font-family: inherit !important;
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    font-style: normal !important;
    line-height: 1.3 !important;
    text-shadow: none !important;
}

.pgcm-product-content h3 a {
    color: inherit;
    text-decoration: none;
}

.pgcm-product-description {
    flex: 1;
    color: var(--pgcm-text);
    font-size: .95rem;
}

.pgcm-product-footer {
    margin-top: auto;
    padding-top: 14px;
}

.pgcm-product-price {
    margin: 0 0 14px;
    color: var(--pgcm-primary);
    font-weight: 800;
    font-size: 1.05rem;
}

.pgcm-product-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--pgcm-primary), var(--pgcm-secondary));
    color: #ffffff;
    font-weight: 800;
    text-decoration: none;
}

.pgcm-product-button:hover {
    color: #ffffff;
    background: var(--pgcm-primary-dark);
}

@media (max-width: 980px) {
    .pgcm-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .pgcm-catalog {
        width: 90%;
    }

    .pgcm-catalog-header {
        padding: 28px 22px;
        border-radius: 18px;
    }

    .pgcm-catalog-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   PGCM - Typographie fluide frontend / WooCommerce
   ========================================================== */

.pgcm-form,
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account,
.single-product {
    font-size: clamp(0.95rem, 0.9rem + 0.15vw, 1.05rem);
    line-height: clamp(1.45em, 1.4em + 0.1vw, 1.65em);
}

/* Paragraphes */
.pgcm-form p,
.woocommerce p,
.single-product p {
    font-size: clamp(0.95rem, 0.9rem + 0.15vw, 1.05rem);
    line-height: clamp(1.45em, 1.4em + 0.1vw, 1.65em);
}

/* H1 */
.pgcm-form h1,
.woocommerce h1,
.single-product h1,
.single-product .product_title {
    font-size: clamp(1.8rem, 1.45rem + 1vw, 2.6rem);
    line-height: 1.15;
}

/* H2 */
.pgcm-form h2,
.woocommerce h2,
.single-product h2 {
    font-size: clamp(1.45rem, 1.25rem + 0.6vw, 2rem);
    line-height: 1.2;
}

/* H3 */
.pgcm-form h3,
.woocommerce h3,
.single-product h3,
.woocommerce-checkout h3 {
    font-size: clamp(1.2rem, 1.05rem + 0.35vw, 1.55rem);
    line-height: 1.25;
}

/* H4 */
.pgcm-form h4,
.woocommerce h4,
.single-product h4 {
    font-size: clamp(1.05rem, 1rem + 0.2vw, 1.25rem);
    line-height: 1.3;
}

/* Labels, champs, tableaux */
.pgcm-form label,
.pgcm-form input,
.pgcm-form textarea,
.pgcm-form select,
.woocommerce label,
.woocommerce input,
.woocommerce textarea,
.woocommerce select,
.woocommerce table {
    font-size: clamp(0.9rem, 0.86rem + 0.12vw, 1rem);
}

/* Boutons */
.pgcm-submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .checkout-button,
.woocommerce #place_order {
    font-size: clamp(0.95rem, 0.9rem + 0.15vw, 1.05rem);
}
/* ==========================================================
   PGCM - Intro formulaire inscription
   ========================================================== */

.pgcm-registration-intro,
.pgcm-thankyou {
    max-width: 1100px;
    margin: 0 auto 32px;
    padding: 32px;
    border: 1px solid var(--pgcm-border);
    border-radius: var(--pgcm-radius);
    background: var(--pgcm-bg-soft);
}

.pgcm-registration-logo-wrap {
    margin-bottom: 24px;
}

.pgcm-registration-logo {
    max-width: 180px;
    height: auto;
}

.pgcm-registration-season {
    color: var(--pgcm-primary);
    font-weight: 800;
}

/* ==========================================================
   PGCM - Page merci
   ========================================================== */

.pgcm-thankyou-card {
    margin-top: 24px;
    padding: 24px;
    border: 1px solid var(--pgcm-border);
    border-radius: var(--pgcm-radius);
    background: var(--pgcm-bg);
}

.pgcm-thankyou-card h2,
.pgcm-thankyou-card h3 {
    margin-top: 0;
    color: var(--pgcm-primary-dark);
}

.pgcm-thankyou-card ul {
    margin: 0;
    padding-left: 20px;
}

.pgcm-thankyou-card p:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   PGCM - Rapport inscriptions
   ========================================================== */

.pgcm-report {
    width: 90%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 32px;
    border: 1px solid var(--pgcm-border);
    border-radius: var(--pgcm-radius);
    background: var(--pgcm-bg);
}

.pgcm-report h1 {
    margin-bottom: 8px;
    color: var(--pgcm-primary-dark);
}

.pgcm-report-season {
    margin-bottom: 28px;
    color: var(--pgcm-muted);
    font-weight: 700;
}

/* Statistiques */
.pgcm-report-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 28px;
}

.pgcm-report-stat {
    padding: 24px;
    border-radius: var(--pgcm-radius);
    background: linear-gradient(135deg, var(--pgcm-primary), var(--pgcm-secondary));
    color: #fff;
    text-align: center;
}

.pgcm-report-stat strong {
    display: block;
    font-size: clamp(1.6rem, 1.2rem + 1vw, 2.4rem);
    line-height: 1;
    font-weight: 900;
}

.pgcm-report-stat span {
    display: block;
    margin-top: 8px;
    font-weight: 800;
}

/* Dernière inscription */
.pgcm-report-latest {
    margin-bottom: 32px;
    padding: 16px 20px;
    border-left: 5px solid var(--pgcm-primary);
    border-radius: calc(var(--pgcm-radius) / 1.5);
    background: var(--pgcm-bg-soft);
}

/* Recherche */
.pgcm-report-search {
    margin-bottom: 24px;
}

.pgcm-report-search label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
    color: var(--pgcm-text);
}

.pgcm-report-search input[type="search"] {
    width: 100%;
    max-width: 420px;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid var(--pgcm-border);
    border-radius: 10px;
    background: var(--pgcm-bg);
    color: var(--pgcm-text);
}

.pgcm-report-search input[type="search"]:focus {
    outline: none;
    border-color: var(--pgcm-primary);
    box-shadow: 0 0 0 3px rgba(30, 115, 190, .15);
}

/* Accordéons */
.pgcm-report-details {
    margin-bottom: 14px;
    border: 1px solid var(--pgcm-border);
    border-radius: var(--pgcm-radius);
    background: var(--pgcm-bg);
    overflow: hidden;
}

.pgcm-report-details summary {
    padding: 16px 20px;
    background: var(--pgcm-secondary);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.pgcm-report-details[open] summary {
    background: var(--pgcm-primary);
}

/* Tableaux */
.pgcm-report-table-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

.pgcm-report-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--pgcm-bg);
    table-layout: auto;
    font-size: clamp(11px, 1.1vw, 14px);
}

.pgcm-report-table th,
.pgcm-report-table td {
    padding: clamp(6px, 1vw, 12px) clamp(6px, 1.2vw, 14px);
    border-bottom: 1px solid var(--pgcm-border);
    text-align: left;
    vertical-align: middle;
}

/* La dernière colonne (lien "Voir") ne doit jamais être écrasée par les
   colonnes à contenu long (emails, parents...) */
.pgcm-report-table th:last-child,
.pgcm-report-table td:last-child {
    white-space: nowrap;
    width: 1%;
}

.pgcm-report-table th {
    background: var(--pgcm-bg-light);
    color: var(--pgcm-primary-dark);
    font-weight: 900;
}

.pgcm-report-table tr:hover td {
    background: var(--pgcm-bg-soft);
}

.pgcm-report-table a {
    color: var(--pgcm-primary);
    font-weight: 800;
    text-decoration: none;
}

.pgcm-report-table a:hover {
    color: var(--pgcm-secondary);
}

/* Statut dossier complet / incomplet */
.pgcm-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.pgcm-badge-complete {
    background: #eaf8ef;
    color: var(--pgcm-success);
}

.pgcm-badge-incomplete {
    background: #fff1f1;
    color: var(--pgcm-error);
}

.pgcm-report-row-incomplete td {
    background: #fffaf5;
}

/* Mobile */
@media (max-width: 980px) {
    .pgcm-report {
        width: 95%;
        padding: 22px;
    }

    .pgcm-report-stats {
        grid-template-columns: 1fr;
    }
}

.pgcm-form input[type="checkbox"],
.pgcm-form input[type="radio"] {
    width: auto !important;
    min-width: 18px;
    height: 18px;
    margin: 0 8px 0 0;
    display: inline-block;
    vertical-align: middle;
}

/* form */

.pgcm-form label.pgcm-checkbox,
.pgcm-form .pgcm-checkbox label {
    display: flex;
    align-items: center;
    gap: 8px;
    width: auto;
}

/* PGCM V1.1.5 - correction fiche */
.pgcm-edit-card {
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 18px;
    padding: clamp(20px, 3vw, 36px);
    box-shadow: 0 12px 35px rgba(0,0,0,.06);
    margin: 30px auto;
    max-width: 1180px;
}
.pgcm-edit-card h1 { margin-top: 0; }
.pgcm-edit-intro { color: #666; margin-bottom: 24px; }
.pgcm-edit-section {
    background: #f8fafc;
    border: 1px solid rgba(0,0,0,.07);
    border-radius: 14px;
    padding: clamp(16px, 2vw, 24px);
    margin: 0 0 22px;
}
.pgcm-edit-section h2 {
    margin: 0 0 16px;
    font-size: 1.25rem;
}
.pgcm-edit-form .pgcm-field label {
    display: block;
    font-weight: 700;
    margin-bottom: 7px;
}
.pgcm-edit-form input[type="text"],
.pgcm-edit-form input[type="email"],
.pgcm-edit-form input[type="date"],
.pgcm-edit-form input[type="file"],
.pgcm-edit-form select,
.pgcm-edit-form textarea {
    width: 100%;
    max-width: 100%;
    border: 1px solid #d8dce3;
    border-radius: 10px;
    padding: 11px 12px;
    background: #fff;
}
.pgcm-edit-form textarea { min-height: 90px; }
.pgcm-edit-form .pgcm-checkbox-label,
.pgcm-edit-form .pgcm-radio-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
}
.pgcm-edit-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 24px;
}
.pgcm-current-file { margin: 0 0 8px; }
.pgcm-account-affiliations .button { margin: 2px 4px 2px 0; }
@media (max-width: 780px) {
    .pgcm-edit-card { padding: 18px; }
    .pgcm-edit-actions .button { width: 100%; text-align: center; }
}

/* PGCM V1.1.7 - confort édition et liens */
.pgcm-edit-form .pgcm-phone-field input[type="text"] {
    min-width: 220px;
}
.pgcm-dossier-view a,
.pgcm-thankyou-card a {
    text-decoration: underline;
    text-underline-offset: 2px;
}
@media (max-width: 780px) {
    .pgcm-edit-form .pgcm-phone-field input[type="text"] {
        min-width: 0;
    }
}

/* PGCM V1.1.9 - Sections personnalisées dans le formulaire */
.pgcm-custom-section {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid rgba(15, 43, 143, 0.15);
}

.pgcm-custom-section h3 {
    margin: 0 0 16px;
    color: #0f2b8f;
    font-size: 1.25rem;
    font-weight: 700;
}

/* PGCM - attente validation paiement */
.pgcm-payment-wait {
    max-width: 760px;
    margin: 40px auto;
    padding: 32px;
    background: #fff;
    border: 1px solid #d9e2ec;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.pgcm-payment-wait h2 {
    margin-top: 0;
}

.pgcm-spinner {
    width: 44px;
    height: 44px;
    margin: 22px auto;
    border: 4px solid #d9e2ec;
    border-top-color: var(--pgcm-primary, #1e73be);
    border-radius: 50%;
    animation: pgcm-spin 0.9s linear infinite;
}

.pgcm-payment-wait-status {
    font-weight: 600;
}

.pgcm-payment-wait-help {
    margin-top: 18px;
    padding: 14px;
    background: #fff8e1;
    border: 1px solid #f0d98c;
    border-radius: 8px;
}

@keyframes pgcm-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
