/* CFPDR · înscrierea peste WooCommerce: doar ce adaugă WooCommerce față de pașii din site.css
   (mesajele lui, umbra de „se încarcă”, plata cu cardul, plata unei înscrieri existente, starea plății pe pagina de mulțumire). */

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* mesajele WooCommerce (sus, în formular): erorile fără câmp și cele de sesiune */
.co-not:empty, .co-not .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-error, .woocommerce-message, .woocommerce-info { list-style: none; margin: 0 0 18px; padding: 14px 16px; border-radius: var(--r); font-size: 15px; line-height: 1.5; }
.woocommerce-error { background: var(--red-bg); color: var(--red); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--red) 30%, transparent); font-weight: 550; }
.woocommerce-error li + li { margin-top: 6px; }
.woocommerce-error a { color: inherit; text-decoration: none; }
.woocommerce-message, .woocommerce-info { background: var(--g-50); color: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line-2); }
.woocommerce-message a, .woocommerce-info a { color: var(--g-700); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.co-f > .woocommerce-NoticeGroup { margin-bottom: 4px; }
.co-err { margin: 0; padding: 14px 16px; border-radius: var(--r); background: var(--red-bg); color: var(--red); font-weight: 550; }

/* actualizarea rezumatului și a plății: fără voalul alb al lui WooCommerce (cifrele se schimbă deja pe loc) */
.woocommerce-checkout-review-order-table .blockUI.blockOverlay,
.woocommerce-checkout-payment .blockUI.blockOverlay { background: transparent !important; opacity: 0 !important; }
/* trimiterea: formularul se estompează, butonul arată că lucrează */
.co-f.processing .blockUI.blockOverlay { background: var(--paper) !important; opacity: .45 !important; cursor: wait !important; }
.co-f.processing #place_order { position: relative; color: transparent !important; }
.co-f.processing #place_order::before { content: ""; position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; border: 3px solid rgb(255 255 255 / .35); border-top-color: #fff; animation: rot .8s linear infinite; }

/* prețul, când cursul nu are plată în rate */
.opt-1 { cursor: default; }
.opt-1:hover { box-shadow: inset 0 0 0 1px var(--line-2); }
.opt-f { display: none; }

/* trecerea spre NETOPIA (order-receipt.php): caseta cu cerc, iar din ce scrie pluginul rămâne doar butonul */
.p-np .blockUI { display: none !important; }
.np-pg { display: grid; place-items: center; min-height: 52vh; }
.np-pg .np-box { margin: 0 auto; }
.np-pg .np-load b { display: block; font-size: 19px; margin-bottom: 8px; }
.np-plugin > p:nth-of-type(-n+2), .np-plugin .cancel, .np-plugin .button.cancel { display: none; }
.np-plugin form { margin-top: 16px; }
.np-plugin input[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--g-700); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.np-plugin > p:nth-of-type(n+3) { margin-top: 14px; color: var(--red); font-size: 14px; } /* eroarea pluginului (ex. lipsesc cheile) */

/* plata unei înscrieri existente (form-pay.php) */
.co-pay { max-width: 680px; }
.co-pay .sum-l { margin: 0 0 22px; }
.co-pay .co-h { margin-top: 6px; }
.co-pay .co-nav { justify-content: flex-end; }

/* mulțumirea: plata cu cardul nu a mers sau se confirmă */
.ty-w { min-height: 76px; }
.ty-w .spin { width: 56px; height: 56px; margin: 10px auto; }
.ty-ic-x circle { fill: var(--red-bg); stroke: var(--red); }
.ty-ic-x path { stroke: var(--red); stroke-dasharray: 46; stroke-dashoffset: 46; }
.ty-nr a { color: var(--g-700); font-weight: 600; }
