/*
 * AB Multiboot — shared component foundation, 1.2.0.
 * Scope: the existing AB roots and the WooCommerce pages already modernized.
 * This sheet owns component tokens/states, not page layout or payment widgets.
 * Repeated root classes intentionally outrank the legacy theme/Customizer skin.
 */
:where(.abmv-home, .abmce-extras, .abm-faq-approved, .abm-guide-section, .abm-about, .ad, .abd),
body:where(.abmce-account, .page-id-1136, .page-id-1137, .page-id-1255, .page-id-1270),
body:where(.tax-product_cat:is(.term-licencas, .term-assinatura), .single-product:is(.postid-109, .postid-114, .postid-115, .postid-116, .postid-4107, .postid-3075, .postid-2950, .postid-3860, .postid-3859, .postid-3858, .postid-3857, .postid-3856, .postid-3855, .postid-3834, .postid-3833, .postid-3832, .postid-3210, .postid-3209, .postid-3123)) {
  --abm-ui-bg: #090d0f;
  --abm-ui-panel: #11191d;
  --abm-ui-inset: #0d1418;
  --abm-ui-line: #273239;
  --abm-ui-control-line: #45565e;
  --abm-ui-ink: #f2f5f6;
  --abm-ui-muted: #a3b2b9;
  --abm-ui-accent: #05e5bd;
  --abm-ui-accent-hover: #6cefd8;
  --abm-ui-on-accent: #032920;
  --abm-ui-warm: #ebbd92;
  --abm-ui-error: #ffb4ba;
  --abm-ui-radius-control: 8px;
  --abm-ui-radius-panel: 12px;
  --abm-ui-font: "Segoe UI", Arial, sans-serif;
  --abm-ui-text: 16px;
  --abm-ui-action: 15px;
  --abm-ui-meta: 13px;
  --abm-ui-duration: 160ms;
  --abm-ui-ease: cubic-bezier(.2, .7, .2, 1);
}

/* Existing plugins keep their public token names and can run independently. */
.abmv-home.abmv-home {
  --abmv-bg: var(--abm-ui-bg); --abmv-panel: var(--abm-ui-panel);
  --abmv-line: var(--abm-ui-line); --abmv-mint: var(--abm-ui-accent);
  --abmv-ink: var(--abm-ui-ink); --abmv-muted: var(--abm-ui-muted);
  --abmv-warm: var(--abm-ui-warm); --abmv-font: var(--abm-ui-font);
}
body.abmce-account.abmce-account {
  --abmce-bg: var(--abm-ui-bg); --abmce-panel: var(--abm-ui-panel);
  --abmce-line: var(--abm-ui-line); --abmce-mint: var(--abm-ui-accent);
  --abmce-ink: var(--abm-ui-ink); --abmce-muted: var(--abm-ui-muted);
  --abmce-warm: var(--abm-ui-warm);
}
.abm-faq-approved.abm-faq-approved {
  --faq-bg: var(--abm-ui-bg); --faq-panel: var(--abm-ui-panel);
  --faq-line: var(--abm-ui-line); --faq-mint: var(--abm-ui-accent);
  --faq-ink: var(--abm-ui-ink); --faq-muted: var(--abm-ui-muted);
}

/* Primary and secondary actions use one shape, reading scale and state model.
 * No text links, thumbnail controls, counters or payment-provider buttons enter
 * this selector. The existing card width and button padding remain in charge.
 */
.abmv-home.abmv-home :is(.abmv-primary .elementor-button, a.abmv-primary, .abmv-secondary .elementor-button, a.abmv-secondary, .abmv-quiet .elementor-button, a.abmv-quiet),
.abmv-home.abmv-home .abmv-plans .abmv-plan .abmv-purchase-action .button,
.abmce-extras.abmce-extras :is(a.button, a.elementor-button),
body.abmce-account.abmce-account .woocommerce-MyAccount-content :is(a.abmce-button, .mc-cupom-btn, .abm-coupon-btn, button.button, a.button, input.button),
.abm-faq-approved.abm-faq-approved .abm-faq-telegram .elementor-button,
body:is(.page-id-1255, .page-id-1270) #main .abm-guide-button .elementor-button,
body:is(.tax-product_cat:is(.term-licencas, .term-assinatura), .single-product:is(.postid-109, .postid-114, .postid-115, .postid-116, .postid-4107, .postid-3075, .postid-2950, .postid-3860, .postid-3859, .postid-3858, .postid-3857, .postid-3856, .postid-3855, .postid-3834, .postid-3833, .postid-3832, .postid-3210, .postid-3209, .postid-3123)) #main :is(a.button.button, button.single_add_to_cart_button.button),
body.page-id-1136.page-id-1136 #main :is(button[name="apply_coupon"], button[name="update_cart"], a.checkout-button, .return-to-shop a.button, .woocommerce-message a.button, .cross-sells a.button),
body.page-id-1137.page-id-1137 #main :is(#place_order, form.checkout_coupon button[name="apply_coupon"], form.woocommerce-form-login button[name="login"]) {
  border-radius: var(--abm-ui-radius-control) !important;
  background: var(--abm-ui-cta-bg, var(--abm-ui-accent)) !important;
  border-color: var(--abm-ui-cta-border, var(--abm-ui-accent)) !important;
  color: var(--abm-ui-cta-ink, var(--abm-ui-on-accent)) !important;
  -webkit-text-fill-color: var(--abm-ui-cta-ink, var(--abm-ui-on-accent)) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-decoration: none !important;
  font-family: var(--abm-ui-font) !important;
  font-size: var(--abm-ui-action) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  min-height: 46px;
  white-space: normal !important;
  overflow-wrap: break-word;
  transition: background-color var(--abm-ui-duration) var(--abm-ui-ease), border-color var(--abm-ui-duration) var(--abm-ui-ease), color var(--abm-ui-duration) var(--abm-ui-ease);
}

