:root{
  --ws-btn-h: 46px;
  --ws-btn-radius: 8px;
  --ws-btn-pad-left: 16px;
  --ws-btn-pad-right: 5px;
  --ws-btn-gap: 14px;
  --ws-btn-font: "Roboto Slab", serif;
  --ws-btn-size: 14px;
  --ws-btn-line-height: 1;
  --ws-btn-font-weight: 700;
  --ws-btn-primary-bg: #f3c847;
  --ws-btn-primary-fg: #111216;
  --ws-btn-primary-border: #f3c847;
  --ws-btn-primary-shadow: 0 8px 22px rgba(243,200,71,.18);
  --ws-btn-secondary-bg: rgba(255,255,255,.06);
  --ws-btn-secondary-fg: #ffffff;
  --ws-btn-secondary-border: rgba(255,255,255,.10);
  --ws-btn-hover-bg: #081B38;
  --ws-btn-hover-fg: #ffffff;
  --ws-btn-hover-border: #081B38;
  --ws-btn-icon-size: 36px;
  --ws-btn-icon-radius: 7px;
  --ws-btn-icon-bg: #ffffff;
  --ws-btn-min-width: 0;
  --ws-btn-fixed-width: 240px;
}

/* Quiz submit buttons: force token typography everywhere (including mobile) */
:where(.ws-quiz__submit){
  font-family: var(--ws-btn-font, "Roboto Slab", serif) !important;
  font-size: var(--ws-btn-size, 14px) !important;
  line-height: var(--ws-btn-line-height, 1) !important;
  font-weight: var(--ws-btn-font-weight, 700) !important;
  letter-spacing: -0.01em !important;
  text-transform: uppercase !important;
}

