/* Viewport for mobile + admin bar */
@viewport { width: device-width; scale: 1; }
@-ms-viewport { width: device-width; }
/*
Theme Name: Neuros Child
Theme URI: http://yoursite.com/neuros-child/
Description: Neuros Child - custom changes go here, parent stays untouched.
Author: comtek
Author URI: https://comtek-services.in
Template: neuros
Version: 1.7.50
License: GNU General Public License 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: neuros-child
*/

/* Modern footer v2 - 4 columns: brand | solutions | company | contact */
.footer-wrapper .footer-widgets { display: flex; flex-wrap: wrap; gap: 2rem; }
.footer-wrapper .footer-widget { flex: 1 1 200px; min-width: 0; }
.footer-wrapper .footer-widget .wp-block-heading { margin: 0 0 .8rem; }
.footer-wrapper .footer-brand .footer-tagline { opacity: .8; margin: .8rem 0 1rem; max-width: 26ch; }
.footer-wrapper .wp-block-social-links { gap: .55rem; margin: 0; }
.footer-wrapper .wp-block-social-links svg { width: 24px; height: 24px; }
.footer-wrapper .wp-block-social-links a { transition: transform .2s ease, opacity .2s ease; display: inline-flex; }
.footer-wrapper .wp-block-social-links a:hover { transform: translateY(-2px); opacity: .85; }
.footer-wrapper .wp-block-navigation ul { gap: .45rem; }
.footer-wrapper .wp-block-navigation a { text-underline-offset: 3px; }
.footer-wrapper .wp-block-navigation a:hover { text-decoration: underline; }
.footer-newsletter-title { margin-top: 1.4rem; }
.footer-newsletter-text { opacity: .8; margin: 0 0 .6rem; max-width: 30ch; }
.footer-newsletter-form { display: flex; gap: .5rem; }
.footer-newsletter-form p { display: flex; gap: .5rem; flex-wrap: wrap; margin: 0; }
.footer-newsletter-form .wpcf7-email { flex: 1 1 150px; min-width: 0; min-height: 44px; padding: .6rem .8rem; border-radius: 10px; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.08); color: #fff; }
.footer-newsletter-form .wpcf7-email::placeholder { color: rgba(255,255,255,.6); }
.footer-newsletter-form .wpcf7-submit { min-height: 44px; padding: .6rem 1.1rem; border-radius: 10px; border: 0; cursor: pointer; font-weight: 600; }
.footer-wrapper a:focus-visible, .footer-wrapper button:focus-visible, .footer-wrapper input:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.footer-section-bottom .footer-columns-row { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; }
.footer-additional-menu { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; list-style: none; margin: 0; padding: 0; }
.footer-menu-container .footer-menu { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; list-style: none; }
@media (max-width: 900px) {
  .footer-wrapper .footer-widget { flex-basis: 40%; }
}
@media (max-width: 600px) {
  .footer-wrapper .footer-widget { flex-basis: 100%; }
  .footer-section-bottom .footer-columns-row { flex-direction: column; align-items: flex-start; }
}

/* dead-button rules removed with the buttons (were display:none guards) */

/* Service pages (neuros_service CPT): fix h4 collision. Theme customizer
   sets h4 { line-height: 0em } at >=768px, so the h4 section headings
   ("The Business Problem", "How We Execute", etc.) overlap the text above. */
.service-main-content h4 {
  line-height: 1.4;
  margin: 1.75em 0 0.4em;
}
.service-main-content h4:empty {
  display: none;
}

/* CTA headings on the 5 service pages: mirror the Troodon section
   "Ready to Transform Your Library?" heading (white, Noto Sans 700, h2
   metrics) and strip the Elementor black 2px text-stroke entirely. */
