@charset "utf-8";
/*
 Theme Name:   Impacto Patronus Child
 Theme URI:    http://impacto-patronus.ancorathemes.com/
 Description:  Impacto Patronus Child Theme
 Author:       AncoraThemes
 Author URI:   http://ancorathemes.com/
 Template:     impacto-patronus
 Version:      1.1
 Tags:         inheritable theme options
 Text Domain:  impacto-patronus
*/


/* =Theme customization starts here
-------------------------------------------------------------- */

/* BEGIN MIGRATED PARENT CUSTOM CSS */
.scheme_default .top_panel_default .top_panel_title, .scheme_default.top_panel_default .top_panel_title {background-color:#3bc3c3}

.sc_layouts_title_breadcrumbs {display:none}

.sc_layouts_title_title h1 {color:#fff !important;font-size:54px}

.sc_button {background-color:#3bc3c3 !important}

.sc_item_descr {color:#fff}

.page-id-2876.scheme_default .top_panel_default .top_panel_title, .page-id-2876 .scheme_default.top_panel_default .top_panel_title {background-color:#ee3b7c !important}

.page-id-2879.scheme_default .top_panel_default .top_panel_title {background-color:#ee3b7c !important}

.page-id-2900.scheme_default .top_panel_default .top_panel_title {background-color:#f9a01b !important}

.sc_layouts_menu_popup .sc_layouts_menu_nav, .sc_layouts_menu_nav > li ul {width:22em}

.page-id-2896.scheme_default .top_panel_default .top_panel_title {background-color:#ee3b7c !important}

.page-id-2897.scheme_default .top_panel_default .top_panel_title {background-color:#1f417e !important}

.page-id-2935.scheme_default .top_panel_default .top_panel_title {background-color:#f9a01b !important}

.page-id-2936.scheme_default .top_panel_default .top_panel_title {background-color:#f9a01b !important}

.page-id-2937.scheme_default .top_panel_default .top_panel_title {background-color:#f9a01b !important}

.page-id-2938.scheme_default .top_panel_default .top_panel_title {background-color:#f9a01b !important}

.page-id-2939.scheme_default .top_panel_default .top_panel_title {background-color:#f9a01b !important}

.page-id-2940.scheme_default .top_panel_default .top_panel_title {background-color:#f9a01b !important}

.page-id-2950.scheme_default .top_panel_default .top_panel_title {background-color:#1f417e !important}

.page-id-2951.scheme_default .top_panel_default .top_panel_title {background-color:#1f417e !important}

.page-id-2952.scheme_default .top_panel_default .top_panel_title {background-color:#1f417e !important}

.page-id-2953.scheme_default .top_panel_default .top_panel_title {background-color:#1f417e !important}

.page-id-2954.scheme_default .top_panel_default .top_panel_title {background-color:#1f417e !important}

.page-id-2955.scheme_default .top_panel_default .top_panel_title {background-color:#1f417e !important}

.page-id-3540.scheme_default .top_panel_default .top_panel_title {background-color:#1f417e !important}

rs-group#slider-1-slide-3-layer-3 {
    margin-left: 0 !important;
}
@media(min-width:2000px){
    #homepageSlider .rs-parallax-wrap {
        left: 0% !important;
    }
 #homepageSlider.rev_slider .lgb_group,  #homepageSlider .revslider-initialised .lgb_group {
    margin-left: 60px  !important;
}
}
@media(max-width:700px){
    #custom_Donation givebutter-widget#gKKm9g {
        width: 100% !important;
    }
	h1.sc_layouts_title_caption {
    font-size: 30px;
}
}
.custom-form .form_wrap {
    border: 1px solid #ee3b7c;
}
button.sc_button_hover_slide_left {
    padding: 0 10px !important;
    font-size: 10px !important;
}
iframe#point_iframe {
    height: auto;
}
.scheme_dark form.mc4wp-form input[type="checkbox"] + label{
color:#000 !important;
}
.scheme_dark form.mc4wp-form input[type="checkbox"] + label:before {
    border-color: #000 !important;
}
@media(min-width:700px) and (max-width:1024px){
.sidebar_inner aside#block-4 {
    width: 100%;
}
#homepageSlider	.rev_slider .lgb_group, #homepageSlider .revslider-initialised .lgb_group {
    margin-left: -56px !important;
}
}
.customBox p,.customBox span{
color:#000;
}

.content .sc_item_subtitle  {display:none}

.scheme_dark form.mc4wp-form input[type="checkbox"] + label a {color:#EE3B7C !important}

.team_member_header .team_member_position {display:none}

.ow-leave-page-fab {background-color:#ee3b7c;padding-bottom:75px}

.ow-leave-page-fab h3 {color:#fff;padding-bottom:5px;}

.trx_addons_scroll_to_top.show {bottom: 7.45em;}

/* ───── Gravity Forms: Patient Wait-List colour tweaks ────────── */
/* 1. Universal white text (labels, choices, legends) */
.new_patient_wrapper .gfield_label,
.new_patient_wrapper legend.gfield_label,
.new_patient_wrapper .gfield_checkbox li label,
.new_patient_wrapper .gfield_radio    li label,
.new_patient_wrapper .gchoice_label           { 
    color: #fff !important;          /* turn text white                */
    background: transparent !important; /* kill white label boxes      */
}

/* 2. “(Required)” asterisk – keep it red, ditch its white pill */
.new_patient_wrapper .gfield_required{
    background: none !important;
    color: #e00 !important;          /* tweak if you use a brand colour */
}

/* 3. Dropdowns (e.g. Phone) – match label size */
.new_patient_wrapper select{
    font-size: 16px !important;
}

/* 4. Safety net: align all other labels/choices to same size */
.new_patient_wrapper .gfield_label,
.new_patient_wrapper .gfield_checkbox li label,
.new_patient_wrapper .gfield_radio    li label{
    font-size: 16px !important;
}


/* ── Gravity Forms – final colour / size tweaks ─────────────── */

/* 1️⃣  Turn checkbox / radio choice labels white */
.new_patient_wrapper
	.gfield_checkbox li label,
.new_patient_wrapper
	.gfield_radio    li label,
.new_patient_wrapper
	.gchoice_label,
.new_patient_wrapper
	.ginput_container_checkbox label,
.new_patient_wrapper
	.ginput_container_radio    label{
	color:#fff !important;
	background:transparent !important;   /* in case theme adds a box */
}

/* 2️⃣  Make ALL drop-downs (incl. “Best Way to Reach You”) same size */
.new_patient_wrapper select,
.new_patient_wrapper .chosen-container-single .chosen-single{
	font-size:16px !important;           /* match your other labels */
}

/* 3️⃣  (Optional) keep every other field label consistent, just in case */
.new_patient_wrapper .gfield_label{
	font-size:16px !important;
}
/* END MIGRATED PARENT CUSTOM CSS */

/* BEGIN NICE PACKAGE BRAND OVERRIDES */
:root {
  --np-primary: #F9A01B;
  --np-primary-contrast: #FFFFFF;
}

/* Header bar background: WHITE (inverted) */
.top_panel,
.top_panel .sc_layouts_row,
.top_panel_default .sc_layouts_row_type_normal,
.top_panel_default .sc_layouts_row_fixed_on,
.header_position_over .top_panel .sc_layouts_row[class*="scheme_"]:not(.sc_layouts_row_fixed_on),
.header_position_over .top_panel .sc_layouts_row_fixed_on {
  background: #FFFFFF !important;
}

/* Fixed placeholder behind the stuck header — match it so it doesn't flash orange */
.top_panel .sc_layouts_row_fixed_placeholder {
  background-color: #FFFFFF !important;
}

.top_panel {
  border-bottom: 3px solid #fff !important;
  box-shadow: none !important;
}

/* Logo: fill header height edge-to-edge, don't get column-width-constrained */
.top_panel .sc_layouts_logo,
.top_panel .elementor-widget-trx_sc_layouts_logo,
.top_panel .elementor-widget-trx_sc_layouts_logo .elementor-widget-container {
  display: block !important;
  line-height: 0 !important;
}
.top_panel .sc_layouts_logo img.logo_image {
  display: block !important;
  height: 86px !important;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
}

/* Header nav links: ORANGE on white (inverted) */
.scheme_default .top_panel .sc_layouts_menu_nav > li > a,
.scheme_default .top_panel .sc_layouts_menu_nav > li > a *,
.scheme_default .top_panel .sc_layouts_menu_nav > li.menu-item-has-children > a:after,
.scheme_default .top_panel .sc_layouts_menu_nav > li > a .icon-menu-collapse,
.scheme_default .top_panel .sc_layouts_item_icon,
.scheme_default .top_panel .sc_layouts_item_icon:before {
  color: var(--np-primary) !important;
  text-shadow: none !important;
}

.scheme_default .top_panel .sc_layouts_menu_nav > li.sfHover > a,
.scheme_default .top_panel .sc_layouts_menu_nav > li.current-menu-item > a,
.scheme_default .top_panel .sc_layouts_menu_nav > li.current-menu-parent > a,
.scheme_default .top_panel .sc_layouts_menu_nav > li.current-menu-ancestor > a {
  color: var(--np-primary) !important;
  opacity: 0.75;
}

/* Sub-menu: orange text on white */
.sc_layouts_menu_popup .sc_layouts_menu_nav,
.sc_layouts_menu_nav > li ul {
  border-color: var(--np-primary) !important;
}
.sc_layouts_menu_popup .sc_layouts_menu_nav > li > a,
.sc_layouts_menu_nav > li li > a {
  color: var(--np-primary) !important;
}
.sc_layouts_menu_popup .sc_layouts_menu_nav > li > a:hover,
.sc_layouts_menu_nav > li li > a:hover {
  background: var(--np-primary) !important;
  color: var(--np-primary-contrast) !important;
}

/* Generic link + highlight color */
a,
.scheme_default a,
.sc_item_subtitle,
.trx_addons_text_gradient {
  color: var(--np-primary);
}

/* -------- 1) PATIENT PORTAL BUTTON (header) — INVERTED
   Default: solid orange bg, white text. Hover: white bg, orange text. */
.scheme_default .top_panel a.sc_button[href*="portal"]:not([disabled]),
.scheme_default .top_panel a.sc_button[href*="patient-portal"]:not([disabled]),
.scheme_default .top_panel a.sc_button[href*="patientportal"]:not([disabled]),
.scheme_default .top_panel_default a.sc_button[href*="portal"]:not([disabled]) {
  background: var(--np-primary) !important;
  background-color: var(--np-primary) !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border: 2px solid var(--np-primary) !important;
  box-shadow: none !important;
}

.scheme_default .top_panel a.sc_button[href*="portal"]:not([disabled]) .sc_button_text,
.scheme_default .top_panel a.sc_button[href*="portal"]:not([disabled]) .sc_button_title,
.scheme_default .top_panel a.sc_button[href*="portal"]:not([disabled]) span {
  color: #FFFFFF !important;
  background: transparent !important;
  background-image: none !important;
}

.scheme_default .top_panel a.sc_button[href*="portal"]:not([disabled]):hover,
.scheme_default .top_panel a.sc_button[href*="patient-portal"]:not([disabled]):hover,
.scheme_default .top_panel_default a.sc_button[href*="portal"]:not([disabled]):hover {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  color: var(--np-primary) !important;
  border-color: var(--np-primary) !important;
}
.scheme_default .top_panel a.sc_button[href*="portal"]:not([disabled]):hover .sc_button_title,
.scheme_default .top_panel a.sc_button[href*="portal"]:not([disabled]):hover span {
  color: var(--np-primary) !important;
}

/* -------- 2) KILL RAINBOW PNG BEHIND HERO SLIDER --------
   Set inline on rs-module-wrap by RevSlider as a background-image url. */
#rev_slider_1_1_wrapper,
rs-module-wrap#rev_slider_1_1_wrapper,
#homepageSlider rs-module-wrap {
  background: var(--np-primary) !important;
  background-color: var(--np-primary) !important;
  background-image: none !important;
}

/* -------- 3+4) HERO SLIDES: force end state, orange text, no ugly slide-in --------
   Text colors on .lgb_title/.lgb_subtitle/.lgb_description come from inline `style="color: ..."` written by RevSlider.
   CSS !important beats inline without !important, so a moderate selector is enough. */
#homepageSlider .lgb_title,
#homepageSlider .lgb_subtitle,
#homepageSlider .lgb_description,
#homepageSlider .lgb_title *,
#homepageSlider .lgb_subtitle *,
#homepageSlider .lgb_description *,
#homepageSlider .rs_splitted_chars,
#homepageSlider .rs_splitted_lines,
#homepageSlider .rs_splitted_words {
  color: var(--np-primary) !important;
  -webkit-text-fill-color: var(--np-primary) !important;
  background-image: none !important;
  text-shadow: none !important;
}

/* Hero CTA buttons: orange bg, white text (not the white inversion Codex tried) */
#homepageSlider a.rev-btn,
#homepageSlider .rev-btn,
#homepageSlider .lgb_button {
  background: var(--np-primary) !important;
  background-color: var(--np-primary) !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: var(--np-primary) !important;
  box-shadow: none !important;
}
#homepageSlider a.rev-btn:hover,
#homepageSlider .rev-btn:hover,
#homepageSlider .lgb_button:hover {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: var(--np-primary) !important;
  border: 2px solid var(--np-primary) !important;
}

/* White panel (lgb_shape): force it to its end state — static, visible, no transform.
   This replaces the "slides in from -100%" animation with a just-there white panel. */
#homepageSlider .lgb_shape,
#homepageSlider rs-layer.lgb_shape,
#homepageSlider .tp-shape.tp-shapewrapper {
  background-color: #FFFFFF !important;
  background-image: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(0, 0) !important;
  transition: none !important;
  box-shadow: none !important;
}

/* Also quiet the text animation so content is in place immediately, no slide-in */
#homepageSlider .rs-parallax-wrap.rs-forcehidden,
#homepageSlider rs-layer-wrap.rs-forcehidden,
#homepageSlider rs-group-wrap.rs-forcehidden {
  visibility: visible !important;
}

#homepageSlider .lgb_group.rs-layer,
#homepageSlider .lgb_title.rs-layer,
#homepageSlider .lgb_subtitle.rs-layer,
#homepageSlider .lgb_description.rs-layer,
#homepageSlider a.lgb_button.rs-layer {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

/* -------- 5) "YOU'VE GOT A NICE PACKAGE" BLUE PANEL → ORANGE --------
   Blue comes from TRX sc_promo widget on `.sc_promo_text_inner`. */
.elementor-widget-trx_sc_promo .sc_promo_text_inner,
.sc_promo.scheme_dark .sc_promo_text_inner,
.sc_promo_default .sc_promo_text_inner,
div.sc_promo_text_inner[class*="trx_addons_inline"] {
  background: var(--np-primary) !important;
  background-color: var(--np-primary) !important;
  background-image: none !important;
}

/* -------- 6) GET CARE TEAL PANEL → ORANGE --------
   Teal set via Elementor on the column's widget-wrap. Unique element ID is fbfbf9b. */
.elementor-element.elementor-element-fbfbf9b > .elementor-widget-wrap,
.elementor-element-fbfbf9b > .elementor-widget-wrap.elementor-element-populated,
.elementor-element-fbfbf9b .elementor-widget-wrap.elementor-element-populated {
  background: var(--np-primary) !important;
  background-color: var(--np-primary) !important;
  background-image: none !important;
}

/* Also neutralize the legacy `.sc_button {background-color:#3bc3c3}` migrated rule above */
.sc_button {
  background-color: var(--np-primary) !important;
}

/* -------- 7) SCROLL-TO-TOP: MAGENTA → ORANGE --------
   Theme selector beating us is `.scheme_default .sc_button_hover_slide_left:not()...` (spec 0,0,4,0).
   We need >= 0,0,4,0 with !important. */
.scheme_default .trx_addons_cv .trx_addons_scroll_to_top.sc_button_hover_slide_left:not([disabled]),
.scheme_default .trx_addons_cv .trx_addons_scroll_to_top.sc_button_hover_slide_left,
.scheme_default a.trx_addons_scroll_to_top.sc_button_hover_slide_left:not([disabled]),
.scheme_default .trx_addons_scroll_to_top.sc_button_hover_slide_left.show,
.scheme_default .trx_addons_scroll_to_top.sc_button_hover_slide_left {
  background: var(--np-primary) !important;
  background-color: var(--np-primary) !important;
  background-image: none !important;
  background-position: 0 0 !important;
  background-size: auto !important;
  border-color: var(--np-primary) !important;
  color: var(--np-primary-contrast) !important;
  box-shadow: none !important;
}

.scheme_default .trx_addons_cv .trx_addons_scroll_to_top.sc_button_hover_slide_left:not([disabled]):hover,
.scheme_default a.trx_addons_scroll_to_top.sc_button_hover_slide_left:not([disabled]):hover {
  background: var(--np-primary) !important;
  background-color: var(--np-primary) !important;
  background-image: none !important;
  color: var(--np-primary-contrast) !important;
  opacity: 0.9;
}

/* -------- Safety Exit (already right color but lock it in) -------- */
.ow-leave-page-fab {
  background-color: var(--np-primary) !important;
}
.ow-leave-page-fab h3,
.ow-leave-page-fab a,
.ow-leave-page-fab button {
  color: var(--np-primary-contrast) !important;
}

/* -------- Homepage dark/orange section cleanup -------- */
.home .scheme_dark,
.home .scheme_dark .vc_column-inner,
.home .scheme_dark .elementor-column-wrap,
.home .scheme_dark .elementor-widget-wrap,
.home .scheme_dark .sc_content,
.home .scheme_dark .sc_item_content {
  background-color: var(--np-primary) !important;
  background-image: none !important;
}
.home .sc_icons_extra .sc_icons_item,
.home .sc_icons_extra .sc_icons_item:hover,
.home .sc_icons_extra .sc_icons_item_link {
  background-color: var(--np-primary) !important;
  background-image: none !important;
  border-color: var(--np-primary) !important;
}
.home .scheme_dark .sc_item_title,
.home .scheme_dark .sc_item_title_text,
.home .scheme_dark .sc_icons_item_title,
.home .scheme_dark .sc_services_item_title,
.home .scheme_dark .sc_services_item_title a,
.home .scheme_dark h1,
.home .scheme_dark h2,
.home .scheme_dark h3 {
  color: #FFFFFF !important;
}

/* =======================================================================
   Starter 4-card section on homepage ("Start with what you need.")
   Selectors target via widget-level classes using :has() since Elementor
   _css_classes doesn't propagate to sections/columns reliably.
   ======================================================================= */

/* Header section — identified by the np-header-title heading widget */
.elementor-section:has(> .elementor-container .np-header-title) {
  background: #FFFFFF !important;
  padding-top: 80px !important;
  padding-bottom: 0 !important;
}

/* Card row — identified by containing np-card-title headings */
.elementor-section:has(> .elementor-container .np-card-title) {
  background: #FFFFFF !important;
  padding-top: 20px !important;
  padding-bottom: 80px !important;
}

/* Eyebrow label */
.np-header-eyebrow-wrap .np-eyebrow,
.np-header-eyebrow-wrap p {
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #F9A01B !important;
  text-align: center !important;
  margin: 0 0 12px !important;
}

/* H2 tweaks */
.np-header-title .elementor-heading-title {
  margin: 0 auto 16px !important;
  max-width: 780px;
  line-height: 1.15;
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 700;
  letter-spacing: -0.5px;
  text-align: center !important;
  color: #F9A01B !important;
}

/* Subtitle */
.np-header-subtitle-wrap .np-header-subtitle,
.np-header-subtitle-wrap p {
  text-align: center !important;
  color: #4a4a4a !important;
  font-size: 18px;
  line-height: 1.55;
  max-width: 640px;
  margin: 0 auto !important;
}

/* Card columns — identified by containing a .np-card-title */
.elementor-column:has(.np-card-title) > .elementor-column-wrap,
.elementor-column:has(.np-card-title) > .elementor-widget-wrap {
  background: #FFFFFF;
  border: 1px solid #EDEDED;
  border-top: 4px solid #F9A01B;
  border-radius: 12px;
  padding: 32px 22px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  margin: 0 10px;
  height: calc(100% - 0px);
}

.elementor-column:has(.np-card-title):hover > .elementor-column-wrap,
.elementor-column:has(.np-card-title):hover > .elementor-widget-wrap {
  box-shadow: 0 6px 20px rgba(249,160,27,0.12);
  transform: translateY(-3px);
}

/* Card title */
.np-card-title .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #F9A01B !important;
  margin: 0 !important;
  text-align: center !important;
}

/* Link list inside each card */
ul.np-card-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
}
ul.np-card-links li {
  margin: 0;
  padding: 0;
  border-top: 1px solid #F4F4F4;
  list-style: none;
}
ul.np-card-links li:first-child {
  border-top: none;
}
ul.np-card-links li a {
  display: block;
  padding: 14px 6px;
  color: #2a2a2a !important;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none !important;
  transition: color 0.15s ease;
}
ul.np-card-links li a:hover {
  color: #F9A01B !important;
}
ul.np-card-links .np-arrow {
  color: #F9A01B;
  margin-left: 6px;
  opacity: 0.6;
  transition: opacity 0.15s ease, transform 0.15s ease;
  display: inline-block;
}
ul.np-card-links li a:hover .np-arrow {
  opacity: 1;
  transform: translateX(3px);
}

/* Mobile stacking */
@media (max-width: 880px) {
  .elementor-column:has(.np-card-title) > .elementor-column-wrap,
  .elementor-column:has(.np-card-title) > .elementor-widget-wrap {
    margin: 0 0 20px 0;
  }
}

/* =======================================================================
   Custom Nice Package pages — FAQ / STI / Toolbox / etc.
   Applied to any page template starting with page-*.php in child theme.
   ======================================================================= */

.np-custom-page {
  background: #FFFFFF;
  padding: 80px 20px 100px;
  min-height: 50vh;
}

/* Reset theme chrome on custom NP pages so the template owns the layout */
body:has(.np-custom-page) .top_panel_title,
body:has(.np-custom-page) .sc_layouts_title {
  display: none !important;
}

/* Kill default page header hero image — it's an Elementor layout section on inner pages */
body:has(.np-custom-page) .top_panel_default,
body:has(.np-custom-page) .top_panel_image,
body:has(.np-custom-page) .sc_layouts_title_with_image,
body:has(.np-custom-page) .elementor-section.scheme_dark[style*="background-image"],
body:has(.np-custom-page) .top_panel .elementor-section.scheme_dark {
  display: none !important;
}
body:has(.np-custom-page) .top_panel .elementor-section[class*="scheme_dark"] {
  display: none !important;
}

/* Hide the sidebar on custom pages */
body:has(.np-custom-page) aside.sidebar,
body:has(.np-custom-page) .sidebar.widget_area,
body:has(.np-custom-page) [role="complementary"].sidebar,
body:has(.np-custom-page) .sidebar_main,
body:has(.np-custom-page) .post_item_single .sidebar {
  display: none !important;
}

/* Make the content area full-width */
body:has(.np-custom-page) .content_wrap,
body:has(.np-custom-page) .content_container,
body:has(.np-custom-page) .post_content,
body:has(.np-custom-page) .content,
body:has(.np-custom-page) main,
body:has(.np-custom-page) .main {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}
body:has(.np-custom-page) .columns_padding_25 > .content,
body:has(.np-custom-page) .columns_padding_bottom_25,
body:has(.np-custom-page) .columns_wrap {
  padding: 0 !important;
  margin: 0 !important;
}

.np-custom-page .np-page-inner {
  max-width: 880px;
  margin: 0 auto;
}

/* Header block */
.np-custom-page .np-page-header {
  text-align: center;
  margin-bottom: 48px;
}
.np-custom-page .np-eyebrow {
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 13px;
  font-weight: 600;
  color: #F9A01B;
  margin: 0 0 16px;
}
.np-custom-page .np-page-title {
  font-size: clamp(36px, 5vw, 60px);
  font-weight: 700;
  color: #F9A01B;
  line-height: 1.1;
  letter-spacing: -0.5px;
  margin: 0 0 20px;
}
.np-custom-page .np-page-lede {
  font-size: 18px;
  line-height: 1.55;
  color: #4a4a4a;
  max-width: 640px;
  margin: 0 auto;
}

/* Inline CTA link */
.np-custom-page .np-inline-cta {
  display: inline-block;
  color: #F9A01B;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid rgba(249,160,27,0.25);
  padding: 2px 0;
  transition: border-color 0.15s ease;
}
.np-custom-page .np-inline-cta:hover {
  border-color: #F9A01B;
}

/* Solid + ghost buttons */
.np-custom-page .np-btn {
  display: inline-block;
  padding: 14px 28px;
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 999px;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.np-custom-page .np-btn-primary {
  background: #F9A01B;
  color: #FFFFFF;
  border: 2px solid #F9A01B;
}
.np-custom-page .np-btn-primary:hover {
  background: #FFFFFF;
  color: #F9A01B;
}
.np-custom-page .np-btn-ghost {
  background: #FFFFFF;
  color: #F9A01B;
  border: 2px solid #F9A01B;
}
.np-custom-page .np-btn-ghost:hover {
  background: #F9A01B;
  color: #FFFFFF;
}
.np-custom-page .np-cta-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 24px;
}

/* Help / closing callout */
.np-custom-page .np-help-box {
  margin-top: 64px;
  padding: 32px;
  background: #FFF7EA;
  border-left: 4px solid #F9A01B;
  border-radius: 8px;
  text-align: center;
}
.np-custom-page .np-help-box h2 {
  color: #F9A01B;
  margin: 0 0 8px;
  font-size: 22px;
}
.np-custom-page .np-help-box p {
  margin: 0;
  color: #333;
  font-size: 16px;
}
.np-custom-page .np-help-box a {
  color: #F9A01B;
  font-weight: 600;
}

/* -------- FAQ accordion (native <details>) -------- */

.np-accordion {
  margin-top: 40px;
}
.np-accordion-item {
  border: 1px solid #EDEDED;
  border-radius: 10px;
  margin-bottom: 12px;
  background: #FFFFFF;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.np-accordion-item[open] {
  border-color: #F9A01B;
  box-shadow: 0 2px 8px rgba(249,160,27,0.08);
}
.np-accordion-trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  cursor: pointer;
  list-style: none;
  font-size: 18px;
  font-weight: 600;
  color: #1a1a1a;
  user-select: none;
}
.np-accordion-trigger::-webkit-details-marker { display: none; }
.np-accordion-trigger:hover .np-accordion-q {
  color: #F9A01B;
}
.np-accordion-icon {
  color: #F9A01B;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  transition: transform 0.2s ease;
}
.np-accordion-item[open] .np-accordion-icon {
  transform: rotate(45deg);
}
.np-accordion-body {
  padding: 0 24px 24px;
  color: #333;
  line-height: 1.65;
  font-size: 16px;
}
.np-accordion-body p { margin: 0 0 12px; }
.np-accordion-body ul,
.np-accordion-body ol { padding-left: 22px; margin: 0 0 12px; }
.np-accordion-body li { margin: 6px 0; }
.np-accordion-body a { color: #F9A01B; text-decoration: none; border-bottom: 1px solid rgba(249,160,27,0.3); }
.np-accordion-body a:hover { border-color: #F9A01B; }
.np-steps li { margin: 10px 0; }

/* -------- STI page -------- */

.np-sti-page .np-callout {
  margin: 0 auto 56px;
  max-width: 720px;
  padding: 24px 28px;
  background: #FFF7EA;
  border-left: 4px solid #F9A01B;
  border-radius: 8px;
}
.np-sti-page .np-callout p {
  margin: 0 0 12px;
  color: #333;
  line-height: 1.55;
}
.np-sti-page .np-callout p:last-child { margin: 0; }
.np-sti-page .np-callout .np-inline-cta { margin-top: 4px; }

.np-sti-page .np-sti-intro {
  margin-bottom: 48px;
}
.np-sti-page .np-sti-intro h2,
.np-sti-page .np-sti-footer h2 {
  color: #F9A01B;
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 16px;
}
.np-sti-page .np-sti-intro p {
  color: #333;
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
}

.np-sti-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 64px;
}
.np-sti-card {
  background: #FFFFFF;
  border: 1px solid #EDEDED;
  border-top: 4px solid #F9A01B;
  border-radius: 12px;
  padding: 28px 24px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.np-sti-card h3 {
  color: #F9A01B;
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 16px;
  letter-spacing: 0.5px;
}
.np-sti-label {
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 12px;
  font-weight: 600;
  color: #8a8a8a;
  margin: 12px 0 4px !important;
}
.np-sti-card p {
  color: #333;
  line-height: 1.55;
  font-size: 15px;
  margin: 0 0 4px;
}

.np-sti-page .np-sti-footer {
  text-align: center;
  padding: 48px 24px;
  background: #FFF7EA;
  border-radius: 12px;
}
.np-sti-page .np-sti-footer p {
  color: #333;
  font-size: 17px;
  margin: 0 0 8px;
}

@media (max-width: 720px) {
  .np-sti-grid { grid-template-columns: 1fr; }
}

/* -------- Toolbox page -------- */

.np-toolbox-list {
  margin-top: 16px;
}
.np-toolbox-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 24px;
  padding: 36px 0;
  border-bottom: 1px solid #EDEDED;
}
.np-toolbox-item:last-child { border-bottom: none; }
.np-toolbox-index {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 64px;
  font-weight: 700;
  color: #F9A01B;
  line-height: 1;
  letter-spacing: -2px;
  opacity: 0.9;
}
.np-toolbox-content h2 {
  color: #F9A01B;
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 12px;
  line-height: 1.2;
}
.np-toolbox-content p {
  color: #333;
  font-size: 17px;
  line-height: 1.6;
  margin: 0 0 16px;
}

@media (max-width: 600px) {
  .np-toolbox-item {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .np-toolbox-index { font-size: 44px; }
}

/* -------- Header logo column: fill orange to match button on right -------- */
.top_panel .elementor-column:has(.sc_layouts_logo),
.top_panel .elementor-widget-wrap:has(> .elementor-widget-trx_sc_layouts_logo),
.top_panel .elementor-widget-trx_sc_layouts_logo,
.top_panel .elementor-widget-trx_sc_layouts_logo > .elementor-widget-container {
  background-color: #F9A01B !important;
}

/* -------- Match Order Condoms button height to logo (86px) so bottoms align -------- */
.top_panel .sc_layouts_row .sc_button_wrap > a.sc_button {
  height: 86px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* -------- About page -------- */

.np-about-page .np-about-intro {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 56px;
}
.np-about-page .np-about-intro p {
  color: #333;
  font-size: 17px;
  line-height: 1.65;
  margin: 0 0 14px;
}
.np-about-page .np-about-intro p:last-child { margin: 0; }

.np-about-page .np-about-block {
  padding: 36px 0;
  border-top: 1px solid #EDEDED;
}
.np-about-page .np-about-block h2 {
  color: #F9A01B;
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 16px;
  line-height: 1.2;
}
.np-about-page .np-about-block p {
  color: #333;
  font-size: 17px;
  line-height: 1.65;
  margin: 0 0 14px;
}
.np-about-page .np-about-block p:last-child { margin: 0; }

/* Prisma parent-org callout — tinted card so it reads as distinct */
.np-about-page .np-about-callout {
  margin: 16px 0 16px;
  padding: 32px 36px;
  background: #FFF7EA;
  border-left: 4px solid #F9A01B;
  border-radius: 8px;
}
.np-about-page .np-about-callout .np-callout-eyebrow {
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12px;
  font-weight: 600;
  color: #F9A01B;
  margin: 0 0 8px;
}
.np-about-page .np-about-callout h2 {
  color: #1a1a1a;
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 14px;
  line-height: 1.25;
  border: none;
}
.np-about-page .np-about-callout p {
  color: #333;
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 12px;
}
.np-about-page .np-about-callout p:last-child { margin: 0; }

/* Respectful-use policy list */
.np-about-page .np-policy-list {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
}
.np-about-page .np-policy-list li {
  padding: 14px 0 14px 28px;
  position: relative;
  color: #333;
  font-size: 16px;
  line-height: 1.55;
  border-top: 1px solid #F4F4F4;
}
.np-about-page .np-policy-list li:first-child { border-top: none; }
.np-about-page .np-policy-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22px;
  width: 14px;
  height: 2px;
  background: #F9A01B;
}
.np-about-page .np-policy-list strong {
  color: #1a1a1a;
  display: block;
  margin-bottom: 2px;
}

/* =======================================================================
   WooCommerce brand overrides — recolor from theme's pink #ee3b7c to
   brand orange #F9A01B across shop, single product, cart, checkout.
   ======================================================================= */

/* --- Prices (shop archive + single + cart + mini-cart) --- */
.woocommerce .price,
.woocommerce span.price,
.woocommerce-Price-amount,
.woocommerce-Price-currencySymbol,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce .product_list_widget .amount,
.woocommerce table.shop_table .product-subtotal,
.woocommerce table.shop_table .product-total,
.woocommerce-cart .cart_totals .amount,
.woocommerce-checkout .order-total .amount,
.scheme_default .woocommerce .price,
.scheme_default .woocommerce span.price,
.scheme_default .woocommerce-Price-amount,
.scheme_default .woocommerce-Price-currencySymbol {
  color: #F9A01B !important;
  border-color: #F9A01B !important;
}

/* --- WooCommerce primary buttons (add-to-cart, proceed, place order, etc.) --- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.woocommerce #respond input#submit,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order,
.woocommerce ul.products li.product .button,
.scheme_default .woocommerce a.button,
.scheme_default .woocommerce button.button {
  background: #F9A01B !important;
  background-color: #F9A01B !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: #F9A01B !important;
  text-shadow: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #payment #place_order:hover,
.scheme_default .woocommerce a.button:hover,
.scheme_default .woocommerce button.button:hover {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  color: #F9A01B !important;
  border: 2px solid #F9A01B !important;
}

/* --- Shop archive product hover icons (cart, link) --- */
.woocommerce ul.products li.product a.shop_cart,
.woocommerce ul.products li.product a.shop_link,
.woocommerce ul.products li.product a.shop_quick_view,
.scheme_default .woocommerce ul.products li.product a.shop_cart,
.scheme_default .woocommerce ul.products li.product a.shop_link {
  background-color: #F9A01B !important;
  border-color: #F9A01B !important;
  color: #FFFFFF !important;
}
.woocommerce ul.products li.product a.shop_cart:hover,
.woocommerce ul.products li.product a.shop_link:hover {
  background-color: #FFFFFF !important;
  color: #F9A01B !important;
  border-color: #F9A01B !important;
}

/* --- Shop view toggles (grid / list) + sort dropdown focus --- */
.woocommerce .sc_shop_mode .woocommerce_grid:hover,
.woocommerce .sc_shop_mode .woocommerce_list:hover,
.woocommerce .sc_shop_mode a.active,
.woocommerce_list.active,
.woocommerce_grid.active,
.scheme_default .woocommerce_list,
.scheme_default .woocommerce_grid {
  color: #F9A01B !important;
  border-color: #F9A01B !important;
}

/* --- WC messages (info box top of cart/checkout) --- */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  border-top-color: #F9A01B !important;
}
.woocommerce-info::before,
.woocommerce-message::before {
  color: #F9A01B !important;
}
.woocommerce-info a,
.woocommerce-message a {
  color: #F9A01B !important;
}

/* --- Cart + checkout form links, headers, accents --- */
.woocommerce a.remove,
.woocommerce table.cart a.remove,
.woocommerce table.shop_table a.remove {
  color: #F9A01B !important;
  border-color: #F9A01B !important;
}
.woocommerce a.remove:hover {
  background: #F9A01B !important;
  color: #FFFFFF !important;
}

.woocommerce-cart-form__contents th,
.woocommerce .shop_table th,
.woocommerce-checkout h3 {
  color: #1a1a1a;
}

/* --- Pagination on shop --- */
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: #F9A01B !important;
  color: #FFFFFF !important;
  border-color: #F9A01B !important;
}

/* --- Single product page: tabs, quantity + -, related products --- */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
  border-bottom-color: #F9A01B !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
  color: #F9A01B !important;
}
.woocommerce .quantity .qty,
.woocommerce input.qty {
  border-color: #EDEDED !important;
}

/* --- Breadcrumbs on inner WC pages --- */
.woocommerce .woocommerce-breadcrumb a:hover,
.woocommerce-breadcrumb a:hover {
  color: #F9A01B !important;
}

/* --- Header sc_button (Make A Donation, etc.) recolor to orange.
   Theme's rule is `.scheme_default .sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled])` (spec 0,0,4,0).
   Match with equal spec + later source order. --- */
.scheme_default .top_panel a.sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled]),
.scheme_default .top_panel_default a.sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled]),
body .scheme_default a.sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled]):not([href*="portal"]):not([href*="patient-portal"]) {
  background: #F9A01B !important;
  background-color: #F9A01B !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: #F9A01B !important;
  box-shadow: none !important;
}

/* --- All WC buttons that also carry sc_button_hover_slide_left class (View cart, Apply coupon, Proceed to checkout, etc.) --- */
.scheme_default .woocommerce .button.sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled]),
.scheme_default .woocommerce a.button.sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled]),
.scheme_default .woocommerce button.button.sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled]),
.scheme_default .woocommerce input.button.sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled]),
.scheme_default a.checkout-button.sc_button_hover_slide_left:not([disabled]) {
  background: #F9A01B !important;
  background-color: #F9A01B !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: #F9A01B !important;
}
.scheme_default .woocommerce .button.sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled]):hover,
.scheme_default a.checkout-button.sc_button_hover_slide_left:not([disabled]):hover {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: #F9A01B !important;
  border: 2px solid #F9A01B !important;
}

