/* Flandres — Cartes cadeaux : styles publics isolés du thème */
html body .flgc-wrap,
html body .flgc-wrap * {
    box-sizing: border-box !important;
}

html body .flgc-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 1020px !important;
    margin: 32px auto !important;
    padding: 0 16px !important;
    color: #172033 !important;
    font-family: inherit !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
    text-align: left !important;
    -webkit-text-size-adjust: 100% !important;
}

html body .flgc-wrap .flgc-card {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 24px !important;
    padding: clamp(22px, 4vw, 34px) !important;
    overflow: visible !important;
    border: 1px solid #dfe6ef !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #172033 !important;
    box-shadow: 0 14px 40px rgba(20, 32, 55, .10) !important;
}

html body .flgc-wrap .flgc-hero {
    background: linear-gradient(135deg, #ffffff 0%, #f2f6ff 68%, #eef8e8 100%) !important;
    border-color: #dbe4ff !important;
}

html body .flgc-wrap .flgc-hero > span {
    display: inline-block !important;
    margin: 0 0 8px !important;
    color: #243cdb !important;
    -webkit-text-fill-color: #243cdb !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: .04em !important;
}

html body .flgc-wrap h1,
html body .flgc-wrap h2,
html body .flgc-wrap h3,
html body .flgc-wrap h4,
html body .flgc-wrap p,
html body .flgc-wrap label,
html body .flgc-wrap span,
html body .flgc-wrap small,
html body .flgc-wrap strong {
    font-family: inherit !important;
    text-transform: none !important;
}

html body .flgc-wrap h2 {
    margin: 0 0 12px !important;
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    font-size: clamp(1.7rem, 3vw, 2.15rem) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
}

html body .flgc-wrap h3 {
    margin: 0 0 18px !important;
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    font-size: clamp(1.25rem, 2vw, 1.5rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

html body .flgc-wrap p {
    margin: 0 0 14px !important;
    color: #4e5d72 !important;
    -webkit-text-fill-color: #4e5d72 !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

html body .flgc-wrap .flgc-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
}

html body .flgc-wrap .flgc-grid label,
html body .flgc-wrap .flgc-custom,
html body .flgc-wrap .flgc-balance {
    font-family: inherit !important;
}

html body .flgc-wrap .flgc-grid label,
html body .flgc-wrap .flgc-custom {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

html body .flgc-wrap .flgc-grid .wide {
    grid-column: 1 / -1 !important;
}

html body .flgc-wrap input[type="text"],
html body .flgc-wrap input[type="email"],
html body .flgc-wrap input[type="number"],
html body .flgc-wrap input[type="date"],
html body .flgc-wrap input:not([type]),
html body .flgc-wrap textarea,
html body .flgc-wrap select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #c9d0d9 !important;
    border-radius: 10px !important;
    outline: 0 !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    opacity: 1 !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

html body .flgc-wrap input[type="date"] {
    -webkit-appearance: auto !important;
    appearance: auto !important;
}

html body .flgc-wrap textarea {
    min-height: 118px !important;
    resize: vertical !important;
}

html body .flgc-wrap input::placeholder,
html body .flgc-wrap textarea::placeholder {
    color: #8995a6 !important;
    -webkit-text-fill-color: #8995a6 !important;
    opacity: 1 !important;
}

html body .flgc-wrap input:focus,
html body .flgc-wrap textarea:focus,
html body .flgc-wrap select:focus {
    border-color: #243cdb !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(36, 60, 219, .14) !important;
}

/* Montants prédéfinis : le radio natif est masqué, le bouton visuel est le span. */
html body .flgc-wrap .flgc-amounts {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(105px, max-content)) minmax(220px, 1fr) !important;
    gap: 12px !important;
    align-items: end !important;
    width: 100% !important;
    margin: 20px 0 28px !important;
}

html body .flgc-wrap .flgc-amounts > label:not(.flgc-custom) {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
}

html body .flgc-wrap .flgc-amounts > label:not(.flgc-custom)::before,
html body .flgc-wrap .flgc-amounts > label:not(.flgc-custom)::after {
    content: none !important;
    display: none !important;
}

html body .flgc-wrap .flgc-amounts input[type="radio"] {
    position: absolute !important;
    width: 1px !important;
    min-width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

html body .flgc-wrap .flgc-amounts label > span {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 105px !important;
    min-height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    border: 2px solid #d8e0ec !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    box-shadow: none !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
}

html body .flgc-wrap .flgc-amounts input[type="radio"]:checked + span {
    border-color: #243cdb !important;
    background: #eef2ff !important;
    color: #243cdb !important;
    -webkit-text-fill-color: #243cdb !important;
    box-shadow: 0 8px 20px rgba(36, 60, 219, .14) !important;
}

html body .flgc-wrap .flgc-amounts label:hover > span {
    border-color: #9eadd0 !important;
}

html body .flgc-wrap .flgc-custom {
    min-width: 220px !important;
}

html body .flgc-wrap .flgc-custom small {
    display: block !important;
    margin: 0 0 2px !important;
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
}

/* Case de confirmation : contrôle natif forcé et pseudo-éléments du thème neutralisés. */
html body .flgc-wrap label.flgc-check {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
    width: 100% !important;
    margin: 24px 0 !important;
    padding: 16px !important;
    border: 1px solid #dfe6ef !important;
    border-radius: 13px !important;
    background: #f8fafc !important;
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    cursor: pointer !important;
}

html body .flgc-wrap label.flgc-check::before,
html body .flgc-wrap label.flgc-check::after,
html body .flgc-wrap label.flgc-check > span::before,
html body .flgc-wrap label.flgc-check > span::after {
    content: none !important;
    display: none !important;
}

html body .flgc-wrap label.flgc-check input[type="checkbox"] {
    position: static !important;
    display: inline-block !important;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    border: initial !important;
    border-radius: initial !important;
    background: initial !important;
    background-image: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    -webkit-appearance: checkbox !important;
    appearance: auto !important;
    accent-color: #243cdb !important;
    cursor: pointer !important;
}

html body .flgc-wrap label.flgc-check > span {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow: visible !important;
}

html body .flgc-wrap button.flgc-btn,
html body .flgc-wrap a.flgc-btn,
html body .flgc-wrap input.flgc-btn {
    display: inline-flex !important;
    min-height: 50px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 12px 22px !important;
    border: 0 !important;
    border-radius: 10px !important;
    outline: 0 !important;
    background: #243cdb !important;
    background-image: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: none !important;
    opacity: 1 !important;
    font-family: inherit !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

html body .flgc-wrap button.flgc-btn:hover,
html body .flgc-wrap a.flgc-btn:hover,
html body .flgc-wrap input.flgc-btn:hover {
    filter: brightness(.95) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html body .flgc-wrap .flgc-btn.secondary {
    background: #172033 !important;
}

html body .flgc-wrap .flgc-btn:disabled {
    background: #c7cfdb !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: .75 !important;
    cursor: not-allowed !important;
}

html body .flgc-wrap .flgc-balance {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: end !important;
    width: 100% !important;
}

html body .flgc-wrap .flgc-notice,
html body .flgc-wrap .flgc-summary,
html body .flgc-wrap .flgc-warning,
html body .flgc-wrap .flgc-error {
    display: block !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 14px 16px !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: .98rem !important;
    line-height: 1.45 !important;
}

html body .flgc-wrap .flgc-notice.is-success,
html body .flgc-wrap .flgc-summary {
    background: #e9f8ed !important;
    color: #175c2c !important;
    -webkit-text-fill-color: #175c2c !important;
}

html body .flgc-wrap .flgc-notice.is-error,
html body .flgc-wrap .flgc-error {
    background: #fdecec !important;
    color: #8e1919 !important;
    -webkit-text-fill-color: #8e1919 !important;
}

html body .flgc-wrap .flgc-warning {
    background: #fff3d6 !important;
    color: #6d4d00 !important;
    -webkit-text-fill-color: #6d4d00 !important;
}

html body .flgc-wrap .flgc-summary {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 18px !important;
    align-items: center !important;
    margin-top: 18px !important;
}

html body .flgc-wrap .flgc-summary strong,
html body .flgc-wrap .flgc-summary span {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

@media (max-width: 760px) {
    html body .flgc-wrap {
        margin: 18px auto !important;
        padding: 0 10px !important;
        font-size: 16px !important;
    }
    html body .flgc-wrap .flgc-grid,
    html body .flgc-wrap .flgc-balance {
        grid-template-columns: 1fr !important;
    }
    html body .flgc-wrap .flgc-amounts {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    html body .flgc-wrap .flgc-custom {
        grid-column: 1 / -1 !important;
        min-width: 0 !important;
    }
    html body .flgc-wrap button.flgc-btn,
    html body .flgc-wrap a.flgc-btn,
    html body .flgc-wrap input.flgc-btn {
        width: 100% !important;
    }
}

@media (max-width: 480px) {
    html body .flgc-wrap .flgc-card {
        padding: 20px 15px !important;
        border-radius: 14px !important;
    }
    html body .flgc-wrap .flgc-amounts {
        grid-template-columns: 1fr !important;
    }
    html body .flgc-wrap .flgc-custom {
        grid-column: auto !important;
    }
}

/* V1.1 — Paiement carte bancaire PayPal Advanced */
.flgc-payment-page .flgc-pay-methods{display:grid!important;gap:22px!important;margin-top:22px!important}.flgc-card-paybox{padding:24px!important;border:2px solid #3155e7!important;border-radius:18px!important;background:#f8faff!important}.flgc-pay-kicker{display:inline-flex!important;padding:5px 9px!important;border-radius:999px!important;background:#e9efff!important;color:#2446c7!important;font-size:12px!important;font-weight:800!important}.flgc-card-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin:18px 0!important}.flgc-card-grid label{display:grid!important;gap:7px!important;font-weight:700!important}.flgc-card-grid .wide{grid-column:1/-1!important}.flgc-card-field{height:52px!important;border:1px solid #cbd5e1!important;border-radius:10px!important;background:#fff!important;overflow:hidden!important}.flgc-card-grid input{height:52px!important}.flgc-card-submit{width:100%!important;min-height:54px!important}.flgc-card-result{min-height:22px!important;margin:8px 0!important;color:#176b3a!important;font-weight:700!important}.flgc-card-result.is-error{color:#a11b1b!important}.flgc-pay-separator{display:flex!important;align-items:center!important;gap:12px!important;color:#64748b!important}.flgc-pay-separator:before,.flgc-pay-separator:after{content:""!important;height:1px!important;background:#d8e0eb!important;flex:1!important}.flgc-paypal-classic{text-align:center!important}.flgc-paypal-classic form{display:inline-block!important}.flgc-paypal-classic .flgc-btn{min-width:240px!important}@media(max-width:640px){.flgc-card-grid{grid-template-columns:1fr!important}.flgc-card-grid .wide{grid-column:auto!important}}
