/* ГНМЦ · Концепт 4 — внутрішні сторінки */
.page-hero{
  background:var(--grad-blue-deep); color:#fff; padding-block:clamp(2.6rem,6vw,4.2rem);
  position:relative; overflow:hidden;
}
.page-hero::before{
  content:''; position:absolute; inset:0; opacity:.5;
  background:radial-gradient(circle at 85% 20%, rgba(255,213,0,.16), transparent 55%);
}
.page-hero .container{ position:relative; z-index:1; }
.breadcrumbs{ display:flex; gap:.5em; align-items:center; font-size:.82rem; color:#bcd6ff; margin-bottom:1rem; flex-wrap:wrap; }
.breadcrumbs a:hover{ color:#fff; }
.breadcrumbs svg{ width:13px; height:13px; opacity:.7; }
.page-hero h1{ color:#fff; margin-bottom:.6rem; }
.page-hero p{ color:#dfeaff; max-width:60ch; }

/* новини / семінари списки */
.news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
@media (max-width:960px){ .news-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .news-grid{ grid-template-columns:1fr; } }

.seminar-row{
  display:flex; gap:1.4rem; align-items:center; background:#fff; border-radius:var(--radius-m);
  padding:1rem 1.6rem 1rem 1rem; box-shadow:var(--shadow-s); margin-bottom:1rem;
  transition:box-shadow var(--dur-m), transform var(--dur-m);
}
.seminar-row:hover{ box-shadow:var(--shadow-m); transform:translateY(-2px); }
.seminar-row.is-featured{ border:2px solid var(--yellow); box-shadow:0 0 0 6px rgba(255,213,0,.14), var(--shadow-m); }
.seminar-row-media{ position:relative; flex-shrink:0; width:110px; height:82px; border-radius:var(--radius-m); overflow:hidden; }
.seminar-row-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.seminar-date-badge{
  position:absolute; bottom:.4rem; left:.4rem; width:auto; min-width:2.6rem; padding:.25rem .5rem;
  border-radius:8px; background:rgba(11,42,90,.82); backdrop-filter:blur(2px); color:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-family:var(--font-head); line-height:1.1;
}
.seminar-date-badge strong{ font-size:1rem; line-height:1; }
.seminar-date-badge span{ font-size:.6rem; text-transform:uppercase; }
.seminar-row-body{ flex:1; min-width:0; }
.seminar-row-body h3{ font-size:1rem; margin-bottom:.35rem; }
.seminar-row-body p{ font-size:.86rem; color:var(--grey-600); margin:0; }
.seminar-row-actions{ flex-shrink:0; display:flex; flex-direction:column; align-items:flex-end; gap:.5rem; }
@media (max-width:720px){
  .seminar-row{ flex-wrap:wrap; }
  .seminar-row-media{ width:100%; height:140px; }
  .seminar-row-actions{ width:100%; flex-direction:row; justify-content:space-between; align-items:center; }
}

/* новина деталі */
.article-layout{ display:grid; grid-template-columns:2.2fr 1fr; gap:clamp(2rem,5vw,3.4rem); }
@media (max-width:960px){ .article-layout{ grid-template-columns:1fr; } }
.article-media{ border-radius:var(--radius-l); overflow:hidden; aspect-ratio:16/9; margin-bottom:1.6rem; box-shadow:var(--shadow-m); }
.article-media img{ width:100%; height:100%; object-fit:cover; }
.article-body{ font-size:1.02rem; color:var(--ink-soft); }
.article-body p{ margin-bottom:1.2em; }
.article-meta{ display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; margin-bottom:1.4rem; font-size:.86rem; color:var(--grey-600); }
.article-meta .badge-check svg{ color:var(--red); }
.share-row{ display:flex; gap:.6rem; margin-top:2rem; align-items:center; flex-wrap:wrap; }
.share-btn{
  width:42px; height:42px; border-radius:50%; background:var(--grey-100); color:var(--blue-700);
  display:flex; align-items:center; justify-content:center; transition:background var(--dur-s), transform var(--dur-s);
}
.share-btn:hover{ background:var(--blue-600); color:#fff; transform:translateY(-2px); }
.share-btn svg{ width:18px; height:18px; }
.article-sidebar .card{ padding:1.4rem; margin-bottom:1.4rem; }
.related-item{ display:flex; gap:.8rem; padding-block:.8rem; border-bottom:1px solid var(--grey-150); }
.related-item:last-child{ border-bottom:none; }
.related-item img{ width:64px; height:64px; border-radius:8px; object-fit:cover; flex-shrink:0; }
.related-item h4{ font-size:.86rem; font-family:var(--font-body); font-weight:700; color:var(--ink-soft); margin:0 0 .2rem; line-height:1.3; }
.related-item span{ font-size:.74rem; color:var(--grey-600); }

/* про центр */
.mgmt-card{ display:flex; align-items:center; gap:1.2rem; background:#fff; border-radius:var(--radius-m); padding:1.4rem 1.6rem; box-shadow:var(--shadow-s); }
.mgmt-avatar{ width:66px; height:66px; border-radius:50%; background:var(--grad-blue); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:800; font-size:1.3rem; flex-shrink:0; }
.mgmt-card strong{ display:block; font-family:var(--font-head); color:var(--blue-900); }
.mgmt-card span{ font-size:.85rem; color:var(--grey-600); }
/* 8 фото в галереї — 3 колонки лишали дірку в останньому ряду (3+3+2),
   тож брейкпоінт іде одразу 4 → 2 колонки (обидва ділять 8 націло) */
.gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; }
@media (max-width:860px){ .gallery-grid{ grid-template-columns:1fr 1fr; } }
.gallery-item{ position:relative; border-radius:var(--radius-s); overflow:hidden; aspect-ratio:1/1; cursor:zoom-in; }
.gallery-item img{ width:100%; height:100%; object-fit:cover; transition:transform var(--dur-m) var(--ease-out); }
.gallery-item:hover img{ transform:scale(1.1); }
.gallery-item::after{
  content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,30,70,.55), transparent 50%);
  opacity:0; transition:opacity var(--dur-s);
}
.gallery-item:hover::after{ opacity:1; }
.gallery-item svg{ position:absolute; bottom:.7rem; right:.7rem; width:22px; height:22px; color:#fff; opacity:0; transition:opacity var(--dur-s); }
.gallery-item:hover svg{ opacity:1; }

/* напрям */
.direction-hero-icon{ width:88px; height:88px; border-radius:var(--radius-m); background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem; }
.direction-hero-icon .icon-mask{ width:44px; height:44px; color:#fff; }
.direction-content{ display:grid; grid-template-columns:2fr 1fr; gap:clamp(2rem,5vw,3.4rem); }
@media (max-width:960px){ .direction-content{ grid-template-columns:1fr; } }
.steps-list{ display:grid; gap:1.1rem; margin-top:1rem; }
.step-item{ display:flex; gap:1rem; align-items:flex-start; }
.step-num{ width:36px; height:36px; border-radius:50%; background:var(--blue-100); color:var(--blue-700); font-family:var(--font-head); font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.step-item h4{ margin:0 0 .3rem; font-size:.95rem; font-family:var(--font-head); color:var(--ink-soft); }
.step-item p{ margin:0; font-size:.86rem; color:var(--grey-600); }
.direction-side-card{ background:var(--grey-100); border-radius:var(--radius-m); padding:1.6rem; margin-bottom:1.4rem; }
.direction-list-check{ display:grid; gap:.7rem; margin:1rem 0; }
.direction-list-check li{ display:flex; gap:.6em; align-items:flex-start; font-size:.9rem; }
.direction-list-check svg{ width:18px; height:18px; color:var(--blue-600); flex-shrink:0; margin-top:.15em; }
.related-directions{ display:flex; flex-wrap:wrap; gap:.5rem; }
.related-directions a{ padding:.5em 1em; background:#fff; border:1px solid var(--grey-300); border-radius:var(--radius-full); font-size:.82rem; font-weight:600; transition:all var(--dur-s); }
.related-directions a:hover, .related-directions a.is-active{ background:var(--blue-600); border-color:var(--blue-600); color:#fff; }

/* документи */
.doc-tabs-panel{ display:none; }
.doc-tabs-panel.is-active{ display:block; }
.finreport-year{ background:#fff; border-radius:var(--radius-m); box-shadow:var(--shadow-s); margin-bottom:.9rem; overflow:hidden; }
.finreport-year-head{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.1rem 1.4rem; background:none; border:none; text-align:left;
}
.finreport-year-head strong{ font-family:var(--font-head); color:var(--blue-900); font-size:1.05rem; }
.finreport-year-head span{ font-size:.78rem; color:var(--grey-600); margin-left:.6rem; }
.finreport-year-head svg{ width:18px; height:18px; color:var(--blue-600); transition:transform var(--dur-m); flex-shrink:0; }
.finreport-year-head[aria-expanded="true"] svg{ transform:rotate(180deg); }
.finreport-year-body{ max-height:0; overflow:hidden; transition:max-height var(--dur-m) var(--ease-in-out); }
.finreport-year-body-inner{ padding:0 1.4rem 1.2rem; display:grid; gap:.4rem; }

/* контакти */
.contacts-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--gap); align-items:start; }
@media (max-width:900px){ .contacts-grid{ grid-template-columns:1fr; } }
.contact-dept{ display:flex; gap:1rem; padding:1.2rem 0; border-bottom:1px solid var(--grey-150); }
.contact-dept-icon{ width:44px; height:44px; border-radius:12px; background:var(--blue-100); color:var(--blue-700); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-dept h4{ margin:0 0 .3rem; font-size:.92rem; font-family:var(--font-head); color:var(--ink-soft); }
.contact-dept a{ display:block; font-size:.88rem; color:var(--blue-700); font-weight:600; }
.map-embed{ border-radius:var(--radius-m); overflow:hidden; box-shadow:var(--shadow-s); border:none; width:100%; height:340px; }
.hours-note{ background:#fff7cc; border-radius:var(--radius-s); padding:.9rem 1.1rem; font-size:.82rem; color:#7a5f00; margin-top:.8rem; }

/* faq/services */
.faq-list{ max-width:820px; }
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
@media (max-width:860px){ .services-grid{ grid-template-columns:1fr; } }
.service-card{ background:#fff; border-radius:var(--radius-m); box-shadow:var(--shadow-s); padding:1.6rem; }
.service-card h3{ font-size:1rem; }
.service-price{ font-family:var(--font-head); font-weight:800; color:var(--blue-700); font-size:1.05rem; margin-top:.8rem; display:block; }
