/* Digiknots AI — component styles for template-part / core/html sections.
   Ports the approved mockup design (digiknots-mockup-v10) into the theme. */

:root{
  --navy-deep:#020817;
  --navy:#061329;
  --ai-blue:#1677FF;
  --ai-blue-dark:#0e5fd6;
  --bg-light:#F6F9FC;
  --white:#FFFFFF;
  --text:#0B1630;
  --text-soft:#54607A;
  --border:#E3E9F2;
}

/* ---------- Generic wrap/grid helpers used inside core/html sections ---------- */
.dk-wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
.dk-section,.dk-section-light,.dk-hero,.dk-markets-dark,.dk-cta-band,.dk-focus-strip{padding:96px 0;}
.dk-section-light{background:var(--bg-light);}
.dk-focus-strip{background:var(--bg-light);padding:56px 0;}
.dk-section-header{max-width:640px;margin-bottom:56px;}
.dk-tag{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ai-blue);margin-bottom:14px;display:block;text-align:left;width:100%;margin-left:0 !important;margin-right:0 !important;}
.dk-section-header h2{font-size:34px;line-height:1.2;margin:0 0 14px;font-weight:700;letter-spacing:-0.02em;color:var(--text);}
.dk-section-header p{color:var(--text-soft);font-size:16.5px;margin:0;}
.dk-grid{display:grid;gap:24px;}
.dk-grid-2{grid-template-columns:repeat(2,1fr);}
.dk-grid-3{grid-template-columns:repeat(3,1fr);}
.dk-grid-4{grid-template-columns:repeat(4,1fr);}

/* ---------- Hero ---------- */
.dk-hero{background:var(--navy-deep);color:var(--white);padding:104px 0 96px;overflow:hidden;}
.dk-hero-flex{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;}
.dk-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ai-blue);background:rgba(22,119,255,.12);border:1px solid rgba(22,119,255,.35);padding:7px 14px;border-radius:100px;margin-bottom:28px;}
.dk-hero-h1{font-size:52px;line-height:1.08;letter-spacing:-0.03em;margin:0 0 22px;font-weight:700;color:var(--white);}
.dk-hero-h1 em{color:var(--ai-blue);font-style:normal;}
.dk-lead{font-size:18px;color:rgba(255,255,255,.72);max-width:600px;margin:0 0 36px;}
.dk-hero-pills{display:flex;gap:22px;flex-wrap:wrap;margin:0 0 30px;}
.dk-hero-pill{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.8);}
.dk-hero-pill svg{color:var(--ai-blue);flex-shrink:0;}
.dk-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px;}
.dk-trust-strip{padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.dk-trust-strip>span{font-size:13px;color:rgba(255,255,255,.5);}
.dk-trust-flags{display:flex;gap:20px;flex-wrap:wrap;}
.dk-trust-flags div{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.85);}
.dk-flag-dot{width:8px;height:8px;border-radius:50%;background:var(--ai-blue);display:inline-block;}
.dk-illo{position:relative;border-radius:20px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,#0C1B36,#0A1428);border:1px solid rgba(255,255,255,.08);height:420px;}
.dk-illo-bg{width:100%;height:100%;background-image:url('../images/hero-brain.svg');background-size:contain;background-repeat:no-repeat;background-position:center;}

/* ---------- Buttons ---------- */
.dk-btn{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;padding:11px 22px;border-radius:8px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s ease, background .2s ease, box-shadow .2s ease;}
.dk-btn-primary{background:var(--ai-blue);color:var(--white);}
.dk-btn-primary:hover{background:var(--ai-blue-dark);color:var(--white);transform:translateY(-1px);}
.dk-btn-ghost-light{background:transparent;color:var(--white);border-color:rgba(255,255,255,.35);}
.dk-btn-ghost-light:hover{border-color:var(--white);color:var(--white);}

/* Native button block style variants (header "Talk to Us", etc.) */
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--text);border:1px solid var(--border);}
.wp-block-button.is-style-outline .wp-block-button__link:hover{border-color:var(--ai-blue);color:var(--ai-blue);}
.wp-block-button.is-style-ghost-light .wp-block-button__link{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.35);}
.wp-block-button.is-style-ghost-light .wp-block-button__link:hover{border-color:var(--white);}

