/* ── breadcrumbs row ── */
.docs-nav {
  padding: 16px 0 0;
}

/* body is a column flexbox (style-new.css) and .container has auto
   side-margins, which overrides align-items:stretch and shrink-wraps
   this container to the non-wrapping .docs-stats max-content width.
   Cap it to the viewport so the hero keeps its width/padding and the
   stats strip scrolls internally instead. */
.docs-page {
  max-width: 100%;
  min-width: 0;
}

/* ── hero ── */
.docs-hero {
  background: linear-gradient(135deg, #e8f9fc 0%, #f0feff 50%, #e4f6f9 100%);
  border-radius: 20px;
  padding: 52px 48px 52px;
  margin: 24px 0 48px;
  position: relative;
  overflow: hidden;
}
.docs-hero::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 300px; height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,172,196,.12) 0%, transparent 70%);
  pointer-events: none;
}
.docs-hero::after {
  content: '';
  position: absolute;
  bottom: -40px; left: 10%;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,212,168,.10) 0%, transparent 70%);
  pointer-events: none;
}
.docs-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(0,172,196,.1);
  border: 1px solid rgba(0,172,196,.2);
  border-radius: 50px;
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: #00acc4;
  margin-bottom: 20px;
}
.docs-hero__eyebrow i { font-size: 11px; }
.docs-hero__title {
  font-size: 36px;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0 0 12px;
  line-height: 1.2;
}
.docs-hero__subtitle {
  font-size: 16px;
  color: #7c7c7c;
  margin: 0;
  max-width: 460px;
}
/* floating decorative icons */
.docs-hero__deco {
  position: absolute;
  right: 48px; top: 50%;
  transform: translateY(-50%);
  display: flex;
  gap: 16px;
  align-items: flex-end;
  pointer-events: none;
}
.docs-hero__deco-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  opacity: .55;
  animation: docFloat 3s ease-in-out infinite;
}
.docs-hero__deco-item:nth-child(2) { animation-delay: .8s; }
.docs-hero__deco-item:nth-child(3) { animation-delay: 1.6s; }
.docs-hero__deco-item i {
  font-size: 38px;
  color: #00acc4;
}
.docs-hero__deco-item:nth-child(2) i { font-size: 52px; }
.docs-hero__deco-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #00acc4;
}
@keyframes docFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-10px); }
}

/* ── stats strip ── */
.docs-stats {
  display: flex;
  flex-wrap: nowrap;
  gap: 32px;
  margin-top: 28px;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  /* keep scrollable, hide the scrollbar */
  scrollbar-width: none;        /* Firefox */
  -ms-overflow-style: none;     /* IE/old Edge */
}
.docs-stats::-webkit-scrollbar {
  display: none;                /* Chrome/Safari/new Edge */
}
.docs-stat {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
}
.docs-stat__num {
  font-size: 22px;
  font-weight: 700;
  color: #00acc4;
  line-height: 1;
}
.docs-stat__label {
  font-size: 12px;
  color: #aaa;
  margin-top: 3px;
}

/* ── filters ── */
.docs-filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}
.docs-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1.5px solid #ddf0f4;
  background: #fff;
  color: #555;
  border-radius: 50px;
  padding: 9px 20px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background .22s, color .22s, border-color .22s, box-shadow .22s;
  outline: none;
}
.docs-filter-btn:hover {
  border-color: #00acc4;
  color: #00acc4;
}
.docs-filter-btn.active {
  background: #00acc4;
  border-color: #00acc4;
  color: #fff;
  box-shadow: 0 4px 16px rgba(0,172,196,.28);
}
.docs-filter-btn .fcount {
  background: rgba(255,255,255,.25);
  border-radius: 20px;
  padding: 1px 8px;
  font-size: 11px;
  min-width: 22px;
  text-align: center;
}
.docs-filter-btn:not(.active) .fcount {
  background: #eef7f9;
  color: #888;
}

/* ── grid ── */
.docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 20px;
}

/* ── card ── */
.doc-card {
  background: #fff;
  border-radius: 16px;
  padding: 26px 22px 20px;
  border: 1.5px solid #eaf5f8;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  overflow: hidden;
  cursor: default;
  /* entrance */
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity .4s ease,
    transform .4s cubic-bezier(.34,1.56,.64,1),
    box-shadow .3s,
    border-color .3s;
}
.doc-card.in {
  opacity: 1;
  transform: translateY(0);
}
.doc-card:hover {
  box-shadow: 0 12px 36px rgba(0,172,196,.14);
  border-color: #b6e8f2;
}

/* shimmer accent line */
.doc-card__accent {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #00acc4 0%, #edfbfd 100%);
  border-radius: 16px 16px 0 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.doc-card:hover .doc-card__accent {
  transform: scaleX(1);
}

/* icon */
.doc-card__icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, #e6f9fc, #cdf2f7);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background .3s;
}
.doc-card:hover .doc-card__icon {
  background: linear-gradient(135deg, #00acc4, #edfbfd);
}
.doc-card__icon i {
  font-size: 20px;
  color: #00acc4;
  transition: color .3s;
}
.doc-card:hover .doc-card__icon i { color: #fff; }

/* badge */
.doc-card__badge {
  width: fit-content;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .6px;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 20px;
  background: #edfbfd;
  color: #00acc4;
  border: 1px solid #c6edf4;
}
.doc-card__badge--doc {
  background: #f0f3ff;
  color: #5c73e6;
  border-color: #c9d2f8;
}
.doc-card__badge--regulatory {
  background: #fff4ec;
  color: #d97742;
  border-color: #f7d6bf;
}
.doc-card__badge--useful {
  background: #ecfaf0;
  color: #2fa758;
  border-color: #c4ecd1;
}
.doc-card__badge--template {
  background: #f6f1ff;
  color: #8259d8;
  border-color: #ddd0f5;
}

/* title */
.doc-card__title {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a2e;
  line-height: 1.5;
  flex: 1;
}

/* footer row */
.doc-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
}
.doc-card__ext {
  font-size: 11px;
  color: #bbb;
  font-weight: 600;
  text-transform: uppercase;
}
.doc-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #00acc4;
  text-decoration: none;
  padding: 7px 15px;
  border-radius: 50px;
  border: 1.5px solid #b6e5ef;
  background: #f2fbfd;
  transition: background .22s, color .22s, border-color .22s, transform .18s;
}
.doc-card__btn:hover {
  background: #00acc4;
  color: #fff;
  border-color: #00acc4;
  transform: translateY(-1px);
  text-decoration: none;
}

/* empty */
.docs-empty {
  grid-column: 1/-1;
  text-align: center;
  padding: 60px 0;
  color: #bbb;
}
.docs-empty i { font-size: 46px; display: block; margin-bottom: 14px; }

/* responsive */
@media (max-width: 768px) {
    .docs-page {padding: 30px 15px 0 !important }
  .docs-hero { padding: 36px 24px; }
  .docs-hero__title { font-size: 26px; }
  .docs-hero__deco { display: none; }
  .docs-stats { gap: 20px; }
  .docs-grid { grid-template-columns: 1fr; }
}