:where(.ws-quiz__submit-text){
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

/* Shared button typography for supported button classes only */
:where(
  .btn,
  .button,
  .wp-block-button__link,
  .ws-ab-btn,
  .ws-btn,
  .ws-button,
  .ws-cta,
  .cta,
  .cart-button,
  .ws-consult-btn,
  .ws-series__btn,
  .ws-shorts__btn,
  .ws-avv__btn,
  .ws-about-video__btn,
  .wuniq-hero__btn,
  .drevos-vhero__btn,
  .ws-smart__btn,
  .ws-sw__btn,
  .ws-smartsize__btn,
  .ws-vcard__btn,
  .ws-bcard__btn,
  .ws-bcard_btn,
  .ws-post-product__btn,
  .ws-inline-note__button,
  .ws-faq__promo-btn,
  [class^="ws-"][class$="__btn"],
  [class*=" ws-"][class$="__btn"]
){
  font-family: var(--ws-btn-font) !important;
  font-weight: var(--ws-btn-font-weight) !important;
  font-size: var(--ws-btn-size) !important;
  line-height: var(--ws-btn-line-height) !important;
  letter-spacing: -0.01em !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1, "onum" 0, "pnum" 1 !important;
}

/* Base button system */
:where(
  .btn,
  .button,
  .wp-block-button__link,
  .ws-ab-btn,
  .ws-btn,
  .ws-button,
  .ws-cta,
  .cta,
  .cart-button,
  .ws-consult-btn,
  .ws-series__btn,
  .ws-shorts__btn,
  .ws-avv__btn,
  .ws-about-video__btn,
  .wuniq-hero__btn,
  .drevos-vhero__btn,
  .ws-smart__btn,
  .ws-sw__btn,
  .ws-smartsize__btn,
  .ws-vcard__btn,
  .ws-bcard__btn,
  .ws-bcard_btn,
  .ws-post-product__btn,
  .ws-inline-note__button,
  .ws-faq__promo-btn,
  [class^="ws-"][class$="__btn"],
  [class*=" ws-"][class$="__btn"]
){
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: var(--ws-btn-gap) !important;
  box-sizing: border-box !important;
  min-height: var(--ws-btn-h) !important;
  min-width: var(--ws-btn-min-width) !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 5px var(--ws-btn-pad-right) 5px var(--ws-btn-pad-left) !important;
  border-radius: var(--ws-btn-radius) !important;
  border: 1px solid var(--ws-btn-primary-border) !important;
  background: var(--ws-btn-primary-bg) !important;
  color: var(--ws-btn-primary-fg) !important;
  box-shadow: var(--ws-btn-primary-shadow) !important;
  text-align: left !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  overflow: hidden !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition:
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    transform .25s ease !important;
}

:where(
  .btn,
  .button,
  .wp-block-button__link,
  .ws-ab-btn,
  .ws-btn,
  .ws-button,
  .ws-cta,
  .cta,
  .cart-button,
  .ws-consult-btn,
  .ws-series__btn,
  .ws-shorts__btn,
  .ws-avv__btn,
  .ws-about-video__btn,
  .wuniq-hero__btn,
  .drevos-vhero__btn,
  .ws-smart__btn,
  .ws-sw__btn,
  .ws-smartsize__btn,
  .ws-vcard__btn,
  .ws-bcard__btn,
  .ws-bcard_btn,
  .ws-post-product__btn,
  .ws-inline-note__button,
  .ws-faq__promo-btn,
  [class^="ws-"][class$="__btn"],
  [class*=" ws-"][class$="__btn"]
):hover{
  transform: translateY(-1px) !important;
  background: var(--ws-btn-hover-bg) !important;
  border-color: var(--ws-btn-hover-border) !important;
  color: var(--ws-btn-hover-fg) !important;
  box-shadow: none !important;
}

:where(
  .btn,
  .button,
  .wp-block-button__link,
  .ws-ab-btn,
  .ws-btn,
  .ws-button,
  .ws-cta,
  .cta,
  .cart-button,
  .ws-consult-btn,
  .ws-series__btn,
  .ws-shorts__btn,
  .ws-avv__btn,
  .ws-about-video__btn,
  .wuniq-hero__btn,
  .drevos-vhero__btn,
  .ws-smart__btn,
  .ws-sw__btn,
  .ws-smartsize__btn,
  .ws-vcard__btn,
  .ws-bcard__btn,
  .ws-bcard_btn,
  .ws-post-product__btn,
  .ws-inline-note__button,
  .ws-faq__promo-btn,
  [class^="ws-"][class$="__btn"],
  [class*=" ws-"][class$="__btn"]
):active{
  transform: none !important;
}

:where(
  .btn,
  .button,
  .wp-block-button__link,
  .ws-ab-btn,
  .ws-btn,
  .ws-button,
  .ws-cta,
  .cta,
  .cart-button,
  .ws-consult-btn,
  .ws-series__btn,
  .ws-shorts__btn,
  .ws-avv__btn,
  .ws-about-video__btn,
  .wuniq-hero__btn,
  .drevos-vhero__btn,
  .ws-smart__btn,
  .ws-sw__btn,
  .ws-smartsize__btn,
  .ws-vcard__btn,
  .ws-bcard__btn,
  .ws-bcard_btn,
  .ws-post-product__btn,
  .ws-inline-note__button,
  .ws-faq__promo-btn,
  [class^="ws-"][class$="__btn"],
  [class*=" ws-"][class$="__btn"]
):focus-visible{
  outline: 2px dashed currentColor !important;
  outline-offset: 3px !important;
}

:where(
  .btn[disabled],
  .button[disabled],
  .wp-block-button__link[aria-disabled="true"],
  .is-disabled
){
  opacity: .45 !important;
  pointer-events: none !important;
  filter: saturate(.2) !important;
}

/* Secondary modifiers */
:where(
  .btn--secondary,
  .btn--outline,
  .btn--ghost,
  .ws-ab-btn--ghost,
  .ws-btn--secondary,
  .ws-btn--outline,
  .ws-btn--ghost,
  .is-secondary,
  .is-outline,
  .ws-te .ws-btn--outline
){
  background: var(--ws-btn-secondary-bg) !important;
  color: var(--ws-btn-secondary-fg) !important;
  border-color: var(--ws-btn-secondary-border) !important;
  box-shadow: none !important;
}

/* Shared icon area */
:where(
  .btn,
  .button,
  .wp-block-button__link,
  .ws-ab-btn,
  .ws-btn,
  .ws-button,
  .ws-cta,
  .cta,
  .cart-button,
  .ws-consult-btn,
  .ws-series__btn,
  .ws-shorts__btn,
  .ws-avv__btn,
  .ws-about-video__btn,
  .wuniq-hero__btn,
  .drevos-vhero__btn,
  .ws-smart__btn,
  .ws-sw__btn,
  .ws-smartsize__btn,
  .ws-vcard__btn,
  .ws-bcard__btn,
  .ws-bcard_btn,
  .ws-post-product__btn,
  .ws-inline-note__button,
  .ws-faq__promo-btn,
  [class^="ws-"][class$="__btn"],
  [class*=" ws-"][class$="__btn"]
) > :is(
  .btn__icon,
  .ws-btn__icon,
  .ws-consult-btn__icon,
  .ws-avv__btn-icon,
  .ws-about-video__btn-icon,
  .icon,
  .btn-icon,
  [class*="__icon"]
){
  width: var(--ws-btn-icon-size) !important;
  height: var(--ws-btn-icon-size) !important;
  flex: 0 0 var(--ws-btn-icon-size) !important;
  border-radius: var(--ws-btn-icon-radius) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--ws-btn-icon-bg) !important;
  transition: background-color .25s ease, transform .25s ease !important;
}

