.rsw-textbooks{
    --rsw-blue:#6d9bb7;
    --rsw-blue-dark:#315f7d;
    --rsw-wine:#681213;
    --rsw-wine-2:#8a2730;
    --rsw-ink:#24333f;
    position:relative;
    overflow:hidden;
    padding:42px;
    border:1px solid rgba(49,95,125,.13);
    border-radius:30px;
    background:
        radial-gradient(circle at 4% 0%,rgba(109,155,183,.16),transparent 29%),
        radial-gradient(circle at 100% 100%,rgba(104,18,19,.10),transparent 31%),
        linear-gradient(145deg,#fff 0%,#fbfcfd 100%);
    box-shadow:0 22px 60px rgba(30,54,70,.10);
    isolation:isolate;
}
.rsw-textbooks__glow{position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none;z-index:-1}
.rsw-textbooks__glow--one{width:230px;height:230px;right:-95px;top:-105px;background:rgba(109,155,183,.12)}
.rsw-textbooks__glow--two{width:190px;height:190px;left:-105px;bottom:-110px;background:rgba(104,18,19,.08)}
.rsw-textbooks__header{text-align:center;max-width:780px;margin:0 auto 34px}
.rsw-textbooks__eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--rsw-blue-dark)}
.rsw-textbooks__header h2{margin:0;color:var(--rsw-wine);font-size:clamp(34px,4vw,50px);line-height:1.05;letter-spacing:-.035em}
.rsw-textbooks__header p{margin:12px 0 0;color:#62717c;font-size:16px}
.rsw-textbooks__header strong{color:var(--rsw-blue-dark)}
.rsw-textbooks__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.rsw-textbooks__card{position:relative;display:flex;align-items:center;min-height:138px;padding:20px;text-align:left;border:1px solid rgba(49,95,125,.13);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 10px 28px rgba(35,54,69,.075);cursor:pointer;overflow:hidden;transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease;background .32s ease;font:inherit;color:inherit}
.rsw-textbooks__card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(109,155,183,.09) 47%,rgba(104,18,19,.045) 100%);opacity:0;transition:opacity .3s ease}
.rsw-textbooks__card:after{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 6px 6px 0;background:linear-gradient(180deg,var(--rsw-blue),var(--rsw-wine));transform:scaleY(.45);opacity:.7;transition:transform .32s ease,opacity .32s ease}
.rsw-textbooks__card:hover,.rsw-textbooks__card:focus-visible{transform:translateY(-7px);border-color:rgba(104,18,19,.2);box-shadow:0 22px 40px rgba(35,54,69,.14);outline:none}
.rsw-textbooks__card:hover:before,.rsw-textbooks__card:focus-visible:before{opacity:1}
.rsw-textbooks__card:hover:after,.rsw-textbooks__card:focus-visible:after{transform:scaleY(1);opacity:1}
.rsw-textbooks__card-number{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:17px;background:linear-gradient(145deg,var(--rsw-wine),var(--rsw-wine-2));color:#fff;font-size:24px;font-weight:900;box-shadow:0 9px 22px rgba(104,18,19,.20);transition:transform .32s ease}
.rsw-textbooks__card:hover .rsw-textbooks__card-number{transform:rotate(-4deg) scale(1.06)}
.rsw-textbooks__card-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:7px;margin-left:14px;min-width:0}
.rsw-textbooks__card-label{font-size:18px;font-weight:850;color:var(--rsw-ink);line-height:1.15}
.rsw-textbooks__card-action{font-size:12px;font-weight:750;color:var(--rsw-blue-dark);opacity:.82}
.rsw-textbooks__card-action span{display:inline-block;transition:transform .25s ease}.rsw-textbooks__card:hover .rsw-textbooks__card-action span{transform:translateX(4px)}
.rsw-textbooks__card-icon{position:absolute;right:14px;bottom:10px;font-size:36px;line-height:1;color:rgba(109,155,183,.13);transform:rotate(-12deg)}
.rsw-textbooks__modal{--rsw-blue:#6d9bb7;--rsw-blue-dark:#315f7d;--rsw-wine:#681213;--rsw-wine-2:#8a2730;--rsw-ink:#24333f;position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:26px;opacity:0;transition:opacity .25s ease}
.rsw-textbooks__modal[hidden]{display:none}
.rsw-textbooks__modal.is-open{opacity:1}
.rsw-textbooks__backdrop{position:absolute;inset:0;background:rgba(20,30,38,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.rsw-textbooks__dialog{position:relative;width:min(980px,94vw);max-height:88vh;overflow:auto;border-radius:28px;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.32);transform:translateY(18px) scale(.975);transition:transform .28s cubic-bezier(.2,.8,.2,1);scrollbar-width:thin}
.rsw-textbooks__modal.is-open .rsw-textbooks__dialog{transform:translateY(0) scale(1)}
.rsw-textbooks__dialog-topline{height:7px;background:linear-gradient(90deg,var(--rsw-blue) 0 48%,var(--rsw-wine) 48% 100%)}
.rsw-textbooks__close{position:sticky;float:right;top:14px;z-index:3;width:42px;height:42px;margin:16px 18px 0 0;border:0;border-radius:14px;background:#f3f6f8;color:var(--rsw-wine);font-size:28px;line-height:1;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.08);transition:transform .2s ease,background .2s ease,color .2s ease}
.rsw-textbooks__close:hover{transform:rotate(5deg);background:var(--rsw-wine);color:#fff}
.rsw-textbooks__dialog-heading{display:flex;align-items:center;gap:18px;padding:30px 38px 24px;border-bottom:1px solid #edf0f2;background:linear-gradient(135deg,rgba(109,155,183,.07),rgba(104,18,19,.025))}
.rsw-textbooks__dialog-grade{display:grid;place-items:center;flex:0 0 72px;width:72px;height:72px;border-radius:21px;background:linear-gradient(145deg,var(--rsw-blue-dark),var(--rsw-blue));color:#fff;font-size:30px;font-weight:900;box-shadow:0 12px 30px rgba(49,95,125,.22)}
.rsw-textbooks__dialog-heading>div>span{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#7e8b94}
.rsw-textbooks__dialog-heading h3{margin:3px 0 2px;color:var(--rsw-wine);font-size:29px;line-height:1.1}
.rsw-textbooks__dialog-heading p{margin:0;color:#6a7882;font-size:14px}
.rsw-textbooks__content{padding:34px 40px 42px;color:#3c4b56;font-size:16px;line-height:1.75}
.rsw-textbooks__content h1,.rsw-textbooks__content h2,.rsw-textbooks__content h3,.rsw-textbooks__content h4{color:var(--rsw-wine)}
.rsw-textbooks__content table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #e3e9ed;border-radius:14px}
.rsw-textbooks__content th,.rsw-textbooks__content td{padding:12px 14px;border-right:1px solid #e7ebee;border-bottom:1px solid #e7ebee;text-align:left;vertical-align:top}
.rsw-textbooks__content th{background:#f3f7f9;color:var(--rsw-blue-dark);font-weight:800}
.rsw-textbooks__content tr:last-child td{border-bottom:0}.rsw-textbooks__content th:last-child,.rsw-textbooks__content td:last-child{border-right:0}
.rsw-textbooks__empty{padding:22px;border:1px dashed #cbd5da;border-radius:14px;background:#fafcfd;color:#73818a;text-align:center}
html.rsw-modal-open,body.rsw-modal-open{overflow:hidden}
@media (max-width:1024px){.rsw-textbooks__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rsw-textbooks{padding:28px 18px;border-radius:22px}.rsw-textbooks__grid{grid-template-columns:1fr;gap:12px}.rsw-textbooks__card{min-height:112px}.rsw-textbooks__modal{padding:12px}.rsw-textbooks__dialog{width:100%;max-height:92vh;border-radius:22px}.rsw-textbooks__dialog-heading{padding:24px 20px 20px;gap:13px}.rsw-textbooks__dialog-grade{flex-basis:58px;width:58px;height:58px;border-radius:16px;font-size:24px}.rsw-textbooks__dialog-heading h3{font-size:23px}.rsw-textbooks__content{padding:24px 20px 30px;font-size:15px;overflow-x:auto}.rsw-textbooks__close{margin-right:12px}}


/* ===== Tabela u modalu na manjim ekranima ("responsive ne moze da stane") =====
   Tabele koje se unose kroz WordPress editor imaju table-layout:auto, pa
   kolone uzimaju onoliko sirine koliko im je potrebno za sadrzaj - a duge,
   nedeljive reci (npr. "ИЗДАВАШТВО") na uskom ekranu nateraju tabelu da bude
   sira od modala, pa tekst biva odsecen umesto da stane/scroll-uje se lepo.
   Ispravka: na manjim ekranima tabela dobija fiksan layout (kolone dele
   raspolozivu sirinu ravnomerno) i sadrzaj kolona sme da se prelama. */
@media (max-width:781px){
  .rsw-textbooks__content table{
    table-layout:fixed !important;
    width:100% !important;
  }
  /* Kolone iz WP editora obicno imaju eksplicitnu "width" osobinu (px) po
     celiji. Po CSS specifikaciji, i pored table-layout:fixed, tabela se
     siri da stane zbir tih eksplicitnih sirina kolona ako je veci od
     zadate sirine tabele - zato ih ovde ponistavamo na "auto", da bi
     width:100% na tabeli iznad stvarno vazio i kolone ravnomerno podelile
     raspolozivi prostor. */
  .rsw-textbooks__content th,
  .rsw-textbooks__content td{
    width:auto !important;
    word-wrap:break-word !important;
    overflow-wrap:anywhere !important;
    white-space:normal !important;
  }
}
