/* F-Tech Listing Engine: strona platnosci [fle_checkout].
   Tokeny i komponenty z front.css (--fle-*, fle-btn, fle-box, fle-form).
   Tu tylko to, co unikalne dla platnosci: karty pakietow, przelacznik
   osoba/firma, podsumowanie, zgody i strona statusu. */

.fle-pay{
    --fle-pay-danger:var(--ft-danger, #B42318);
    --fle-pay-ring:0 0 0 1px var(--ft-accent, #C8F52B);
    color:var(--ft-text, #191D22);
}
.fle-pay [hidden]{ display:none !important; }
.fle-pay__sr{
    position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }

/* Ramki komunikatow i stan ogloszenia */
.fle-pay__box .fle-box__title{ font-family:var(--fle-font-d, "Archivo", sans-serif); }
.fle-pay__actions{ display:flex; flex-wrap:wrap; gap:var(--fle-sp-3, 0.75rem); margin:var(--fle-sp-4, 1rem) 0 0 !important; }
.fle-pay__state{
    display:grid; gap:var(--fle-sp-2, 0.5rem);
    padding:var(--fle-sp-4, 1rem) var(--fle-sp-5, 1.5rem);
    margin:0 0 var(--fle-sp-5, 1.5rem);
    border-left:3px solid var(--ft-accent-line, #6A8700);
    background:var(--ft-surface, #FFFFFF);
    border-radius:0 var(--fle-r-m, 10px) var(--fle-r-m, 10px) 0;
    color:var(--ft-muted, #626970); font-size:0.92rem; line-height:1.6; }
.fle-pay__state p{ margin:0; font-size:inherit; }
.fle-pay__link{ color:var(--ft-accent-text, #4E6A00); font-weight:600;
    text-decoration:underline !important; text-underline-offset:3px; }
.fle-pay__link:hover{ color:var(--ft-accent-text, #4E6A00); }
.fle-pay__errors ul{ margin:var(--fle-sp-2, 0.5rem) 0 0 1.1rem; }
.fle-pay__errors li{ color:var(--ft-text, #191D22); line-height:1.55; margin:0 0 var(--fle-sp-1, 0.25rem); }
.fle-pay__errors:focus{ outline:2px solid var(--ft-danger, #B42318); outline-offset:3px; }

/* Formularz: grupy jako sekcje, bez ramek fieldset motywu */
.fle-pay__form{ display:grid; gap:var(--fle-sp-6, 2rem); padding:var(--fle-sp-5, 1.5rem); }
.fle-pay__group{ border:0; margin:0; padding:0; min-width:0; display:grid; gap:var(--fle-sp-4, 1rem); }
.fle-pay__group > legend.fle-form__h{ padding:0; margin:0 0 var(--fle-sp-4, 1rem); float:left; width:100%; }

/* Karty pakietow */
.fle-pay__pkgs{ display:grid; gap:var(--fle-sp-3, 0.75rem); grid-template-columns:1fr; }
@media (min-width:640px){ .fle-pay__pkgs{ grid-template-columns:1fr 1fr; } }

.fle-form label.fle-pay__pkg{
    position:relative; display:grid; gap:var(--fle-sp-2, 0.5rem); align-content:start;
    margin:0; padding:var(--fle-sp-5, 1.5rem) var(--fle-sp-4, 1rem) var(--fle-sp-4, 1rem);
    background:var(--ft-surface-2, #F1F3EE);
    border:1px solid var(--ft-line-ui, #7E867C);
    border-radius:var(--fle-r-m, 10px);
    color:var(--ft-text, #191D22);
    text-transform:none; letter-spacing:0; font-weight:400; font-size:0.95rem;
    cursor:pointer;
    transition:border-color var(--fle-dur, 0.18s) var(--fle-ease), background-color var(--fle-dur, 0.18s) var(--fle-ease),
        box-shadow var(--fle-dur, 0.18s) var(--fle-ease), transform var(--fle-dur, 0.18s) var(--fle-ease); }
.fle-form label.fle-pay__pkg:hover{ border-color:var(--ft-accent-line, #6A8700); transform:translateY(-1px); }
.fle-pay__pkg-input{
    position:absolute; opacity:0; width:1px; height:1px; margin:0; pointer-events:none; }
.fle-pay__pkg-top{ display:flex; align-items:center; flex-wrap:wrap; gap:var(--fle-sp-2, 0.5rem) var(--fle-sp-3, 0.75rem); }
.fle-pay__pkg-mark{
    flex:none; width:20px; height:20px; border-radius:50%;
    border:2px solid var(--ft-line-ui, #7E867C); background:var(--ft-bg, #F7F8F5);
    display:inline-grid; place-items:center;
    transition:border-color var(--fle-dur, 0.18s) var(--fle-ease); }
.fle-pay__pkg-mark::after{
    content:""; width:10px; height:10px; border-radius:50%; background:var(--ft-accent, #C8F52B);
    transform:scale(0); transition:transform var(--fle-dur, 0.18s) var(--fle-ease); }
.fle-pay__pkg-name{ flex:1 1 10rem; min-width:0; font-family:var(--fle-font-d, "Archivo", sans-serif);
    font-weight:700; font-size:1rem; line-height:1.3; }
.fle-pay__pkg-price{ font-family:var(--fle-font-d, "Archivo", sans-serif); font-size:1.6rem; font-weight:800;
    letter-spacing:-0.02em; line-height:1.1; font-variant-numeric:tabular-nums; }
.fle-pay__pkg-desc{ color:var(--ft-muted, #626970); font-size:0.86rem; line-height:1.55; }
.fle-pay__badge{
    display:inline-flex; align-items:center; min-height:24px; padding:0 var(--fle-sp-2, 0.5rem);
    border-radius:var(--fle-r-pill, 50px);
    background:var(--ft-accent, #C8F52B); color:var(--ft-accent-ink, #191D22);
    font-size:0.68rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; }

/* Stan wybrany: obrys akcentu, wypelniony znacznik, lekko jasniejsza karta */
.fle-form label.fle-pay__pkg:has(.fle-pay__pkg-input:checked){
    border-color:var(--ft-accent-line, #6A8700);
    box-shadow:var(--fle-pay-ring);
    background:var(--ft-surface, #FFFFFF); }
.fle-pay__pkg:has(.fle-pay__pkg-input:checked) .fle-pay__pkg-mark{ border-color:var(--ft-accent-line, #6A8700); }
.fle-pay__pkg:has(.fle-pay__pkg-input:checked) .fle-pay__pkg-mark::after{ transform:scale(1); }
.fle-pay__pkg.is-checked{ border-color:var(--ft-accent-line, #6A8700); box-shadow:var(--fle-pay-ring); background:var(--ft-surface, #FFFFFF); }
.fle-pay__pkg.is-checked .fle-pay__pkg-mark{ border-color:var(--ft-accent-line, #6A8700); }
.fle-pay__pkg.is-checked .fle-pay__pkg-mark::after{ transform:scale(1); }
.fle-pay__pkg:has(.fle-pay__pkg-input:focus-visible){
    outline:2px solid var(--ft-focus, #4E6A00); outline-offset:3px; }
.fle-pay__pkg.is-focus{ outline:2px solid var(--ft-focus, #4E6A00); outline-offset:3px; }

/* Pakiet niedostepny: czytelny, ale wyraznie wylaczony */
.fle-form label.fle-pay__pkg.is-disabled{ cursor:not-allowed; border-style:dashed; border-color:var(--ft-line-2, #CDD2CA); }
.fle-form label.fle-pay__pkg.is-disabled:hover{ transform:none; border-color:var(--ft-line-2, #CDD2CA); }
.fle-pay__pkg.is-disabled .fle-pay__pkg-name,
.fle-pay__pkg.is-disabled .fle-pay__pkg-price,
.fle-pay__pkg.is-disabled .fle-pay__badge,
.fle-pay__pkg.is-disabled .fle-pay__pkg-mark{ opacity:0.5; }
.fle-pay__pkg.is-disabled .fle-pay__pkg-desc{ color:var(--ft-text, #191D22); }

/* Przelacznik osoba prywatna / firma */
.fle-pay__seg{
    display:grid; grid-template-columns:1fr 1fr; gap:var(--fle-sp-1, 0.25rem);
    padding:var(--fle-sp-1, 0.25rem);
    background:var(--ft-bg, #F7F8F5);
    border:1px solid var(--ft-line-ui, #7E867C);
    border-radius:var(--fle-r-m, 10px); max-width:420px; }
.fle-form label.fle-pay__seg-item{
    position:relative; margin:0; display:block;
    text-transform:none; letter-spacing:0; font-size:0.92rem; font-weight:600; color:var(--ft-muted, #626970);
    cursor:pointer; }
.fle-pay__seg-item input{ position:absolute; opacity:0; width:1px; height:1px; margin:0; pointer-events:none; }
.fle-pay__seg-item span{
    display:flex; align-items:center; justify-content:center; min-height:var(--fle-h-md, 44px);
    padding:0 var(--fle-sp-3, 0.75rem); border-radius:var(--fle-r-s, 6px); text-align:center;
    transition:background-color var(--fle-dur, 0.18s) var(--fle-ease), color var(--fle-dur, 0.18s) var(--fle-ease); }
.fle-pay__seg-item:hover span{ color:var(--ft-text, #191D22); }
.fle-pay__seg-item input:checked + span{ background:var(--ft-accent, #C8F52B); color:var(--ft-accent-ink, #191D22); }
.fle-pay__seg-item input:focus-visible + span{ outline:2px solid var(--ft-focus, #4E6A00); outline-offset:3px; }

/* Pola warunkowe: bez JS steruje :has(), z JS atrybut hidden */
.fle-pay__form:has(input[name="buyer_type"][value="company"]:checked) .fle-pay__only-person{ display:none; }
.fle-pay__form:has(input[name="buyer_type"][value="person"]:checked) .fle-pay__only-company{ display:none; }
.fle-pay__form:has(input[name="package"][value="basic"]:checked) [data-pkg-block="featured"]{ display:none; }
.fle-pay__form:has(input[name="package"][value="featured"]:checked) [data-pkg-block="basic"]{ display:none; }

.fle-pay__addr{ display:grid; gap:var(--fle-sp-3, 0.75rem); }
.fle-pay__addr-hint{ margin:0 !important; }
.fle-pay__field input{ width:100%; }
.fle-pay__fieldmsg:empty{ display:none; }
.fle-pay__field.is-invalid .fle-pay__fieldmsg,
.fle-pay__nip.is-invalid .fle-pay__fieldmsg{ color:var(--ft-danger, #B42318); }
.fle-pay__field.is-invalid input,
.fle-pay__nip.is-invalid input{ border-color:var(--ft-danger, #B42318); }
.fle-pay__fieldmsg.is-ok{ color:var(--ft-accent-text, #4E6A00); }

.fle-pay__nip-row{ display:flex; flex-wrap:wrap; gap:var(--fle-sp-2, 0.5rem); align-items:stretch; }
.fle-pay__nip-row input{ flex:1 1 12rem; min-width:0; font-variant-numeric:tabular-nums; letter-spacing:0.04em; }
.fle-btn.fle-pay__lookup, button.fle-btn.fle-pay__lookup{
    flex:0 1 auto; min-height:var(--fle-h-md, 44px); padding:0 var(--fle-sp-4, 1rem); font-size:0.86rem; }
.fle-pay__lookup[aria-busy="true"]{ opacity:0.7; cursor:progress; }

/* Pola wyboru: zdanie, nie wersalikowa etykieta */
.fle-pay__checkrow{ margin:0 !important; }
.fle-form label.fle-pay__check{
    display:flex; align-items:flex-start; gap:var(--fle-sp-3, 0.75rem); margin:0;
    text-transform:none; letter-spacing:0; font-weight:400; font-size:0.9rem; line-height:1.6;
    color:var(--ft-text, #191D22); cursor:pointer; }
.fle-pay__check input{
    flex:none; width:20px; height:20px; margin:0.15em 0 0; accent-color:var(--ft-accent-text, #4E6A00); cursor:pointer; }
.fle-pay__check span{ flex:1; min-width:0; }
.fle-pay__check a{ color:var(--ft-accent-text, #4E6A00); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.fle-pay__check a:hover{ color:var(--ft-accent-text, #4E6A00); }
.fle-pay__req{ font-style:normal; color:var(--ft-muted, #626970); font-size:0.8rem; white-space:nowrap; }
.fle-pay__consents{ gap:var(--fle-sp-3, 0.75rem); }
.fle-pay__consents.is-invalid .fle-pay__check input:not(:checked)[required]{ outline:2px solid var(--ft-danger, #B42318); outline-offset:2px; }

/* Podsumowanie i informacje przed zakupem */
.fle-pay__sum{ display:grid; gap:var(--fle-sp-4, 1rem); }
.fle-pay__total{
    display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--fle-sp-1, 0.25rem) var(--fle-sp-3, 0.75rem);
    padding:var(--fle-sp-4, 1rem) var(--fle-sp-5, 1.5rem);
    background:var(--ft-bg, #F7F8F5);
    border:1px solid var(--ft-line, #E0E4DE);
    border-radius:var(--fle-r-m, 10px); }
.fle-pay__total-label{ flex:1 0 100%; color:var(--ft-muted, #626970); font-size:0.72rem; font-weight:600;
    letter-spacing:0.16em; text-transform:uppercase; }
.fle-pay__total-amount{ font-family:var(--fle-font-d, "Archivo", sans-serif); font-size:clamp(1.8rem, 5vw, 2.4rem);
    font-weight:800; letter-spacing:-0.02em; line-height:1; color:var(--ft-accent-strong, #191D22); font-variant-numeric:tabular-nums; }
.fle-pay__total-vat{ color:var(--ft-muted, #626970); font-size:0.86rem; }

.fle-pay__info{
    display:grid; grid-template-columns:1fr; gap:0; margin:0;
    border-top:1px solid var(--ft-line, #E0E4DE); font-size:0.88rem; line-height:1.55; }
.fle-pay__info dt{ color:var(--ft-muted, #626970); font-size:0.72rem; font-weight:600; letter-spacing:0.08em;
    text-transform:uppercase; padding:var(--fle-sp-3, 0.75rem) 0 var(--fle-sp-1, 0.25rem); }
.fle-pay__info dd{ margin:0; padding:0 0 var(--fle-sp-3, 0.75rem); color:var(--ft-text, #191D22);
    border-bottom:1px solid var(--ft-line, #E0E4DE); overflow-wrap:anywhere; }
@media (min-width:640px){
    .fle-pay__info{ grid-template-columns:minmax(9rem, 12rem) 1fr; }
    .fle-pay__info dt{ padding:var(--fle-sp-3, 0.75rem) var(--fle-sp-4, 1rem) var(--fle-sp-3, 0.75rem) 0;
        border-bottom:1px solid var(--ft-line, #E0E4DE); }
    .fle-pay__info dd{ padding:var(--fle-sp-3, 0.75rem) 0; }
}

/* Przycisk platnosci */
.fle-pay__submit{ display:grid; gap:var(--fle-sp-3, 0.75rem); }
.fle-pay__form .fle-pay__btn{ margin-top:0; }
.fle-pay__btn[aria-busy="true"]{ cursor:progress; }
.fle-pay__btn[aria-busy="true"] .fle-pay__btn-label::before{
    content:""; display:inline-block; width:16px; height:16px; margin-right:var(--fle-sp-2, 0.5rem); vertical-align:-3px;
    border:2px solid currentColor; border-right-color:transparent; border-radius:50%;
    animation:fle-pay-spin 0.8s linear infinite; }
.fle-pay__secure{ margin:0 !important; color:var(--ft-muted, #626970); font-size:0.82rem; line-height:1.55; text-align:center; }

/* Plynne pojawienie sie bloku wybranego pakietu (tylko z JS) */
.fle-pay.is-js [data-pkg-block].is-entering{ animation:fle-pay-in 0.24s var(--fle-ease) both; }

/* Strona statusu */
.fle-pay__panels{ margin:0 0 var(--fle-sp-5, 1.5rem); }
.fle-pay__panel{
    display:flex; align-items:flex-start; gap:var(--fle-sp-4, 1rem);
    padding:var(--fle-sp-5, 1.5rem);
    background:var(--ft-surface, #FFFFFF);
    border:1px solid var(--ft-line, #E0E4DE);
    border-radius:var(--fle-r-l, 16px);
    animation:fle-pay-in 0.28s var(--fle-ease) both; }
.fle-pay__panel:focus{ outline:none; }
.fle-pay__panel:focus-visible{ outline:2px solid var(--ft-focus, #4E6A00); outline-offset:3px; }
.fle-pay__panel--ok{ border-color:var(--ft-accent-line, #6A8700); }
.fle-pay__panel--err{ border-color:color-mix(in srgb, var(--ft-danger, #B42318) 50%, transparent); }
.fle-pay__panel-body{ flex:1; min-width:0; }
.fle-pay__panel-body p{ margin:0 0 var(--fle-sp-2, 0.5rem); color:var(--ft-muted, #626970); font-size:0.95rem; line-height:1.6; }
.fle-pay__panel-title{ font-family:var(--fle-font-d, "Archivo", sans-serif); font-size:clamp(1.15rem, 3vw, 1.4rem);
    font-weight:700; letter-spacing:-0.01em; line-height:1.2; margin:0.15rem 0 var(--fle-sp-2, 0.5rem); color:var(--ft-text, #191D22); }
.fle-pay__panel .fle-pay__actions{ margin-top:var(--fle-sp-4, 1rem) !important; }

.fle-pay__spinner{
    flex:none; width:40px; height:40px; border-radius:50%;
    border:3px solid var(--ft-line-2, #CDD2CA); border-top-color:var(--ft-accent-line, #6A8700);
    animation:fle-pay-spin 0.9s linear infinite; }
.fle-pay__icon{ flex:none; width:40px; height:40px; border-radius:50%; position:relative; display:inline-block; }
.fle-pay__icon--ok{ background:var(--ft-accent, #C8F52B); }
.fle-pay__icon--ok::after{
    content:""; position:absolute; left:14px; top:9px; width:10px; height:17px;
    border:solid var(--ft-accent-ink, #191D22); border-width:0 3px 3px 0; transform:rotate(45deg); }
.fle-pay__icon--err{ border:2px solid var(--ft-danger, #B42318); }
.fle-pay__icon--err::before, .fle-pay__icon--err::after{
    content:""; position:absolute; left:50%; top:50%; width:18px; height:2px; background:var(--ft-danger, #B42318); }
.fle-pay__icon--err::before{ transform:translate(-50%, -50%) rotate(45deg); }
.fle-pay__icon--err::after{ transform:translate(-50%, -50%) rotate(-45deg); }
.fle-pay__icon--info{ border:2px solid var(--ft-line-ui, #7E867C); }
.fle-pay__icon--info::before{
    content:""; position:absolute; left:50%; top:9px; width:3px; height:3px; margin-left:-1.5px; border-radius:50%;
    background:var(--ft-text, #191D22); }
.fle-pay__icon--info::after{
    content:""; position:absolute; left:50%; top:16px; width:3px; height:13px; margin-left:-1.5px; border-radius:2px;
    background:var(--ft-text, #191D22); }

.fle-pay__meta{
    display:grid; grid-template-columns:auto 1fr; gap:var(--fle-sp-2, 0.5rem) var(--fle-sp-4, 1rem);
    margin:0; padding:var(--fle-sp-4, 1rem) var(--fle-sp-5, 1.5rem);
    border:1px solid var(--ft-line, #E0E4DE); border-radius:var(--fle-r-m, 10px);
    font-size:0.86rem; line-height:1.5; }
.fle-pay__meta dt{ color:var(--ft-muted, #626970); }
.fle-pay__meta dd{ margin:0; color:var(--ft-text, #191D22); overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }

@keyframes fle-pay-spin{ to{ transform:rotate(360deg); } }
@keyframes fle-pay-in{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }

/* Waskie ekrany od 320 px */
@media (max-width:479px){
    .fle-pay.fle-shell{ padding-left:var(--fle-sp-4, 1rem); padding-right:var(--fle-sp-4, 1rem); }
    .fle-pay__form{ padding:var(--fle-sp-4, 1rem); gap:var(--fle-sp-5, 1.5rem); }
    .fle-pay__state, .fle-pay__total, .fle-pay__meta{ padding-left:var(--fle-sp-4, 1rem); padding-right:var(--fle-sp-4, 1rem); }
    .fle-pay__panel{ flex-direction:column; padding:var(--fle-sp-4, 1rem); }
    .fle-pay__meta{ grid-template-columns:1fr; gap:0; }
    .fle-pay__meta dd{ margin-bottom:var(--fle-sp-2, 0.5rem); }
    .fle-pay__actions .fle-btn{ width:100%; }
    .fle-btn.fle-pay__lookup, button.fle-btn.fle-pay__lookup{ width:100%; }
    .fle-btn--lg.fle-pay__btn{ padding:0 var(--fle-sp-4, 1rem); font-size:0.95rem; line-height:1.25; }
}

@media (prefers-reduced-motion: reduce){
    .fle-form label.fle-pay__pkg, .fle-pay__pkg-mark, .fle-pay__pkg-mark::after, .fle-pay__seg-item span{ transition:none; }
    .fle-form label.fle-pay__pkg:hover{ transform:none; }
    .fle-pay__panel, .fle-pay.is-js [data-pkg-block].is-entering{ animation:none; }
    .fle-pay__spinner{ animation:none; border-style:dotted; border-color:var(--ft-accent-line, #6A8700); }
    .fle-pay__btn[aria-busy="true"] .fle-pay__btn-label::before{ animation:none; border-right-color:currentColor; opacity:0.6; }
}

/* Kredyt na koncie: oplata bez PayU (1.97.0) */
.fle-pay__credit{ display:grid; gap:var(--fle-sp-2, 0.5rem); margin:0 0 var(--fle-sp-5, 1.5rem);
    padding:var(--fle-sp-4, 1rem) var(--fle-sp-5, 1.5rem); background:var(--ft-surface, #FFFFFF);
    border:1px solid var(--ft-line, #E0E4DE); border-left:3px solid var(--ft-accent-line, #6A8700);
    border-radius:var(--fle-radius, 8px); }
.fle-pay__credit .fle-pay__h{ margin:0; font-family:var(--fle-font-d, "Archivo", sans-serif); font-size:1.05rem;
    font-weight:700; color:var(--ft-text, #191D22); }
.fle-pay__credit .fle-pay__hint{ margin:0; color:var(--ft-muted, #626970); font-size:0.86rem; line-height:1.55; }
.fle-pay__credit .fle-mylist__credit{ margin-top:var(--fle-sp-2, 0.5rem); }

/* 1.102.0: propozycja wyroznienia po oplaceniu publikacji */
.fle-pay__upsell{
    display:grid; gap:0.6rem; justify-items:start;
    margin-top:var(--fle-sp-4, 1rem); padding:var(--fle-sp-4, 1rem) var(--fle-sp-5, 1.5rem);
    border:1px solid color-mix(in srgb, var(--ft-accent, #C8F52B) 45%, var(--ft-line, #E0E4DE));
    border-radius:var(--fle-r-m, 10px);
    background:color-mix(in srgb, var(--ft-accent, #C8F52B) 8%, var(--ft-surface-2, #F1F3EE));
}
.fle-pay__upsell p{ margin:0; }
.fle-pay__upsell-t{ font-family:var(--fle-font-d, "Archivo", sans-serif); font-weight:800; font-size:1.05rem; color:var(--ft-text, #191D22); }
.fle-pay__panel .fle-pay__upsell .fle-pay__upsell-t{ color:var(--ft-text, #191D22); }
.fle-pay__panel .fle-pay__upsell p:not(.fle-pay__upsell-t){ color:var(--ft-text, #191D22); opacity:0.85; }

/* 1.103.0: kod promocyjny pod wyborem pakietu */
.fle-pay__promo{ display:grid; gap:0.6rem; margin-top:var(--fle-sp-4, 1rem); }
.fle-pay__promo-body{ display:grid; gap:0.4rem; }
.fle-pay__promo-label{ font-size:0.85rem; font-weight:600; color:var(--ft-muted, #626970); }
.fle-pay__promo-row{ display:flex; gap:0.5rem; align-items:stretch; }
.fle-pay__promo-row input{ flex:1 1 auto; min-width:0; text-transform:uppercase; letter-spacing:0.06em; font-variant-numeric:tabular-nums; }
.fle-pay__promo-apply{ flex:none; white-space:nowrap; }
.fle-pay__promo-apply[aria-busy="true"]{ opacity:0.7; cursor:progress; }
.fle-pay__promo-msg{ margin:0; min-height:1.25em; font-size:0.85rem; color:var(--ft-muted, #626970); }
.fle-pay__promo-msg.is-error{ color:var(--ft-danger, #B42318); }
.fle-pay__promo-ok{
    display:grid; grid-template-columns:auto 1fr auto; gap:0.75rem; align-items:start;
    padding:0.85rem 1rem;
    border:1px solid color-mix(in srgb, var(--ft-accent, #C8F52B) 55%, var(--ft-line, #E0E4DE));
    border-radius:var(--fle-r-m, 10px);
    background:color-mix(in srgb, var(--ft-accent, #C8F52B) 9%, var(--ft-surface-2, #F1F3EE));
}
.fle-pay__promo-ico{
    display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%;
    background:var(--ft-accent, #C8F52B); color:var(--ft-accent-ink, #191D22);
}
.fle-pay__promo-text{ display:grid; gap:0.2rem; min-width:0; }
.fle-pay__promo-title{ margin:0; font-family:var(--fle-font-d, "Archivo", sans-serif); font-weight:800; font-size:1rem; color:var(--ft-text, #191D22); overflow-wrap:anywhere; }
.fle-pay__promo-benefit{ margin:0; font-size:0.92rem; line-height:1.5; color:var(--ft-text, #191D22); }
.fle-pay__sum-promo{
    display:flex; gap:0.5rem; align-items:flex-start;
    margin:0.5rem 0 0; font-size:0.9rem; line-height:1.45; color:var(--ft-accent-text, #4E6A00);
}
.fle-pay__sum-promo svg{ flex:none; margin-top:0.15em; }
@media (prefers-reduced-motion: no-preference){
    .fle-pay__promo-ok.is-entering{ animation:fle-pay-in 0.28s var(--fle-ease, ease) both; }
    .fle-pay__promo-ok.is-entering .fle-pay__promo-ico{ animation:fle-pay-pop 0.36s var(--fle-ease, ease) both; }
}
@keyframes fle-pay-pop{ 0%{ transform:scale(0.6); opacity:0; } 70%{ transform:scale(1.08); opacity:1; } 100%{ transform:scale(1); } }
@media (max-width:480px){
    .fle-pay__promo-ok{ grid-template-columns:auto 1fr; }
    .fle-pay__promo-remove{ grid-column:2; justify-self:start; }
}
.fle-pay__panel .fle-pay__promo-line{ color:var(--ft-accent-text, #4E6A00); font-weight:600; }