:where(
  .btn,
  .button,
  .wp-block-button__link,
  .ws-ab-btn,
  .ws-btn,
  .ws-button,
  .ws-cta,
  .cta,
  .cart-button,
  .ws-consult-btn,
  .ws-series__btn,
  .ws-shorts__btn,
  .ws-avv__btn,
  .ws-about-video__btn,
  .wuniq-hero__btn,
  .drevos-vhero__btn,
  .ws-smart__btn,
  .ws-sw__btn,
  .ws-smartsize__btn,
  .ws-vcard__btn,
  .ws-bcard__btn,
  .ws-bcard_btn,
  .ws-post-product__btn,
  .ws-inline-note__button,
  .ws-faq__promo-btn,
  [class^="ws-"][class$="__btn"],
  [class*=" ws-"][class$="__btn"]
) > :is(
  .btn__icon,
  .ws-btn__icon,
  .ws-consult-btn__icon,
  .ws-avv__btn-icon,
  .ws-about-video__btn-icon,
  .icon,
  .btn-icon,
  [class*="__icon"]
) img,
:where(
  .btn,
  .button,
  .wp-block-button__link,
  .ws-ab-btn,
  .ws-btn,
  .ws-button,
  .ws-cta,
  .cta,
  .cart-button,
  .ws-consult-btn,
  .ws-series__btn,
  .ws-shorts__btn,
  .ws-avv__btn,
  .ws-about-video__btn,
  .wuniq-hero__btn,
  .drevos-vhero__btn,
  .ws-smart__btn,
  .ws-sw__btn,
  .ws-smartsize__btn,
  .ws-vcard__btn,
  .ws-bcard__btn,
  .ws-bcard_btn,
  .ws-post-product__btn,
  .ws-inline-note__button,
  .ws-faq__promo-btn,
  [class^="ws-"][class$="__btn"],
  [class*=" ws-"][class$="__btn"]
) > :is(
  .btn__icon,
  .ws-btn__icon,
  .ws-consult-btn__icon,
  .ws-avv__btn-icon,
  .ws-about-video__btn-icon,
  .icon,
  .btn-icon,
  [class*="__icon"]
) svg{
  width: 15px !important;
  height: 15px !important;
  display: block !important;
  object-fit: contain !important;
  flex: 0 0 auto !important;
}

:where(
  .btn,
  .button,
  .wp-block-button__link,
  .ws-ab-btn,
  .ws-btn,
  .ws-button,
  .ws-cta,
  .cta,
  .cart-button,
  .ws-consult-btn,
  .ws-series__btn,
  .ws-shorts__btn,
  .ws-avv__btn,
  .ws-about-video__btn,
  .wuniq-hero__btn,
  .drevos-vhero__btn,
  .ws-smart__btn,
  .ws-sw__btn,
  .ws-smartsize__btn,
  .ws-vcard__btn,
  .ws-bcard__btn,
  .ws-bcard_btn,
  .ws-post-product__btn,
  .ws-inline-note__button,
  .ws-faq__promo-btn,
  [class^="ws-"][class$="__btn"],
  [class*=" ws-"][class$="__btn"]
):hover > :is(
  .btn__icon,
  .ws-btn__icon,
  .ws-consult-btn__icon,
  .ws-avv__btn-icon,
  .ws-about-video__btn-icon,
  .icon,
  .btn-icon,
  [class*="__icon"]
){
  background: var(--ws-btn-primary-bg) !important;
}

/* Shared text holder */
:where(
  .btn__text,
  .ws-btn__text,
  .ws-consult-btn__text,
  .ws-avv__btn-text,
  .ws-about-video__btn-text,
  .btn-text,
  [class*="__btn-text"]
){
  display: block !important;
}

/* Size and layout modifiers */
.btn--sm{
  --ws-btn-h: 42px;
  --ws-btn-icon-size: 32px;
}

.btn--lg{
  --ws-btn-h: 52px;
  --ws-btn-icon-size: 40px;
}

.btn--block{
  width: 100% !important;
  min-width: 0 !important;
}

.btn--fixed{
  width: var(--ws-btn-fixed-width) !important;
  min-width: var(--ws-btn-fixed-width) !important;
  justify-content: space-between !important;
}

