:root{
  --clb-navy:#0b2d52;
  --clb-navy-2:#123f70;
  --clb-blue:#176f8c;
  --clb-cyan:#42b6c7;
  --clb-sky:#eaf7f9;
  --clb-ink:#142a3b;
  --clb-muted:#657987;
  --clb-line:#dfe8ed;
  --clb-surface:#f4f8fa;
  --clb-white:#fff;
  --clb-shadow:0 16px 45px rgba(11,45,82,.10);
}

html{scroll-behavior:smooth;font-size:calc(16px * var(--a11y-font-scale,1))}
body{color:var(--clb-ink);background:var(--clb-surface);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}
a{color:var(--clb-blue);text-underline-offset:.18em}
a:hover{color:var(--clb-navy)}

.navbar{background:rgba(11,45,82,.97);box-shadow:0 4px 20px rgba(3,20,38,.18);position:sticky;top:0;z-index:1030;backdrop-filter:blur(12px)}
.navbar .container{min-height:82px}
.navbar-brand{display:flex;align-items:center;gap:.7rem;font-weight:800;letter-spacing:.01em}
.brand-logo{width:78px;height:62px;object-fit:contain}
.navbar-nav{gap:.2rem}
.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.82);font-weight:600;padding:.65rem .8rem;border-radius:.65rem}
.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#fff;background:rgba(255,255,255,.10)}
.test-mode-bar{background:#fff3cd;border-bottom:1px solid #efd487;color:#684d00}.test-mode-bar .container{display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.7rem 1rem;text-align:center}.test-mode-bar i{font-size:1.15rem;color:#b77900}.test-mode-bar strong{font-weight:800}

.hero{position:relative;overflow:hidden;background:
  radial-gradient(circle at 82% 20%,rgba(66,182,199,.35),transparent 26%),
  radial-gradient(circle at 74% 88%,rgba(255,255,255,.12),transparent 25%),
  linear-gradient(125deg,#092744 0%,#104c72 62%,#167a8d 100%);
  color:#fff;border-radius:0 0 2.4rem 2.4rem}
.hero:after{content:"CLB";position:absolute;right:3%;bottom:-12%;font-weight:900;font-size:clamp(9rem,23vw,22rem);line-height:1;color:rgba(255,255,255,.035);letter-spacing:-.09em;pointer-events:none}
.hero .container{position:relative;z-index:1}
.hero .lead{color:#dceef3;max-width:760px;font-size:clamp(1.05rem,2vw,1.3rem)}
.hero-title{max-width:900px;font-size:clamp(2.55rem,6vw,5.3rem);line-height:.98;letter-spacing:-.055em}
.hero-kicker{display:inline-flex;align-items:center;gap:.55rem;color:#dff8fb;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem}
.hero-kicker:before{content:"";width:32px;height:2px;background:var(--clb-cyan)}
.hero .btn{border-radius:.8rem;padding:.8rem 1.15rem;font-weight:700}
.hero-actions{margin-top:.25rem}.hero-action{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:.8rem;min-height:64px;padding:.65rem 1rem .65rem .7rem!important;border-radius:1.05rem!important;overflow:hidden;font-size:1.08rem;font-weight:800!important;box-shadow:0 12px 28px rgba(0,0,0,.16);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.hero-action::before{content:"";position:absolute;z-index:-1;inset:-40% auto -40% -55%;width:42%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transition:left .55s ease}.hero-action:hover::before,.hero-action:focus-visible::before{left:120%}.hero-action:hover,.hero-action:focus-visible{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.22)}.hero-action-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:.8rem;font-size:1.15rem}.hero-action-primary{border:1px solid rgba(255,255,255,.9);background:#fff;color:var(--clb-navy)}.hero-action-primary:hover,.hero-action-primary:focus-visible{background:#fff;color:var(--clb-blue)}.hero-action-primary .hero-action-icon{background:var(--clb-sky);color:var(--clb-blue)}.hero-action-secondary{border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(8px)}.hero-action-secondary:hover,.hero-action-secondary:focus-visible{border-color:#fff;background:rgba(255,255,255,.16);color:#fff}.hero-action-secondary .hero-action-icon{background:rgba(255,255,255,.14);color:#fff}.hero-action-arrow{margin-left:.15rem;transition:transform .22s ease}.hero-action:hover .hero-action-arrow,.hero-action:focus-visible .hero-action-arrow{transform:translateX(5px)}
.hero-facts{display:flex;flex-wrap:wrap;gap:1.5rem 2.4rem;padding-top:2rem;margin-top:2rem;border-top:1px solid rgba(255,255,255,.17)}
.hero-fact strong{display:block;font-size:1.45rem;color:#fff}.hero-fact span{color:#cce2e9;font-size:.9rem}

main.container{max-width:1240px}
.eyebrow{color:var(--clb-blue);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.section-title{font-weight:800;letter-spacing:-.035em;line-height:1.12}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.6rem}
.section-link{font-weight:700;text-decoration:none;white-space:nowrap}.section-link:after{content:" →"}

.card{border:1px solid rgba(11,45,82,.13);border-radius:1.15rem;box-shadow:0 .7rem 2rem rgba(16,42,67,.11),0 2px 0 rgba(255,255,255,.85) inset;overflow:hidden}
.feature-card,.equipment-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.feature-card:hover,.equipment-card:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(11,45,82,.18);border-color:rgba(23,111,140,.35)}
.equipment-anchor{scroll-margin-top:7rem}
.equipment-anchor:target .equipment-card{border-color:var(--clb-cyan);box-shadow:0 0 0 4px rgba(66,182,199,.2),0 22px 55px rgba(11,45,82,.18);animation:target-card-pulse 1.1s ease}
@keyframes target-card-pulse{0%{transform:scale(.985)}55%{transform:scale(1.015)}100%{transform:none}}
.feature-card img{height:220px;object-fit:cover;transition:transform .35s ease}
.feature-card:hover img{transform:scale(1.025)}
.feature-card .card-body{padding:1.5rem}
.feature-card .card-title{font-weight:800;letter-spacing:-.02em}
.feature-card .card-text,.equipment-card .text-secondary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.equipment-card img,.equipment-placeholder{height:230px;object-fit:contain;background:#fff;padding:1rem;border-radius:1.15rem 1.15rem 0 0}
.equipment-placeholder,.laboratory-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#edf8fa,#dcecf1);color:var(--clb-blue);font-size:3.8rem;font-weight:800;padding:0}
.laboratory-placeholder{height:220px;background:linear-gradient(135deg,#0e3a63,#19768c);color:rgba(255,255,255,.78)}
.equipment-card .card-body{padding:1.35rem}
.equipment-card h3{font-weight:800;letter-spacing:-.015em}
.equipment-card .btn{border-radius:.7rem;font-weight:700}
.badge{font-weight:700;letter-spacing:.01em}
.badge-soft{background:var(--clb-sky);color:var(--clb-blue)}

.announcement-strip{border:1px solid #cfe8ed;background:#f3fbfc;border-radius:1rem;padding:1.15rem 1.25rem}
.announcement-strip+.announcement-strip{margin-top:.75rem}
.announcement-strip h3{font-size:1rem;margin:0 0 .2rem;font-weight:800}
.announcement-strip p{margin:0;color:var(--clb-muted)}
.home-announcement-bar .container{text-align:left}.home-announcement-bar .rich-content,.home-announcement-bar .rich-content p{margin:0;color:inherit}.home-announcement-bar.home-announcement-info{background:#d9f4f8;color:#075466}.home-announcement-bar.home-announcement-warning,.home-announcement-bar.home-announcement-maintenance{background:#fff3cd;color:#664d03}.home-announcement-bar.home-announcement-failure{background:#f8d7da;color:#842029}.home-announcement-bar.home-announcement-rules{background:#cff4fc;color:#055160}.home-announcement-bar.home-announcement-info i,.home-announcement-bar.home-announcement-rules i{color:#08758b}.home-announcement-bar.home-announcement-failure i{color:#b02a37}
.home-announcement-bar.home-announcement-fixed{background:#fff3cd;color:#664d03;display:block;text-decoration:none;cursor:pointer;transition:filter .15s ease}
.home-announcement-bar.home-announcement-fixed:hover,.home-announcement-bar.home-announcement-fixed:focus{color:#664d03;filter:brightness(.97);text-decoration:none}
.home-announcement-bar.home-announcement-fixed .container{display:flex;align-items:center;gap:.6rem}
.home-announcement-bar.home-announcement-fixed strong{font-weight:700}

.search-panel{background:#fff;border:1px solid #cadbe3;box-shadow:0 14px 35px rgba(11,45,82,.11);border-radius:1rem;padding:1rem}
.form-control,.form-select{border-color:#cddae1;border-radius:.65rem;padding:.72rem .85rem}
.form-control:focus,.form-select:focus{border-color:var(--clb-cyan);box-shadow:0 0 0 .22rem rgba(66,182,199,.18)}
.btn{border-radius:.7rem}
.btn-primary{background:var(--clb-blue);border-color:var(--clb-blue)}
.btn-primary:hover{background:#115b75;border-color:#115b75}
.btn-outline-primary{color:var(--clb-blue);border-color:var(--clb-blue)}
.btn-outline-primary:hover{background:var(--clb-blue);border-color:var(--clb-blue)}

.cta-band{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--clb-navy),var(--clb-blue));color:#fff;border-radius:1.4rem;padding:clamp(1.6rem,4vw,3rem)}
.cta-band:after{content:"";position:absolute;width:260px;height:260px;border:60px solid rgba(255,255,255,.06);border-radius:50%;right:-80px;top:-100px}
.cta-band>*{position:relative;z-index:1}

.availability-card{border-top:4px solid var(--clb-blue)}.timeline-row{display:flex;align-items:center;gap:.8rem;padding:.8rem .75rem;border-bottom:1px solid #e8edf1}.timeline-row:last-child{border-bottom:0}.timeline-row.busy{background:#fff7f3}.timeline-row.reservation{border-left:4px solid #23845a;background:#f0faf5}.timeline-row.loan{border-left:4px solid #6f42c1;background:#f7f2fd}.timeline-row.block{border-left:4px solid #c43b3b;background:#fff3f2}.timeline-row strong,.timeline-row small{display:block}.timeline-row small{color:var(--clb-muted)}.timeline-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:0 3px 10px rgba(11,45,82,.12);color:var(--clb-blue)}.timeline-time{width:115px;font-weight:700}.sticky-actions{position:sticky;bottom:1rem;z-index:10}
.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:.6rem}.slot-choice{position:relative;cursor:pointer}.slot-choice input{position:absolute;opacity:0;pointer-events:none}.slot-choice span{display:block;padding:.72rem .5rem;text-align:center;border:1px solid #b9ccd5;border-radius:.65rem;background:#fff;font-weight:700;color:var(--clb-blue);transition:.15s}.slot-choice input:checked+span{background:var(--clb-blue);border-color:var(--clb-blue);color:#fff;box-shadow:0 0 0 .2rem rgba(23,107,135,.18)}.slot-choice:hover span{border-color:var(--clb-blue)}
.admin-sidebar{background:var(--clb-navy);min-height:100vh}.admin-sidebar a{color:#dcecf2;text-decoration:none;padding:.65rem .8rem;border-radius:.5rem}.admin-sidebar a:hover{background:rgba(255,255,255,.1);color:white}
.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(185px,1fr));gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.calendar-day{background:#fff;border:1px solid #e3eaf0;border-radius:.85rem;min-height:420px;padding:.75rem}.calendar-day.today{border-color:var(--clb-blue);box-shadow:0 0 0 2px rgba(23,107,135,.1)}.calendar-event{display:block;border-left:4px solid var(--clb-blue);background:#eef7fa;border-radius:.45rem;padding:.55rem;margin:.55rem 0;font-size:.82rem}.calendar-event.confirmed{border-color:#23845a;background:#ecf8f2}.calendar-event.pending{border-color:#d89b00;background:#fff7dc}.calendar-event.loan{border-color:#6f42c1;background:#f4effc}.calendar-event.block{border-color:#c43b3b;background:#fff0ef}.calendar-event strong{display:block}.calendar-event small{display:block;color:var(--clb-muted)}
.calendar-month-wrap{overflow-x:auto;padding-bottom:.5rem}.calendar-month-head,.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1015px}.calendar-month-head strong{padding:.6rem;text-align:center;color:var(--clb-muted)}.calendar-month-day{min-height:145px;background:#fff;border-right:1px solid #e3eaf0;border-bottom:1px solid #e3eaf0;padding:.5rem}.calendar-month-day:nth-child(-n+7){border-top:1px solid #e3eaf0}.calendar-month-day:nth-child(7n+1){border-left:1px solid #e3eaf0}.calendar-month-day.outside{background:#f3f6f8;color:#8a9aa5}.calendar-month-day.today{box-shadow:inset 0 0 0 2px var(--clb-blue)}.calendar-month-day header{font-weight:800;margin-bottom:.35rem}.calendar-month-day header a{color:inherit;text-decoration:none}.calendar-month-event{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid var(--clb-blue);background:#eef7fa;border-radius:.3rem;padding:.25rem .35rem;margin:.25rem 0;font-size:.75rem}.calendar-month-event.confirmed{border-color:#23845a;background:#ecf8f2}.calendar-month-event.pending{border-color:#d89b00;background:#fff7dc}.calendar-month-event.loan{border-color:#6f42c1;background:#f4effc}.calendar-month-event.block{border-color:#c43b3b;background:#fff0ef}

.card-link{color:inherit;text-decoration:none}.card-link:hover{color:inherit}
.rich-content h2,.rich-content h3,.rich-content h4{margin-top:1.3em;font-weight:800}.rich-content a{text-decoration:underline}.rich-content hr{margin:1.6rem 0}.rich-content blockquote{border-left:4px solid var(--clb-cyan);padding-left:1rem;color:var(--clb-muted)}
.site-footer{background:#082540;color:#bcd0dc}.site-footer a{color:#dceaf0;text-decoration:none}.site-footer a:hover{color:#fff;text-decoration:underline}.footer-logo{width:72px;height:auto}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);font-size:.88rem;color:#91abba}
.rich-editor-shell{border:1px solid #cddae1;border-radius:.7rem;background:#fff;overflow:hidden}.rich-editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;padding:.45rem;background:#f1f5f7;border-bottom:1px solid #dbe5ea}.rich-editor-button{border:1px solid #c8d4da;background:#fff;border-radius:.4rem;padding:.3rem .55rem;min-width:34px;font-weight:700}.rich-editor-button:hover{background:#e8f4f7;border-color:var(--clb-blue)}.rich-editor-color{width:36px;height:32px;padding:2px;border:1px solid #c8d4da;border-radius:.4rem;background:#fff}.rich-editor-area{min-height:220px;padding:1rem;outline:none}.rich-editor-area:focus{box-shadow:inset 0 0 0 2px rgba(66,182,199,.25)}.rich-editor-shell textarea{border:0!important;border-radius:0!important;min-height:220px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}

.floating-button{position:fixed;bottom:18px;z-index:1060;border:1px solid #c8d9e2;background:rgba(255,255,255,.96);color:var(--clb-navy);box-shadow:0 10px 28px rgba(11,45,82,.18);border-radius:999px;padding:.72rem 1rem;font-weight:800;backdrop-filter:blur(10px);transition:transform .2s ease,box-shadow .2s ease}.floating-button:hover{transform:translateY(-3px);box-shadow:0 15px 36px rgba(11,45,82,.25)}.whats-new-button{left:18px;border-color:#d69a1a;background:#fff6dc;color:#704600}.accessibility-button{right:18px}.accessibility-symbol{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:.4rem;border-radius:50%;background:var(--clb-navy);color:#fff}
.floating-panel{position:fixed;bottom:82px;z-index:1065;width:min(430px,calc(100vw - 28px));background:#fff;border:1px solid #bcd1dd;border-radius:1.25rem;box-shadow:0 24px 65px rgba(11,45,82,.28);overflow:hidden;animation:panel-in .22s ease-out}.floating-panel[hidden]{display:none}.whats-new-panel{left:18px}.accessibility-panel{right:18px}.floating-panel header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;background:var(--clb-navy);color:#fff}.floating-panel header h2{font-size:1.25rem;margin:0;font-weight:800}.floating-panel header small{color:#bcd3df}.panel-close{display:grid;place-items:center;width:40px;height:40px;border:2px solid #fff;border-radius:50%;background:transparent;color:#fff}.floating-panel-body{padding:1.25rem}.update-list{display:grid;gap:1rem;list-style:none;margin:0;padding:0}.update-list li{display:flex;gap:.8rem}.update-list i{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:.75rem;background:var(--clb-sky);color:var(--clb-blue)}.update-list strong,.update-list small{display:block}.update-list small{color:var(--clb-muted)}.accessibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.accessibility-grid button{border:1px solid #bcd1dd;background:#f8fbfc;color:#29485d;border-radius:.7rem;padding:.8rem .6rem;font-weight:750}.accessibility-grid button:hover,.accessibility-grid button.active{background:var(--clb-navy);border-color:var(--clb-navy);color:#fff}.accessibility-reset{grid-column:1/-1}

.page-preloader{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:linear-gradient(135deg,#082540,#125276);transition:opacity .4s ease,visibility .4s ease}.page-preloader.leaving{opacity:0;visibility:hidden}.preloader-mark{position:relative;display:grid;place-items:center;width:130px;height:130px}.preloader-mark img{width:82px;position:relative;z-index:1}.preloader-mark span{position:absolute;inset:0;border:2px solid rgba(255,255,255,.15);border-top-color:#fff;border-right-color:var(--clb-cyan);border-radius:50%;animation:preloader-spin 1s linear infinite}@keyframes preloader-spin{to{transform:rotate(360deg)}}
.week-picker{border-top:4px solid var(--clb-cyan)}.week-arrow{display:grid;place-items:center;width:36px;height:36px;border:1px solid #c7d9e2;border-radius:50%;text-decoration:none;background:#fff}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.week-day{display:flex;flex-direction:column;align-items:center;padding:.55rem .2rem;border:1px solid #d7e2e8;border-radius:.65rem;text-decoration:none;background:#fff;color:var(--clb-ink);transition:.18s}.week-day:hover{transform:translateY(-2px);border-color:var(--clb-blue);box-shadow:0 7px 16px rgba(11,45,82,.1)}.week-day span,.week-day small{font-size:.72rem}.week-day small{margin-top:.25rem}.week-day.free small{color:#16784f}.week-day.partial small{color:#a66a00}.week-day.partial{background:#fffaf0}.week-day.busy small{color:#aa3f35}.week-day.closed{background:#f1f4f5;color:#8796a0}.week-day.selected{background:var(--clb-navy);border-color:var(--clb-navy);color:#fff;box-shadow:0 7px 18px rgba(11,45,82,.2)}.week-day.selected small{color:#d9f4f6}
.announcement-card{padding:1.5rem;border-width:1px;box-shadow:0 12px 28px rgba(11,45,82,.08);border-radius:1rem}
[id^="komunikat-"]{scroll-margin-top:6.5rem}
[id^="komunikat-"]:target .announcement-card{box-shadow:0 0 0 3px #ffc107,0 12px 28px rgba(11,45,82,.08)}.page-header{padding-bottom:1.5rem;border-bottom:1px solid var(--clb-line)}.document-card{color:var(--clb-ink);transition:transform .2s ease,box-shadow .2s ease}.document-card:hover{color:var(--clb-ink);transform:translateY(-4px);box-shadow:var(--clb-shadow)}.document-icon{display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:1rem;background:#fff0ef;color:#bd3838;font-size:1.6rem;box-shadow:inset 0 0 0 1px #f2ccca}
.loan-equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.loan-equipment-choice{position:relative;display:flex;align-items:center;gap:.75rem;padding:.9rem;border:1px solid #cbdbe3;border-radius:.8rem;background:#fff;cursor:pointer;transition:.18s}.loan-equipment-choice:hover{border-color:var(--clb-blue);box-shadow:0 8px 20px rgba(11,45,82,.09)}.loan-equipment-choice input{position:absolute;opacity:0;pointer-events:none}.loan-equipment-choice:has(input:checked){border-color:var(--clb-blue);background:var(--clb-sky);box-shadow:0 0 0 2px rgba(23,111,140,.12)}.loan-checkbox{display:grid;place-items:center;flex:0 0 28px;height:28px;border:2px solid #9eb5c2;border-radius:.45rem;background:#fff;color:transparent}.loan-equipment-choice input:checked+.loan-checkbox{background:var(--clb-blue);border-color:var(--clb-blue);color:#fff}.loan-equipment-choice input:focus-visible+.loan-checkbox{outline:3px solid rgba(66,182,199,.35);outline-offset:2px}.loan-equipment-choice strong,.loan-equipment-choice small{display:block}.loan-equipment-choice small{color:var(--clb-muted)}

main>*,.hero .container{animation:rise-in .55s both ease-out}.row>div:nth-child(2){animation-delay:.05s}.row>div:nth-child(3){animation-delay:.1s}.row>div:nth-child(4){animation-delay:.15s}.row>div:nth-child(5){animation-delay:.2s}.row>div:nth-child(6){animation-delay:.25s}
@keyframes rise-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes panel-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

.a11y-high-contrast body{background:#000!important;color:#fff!important}.a11y-high-contrast .card,.a11y-high-contrast .search-panel,.a11y-high-contrast .floating-panel,.a11y-high-contrast .form-control,.a11y-high-contrast .form-select{background:#000!important;color:#fff!important;border-color:#fff!important}.a11y-high-contrast a{color:#ffeb3b!important}.a11y-high-contrast .text-secondary,.a11y-high-contrast .lead{color:#fff!important}.a11y-high-contrast .badge{border:1px solid #fff}
.a11y-grayscale body{filter:grayscale(1)}.a11y-underline-links a{text-decoration:underline!important;text-decoration-thickness:2px!important}.a11y-wide-spacing body{letter-spacing:.055em;word-spacing:.16em;line-height:1.9}.a11y-wide-spacing p,.a11y-wide-spacing li{margin-bottom:1em}

@media(max-width:991px){.navbar .container{min-height:68px}.navbar-collapse{padding:.8rem 0}.hero-facts{gap:1rem 1.8rem}}
@media(max-width:767px){.hero{border-radius:0 0 1.5rem 1.5rem}.hero-title{font-size:2.65rem}.hero-facts{display:grid;grid-template-columns:repeat(2,1fr)}.section-heading{align-items:start}.feature-card img{height:190px}.equipment-card img,.equipment-placeholder{height:200px}.admin-sidebar{min-height:auto}.floating-button{font-size:.83rem;padding:.6rem .8rem}.whats-new-button{left:8px}.accessibility-button{right:8px}.accessibility-symbol{width:28px;height:28px}.floating-panel{left:14px!important;right:14px!important;bottom:75px;width:auto}.brand-logo{width:68px;height:54px}.week-days{grid-template-columns:repeat(4,1fr)}.loan-equipment-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.feature-card:hover,.equipment-card:hover{transform:none}}

/* Uzupełnienia interfejsu portalu */
.eligibility-bar{background:#e6f5f7;border-bottom:1px solid #c4e1e7;color:#244b60;font-size:.9rem}
.eligibility-bar .container{display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.55rem 1rem}
.eligibility-bar i{color:var(--clb-blue);font-size:1.05rem}
.category-tree summary{cursor:pointer;color:var(--clb-blue);font-weight:750;list-style:none}
.category-tree summary::-webkit-details-marker{display:none}
.category-tree summary:after{content:"+";float:right}.category-tree[open] summary:after{content:"−"}
.category-tree-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--clb-line)}
.category-tree-list a{display:flex;justify-content:space-between;gap:.5rem;padding:.4rem .55rem;border-radius:.45rem;text-decoration:none;background:#f5f9fa;font-size:.86rem}
.category-tree-list a:hover{background:var(--clb-sky)}.category-tree-list span{color:var(--clb-muted)}
.equipment-hero-media{display:grid;place-items:center;min-height:380px;max-height:520px;padding:1.25rem;background:#fff;border:1px solid rgba(11,45,82,.12);border-radius:1.25rem;box-shadow:var(--clb-shadow)}
.equipment-hero-media img{width:100%;max-height:480px;object-fit:contain}
.equipment-hero-media .equipment-placeholder{width:100%;height:380px}
.equipment-title-bracket{position:relative;overflow:hidden;margin:.25rem 0 1.75rem;padding:1.05rem 1.35rem 1.15rem 1.6rem;background:rgba(255,255,255,.82);border:1px solid rgba(11,45,82,.14);border-radius:1rem;box-shadow:0 .7rem 1.8rem rgba(16,42,67,.09)}
.equipment-title-bracket:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:linear-gradient(180deg,var(--clb-cyan),var(--clb-blue))}
.equipment-title-bracket:after{content:"";position:absolute;top:.65rem;right:.65rem;width:30px;height:30px;border-top:3px solid rgba(66,182,199,.55);border-right:3px solid rgba(66,182,199,.55);border-radius:0 .4rem 0 0}
.equipment-title{position:relative;z-index:1;margin:0;font-size:35px;line-height:1.08;letter-spacing:-.035em}
.equipment-lead{margin-bottom:1.5rem}
.equipment-action-card{border-top:4px solid var(--clb-cyan)}
.equipment-gallery{margin-top:5.5rem}
.equipment-gallery .section-title{margin-bottom:.6rem}
.gallery-thumbnail{display:block;width:100%;padding:.55rem;border:1px solid rgba(11,45,82,.15);border-radius:1rem;background:#fff;box-shadow:0 .55rem 1.5rem rgba(16,42,67,.09);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.gallery-thumbnail:hover,.gallery-thumbnail:focus-visible{transform:translateY(-4px);border-color:var(--clb-cyan);box-shadow:0 1rem 2.2rem rgba(16,42,67,.16)}
.gallery-thumbnail img{display:block;width:100%;height:220px;object-fit:cover;border-radius:.65rem}
.clb-lightbox{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:1.25rem;background:rgba(3,18,33,.92);backdrop-filter:blur(8px)}
.clb-lightbox[hidden]{display:none}
.clb-lightbox-dialog{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(1180px,calc(100vw - 2.5rem));height:min(860px,calc(100vh - 2.5rem))}
.clb-lightbox-image{display:block;max-width:100%;max-height:calc(100% - 70px);object-fit:contain;border-radius:.7rem;box-shadow:0 1.5rem 5rem rgba(0,0,0,.42)}
.clb-lightbox-caption{min-height:2rem;margin:.85rem 4rem 0;color:#fff;text-align:center}
.clb-lightbox-close,.clb-lightbox-prev,.clb-lightbox-next{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,255,255,.65);background:rgba(8,40,68,.8);color:#fff;box-shadow:0 .6rem 1.7rem rgba(0,0,0,.3);transition:.18s}
.clb-lightbox-close:hover,.clb-lightbox-prev:hover,.clb-lightbox-next:hover{background:var(--clb-cyan);color:var(--clb-navy);transform:scale(1.06)}
.clb-lightbox-close{top:0;right:0;width:46px;height:46px;border-radius:50%;font-size:1.35rem}
.clb-lightbox-prev,.clb-lightbox-next{top:50%;width:50px;height:64px;border-radius:.8rem;font-size:1.6rem;transform:translateY(-50%)}
.clb-lightbox-prev:hover,.clb-lightbox-next:hover{transform:translateY(-50%) scale(1.06)}
.clb-lightbox-prev{left:0}.clb-lightbox-next{right:0}
body.lightbox-open{overflow:hidden}
.laboratory-location{padding:1.5rem;background:#fff;border:1px solid rgba(11,45,82,.13);border-radius:1.25rem;box-shadow:var(--clb-shadow)}
.laboratory-location img{display:block;width:100%;max-height:720px;object-fit:contain;border-radius:.85rem;background:#fff}
.accessibility-button{padding:.5rem .72rem;font-size:.85rem}
.accessibility-button .accessibility-symbol{width:27px;height:27px;margin-right:.3rem;font-size:.78rem}
.back-to-top{position:fixed;right:22px;bottom:79px;z-index:1055;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:var(--clb-blue);color:#fff;box-shadow:0 9px 24px rgba(11,45,82,.25);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.back-to-top.visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:var(--clb-navy);transform:translateY(-2px)}
@media(max-width:767px){
  .category-tree-list{grid-template-columns:1fr}
  .eligibility-bar .container{align-items:flex-start;font-size:.78rem}
  .back-to-top{right:13px;bottom:70px;width:38px;height:38px}
  .equipment-hero-media{min-height:280px}.equipment-hero-media img{max-height:380px}
  .equipment-title{font-size:30px}
  .equipment-gallery{margin-top:4rem}
  .gallery-thumbnail img{height:145px}
  .clb-lightbox{padding:.6rem}.clb-lightbox-dialog{width:calc(100vw - 1.2rem);height:calc(100vh - 1.2rem)}
  .clb-lightbox-prev,.clb-lightbox-next{width:42px;height:54px}.clb-lightbox-caption{margin-left:3rem;margin-right:3rem;font-size:.9rem}
  .laboratory-location{padding:.75rem}
}

/* Dopracowanie nawigacji i widoku mobilnego */
.btn-availability{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.78rem 1.05rem;border:1px solid rgba(255,255,255,.55);border-radius:.8rem;background:rgba(255,255,255,.94);color:var(--clb-navy);font-size:1rem;font-weight:800;box-shadow:0 9px 24px rgba(3,25,45,.16);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn-availability:hover{background:#fff;color:var(--clb-blue);transform:translateY(-2px);box-shadow:0 13px 30px rgba(3,25,45,.23)}
.btn-availability .bi-arrow-right{font-size:.9rem;transition:transform .2s ease}.btn-availability:hover .bi-arrow-right{transform:translateX(3px)}
.whats-new-button{padding:.55rem .78rem;font-size:.84rem}
.availability-loading{opacity:.62;pointer-events:none;transition:opacity .12s ease}
.ajax-updated>*,.ajax-updated .row>div{animation:none!important}
@media(max-width:767px){
  main.container{padding-left:1.35rem!important;padding-right:1.35rem!important}
  main.container .card{border-radius:1rem}
  .whats-new-button,.whats-new-panel{display:none!important}
  .accessibility-button{padding:.42rem .58rem;font-size:.76rem}
  .accessibility-button .accessibility-symbol{width:23px;height:23px;font-size:.7rem}
  .btn-availability{width:100%;padding:.72rem .9rem;font-size:.94rem}
}

/* Formularz rezerwacji krok po kroku */
.reservation-wizard{display:grid;gap:1rem}
.wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin-bottom:.25rem}
.wizard-progress-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:.3rem;color:#7b8d98;text-align:center}
.wizard-progress-item:before{content:"";position:absolute;left:-50%;right:50%;top:18px;height:2px;background:#d5e1e6;z-index:0}
.wizard-progress-item:first-child:before{display:none}
.wizard-progress-item span{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border:2px solid #cad8df;border-radius:50%;background:var(--clb-surface);font-weight:800}
.wizard-progress-item small{font-size:.75rem;font-weight:700}
.wizard-progress-item.active,.wizard-progress-item.completed{color:var(--clb-blue)}
.wizard-progress-item.active span{border-color:var(--clb-blue);background:var(--clb-blue);color:#fff;box-shadow:0 0 0 .25rem rgba(23,111,140,.13)}
.wizard-progress-item.completed span{border-color:#25845d;background:#25845d;color:#fff}
.wizard-progress-item.completed:before,.wizard-progress-item.active:before{background:#25845d}
.wizard-step{border-left:4px solid #d9e5ea;transition:border-color .2s ease}
.wizard-step.active{border-left-color:var(--clb-cyan);animation:wizard-step-in .3s ease both}
.wizard-step-heading{display:flex;align-items:center;gap:.9rem;margin-bottom:1.2rem}
.wizard-step-heading>span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:.8rem;background:var(--clb-navy);color:#fff;font-size:1.1rem;font-weight:850}
.reservation-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.reservation-summary>div{padding:.85rem 1rem;border:1px solid #d8e4e9;border-radius:.75rem;background:#f7fafb}
.reservation-summary span,.reservation-summary strong{display:block}.reservation-summary span{font-size:.75rem;color:var(--clb-muted);text-transform:uppercase;letter-spacing:.06em}.reservation-summary strong{margin-top:.2rem}
.regulation-confirmation{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid #b9d2dc;border-radius:.85rem;background:var(--clb-sky);cursor:pointer}
.regulation-confirmation>input{position:absolute;opacity:0;pointer-events:none}
.regulation-confirmation .loan-checkbox{margin-top:.1rem}
.regulation-confirmation>input:checked+.loan-checkbox{background:var(--clb-blue);border-color:var(--clb-blue);color:#fff}
.regulation-confirmation>input:focus-visible+.loan-checkbox{outline:3px solid rgba(66,182,199,.35);outline-offset:2px}
.calendar-event.room,.calendar-month-event.room{border-color:#0d8c9c;background:#e9f9fb}.calendar-initials{display:inline-grid;place-items:center;min-width:1.8rem;height:1.8rem;padding:0 .35rem;border-radius:999px;background:#123b61;color:#fff;font-size:.72rem;font-weight:800;box-shadow:0 5px 12px rgba(11,45,82,.2)}.public-calendar-legend span{display:inline-flex;align-items:center;gap:.4rem}.legend-dot{display:inline-block;width:.8rem;height:.8rem;border-radius:.25rem}.legend-dot.confirmed{background:#23845a}.legend-dot.pending{background:#d89b00}.legend-dot.room{background:#0d8c9c}.legend-dot.loan{background:#6f42c1}.legend-dot.block{background:#c43b3b}.public-calendar .calendar-day{min-height:360px;box-shadow:0 10px 24px rgba(11,45,82,.05)}.public-calendar .calendar-event,.public-calendar .calendar-month-event{position:relative;margin-right:.45rem;overflow:visible}.public-calendar .calendar-event{padding-right:1.15rem}.public-calendar .calendar-event .calendar-initials{position:absolute;z-index:2;top:0;right:0;transform:translate(48%,-28%)}.public-calendar .calendar-month-event{padding-right:1.1rem}.calendar-month-event-label{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-calendar .calendar-month-event .calendar-initials{position:absolute;z-index:2;top:50%;right:0;transform:translate(48%,-50%);min-width:1.55rem;height:1.55rem;padding:0 .28rem;font-size:.62rem}
.calendar-more-button{border:0;background:transparent;color:var(--clb-muted);padding:.3rem .1rem;font-size:.83rem;text-align:left;transition:.18s}.calendar-more-button:hover,.calendar-more-button:focus-visible{color:var(--clb-blue);text-decoration:underline}.calendar-event,.calendar-month-event{transition:transform .15s ease,box-shadow .15s ease}.calendar-event:hover,.calendar-month-event:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(11,45,82,.12)}.calendar-events-dialog{width:min(560px,calc(100% - 2rem));max-height:min(720px,85vh);border:0;border-radius:1.25rem;padding:0;box-shadow:0 28px 80px rgba(11,45,82,.28);color:var(--clb-ink)}.calendar-events-dialog::backdrop{background:rgba(8,29,48,.58);backdrop-filter:blur(3px)}.calendar-dialog-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.4rem;background:#fff;border-bottom:1px solid var(--clb-line)}.calendar-dialog-close{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c8d9e2;border-radius:50%;background:#fff;color:var(--clb-navy)}.calendar-dialog-list{display:grid;gap:.65rem;padding:1.25rem 1.4rem;background:#f6f9fa}.calendar-dialog-event{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-left:4px solid var(--clb-blue);border-radius:.65rem;background:#fff;box-shadow:0 5px 15px rgba(11,45,82,.06)}.calendar-dialog-event.confirmed{border-color:#23845a}.calendar-dialog-event.pending{border-color:#d89b00}.calendar-dialog-event.room{border-color:#0d8c9c}.calendar-dialog-event.loan{border-color:#6f42c1}.calendar-dialog-event.block{border-color:#c43b3b}.calendar-dialog-event strong,.calendar-dialog-event small{display:block}.calendar-dialog-event small{color:var(--clb-muted)}
main p,main li,main td,main th,main h1,main h2,main h3,main h4,main h5,main h6,.calendar-event strong,.calendar-month-event,.calendar-dialog-event strong{word-break:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
@media(min-width:992px){.public-calendar .calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible;gap:.55rem}.public-calendar .calendar-day{min-width:0;padding:.65rem}.public-calendar .calendar-day header strong{font-size:.92rem}.public-calendar .calendar-event{min-width:0;padding:.48rem;font-size:.76rem}.public-calendar .calendar-event strong{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.public-calendar .calendar-initials{min-width:1.55rem;height:1.55rem;font-size:.65rem}}
.group-availability-calendar{border-top:4px solid var(--clb-cyan)}.group-schedule{display:grid;border:1px solid #d9e5eb;border-radius:1rem;overflow:hidden}.group-schedule-row{display:grid;grid-template-columns:minmax(150px,32%) 1fr;gap:1rem;align-items:center;padding:.8rem 1rem;background:#fff}.group-schedule-row+ .group-schedule-row{border-top:1px solid #e4edf1}.group-schedule-row>strong{font-size:.92rem}.group-schedule-events{display:flex;flex-wrap:wrap;gap:.65rem}.group-schedule-free,.group-schedule-busy{display:inline-flex;align-items:center;gap:.35rem;padding:.36rem .58rem;border-radius:.55rem;font-size:.82rem}.group-schedule-free{color:#13764a;background:#e8f7ef}.group-schedule-busy{position:relative;margin-right:.55rem;padding-right:1.2rem;color:#8b2530;background:#fff0f1;border:1px solid #f3c9ce;overflow:visible}.group-schedule-busy.pending{color:#815b00;background:#fff7dc;border-color:#efd27c}.group-schedule-initials{position:absolute;z-index:2;top:50%;right:0;transform:translate(55%,-50%);display:inline-grid;place-items:center;min-width:1.7rem;height:1.7rem;padding:0 .32rem;border-radius:999px;background:#123b61;color:#fff;font-size:.68rem;font-weight:800;line-height:1;box-shadow:0 5px 12px rgba(11,45,82,.2)}
@media(max-width:767px){.group-schedule-row{grid-template-columns:1fr;gap:.45rem}.group-schedule-events{align-items:flex-start}}
@keyframes wizard-step-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:575px){
  .wizard-progress{gap:.2rem}.wizard-progress-item small{font-size:.62rem}.wizard-progress-item span{width:32px;height:32px}.wizard-progress-item:before{top:16px}
  .reservation-summary{grid-template-columns:1fr}
  .wizard-step{padding:1.2rem!important}
}
.loan-wizard .wizard-step[hidden]{display:none!important}.loan-wizard .wizard-step{scroll-margin-top:100px}.loan-wizard textarea{resize:vertical}
.loan-week-picker{border-top-color:#6f42c1}.loan-week-picker .week-day{font-family:inherit}.loan-week-picker .week-day.busy{background:#fff1f0;border-color:#e6aaa5}.loan-day-details{border-top:1px solid var(--clb-line);padding-top:1rem}.loan-availability-event{display:flex;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border-left:4px solid var(--clb-blue);border-bottom:1px solid var(--clb-line);background:#f8fbfc}.loan-availability-event.loan{border-left-color:#6f42c1;background:#f7f2fd}.loan-availability-event.block{border-left-color:#c43b3b;background:#fff3f2}.loan-availability-event span{color:var(--clb-muted);white-space:nowrap}.loan-week-picker .availability-loading{opacity:.5;pointer-events:none}
.loan-week-picker .week-day:disabled{cursor:not-allowed;opacity:.55;filter:grayscale(1);box-shadow:none;transform:none}
.loan-week-picker .week-day.busy.selected{background:#ffe7e4;border-color:#d47b72;color:var(--clb-ink)}.loan-week-picker .week-day.busy.selected small{color:#8e3028}
@media(max-width:575px){.loan-availability-event{display:block}.loan-availability-event span{display:block;margin-top:.2rem;white-space:normal}}
.laboratory-hero{max-width:1180px;margin-inline:auto}.laboratory-description{max-width:900px;margin-inline:auto;color:var(--clb-muted)}.laboratory-main-visual{display:flex;justify-content:center;overflow:hidden;border:1px solid var(--clb-line);border-radius:1.4rem;background:#fff;box-shadow:var(--clb-shadow)}.laboratory-main-visual img{display:block;width:100%;max-height:620px;object-fit:contain}.laboratory-main-visual .laboratory-placeholder{width:100%;height:420px;border-radius:0}
@media(max-width:767px){.laboratory-main-visual{border-radius:1rem}.laboratory-main-visual img{max-height:430px}.laboratory-main-visual .laboratory-placeholder{height:260px}}
.accessory-item{display:flex;align-items:center;gap:1rem;height:100%;padding:1rem;border:1px solid var(--clb-line);border-radius:1rem;background:#fff;box-shadow:0 8px 22px rgba(11,45,82,.07)}.accessory-item img,.accessory-placeholder{flex:0 0 96px;width:96px;height:82px;object-fit:contain;padding:.35rem;border-radius:.75rem;background:#f5f9fa}.accessory-placeholder{display:grid;place-items:center;color:var(--clb-blue);font-size:1.8rem}@media(max-width:575px){.accessory-item{align-items:flex-start}.accessory-item img,.accessory-placeholder{flex-basis:72px;width:72px;height:68px}}
.calendar-event.teaching,.calendar-month-event.teaching{border-color:#e76f00;background:#fff0df}.legend-dot.teaching{background:#e76f00}.calendar-dialog-event.teaching{border-color:#e76f00}
.admin-reservation-row {
  scroll-margin-top: 1.5rem;
}

.admin-reservation-row:target > * {
  background-color: #fff3cd !important;
}

.calendar-event,
.calendar-month-event,
.calendar-dialog-event {
  cursor: pointer;
}
