/* Aarohi Blood Center - motion, hover and brand polish.
   Containers expose no CSS-class field in Elementor, so container-level
   hooks target the _element_id prefix instead. */

/* ---- cards: lift + green-tinted shadow (never black) ---- */
[id^="abcard-"]{
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  will-change: transform;
}
[id^="abcard-"]:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(11,92,52,.13);
  border-color: #CFE1D3;
}

/* ---- image frames: clip + zoom ---- */
.ab-zoom{overflow:hidden;border-radius:8px}
.ab-zoom img{transition:transform .5s cubic-bezier(.2,.6,.2,1);display:block;width:100%}
.ab-zoom:hover img{transform:scale(1.045)}

/* ---- buttons ---- */
.elementor-button{
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.elementor-button:hover{transform:translateY(-1px)}

/* ---- links ---- */
a{transition:color .18s ease}

/* ---- accordion ---- */
.elementor-accordion .elementor-tab-title{transition:color .2s ease,background-color .2s ease}
.elementor-accordion .elementor-tab-title:hover{background-color:#EFF6F1}
.elementor-accordion .elementor-accordion-item{border-radius:8px;overflow:hidden;margin-bottom:10px}

/* ---- counters sit on a common baseline ---- */
.elementor-counter-number-wrapper{align-items:baseline}

/* ---- page chrome ---- */
html{scroll-behavior:smooth}
::selection{background:#CFE9D8}

/* ---- Xpro nav: inherit brand, not generic blue ---- */
.xpro-elementor-nav-menu a,
.xpro-menu-container a,
.xpro-elementor-nav-menu .menu-item a{transition:color .18s ease,background-color .18s ease}

/* ---- WPForms: match the site's inputs exactly ---- */
.wpforms-container .wpforms-form input[type=text],
.wpforms-container .wpforms-form input[type=email],
.wpforms-container .wpforms-form input[type=tel],
.wpforms-container .wpforms-form input[type=url],
.wpforms-container .wpforms-form input[type=number],
.wpforms-container .wpforms-form input[type=date],
.wpforms-container .wpforms-form select,
.wpforms-container .wpforms-form textarea{
  font-family:"Public Sans",system-ui,sans-serif;
  font-size:16px;
  color:#14402C;
  background:#FFFFFF;
  border:1px solid #D5CDBD;
  border-radius:6px;
  padding:13px 15px;
  box-shadow:none;
  transition:border-color .18s ease, box-shadow .18s ease;
  max-width:100%;
}
.wpforms-container .wpforms-form input:focus,
.wpforms-container .wpforms-form select:focus,
.wpforms-container .wpforms-form textarea:focus{
  border-color:#1FA85A;
  box-shadow:0 0 0 3px rgba(31,168,90,.15);
  outline:none;
}
.wpforms-container .wpforms-form .wpforms-field-label{
  font-family:"Public Sans",system-ui,sans-serif;
  font-size:13px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#7C9B89;
  margin-bottom:8px;
}
.wpforms-container .wpforms-form .wpforms-required-label{color:#C51F26}
.wpforms-container .wpforms-form button[type=submit]{
  font-family:"Public Sans",system-ui,sans-serif;
  font-size:15px;
  font-weight:600;
  color:#FFFFFF;
  background:#C51F26;
  border:none;
  border-radius:999px;
  padding:14px 30px;
  cursor:pointer;
  transition:background-color .2s ease, transform .2s ease;
}
.wpforms-container .wpforms-form button[type=submit]:hover{
  background:#A5161C;
  transform:translateY(-1px);
}
.wpforms-container .wpforms-form .wpforms-field{padding:0 0 20px 0}
.wpforms-container .wpforms-form .wpforms-field-description{
  font-family:"Public Sans",system-ui,sans-serif;
  font-size:14px;color:#7C9B89;
}
.wpforms-confirmation-container-full,
.wpforms-confirmation-container{
  background-color:#EFF6F1 !important;
  border:1px solid #CFE1D3 !important;
  border-radius:8px !important;
  color:#14402C !important;
  font-family:"Public Sans",system-ui,sans-serif !important;
  padding:18px 20px !important;
}
.wpforms-confirmation-container-full p,
.wpforms-confirmation-container p{color:#14402C !important;margin:0 !important}
.wpforms-error{color:#C51F26 !important;font-size:14px}

/* ---- honour reduced motion ---- */
@media (prefers-reduced-motion: reduce){
  [id^="abcard-"],
  [id^="abcard-"]:hover,
  .ab-zoom img,
  .ab-zoom:hover img,
  .elementor-button:hover,
  .wpforms-container .wpforms-form button[type=submit]:hover{
    transition:none;
    transform:none;
  }
  html{scroll-behavior:auto}
}

/* ---- mobile: every multi-column row is already 100% via Elementor;
        keep sticky elements from trapping content ---- */
@media (max-width:1000px){
  .elementor-element[data-settings*="sticky"]{position:static !important}
}

/* ---- Astra scroll-to-top: brand it (ships generic blue) ---- */
#ast-scroll-top{background-color:#0B5C34 !important;color:#F3F8F4 !important;border-radius:999px;transition:background-color .2s ease,transform .2s ease}
#ast-scroll-top:hover{background-color:#C51F26 !important;color:#FFFFFF !important;transform:translateY(-2px)}

/* ---- WPForms 1.8+ styles via CSS custom properties; set those or the
       plugin's own blue wins on specificity ---- */
.wpforms-container, .wpforms-container-full{
  --wpforms-field-border-radius:6px;
  --wpforms-field-background-color:#FFFFFF;
  --wpforms-field-border-color:#D5CDBD;
  --wpforms-field-text-color:#14402C;
  --wpforms-field-menu-color:#FFFFFF;
  --wpforms-label-color:#7C9B89;
  --wpforms-label-sublabel-color:#7C9B89;
  --wpforms-label-error-color:#C51F26;
  --wpforms-button-border-radius:999px;
  --wpforms-button-background-color:#C51F26;
  --wpforms-button-text-color:#FFFFFF;
  --wpforms-page-break-color:#0B5C34;
}
.wpforms-container button[type=submit],
.wpforms-container .wpforms-submit{
  background-color:#C51F26 !important;color:#FFFFFF !important;border:none !important;
}
.wpforms-container button[type=submit]:hover,
.wpforms-container .wpforms-submit:hover{
  background-color:#A5161C !important;color:#FFFFFF !important;
}

/* ---- Xpro header nav: it prints an off-canvas close button with no matching
       open toggle, so the stray control is hidden. Below 1024px the 7 links
       simply wrap and centre, which keeps navigation usable without a panel. ---- */
.xpro-elementor-horizontal-menu-close{display:none !important}
@media (max-width:1024px){
  #ab-headerbar .e-con-full{align-items:center}
  #ab-headerbar ul.xpro-elementor-horizontal-navbar-nav{justify-content:center;flex-wrap:wrap;row-gap:2px}
  #ab-headerbar .xpro-elementor-horizontal-navbar-wrapper{width:100%}
  #ab-headerbar .elementor-widget-xpro-button{text-align:center}
  #ab-headerbar .xpro-elementor-nav-link{padding-top:6px;padding-bottom:6px}
}
@media (max-width:767px){
  #ab-headerbar ul.xpro-elementor-horizontal-navbar-nav{justify-content:flex-start}
}