body .elementor-element-df2709f .elementor-heading-title,
body .elementor-element-4ce30f4 .elementor-heading-title,
body .elementor-element-f3fa576 .elementor-heading-title,
body .elementor-element-cb3b46f .elementor-heading-title,
body .elementor-element-e4554fe .elementor-heading-title {
  -webkit-text-stroke-width: 0 !important;
  stroke-width: 0 !important;
  -webkit-text-stroke-color: transparent !important;
  stroke: transparent !important;
  text-shadow: none !important;
  color: #ffffff !important;
  font-family: 'Noto Sans', Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: -0.03125em !important;
  word-spacing: 0 !important;
  text-transform: none !important;
}
@media only screen and (min-width: 768px) {
  body .elementor-element-df2709f .elementor-heading-title,
  body .elementor-element-4ce30f4 .elementor-heading-title,
  body .elementor-element-f3fa576 .elementor-heading-title,
  body .elementor-element-cb3b46f .elementor-heading-title,
  body .elementor-element-e4554fe .elementor-heading-title {
    font-size: 2.5em !important;
    line-height: 1.3em !important;
  }
}

body .elementor-5083 .elementor-element.elementor-element-37d2a91 .elementor-element-4486cd8 .elementor-heading-title {
  -webkit-text-stroke-width: 0 !important;
  stroke-width: 0 !important;
  -webkit-text-stroke-color: transparent !important;
  stroke: transparent !important;
  text-shadow: none !important;
  color: #ffffff !important;
  font-family: 'Noto Sans', Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: -0.03125em !important;
  word-spacing: 0 !important;
  text-transform: none !important;
  font-size: 2.5em !important;
  line-height: 1.3em !important;
}

body .elementor-23011 .elementor-element.elementor-element-da5e21b .elementor-heading-title {
  -webkit-text-stroke-width: 0 !important;
  stroke-width: 0 !important;
  -webkit-text-stroke-color: transparent !important;
  stroke: transparent !important;
  text-shadow: none !important;
  color: #ffffff !important;
  font-family: 'Noto Sans', Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: -0.03125em !important;
  word-spacing: 0 !important;
  text-transform: none !important;
  font-size: 2.5em !important;
  line-height: 1.3em !important;
}

/* ===== Troodon CTA kit (2026-09-23, hirdey-2 [iv:2.1]) =====
   Copies the Troodon "Ready to Transform Your Library?" CTA (section
   75ce6be: font, style, movement, animation) onto every services CTA layer:
   - /services-page/ get-in-touch block (section 708314a, heading c088d7c,
     text 1c9a3f1) + the 4 "Explore more" buttons (3a70dad, 85ba7da,
     63aec48, abfbc61)
   - the 5 service CPT bottom CTA sections (cards 2bdc8c1b, 531b717,
     ac2f12d, da50b37, 4b63098: headings, texts, buttons)
   Source of truth: troodon post-23037.css + parent theme.css keyframes
   (fadeIn / headingAnimation). Letter split runs via js/cta-reveal.js v2
   (mirrors neuros-plugin animateHeading: word regex, letter regex,
   index/50s stagger). Reversible: delete this block, restore v1 of
   cta-reveal.js + enqueue ver 1, bump header back to 1.0.20.
   Backups: _backups/<ts>-troodon-cta-kit-hirdey-2/ */

/* --- A. Gradient card: exact Troodon section fill/radius/shadow
       (linear-gradient 180deg #000 -> accent, radius 20, shadow
       0 17px 30px 10px rgba(0,0,0,.5)) --- */
