/* ═══════════════════════════════════════════════════════════════════════════
   STILURILE PE CARE includes/footer.php LE SCRIA ÎN <body>
   Două blocuri <style> mutate aici: modalul de suport (mai jos) și avertismentul
   de expirare a sesiunii (la finalul fișierului).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   MODAL SUPORT — profesional, TEMĂ-AWARE (folosește variabilele temei →
   se adaptează la toate temele site-ului) + ANIMAT. Accentul e întunecat pt. header/buton
   ca textul alb să fie lizibil pe orice accent (auriu, coral, aproape-alb etc.).

   MUTAT AICI din blocul <style id="support-modal-pro"> care era scris în includes/footer.php,
   adică în interiorul <body>. Două motive:
     1. `<style>` e permis doar în <head> — validatorul W3C dădea eroare pe fiecare pagină.
     2. Erau ~17 KB retrimiși la FIECARE încărcare de pagină; ca fișier, se descarcă o
        singură dată și rămâne în cache.
   Se încarcă din includes/header.php ȘI din forum/includes/head.php — paginile de forum
   includ footerul, dar au <head> propriu, deci ar fi rămas fără stiluri.
   ═══════════════════════════════════════════════════════════════════════════ */

@keyframes spIn{0%{opacity:0;transform:translateY(28px) scale(.9)}60%{transform:translateY(-4px) scale(1.015)}100%{opacity:1;transform:none}}
@keyframes spUp{0%{opacity:0;transform:translateY(20px) scale(.94)}100%{opacity:1;transform:none}}
@keyframes spHeadGrad{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes spSheen{0%{transform:translateX(-160%) skewX(-16deg)}45%,100%{transform:translateX(360%) skewX(-16deg)}}
@keyframes spBadge{0%,100%{transform:scale(1) rotate(0)}30%{transform:scale(1.14) rotate(-8deg)}60%{transform:scale(1.06) rotate(8deg)}}
@keyframes spGlow{0%,100%{box-shadow:0 0 0 2px var(--color-accent),0 0 0 0 color-mix(in srgb,var(--color-accent) 45%,transparent)}50%{box-shadow:0 0 0 2px var(--color-accent),0 0 22px 3px color-mix(in srgb,var(--color-accent) 55%,transparent)}}
@keyframes spBtnGlow{0%,100%{box-shadow:0 10px 26px -8px color-mix(in srgb,var(--color-accent) 70%,transparent)}50%{box-shadow:0 14px 34px -6px color-mix(in srgb,var(--color-accent) 90%,transparent)}}
@keyframes spCheck{0%{transform:scale(0) rotate(-40deg)}55%{transform:scale(1.25) rotate(8deg)}75%{transform:scale(.94)}100%{transform:scale(1)}}
@keyframes spRing{0%{box-shadow:0 0 0 0 color-mix(in srgb,#10b981 55%,transparent)}100%{box-shadow:0 0 0 30px transparent}}
/* Chrome */
.support-modal .modal-dialog{max-width:620px!important;}
/* Ferestrele legale poartă ambele clase, ca să preia stilul de mai jos. Dar
   620px e o lățime pentru formulare; aici intră politici de 13.000 de
   caractere, care la lățimea aia devin o coloană foarte îngustă. */
.legal-modal .modal-dialog{max-width:900px!important;}
.legal-modal .modal-body{max-height:70vh;overflow-y:auto;}
.support-modal .modal-content{background:var(--bg-secondary)!important;border:1px solid color-mix(in srgb,var(--color-accent) 24%,var(--border-color))!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 40px 90px -25px rgba(0,0,0,.7)!important;color:var(--text-primary)!important;}
.support-modal.show .modal-content{animation:spIn .5s cubic-bezier(.2,1.3,.35,1) both;}
.support-modal .modal-header{position:relative;overflow:hidden;border-bottom:none!important;padding:20px 24px!important;align-items:center!important;background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 36%,#0b1220),color-mix(in srgb,var(--color-accent) 50%,#0b1220))!important;background-size:220% 100%!important;animation:spHeadGrad 6s linear infinite;}
.support-modal .modal-header::before{content:'';position:absolute;top:-40%;left:0;width:34%;height:180%;background:linear-gradient(100deg,transparent,color-mix(in srgb,#fff 55%,transparent),transparent);animation:spSheen 3.2s ease-in-out infinite;pointer-events:none;}
.support-modal .sp-title-wrap{display:flex;flex-direction:column;gap:2px;position:relative;z-index:1;}
.support-modal .modal-title{font-weight:800!important;font-size:19px!important;display:flex;align-items:center;gap:12px;color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.45);}
.support-modal.show .modal-title i{animation:spBadge 3s ease-in-out infinite;}
.support-modal .modal-title i{background:rgba(255,255,255,.16)!important;box-shadow:0 0 0 1px rgba(255,255,255,.28) inset,0 6px 16px -4px rgba(0,0,0,.4);width:44px;height:44px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;margin:0!important;}
.support-modal .sp-subtitle{font-size:12.5px;font-weight:500;color:rgba(255,255,255,.82);margin-left:56px;text-shadow:0 1px 2px rgba(0,0,0,.4);}
.support-modal .btn-close{filter:invert(1) brightness(2) drop-shadow(0 1px 2px rgba(0,0,0,.5))!important;opacity:.9!important;position:relative;z-index:1;}
.support-modal .modal-body{padding:26px 28px!important;background:transparent!important;color:var(--text-primary)!important;}
.support-modal .modal-body::-webkit-scrollbar{width:10px;}
.support-modal .modal-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-accent) 40%,transparent);border-radius:8px;border:2px solid transparent;background-clip:padding-box;}
.support-modal .modal-footer{border-top:1px solid var(--border-color)!important;padding:13px 22px!important;background:transparent!important;}
.support-modal .modal-footer .btn-secondary{background:color-mix(in srgb,var(--text-primary) 8%,transparent)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;border-radius:9px!important;}
/* Tipografie / secțiuni */
.support-content h3,.support-content h4,.support-content h5{color:var(--text-primary)!important;font-weight:800!important;letter-spacing:.2px;padding-left:12px;border-left:3px solid var(--color-accent);margin:22px 0 12px!important;}
.support-content > h3:first-child{margin-top:0!important;}
.support-content p,.support-content .text-muted,.support-content small,.support-content .form-text{color:var(--text-secondary)!important;}
.support-content hr{border-color:var(--border-color)!important;margin:22px 0!important;}
/* Formular (CMS/Bootstrap) */
.support-content .form-label,.support-content label,.support-content strong{color:var(--text-secondary)!important;font-weight:700!important;font-size:13.5px!important;margin-bottom:7px!important;}
.support-content .form-control,.support-content .form-select,.support-content textarea,.support-content input[type=text],.support-content input[type=email]{background:var(--bg-primary)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;border-radius:12px!important;padding:13px 15px!important;min-height:46px!important;transition:border-color .15s,box-shadow .15s!important;}
.support-content .form-control:focus,.support-content .form-select:focus,.support-content textarea:focus{border-color:var(--color-accent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 18%,transparent)!important;outline:none!important;}
.support-content ::placeholder{color:var(--text-secondary)!important;opacity:.7;}
.support-content .form-check-input{background:var(--bg-primary)!important;border:1px solid var(--border-color)!important;}
.support-content .form-check-input:checked{background:var(--color-accent)!important;border-color:var(--color-accent)!important;}
.support-content .alert-info{background:color-mix(in srgb,var(--color-accent) 10%,transparent)!important;border:1px solid color-mix(in srgb,var(--color-accent) 30%,transparent)!important;color:var(--text-primary)!important;border-radius:13px!important;padding:13px 16px!important;}
.support-content .btn-primary,.support-content button[type=submit]{background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 55%,#0a1018),color-mix(in srgb,var(--color-accent) 42%,#0a1018),color-mix(in srgb,var(--color-accent) 55%,#0a1018))!important;background-size:200% 100%!important;border:none!important;border-radius:13px!important;font-weight:700!important;font-size:15px!important;padding:14px 22px!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.35)!important;transition:transform .12s,box-shadow .2s!important;}
.support-content .btn-primary:hover,.support-content button[type=submit]:hover{transform:translateY(-2px)!important;}
/* Carduri contact (alte pagini suport) */
.support-content .contact-card{background:color-mix(in srgb,var(--text-primary) 4%,transparent)!important;border:1px solid var(--border-color)!important;border-radius:14px!important;padding:16px 18px!important;transition:transform .15s,border-color .15s,box-shadow .15s!important;}
.support-content .contact-card:hover{transform:translateY(-3px)!important;border-color:color-mix(in srgb,var(--color-accent) 50%,var(--border-color))!important;}
/* Accordion FAQ */
.support-content .accordion-item{background:transparent!important;border:1px solid var(--border-color)!important;border-radius:12px!important;margin-bottom:8px!important;overflow:hidden!important;}
.support-content .accordion-button{background:color-mix(in srgb,var(--color-accent) 5%,transparent)!important;color:var(--text-primary)!important;font-weight:600!important;box-shadow:none!important;padding:14px 16px!important;}
.support-content .accordion-button:not(.collapsed){background:color-mix(in srgb,var(--color-accent) 12%,transparent)!important;color:var(--text-primary)!important;}
.support-content .accordion-body{background:transparent!important;color:var(--text-secondary)!important;padding:14px 16px!important;}
.support-content .accordion-body ol,.support-content .accordion-body ul{margin:8px 0 0;padding-left:20px;}
.support-content .accordion-body li{margin-bottom:4px;color:var(--text-secondary);}
/* Plăci vizuale „Tipul Problemei" */
.support-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:2px;}
.support-cat-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:14px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:14px;color:var(--text-primary);cursor:pointer;transition:transform .16s cubic-bezier(.4,0,.2,1),border-color .16s,background .16s,box-shadow .16s;text-align:center;min-height:80px;}
.support-modal.show .support-cat-tile{animation:spUp .5s cubic-bezier(.2,1.1,.3,1) both;}
.support-cat-tile:hover{border-color:color-mix(in srgb,var(--color-accent) 50%,var(--border-color));background:color-mix(in srgb,var(--color-accent) 5%,var(--bg-primary));transform:translateY(-4px) scale(1.02);}
.support-cat-tile:hover .cat-ico{transform:scale(1.2) rotate(-4deg);}
.support-cat-tile.active{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,transparent);color:var(--text-primary);animation:spCheck .4s cubic-bezier(.2,1.4,.3,1),spGlow 2.2s ease-in-out .4s infinite;}
.support-cat-tile.active::before{content:"✓";position:absolute;top:7px;right:9px;font-size:12px;font-weight:800;color:var(--color-accent);}
.support-cat-tile .cat-ico{font-size:24px;line-height:1;transition:transform .16s;}
.support-cat-tile .cat-lbl{font-size:11.5px;font-weight:600;line-height:1.25;}
.support-cat-tile.sp-locked{opacity:.55;}
.support-cat-tile.sp-locked::after{content:"\1F512";position:absolute;top:6px;right:8px;font-size:11px;}
@media(max-width:520px){.support-cat-grid{grid-template-columns:repeat(2,1fr);}}
/* Formularul de raportare (curat, cu stare de succes) */
.sp-intro-note{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--color-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 30%,transparent);color:var(--text-primary);border-radius:14px;padding:13px 16px;font-size:13.5px;margin-bottom:20px;}
.sp-intro-note i{color:var(--color-accent);}
.support-modal.show .sp-intro-note{animation:spUp .4s ease both;}
.support-form-pro .sp-field{margin-bottom:22px;position:relative;}
.support-modal.show .support-form-pro>.sp-field{animation:spUp .55s cubic-bezier(.2,1.1,.3,1) both;}
.support-form-pro label{display:block;color:var(--text-secondary);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:9px;}
.support-form-pro .req{color:#f87171;}
.support-form-pro input[type=text],.support-form-pro input[type=email],.support-form-pro textarea{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:12px;padding:13px 15px;min-height:46px;font-size:14px;transition:border-color .15s,box-shadow .15s;}
.support-form-pro input:focus,.support-form-pro textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 18%,transparent);outline:none;}
.support-form-pro textarea{resize:vertical;min-height:110px;}
.support-form-pro ::placeholder{color:var(--text-secondary);opacity:.7;}
.support-form-pro input[readonly]{background:color-mix(in srgb,var(--text-primary) 5%,transparent);cursor:default;}
.sp-counter{position:absolute;right:2px;top:0;font-size:11px;color:var(--text-secondary);font-weight:600;}
.support-form-pro .sp-opt,.support-form-pro .sp-hint{color:var(--text-secondary);}
.support-form-pro .sp-opt{font-weight:500;font-size:12px;text-transform:none;letter-spacing:0;}
.support-form-pro .sp-hint{display:block;font-size:12px;margin-top:6px;}
.support-form-pro input[type=file].sp-file{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:12px;padding:9px 12px;font-size:13px;cursor:pointer;}
.support-form-pro input[type=file].sp-file::-webkit-file-upload-button,.support-form-pro input[type=file].sp-file::file-selector-button{background:color-mix(in srgb,var(--color-accent) 16%,transparent);color:var(--color-accent);border:1px solid color-mix(in srgb,var(--color-accent) 45%,transparent);border-radius:8px;padding:7px 12px;margin-right:12px;cursor:pointer;font-weight:600;}
.sp-check{display:flex!important;align-items:flex-start;gap:9px;font-weight:500!important;font-size:13px!important;color:var(--text-secondary)!important;margin:4px 0 18px!important;text-transform:none;letter-spacing:0;}
.sp-check input{margin-top:2px;width:17px;height:17px;accent-color:var(--color-accent);flex:0 0 auto;}
.sp-submit{width:100%;background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 55%,#0a1018),color-mix(in srgb,var(--color-accent) 42%,#0a1018),color-mix(in srgb,var(--color-accent) 55%,#0a1018));background-size:200% 100%;border:none;border-radius:13px;font-weight:700;font-size:15px;padding:15px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);cursor:pointer;position:relative;overflow:hidden;transition:transform .12s,box-shadow .2s;display:flex;align-items:center;justify-content:center;gap:8px;animation:spBtnGlow 2.4s ease-in-out infinite;}
.sp-submit::after{content:"";position:absolute;top:0;left:0;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);animation:spSheen 3.5s ease-in-out infinite;}
.sp-submit:hover{transform:translateY(-2px);}
.sp-submit:disabled{opacity:.6;cursor:default;transform:none;animation:none;}
.sp-error{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.4);color:#fca5a5;border-radius:10px;padding:11px 14px;font-size:13px;margin-bottom:14px;}
.sp-success{text-align:center;padding:14px 10px 8px;}
.sp-success-ico{position:relative;width:74px;height:74px;margin:6px auto 18px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#34d399,#059669);display:flex;align-items:center;justify-content:center;font-size:34px;color:#fff;box-shadow:0 0 0 8px rgba(16,185,129,.15),0 12px 30px -6px rgba(16,185,129,.5);animation:spCheck .6s cubic-bezier(.2,1.5,.3,1);}
.sp-success-ico::after{content:"";position:absolute;inset:0;border-radius:50%;animation:spRing 1.4s ease-out .2s 2;}
.sp-success h3{color:var(--text-primary)!important;font-weight:800;border:none!important;padding:0!important;margin:0 0 8px!important;font-size:22px;}
.sp-success p{color:var(--text-secondary);margin:0 0 6px;}
.sp-success .sp-ticket{color:#34d399;font-weight:800;letter-spacing:.5px;}
.sp-success .sp-muted{color:var(--text-secondary);font-size:13.5px;margin-top:4px;}
.sp-success .sp-newreq{margin-top:18px;background:color-mix(in srgb,var(--text-primary) 7%,transparent);border:1px solid var(--border-color);color:var(--text-primary);border-radius:10px;padding:11px 20px;font-weight:600;cursor:pointer;transition:background .15s;}
.sp-success .sp-newreq:hover{background:color-mix(in srgb,var(--color-accent) 18%,transparent);border-color:color-mix(in srgb,var(--color-accent) 50%,transparent);}
.sp-faq{margin-top:4px;}
.sp-faq h4{font-size:15px;}
.sp-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;}
.sp-login-hint{display:flex;align-items:center;gap:9px;background:color-mix(in srgb,var(--text-primary) 4%,transparent);border:1px solid var(--border-color);border-radius:12px;padding:11px 14px;font-size:13px;color:var(--text-secondary);margin-bottom:16px;}
.sp-login-hint i{color:var(--color-accent);font-size:16px;}
.sp-login-hint a{color:var(--color-accent);font-weight:700;text-decoration:none;}
.sp-login-hint a:hover{text-decoration:underline;}

/* ═══════════════════════════════════════════════════════════════════════════
   AVERTISMENT EXPIRARE SESIUNE (al doilea <style> scris în <body> de footer.php).
   Se afișa doar utilizatorilor logați, dar dădea aceeași eroare de validare —
   validatorul o ascundea sub „Suppressing further errors from this subtree".
   ═══════════════════════════════════════════════════════════════════════════ */
.st-toast{position:fixed;bottom:24px;right:24px;z-index:99998;background:var(--bg-secondary,#0f172a);border:1px solid var(--border-color,#334155);border-left:4px solid var(--primary-color,#3b82f6);border-radius:12px;padding:16px 20px;max-width:360px;box-shadow:var(--shadow-lg,0 10px 40px rgba(0,0,0,.6));transform:translateY(120%);opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:12px}
.st-toast.visible{transform:translateY(0);opacity:1}
.st-toast-icon{font-size:1.5rem;color:var(--primary-color,#3b82f6);flex-shrink:0}
.st-toast-body{flex:1;min-width:0}
.st-toast-title{color:var(--text-primary,#f8fafc);font-weight:600;font-size:.9rem;margin:0 0 2px}
.st-toast-text{color:var(--text-secondary,#94a3b8);font-size:.8rem;margin:0}
.st-toast-btn{background:var(--primary-color,#3b82f6);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:600;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:filter .2s}
.st-toast-btn:hover{filter:brightness(1.15)}
.st-toast-close{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--text-muted,#64748b);cursor:pointer;font-size:.75rem;padding:2px 6px;opacity:.6}
.st-toast-close:hover{opacity:1}
