/* ============================================================
   Enterprise Dark Blue Theme
   ============================================================ */

:root {
  --ent-blue-900: #0a1628;
  --ent-blue-800: #0d1f3c;
  --ent-blue-700: #122850;
  --ent-blue-600: #1a3a6b;
  --ent-blue-500: #1e4d8c;
  --ent-blue-400: #2563b0;
  --ent-blue-300: #3b82d4;
  --ent-blue-200: #93c5fd;
  --ent-blue-100: #dbeafe;
  --ent-accent:   #00b4d8;
  --ent-gold:     #f0a500;
  --ent-white:    #ffffff;
  --ent-gray-50:  #f8fafc;
  --ent-gray-100: #e8edf4;
  --ent-gray-400: #94a3b8;
  --ent-gray-600: #475569;
  --ent-text:     #1e293b;
  --ent-radius:   6px;
  --ent-shadow:   0 4px 24px rgba(10, 22, 40, 0.18);
}

/* ---- Global resets ---- */
body {
  background-color: var(--ent-gray-50);
  color: var(--ent-text);
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

/* ---- Header / top panel ---- */
.wp-block-template-part.header,
header.wp-block-template-part,
[data-type="core/template-part"][data-slug="header"],
.ent-header-wrap {
  background: linear-gradient(135deg, var(--ent-blue-900) 0%, var(--ent-blue-700) 60%, var(--ent-blue-600) 100%);
  border-bottom: 3px solid var(--ent-blue-400);
  box-shadow: 0 2px 16px rgba(10, 22, 40, 0.40);
}

/* Catch the outer group that renders the header */
.wp-block-group:first-child > .wp-block-group,
body > .is-root-container > .wp-block-template-part:first-child .wp-block-group {
  background: linear-gradient(135deg, var(--ent-blue-900) 0%, var(--ent-blue-700) 60%, var(--ent-blue-600) 100%);
}

/* AI finger gif injected via PHP — positioned in header */
.ent-ai-gif {
  display: flex;
  align-items: center;
  margin-right: 18px;
  flex-shrink: 0;
}
.ent-ai-gif img {
  height: 46px;
  width: auto;
  border-radius: 4px;
  opacity: 0.92;
  transition: opacity 0.2s;
}
.ent-ai-gif img:hover {
  opacity: 1;
}

/* ---- Site title / branding ---- */
.wp-block-site-title a,
.wp-block-site-title {
  color: var(--ent-white) !important;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-decoration: none !important;
}

/* ---- Navigation ---- */
.wp-block-navigation,
.wp-block-navigation__container {
  gap: 0 !important;
}
.wp-block-navigation-item__content,
.wp-block-navigation a {
  color: var(--ent-blue-100) !important;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 6px 16px !important;
  border-radius: var(--ent-radius);
  transition: background 0.18s, color 0.18s;
  text-decoration: none !important;
}
.wp-block-navigation a:hover,
.wp-block-navigation-item--current .wp-block-navigation-item__content {
  background: var(--ent-blue-500) !important;
  color: var(--ent-white) !important;
}

/* ---- Hero / banner area ---- */
.wp-block-cover,
.wp-block-cover__background {
  background-color: var(--ent-blue-800) !important;
}
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover p {
  color: var(--ent-white) !important;
}

/* ---- Content area ---- */
.wp-block-post-content,
.entry-content,
.wp-site-blocks > main {
  max-width: 900px;
  margin: 0 auto;
  padding: 48px 24px;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--ent-blue-800);
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 0.5em;
}
h1 { font-size: clamp(1.75rem, 4vw, 2.75rem); }
h2 { font-size: clamp(1.4rem, 3vw, 2rem); border-bottom: 2px solid var(--ent-blue-200); padding-bottom: 0.25em; }
h3 { font-size: 1.3rem; color: var(--ent-blue-600); }

a {
  color: var(--ent-blue-500);
  text-decoration: none;
  transition: color 0.15s;
}
a:hover { color: var(--ent-blue-300); text-decoration: underline; }

