/* ===========================================================
   Ola Olukoyede — supplemental styles (additive to Elementor)
   Effects Elementor Free can't do natively. Hooks via CSS classes.
   =========================================================== */

/* ---- Sticky, blurred header (template 108, targeted by stable Elementor ID) ---- */
.elementor-108 > .e-con.e-parent {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 999;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
/* header row: logo shrinks to content, nav fills the rest */
.elementor-108 .e-con-boxed > .e-con-inner { align-items: center; }
.elementor-108 .e-con-boxed > .e-con-inner > .e-con:first-child { flex: 0 0 auto !important; width: auto !important; }
.elementor-108 .e-con-boxed > .e-con-inner > .e-con:last-child  { flex: 1 1 auto !important; min-width: 0; }
/* top-level menu = single flex row, right aligned */
.elementor-108 ul.wpr-nav-menu { display: flex !important; flex-wrap: nowrap !important; justify-content: flex-end; align-items: center; }
.elementor-108 ul.wpr-nav-menu > li > a { white-space: nowrap; }

/* ---- Eyebrow: 44px gold rule + uppercase label ---- */
.ola-eyebrow .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.ola-eyebrow .elementor-heading-title::before {
  content: "";
  width: 44px;
  height: 1px;
  background: currentColor;
  flex: 0 0 auto;
}
.ola-eyebrow.ola-eyebrow--center .elementor-heading-title { justify-content: center; }

/* ---- No-wrap helper (logo wordmark / tagline) ---- */
.ola-nowrap .elementor-heading-title { white-space: nowrap; }

/* ---- Card hover lift (news / blog / cutting cards) ---- */
.ola-card {
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.ola-card:hover {
  transform: translateY(-4px);
  border-color: #C4A055 !important;
  box-shadow: 0 20px 40px rgba(12, 20, 32, 0.10);
}
.ola-card--dark:hover { box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35); }

/* ---- Gold offset frame behind portraits ---- */
.ola-frame { position: relative; }
.ola-frame::before {
  content: "";
  position: absolute;
  top: 20px; left: 20px; right: -20px; bottom: -20px;
  border: 1px solid #C4A055;
  z-index: 0;
  pointer-events: none;
}
.ola-frame > * { position: relative; z-index: 1; }

/* ---- Link arrow nudge on hover ---- */
.ola-arrow:hover .elementor-button-icon,
.ola-arrow:hover span[class*="icon"] { transform: translateX(5px); }
.ola-arrow .elementor-button-content-wrapper { gap: 10px; }

/* ---- Footer (template 109): link hover, hide empty icon bullets ---- */
.elementor-109 .elementor-icon-list-icon { display: none !important; }
.elementor-109 .elementor-icon-list-item { transition: color .2s ease; }
.elementor-109 .elementor-icon-list-item:hover .elementor-icon-list-text { color: #C4A055 !important; }
.elementor-109 .elementor-icon-list-text { transition: color .2s ease; }

/* ---- Back-to-top button (design parity) ---- */
#ola-top {
  position: fixed; right: 22px; bottom: 22px; z-index: 120;
  width: 48px; height: 48px; background: #0C1420; border: 1px solid #C4A055;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
  opacity: 0; pointer-events: none; transform: translateY(14px);
  transition: opacity .3s ease, transform .3s ease, background .25s ease;
}
#ola-top.show { opacity: 1; pointer-events: auto; transform: translateY(0); }
#ola-top:hover { background: #2A3B4E; border-color: #D8BC7A; }
#ola-top svg { display: block; }

/* ---- Body: ensure serif headings render with the design's weight ---- */
body { background: #F7F4EE; }
