/*
Theme Name: Spitalul Orășenesc Oțelu-Roșu
Theme URI: https://spitalotelurosu.ro
Author: Spitalul Orășenesc Oțelu-Roșu
Description: Temă proprie, ușoară, fără dependențe externe, construită pe sistemul de design „sor” (verde, carduri, pictograme SVG inline). Recreează designul aprobat pe pagina Acasă la nivelul întregului site.
Version: 1.1.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: spital-otelu-rosu
*/

/* ==========================================================
   1. Variabile (sistemul de design .sor-)
   ========================================================== */
:root{
    --sor-verde:#15754c;
    --sor-verde-inchis:#0e5c3b;
    --sor-verde-pal:#e8f3ec;
    --sor-cerneala:#1f2d26;
    --sor-text:#41544a;
    --sor-linie:#e7ece9;
    --sor-fundal:#f3f5f4;
    --sor-card:#ffffff;
    --sor-umbra:0 6px 24px rgba(31,45,38,.07);
    --sor-raza:18px;
    --sor-subsol:#10402b;
    --sor-subsol-text:#cfe2d7;
}

/* Comutator de accesibilitate „Aa”: mărește textul de conținut (dimensiuni în rem) */
html.sor-font-1{font-size:112.5%;}
html.sor-font-2{font-size:125%;}

/* ==========================================================
   2. Bază
   ========================================================== */
