
:root {
  --hybrid-accent: #c8a455;
  --hybrid-dark: #0f1720;
  --hybrid-surface: #ffffff;
  --hybrid-soft: #fbfaf7;
  --hybrid-text: #1c1c1c;
}
body { background: #f6f4ef; color: var(--hybrid-text); }
.header-top.bg-blue-111 { background: rgba(15,23,32,.96) !important; }
.header-nav-wrapper.navbar-scrolltofixed.bg-white { box-shadow: 0 12px 30px rgba(2,6,23,.08); }
.menuzord-brand img { max-height: 62px; width: auto; }
.menuzord-menu > li > a { font-weight: 600; letter-spacing: .02em; }
.menuzord-menu ul.dropdown { border-radius: 16px; overflow: hidden; box-shadow: 0 18px 40px rgba(2,6,23,.15); border: none; }
.menuzord-menu ul.dropdown li a { padding: 12px 18px; }
#home .rev_slider_wrapper, .inner-header { box-shadow: 0 16px 50px rgba(2,6,23,.14); }
.bg-lighter, .divider.bg-lightest { background: var(--hybrid-soft) !important; }
.section-title h2, .section-title .title, .entry-title, .widget-title, h1, h2, h3, h4 { letter-spacing: -.02em; }
#news .entry-content.bg-white, .blog-posts .post, .events-venue, .thumbnail, .widget .latest-posts article, #gallery .thumb, #contact form, .hybrid-logo-card { background: #fff; border-radius: 24px; box-shadow: 0 16px 45px rgba(2,6,23,.06); border: 1px solid rgba(15,23,42,.08); }
#news .entry-content.bg-white, .blog-posts .post, #contact form { overflow: hidden; }
#news .thumb img, .post-thumb img, .gallery-item .thumb img, .thumbnail img { border-radius: 18px; }
#news .entry-content.bg-white { padding: 1.35rem !important; }
#news .entry-title a, .latest-posts .post-title a, .post-right h5 a { color: #111; }
.btn-theme-colored, .btn-default.btn-lg, .btn-flat.btn-theme-colored { background: linear-gradient(135deg, #c8a455, #e0c27a) !important; color: #111 !important; border: none !important; border-radius: 999px !important; box-shadow: 0 10px 25px rgba(200,164,85,.35); font-weight: 700; }
.hybrid-logo-grid { display: grid; gap: 1rem; }
.hybrid-logo-grid--affiliations { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hybrid-logo-grid--sponsors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hybrid-logo-card { min-height: 120px; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.hybrid-logo-card img { max-height: 70px; width: auto; object-fit: contain; }
.hybrid-logo-card--dark { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); }
.footer .widget.dark .styled-icons li a, .styled-icons.icon-flat li a { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: rgba(255,255,255,.08); }
.footer .widget.dark .styled-icons li a:hover, .styled-icons.icon-flat li a:hover { background: var(--hybrid-accent); color: #111 !important; }
.footer { background: var(--hybrid-dark) !important; }
.footer-bottom.bg-black-333 { background: #0b1118 !important; }
.inner-header.divider.parallax { background-size: cover !important; background-position: center center !important; }
.inner-header .title { font-size: clamp(2rem, 4vw, 3rem); }
.breadcrumb.white li, .breadcrumb.white li a { color: rgba(255,255,255,.92) !important; }
#about .events-venue { padding: 2rem !important; }
.gallery-isotope .gallery-item .thumb, .thumbnail { border-radius: 20px; }
@media (max-width: 991px) { .hybrid-logo-grid--affiliations, .hybrid-logo-grid--sponsors { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .menuzord-menu ul.dropdown { box-shadow: none; border-radius: 0; } .hybrid-logo-grid--affiliations, .hybrid-logo-grid--sponsors { grid-template-columns: 1fr; } .hybrid-logo-card { min-height: 100px; } }

/* PATCH stats */
.itkf-patch-stats{background:#0f1720;padding:50px 0}
.itkf-patch-stat{text-align:center;background:rgba(255,255,255,.05);padding:20px;border-radius:12px;margin-bottom:20px}
.itkf-patch-stat strong{display:block;color:#fff;font-size:30px}
.itkf-patch-stat span{color:#ddd;font-size:13px}

/* PATCH single */
.itkf-patch-single{font-size:16px;line-height:1.8}
.itkf-patch-single img{max-width:100%;height:auto;margin:20px 0}


/* ===== V11.4 banner mobile fix (CSS ONLY - safe) ===== */
@media (max-width: 768px) {

  /* improve banner height */
  #home, .rev_slider_wrapper {
    min-height: 85vh !important;
  }

  /* fix image crop */
  #home img,
  .rev_slider_wrapper img {
    object-fit: cover !important;
    object-position: center top !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* improve text readability */
  #home .tp-caption,
  #home h1,
  #home h2,
  #home h3 {
    text-shadow: 0 2px 10px rgba(0,0,0,0.7);
  }

  /* spacing fix */
  #home .container {
    padding-top: 80px !important;
    padding-bottom: 40px !important;
  }

}

/* small devices */
@media (max-width: 480px) {

  #home, .rev_slider_wrapper {
    min-height: 90vh !important;
  }

  #home h1 {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }

  #home h2 {
    font-size: 20px !important;
  }

}



/* ===== V11.5 low-risk visual polish ===== */

/* News / Events cards */
#news .post .entry-content,
#events .post .entry-content {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
  transition: transform .25s ease, box-shadow .25s ease;
  border: 1px solid rgba(15, 23, 42, 0.06);
  background: #fff;
}

#news .post:hover .entry-content,
#events .post:hover .entry-content {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.12);
}

#news .post .thumb,
#events .post .thumb {
  overflow: hidden;
  border-radius: 12px;
}

#news .post .thumb img,
#events .post .thumb img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  transition: transform .35s ease;
}

#news .post:hover .thumb img,
#events .post:hover .thumb img {
  transform: scale(1.04);
}

#news .entry-title,
#events .entry-title {
  min-height: 52px;
  line-height: 1.3;
}

