/* ===== Container ===== */
.glx-form{
    box-sizing:border-box;
    width:100%;
    padding:0 0 24px 0;
    background:transparent;
    color:#fff;
}
.glx-wrap{ margin:0 auto; }

/* ===== Cards ===== */
.glx-card{ background: transparent; border-radius:18px; }
.glx-card--bottom{ margin-top:16px; display:none; }

/* ===== Alerts ===== */
.glx-alert{
    border-radius:16px;
    padding:14px 16px;
    font-weight:700;
    line-height:1.35;
}
.glx-alert--success{ background: rgba(29,171,33,.18); border:1px solid rgba(29,171,33,.35); }
.glx-alert--error{ background: rgba(218,6,19,.14); border:1px solid rgba(218,6,19,.35); }

/* ===== Typography / layout helpers ===== */
.glx-section{ margin-bottom:8px; }
.glx-h3{
    margin:0 0 12px;
    font-size:16px !important;
    font-weight:800 !important;
    color:#fff !important;
}
.glx-h4{
    margin:0 0 8px;
    font-size:14px;
    font-weight:800;
    color:#fff;
}
.glx-help{
    margin:-6px 0 10px;
    color:rgba(255,255,255,.75);
    font-size:12px;
}
.glx-note{
    margin:10px 0 0;
    color:rgba(255,255,255,.75);
    font-size:12px;
}

/* ===== Fields ===== */
.glx-field{ margin-bottom:12px; }
.glx-label{
    display:block;
    font-size:12px;
    font-weight:700;
    color:rgba(255,255,255,.85);
    margin:0 0 6px;
}
.glx-grid{ display:grid; gap:12px; }
.glx-grid--2{ grid-template-columns: 1fr 1fr; }
.glx-field input,
.glx-field select,
.glx-field textarea{
    width:100%;
    background: rgba(255,255,255,.95);
    color:#222 !important;
    border:1px solid rgba(0,0,0,.08);
    border-radius:12px;
    padding:14px 14px !important;
    outline:none;
    transition: box-shadow .15s ease, border-color .15s ease, transform .15s ease;
}
.glx-field textarea{ min-height:110px; resize:vertical; }
.glx-field input:focus,
.glx-field select:focus,
.glx-field textarea:focus{
    border-color: rgba(218,6,19,.55);
    box-shadow: 0 0 0 4px rgba(218,6,19,.18);
}
.glx-field--mini input{ padding:10px 10px; }

/* ===== Chips enjeux ===== */
.glx-chips{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:10px;
}
.glx-chip{
    display:flex;
    align-items:center;
    gap:10px;
    padding:18px 12px;
    border-radius:14px;
    background: rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.10);
    cursor:pointer;
    user-select:none;
    transition: transform .15s ease, border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.glx-chip:hover{ transform: translateY(-1px); border-color: rgba(255,255,255,.18); }
.glx-chip input{
    width:18px;
    height:18px;
    accent-color:#DA0613;
    cursor:pointer;
}
.glx-chip span{ color:#fff; font-weight:700; font-size:13px; }
.glx-chip small{ font-weight:600; color: rgba(255,255,255,.75); }

/* ===== Inline optin ===== */
.glx-inline-check{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:12px;
    cursor:pointer;
}
.glx-inline-check input{ margin-top:3px; accent-color:#DA0613; }
.glx-inline-check span{
    color: rgba(255,255,255,.88);
    font-size:13px;
    line-height:1.35;
    font-weight:600;
}

/* ===== Modules grid + cards internes ===== */
.glx-mod-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: start;
}
.glx-module{
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    padding: 16px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.glx-module--wide{ grid-column: 1 / -1; }
.glx-module .glx-section{ margin-bottom: 0; }

/* ===== CTA area : 2 modules empilés ===== */
.glx-cta-stack{
    display:flex;
    flex-direction:column;
    gap:12px;
}

/* ===== CTA callback ===== */
.glx-primary-cta{
    width: 100%;
    border: none;
    border-radius: 16px;
    padding: 18px 16px;
    background: #DA0613;
    color: #fff;
    font-weight: 800;
    font-size: 15px;
    letter-spacing: .2px;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease, opacity .15s ease;
}
.glx-primary-cta:hover{
    transform: translateY(-1px);
    filter: brightness(1.02);
    box-shadow: 0 18px 44px rgba(218,6,19,.28), inset 0 1px 0 rgba(255,255,255,.22);
}
.glx-primary-cta:active{ transform: translateY(0); }

/* Callback désactivé (premium) */
.glx-primary-cta.is-disabled{
    cursor: not-allowed;
    opacity: .62;
    filter: blur(.6px) saturate(.75) grayscale(.15) brightness(.92);
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
    transform: none !important;
}
.glx-primary-cta.is-disabled:hover{
    transform: none !important;
    filter: blur(.6px) saturate(.75) grayscale(.15) brightness(.92);
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
}

/* ===== Switch iPhone ===== */
.glx-switch{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 12px;
    border-radius:16px;
    background: #148217;
    border:1px solid #1DAB21;
    cursor:pointer;
    user-select:none;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.glx-switch:hover{
    transform: translateY(-1px);
    border-color: rgba(255,255,255,.18);
    box-shadow: 0 10px 26px rgba(0,0,0,.25);
}
.glx-switch input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.glx-switch__ui{
    width:44px;
    height:26px;
    border-radius:999px;
    background: rgba(255,255,255,.38);
    border:1px solid rgba(255,255,255,.22);
    position:relative;
    flex:0 0 auto;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.glx-switch__ui::after{
    content:"";
    position:absolute;
    top:3px; left:3px;
    width:20px; height:20px;
    border-radius:999px;
    background:#fff;
    box-shadow: 0 8px 18px rgba(0,0,0,.25);
    transition: transform .18s ease;
}
.glx-switch__text{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.glx-switch__text strong{
    color:#fff;
    font-weight:900;
    font-size:14px;
}
.glx-switch__text small{
    color: rgba(255,255,255,.75);
    font-weight:600;
    font-size:12px;
}
.glx-switch:has(input:checked){
    border-color: #0080005c;
    box-shadow: 0 12px 30px rgba(0,0,0,.28);
}
.glx-switch:has(input:checked) .glx-switch__ui{
    background: #03e9035c;
    border-color: green;
}
.glx-switch:has(input:checked) .glx-switch__ui::after{
    transform: translateX(18px);
}

/* ===== Bottom block ===== */
.glx-cotes-line{
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap:12px;
    margin:10px 0 8px;
}
.glx-inline-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:8px;
}
.glx-ghost{
    border:1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.04);
    color:#fff;
    border-radius:14px;
    padding:10px 12px;
    cursor:pointer;
    font-weight:800;
    transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.glx-ghost:hover{
    transform: translateY(-1px);
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.06);
}
.glx-total{
    color: rgba(255,255,255,.85);
    font-weight:800;
    font-size:13px;
}
.glx-submit-row{
    margin-top:16px;
    display:flex;
    justify-content:flex-end;
}

#ancreformulaire { scroll-margin-top: 150px; }

/* Break à 1150px */
@media (max-width: 1150px){
    .glx-mod-grid{
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .glx-module--wide{ grid-column: auto; }
}

/* Responsive existant */
@media (max-width: 860px){
    .vc_column_container>.vc_column-inner {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .glx-grid--2{ grid-template-columns: 1fr; }
    .glx-chips{ grid-template-columns: 1fr; }
    .glx-cotes-line{ grid-template-columns: 1fr; }
    .glx-inline-actions{ flex-direction:column; align-items:flex-start; }
    .glx-submit-row{ justify-content:stretch; }
}