/* ---------- Cards ---------- */
.dk-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:32px 28px;transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;}
.dk-card:hover{border-color:var(--ai-blue);transform:translateY(-3px);box-shadow:0 16px 32px rgba(11,22,48,.08);}
.dk-card-icon{width:44px;height:44px;border-radius:9px;background:rgba(22,119,255,.1);display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--ai-blue);}
.dk-card h3{font-size:18px;margin:0 0 10px;font-weight:700;color:var(--text);}
.dk-card p{color:var(--text-soft);font-size:14.5px;margin:0;}
.dk-card-link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:13.5px;font-weight:600;color:var(--ai-blue);text-decoration:none;}

.dk-industry-card{border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--white);transition:transform .2s ease, box-shadow .2s ease;}
.dk-industry-card:hover{transform:translateY(-4px);box-shadow:0 20px 36px rgba(11,22,48,.1);}
.dk-industry-card .dk-scene{height:150px;}
.dk-industry-card .dk-scene svg{width:100%;height:100%;display:block;}
.dk-industry-card .dk-body{padding:22px 20px;}
.dk-industry-card h3{font-size:16.5px;margin:0 0 6px;font-weight:700;color:var(--text);}
.dk-industry-card p{font-size:13.5px;color:var(--text-soft);margin:0 0 14px;}