#news .entry-title a,
#events .entry-title a {
  color: #0f1720;
}

#news .entry-date,
#events .entry-date {
  display: inline-block;
  margin-top: 2px;
  margin-bottom: 8px;
  color: #7a5c23;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .02em;
}

#news .btn-theme-colored,
#events .btn-theme-colored {
  border-radius: 999px;
  padding-left: 16px;
  padding-right: 16px;
  box-shadow: 0 8px 18px rgba(200, 164, 85, 0.18);
}

/* Safer section spacing polish */
#news,
#events,
#gallery {
  padding-top: 70px;
  padding-bottom: 70px;
}

.section-title .title {
  letter-spacing: .02em;
}

/* Gallery card polish without changing structure */
#gallery .thumb {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

#gallery .thumb img {
  transition: transform .3s ease;
}

#gallery .thumb:hover img {
  transform: scale(1.03);
}

/* About / generic content card polish */
.events-venue {
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
  background: #fff;
}

/* Subtle sponsor/affiliation polish if present */
.logo-grid__item {
  transition: transform .22s ease, box-shadow .22s ease;
}
.logo-grid__item:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.10);
}

@media (max-width: 767px) {
  #news .post .thumb img,
  #events .post .thumb img {
    height: 190px;
  }

  #news,
  #events,
  #gallery {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  #news .entry-title,
  #events .entry-title {
    min-height: 0;
  }
}



/* ===== V11.6 low-risk list/about polish ===== */

/* News List / Events List cards */
.itkf-v116-list-card .entry-content {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
  transition: transform .25s ease, box-shadow .25s ease;
  border: 1px solid rgba(15, 23, 42, 0.06);
  background: #fff;
}

.itkf-v116-list-card:hover .entry-content {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.12);
}

.itkf-v116-list-card .thumb {
  overflow: hidden;
  border-radius: 12px;
}

.itkf-v116-list-card .thumb img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  transition: transform .35s ease;
}

.itkf-v116-list-card:hover .thumb img {
  transform: scale(1.04);
}

.itkf-v116-list-card .entry-title {
  min-height: 58px;
  line-height: 1.3;
}

.itkf-v116-list-card .entry-title a {
  color: #0f1720;
}

.itkf-v116-list-card .entry-date {
  display: inline-block;
  margin-top: 2px;
  margin-bottom: 10px;
  color: #7a5c23;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .02em;
}