/* --- Single product: quantity +/- and Buy Now button --- */
.woocommerce .quantity .q_inc,
.woocommerce .quantity .q_dec,
.scheme_default .woocommerce .quantity .q_inc,
.scheme_default .woocommerce .quantity .q_dec {
  background-color: #F9A01B !important;
  border-color: #F9A01B !important;
  color: #FFFFFF !important;
}
.woocommerce .quantity .q_inc:hover,
.woocommerce .quantity .q_dec:hover {
  background-color: #D88412 !important;
}

/* --- Single product Buy Now button (uses sc_button_hover_slide_left with high spec) --- */
.scheme_default .woocommerce button.single_add_to_cart_button.sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled]),
.scheme_default button.single_add_to_cart_button.sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled]),
body .scheme_default button.single_add_to_cart_button:not([disabled]) {
  background: #F9A01B !important;
  background-color: #F9A01B !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: #F9A01B !important;
}
.scheme_default .woocommerce button.single_add_to_cart_button.sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled]):hover,
.scheme_default button.single_add_to_cart_button.sc_button_hover_slide_left:not([disabled="disabled"]):not([disabled]):hover {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: #F9A01B !important;
  border: 2px solid #F9A01B !important;
}

/* --- Also strip the pink inner-page hero image on WooCommerce pages --- */
body.woocommerce-page .top_panel .elementor-section[class*="scheme_dark"],
body.woocommerce-cart .top_panel .elementor-section[class*="scheme_dark"],
body.woocommerce-checkout .top_panel .elementor-section[class*="scheme_dark"],
body.single-product .top_panel .elementor-section[class*="scheme_dark"] {
  display: none !important;
}

/* --- WC general link color (default theme link color is pink) --- */
.woocommerce a:not(.button):not(.np-btn):not(.np-inline-cta),
.woocommerce-page a:not(.button):not(.np-btn):not(.np-inline-cta) {
  color: #F9A01B;
}
.woocommerce a:not(.button):not(.np-btn):not(.np-inline-cta):hover,
.woocommerce-page a:not(.button):not(.np-btn):not(.np-inline-cta):hover {
  color: #D88412;
}
/* END NICE PACKAGE BRAND OVERRIDES */