*,*::before,*::after{box-sizing:border-box;}
body{
    margin:0;
    background:var(--sor-fundal);
    color:var(--sor-text);
    font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.6;
}
img{max-width:100%;height:auto;}
a{color:var(--sor-verde);}
.sor-container{max-width:1180px;margin:0 auto;padding:0 18px;}
.sor-vh{
    position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;
    overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.sor-skip{
    position:absolute;left:-9999px;top:0;background:var(--sor-verde);color:#fff;
    padding:10px 18px;border-radius:0 0 10px 0;z-index:200;
}
.sor-skip:focus{left:0;}
svg{flex:0 0 auto;}

/* ==========================================================
   3. Bara de sus (telefon / fax / adresă)
   ========================================================== */
.sor-topbar{background:var(--sor-verde-inchis);color:#eaf5ee;font-size:13.5px;}
.sor-topbar-inner{
    max-width:1180px;margin:0 auto;padding:7px 18px;
    display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;
}
.sor-topbar-item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.sor-topbar-item svg{width:15px;height:15px;opacity:.9;}
.sor-topbar-adresa{margin-left:auto;}
.sor-topbar a{color:#eaf5ee;text-decoration:none;}
.sor-topbar a:hover{text-decoration:underline;}
@media (max-width:767px){
    .sor-topbar-adresa{display:none;}
}

/* ==========================================================
   4. Antet + navigație
   ========================================================== */
.sor-antet{background:#fff;box-shadow:0 1px 0 rgba(31,45,38,.08);position:relative;z-index:100;}
.sor-antet-inner{
    max-width:1180px;margin:0 auto;padding:12px 18px;
    display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;
}
.sor-brand{display:flex;align-items:center;gap:13px;text-decoration:none;}
.sor-logo{width:52px;height:auto;flex:0 0 auto;}
.sor-brand-nume{color:var(--sor-verde);font-weight:800;font-size:20px;line-height:1.18;letter-spacing:.1px;}
.sor-burger{
    margin-left:auto;background:none;border:0;padding:6px;cursor:pointer;
    color:#20302a;line-height:0;border-radius:8px;
}
.sor-burger svg{width:30px;height:30px;}
.sor-burger:hover{background:var(--sor-verde-pal);}

.sor-nav{display:none;width:100%;}
body.sor-nav-deschis .sor-nav{display:block;}
.sor-meniu{list-style:none;margin:6px 0 10px;padding:0;}
.sor-meniu a{
    display:block;padding:12px 10px;color:var(--sor-cerneala);text-decoration:none;
    font-weight:600;border-top:1px solid var(--sor-linie);
}
.sor-meniu a:hover{color:var(--sor-verde);}
.sor-meniu .sub-menu{list-style:none;margin:0;padding:0 0 0 18px;display:none;}
.sor-meniu li.sor-deschis > .sub-menu{display:block;}
.sor-meniu .sub-menu a{font-weight:500;font-size:15px;padding:10px 10px;}
.sor-submeniu-btn{
    float:right;background:none;border:0;cursor:pointer;color:var(--sor-verde);
    padding:12px 12px;line-height:0;margin-top:1px;
}
.sor-submeniu-btn svg{width:16px;height:16px;transition:transform .15s;}
li.sor-deschis > .sor-submeniu-btn svg{transform:rotate(180deg);}
.sor-nav-extra{display:flex;align-items:center;gap:12px;padding:6px 0 12px;}
.sor-btn{
    display:inline-flex;align-items:center;gap:9px;background:var(--sor-verde);color:#fff;
    padding:10px 18px;border-radius:12px;text-decoration:none;font-weight:700;font-size:15px;
    border:0;cursor:pointer;
}
.sor-btn:hover{background:var(--sor-verde-inchis);color:#fff;}
.sor-btn svg{width:17px;height:17px;}
.sor-font-toggle{
    background:#fff;border:2px solid var(--sor-verde-pal);color:var(--sor-verde);
    font-weight:800;font-size:15px;padding:8px 13px;border-radius:12px;cursor:pointer;
}
.sor-font-toggle:hover{background:var(--sor-verde-pal);}

@media (min-width:1060px){
    .sor-burger{display:none;}
    .sor-nav{display:flex;width:auto;flex:1;align-items:center;justify-content:flex-end;gap:14px;}
    .sor-meniu{display:flex;margin:0;gap:2px;}
    .sor-meniu a{border:0;padding:10px 13px;border-radius:10px;font-size:15.5px;}
    .sor-meniu > li{position:relative;}
    .sor-meniu > li > a:hover,
    .sor-meniu > li.current-menu-item > a,
    .sor-meniu > li.current-menu-ancestor > a{background:var(--sor-verde-pal);color:var(--sor-verde);}
    .sor-submeniu-btn{display:none;}
    .sor-meniu .sub-menu{
        display:none;position:absolute;top:100%;left:0;min-width:290px;
        background:#fff;border-radius:14px;box-shadow:0 14px 34px rgba(31,45,38,.16);
        padding:8px;z-index:120;
    }
    .sor-meniu li:hover > .sub-menu,
    .sor-meniu li:focus-within > .sub-menu{display:block;}
    .sor-meniu .sub-menu li{position:relative;}
    .sor-meniu .sub-menu a{border-radius:9px;padding:9px 12px;}
    .sor-meniu .sub-menu a:hover{background:var(--sor-verde-pal);}
    .sor-meniu .sub-menu .sub-menu{top:-8px;left:100%;}
    .sor-nav-extra{padding:0;}
}

/* ==========================================================
   5. Conținut general
   ========================================================== */
.sor-main{display:block;padding:30px 0 52px;}
.sor-pagina-titlu{margin:2px 0 22px;}
.sor-pagina-titlu h1{
    margin:0;font-size:clamp(26px,3.4vw,32px);line-height:1.22;color:var(--sor-cerneala);font-weight:800;
}
.sor-pagina-titlu h1::after{
    content:"";display:block;width:52px;height:4px;border-radius:3px;
    background:var(--sor-verde);margin-top:12px;
}
.sor-card{
    background:var(--sor-card);border-radius:var(--sor-raza);box-shadow:var(--sor-umbra);
    padding:28px;
}
.sor-sectiune{margin:0 0 24px;}
.sor-grid-2{display:grid;gap:24px;grid-template-columns:1fr;}
@media (min-width:992px){ .sor-grid-2{grid-template-columns:1fr 1fr;} }

/* tipografie în conținutul paginilor */
.sor-continut{font-size:1.0625rem;}
.sor-continut p, .sor-continut li{color:var(--sor-text);line-height:1.68;}
.sor-continut p{margin:0 0 15px;}
.sor-continut ul, .sor-continut ol{margin:0 0 15px;padding-left:24px;}
.sor-continut h2{
    margin:26px 0 14px;font-size:1.32em;color:var(--sor-cerneala);font-weight:750;line-height:1.3;
}
.sor-continut h2::after{
    content:"";display:block;width:44px;height:3px;border-radius:3px;
    background:var(--sor-verde);margin-top:9px;
}
.sor-continut h3{margin:20px 0 10px;font-size:1.12em;color:var(--sor-cerneala);font-weight:700;}
.sor-continut > :first-child, .sor-card > :first-child{margin-top:0;}
.sor-continut a{color:var(--sor-verde);text-decoration:underline;text-underline-offset:2px;}
.sor-continut a:hover{color:var(--sor-verde-inchis);}
.sor-continut strong{color:var(--sor-cerneala);}

/* casetă tip pastilă (folosită și pe Contact, GDPR etc.) */
.sor-pill{
    display:flex;align-items:center;gap:16px;background:var(--sor-verde-pal);
    border-radius:14px;padding:17px 20px;margin:0 0 14px;text-decoration:none!important;
}
.sor-pill svg{width:30px;height:30px;color:var(--sor-verde-inchis);}
.sor-pill-eticheta{display:block;color:var(--sor-cerneala);font-size:.94em;margin-bottom:2px;}
.sor-pill strong{color:var(--sor-verde);font-size:1em;word-break:break-word;}

/* listă de documente */
.sor-doc-list{list-style:none;margin:0;padding:0;}
.sor-doc-list li + li{border-top:1px solid var(--sor-linie);}
a.sor-doc{
    display:flex;align-items:center;gap:14px;padding:13px 8px;border-radius:10px;
    text-decoration:none!important;
}
a.sor-doc:hover{background:var(--sor-verde-pal);}
a.sor-doc svg{width:22px;height:22px;color:var(--sor-verde);}
.sor-doc-nume{flex:1;color:var(--sor-cerneala);font-weight:600;font-size:1em;line-height:1.45;}
.sor-doc-meta{color:var(--sor-text);font-size:.82em;white-space:nowrap;text-transform:uppercase;letter-spacing:.4px;}
a.sor-doc:hover .sor-doc-nume{color:var(--sor-verde-inchis);}

/* grupare pe ani */
.sor-an{
    margin:26px 0 8px;font-size:1.06em;color:var(--sor-verde);font-weight:800;
    letter-spacing:.4px;
}
.sor-continut h2.sor-an::after{width:30px;height:3px;}

/* arhivă istorică pliabilă */
details.sor-arhiva{
    margin-top:26px;border:1px dashed #c9ddd1;border-radius:14px;
    padding:4px 18px 10px;background:#fbfdfc;
}
details.sor-arhiva summary{
    cursor:pointer;font-weight:750;color:var(--sor-verde);padding:12px 2px;
    font-size:1.03em;list-style-position:outside;
}
details.sor-arhiva summary:hover{color:var(--sor-verde-inchis);}

/* tabele */
.sor-tabel-scroll{overflow-x:auto;margin:0 0 16px;}
table.sor-tabel{width:100%;border-collapse:collapse;font-size:.97em;background:#fff;}
table.sor-tabel th{
    background:var(--sor-verde-pal);color:var(--sor-cerneala);text-align:left;
    padding:11px 12px;border:1px solid #d9e8df;
}
table.sor-tabel td{padding:10px 12px;border:1px solid var(--sor-linie);vertical-align:top;}
table.sor-tabel tr:nth-child(even) td{background:#fafcfb;}

/* rând de contact */
.sor-contact-rand{display:flex;align-items:flex-start;gap:14px;padding:12px 0;border-top:1px solid var(--sor-linie);}
.sor-contact-rand:first-of-type{border-top:0;}
.sor-contact-rand svg{width:22px;height:22px;color:var(--sor-verde);margin-top:2px;}
.sor-contact-rand strong{display:block;color:var(--sor-cerneala);}

/* ==========================================================
   6. Pagina Acasă (designul aprobat)
   ========================================================== */
.sor-acasa .sor-rand{display:flex;flex-wrap:wrap;align-items:stretch;margin:0 -12px 0;}
.sor-acasa .sor-col{width:100%;padding:0 12px;margin-bottom:24px;}
@media (min-width:992px){ .sor-acasa .sor-col{width:50%;} }
.sor-hero{
    margin:0;display:block;border-radius:var(--sor-raza);overflow:hidden;
    box-shadow:var(--sor-umbra);background:linear-gradient(135deg,#dcebe2,#c3dccd);
}
.sor-hero img{width:100%;height:auto;display:block;border-radius:var(--sor-raza);}
@media (min-width:992px){
    .sor-hero{height:100%;display:flex;}
    .sor-hero img{height:100%;min-height:360px;object-fit:cover;}
}
.sor-card-head{display:flex;align-items:center;gap:20px;margin:0 0 18px;}
.sor-icon-ring{
    flex:0 0 auto;width:74px;height:74px;border-radius:50%;
    border:2px solid #cfe4d7;color:var(--sor-verde);
    display:flex;align-items:center;justify-content:center;
}
.sor-icon-ring svg{width:38px;height:38px;}
.sor-card-head h2, .sor-card-head .sor-h2{
    margin:0;padding:0;font-size:26px;line-height:1.25;color:var(--sor-cerneala);font-weight:700;
}
.sor-card-head h2::after{content:none;}
.sor-text{margin:0 0 15px;padding:0;font-size:1.0625rem;line-height:1.65;color:var(--sor-text);}
.sor-email-wrap{margin-top:22px;}
.sor-email{
    display:flex;align-items:center;gap:18px;background:var(--sor-verde-pal);
    border-radius:14px;padding:19px 22px;text-decoration:none;border:0;
}
.sor-email-ic{color:var(--sor-verde-inchis);line-height:0;flex:0 0 auto;}
.sor-email-ic svg{width:34px;height:34px;}
.sor-email-label{display:block;color:var(--sor-cerneala);font-size:.94rem;margin-bottom:3px;}
.sor-email strong{color:var(--sor-verde);font-size:1.0625rem;word-break:break-all;}
.sor-email:hover strong{text-decoration:underline;}
.sor-prog-grid{display:flex;gap:22px;align-items:flex-start;}
.sor-icon-buline{
    flex:0 0 auto;width:94px;height:94px;border-radius:50%;
    background:var(--sor-verde-pal);color:var(--sor-verde);
    display:flex;align-items:center;justify-content:center;
}
.sor-icon-buline svg{width:46px;height:46px;}
.sor-prog-body{flex:1;min-width:0;}
.sor-prog-body h2, .sor-prog-body h3{
    margin:2px 0 0;padding:0;font-size:22px;color:var(--sor-cerneala);font-weight:700;
}
.sor-prog-body h2::after, .sor-prog-body h3::after{
    content:"";display:block;width:46px;height:3px;border-radius:3px;
    background:var(--sor-verde);margin:10px 0 16px;
}
.sor-prog-cols{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-start;}
.sor-prog-info{min-width:168px;}
.sor-functie{display:block;color:var(--sor-verde);font-weight:600;font-size:.97rem;margin-bottom:4px;}
.sor-nume{display:block;color:var(--sor-cerneala);font-size:1.0625rem;line-height:1.4;}
.sor-prog-orar{display:flex;flex-direction:column;gap:10px;}
@media (min-width:576px){
    .sor-prog-orar{padding-left:28px;border-left:1px solid var(--sor-linie);}
}
.sor-orar-row{display:flex;align-items:center;gap:10px;color:var(--sor-cerneala);font-size:1rem;}
.sor-orar-row svg{width:20px;height:20px;color:var(--sor-verde);}
.sor-orar-ore{color:var(--sor-verde);font-weight:700;font-size:1.0625rem;}
.sor-vizita-rand{
    display:flex;justify-content:space-between;align-items:center;
    flex-wrap:wrap;gap:10px 18px;padding:13px 0;
}
.sor-vizita-rand + .sor-vizita-rand{border-top:1px solid var(--sor-linie);}
@media (max-width:479px){
    .sor-card{padding:22px;}
    .sor-icon-buline{width:78px;height:78px;}
    .sor-icon-buline svg{width:38px;height:38px;}
    .sor-card-head h2{font-size:23px;}
}

/* ==========================================================
   6b. Acțiuni rapide + hero lat (homepage restructurată)
   ========================================================== */
.sor-titlu-central{text-align:center;margin:4px 0 22px;}
.sor-titlu-central h1{margin:0;font-size:clamp(24px,3.2vw,30px);color:var(--sor-verde);font-weight:800;}
.sor-titlu-central h1::after{
    content:"";display:block;width:56px;height:3px;border-radius:3px;
    background:var(--sor-verde);margin:12px auto 0;
}
.sor-hero-lat{margin:0 0 24px;}
.sor-hero-lat img{
    width:100%;height:auto;display:block;
    border-radius:var(--sor-raza);box-shadow:var(--sor-umbra);
}
@media (min-width:992px){ .sor-hero-lat img{max-height:440px;object-fit:cover;} }

.sor-actiuni{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 24px;}
@media (min-width:768px){ .sor-actiuni{gap:18px;} }
/* pe ecrane mici raman tot 4 pe rand, dar compactate */
@media (max-width:639px){
    .sor-actiuni{gap:8px;}
    .sor-actiune{padding:14px 6px 12px;gap:3px;border-radius:14px;}
    .sor-actiune svg{width:24px;height:24px;margin-bottom:4px;}
    .sor-actiune-titlu{font-size:13px;}
    .sor-actiune-desc{font-size:10.5px;}
    .sor-actiune-info{top:6px;right:6px;width:14px;height:14px;font-size:10px;line-height:14px;}
}
.sor-actiune{
    position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;
    background:var(--sor-card);border:1px solid var(--sor-linie);border-radius:var(--sor-raza);
    padding:22px 14px 18px;text-align:center;text-decoration:none;box-shadow:var(--sor-umbra);
}
a.sor-actiune:hover{border-color:var(--sor-verde);}
.sor-actiune svg{width:34px;height:34px;color:var(--sor-verde);margin-bottom:7px;}
.sor-actiune-titlu{color:var(--sor-cerneala);font-weight:750;font-size:16.5px;}
.sor-actiune-desc{color:var(--sor-text);font-size:13.5px;line-height:1.4;}
.sor-actiune--dezactivat{background:#f1f3f2;border-style:dashed;box-shadow:none;cursor:default;}
.sor-actiune--dezactivat svg{color:#9aa8a0;}
.sor-actiune--dezactivat .sor-actiune-titlu{color:#77857d;}
.sor-actiune--dezactivat .sor-actiune-desc{color:#93a09a;}
.sor-actiune-info{
    position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;
    background:#c7d2cc;color:#fff;font-size:12px;font-weight:800;line-height:18px;
    font-style:normal;
}
.sor-actiune--urgent{background:#fdf1f1;border-color:#f5d9d9;}
.sor-actiune--urgent svg{color:#d33a3a;}
a.sor-actiune--urgent:hover{border-color:#d33a3a;}

/* caseta de e-mail cu buton de acțiune */
.sor-email .sor-email-txt{flex:1;min-width:0;}
.sor-email .sor-btn{flex:0 0 auto;}
@media (max-width:575px){ .sor-email{flex-wrap:wrap;} }

/* ==========================================================
   7. Subsol
   ========================================================== */
.sor-subsol{background:var(--sor-subsol);color:var(--sor-subsol-text);margin-top:26px;}
.sor-subsol-inner{
    max-width:1180px;margin:0 auto;padding:40px 18px 26px;
    display:grid;gap:30px;grid-template-columns:1fr;
}
@media (min-width:768px){ .sor-subsol-inner{grid-template-columns:1.2fr 1fr;} }
.sor-subsol h2{
    margin:0 0 14px;font-size:17px;color:#fff;font-weight:750;letter-spacing:.2px;
}
.sor-subsol h2::after{
    content:"";display:block;width:36px;height:3px;border-radius:3px;
    background:#3f9a6f;margin-top:8px;
}
.sor-subsol p{margin:0 0 10px;font-size:14.5px;line-height:1.65;}
.sor-subsol-rand{display:flex;align-items:flex-start;gap:10px;margin:0 0 9px;font-size:14.5px;}
.sor-subsol-rand svg{width:16px;height:16px;margin-top:3px;color:#7fc4a2;}
.sor-subsol a{color:#bfe3cf;text-decoration:none;}
.sor-subsol a:hover{color:#fff;text-decoration:underline;}
.sor-meniu-subsol{list-style:none;margin:0;padding:0;}
.sor-meniu-subsol a{display:block;padding:6px 0;font-size:14.5px;}
.sor-copyright{
    border-top:1px solid rgba(255,255,255,.12);
    text-align:center;padding:16px 18px;font-size:13.5px;color:#9ec7af;
}

/* ==========================================================
   8. Pagina 404
   ========================================================== */
.sor-404{text-align:center;padding:60px 0;}
.sor-404 .sor-404-cod{font-size:70px;font-weight:800;color:var(--sor-verde);line-height:1;}
