/*
 * First Light 0.5.192: Beaver-owned responsive spacing, alignment and hero buttons.
 *
 * Type sizes remain semantic/sitewide. Individual First Light modules may own
 * spacing, alignment, colors and highlighted heading phrases, including tablet
 * and mobile spacing overrides.
 */

:root{
  --fls-type-h1:var(--fls-type-h1-desktop,64px);
  --fls-type-h2:var(--fls-type-h2-desktop,48px);
  --fls-type-h3:var(--fls-type-h3-desktop,32px);
  --fls-type-h4:var(--fls-type-h4-desktop,24px);
  --fls-type-h5:var(--fls-type-h5-desktop,20px);
  --fls-type-h6:var(--fls-type-h6-desktop,18px);
  --fls-type-body:var(--fls-type-body-desktop,18px);
  --fls-type-eyebrow:var(--fls-type-eyebrow-desktop,12px);
}

/* Heading phrase accent. */
html body:not(.wp-admin) .fls-heading-accent{
  color:var(--fls-heading-accent-color,var(--fls-brand-pink,#EF8394))!important;
}

/* Desktop module spacing and alignment. */
html body:not(.wp-admin) .fls-stack-kicker{
  margin-top:var(--fls-kicker-margin-top,0)!important;
  margin-bottom:var(--fls-kicker-margin-bottom,var(--fls-space-eyebrow-bottom,12px))!important;
  padding:var(--fls-kicker-padding,0)!important;
  text-align:var(--fls-kicker-text-align,inherit)!important;
}
html body:not(.wp-admin) .fls-stack-heading{
  margin-top:var(--fls-heading-margin-top,0)!important;
  margin-bottom:var(--fls-heading-margin-bottom,inherit)!important;
  padding:var(--fls-heading-padding,0)!important;
  text-align:var(--fls-heading-text-align,inherit)!important;
}
html body:not(.wp-admin) :is(.fls-stack-copy,.fls-stack-editable,.fls-functional-custom,.fls-functional-detail){
  margin-top:var(--fls-body-margin-top,0)!important;
  margin-bottom:var(--fls-body-margin-bottom,0)!important;
  padding:var(--fls-body-padding,0)!important;
  text-align:var(--fls-body-text-align,inherit)!important;
}
html body:not(.wp-admin) .fls-stack-subheading{
  margin-top:var(--fls-subheading-margin-top,inherit)!important;
  margin-bottom:var(--fls-subheading-margin-bottom,inherit)!important;
  padding:var(--fls-subheading-padding,0)!important;
  text-align:var(--fls-subheading-text-align,inherit)!important;
}
html body:not(.wp-admin) .fls-stack-actions{
  margin-top:var(--fls-actions-margin-top,var(--fls-space-actions-top,28px))!important;
  margin-bottom:var(--fls-actions-margin-bottom,0)!important;
  padding:var(--fls-actions-padding,0)!important;
  justify-content:var(--fls-actions-alignment,var(--fls-action-alignment,flex-start))!important;
}

/* First Light module buttons use their Beaver module variables, not legacy global button CSS. */
html body:not(.wp-admin) .fls-stack-action-primary{
  margin-top:var(--fls-primary-margin-top,0)!important;
  margin-bottom:var(--fls-primary-margin-bottom,0)!important;
  padding:var(--fls-primary-padding,12px 24px)!important;
  color:var(--fls-primary-color,#0B1644)!important;
  background-color:var(--fls-primary-background-color,#EF8394)!important;
  border-color:var(--fls-primary-border-color,#EF8394)!important;
  border-width:var(--fls-primary-border-width,1px)!important;
  border-radius:var(--fls-primary-border-radius,999px)!important;
}
html body:not(.wp-admin) .fls-stack-action-secondary{
  margin-top:var(--fls-secondary-margin-top,0)!important;
  margin-bottom:var(--fls-secondary-margin-bottom,0)!important;
  padding:var(--fls-secondary-padding,12px 24px)!important;
  color:var(--fls-secondary-color,#4D67AF)!important;
  background-color:var(--fls-secondary-background-color,transparent)!important;
  border-color:var(--fls-secondary-border-color,#4D67AF)!important;
  border-width:var(--fls-secondary-border-width,1px)!important;
  border-radius:var(--fls-secondary-border-radius,999px)!important;
}

/* Top-level photographic heroes default to the approved filled-white secondary button.
 * Explicit Beaver module values still win through the inherited custom properties. */
html body.fls-v0561-top-level:not(.wp-admin) .fls-v0561-background-hero .fls-stack-action-secondary{
  color:var(--fls-secondary-color,#4D67AF)!important;
  background-color:var(--fls-secondary-background-color,#FFFFFF)!important;
  border-color:var(--fls-secondary-border-color,#FFFFFF)!important;
}
html body.fls-v0561-top-level:not(.wp-admin) .fls-v0561-background-hero .fls-stack-action-secondary:hover,
html body.fls-v0561-top-level:not(.wp-admin) .fls-v0561-background-hero .fls-stack-action-secondary:focus-visible{
  color:var(--fls-secondary-hover-color,#0B1644)!important;
  background-color:var(--fls-secondary-hover-background-color,#FCECEF)!important;
  border-color:var(--fls-secondary-hover-border-color,#FCECEF)!important;
}

/* Tablet: one coherent semantic type scale plus module-specific spacing/alignment. */
@media(max-width:900px){
  :root{
    --fls-type-h1:var(--fls-type-h1-tablet,48px);
    --fls-type-h2:var(--fls-type-h2-tablet,38px);
    --fls-type-h3:var(--fls-type-h3-tablet,30px);
    --fls-type-h4:var(--fls-type-h4-tablet,23px);
    --fls-type-h5:var(--fls-type-h5-tablet,19px);
    --fls-type-h6:var(--fls-type-h6-tablet,17px);
    --fls-type-body:var(--fls-type-body-tablet,17px);
    --fls-type-eyebrow:var(--fls-type-eyebrow-tablet,12px);
  }

  html body:not(.wp-admin) .fls-stack-kicker{
    margin-top:var(--fls-kicker-margin-top-medium,var(--fls-kicker-margin-top,0))!important;
    margin-bottom:var(--fls-kicker-margin-bottom-medium,var(--fls-kicker-margin-bottom,var(--fls-space-eyebrow-bottom,12px)))!important;
    padding:var(--fls-kicker-padding-medium,var(--fls-kicker-padding,0))!important;
    text-align:var(--fls-kicker-text-align-medium,var(--fls-kicker-text-align,inherit))!important;
  }
  html body:not(.wp-admin) .fls-stack-heading{
    margin-top:var(--fls-heading-margin-top-medium,var(--fls-heading-margin-top,0))!important;
    margin-bottom:var(--fls-heading-margin-bottom-medium,var(--fls-heading-margin-bottom,inherit))!important;
    padding:var(--fls-heading-padding-medium,var(--fls-heading-padding,0))!important;
    text-align:var(--fls-heading-text-align-medium,var(--fls-heading-text-align,inherit))!important;
  }
  html body:not(.wp-admin) :is(.fls-stack-copy,.fls-stack-editable,.fls-functional-custom,.fls-functional-detail){
    margin-top:var(--fls-body-margin-top-medium,var(--fls-body-margin-top,0))!important;
    margin-bottom:var(--fls-body-margin-bottom-medium,var(--fls-body-margin-bottom,0))!important;
    padding:var(--fls-body-padding-medium,var(--fls-body-padding,0))!important;
    text-align:var(--fls-body-text-align-medium,var(--fls-body-text-align,inherit))!important;
  }
  html body:not(.wp-admin) .fls-stack-subheading{
    margin-top:var(--fls-subheading-margin-top-medium,var(--fls-subheading-margin-top,inherit))!important;
    margin-bottom:var(--fls-subheading-margin-bottom-medium,var(--fls-subheading-margin-bottom,inherit))!important;
    padding:var(--fls-subheading-padding-medium,var(--fls-subheading-padding,0))!important;
    text-align:var(--fls-subheading-text-align-medium,var(--fls-subheading-text-align,inherit))!important;
  }
  html body:not(.wp-admin) .fls-stack-actions{
    margin-top:var(--fls-actions-margin-top-medium,var(--fls-actions-margin-top,var(--fls-space-actions-top,28px)))!important;
    margin-bottom:var(--fls-actions-margin-bottom-medium,var(--fls-actions-margin-bottom,0))!important;
    padding:var(--fls-actions-padding-medium,var(--fls-actions-padding,0))!important;
    justify-content:var(--fls-actions-alignment-medium,var(--fls-actions-alignment,var(--fls-action-alignment,flex-start)))!important;
  }
  html body:not(.wp-admin) .fls-stack-action-primary{
    margin-top:var(--fls-primary-margin-top-medium,var(--fls-primary-margin-top,0))!important;
    margin-bottom:var(--fls-primary-margin-bottom-medium,var(--fls-primary-margin-bottom,0))!important;
    padding:var(--fls-primary-padding-medium,var(--fls-primary-padding,12px 24px))!important;
  }
  html body:not(.wp-admin) .fls-stack-action-secondary{
    margin-top:var(--fls-secondary-margin-top-medium,var(--fls-secondary-margin-top,0))!important;
    margin-bottom:var(--fls-secondary-margin-bottom-medium,var(--fls-secondary-margin-bottom,0))!important;
    padding:var(--fls-secondary-padding-medium,var(--fls-secondary-padding,12px 24px))!important;
  }
}

/* Mobile: smaller but still readable type and independent spacing/alignment controls. */
@media(max-width:680px){
  :root{
    --fls-type-h1:var(--fls-type-h1-mobile,40px);
    --fls-type-h2:var(--fls-type-h2-mobile,32px);
    --fls-type-h3:var(--fls-type-h3-mobile,26px);
    --fls-type-h4:var(--fls-type-h4-mobile,22px);
    --fls-type-h5:var(--fls-type-h5-mobile,19px);
    --fls-type-h6:var(--fls-type-h6-mobile,17px);
    --fls-type-body:var(--fls-type-body-mobile,16px);
    --fls-type-eyebrow:var(--fls-type-eyebrow-mobile,12px);
  }

  html body:not(.wp-admin) .fls-stack-kicker{
    margin-top:var(--fls-kicker-margin-top-responsive,var(--fls-kicker-margin-top-medium,var(--fls-kicker-margin-top,0)))!important;
    margin-bottom:var(--fls-kicker-margin-bottom-responsive,var(--fls-kicker-margin-bottom-medium,var(--fls-kicker-margin-bottom,var(--fls-space-eyebrow-bottom,12px))))!important;
    padding:var(--fls-kicker-padding-responsive,var(--fls-kicker-padding-medium,var(--fls-kicker-padding,0)))!important;
    text-align:var(--fls-kicker-text-align-responsive,var(--fls-kicker-text-align-medium,var(--fls-kicker-text-align,inherit)))!important;
  }
  html body:not(.wp-admin) .fls-stack-heading{
    margin-top:var(--fls-heading-margin-top-responsive,var(--fls-heading-margin-top-medium,var(--fls-heading-margin-top,0)))!important;
    margin-bottom:var(--fls-heading-margin-bottom-responsive,var(--fls-heading-margin-bottom-medium,var(--fls-heading-margin-bottom,inherit)))!important;
    padding:var(--fls-heading-padding-responsive,var(--fls-heading-padding-medium,var(--fls-heading-padding,0)))!important;
    text-align:var(--fls-heading-text-align-responsive,var(--fls-heading-text-align-medium,var(--fls-heading-text-align,inherit)))!important;
  }
  html body:not(.wp-admin) :is(.fls-stack-copy,.fls-stack-editable,.fls-functional-custom,.fls-functional-detail){
    margin-top:var(--fls-body-margin-top-responsive,var(--fls-body-margin-top-medium,var(--fls-body-margin-top,0)))!important;
    margin-bottom:var(--fls-body-margin-bottom-responsive,var(--fls-body-margin-bottom-medium,var(--fls-body-margin-bottom,0)))!important;
    padding:var(--fls-body-padding-responsive,var(--fls-body-padding-medium,var(--fls-body-padding,0)))!important;
    text-align:var(--fls-body-text-align-responsive,var(--fls-body-text-align-medium,var(--fls-body-text-align,inherit)))!important;
  }
  html body:not(.wp-admin) .fls-stack-subheading{
    margin-top:var(--fls-subheading-margin-top-responsive,var(--fls-subheading-margin-top-medium,var(--fls-subheading-margin-top,inherit)))!important;
    margin-bottom:var(--fls-subheading-margin-bottom-responsive,var(--fls-subheading-margin-bottom-medium,var(--fls-subheading-margin-bottom,inherit)))!important;
    padding:var(--fls-subheading-padding-responsive,var(--fls-subheading-padding-medium,var(--fls-subheading-padding,0)))!important;
    text-align:var(--fls-subheading-text-align-responsive,var(--fls-subheading-text-align-medium,var(--fls-subheading-text-align,inherit)))!important;
  }
  html body:not(.wp-admin) .fls-stack-actions{
    margin-top:var(--fls-actions-margin-top-responsive,var(--fls-actions-margin-top-medium,var(--fls-actions-margin-top,var(--fls-space-actions-top,24px))))!important;
    margin-bottom:var(--fls-actions-margin-bottom-responsive,var(--fls-actions-margin-bottom-medium,var(--fls-actions-margin-bottom,0)))!important;
    padding:var(--fls-actions-padding-responsive,var(--fls-actions-padding-medium,var(--fls-actions-padding,0)))!important;
    justify-content:var(--fls-actions-alignment-responsive,var(--fls-actions-alignment-medium,var(--fls-actions-alignment,var(--fls-action-alignment,flex-start))))!important;
  }
  html body:not(.wp-admin) .fls-stack-action-primary{
    margin-top:var(--fls-primary-margin-top-responsive,var(--fls-primary-margin-top-medium,var(--fls-primary-margin-top,0)))!important;
    margin-bottom:var(--fls-primary-margin-bottom-responsive,var(--fls-primary-margin-bottom-medium,var(--fls-primary-margin-bottom,0)))!important;
    padding:var(--fls-primary-padding-responsive,var(--fls-primary-padding-medium,var(--fls-primary-padding,11px 20px)))!important;
  }
  html body:not(.wp-admin) .fls-stack-action-secondary{
    margin-top:var(--fls-secondary-margin-top-responsive,var(--fls-secondary-margin-top-medium,var(--fls-secondary-margin-top,0)))!important;
    margin-bottom:var(--fls-secondary-margin-bottom-responsive,var(--fls-secondary-margin-bottom-medium,var(--fls-secondary-margin-bottom,0)))!important;
    padding:var(--fls-secondary-padding-responsive,var(--fls-secondary-padding-medium,var(--fls-secondary-padding,11px 20px)))!important;
  }
}