/* ---- Buttons ---- */
.wp-block-button__link,
.wp-element-button {
  background-color: var(--ent-blue-500) !important;
  color: var(--ent-white) !important;
  border: none !important;
  border-radius: var(--ent-radius) !important;
  padding: 12px 28px !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  transition: background 0.18s, box-shadow 0.18s !important;
  box-shadow: 0 2px 8px rgba(30, 77, 140, 0.30) !important;
}
.wp-block-button__link:hover,
.wp-element-button:hover {
  background-color: var(--ent-blue-400) !important;
  box-shadow: 0 4px 16px rgba(30, 77, 140, 0.45) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 2px solid var(--ent-blue-400) !important;
  color: var(--ent-blue-500) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--ent-blue-500) !important;
  color: var(--ent-white) !important;
}

/* ---- Cards / groups ---- */
.wp-block-group.is-style-card,
.wp-block-column {
  border-radius: var(--ent-radius);
}

/* ---- Tables ---- */
.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
  background: var(--ent-white);
  border-radius: var(--ent-radius);
  overflow: hidden;
  box-shadow: var(--ent-shadow);
}
.wp-block-table th {
  background: var(--ent-blue-700);
  color: var(--ent-white);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 14px 20px;
  text-align: left;
}
.wp-block-table td {
  padding: 12px 20px;
  border-bottom: 1px solid var(--ent-gray-100);
  font-size: 0.9rem;
}
.wp-block-table tr:last-child td { border-bottom: none; }
.wp-block-table tr:hover td { background: var(--ent-blue-100); }

/* ---- Pull quotes ---- */
.wp-block-pullquote {
  border-left: 5px solid var(--ent-blue-400) !important;
  background: var(--ent-blue-100) !important;
  padding: 24px 32px !important;
  border-radius: 0 var(--ent-radius) var(--ent-radius) 0 !important;
}
.wp-block-pullquote blockquote p,
.wp-block-pullquote cite {
  color: var(--ent-blue-800) !important;
}

/* ---- Code blocks ---- */
pre, code {
  background: var(--ent-blue-900);
  color: var(--ent-blue-200);
  border-radius: var(--ent-radius);
  font-size: 0.87rem;
}
pre { padding: 20px 24px; overflow-x: auto; }
code { padding: 2px 6px; }

/* ---- Footer ---- */
.wp-block-template-part[data-slug="footer"],
footer.wp-block-template-part,
.ent-footer-wrap {
  background: var(--ent-blue-900);
  color: var(--ent-blue-100);
  border-top: 3px solid var(--ent-blue-600);
  padding: 48px 0 32px;
}
footer a { color: var(--ent-accent) !important; }
footer a:hover { color: var(--ent-white) !important; }

/* ---- Separator ---- */
.wp-block-separator {
  border-color: var(--ent-blue-200) !important;
}

/* ---- Search form ---- */
.wp-block-search__input {
  border: 2px solid var(--ent-blue-200) !important;
  border-radius: var(--ent-radius) !important;
  padding: 10px 16px !important;
  font-size: 0.9rem !important;
  transition: border-color 0.18s !important;
}
.wp-block-search__input:focus {
  border-color: var(--ent-blue-400) !important;
  outline: none !important;
}
.wp-block-search__button {
  background: var(--ent-blue-500) !important;
  color: var(--ent-white) !important;
  border-radius: var(--ent-radius) !important;
}

/* ---- Utility: enterprise badge ---- */
.ent-badge {
  display: inline-block;
  background: var(--ent-gold);
  color: var(--ent-blue-900);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 99px;
  vertical-align: middle;
}

/* ---- Full-width gif cover ---- */
.ent-hero-cover {
  margin-top: 0 !important;
  padding: 0 !important;
}
.ent-hero-cover .wp-block-cover__image-background {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

/* ---- Hero / top panel ---- */
.ent-hero-panel {
  background: linear-gradient(135deg, var(--ent-blue-900) 0%, var(--ent-blue-700) 60%, var(--ent-blue-600) 100%) !important;
  border-bottom: 3px solid var(--ent-blue-400);
}
.ent-hero-heading {
  color: var(--ent-white) !important;
  font-size: clamp(2rem, 5vw, 3.25rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
  margin-bottom: 12px !important;
  border-bottom: none !important;
}
.ent-hero-sub {
  color: var(--ent-blue-200) !important;
  font-size: 1.15rem !important;
  margin-bottom: 32px !important;
}
.ent-hero-gif {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ent-hero-gif img {
  width: clamp(160px, 22vw, 280px);
  height: auto;
  border-radius: 12px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.45);
  border: 2px solid var(--ent-blue-400);
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
  .ent-ai-gif img { height: 34px; }
  .wp-block-site-title a { font-size: 1.1rem; }
}
