/*
 * UPOTY brand tokens applied to plugin-owned interfaces on the staging design.
 * Native theme header, title, rows, footer and responsive layout remain in charge.
 * PAF/WooCommerce keep their DOM, hidden states, validation, actions and breakpoints.
 */
.upoty-functional {
    --upoty-demo-ink: var(--upoty-ink, #222A2D);
    --upoty-demo-copy: var(--upoty-steel, #5D6668);
    --upoty-demo-link: var(--upoty-blue, #3E6D82);
    --upoty-demo-paper: var(--upoty-paper, #F5F3EB);
    --upoty-demo-white: #fff;
    --upoty-demo-line: var(--upoty-concrete, #D7D9D2);
    --paf-checkout-ink: var(--upoty-ink, #222A2D);
    --paf-checkout-muted: var(--upoty-steel, #5D6668);
    --paf-checkout-border: var(--upoty-steel, #5D6668);
    --paf-checkout-soft-border: var(--upoty-concrete, #D7D9D2);
    --paf-checkout-canvas: var(--upoty-paper, #F5F3EB);
    --paf-checkout-surface: #fff;
    --paf-checkout-accent: var(--upoty-blue, #3E6D82);
    --paf-checkout-link: var(--upoty-blue, #3E6D82);
    --paf-checkout-focus: var(--upoty-blue, #3E6D82);
}
.upoty-functional .paf-app,
.upoty-functional .paf-spotlight {
    --paf-color-border: var(--upoty-concrete, #D7D9D2);
    --paf-color-bg: var(--upoty-paper, #F5F3EB);
    --paf-color-text: var(--upoty-ink, #222A2D);
    --paf-color-muted: var(--upoty-steel, #5D6668);
    --paf-color-accent: var(--upoty-blue, #3E6D82);
    --paf-color-soft: var(--upoty-paper, #F5F3EB);
    --paf-color-surface: var(--upoty-paper, #F5F3EB);
    --paf-color-surface-strong: var(--upoty-paper, #F5F3EB);
    --paf-font-body: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif) !important;
    --paf-font-heading: var(--upoty-heading-font, Manrope, Arial, sans-serif) !important;
    --paf-font-description: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif) !important;
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.75;
}
/* Public functional content occupies the original demo's boxed row width. */
.upoty-functional-plugin .paf-fullwidth {
    width: 100% !important;
    max-width: 100%;
    margin-inline: 0 !important;
}
.upoty-functional-plugin :is(.paf-container, .paf-container--wide, .paf-container--narrow) {
    width: 100%;
    max-width: 100%;
    padding-inline: 0;
}
.upoty-functional .paf-app :is(h1, h2, h3, h4) {
    font-weight: 400;
    color: var(--upoty-demo-ink);
}
.upoty-functional .paf-app :is(.paf-results__header h2, .paf-artist-directory__header h2) {
    font-size: 32px;
    line-height: 44px;
}
.upoty-functional .paf-app :is(.paf-artist-directory-card h3, .paf-winner-gallery-card h3, .paf-result-card h3, .paf-event-card h3) {
    font-size: 20px;
    line-height: 30px;
}
.upoty-functional .paf-app :is(
    .paf-account-form, .paf-empty-state, .paf-placeholder, .paf-summary-panel,
    .paf-event-card, .paf-event-detail, .paf-result-card, .paf-winner-gallery-card,
    .paf-artist-directory-card, .paf-artist-directory-filters, .paf-public-badge-card,
    .paf-dashboard-section, .paf-dashboard-account-card, .paf-credit-bundle-card,
    .paf-dashboard-event-card, .paf-entry-summary-card, .paf-submission-form,
    .paf-submission-summary, .paf-submission-price-card
) {
    border-color: var(--upoty-demo-line);
    border-radius: 0;
    box-shadow: none;
}
.upoty-functional .paf-app :is(.paf-artist-directory-card, .paf-winner-gallery-card, .paf-result-card) {
    background: transparent;
    border-inline: 0;
    border-top: 0;
}
.upoty-functional .paf-app :is(.paf-artist-directory-card__body, .paf-winner-gallery-card__body, .paf-result-card__body) {
    padding: 24px 0;
}
.upoty-functional .paf-app :is(.paf-artist-directory-grid, .paf-winner-gallery-grid, .paf-results-grid) {
    gap: 30px;
}
.upoty-functional .paf-app .paf-button,
.upoty-functional .paf-app .paf-auth-screen .paf-button {
    min-height: 48px;
    border: 1px solid var(--upoty-demo-ink);
    border-radius: 0;
    background: var(--upoty-demo-ink);
    color: #fff;
    box-shadow: none;
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif) !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: .5px !important;
    text-transform: uppercase !important;
    padding: 13px 24px;
}
.upoty-functional .paf-app .paf-button--secondary {
    background: transparent;
    color: var(--upoty-demo-ink);
}
.upoty-functional .paf-app .paf-button:not(:disabled):not(.paf-button--disabled):hover {
    background: var(--upoty-blue, #3E6D82);
    border-color: var(--upoty-blue, #3E6D82);
    color: #fff;
}
.upoty-functional .paf-app :is(.paf-button:disabled, .paf-button--disabled) {
    opacity: .5;
    cursor: not-allowed;
}
.upoty-functional .paf-app :is(.paf-field, .paf-artist-directory-filters, .paf-winner-gallery-filters, .paf-public-badge-filters) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]), select, textarea) {
    max-width: 100%;
    min-height: 48px;
    border: 1px solid var(--upoty-demo-line);
    border-radius: 0;
    padding: 10px 14px;
    background: #fff;
    color: var(--upoty-demo-ink);
    box-shadow: none;
    font-size: 14px;
    line-height: 26px;
    color-scheme: light;
}
.upoty-functional .paf-app :is(.paf-field input::placeholder, .paf-field textarea::placeholder) {
    color: var(--upoty-steel, #5D6668);
    opacity: 1;
}
.upoty-functional .paf-app .paf-field select option {
    background: #fff;
    color: var(--upoty-demo-ink);
}
/* The original theme's quiet account surface; all plugin auth forms are retained. */
.upoty-functional .paf-auth-screen--premium {
    --paf-auth-accent: var(--upoty-blue, #3E6D82) !important;
    --paf-auth-link-color: var(--upoty-blue, #3E6D82) !important;
    --paf-auth-radius: 0px !important;
    min-height: 0;
    padding-block: 30px 60px;
    margin-inline: 0 !important;
    background: transparent;
    color: var(--upoty-demo-ink);
}
.upoty-functional .paf-auth-screen--premium :is(.paf-auth-bg, .paf-auth-overlay),
.upoty-functional .paf-auth-screen--premium::after {
    display: none;
}
.upoty-functional .paf-auth-screen--premium .paf-container {
    min-height: 0;
    padding-block: 0;
}
.upoty-functional .paf-auth-screen--premium :is(.paf-auth-brand, .paf-auth-brand__name, .paf-auth-brand__link, .paf-auth-hero, .paf-auth-hero h2, .paf-auth-panel__header h2) {
    color: var(--upoty-demo-ink);
    text-shadow: none;
    font-weight: 400;
}
.upoty-functional .paf-auth-screen--premium .paf-auth-hero h2 {
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.2;
}
.upoty-functional .paf-auth-screen--premium .paf-auth-panel__header h2 {
    font-size: 32px;
    line-height: 44px;
}
.upoty-functional .paf-auth-screen--premium .paf-auth-panel {
    border: 1px solid var(--upoty-demo-line);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.upoty-functional .paf-auth-screen--premium :is(.paf-auth-hero p, .paf-auth-hero__eyebrow, .paf-auth-panel__header span, .paf-auth-form-subheading, .paf-auth-helper, .paf-account-form p, .paf-check-row, .paf-field, .paf-field span, .paf-auth-tabs__link, .paf-auth-social__button small) {
    color: var(--upoty-steel, #5D6668);
}
.upoty-functional .paf-auth-screen--premium :is(.paf-check-row a, .paf-auth-helper a, .paf-account-text-link, .paf-auth-tabs__link.is-active) {
    color: var(--upoty-demo-ink);
}
.upoty-functional .paf-auth-screen--premium :is(.paf-auth-tabs, .paf-auth-tabs__link.is-active) {
    border-color: var(--upoty-demo-line);
}
.upoty-functional .paf-auth-screen--premium .paf-auth-tabs__link.is-active {
    border-bottom-color: var(--upoty-demo-ink);
}
.upoty-functional .paf-auth-screen--premium :is(.paf-auth-hero__divider, .paf-auth-social::before) {
    background: var(--upoty-demo-line);
}
.upoty-functional .paf-auth-screen--premium .paf-notice:not(.paf-notice--success):not(.paf-notice--warning):not(.paf-notice--error) {
    background: var(--upoty-paper, #F5F3EB);
    border-color: var(--upoty-demo-line);
    color: var(--upoty-demo-ink);
}
/* Workspace structure remains PAF's; only its presentation tokens and edges change. */
.upoty-functional :is(.paf-dashboard-screen, .paf-submission-screen) {
    --paf-dashboard-gold: var(--upoty-blue, #3E6D82);
    --paf-dashboard-gold-deep: var(--upoty-blue, #3E6D82);
    --paf-dashboard-gold-soft: var(--upoty-paper, #F5F3EB);
    --paf-dashboard-orange: var(--upoty-blue, #3E6D82);
    --paf-dashboard-orange-deep: var(--upoty-blue, #3E6D82);
    --paf-dashboard-orange-soft: var(--upoty-paper, #F5F3EB);
    --paf-dashboard-cream: var(--upoty-paper, #F5F3EB);
    --paf-dashboard-card: #fff;
    --paf-dashboard-card-solid: #fff;
    --paf-dashboard-card-soft: var(--upoty-paper, #F5F3EB);
    --paf-dashboard-ink: var(--upoty-ink, #222A2D);
    --paf-dashboard-muted: var(--upoty-steel, #5D6668);
    --paf-dashboard-line: var(--upoty-concrete, #D7D9D2);
    background: var(--upoty-paper, #F5F3EB) !important;
}
.upoty-functional .paf-dashboard-sidebar {
    border-radius: 0;
    background: var(--upoty-paper, #F5F3EB);
    box-shadow: none;
}
/* WooCommerce keeps its own responsive checkout, payment elements and validation. */
.upoty-functional :is(.woocommerce, .wc-block-checkout, .wc-block-cart, .woocommerce-order) {
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif) !important;
}
.upoty-functional :is(.woocommerce, .wc-block-checkout, .wc-block-cart, .woocommerce-order) :is(h1, h2, h3, h4) {
    font-family: var(--upoty-heading-font, Manrope, Arial, sans-serif) !important;
    font-weight: 400 !important;
    color: var(--upoty-demo-ink);
}
.upoty-functional :is(.wc-block-checkout__main, .wc-block-checkout__sidebar, .woocommerce-checkout form.checkout, .woocommerce-order) {
    border-color: var(--upoty-demo-line);
    border-radius: 0;
    box-shadow: none;
}
.upoty-functional :is(.woocommerce, .wc-block-checkout, .wc-block-cart) :is(.input-text, .wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-block-components-combobox-control input, .select2-selection) {
    border-radius: 0 !important;
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif) !important;
}
.upoty-functional :is(.woocommerce .button, .wc-block-components-button) {
    border-radius: 0 !important;
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif) !important;
    font-weight: 700;
    box-shadow: none;
}
.upoty-functional :is(.woocommerce table.shop_table, .paf-app table) {
    border-color: var(--upoty-demo-line);
    border-radius: 0;
    box-shadow: none;
}
.upoty-functional :is(.woocommerce table.shop_table, .paf-app table) th {
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif);
}
@media (max-width: 767px) {
    .upoty-functional .paf-auth-screen--premium { padding-block: 15px 30px; }
    .upoty-functional .paf-auth-screen--premium .paf-auth-panel { padding: 24px; }
    .upoty-functional .paf-app :is(.paf-artist-directory-grid, .paf-winner-gallery-grid, .paf-results-grid) { gap: 24px; }
}
/* PAF checkout sets these with !important, so match its specificity explicitly. */
.upoty-functional.paf-woocommerce-checkout-page :is(.wc-block-components-button, .woocommerce-checkout button.button, .woocommerce-checkout input.button, .woocommerce-checkout #place_order, .woocommerce-order a.button) {
    border-radius: 0 !important;
    background: var(--upoty-demo-ink) !important;
    color: #fff !important;
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif) !important;
}
.upoty-functional.paf-woocommerce-checkout-page :is(.wc-block-components-button, .woocommerce-checkout button.button, .woocommerce-checkout input.button, .woocommerce-checkout #place_order, .woocommerce-order a.button):hover {
    background: var(--upoty-blue, #3E6D82) !important;
    color: #fff !important;
}
.upoty-functional.paf-woocommerce-checkout-page :is(.wc-block-checkout, .woocommerce-checkout, .woocommerce-order) :is(p, small, label, legend, td, .wc-block-components-formatted-money-amount, .wc-block-components-product-name, .wc-block-components-totals-item__label, .wc-block-components-totals-item__value) {
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif) !important;
}
/* Boxed original inner pages must not inherit PAF's viewport breakout margins. */
.upoty-original-inner.upoty-functional:not(.upoty-functional-dashboard) .paf-app.paf-fullwidth {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* Submission uses its own token family in addition to the dashboard tokens. */
.upoty-site.upoty-functional .paf-submission-screen {
    --paf-submit-bg: var(--upoty-paper, #F5F3EB);
    --paf-submit-card: #fff;
    --paf-submit-soft: var(--upoty-paper, #F5F3EB);
    --paf-submit-line: var(--upoty-concrete, #D7D9D2);
    --paf-submit-line-strong: var(--upoty-blue, #3E6D82);
    --paf-submit-ink: var(--upoty-ink, #222A2D);
    --paf-submit-muted: var(--upoty-steel, #5D6668);
    --paf-submit-gold: var(--upoty-blue, #3E6D82);
    --paf-submit-gold-deep: var(--upoty-blue, #3E6D82);
    --paf-submit-gold-soft: var(--upoty-paper, #F5F3EB);
    --paf-submit-shadow: none;
}
.upoty-site.upoty-functional .paf-submission-screen :is(
    .paf-submission-form, .paf-submission-wizard, .paf-submission-steps,
    .paf-submission-unavailable, .paf-event-select-card, .paf-entry-type-card,
    .paf-topic-choice, .paf-submission-price-card,
    .paf-submission-payment-card:not(.is-success), .paf-submission-review > div,
    .paf-topic-picker__selected, .paf-selected-topic-chip
) {
    border-color: var(--upoty-demo-line);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-event-select-card, .paf-entry-type-card, .paf-topic-choice):hover {
    border-color: var(--upoty-blue, #3E6D82);
    box-shadow: none;
}
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-event-select-card, .paf-entry-type-card, .paf-topic-choice):has(input:checked) {
    border-color: var(--upoty-demo-ink);
    background: var(--upoty-paper, #F5F3EB);
    box-shadow: inset 0 0 0 1px var(--upoty-demo-ink);
}
.upoty-site.upoty-functional .paf-submission-screen .paf-submission-dropzone {
    border-color: var(--upoty-steel, #5D6668);
    border-radius: 0;
    background: var(--upoty-paper, #F5F3EB);
    box-shadow: none;
}
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-field, .paf-topic-picker__toolbar) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]), select, textarea) {
    border-color: var(--upoty-demo-line);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-field, .paf-topic-picker__toolbar) :is(input, select, textarea):focus {
    border-color: var(--upoty-demo-ink);
    box-shadow: none;
}
.upoty-site.upoty-functional .paf-submission-screen :is(input, select, textarea, button, a):focus-visible {
    outline: 2px solid var(--upoty-demo-ink) !important;
    outline-offset: 3px;
}
.upoty-site.upoty-functional .paf-submission-screen .paf-submission-steps .paf-submission-step-tab:not(.is-complete) {
    border-color: var(--upoty-demo-line);
    background: #fff !important;
    box-shadow: none !important;
    color: var(--upoty-steel, #5D6668) !important;
}
.upoty-site.upoty-functional .paf-submission-screen .paf-submission-steps .paf-submission-step-tab.is-active:not(.is-complete) {
    background: var(--upoty-paper, #F5F3EB) !important;
    box-shadow: inset 0 -3px 0 var(--upoty-demo-ink) !important;
    color: var(--upoty-demo-ink) !important;
}
.upoty-site.upoty-functional .paf-submission-screen .paf-submission-steps .paf-submission-step-tab:not(.is-complete):not(:disabled):hover {
    background: var(--upoty-paper, #F5F3EB) !important;
    color: var(--upoty-demo-ink) !important;
}
.upoty-site.upoty-functional .paf-submission-screen .paf-submission-step-tab strong {
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif);
    font-weight: 700;
}
.upoty-site.upoty-functional .paf-submission-screen .paf-submission-step__header > span {
    border-color: var(--upoty-demo-line);
    background: var(--upoty-paper, #F5F3EB);
    color: var(--upoty-demo-ink);
    font-family: var(--upoty-heading-font, Manrope, Arial, sans-serif);
    font-weight: 400;
}
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-submission-dropzone strong, .paf-submission-payment-card > strong, .paf-submission-unavailable strong) {
    font-family: var(--upoty-heading-font, Manrope, Arial, sans-serif);
    font-weight: 400;
}
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-button, .paf-submission-submit, [data-paf-step-next], [data-paf-checkout-method]) {
    border: 1px solid var(--upoty-demo-ink);
    border-radius: 0;
    background: var(--upoty-demo-ink);
    color: #fff;
    box-shadow: none;
}
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-button, .paf-submission-submit, [data-paf-step-next], [data-paf-checkout-method]):not(:disabled):hover {
    border-color: var(--upoty-blue, #3E6D82);
    background: var(--upoty-blue, #3E6D82);
    color: #fff;
}
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-button--secondary, [data-paf-step-prev]) {
    background: #fff;
    color: var(--upoty-demo-ink);
}
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-topic-choice__children, .paf-submission-payment-summary, .paf-line-items li, .paf-total-row) {
    border-color: var(--upoty-demo-line);
}
.upoty-site.upoty-functional .paf-submission-screen .paf-submission-price-card [data-paf-quote-message] {
    border-radius: 0;
    background: var(--upoty-paper, #F5F3EB);
}
/* Completed uploads, payment success and completed steps keep PAF's green states. */
.upoty-site.upoty-functional .paf-submission-screen .paf-upload-queue__item:not(.is-complete):not(.is-error) {
    border-color: var(--upoty-demo-line);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}
.upoty-site.upoty-functional .paf-submission-screen .paf-upload-queue__item.is-uploading {
    border-color: var(--upoty-blue, #3E6D82);
    animation: none;
}
.upoty-site.upoty-functional .paf-submission-screen .paf-upload-queue__item:not(.is-complete) .paf-upload-progress i {
    background: var(--upoty-demo-ink);
    box-shadow: none;
}
/* Brand typography must outrank the plugin/theme's older !important families. */
.upoty-functional .paf-app :is(h1, h2, h3, h4, h5, h6),
.upoty-functional .paf-spotlight :is(h1, h2, h3, h4, h5, h6),
.upoty-functional :is(.woocommerce, .wc-block-checkout, .wc-block-cart, .woocommerce-order) :is(h1, h2, h3, h4, h5, h6),
.upoty-functional .paf-app :is(.paf-auth-brand__name, .paf-dashboard-brand strong, .paf-stat, .paf-submission-dropzone strong, .paf-submission-payment-card > strong, .paf-submission-unavailable strong) {
    font-family: var(--upoty-heading-font, Manrope, Arial, sans-serif) !important;
    font-weight: 600 !important;
}
.upoty-functional .paf-app :is(p, small, .description, .paf-auth-helper, .paf-auth-form-subheading),
.upoty-functional :is(.woocommerce, .wc-block-checkout, .wc-block-cart, .woocommerce-order) :is(p, small, .description) {
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif) !important;
    font-weight: 400;
}
.upoty-functional .paf-app :is(button, label, legend, .paf-button, .paf-auth-tabs__link, .paf-dashboard-nav__item, .paf-submission-step-tab strong),
.upoty-functional :is(.woocommerce, .wc-block-checkout, .wc-block-cart, .woocommerce-order) :is(button, label, legend, .button, .wc-block-components-button) {
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif) !important;
    font-weight: 500 !important;
}
.upoty-functional .paf-app :is(input, select, textarea),
.upoty-functional :is(.woocommerce, .wc-block-checkout, .wc-block-cart) :is(input, select, textarea) {
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif) !important;
    font-weight: 400;
}
/* Blue identifies actions and selected controls; Asphalt remains reading text. */
.upoty-functional .paf-app a:not(.paf-button):not(.paf-spotlight__open),
.upoty-functional :is(.woocommerce, .wc-block-checkout, .wc-block-cart) a:not(.button):not(.wc-block-components-button) {
    color: var(--upoty-blue, #3E6D82);
}
.upoty-functional .paf-app a:not(.paf-button):not(.paf-spotlight__open):hover,
.upoty-functional :is(.woocommerce, .wc-block-checkout, .wc-block-cart) a:not(.button):not(.wc-block-components-button):hover {
    text-decoration: underline;
    text-underline-offset: .18em;
}
.upoty-functional .paf-app .paf-button,
.upoty-functional :is(.woocommerce .button, .wc-block-components-button),
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-button, .paf-submission-submit, [data-paf-step-next], [data-paf-checkout-method]),
.upoty-functional.paf-woocommerce-checkout-page :is(.wc-block-components-button, .woocommerce-checkout button.button, .woocommerce-checkout input.button, .woocommerce-checkout #place_order, .woocommerce-order a.button) {
    border-color: var(--upoty-blue, #3E6D82) !important;
    background: var(--upoty-blue, #3E6D82) !important;
    color: #fff !important;
    font-family: var(--upoty-body-font, "IBM Plex Sans", Arial, sans-serif) !important;
    font-weight: 500 !important;
}
.upoty-functional .paf-app .paf-button--secondary,
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-button--secondary, [data-paf-step-prev]) {
    background: transparent !important;
    color: var(--upoty-blue, #3E6D82) !important;
}
.upoty-functional .paf-app .paf-button:not(:disabled):not(.paf-button--disabled):hover,
.upoty-functional :is(.woocommerce .button, .wc-block-components-button):not(:disabled):hover,
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-button, .paf-submission-submit, [data-paf-step-next], [data-paf-checkout-method]):not(:disabled):hover,
.upoty-functional.paf-woocommerce-checkout-page :is(.wc-block-components-button, .woocommerce-checkout button.button, .woocommerce-checkout input.button, .woocommerce-checkout #place_order, .woocommerce-order a.button):not(:disabled):hover {
    border-color: var(--upoty-ink, #222A2D) !important;
    background: var(--upoty-ink, #222A2D) !important;
    color: #fff !important;
}
.upoty-functional .paf-auth-screen--premium .paf-auth-tabs__link.is-active {
    border-bottom-color: var(--upoty-blue, #3E6D82);
    color: var(--upoty-blue, #3E6D82);
}
.upoty-functional .paf-app :is(input[type=checkbox], input[type=radio]) {
    accent-color: var(--upoty-blue, #3E6D82);
}
.upoty-site.upoty-functional .paf-submission-screen :is(.paf-event-select-card, .paf-entry-type-card, .paf-topic-choice):has(input:checked) {
    border-color: var(--upoty-blue, #3E6D82);
    box-shadow: inset 0 0 0 1px var(--upoty-blue, #3E6D82);
}
.upoty-site.upoty-functional .paf-submission-screen .paf-submission-steps .paf-submission-step-tab.is-active:not(.is-complete) {
    box-shadow: inset 0 -3px 0 var(--upoty-blue, #3E6D82) !important;
    color: var(--upoty-blue, #3E6D82) !important;
}
.upoty-site.upoty-functional .paf-submission-screen .paf-upload-queue__item:not(.is-complete) .paf-upload-progress i {
    background: var(--upoty-blue, #3E6D82);
}
/* Concrete is decorative; Steel makes editable field edges and captions visible. */
.upoty-site.upoty-functional .paf-app :is(.paf-field, .paf-topic-picker__toolbar) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]), select, textarea),
.upoty-functional :is(.woocommerce, .wc-block-checkout, .wc-block-cart) :is(.input-text, .wc-block-components-text-input input, .wc-block-components-text-input textarea, .select2-selection) {
    border-color: var(--upoty-steel, #5D6668);
    color: var(--upoty-ink, #222A2D);
}
.upoty-site.upoty-functional .paf-app :is(.paf-field, .paf-topic-picker__toolbar) :is(input, select, textarea):focus {
    border-color: var(--upoty-blue, #3E6D82);
}
.upoty-site.upoty-functional .paf-app :is(a, button, input, select, textarea):focus-visible,
.upoty-functional :is(.woocommerce, .wc-block-checkout, .wc-block-cart) :is(a, button, input, select, textarea):focus-visible {
    outline: 2px solid var(--upoty-blue, #3E6D82) !important;
    outline-offset: 3px;
}
.upoty-functional .paf-auth-screen--premium .paf-auth-hero__eyebrow {
    color: var(--upoty-brick, #965747);
}
/* Keep semantic feedback independent of the brand's decorative/action colors. */
.upoty-functional .paf-app.paf-auth-screen--premium .paf-notice--success {
    --paf-notice-border: #27864a;
    --paf-notice-bg: #f0fbf4;
    --paf-notice-fg: #135c2e;
    --paf-notice-link: #145028;
}
.upoty-functional .paf-app.paf-auth-screen--premium .paf-notice--warning {
    --paf-notice-border: #966618;
    --paf-notice-bg: #fff8e6;
    --paf-notice-fg: #76500e;
    --paf-notice-link: #704000;
}

.upoty-functional .paf-app.paf-auth-screen--premium .paf-notice--error {
    --paf-notice-border: #bd6b79;
    --paf-notice-bg: #fff0f2;
    --paf-notice-fg: #7b2535;
    --paf-notice-link: #862338;
}

/* Dashboard cards use the same quiet surfaces and action colors as the site. */
.upoty-functional .paf-dashboard-screen :is(.paf-summary-panel.paf-dashboard-action-card, .paf-summary-panel--wallet) {
    background: #fff !important;
}
.upoty-functional .paf-dashboard-screen .paf-dashboard-card-icon {
    background: var(--upoty-paper, #F5F3EB) !important;
    color: var(--upoty-blue, #3E6D82) !important;
}
.upoty-functional .paf-dashboard-screen .paf-dashboard-action-card__cta {
    background: var(--upoty-blue, #3E6D82) !important;
    color: #fff !important;
}