/* ---------- Markets / map ---------- */
.dk-markets-dark{background:var(--navy-deep);color:var(--white);}
.dk-markets-dark .dk-section-header h2{color:var(--white);}
.dk-markets-dark .dk-section-header p{color:rgba(255,255,255,.6);}
.dk-map-visual{width:100%;aspect-ratio:2390/1040;border-radius:16px;overflow:hidden;background:radial-gradient(ellipse at center,#0C1F3D,#050B1A);border:1px solid rgba(255,255,255,.08);}
.dk-map-bg{width:100%;height:100%;background-image:url('../images/world-map.svg');background-size:contain;background-repeat:no-repeat;background-position:center;}
.dk-market-pill{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:22px;height:100%;}
.dk-market-pill h3{font-size:17px;margin:0 0 6px;display:flex;align-items:center;gap:10px;font-weight:700;color:var(--white);}
.dk-market-pill p{font-size:13.5px;color:rgba(255,255,255,.6);margin:0 0 10px;}
.dk-market-pill a{font-size:13px;font-weight:600;color:var(--ai-blue);text-decoration:none;}

/* ---------- Focus stats / CTA ---------- */
.dk-focus-strip .dk-grid-4{text-align:center;}
.dk-focus-num{font-size:32px;font-weight:700;color:var(--ai-blue);margin-bottom:4px;}
.dk-focus-label{font-size:13.5px;color:var(--text-soft);}
.dk-cta-band{background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:var(--white);text-align:center;}
.dk-cta-band h2{font-size:32px;margin:0 0 16px;font-weight:700;color:var(--white);}
.dk-cta-band p{color:rgba(255,255,255,.68);max-width:520px;margin:0 auto 32px;}
.dk-cta-band-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* Boxed variant of the CTA band, for use inside constrained page content
   (post-content) where a full-viewport-width bleed section isn't available. */
.dk-cta-band-boxed{background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:var(--white);text-align:center;border-radius:16px;padding:64px 32px;margin:56px 0 0;}
.dk-cta-band-boxed h2{color:var(--white);font-size:28px;margin:0 0 14px;}
.dk-cta-band-boxed p{color:rgba(255,255,255,.68);max-width:480px;margin:0 auto 28px;}

/* ================= Header (native nav) ================= */
.site-header-block{background:var(--white);border-bottom:1px solid var(--border);padding-top:16px;padding-bottom:16px;position:sticky;top:0;z-index:100;}
.site-logo-img img{height:32px;width:auto;}
.site-logo-bg{display:block;width:140px;height:32px;background-image:url('../images/logo-navy.png');background-size:contain;background-repeat:no-repeat;background-position:left center;}
.site-tagline{font-size:11.5px;font-weight:600;letter-spacing:.09em;color:var(--text-soft);text-transform:uppercase;margin:0 0 0 14px;padding-left:14px;border-left:1px solid var(--border);}
.header-cta-buttons{margin-left:12px;}

.digiknots-main-nav{font-size:14.5px;}
.digiknots-main-nav a{color:var(--text) !important;font-weight:500;}
.digiknots-main-nav .wp-block-navigation-item{padding:8px 16px;}
.wp-block-navigation__submenu-container{background:var(--white) !important;border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 40px rgba(11,22,48,.12);padding:8px;min-width:230px;}
.wp-block-navigation__submenu-container a{color:var(--text) !important;font-weight:500;padding:10px 12px !important;border-radius:7px;}
.wp-block-navigation__submenu-container a:hover{background:var(--bg-light);color:var(--ai-blue) !important;}
/* Mobile-only submenu toggle button — hidden on desktop, where hover is used. */
.dk-submenu-toggle{display:none;}

/* ================= Footer (native columns) ================= */
.site-footer-block{padding-top:64px;padding-bottom:28px;}
.footer-logo-bg{display:block;width:120px;height:28px;margin-bottom:16px;background-image:url('../images/logo-navy.png');background-size:contain;background-repeat:no-repeat;background-position:left center;filter:brightness(0) invert(1);}
.footer-about-text{font-size:14px;color:rgba(255,255,255,.5);max-width:280px;}
.footer-col-heading{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:18px;}
.footer-link-list{list-style:none;margin:0;padding:0;}
.footer-link-list li{margin-bottom:11px;}
.footer-link-list a{font-size:14px;color:rgba(255,255,255,.55);text-decoration:none;}
.footer-link-list a:hover{color:var(--ai-blue);}
.footer-bottom-bar{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;margin-top:48px;font-size:13px;color:rgba(255,255,255,.4);}
.footer-bottom-bar p{margin:0;}

/* ================= Detail-page helpers (service/industry/market pages) ================= */
.dk-breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.5);margin-bottom:18px;}
.dk-breadcrumb a{color:rgba(255,255,255,.72);text-decoration:none;}
.dk-breadcrumb a:hover{color:#fff;}
.dk-breadcrumb .sep{opacity:.45;font-size:12px;}
.dk-page-header{background:var(--navy-deep);color:var(--white);padding:64px max(24px, calc((100% - 1200px) / 2)) 56px !important;border-radius:0;}
.dk-page-header.alignfull{padding-left:max(24px, calc((100% - 1200px) / 2)) !important;padding-right:max(24px, calc((100% - 1200px) / 2)) !important;}
.dk-page-header .dk-tag{color:var(--ai-blue);}
.dk-page-body{padding-left:24px;padding-right:24px;}

/* theme.json enables blockGap (needed elsewhere for normal content spacing),
   but WordPress also applies it between top-level structural siblings —
   header/main/footer, and each full-bleed section within a page — which
   cuts a visible gap through what should be seamless dark/light bands.
   Zero it out at exactly those levels only. */
.wp-site-blocks > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
main.wp-block-group > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* ---------- Full-bleed content sections (used inside page content) ----------
   Background spans the viewport; inner content is centred to a 1200px column
   using padding, so no alignfull/negative-margin tricks are needed. */
.dk-section-block{padding:80px max(24px, calc((100% - 1200px) / 2));}
.dk-section-block.is-light{background:var(--bg-light);}
.dk-section-block.is-tight{padding-top:56px;padding-bottom:56px;}
.dk-section-block > *:first-child{margin-top:0;}

/* ---------- Media card (scene image on top, text below) ---------- */
.dk-media-card{padding:0 !important;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--white);transition:transform .2s ease, box-shadow .2s ease;}
.dk-media-card:hover{transform:translateY(-4px);box-shadow:0 20px 36px rgba(11,22,48,.1);}
.dk-media-body{padding:22px 20px;}
.dk-media-body h3{margin:0 0 8px;font-size:17px;}
.dk-media-body h3 a{color:var(--text);text-decoration:none;}
.dk-media-body h3 a:hover{color:var(--ai-blue);}
.dk-media-body p{margin:0 0 12px;font-size:14px;color:var(--text-soft);}
.dk-media-body .dk-more{font-size:13.5px;font-weight:600;color:var(--ai-blue);text-decoration:none;}

