/*
 * Alfa Printi Suite 4.9.6 — runtime visual exclusivamente do front-end.
 * Esta folha é carregada depois das personalizações dinâmicas e nunca no wp-admin.
 */

/* Links do plugin: azul-marinho no estado normal e azul royal somente em interação. */
body:not(.wp-admin) :where(
    [id^="apcsu-"],
    [class^="apcsu-"],
    [class*=" apcsu-"],
    [id^="apcsq-"],
    [class^="apcsq-"],
    [class*=" apcsq-"],
    [class^="alfaprint-"],
    [class*=" alfaprint-"]
) a:not(.button):not([class*="button"]):not([class*="action"]):not([role="button"]),
body:not(.wp-admin) a:is(
    [class^="apcsu-"],
    [class*=" apcsu-"],
    [class^="apcsq-"],
    [class*=" apcsq-"],
    [class^="alfaprint-"],
    [class*=" alfaprint-"]
):not(.button):not([class*="button"]):not([class*="action"]):not([role="button"]) {
    color: #0b1a3d !important;
    -webkit-text-fill-color: #0b1a3d !important;
    transition: color .18s ease, border-color .18s ease, text-decoration-color .18s ease !important;
}

body:not(.wp-admin) :where(
    [id^="apcsu-"],
    [class^="apcsu-"],
    [class*=" apcsu-"],
    [id^="apcsq-"],
    [class^="apcsq-"],
    [class*=" apcsq-"],
    [class^="alfaprint-"],
    [class*=" alfaprint-"]
) a:not(.button):not([class*="button"]):not([class*="action"]):not([role="button"]):is(:hover, :focus-visible),
body:not(.wp-admin) a:is(
    [class^="apcsu-"],
    [class*=" apcsu-"],
    [class^="apcsq-"],
    [class*=" apcsq-"],
    [class^="alfaprint-"],
    [class*=" alfaprint-"]
):not(.button):not([class*="button"]):not([class*="action"]):not([role="button"]):is(:hover, :focus-visible) {
    color: #2a4fcc !important;
    -webkit-text-fill-color: #2a4fcc !important;
}

/* O admin bar do WordPress nunca herda a identidade visual do plugin. */
body:not(.wp-admin) #wpadminbar a,
body:not(.wp-admin) #wpadminbar a:hover,
body:not(.wp-admin) #wpadminbar a:focus {
    color: inherit !important;
    transition: none !important;
}

/* Valores do carrinho permanecem em azul-marinho. */
body:not(.wp-admin).apcsu-surface-cart :is(
    .apcsu-cart-unit-price,
    .product-price,
    .product-subtotal,
    .apcsu-cart-price-panel,
    .apcsu-cart-unit-value,
    .apcsu-cart-total-value
) :is(.amount, bdi),
body:not(.wp-admin).woocommerce-cart.apcsu-surface-cart :is(
    .apcsu-cart-unit-price,
    .product-price,
    .product-subtotal,
    .apcsu-cart-price-panel,
    .apcsu-cart-unit-value,
    .apcsu-cart-total-value
) :is(.amount, bdi),
body:not(.wp-admin).apcsu-surface-cart .apcsu-prod-final-estimate-value {
    color: #0b1a3d !important;
}

/* Resumo da modalidade de arte: uma única linha, atualizado em tempo real. */
body:not(.wp-admin).apcsu-surface-cart .apcsu-cart-item-art-choice-line,
body:not(.wp-admin).woocommerce-cart.apcsu-surface-cart .apcsu-cart-item-art-choice-line {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 7px 0 0 !important;
    overflow: hidden !important;
    color: #52617a !important;
    font-size: clamp(11px, .86vw, 13px) !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

/* Shadowboxes informativos e CEP: estados visíveis/ocultos à prova de CSS do tema. */
body:not(.wp-admin) :is(.apcsu-prod-info-shadowbox, .apcsu-prod-cep-modal)[hidden] {
    display: none !important;
}
body:not(.wp-admin) .apcsu-prod-info-shadowbox.is-open,
body:not(.wp-admin) .apcsu-prod-cep-modal:not([hidden]) {
    display: flex !important;
}

/* Todo botão de confirmação “Entendi” ocupa a largura útil do shadowbox. */
body:not(.wp-admin) :is(
    .apcsu-prod-info-shadowbox__ok,
    .apcsu-prod-later-consent-button,
    .apcsu-prod-deadline-modal__confirm,
    .apcsu-core-shadowbox__button
) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
}
body:not(.wp-admin) #apcsu-prod-order-modal .apcsu-prod-art-actions {
    width: 100% !important;
}
body:not(.wp-admin) #apcsu-prod-order-modal .apcsu-prod-art-actions > .apcsu-prod-primary-action {
    width: 100% !important;
}