/* Common block button resets */
:where(
  .ws-series__btn,
  .ws-shorts__btn,
  .ws-avv__btn,
  .ws-about-video__btn,
  .drevos-vhero__btn,
  .ws-smart__btn,
  .ws-sw__btn,
  .ws-smartsize__btn,
  .ws-vcard__btn,
  .ws-bcard__btn,
  .ws-bcard_btn,
  .ws-post-product__btn,
  .ws-inline-note__button,
  .ws-faq__promo-btn,
  a.ws-series_btn,
  a.ws-series__btn,
  a.drevos-vhero__btn,
  a.ws-btn,
  button.ws-btn,
  [class^="ws-"][class$="__btn"],
  [class*=" ws-"][class$="__btn"]
){
  inline-size: auto !important;
  block-size: auto !important;
  max-inline-size: 100% !important;
  min-inline-size: 0 !important;
  margin-inline: 0 !important;
  align-self: auto !important;
}

/* Shared action rows */
:where(
  .ws-series__more,
  .ws-shorts__more,
  .ws-add__more,
  .ws-smartsize__cta,
  .ws-card__actions,
  .ws-avv__media-cta,
  .ws-about-video__media-cta
){
  display: flex !important;
  justify-content: center !important;
  margin-top: 16px !important;
}

:where(
  [class^="ws-"][class$="__btn"],
  [class*=" ws-"][class$="__btn"],
  a.ws-btn,
  button.ws-btn
){
  margin-top: 14px !important;
}

/* Blogger archive alignment */
#main.ws-blogger-archive article.ws-bcard{
  display: flex;
  flex-direction: column;
  align-items: center;
}

#main.ws-blogger-archive article.ws-bcard .ws-bcard_btn,
#main.ws-blogger-archive article.ws-bcard .ws-bcard__btn{
  display: inline-flex !important;
  width: auto !important;
  margin: 12px 0 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
}

/* Local keepers */
.ws-cases :where(.btn, .ws-btn, [class^="ws-"][class$="__btn"], [class*=" ws-"][class$="__btn"]){
  padding-left: var(--ws-btn-pad-left) !important;
  padding-right: var(--ws-btn-pad-right) !important;
}

.wsqz button.wsqz-card{
  text-transform: none !important;
}

.wsqz .wsqz-card__body,
.wsqz .wsqz-card__body *,
.wsqz .wsqz__subtitle,
.wsqz .wsqz__subtitle *,
.wsqz .wsqz-choices .wsqz-choice,
.wsqz .wsqz-choices .wsqz-choice *{
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.wsqz p.wsqz-policy{
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* Mobile tokens */
@media (max-width: 480px){
  :root{
    --ws-btn-h: 46px;
    --ws-btn-size: 14px;
    --ws-btn-pad-left: 15px;
    --ws-btn-icon-size: 34px;
  }

  :where(
    .btn,
    .button,
    .wp-block-button__link,
    .ws-ab-btn,
    .ws-btn,
    .ws-button,
    .ws-cta,
    .cta,
    .cart-button,
    .ws-consult-btn,
    .ws-series__btn,
    .ws-shorts__btn,
    .ws-avv__btn,
    .ws-about-video__btn,
    .drevos-vhero__btn,
    .ws-smart__btn,
    .ws-sw__btn,
    .ws-smartsize__btn,
    .ws-vcard__btn,
    .ws-bcard__btn,
    .ws-bcard_btn,
    .ws-post-product__btn,
    .ws-inline-note__button,
    .ws-faq__promo-btn,
    [class^="ws-"][class$="__btn"],
    [class*=" ws-"][class$="__btn"]
  ){
    max-width: 100% !important;
  }
}

@media (max-width: 360px){
  .btn--fixed{
    width: 100% !important;
    min-width: 0 !important;
  }

  .ws-smartsize__btn{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: auto !important;
  }
}

/* Exclude video grid controls from the shared button system */
.ws-vgrid__btn,
.ws-vgrid__btn:hover,
.ws-vgrid__btn:active,
.ws-vgrid__btn:focus,
.ws-vgrid__btn:focus-visible{
  all: unset !important;
  box-sizing: border-box !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(0,0,0,.28) !important;
  color: #fff !important;
  box-shadow: none !important;
  text-transform: none !important;
  text-decoration: none !important;
  letter-spacing: 0 !important;
  transform: none !important;
  overflow: hidden !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.ws-vgrid__btn svg,
.ws-vgrid__btn:hover svg,
.ws-vgrid__btn:active svg,
.ws-vgrid__btn:focus svg,
.ws-vgrid__btn:focus-visible svg{
  width: 16px !important;
  height: 16px !important;
  fill: none !important;
  stroke: #fff !important;
  color: #fff !important;
  transform: none !important;
}