/* Preserve the quieter alternatives and Premium III's existing emphasis. */
.abmv-home :is(.abmv-secondary .elementor-button, a.abmv-secondary, .abmv-quiet .elementor-button, a.abmv-quiet),
.abmv-home .abmv-plan:not(.abmv-plan-premium-3) .abmv-purchase-action .button,
.abmce-extras :is(a.button.quiet, a.elementor-button.quiet, .quiet a.elementor-button),
body.abmce-account .woocommerce-MyAccount-content a.abmce-button.abmce-quiet,
.abm-faq-approved .abm-faq-telegram .elementor-button,
body.page-id-1136 #main :is(button[name="apply_coupon"], button[name="update_cart"]) {
  --abm-ui-cta-bg: var(--abm-ui-panel);
  --abm-ui-cta-hover: #192529;
  --abm-ui-cta-ink: var(--abm-ui-ink);
  --abm-ui-cta-border: var(--abm-ui-control-line);
  --abm-ui-cta-hover-border: #496158;
}
.abmv-home .abmv-plan:not(.abmv-plan-premium-3) .abmv-purchase-action .button {
  --abm-ui-cta-ink: var(--abm-ui-accent);
}

.abmv-home.abmv-home :is(.abmv-primary .elementor-button, a.abmv-primary, .abmv-secondary .elementor-button, a.abmv-secondary, .abmv-quiet .elementor-button, a.abmv-quiet):is(:hover, :focus, :active),
.abmv-home.abmv-home .abmv-plans .abmv-plan .abmv-purchase-action .button:is(:hover, :focus, :active),
.abmce-extras.abmce-extras :is(a.button, a.elementor-button):is(:hover, :focus, :active),
body.abmce-account.abmce-account .woocommerce-MyAccount-content :is(a.abmce-button, .mc-cupom-btn, .abm-coupon-btn, button.button, a.button, input.button):is(:hover, :focus, :active),
.abm-faq-approved.abm-faq-approved .abm-faq-telegram .elementor-button:is(:hover, :focus, :active),
body:is(.page-id-1255, .page-id-1270) #main .abm-guide-button .elementor-button:is(:hover, :focus, :active),
body:is(.tax-product_cat:is(.term-licencas, .term-assinatura), .single-product:is(.postid-109, .postid-114, .postid-115, .postid-116, .postid-4107, .postid-3075, .postid-2950, .postid-3860, .postid-3859, .postid-3858, .postid-3857, .postid-3856, .postid-3855, .postid-3834, .postid-3833, .postid-3832, .postid-3210, .postid-3209, .postid-3123)) #main :is(a.button.button, button.single_add_to_cart_button.button):is(:hover, :focus, :active),
body.page-id-1136.page-id-1136 #main :is(button[name="apply_coupon"], button[name="update_cart"], a.checkout-button, .return-to-shop a.button, .woocommerce-message a.button, .cross-sells a.button):is(:hover, :focus, :active),
body.page-id-1137.page-id-1137 #main :is(#place_order, form.checkout_coupon button[name="apply_coupon"], form.woocommerce-form-login button[name="login"]):is(:hover, :focus, :active) {
  background: var(--abm-ui-cta-hover, var(--abm-ui-accent-hover)) !important;
  border-color: var(--abm-ui-cta-hover-border, var(--abm-ui-accent-hover)) !important;
  color: var(--abm-ui-cta-ink, var(--abm-ui-on-accent)) !important;
  -webkit-text-fill-color: var(--abm-ui-cta-ink, var(--abm-ui-on-accent)) !important;
}

