/* Al-Zahraa CMS — Files Library V32.0
   Scoped visual refinement for public file library. */

.files247{
  padding:28px 0 58px!important;
  background:linear-gradient(180deg,#f4f8fc 0%,#f8fbfe 100%);
}

.files247-hero{
  min-height:218px!important;
  padding:32px 34px!important;
  border-radius:22px!important;
  background:linear-gradient(115deg,#084d8c 0%,#0874c6 100%)!important;
  box-shadow:0 18px 42px rgba(9,76,135,.14)!important;
}

.files247-hero__copy>span{
  color:#d9ecff!important;
  font-size:11px!important;
  font-weight:800!important;
}

.files247-hero__copy h1{
  margin:7px 0 8px!important;
  color:#fff!important;
  font-size:34px!important;
  font-weight:900!important;
}

.files247-hero__copy p{
  max-width:700px!important;
  margin:0!important;
  color:#fff!important;
  opacity:1!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.9!important;
}

.files320-hero__stats{
  grid-template-columns:repeat(3,112px)!important;
  gap:10px!important;
}

.files320-hero__stats article{
  min-height:118px!important;
  padding:12px 8px!important;
  border-color:rgba(255,255,255,.24)!important;
  background:rgba(255,255,255,.10)!important;
}

.files320-stat-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  margin-bottom:5px;
  border-radius:9px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:13px;
}

.files320-hero__stats strong{
  color:#fff!important;
  font-size:24px!important;
  line-height:1.1!important;
}

.files320-hero__stats small{
  color:#f5faff!important;
  font-size:9px!important;
  font-weight:800!important;
}

.files247-toolbar{
  margin:16px 0 22px!important;
  padding:13px!important;
  border-radius:16px!important;
  box-shadow:0 8px 24px rgba(20,61,95,.05)!important;
}

.files247-search input,
.files247-select select{
  min-height:46px!important;
  font-size:11px!important;
}

.files247-toolbar>button,
.files247-toolbar>a{
  min-height:46px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:10px!important;
  font-weight:800!important;
}

.files247-featured{
  border-radius:18px!important;
  padding:22px!important;
  box-shadow:0 12px 32px rgba(15,70,115,.08)!important;
}

.files247-featured__content h2{
  font-size:24px!important;
  color:#133e60!important;
}

.files247-featured__content p{
  color:#687d90!important;
  font-size:11px!important;
  line-height:1.9!important;
}

.files320-heading{
  align-items:center!important;
  margin:22px 0 16px!important;
}

.files320-heading span{
  color:#0a6cad!important;
  font-size:10px!important;
  font-weight:800!important;
}

.files320-heading h2{
  margin:4px 0 0!important;
  color:#143c59!important;
  font-size:25px!important;
}

.files320-heading p{
  max-width:680px;
  margin:5px 0 0;
  color:#728497;
  font-size:10.5px;
  line-height:1.8;
}

.files320-heading>small{
  padding:7px 11px!important;
  border-radius:999px!important;
  background:#eaf5ff!important;
  color:#426b8a!important;
  font-size:9px!important;
  white-space:nowrap;
}

.files247-layout{
  gap:18px!important;
  align-items:start!important;
}

.files247-grid{
  gap:16px!important;
}

.files320-card{
  min-height:238px!important;
  border-radius:16px!important;
  border-color:#dce7f0!important;
  box-shadow:0 8px 24px rgba(20,61,95,.055)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.files320-card:hover{
  transform:translateY(-2px);
  border-color:#bcd7ea!important;
  box-shadow:0 13px 30px rgba(20,61,95,.085)!important;
}

.file247-icon{
  width:92px!important;
  min-width:92px!important;
  border-radius:13px!important;
}

.file247-icon strong{
  font-size:17px!important;
  letter-spacing:.2px;
}

.file247-icon.pdf{background:#fff0f1!important;color:#b72d3d!important}
.file247-icon.doc,.file247-icon.docx{background:#eef5ff!important;color:#205ca6!important}
.file247-icon.xls,.file247-icon.xlsx{background:#edf9f2!important;color:#1f7c4d!important}
.file247-icon.ppt,.file247-icon.pptx{background:#fff3eb!important;color:#b65320!important}
.file247-icon.zip,.file247-icon.rar{background:#f4f0ff!important;color:#6750a4!important}

.file247-body{
  padding:18px 18px 16px!important;
}

.file247-top span{
  color:#71869a!important;
  font-size:9px!important;
}

.file247-body h3{
  margin:7px 0 8px!important;
  color:#153d5a!important;
  font-size:17px!important;
  line-height:1.55!important;
}

.file247-body p{
  min-height:0!important;
  color:#6a7d8f!important;
  font-size:10.5px!important;
  line-height:1.85!important;
}

.file247-meta{
  gap:7px!important;
  margin-top:13px!important;
}

.file247-meta span{
  padding:5px 7px!important;
  border-radius:7px!important;
  background:#f3f7fa!important;
  color:#63788b!important;
  font-size:8.5px!important;
}

.files247-download{
  margin-top:15px!important;
  min-height:38px!important;
  border-radius:9px!important;
  font-size:10px!important;
  font-weight:900!important;
}

.files247-side{
  gap:14px!important;
}

.files247-categories,
.files247-help{
  border-radius:15px!important;
  box-shadow:0 8px 24px rgba(20,61,95,.05)!important;
}

.files247-categories a{
  min-height:38px!important;
  font-size:10px!important;
}

.files247-categories a.is-active{
  background:#e9f5ff!important;
  color:#0a639f!important;
}

.files247-help{
  background:linear-gradient(145deg,#075393,#0781d4)!important;
  color:#fff!important;
}

.files247-help small,
.files247-help p{
  color:#f3f8fd!important;
  opacity:1!important;
}

.files247-help h3{
  color:#fff!important;
}

.files247-help a{
  background:#fff!important;
  color:#0a5f9c!important;
  font-weight:900!important;
}

@media(max-width:1050px){
  .files247-hero{
    grid-template-columns:1fr!important;
  }
  .files320-hero__stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:820px){
  .files247-layout{
    grid-template-columns:1fr!important;
  }
  .files247-side{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
}

@media(max-width:700px){
  .files247-hero{
    padding:24px 20px!important;
  }
  .files247-hero__copy h1{
    font-size:28px!important;
  }
  .files247-hero__copy p{
    font-size:11px!important;
  }
  .files320-heading{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .files247-side{
    display:flex!important;
    flex-direction:column!important;
  }
}

@media(max-width:480px){
  .files320-hero__stats{
    gap:6px!important;
  }
  .files320-hero__stats article{
    min-height:98px!important;
    padding:9px 4px!important;
  }
  .files320-hero__stats strong{
    font-size:21px!important;
  }
}