.itkf-v116-list-card .btn-theme-colored {
  border-radius: 999px;
  padding-left: 16px;
  padding-right: 16px;
  box-shadow: 0 8px 18px rgba(200, 164, 85, 0.18);
}

/* Paginations */
.pagination,
nav ul.page-numbers,
.page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.page-numbers li {
  list-style: none;
}

.page-numbers a,
.page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

.page-numbers .current {
  background: #c8a455;
  color: #111;
  border-color: #c8a455;
}

/* About Us softer polish */
#about .section-title .title,
.page-hero h1 {
  letter-spacing: .02em;
}

#about .events-venue {
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
  background: #fff;
}

#about img.img-fullwidth,
.page-hero__media img {
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.thumbnail {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.thumbnail img {
  transition: transform .3s ease;
}

.thumbnail:hover img {
  transform: scale(1.03);
}

@media (max-width: 767px) {
  .itkf-v116-list-card .thumb img {
    height: 190px;
  }

  .itkf-v116-list-card .entry-title {
    min-height: 0;
  }

  .page-numbers a,
  .page-numbers span {
    min-width: 36px;
    min-height: 36px;
    padding: 0 10px;
  }
}



/* ===== V11.7 footer / affiliations / sponsors polish ===== */

/* Footer */
.site-footer,
footer.site-footer,
footer {
  position: relative;
}

.site-footer__grid,
.site-footer .container:first-child,
footer .container:first-child {
  row-gap: 24px;
}

.site-footer h4,
footer h4 {
  letter-spacing: .02em;
}

.site-footer p,
.site-footer li,
.site-footer a,
footer p,
footer li,
footer a {
  line-height: 1.7;
}

.site-footer ul,
footer ul {
  padding-left: 0;
}

.site-footer ul li,
footer ul li {
  list-style: none;
  margin-bottom: 8px;
}

.site-footer__bottom,
footer .site-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.12);
}

/* Affiliations / Sponsors logo blocks */
.logo-grid,
.logo-grid--affiliations,
.logo-grid--sponsors {
  gap: 18px;
}

.logo-grid__item {
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
  padding: 18px;
}

.logo-grid__item img {
  max-height: 74px;
  width: auto;
  object-fit: contain;
  margin: 0 auto;
  display: block;
}

.logo-grid__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.12);
}

.sponsors-strip {
  padding-top: 56px;
  padding-bottom: 46px;
}

/* Section heading refinement when used with affiliations/sponsors */
.section-heading--compact h2 {
  margin-bottom: 8px;
}
.section-heading--compact p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

/* Footer on mobile */
@media (max-width: 767px) {
  .logo-grid__item {
    padding: 14px;
    border-radius: 14px;
  }

  .logo-grid__item img {
    max-height: 58px;
  }

  .sponsors-strip {
    padding-top: 44px;
    padding-bottom: 34px;
  }
}



/* ===== V11.8 typography + buttons refinement ===== */

/* Typography */
h1, h2, h3, h4 {
  letter-spacing: -0.01em;
}
h1 { font-weight: 700; }
h2 { font-weight: 600; }
h3, h4 { font-weight: 600; }

p {
  line-height: 1.75;
  color: #333;
}

.section-title .title {
  letter-spacing: 0.02em;
  margin-bottom: 10px;
}

.section-title p {
  font-size: 14px;
  color: #777;
}

/* Buttons */
.btn,
.btn-theme-colored {
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: all 0.25s ease;
}

.btn-theme-colored {
  box-shadow: 0 8px 20px rgba(200, 164, 85, 0.25);
}

.btn-theme-colored:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(200, 164, 85, 0.35);
}

.btn-sm {
  padding: 6px 14px;
  font-size: 13px;
}

/* Links */
a {
  transition: color 0.2s ease;
}

a:hover {
  color: #c8a455;
}

/* Mobile */
@media (max-width: 767px) {

  h1 {
    font-size: 26px;
    line-height: 1.2;
  }

  h2 {
    font-size: 22px;
  }

  h3 {
    font-size: 18px;
  }

  p {
    font-size: 14px;
  }

  .btn,
  .btn-theme-colored {
    padding: 9px 16px;
  }
}