/* Elementor can put independent text/icon styles inside an action. */
.abmv-home.abmv-home :is(.abmv-primary, .abmv-secondary, .abmv-quiet, .abmv-purchase-action) :is(.elementor-button, a.button) :is(span, svg),
.abmce-extras.abmce-extras :is(a.button, a.elementor-button) :is(span, svg),
body.abmce-account .woocommerce-MyAccount-content :is(a.abmce-button, a.button, button.button, .mc-cupom-btn, .abm-coupon-btn) :is(span, svg),
.abm-faq-approved .abm-faq-telegram .elementor-button :is(span, svg),
.abm-guide-section .abm-guide-button .elementor-button :is(span, svg) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

/* One keyboard-focus language. This does not alter the header/footer chrome. */
:is(.abmv-home, .abmce-extras, .abm-faq-approved, .abm-guide-section, .abm-about, .ad, .abd) :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
body:is(.abmce-account, .page-id-1136, .page-id-1137) #main :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
body:is(.tax-product_cat:is(.term-licencas, .term-assinatura), .single-product:is(.postid-109, .postid-114, .postid-115, .postid-116, .postid-4107, .postid-3075, .postid-2950, .postid-3860, .postid-3859, .postid-3858, .postid-3857, .postid-3856, .postid-3855, .postid-3834, .postid-3833, .postid-3832, .postid-3210, .postid-3209, .postid-3123)) #main :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--abm-ui-accent) !important;
  outline-offset: 4px !important;
}

/* Named text fields only: quantities, checkboxes and provider forms keep their UI. */
.abmv-home.abmv-home .abmv-edition-helper select[data-abmv-edition],
.abm-faq-approved.abm-faq-approved .abm-faq-search input[type="search"],
body.abmce-account.abmce-account .woocommerce-MyAccount-content :is(input.input-text, input[name="telegram_username"], select, textarea),
body.page-id-1136.page-id-1136 #main .coupon input.input-text,
body.page-id-1137.page-id-1137 #main :is(#customer_details, form.checkout_coupon, form.woocommerce-form-login) :is(input.input-text, select, textarea),
body.tax-product_cat:is(.term-licencas, .term-assinatura) #main .woocommerce-ordering select {
  background-color: var(--abm-ui-inset) !important;
  color: var(--abm-ui-ink) !important;
  border-color: var(--abm-ui-control-line) !important;
  border-radius: var(--abm-ui-radius-control) !important;
  font-family: var(--abm-ui-font) !important;
  font-size: var(--abm-ui-text) !important;
  line-height: 1.5 !important;
  color-scheme: dark;
}
.abm-faq-approved.abm-faq-approved .abm-faq-search input::placeholder,
body:is(.abmce-account, .page-id-1136) #main input.input-text::placeholder,
body.page-id-1137 #main #customer_details input.input-text::placeholder {
  color: var(--abm-ui-muted);
  opacity: 1;
}
body.abmce-account.abmce-account .woocommerce-MyAccount-content .woocommerce-invalid :is(input.input-text, select, textarea),
body.abmce-account.abmce-account .woocommerce-MyAccount-content :is(input.input-text, select, textarea)[aria-invalid="true"],
body.page-id-1137.page-id-1137 #main :is(#customer_details, form.checkout_coupon, form.woocommerce-form-login) .woocommerce-invalid :is(input.input-text, select, textarea),
body.page-id-1137.page-id-1137 #main :is(#customer_details, form.checkout_coupon, form.woocommerce-form-login) :is(input.input-text, select, textarea)[aria-invalid="true"] {
  border-color: var(--abm-ui-error) !important;
}

/* Cards share corners without overwriting gradients, edition borders or grids. */
.abmv-home.abmv-home :is(.abmv-plan, .abmv-edition-helper, .abmv-video-card),
.abmce-extras.abmce-extras :is(.extras-plan, .extras-service, .extras-personal-note),
.abm-about.abm-about :is(.abm-about-feature, .abm-about-editions),
.ad.ad .ad-method,
.abd.abd .abd-iso,
body.abmce-account.abmce-account :is(.abmce-download-hero, .abmce-benefit-card, .abmce-empty-state, .abm-product-card, .abm-license-card),
body:is(.page-id-1255, .page-id-1270) #main .abm-guide-card > .elementor-widget-wrap,
body:is(.tax-product_cat:is(.term-licencas, .term-assinatura), .single-product:is(.postid-109, .postid-114, .postid-115, .postid-116, .postid-4107, .postid-3075, .postid-2950, .postid-3860, .postid-3859, .postid-3858, .postid-3857, .postid-3856, .postid-3855, .postid-3834, .postid-3833, .postid-3832, .postid-3210, .postid-3209, .postid-3123)) #main :is(ul.products li.product, .summary, .woocommerce-Tabs-panel),
body.page-id-1136 #main .cart_totals,
body.page-id-1137 #main :is(#customer_details, #order_review, form.checkout_coupon, form.woocommerce-form-login) {
  border-radius: var(--abm-ui-radius-panel) !important;
}