/* ---------- Scene tiles ---------- */
.dk-scene{height:150px;background-size:cover;background-position:center;background-repeat:no-repeat;}
.dk-scene-automation{background-image:url('../images/scene-automation.svg');}
.dk-scene-web{background-image:url('../images/scene-web.svg');}
.dk-scene-search{background-image:url('../images/scene-search.svg');}
.dk-scene-agent{background-image:url('../images/scene-agent.svg');}
.dk-scene-product{background-image:url('../images/scene-product.svg');}
.dk-scene-healthcare{background-image:url('../images/scene-healthcare.svg');}
.dk-scene-travel{background-image:url('../images/scene-travel.svg');}
.dk-scene-realestate{background-image:url('../images/scene-realestate.svg');}
.dk-scene-education{background-image:url('../images/scene-education.svg');}
.dk-scene-logistics{background-image:url('../images/scene-logistics.svg');}
.dk-scene-market{background-image:url('../images/scene-market.svg');}

/* Larger panel version used beside the Overview text on detail pages */
.dk-detail-panel{border-radius:16px;overflow:hidden;background:linear-gradient(145deg,#EAF2FF,#F6F9FC);aspect-ratio:300/190;background-size:cover;background-position:center;}

/* ---------- Image blocks ---------- */
.dk-media-frame img{width:100%;height:auto;display:block;border-radius:16px;}
.dk-media-frame.is-cover img{aspect-ratio:16/10;object-fit:cover;}
.dk-image-band img{width:100%;height:auto;display:block;border-radius:16px;}
.dk-image-band.is-wide img{aspect-ratio:21/9;object-fit:cover;}
.dk-image-caption{font-size:13px;color:var(--text-soft);margin-top:10px;text-align:center;}

/* Card top image — same footprint as the SVG scene tile, but replaceable.
   Lets you swap the default illustration for a real photo in one click. */
.dk-card-media{margin:0 !important;}
.dk-card-media img{width:100%;height:150px;object-fit:cover;display:block;border-radius:0;}

/* Detail-page side panel image (replaces the .dk-detail-panel background). */
.dk-panel-media{margin:0 !important;}
.dk-panel-media img{width:100%;aspect-ratio:300/190;object-fit:cover;display:block;border-radius:16px;background:linear-gradient(145deg,#EAF2FF,#F6F9FC);}

/* Square-ish illustration panel used on About / Contact. */
.dk-illo-media{margin:0 !important;}
.dk-illo-media img{width:100%;height:auto;display:block;border-radius:20px;background:linear-gradient(145deg,#EAF2FF,#F6F9FC);}
.dk-illo-media + .wp-block-html{display:block;margin-top:28px;}
.dk-page-header h1{font-size:38px;margin:0 0 14px;color:var(--white);font-weight:700;}
.dk-page-header p{color:rgba(255,255,255,.68);max-width:600px;font-size:16.5px;margin:0;}

/* wp/details block used for FAQs — restyle to match the accordion design */
.wp-block-details{border:1px solid var(--border);border-radius:10px;padding:0 20px;margin-bottom:12px;background:var(--white);}
.wp-block-details summary{cursor:pointer;padding:18px 0;font-size:15.5px;font-weight:600;color:var(--text);}
.wp-block-details p{padding-bottom:20px;color:var(--text-soft);font-size:14.5px;line-height:1.65;}

/* ================= Editable "card" & "step" content styles =================
   Applied via className on native wp:column / wp:group blocks, so page body
   content stays fully editable in the block editor while still matching the
   approved card/step design used across the site. */
.dk-card-col{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:28px 26px;transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;height:100%;}
.dk-card-col:hover{border-color:var(--ai-blue);transform:translateY(-3px);box-shadow:0 16px 32px rgba(11,22,48,.08);}
.dk-card-col h3{margin-top:0;}
.dk-card-col p:last-child{margin-bottom:0;}

.dk-step-num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:rgba(22,119,255,.1);color:var(--ai-blue);font-weight:700;font-size:14px;margin:0 0 14px;}
.dk-step-col h3{margin-top:0;margin-bottom:6px;font-size:16px;}
.dk-step-col p{margin:0;font-size:14px;color:var(--text-soft);}

/* Split layout: illustration left, text right (About "Our Approach" section) */
.dk-split-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin:56px 0;}
.dk-split-illo{border-radius:20px;overflow:hidden;background:linear-gradient(145deg,#EAF2FF,#F6F9FC);aspect-ratio:480/380;}
.dk-split-illo-bg{width:100%;height:100%;background-image:url('../images/about-illustration.svg');background-size:contain;background-repeat:no-repeat;background-position:center;}

/* 2x2 auto-wrapping step grid (used inside the split layout's text column) */
.dk-step-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;margin-top:24px;align-items:start;}
.dk-step-grid > *{margin-top:0 !important;margin-left:0 !important;margin-right:0 !important;}
.dk-step-item{display:flex;gap:14px;align-items:flex-start;}
.dk-step-item .dk-step-num{margin:0 !important;flex-shrink:0;}
.dk-step-item > .wp-block-group{margin:0 !important;}
.dk-step-item *{margin-top:0 !important;}
.dk-step-item h3{margin:0 0 4px !important;font-size:15px;}
.dk-step-item p{margin:0 !important;font-size:13.5px;color:var(--text-soft);}

/* ---------- Deliverables list (checkmark list) ---------- */
.dk-deliverables{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.dk-deliverables li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--text);}
.dk-deliverables li::before{content:"\2713";color:var(--ai-blue);font-weight:700;flex-shrink:0;}

/* ---------- Related-page chip row ---------- */
.dk-related-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.dk-related-chip{font-size:13.5px;font-weight:500;color:var(--text);border:1px solid var(--border);border-radius:100px;padding:9px 16px;text-decoration:none;display:inline-block;transition:border-color .15s ease, color .15s ease;}
.dk-related-chip:hover{border-color:var(--ai-blue);color:var(--ai-blue);}

@media (max-width:782px){
  .dk-split-layout{grid-template-columns:1fr;}
  .dk-step-grid{grid-template-columns:1fr;}
}

/* ---------- Contact page: illustration + info items ---------- */
.dk-contact-illo{border-radius:20px;overflow:hidden;background:var(--bg-light);aspect-ratio:420/280;margin-bottom:28px;}
.dk-contact-illo-bg{width:100%;height:100%;background-image:url('../images/contact-illustration.svg');background-size:contain;background-repeat:no-repeat;background-position:center;}
.dk-contact-info-item{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start;}
.dk-contact-info-item .dk-card-icon{margin-bottom:0;flex-shrink:0;}
.dk-contact-info-item h4{margin:0 0 4px;font-size:14.5px;font-weight:700;color:var(--text);}
.dk-contact-info-item p{margin:0;font-size:14px;color:var(--text-soft);}

/* ---------- WPForms: restyle to match the site's design system ---------- */
.wpforms-container{margin:0 !important;}
.wpforms-container .wpforms-field-container{display:flex !important;flex-wrap:wrap !important;gap:20px !important;}
.wpforms-container .wpforms-field{width:100% !important;padding:0 !important;margin:0 !important;}
.wpforms-container .wpforms-field.dk-half{width:calc(50% - 10px) !important;}
.wpforms-container .wpforms-field-label{font-size:13.5px !important;font-weight:600 !important;color:var(--text) !important;margin-bottom:8px !important;}
.wpforms-container .wpforms-required-label{color:var(--ai-blue) !important;}
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container input[type=url],
.wpforms-container input[type=number],
.wpforms-container select,
.wpforms-container textarea{
  width:100% !important;
  padding:12px 14px !important;
  border:1px solid var(--border) !important;
  border-radius:8px !important;
  font-family:inherit !important;
  font-size:14.5px !important;
  color:var(--text) !important;
  background:var(--white) !important;
  box-shadow:none !important;
  transition:border-color .15s ease;
}
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus{
  border-color:var(--ai-blue) !important;
  outline:none !important;
}
.wpforms-container textarea{min-height:120px !important;resize:vertical !important;}
.wpforms-container .wpforms-field-description{font-size:12.5px !important;color:var(--text-soft) !important;margin-top:6px !important;}

.wpforms-container button[type=submit],
.wpforms-container .wpforms-submit{
  width:100% !important;
  background:var(--ai-blue) !important;
  color:var(--white) !important;
  font-weight:600 !important;
  font-size:14.5px !important;
  padding:13px 22px !important;
  border:none !important;
  border-radius:8px !important;
  cursor:pointer !important;
  transition:background .2s ease, transform .15s ease;
}
.wpforms-container button[type=submit]:hover,
.wpforms-container .wpforms-submit:hover{
  background:var(--ai-blue-dark) !important;
  transform:translateY(-1px);
}

/* Optional: pair two fields per row. In WPForms, open a field's settings →
   Advanced → CSS Classes, and add "dk-half" to any two fields you want side
   by side (e.g. Name + Email). No effect on fields left as-is. Pairing works
   regardless of field order or IDs — the flex layout above handles it. */

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .dk-hero-flex{grid-template-columns:1fr;}
  .dk-illo{height:280px;}
  .dk-grid-2,.dk-grid-3,.dk-grid-4{grid-template-columns:1fr;}
  .dk-hero-h1{font-size:36px;}
  .dk-section,.dk-section-light,.dk-hero,.dk-markets-dark,.dk-cta-band{padding:64px 0;}
  .site-tagline{display:none;}

  /* Hide the header CTA buttons once the nav collapses to a hamburger.
     Needs the extra specificity + !important because WordPress core's
     .wp-block-buttons{display:flex} is enqueued after the theme stylesheet. */
  .site-header-block .header-cta-buttons,
  .site-header-block .wp-block-buttons.header-cta-buttons{display:none !important;}

  /* Mobile overlay menu: left-align items and flatten submenus so they read
     as an indented list rather than floating white cards. */
  .wp-block-navigation__responsive-container.is-menu-open{padding:24px !important;}
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{width:100% !important;align-items:flex-start !important;}
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{width:100% !important;align-items:stretch !important;justify-content:flex-start !important;gap:0 !important;}

  /* Each row is a flex line: label on the left, toggle button on the right,
     submenu wrapping onto its own full-width line below. */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    width:100% !important;
    padding:12px 0 !important;
    border-bottom:1px solid var(--border);
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    text-align:left !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    font-size:16px !important;
    font-weight:600 !important;
    flex:1 1 auto !important;
    text-align:left !important;
  }

  /* Submenus start collapsed; the injected toggle button expands them. */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
    position:static !important;
    opacity:1 !important;
    visibility:visible !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    min-width:0 !important;
    width:100% !important;
    padding:0 0 0 16px !important;
    transform:none !important;
    display:none !important;
    flex-basis:100% !important;
    order:3 !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .dk-submenu-open > .wp-block-navigation__submenu-container{
    display:block !important;
    padding-top:6px !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{
    border-bottom:none !important;
    padding:8px 0 !important;
    justify-content:flex-start !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a{font-size:14px !important;font-weight:400 !important;color:var(--text-soft) !important;}

  /* Hide the core hover-arrow icon; our button replaces it on mobile. */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon{display:none !important;}

  .wp-block-navigation__responsive-container.is-menu-open .dk-submenu-toggle{
    display:flex !important;
    align-items:center;
    justify-content:center;
    flex:0 0 32px !important;
    width:32px;
    height:32px;
    margin-left:12px;
    padding:0;
    background:transparent;
    border:1px solid var(--border);
    border-radius:7px;
    cursor:pointer;
    color:var(--ai-blue);
  }
  .wp-block-navigation__responsive-container.is-menu-open .dk-submenu-toggle::before{
    content:"+";
    font-size:18px;
    line-height:1;
    font-weight:600;
  }
  .wp-block-navigation__responsive-container.is-menu-open .dk-submenu-open > .dk-submenu-toggle::before{content:"\2212";}
}

@media (max-width:600px){
  .wpforms-container .wpforms-field.dk-half{width:100% !important;}
}
