/* ==========================================================================
   SEZ Naryn — Modern Theme  |  style.css
   Complete rewrite for modern, adaptive UI
   ========================================================================== */

/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  color: #1e2433;
  font-family: 'Inter', 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 15px;
  line-height: 1.7;
  background: #f1f5f9;
  margin: 0; padding: 0;
}

p { margin: 0 0 1em; padding: 0; }

a { color: #1a6bd4; text-decoration: none; transition: color .2s ease, opacity .2s ease; }
a:hover { text-decoration: none; color: #a07e1a; }
a:focus { outline: 2px solid #c9a227; outline-offset: 2px; text-decoration: none; }

blockquote { margin: 1.5em 0; border-left: 4px solid #c9a227; padding: .8em 1.2em; background: #f8fafc; border-radius: 0 8px 8px 0; color: #64748b; }
blockquote::before { display: none; }
blockquote p { font-size: 15px; line-height: 1.6; }

img { display: block; height: auto; max-width: 100%; }

hr { border: none; border-top: 1px solid #e2e8f0; margin: 2em 0; }

/* ── Typography ── */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700; line-height: 1.25; padding: 0; margin: 1.5em 0 .5em;
  font-family: 'Inter', 'Open Sans', sans-serif; color: #0b2e6e;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; }
h1 a:hover, h2 a:hover, h3 a:hover { color: #a07e1a; }
h1 { font-size: 1.8rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.1rem; }
h5, h6 { font-size: 1rem; }
h1.page-title { font-size: 1.6rem; margin-top: .5em; }

.title-sep, #pre-header h2, #promoted h2, .sidebar h2, #footer h2 {
  clear: both; font-size: 13px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; margin-bottom: 1.2em; position: relative;
}

/* ── Layout Container ── */
.container { max-width: 1260px !important; width: 100% !important; margin: 0 auto; padding: 0 20px !important; }

.row { margin: 0 !important; padding: 0 !important; }

/* ── Lists ── */
ul li { list-style-type: disc; }
ol li { list-style-type: decimal; }
#header ul, #subfooter ul { text-align: left; }

.item-list ul li { border-bottom: 1px solid #e2e8f0; margin-bottom: 0; padding: 12px 0; }
.item-list ul li.first { padding-top: 0; }
.item-list ul li.last { border-bottom: none; }

/* ── Pager ── */
ul.pager { overflow: hidden; padding: 0; width: 100%; clear: both; position: relative; margin: 24px 0; display: flex; flex-wrap: wrap; gap: 4px; list-style: none; }
.item-list ul.pager li { display: inline; float: none; margin: 0; padding: 0; border-bottom: none; }
ul.pager li a, ul.pager li.pager-current {
  background: #fff; border: 1.5px solid #e2e8f0; padding: 6px 14px; display: inline-flex;
  align-items: center; justify-content: center; min-width: 36px; min-height: 36px;
  border-radius: 8px; font-weight: 600; font-size: 13.5px; color: #0b2e6e; transition: all .2s ease;
}
ul.pager li a:hover { background: #e8eef8; border-color: #1a6bd4; }
ul.pager li.pager-current { background: #0b2e6e; border-color: #0b2e6e; color: #fff; }

/* ── Menus (sidebar/footer menus) ── */
ul.menu { margin: 0; padding: 0; }
ul.menu li { list-style: none; padding: 10px 0; margin: 0; border-bottom: 1px solid #e2e8f0; }
ul.menu li a { color: #64748b; font-size: 14px; line-height: 1.5; display: inline-block; transition: color .2s; }
ul.menu li a:hover, ul.menu li a.active { color: #0b2e6e; text-decoration: none; }
ul.menu li.leaf { list-style-image: none; color: #1e2433; }
ul.menu li.expanded { border-bottom: none; padding-bottom: 0; }
ul.menu li.expanded ul { padding-left: 20px; border-top: 1px solid #e2e8f0; margin-top: 10px; }

/* ── Horizontal menus ── */
#header ul.menu, #subfooter ul.menu, #top-content ul.menu, #bottom-content ul.menu { text-align: center; }
#header-top ul.menu li, #header ul.menu li, #main-navigation ul.menu li,
#top-content ul.menu li, #subfooter ul.menu li, #bottom-content ul.menu li {
  display: inline-block; background: none; list-style-type: none; border: none; padding: 0;
}
#header ul.menu li a, #top-content ul.menu li a, #bottom-content ul.menu li a { padding: 12px 16px; }
#header-top ul.menu ul, #header ul.menu ul, #main-navigation ul.menu ul,
#top-content ul.menu ul, #subfooter ul.menu ul, #bottom-content ul.menu ul { display: none; }
#header-top ul.menu li a { font-size: 13px; text-transform: capitalize; padding: 16px; }
#main-navigation ul.menu li a { text-transform: uppercase; font-weight: 600; padding: 18px 16px; font-size: 12.5px; letter-spacing: .04em; }
#main-navigation ul.menu ul li a, #header-top ul.menu ul li a {
  padding: 10px 16px; text-transform: none; font-weight: 400; font-size: 13px;
  border: none; line-height: 1.5;
}

/* ── Superfish support ── */
.block-superfish select { border-radius: 6px; border-width: 1px; width: 90%; }
#main-navigation .block-superfish select { border-top: none; border-bottom: none; width: 100%; }
.block-superfish ul.sf-menu { padding: 0; margin: 0; }
.block-superfish ul.sf-menu ul {
  top: 100%; background: #fff; padding: 6px; border-radius: 10px;
  box-shadow: 0 8px 32px rgba(11,46,110,.18); display: none; border: none;
}
.block-superfish ul.sf-menu ul li a { display: block; }
.block-superfish ul.sf-menu > li > ul:before,
.block-superfish ul.sf-menu > li > ul:after { display: none; }
.block-superfish ul.sf-menu ul ul { top: -1px; }

/* superfish arrows */
#main-navigation .block-superfish ul.sf-menu > li > a.menuparent { padding: 18px 36px 18px 16px; }
#header-top .block-superfish ul.sf-menu > li > a.menuparent { padding: 16px 36px 16px 16px; }
.block-superfish ul.sf-menu li a.menuparent:after {
  content: "\e114"; font-family: 'Glyphicons Halflings'; -webkit-font-smoothing: antialiased;
  position: absolute; top: 18px; right: 14px; font-size: 10px; font-weight: 400; opacity: .5;
}
.block-superfish ul.sf-menu ul li a.menuparent:after { content: "\e080"; top: 12px; right: 10px; }
.sf-menu.sf-horizontal.sf-shadow ul { background: #fff; padding: inherit !important; border-radius: 10px; }

/* subfooter menu */
#subfooter ul.menu li a { padding: 0 16px 12px; display: block; }

/* pre-header menu, bottom-content */
#pre-header ul.menu li a.active, #pre-header ul.menu li a:hover,
#bottom-content ul.menu li a.active, #bottom-content ul.menu li a:hover { color: #c9a227; }
#pre-header ul.menu li a { border-bottom: none; }

/* ── Pre-header ── */
#pre-header { color: rgba(255,255,255,.7); top: 0; left: 0; width: 100%; z-index: 13; position: relative; background: #07080b; border-bottom: 2px solid #c9a227; }
.logged-in #pre-header { padding-top: 64px; }
#pre-header-inside { display: none; position: relative; z-index: 13; padding: 32px 0 0; }

/* ── Header top ── */
#header-top {
  background: #fff; position: sticky; top: 0; z-index: 999;
  min-height: auto;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
  border-bottom: none;
}

#header { display: none; }

/* ── Main navigation container ── */
#main-navigation { position: relative; z-index: 11; }

/* ── Banner ── */
#slideshow { display: none; }

/* ── Page sections ── */
#top-content { background: #fff; padding: 40px 0; border-bottom: 1px solid #e2e8f0; }
#bottom-content { color: #ffffff; background: #0b2e6e; padding: 52px 0; position: relative; }
#bottom-content::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #c9a227, transparent); }

#footer { background: #0d1117; padding: 48px 0 24px; border-top: 3px solid #c9a227; }
#subfooter { background: #07080b; border-top: 1px solid rgba(255,255,255,.05); padding: 16px 0; text-align: center; margin: 0; color: rgba(200,215,235,.35); font-size: 12px; }

.block { padding: 0 0 24px; clear: both; }
#header-top .block, #main-navigation .block, #banner .block { padding: 0; }

/* ── Glyphicon blocks ── */
.glyphicon-block { text-align: center; }
.glyphicon-block .glyphicon { font-size: 48px; margin: 30px 0 0; }
.glyphicon-block h4 { margin-top: 10px; }

/* ── Logo ── */
#logo { padding: 8px 0; text-align: center; float: left; display: inline-block; position: relative; }
#logo img { display: block; max-height: 60px; width: auto; margin: auto; }
#logo img:hover { opacity: .85; }

#site-name a { font-size: 1.8rem; font-weight: 700; line-height: 1; margin: 0 0 8px; color: #0b2e6e; display: block; }
#site-name a:hover { text-decoration: none; opacity: .85; }
#site-slogan { color: #64748b; font-size: 13px; font-weight: 400; }

/* ── Nodes ── */
.node.node-teaser, .page-node- #content-wrapper, .page-contact #content-wrapper {
  background: #fff; border-radius: 12px; box-shadow: 0 1px 4px rgba(0,0,0,.08);
  border: 1px solid #e2e8f0; margin-bottom: 20px;
}
.node header h2 a:hover { text-decoration: none; }
.node > .content, #comments, .page-contact #content-wrapper { padding: 16px 24px; }
.node footer { padding: 16px 24px 0; border-top: 1px solid #e2e8f0; }
.field-name-field-image { margin: 8px 0 16px; }
.field-name-field-image img { border-radius: 8px; }
.node .user-signature { font-size: 12px; padding: 0; }
.user-picture { margin: 0 12px 0 0; display: inline-block; max-width: 48px; }
.submitted .glyphicon { top: 0; }

/* ── Comments ── */
#comments { background: #fff; border-radius: 12px; padding: 20px; }
.comment { border: 1px solid #e2e8f0; border-radius: 10px; padding: 24px; margin-top: 16px; background: #f8fafc; }
.comment header { padding: 0; }
.comment h3 { clear: both; }
.comment h3 a:hover { text-decoration: none; }
.comment .user-picture { float: left; margin: 0 12px 16px 0; }
.comment .new { margin: 8px 0; display: inline-block; background: #c9a227; color: #0b2e6e; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 700; }

/* ── Taxonomy ── */
.field-type-taxonomy-term-reference { position: relative; }
footer .field-type-taxonomy-term-reference { float: left; }
.field-type-taxonomy-term-reference .field-label { font-weight: 500; }
.field-type-taxonomy-term-reference .field-label, .field-type-taxonomy-term-reference .field-items { display: inline-block; }
.field-type-taxonomy-term-reference .field-item { margin: 0; display: inline; }
.field-type-taxonomy-term-reference .field-item:after { content: ","; margin-right: 5px; }
.field-type-taxonomy-term-reference .field-item:last-child:after { color: transparent; }

/* ── Forms ── */
input:focus, input[type="button"], input[type="reset"], input[type="submit"] { transition: all .2s ease; }
input.form-text, textarea.form-textarea, select {
  background: #fff; border: 1.5px solid #e2e8f0; color: #1e2433; font-size: 14px; padding: 10px 14px;
  width: 100%; min-height: 44px; box-shadow: none; border-radius: 8px;
  font-family: 'Inter', 'Open Sans', sans-serif; transition: border-color .2s, box-shadow .2s;
}
input.form-text:focus, textarea.form-textarea:focus {
  background: #fff; outline: none; border-color: #1a6bd4;
  box-shadow: 0 0 0 3px rgba(26,107,212,.13);
}
.search-form input.form-text { width: 70%; }
select { -webkit-appearance: menulist; }
fieldset { padding: 12px; margin: 0 2px; border: 1px solid #e2e8f0; border-radius: 8px; }
legend { border-bottom: none; font-size: 14px; width: auto; margin: 0; font-weight: 600; }

/* ── Buttons ── */
input[type="submit"], input[type="reset"], input[type="button"] {
  margin: 4px 4px 8px 0; background: #0b2e6e; border: none; box-shadow: none;
  color: #fff; padding: 11px 22px; text-transform: uppercase; border-radius: 8px;
  font-weight: 600; font-size: 13px; letter-spacing: .04em; cursor: pointer;
  font-family: 'Inter', 'Open Sans', sans-serif; transition: background .2s, transform .2s;
}
input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover {
  background: #c9a227; color: #0b2e6e; transform: translateY(-1px);
}

/* ── Tabs ── */
.nav-tabs { margin: 20px 0 12px; border-bottom: 2px solid #e2e8f0; display: flex; gap: 4px; }

/* ── Drupal system links ── */
ul.links { padding: 0; margin: 0; list-style-position: inside; }
ul.links li { margin: 0; }

/* ── Breadcrumb ── */
.breadcrumb { background: transparent; border: none; padding: 10px 0 16px; margin-bottom: 20px; border-radius: 0; font-size: 13px; }
.breadcrumb > li { margin: 0 2px 0 0; display: inline; }
.breadcrumb a { color: #1a6bd4; }
.breadcrumb > li + li::before { color: #94a3b8; }

/* ── Search block ── */
#header-top #block-search-form { margin-top: 0; display: flex; align-items: center; }
#header-top #block-search-form .form-item { margin: 0; }
#header-top #block-search-form input.form-text {
  border: 1.5px solid #e2e8f0; border-radius: 8px; font-size: 13px;
  min-height: 36px; padding: 6px 12px; width: 140px; background: #f8fafc;
  transition: width .3s ease, border-color .2s;
}
#header-top #block-search-form input.form-text:focus {
  width: 200px; border-color: #1a6bd4; background: #fff;
  box-shadow: 0 0 0 3px rgba(26,107,212,.1);
}
#block-search-form .form-actions, .sidebar-search-block .form-actions { position: static; }
#block-search-form .form-actions:after, .sidebar-search-block .form-actions:after { display: none; }
#block-search-form input.form-submit, .sidebar-search-block input.form-submit {
  display: none;
}
#search-block-form { position: relative; z-index: 10; }

/* ── Messages ── */
div.messages { padding: 14px 18px 14px 18px; margin-bottom: 16px; border: none; border-radius: 10px; border-left: 4px solid; font-size: 14px; }
div.messages a { font-weight: 600; }
div.messages.status { color: #14532d; background: #f0fdf4; border-color: #22c55e; }
div.messages.status a { color: #15803d; }
div.messages.error { color: #7f1d1d; background: #fef2f2; border-color: #ef4444; }
div.messages.error a { color: #b91c1c; }
div.messages.warning { color: #78350f; background: #fffbeb; border-color: #c9a227; }
div.messages.warning a { color: #a07e1a; }

/* ── Highlighted blocks ── */
.highlighted-block, #block-user-login, #block-poll-recent {
  overflow: hidden; padding: 24px; border-radius: 12px;
}
.highlighted-block-inside { padding: 0 24px 24px; text-align: center; }
.highlighted-block .btn {
  background: #0b2e6e; color: #fff; display: block; padding: 12px 24px; margin: 16px 0 0;
  text-align: center; border-radius: 8px; font-weight: 600; transition: background .2s;
}
.highlighted-block .btn:hover { background: #c9a227; color: #0b2e6e; }
.light, #block-user-login, #block-poll-recent { background: #fff; color: #1e2433; border: 1px solid #e2e8f0; }
.dark { background: #0b2e6e; color: #e2e8f0; padding: 24px; text-align: center; border-radius: 12px; }
.dark h3 { color: #fff; margin: 0 0 16px; }
.dark input[type="submit"] { font-size: 14px; font-weight: 600; }
#block-user-login { padding: 8px 24px 0; margin: 0 0 16px; }

/* ── Tags ── */
.tag { display: inline-block; }
.tag a { background: #e8eef8; color: #0b2e6e; font-size: 12px; padding: 4px 10px; margin: 2px 0; border-radius: 100px; display: block; font-weight: 500; }
.tag a:hover { background: #c9a227; color: #0b2e6e; }

/* ── Carousel ── */
.carousel .item { max-height: 520px; }
.carousel-fade .carousel-inner .item { opacity: 0; transition-property: opacity; }
.carousel-fade .carousel-inner .active { opacity: 1; }
.carousel-fade .carousel-inner .active.left, .carousel-fade .carousel-inner .active.right { left: 0; opacity: 0; z-index: 1; }
.carousel-fade .carousel-inner .next.left, .carousel-fade .carousel-inner .prev.right { opacity: 1; }
.carousel-fade .carousel-control { z-index: 2; }
.carousel ol.carousel-indicators { position: absolute; top: 16px; left: auto; z-index: 2; padding: 0 16px; margin: 0; text-align: right; opacity: 0; width: auto; bottom: auto; right: 16px; }
.carousel ol.carousel-indicators li { margin: 0; padding: 0; background: rgba(0,0,0,.4); cursor: pointer; border: none; width: 12px; height: 12px; border-radius: 50%; }
.carousel ol.carousel-indicators li.active { background: #fff; }
.carousel .carousel-control {
  background: #fff; color: #0b2e6e; display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; position: absolute; overflow: hidden; top: 50%; transform: translateY(-50%);
  text-align: center; cursor: pointer; opacity: 0; border-radius: 50%; box-shadow: 0 2px 8px rgba(0,0,0,.15);
  transition: opacity .3s ease; background-image: none; outline: none;
}
.carousel .carousel-control.right { right: 16px; }
.carousel .carousel-control.left { left: 16px; }
.carousel:hover .carousel-control, .carousel:hover ol.carousel-indicators { opacity: 1; }
.carousel .carousel-caption { background: rgba(0,0,0,.5); color: #fff; width: 100%; padding: 16px; position: absolute; bottom: 0; left: 0; text-align: center; }

/* ── Scroll to top ── */
#toTop {
  position: fixed; border-radius: 50%; background: #c9a227; width: 44px; height: 44px;
  bottom: 16px; right: 16px; cursor: pointer; color: #0b2e6e; font-size: 20px;
  text-align: center; display: none; z-index: 14;
  box-shadow: 0 4px 18px rgba(11,46,110,.2);
  display: none; /* JS controls this */
  line-height: 44px;
  transition: background .2s, transform .2s;
}
#toTop:hover { background: #0b2e6e; color: #fff; transform: translateY(-2px); }

/* ── Drupal primary links ── */
ul.primary { margin: 12px 0; padding-left: 0; display: flex; gap: 4px; list-style: none; }
ul.primary li a {
  display: block; padding: 8px 16px; border-radius: 8px 8px 0 0; font-size: 13.5px;
  font-weight: 600; color: #64748b; transition: all .2s;
}
ul.primary li.active a { color: #0b2e6e; border-bottom: 2px solid #0b2e6e; }
ul.primary li a:hover { color: #0b2e6e; background: #e8eef8; }

/* ── Toggle control ── */
.toggle-control { width: 100%; position: relative; z-index: 13; }
.toggle-control a, .toggle-control a:hover { color: #fff; position: absolute; top: 0; right: 0; display: block; padding: 14px 16px; cursor: pointer; }

/* ── Google map ── */
.gm-style img { max-width: none; }

/* ── Drupal toolbar resets ── */
#toolbar { box-sizing: content-box; }
#toolbar ul.menu { width: auto; }
#toolbar ul.menu li { background: none; }
.not-logged-in .block-forum .contextual-links-wrapper { display: none; }

/* ── Admin edit page ── */
.page-node-edit .region-content { padding: 0 24px; }
.page-node-edit .vertical-tabs { clear: both; }
.page-node-edit .vertical-tabs, .page-node-edit .vertical-tabs ul.vertical-tabs-list,
.page-node-edit .vertical-tabs ul.vertical-tabs-list li { border-color: #e2e8f0; }
.page-node-edit .vertical-tabs li { list-style: none; }

/* ===========================================================================
   CUSTOM LAYOUT — SEZ Naryn specific
   =========================================================================== */

/* ── Header-top layout ── */
#header-top-left { display: flex; align-items: center; }
#header-top-inside .col-md-8 { width: 80%; float: left; }
#header-top-inside .col-md-4 { width: 20%; float: left; }

/* ── Logo + Nav side by side ── */
#logo { width: auto; background: none; padding: 8px 0; box-shadow: none; position: relative; left: auto; top: auto; margin-right: 20px; }
#main-navigation { float: none; display: inline-block; position: relative; margin-left: 0; margin-top: 0; width: auto; }

/* ── Nice Menu / Navigation ── */
#block-nice-menus-1 { position: relative; }
.col-md-12 { padding: 0; }

#main-navigation a {
  color: #0b2e6e; font-family: 'Inter', sans-serif; font-weight: 600;
  font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase;
  padding: 20px 14px; display: block; border-bottom: 3px solid transparent;
  transition: color .2s, border-color .2s;
}
#main-navigation a:hover, #main-navigation .over a {
  text-decoration: none; color: #a07e1a; border-bottom-color: #c9a227;
}

/* Language & search */
#block-locale-language, #block-search-form { display: inline-block; vertical-align: middle; }
.region-header-top-right { text-align: right; display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }

/* Language block */
#block-locale-language h2 { display: none; }
#block-locale-language div.content { margin: 0; z-index: 100; }
#block-locale-language img { margin-bottom: 4px; border-radius: 2px; }
#block-locale-language ul { padding: 0; margin: 0; display: flex; gap: 8px; align-items: center; }
#block-locale-language ul li { list-style: none; line-height: 1; }
#block-locale-language ul li a { text-decoration: none; color: #0b2e6e; font-size: 11px; }
#block-locale-language ul li a.active, #block-locale-language ul li a:hover { opacity: 1; }

/* ── Nice menu dropdowns ── */
#main-navigation li.menuparent { padding-bottom: 0; text-align: center; }
#main-navigation li.menuparent:hover, #main-navigation li.menuparent.over { background-image: none; }
#main-navigation .menuparent ul {
  background: #fff; margin-left: 0; margin-top: 0; padding: 6px; width: auto; min-width: 200px;
  box-shadow: 0 8px 32px rgba(11,46,110,.18); border-radius: 10px; position: absolute; z-index: 1000;
}
#main-navigation .menuparent ul li {
  width: 100%; text-align: left; background: transparent; padding: 0;
}
#main-navigation .menuparent ul li a {
  color: #1e2433; font-size: 13px; font-weight: 500; text-transform: none; letter-spacing: 0;
  padding: 9px 14px; border-radius: 6px; border-bottom: none;
}
#main-navigation .menuparent ul li a:hover { background: #e8eef8; color: #0b2e6e; }

/* Remove old fixed widths on specific menu items */
#main-navigation .menu-507.menuparent ul li, #main-navigation .menu-507.menuparent ul,
#main-navigation .menu-525.menuparent ul, #main-navigation .menu-355.menuparent ul,
#main-navigation .menu-355.menuparent ul li { width: auto; margin-left: 0; }

ul.nice-menu li.last { display: inline-block; list-style: none; text-align: center; }

/* Search form z-index */
#search-block-form { position: relative; z-index: 1000; }

/* ── Feature cards (view-questions-front) ── */
.view-questions-front table { border: none; background: transparent; box-shadow: none; }
.view-questions-front table td { width: 25%; padding: 0 10px 20px; vertical-align: top; border: none; }
.view-questions-front .views-field-title {
  text-align: center; font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 700;
  margin: 16px 0 12px; line-height: 1.35;
}
.view-questions-front .views-field-title a, .view-questions-front .views-field-title { color: #0b2e6e; }
.view-questions-front .views-field-title a:hover { color: #a07e1a; }
.view-questions-front div.questions {
  background: #fff; padding: 24px; border-radius: 14px;
  box-shadow: 0 1px 4px rgba(0,0,0,.08); border: 1px solid #e2e8f0;
  transition: box-shadow .2s, transform .2s; height: 100%;
}
.view-questions-front div.questions:hover { box-shadow: 0 4px 18px rgba(11,46,110,.13); transform: translateY(-3px); }
.view-questions-front .views-field-body {
  text-align: left; font-size: 13.5px; color: #64748b; line-height: 1.6; min-height: 0;
}
.view-questions-front .views-field-field-image img { border-radius: 10px; margin: 0 auto; }

#block-views-questions-front-block { margin-top: 16px; padding: 0; }

/* ── News blocks ── */
#bottom-news-content #block-views-main-news-block,
#bottom-news-content #block-views-main-news-block-1 { display: inline-block; vertical-align: top; }
#bottom-news-content #block-views-main-news-block { width: 37%; }
#sidebar-second { margin-top: 0; }
#bottom-news-content #block-views-main-news-block div.content,
#bottom-news-content #block-views-main-news-block-1 div.content,
#block-views-main-news-block-2 div.content,
#block-views-main-news-block-3 div.content {
  background: #fff; padding: 24px; min-height: auto;
  box-shadow: 0 1px 4px rgba(0,0,0,.08); border-radius: 14px; border: 1px solid #e2e8f0;
}
#block-views-main-news-block-3 div.views-field-field-image img { margin: auto; }
#bottom-news-content #block-views-main-news-block-1 { width: 55%; display: inline-block; margin-left: 5%; }
#bottom-news-content .container { padding: 0 20px !important; }
.front #content-wrapper { display: none; }

#bottom-news-content #block-views-main-news-block h2,
#bottom-news-content #block-views-main-news-block-1 h2 {
  margin-top: 0; font-family: 'Inter', sans-serif; font-size: 13px; color: #0b2e6e;
  text-transform: uppercase; letter-spacing: .07em; font-weight: 700;
  background-image: none; padding-left: 0; height: auto; padding-top: 0;
  border-bottom: 2px solid #c9a227; padding-bottom: 10px; margin-bottom: 16px;
}

/* News titles & body */
#bottom-news-content .views-field-title a,
#block-views-main-news-block-2 .views-field-title a,
#block-views-main-news-block-3 .views-field-title a {
  font-family: 'Inter', sans-serif; font-size: 14px; color: #0b2e6e; font-weight: 700;
}
#block-views-main-news-block-1 .views-field-title a,
#block-views-main-news-block-2 .views-field-title a,
#block-views-main-news-block-3 .views-field-title a { color: #0b2e6e; }
#bottom-news-content .views-field-title,
#block-views-main-news-block-2 .views-field-title { line-height: 1.35; margin: 12px 0 16px; }
#block-views-main-news-block-3 .views-field-title { line-height: 1.35; margin: 12px 0 8px; }
#bottom-news-content .views-field-body,
#block-views-main-news-block-2 .views-field-body,
#block-views-main-news-block-3 .views-field-body { font-size: 13.5px; color: #475569; line-height: 1.6; }

/* "More" links */
#bottom-news-content div.views-field-view-node a,
#block-views-main-news-block-2 div.views-field-view-node a,
#block-views-main-news-block-3 div.views-field-view-node a {
  font-size: 13px; color: #1a6bd4; font-weight: 600; background-image: none; padding-right: 0;
}
#bottom-news-content div.views-field-view-node a:hover { color: #c9a227; }
#bottom-news-content div.views-field-view-node { text-align: right; margin: 12px 0 8px; }
#block-views-main-news-block-3 div.views-field-view-node { text-align: right; margin: 16px 0 24px; }
#block-views-main-news-block-2 div.views-field-view-node { text-align: right; margin: 12px 0 8px; }

#bottom-news-content img, #block-views-main-news-block-2 img { border: none; border-radius: 8px; }

#block-views-main-news-block-1 div.views-field-field-image,
#block-views-main-news-block-2 div.views-field-field-image { float: left; margin-right: 20px; margin-bottom: 20px; }
#block-views-main-news-block-1 .views-field-title,
#block-views-main-news-block-2 .views-field-title { margin-top: 0; margin-bottom: 8px; }
#block-views-main-news-block-1 div.views-row,
#block-views-main-news-block-2 div.views-row { clear: both; display: block; min-height: 140px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid #e2e8f0; }
#block-views-main-news-block-1 div.views-row:last-child,
#block-views-main-news-block-2 div.views-row:last-child { border-bottom: none; }

/* ── Bottom content (Gallery / Video / Partners) ── */
#bottom-content h2, #bottom-content .block-title {
  color: #c9a227; font-size: 13px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; border-bottom: 1px solid rgba(255,255,255,.1);
  padding-bottom: 10px; margin-bottom: 16px;
}
#bottom-content a { color: rgba(200,220,255,.8); }
#bottom-content a:hover { color: #c9a227; }

/* Gallery */
#block-views-slick-x-block-node {
  margin-top: 0; position: relative; padding: 0; width: 49%;
  display: inline-block; vertical-align: top; padding-right: 24px;
}

/* Video */
#block-views-video-block-1 {
  margin-top: 0; position: relative; padding: 0; width: 49%;
  display: inline-block; vertical-align: top;
}

/* Partner carousel */
#block-views-slick-x-block-carousel {
  margin-top: 0; position: relative; padding: 0; width: 100%; max-width: 1260px; margin: 0 auto;
}

.view-slick-x table { border: none; background: transparent; box-shadow: none; }
.view-slick-x table td { width: 25%; padding: 0 0 16px 16px; border: none; }
.view-slick-x table td img { margin-bottom: 12px; border-radius: 6px; transition: transform .2s, opacity .2s; }
.view-slick-x table td img:hover { transform: scale(1.04); opacity: .85; }

#block-views-slick-x-block-node h2,
#block-views-video-block-1 h2 {
  color: #c9a227; display: inline-block; font-size: 13px; font-weight: 700;
  margin-bottom: 16px; text-transform: uppercase; letter-spacing: .07em;
  background-image: none; padding-left: 0;
}

div.media-youtube-video { margin: auto; text-align: center; }
#block-views-video-block-1 iframe { height: 175px; width: 95%; border-radius: 8px; }
#block-views-video-block-1 div.views-row { height: auto; width: 48%; display: inline-block; margin-bottom: 16px; }
.view-video div.views-row { margin-bottom: 16px; clear: both; }

#block-views-slick-x-block-carousel .slick-media img { border: none; border-radius: 8px; }
#block-views-slick-x-block-carousel .slick-slider { padding: 0 60px; }
#block-views-slick-x-block-carousel .slick-dots { display: none !important; }

/* ── Footer blocks ── */
#footer a { color: rgba(200,215,235,.65); transition: color .2s; }
#footer a:hover { color: #c9a227; }
#footer h2 { color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .07em; border-bottom: 1px solid rgba(255,255,255,.1); padding-bottom: 10px; margin: 0 0 16px; }
#block-block-2 { padding: 20px; }
#block-block-3 { padding: 16px 0 0; color: rgba(200,215,235,.7); font-size: 13px; }
#block-block-3 table, #block-block-3 tbody, #block-block-3 tr, #block-block-3 td { border: none; margin-bottom: 0; background: transparent; box-shadow: none; }
#block-block-4 img { display: inline-block; margin-right: 16px; }
#block-block-4 { padding-right: 16px; padding-top: 16px; text-align: right; }
#block-block-5 { color: rgba(200,215,235,.5); font-size: 12px; margin-top: 20px; }
#block-block-5 img { margin-top: 8px; }

.footer-area { padding: 0 8px; }

/* ── EAS Link block ── */
#block-views-main-news-block .views-field-title a {
  width: 100%; max-width: 420px; height: auto; position: relative; display: block;
}

/* ── Breadcrumb on pages ── */
#breadcrumb { margin-top: 0; }

/* ── Body field bullets ── */
.field-name-body ul li {
  background-image: none; padding-left: 0; list-style: disc; margin-bottom: 6px;
}

/* ── Photo gallery nodes ── */
.node-foto .field-name-field-images div.field-item { display: inline-block; margin: 8px 12px; }
.page-node div.field-name-field-image { float: left; margin-right: 12px; margin-top: 4px; margin-bottom: 8px; }
.field-name-field-gallery .node > .content { padding: 0; }
.field-name-field-gallery .node-foto h2 { display: none; }
div.field-name-field-gallery { clear: both; display: block; margin-top: 16px; position: relative; }

.rtecenter img { margin: auto; }

/* ── Slick related ── */
.slick--skin--classic .slide__caption { height: 100%; min-height: 100%; top: 0; width: 100% !important; }

/* ── Tables ── */
table { width: 100%; margin-bottom: 20px; border-collapse: separate; border-spacing: 0; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,.06); background: #fff; }
table tbody { border-top: none; }
table tr.even, table tr.odd { background-color: transparent; border-bottom: 1px solid #e2e8f0; }
th { background: #0b2e6e; color: #fff; font-weight: 600; font-size: 12.5px; text-transform: uppercase; letter-spacing: .04em; }
thead tr th, thead tr td, tbody tr th, tbody tr td { padding: 12px 14px; line-height: 1.4; vertical-align: top; border: none; }
tbody tr:hover { background: #e8eef8; }

/* ── Kyrgyz language menu fix ── */
.i18n-ky ul.nice-menu li { display: inline-block; list-style: none; text-align: center; vertical-align: top; }

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media only screen and (max-width: 991px) {
  #main-navigation a { font-size: 11.5px; padding: 16px 10px; }
  #header-top-inside .col-md-8 { width: 100%; }
  #header-top-inside .col-md-4 { width: 100%; }
}

@media only screen and (max-width: 767px) {
  .container { width: 100% !important; padding: 0 16px !important; }

  #header-top { position: relative; }

  .view-questions-front table td { width: 100%; display: block; padding: 0 0 16px; }
  .view-questions-front .views-field-body { min-height: auto; }

  #bottom-news-content #block-views-main-news-block { width: 100%; text-align: center; }
  div.views-field-field-image, div.views-field-title, .views-field-field-image img { text-align: center; width: 100%; }
  #bottom-news-content #block-views-main-news-block-1 { width: 100%; margin-left: 0; }
  #bottom-news-content #block-views-main-news-block div.content,
  #bottom-news-content #block-views-main-news-block-1 div.content,
  #block-views-main-news-block-2 div.content { min-height: auto; }

  #block-views-slick-x-block-node, #block-views-video-block-1 { display: block; clear: both; width: 100%; padding-right: 0; }
  #block-views-slick-x-block-carousel { width: 100%; }
  #block-views-slick-x-block-carousel .slick-slider { padding: 0; }
  #block-views-video-block-1 div.views-row { width: 100%; display: block; height: auto; }

  #footer-inside p, #footer-inside table, #footer-inside img { text-align: center; margin: auto; }
  #footer-inside .block { margin: 0; padding: 16px 0 0; }
  .footer-area table { width: 100% !important; }
  .footer-area table td { display: block; width: 100%; }

  iframe { width: 100%; height: auto; }
  #block-views-main-news-block .views-field-title a { width: 100%; }

  #main-navigation { width: 100%; margin-left: 0; }
  .responsive-menus.responsified span.toggler, .responsive-menus.responsified .responsive-menus-simple {
    background: #fff; color: #0b2e6e; border: 1.5px solid #e2e8f0; border-radius: 8px;
  }
  .region-header-top-right { text-align: right; padding-bottom: 12px; position: relative; z-index: 1; justify-content: flex-end; }

  #main-navigation .menuparent ul { width: 100%; margin: 0; box-shadow: none; border-radius: 0; }
  #main-navigation .menuparent ul li { width: 100%; padding: 0; }
  #main-navigation a { color: #0b2e6e; font-weight: 600; font-size: 13px; }
  #main-navigation li.menuparent { padding-bottom: 0; }

  .responsive-menus.responsified.responsive-toggled .responsive-menus-simple,
  .responsive-menus.responsified.responsive-toggled .responsive-menus-simple ul {
    display: block; padding: 0; margin: 0; z-index: 100 !important;
  }
  .responsive-menus.responsified { clear: both; }
  .slick-list { padding: 0 !important; }
  #bottom-news-content .container { padding: 0 16px !important; }
  #bottom-news-content div.views-field-view-node { text-align: right; margin-bottom: 32px; margin-top: 0; }

  h1 { font-size: 1.5rem; }
  h2 { font-size: 1.25rem; }

  #bottom-content { padding: 36px 0; }
  #footer { padding: 32px 0 16px; }
}

@media only screen and (max-width: 480px) {
  body { font-size: 14px; }
  .node > .content { padding: 12px 14px; }
}

@media only screen and (max-width: 330px) {
  #block-search-form { display: none; }
}

/* ══════════════════════════════════════════════════════════════
   ANIMATIONS & MODERN ENHANCEMENTS
   ══════════════════════════════════════════════════════════════ */

/* ── Keyframes ── */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-24px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
@keyframes ripple-out {
  0%   { transform: scale(0); opacity: .35; }
  100% { transform: scale(2.5); opacity: 0; }
}
@keyframes pulse-dot {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%       { transform: scale(1.15); opacity: .7; }
}

/* ── Scroll reveal ── */
.sr-hidden {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .6s cubic-bezier(.23,1,.32,1),
              transform .6s cubic-bezier(.23,1,.32,1);
  will-change: opacity, transform;
}
.sr-hidden.sr-visible {
  opacity: 1;
  transform: none;
}

/* ── Section heading reveal ── */
.sr-heading {
  opacity: 0;
  transform: translateX(-16px);
  transition: opacity .5s ease, transform .5s ease;
}
.sr-heading.sr-heading-in {
  opacity: 1;
  transform: none;
}

/* ── Feature card icons ── */
.card-icon-wrap {
  width: 52px; height: 52px;
  background: linear-gradient(135deg, #0b2e6e 0%, #1a6bd4 100%);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px;
  box-shadow: 0 4px 16px rgba(11,46,110,.25);
  transition: transform .3s ease, box-shadow .3s ease;
}
.card-icon-wrap i {
  color: #c9a227;
  font-size: 22px;
}
.view-questions-front div.questions:hover .card-icon-wrap {
  transform: translateY(-3px) scale(1.06);
  box-shadow: 0 8px 24px rgba(11,46,110,.35);
}

/* ── Nav icons ── */
i.nav-icon {
  font-size: 11px;
  margin-right: 5px;
  opacity: .7;
  vertical-align: middle;
}

/* ── Enhanced feature cards ── */
.view-questions-front div.questions {
  text-align: center;
  position: relative;
  overflow: hidden;
}
.view-questions-front div.questions::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 14px;
  border: 1.5px solid transparent;
  background: linear-gradient(135deg, rgba(201,162,39,.2), transparent) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0;
  transition: opacity .3s;
}
.view-questions-front div.questions:hover::after { opacity: 1; }

/* ── Sticky header glass on scroll ── */
#header-top.header-scrolled {
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 24px rgba(11,46,110,.12) !important;
}

/* ── Button ripple ── */
.btn-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,.35);
  animation: ripple-out .6s ease-out forwards;
  pointer-events: none;
  z-index: 0;
}

/* ── Enhanced buttons ── */
input[type="submit"], input[type="reset"], input[type="button"], .btn {
  position: relative;
  overflow: hidden;
}
input[type="submit"]:active, .btn:active {
  transform: translateY(1px);
}

/* ── "Read more" link hover ── */
div.views-field-view-node a,
.more-link a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: gap .2s ease, color .2s;
}
div.views-field-view-node a:hover,
.more-link a:hover { gap: 8px; }

/* ── News card hover ── */
#bottom-news-content .views-row,
#block-views-main-news-block-2 .views-row,
#block-views-main-news-block-3 .views-row {
  transition: transform .25s ease;
}
#bottom-news-content .views-row:hover { transform: translateX(4px); }

/* ── Gradient section divider ── */
#top-content {
  position: relative;
}
#top-content::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, #0b2e6e, #1a6bd4, #c9a227, #0b2e6e);
  background-size: 400% 100%;
  animation: shimmer 6s linear infinite;
}

/* ── Scroll-to-top button (flex center) ── */
#toTop {
  display: none;
  align-items: center;
  justify-content: center;
}

/* ── Footer block fade ── */
#footer .block {
  transition: opacity .3s;
}

/* ── Image hover zoom ── */
.view-slick-x table td img,
.field-name-field-image img,
.views-field-field-image img {
  transition: transform .4s ease, box-shadow .4s ease;
}
.view-slick-x table td img:hover { transform: scale(1.05); }
.node-teaser:hover .field-name-field-image img { transform: scale(1.03); box-shadow: 0 8px 24px rgba(0,0,0,.15); }

/* ── Active nav link indicator dot ── */
ul.nice-menu > li > a.active::after,
ul.nice-menu > li.active-trail > a::after {
  content: '';
  display: block;
  width: 5px; height: 5px;
  background: #c9a227;
  border-radius: 50%;
  margin: 2px auto 0;
  animation: pulse-dot 2s ease-in-out infinite;
}

/* ── Card number badge (subtle) ── */
.view-questions-front table td:nth-child(1) .card-icon-wrap { background: linear-gradient(135deg,#0b2e6e,#1a6bd4); }
.view-questions-front table td:nth-child(2) .card-icon-wrap { background: linear-gradient(135deg,#1a4fa0,#2980d4); }
.view-questions-front table td:nth-child(3) .card-icon-wrap { background: linear-gradient(135deg,#0e3d7a,#1a6bd4); }
.view-questions-front table td:nth-child(4) .card-icon-wrap { background: linear-gradient(135deg,#0b2e6e,#c9a227); }

/* ── Gradient text for main headings ── */
.page-header h1, h1.page-title {
  background: linear-gradient(90deg, #0b2e6e 0%, #1a6bd4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Enhanced section headings ── */
#bottom-news-content h2 {
  position: relative;
  display: inline-block;
}
#bottom-news-content h2::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 0; height: 2px;
  background: #c9a227;
  transition: width .4s ease;
}
#bottom-news-content h2.sr-heading-in::after { width: 100%; }

/* ── Responsive animation adjustments ── */
@media (prefers-reduced-motion: reduce) {
  .sr-hidden { opacity: 1 !important; transform: none !important; transition: none !important; }
  .sr-heading { opacity: 1 !important; transform: none !important; transition: none !important; }
  #top-content::before { animation: none; }
  .card-icon-wrap { transition: none; }
}