/* Notices preserve their icons, links, semantics and original placement. */
body:is(.abmce-account, .page-id-1136, .page-id-1137) #main :is(.woocommerce-message, .woocommerce-info, .woocommerce-error),
body:is(.tax-product_cat:is(.term-licencas, .term-assinatura), .single-product:is(.postid-109, .postid-114, .postid-115, .postid-116, .postid-4107, .postid-3075, .postid-2950, .postid-3860, .postid-3859, .postid-3858, .postid-3857, .postid-3856, .postid-3855, .postid-3834, .postid-3833, .postid-3832, .postid-3210, .postid-3209, .postid-3123)) #main :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  border-color: var(--abm-ui-line);
  border-left: 3px solid var(--abm-ui-accent);
  border-radius: var(--abm-ui-radius-control);
  background: var(--abm-ui-panel) !important;
  color: var(--abm-ui-ink);
  font: 400 var(--abm-ui-action)/1.65 var(--abm-ui-font);
  box-shadow: none !important;
}
body:is(.abmce-account, .page-id-1136, .page-id-1137) #main .woocommerce-error,
body:is(.tax-product_cat:is(.term-licencas, .term-assinatura), .single-product:is(.postid-109, .postid-114, .postid-115, .postid-116, .postid-4107, .postid-3075, .postid-2950, .postid-3860, .postid-3859, .postid-3858, .postid-3857, .postid-3856, .postid-3855, .postid-3834, .postid-3833, .postid-3832, .postid-3210, .postid-3209, .postid-3123)) #main .woocommerce-error {
  border-left-color: var(--abm-ui-error);
}

/* Bring Extras to the reading scale already approved on Home / Minha Conta. */
.abmce-extras.abmce-extras :is(.extras-plan-intro p, .extras-benefits li, .extras-service p, .extras-help p, .extras-faq-items details p, .section-head p.muted) {
  font-size: var(--abm-ui-action);
  line-height: 1.7;
}
.abmce-extras.abmce-extras :is(.extras-faq-items summary, .extras-text-link) { font-size: var(--abm-ui-action); }
.abmce-extras.abmce-extras :is(.eyebrow, .tag, .extras-hero-footnote, .extras-art-caption, .extras-plan-kicker, .extras-charge, .extras-tier-note, .extras-plan-details summary, .extras-plan-details p, .extras-credit strong, .extras-credit p > span, .extras-plan-context p, .extras-service p.extras-service-note, .extras-service .tag, .extras-service-bottom div > span, .extras-personal-note div > span, .extras-billing-block > p) {
  font-size: var(--abm-ui-meta);
  line-height: 1.65;
}
.abmce-extras.abmce-extras :is(.extras-amounts button, .extras-billing button, .extras-single-amount span) {
  font-size: var(--abm-ui-action);
  line-height: 1.5;
  min-height: 42px;
}
.abmce-extras.abmce-extras .extras-billing button span { font-size: var(--abm-ui-meta); }
.abmce-extras.abmce-extras :is(.extras-plan-intro, .extras-tier-note, .extras-credit) { min-height: 0; }
.abmce-extras.abmce-extras .extras-amounts { flex-wrap: wrap; }
.abmce-extras.abmce-extras .extras-billing { flex-wrap: wrap; }
body.page-id-7643 .ad.ad :is(.ad-pix-key, .ad-pix-status) { font-size: var(--abm-ui-meta) !important; }

@media (prefers-reduced-motion: reduce) {
  :where(.abmv-home, .abmce-extras, .abm-faq-approved, .abm-guide-section, .abm-about, .ad, .abd),
  body:where(.abmce-account, .page-id-1136, .page-id-1137),
  body:where(.tax-product_cat:is(.term-licencas, .term-assinatura), .single-product:is(.postid-109, .postid-114, .postid-115, .postid-116, .postid-4107, .postid-3075, .postid-2950, .postid-3860, .postid-3859, .postid-3858, .postid-3857, .postid-3856, .postid-3855, .postid-3834, .postid-3833, .postid-3832, .postid-3210, .postid-3209, .postid-3123)) {
    --abm-ui-duration: 0ms;
  }
}