html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
#apcsu-prod-deadline-modal .apcsu-prod-deadline-modal__confirm {
    width: 100% !important;
    max-width: none !important;
}

/* Upload de arte: dois modos válidos, até quatro arquivos ou cinco links. */
body:not(.wp-admin) .apcsu-prod-art-modal .apcsu-prod-art-modal-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
body:not(.wp-admin) .apcsu-prod-art-modal .apcsu-prod-art-modal-tab[data-apcsu-prod-tab="link"] {
    display: inline-flex !important;
}
body:not(.wp-admin) .apcsu-prod-art-modal .apcsu-prod-art-modal-panel[hidden] {
    display: none !important;
}
body:not(.wp-admin) .apcsu-prod-art-modal .apcsu-prod-art-modal-panel[data-apcsu-prod-panel="link"]:not([hidden]) {
    display: block !important;
}
body:not(.wp-admin) .apcsu-prod-art-link-list {
    display: grid !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 12px 0 !important;
}
body:not(.wp-admin) .apcsu-prod-art-link-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
}
body:not(.wp-admin) .apcsu-prod-art-link-row .apcsu-prod-modal-art-link {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
}
body:not(.wp-admin) .apcsu-prod-remove-art-link {
    display: inline-grid !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d9e1ec !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #0b1a3d !important;
    cursor: pointer !important;
}
body:not(.wp-admin) .apcsu-prod-remove-art-link:is(:hover, :focus-visible) {
    border-color: #2a4fcc !important;
    color: #2a4fcc !important;
}
body:not(.wp-admin) .apcsu-prod-add-art-link {
    width: 100% !important;
    justify-content: center !important;
}
body:not(.wp-admin) .apcsu-prod-add-art-link:disabled {
    opacity: .55 !important;
    cursor: not-allowed !important;
}


@media (max-width: 767px) {
    body:not(.wp-admin) .apcsu-prod-art-link-row {
        grid-template-columns: minmax(0, 1fr) 42px !important;
    }
}

/* v4.9.8 — centralização universal dos botões de fechar nos shadowboxes do frontend. */
html body:not(.wp-admin) :is(
    .apcsu-core-shadowbox__close,
    .apcsu-m2-gallery-lightbox__close,
    .apcsu-m2-required-shadowbox__close,
    .apcsu-ui-statement-modal__close,
    .apcsu-cart-mobile-actions-sheet__close,
    .apcsu-prod-art-modal-close,
    .apcsu-prod-tooltip-close,
    .apcsu-prod-remove-art-link,
    .apcsu-prod-order-modal__close,
    .apcsu-cart-rules-shadowbox__close,
    .apcsu-cart-remove-shadowbox__x,
    .apcsu-cart-address-modal__close,
    .apcsu-prod-deadline-modal__close,
    .apcsu-prod-info-shadowbox__close,
    .apcsu-prod-cep-modal__close,
    .apcsu-core-order-art-shadowbox-close
) {
    display: inline-grid !important;
    place-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    padding: 0 !important;
    text-align: center !important;
    text-indent: 0 !important;
    line-height: 1 !important;
}
html body:not(.wp-admin) :is(
    .apcsu-core-shadowbox__close,
    .apcsu-m2-gallery-lightbox__close,
    .apcsu-m2-required-shadowbox__close,
    .apcsu-ui-statement-modal__close,
    .apcsu-cart-mobile-actions-sheet__close,
    .apcsu-prod-art-modal-close,
    .apcsu-prod-tooltip-close,
    .apcsu-prod-remove-art-link,
    .apcsu-prod-order-modal__close,
    .apcsu-cart-rules-shadowbox__close,
    .apcsu-cart-remove-shadowbox__x,
    .apcsu-cart-address-modal__close,
    .apcsu-prod-deadline-modal__close,
    .apcsu-prod-info-shadowbox__close,
    .apcsu-prod-cep-modal__close,
    .apcsu-core-order-art-shadowbox-close
) > :is(i, svg, span) {
    display: block !important;
    align-self: center !important;
    justify-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    transform: none !important;
}