body .elementor-element-2bdc8c1b,
body .elementor-element-531b717,
body .elementor-element-ac2f12d,
body .elementor-element-da50b37,
body .elementor-element-4b63098 {
  background-color: transparent !important;
  background-image: linear-gradient(180deg, #000000 0%, var(--e-global-color-accent, #B41D21) 100%) !important;
  border-radius: 20px !important;
  box-shadow: 0px 17px 30px 10px rgba(0, 0, 0, 0.5) !important;
}
/* get-in-touch sits flush above the footer: top corners get the troodon
   radius, bottom stays flush so no seam sliver appears at the footer edge */
body .elementor-element-708314a {
  background-color: transparent !important;
  background-image: linear-gradient(180deg, #000000 0%, var(--e-global-color-accent, #B41D21) 100%) !important;
  border-radius: 20px 20px 0 0 !important;
  box-shadow: 0px 17px 30px 10px rgba(0, 0, 0, 0.5) !important;
}
@media only screen and (min-width: 768px) {
  body .elementor-element-708314a {
    padding: 4em !important;
  }
}

/* --- B. The troodon card is clean: hide the mountains shape divider and
       the animated flowmap layer on the 5 CPT cards (neither exists on the
       troodon CTA; elementor's own #B41D21 bg layer is already replaced
       by the gradient above) --- */
body .elementor-element-2bdc8c1b .elementor-shape-top,
body .elementor-element-531b717 .elementor-shape-top,
body .elementor-element-ac2f12d .elementor-shape-top,
body .elementor-element-da50b37 .elementor-shape-top,
body .elementor-element-4b63098 .elementor-shape-top,
body .elementor-element-2bdc8c1b .elementor-shape,
body .elementor-element-531b717 .elementor-shape,
body .elementor-element-ac2f12d .elementor-shape,
body .elementor-element-da50b37 .elementor-shape,
body .elementor-element-4b63098 .elementor-shape,
body .elementor-element-2bdc8c1b .flowmap-deformation-wrapper,
body .elementor-element-531b717 .flowmap-deformation-wrapper,
body .elementor-element-ac2f12d .flowmap-deformation-wrapper,
body .elementor-element-da50b37 .flowmap-deformation-wrapper,
body .elementor-element-4b63098 .flowmap-deformation-wrapper {
  display: none !important;
}

/* --- C. get-in-touch heading + intro text: troodon b93c5e0 / 6c5165e
       (pure white heading, 1.1rem #FCFCFC body). The letter animation
       itself comes from the stock neuros_heading_animation pipeline
       injected by js/cta-reveal.js v2 (subheading fade .4s/.3s is
       provided by the theme rule automatically). --- */
body .elementor-element-c088d7c .neuros-heading .neuros-heading-content {
  color: #ffffff !important;
}
body .elementor-element-1c9a3f1 {
  font-size: 1.1rem !important;
  color: #fcfcfc !important;
}

/* --- D. service CPT texts: troodon 6c5165e (1.1rem #FCFCFC; the existing
       heading mirror block above already carries the troodon heading font) --- */
body .elementor-element-44c2a91c,
body .elementor-element-a5640a7,
body .elementor-element-ba41019,
body .elementor-element-9f441e1,
body .elementor-element-73556e5 {
  font-size: 1.1rem !important;
  color: #fcfcfc !important;
}

/* --- E. letter-rise engine for the 5 built-in CTA headings.
       cta-reveal.js v2 splits the words/letters (same regex + index/50s
       delays as neuros-plugin animateHeading); these rules mirror the
       theme's [data-settings*="neuros_heading_animation"] layout and the
       .neuros_heading_animation letter motion exactly. Hidden state is
       gated on html.motion-ok so text is never invisible without JS. --- */
body .elementor-element-df2709f.cta-split .elementor-heading-title .word,
body .elementor-element-4ce30f4.cta-split .elementor-heading-title .word,
body .elementor-element-f3fa576.cta-split .elementor-heading-title .word,
body .elementor-element-cb3b46f.cta-split .elementor-heading-title .word,
body .elementor-element-e4554fe.cta-split .elementor-heading-title .word {
  display: inline-flex;
  justify-content: flex-start;
  align-items: flex-start;
  clip-path: inset(-0.15em -0.1em);
}
body .elementor-element-df2709f.cta-split .elementor-heading-title .word .letter,
body .elementor-element-4ce30f4.cta-split .elementor-heading-title .word .letter,
body .elementor-element-f3fa576.cta-split .elementor-heading-title .word .letter,
body .elementor-element-cb3b46f.cta-split .elementor-heading-title .word .letter,
body .elementor-element-e4554fe.cta-split .elementor-heading-title .word .letter {
  display: inline-flex;
  justify-content: flex-start;
  align-items: flex-start;
}
html.motion-ok body .elementor-element-df2709f.cta-split:not(.cta-letters-in) .letter,
html.motion-ok body .elementor-element-4ce30f4.cta-split:not(.cta-letters-in) .letter,
html.motion-ok body .elementor-element-f3fa576.cta-split:not(.cta-letters-in) .letter,
html.motion-ok body .elementor-element-cb3b46f.cta-split:not(.cta-letters-in) .letter,
html.motion-ok body .elementor-element-e4554fe.cta-split:not(.cta-letters-in) .letter {
  opacity: 0;
  transform: translateY(120%);
}
html.motion-ok body .elementor-element-df2709f.cta-split.cta-letters-in .letter,
html.motion-ok body .elementor-element-4ce30f4.cta-split.cta-letters-in .letter,
html.motion-ok body .elementor-element-f3fa576.cta-split.cta-letters-in .letter,
html.motion-ok body .elementor-element-cb3b46f.cta-split.cta-letters-in .letter,
html.motion-ok body .elementor-element-e4554fe.cta-split.cta-letters-in .letter {
  animation: fadeIn 0.35s forwards, headingAnimation 0.7s cubic-bezier(0.26, -0.14, 0, 1.01) forwards;
}
@media (prefers-reduced-motion: reduce) {
  html.motion-ok body .cta-split .letter {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* --- F. buttons: troodon 4bfba61/1b73a6a metrics (type-alt +
       decoration-position-bottom + gradient border + decoration wrapper
       are added at runtime by cta-reveal.js v2; parent theme.css renders
       them identically to /troodon/) --- */
body .elementor-element-3a70dad .neuros-button,
body .elementor-element-85ba7da .neuros-button,
body .elementor-element-63aec48 .neuros-button,
body .elementor-element-abfbc61 .neuros-button,
body .elementor-element-798ad699 .neuros-button,
body .elementor-element-76eb93e .neuros-button,
body .elementor-element-80a9818 .neuros-button,
body .elementor-element-0944470 .neuros-button,
body .elementor-element-6753b8e .neuros-button {
  font-size: 1rem !important;
}
/* contact buttons sit on the dark card: troodon pure white (elcss had
   #f8f8f8) */
body .elementor-element-798ad699 .neuros-button,
body .elementor-element-76eb93e .neuros-button,
body .elementor-element-80a9818 .neuros-button,
body .elementor-element-0944470 .neuros-button,
body .elementor-element-6753b8e .neuros-button {
  color: #ffffff !important;
}
/* troodon gutter between CTA text and button + troodon centering */
body .elementor-element-798ad699 > .elementor-widget-container,
body .elementor-element-76eb93e > .elementor-widget-container,
body .elementor-element-80a9818 > .elementor-widget-container,
body .elementor-element-0944470 > .elementor-widget-container,
body .elementor-element-6753b8e > .elementor-widget-container {
  margin: 3em 0 0 0 !important;
}
body .elementor-element-798ad699 .button-widget,
body .elementor-element-76eb93e .button-widget,
body .elementor-element-80a9818 .button-widget,
body .elementor-element-0944470 .button-widget,
body .elementor-element-6753b8e .button-widget {
  text-align: center !important;
}
/* explore buttons live on light layers: keep the troodon movement but pin
   hover text dark so it can never wash out to white on #f0f2f4 / #ffffff */
body .elementor-element-3a70dad .neuros-button:hover,
body .elementor-element-85ba7da .neuros-button:hover,
body .elementor-element-63aec48 .neuros-button:hover,
body .elementor-element-abfbc61 .neuros-button:hover {
  color: #333333 !important;
}
