/*
 * Quality Theme visual layer 1.0.0
 * Mantido propositalmente mínimo na versão inicial:
 * a aparência existente do Electro é preservada e as próximas alterações
 * visuais entram aqui, sem precisar editar os estilos originais da base.
 */
body.quality-theme { --quality-theme-active: 1; }


/* Quality Theme 1.0.2 — raiz visual oficial para controles de produto.
 * A lógica de comprar/redirecionar continua no Quality Core/WooCommerce.
 * O tema cuida somente da apresentação para reduzir conflitos visuais.
 */
body.quality-theme .qsc-custom-cart-wrap a.button.add_to_cart_button {
    box-sizing: border-box;
    text-decoration: none;
}
body.quality-theme .qsc-custom-cart-wrap a.button.add_to_cart_button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
body.quality-theme .qsc-custom-cart-wrap a.button.add_to_cart_button.mm-external-origin {
    cursor: pointer;
}


/* =====================================================================
   QUALITY THEME 1.0.3 — RAIZ VISUAL NATIVA
   Migração das correções visuais antes aplicadas pelo plugin.
   ===================================================================== */

/* Logo */
.quality-native-ui .header-logo img,
.quality-native-ui .custom-logo,
.quality-native-ui .header-site-branding img,
.quality-native-ui .img-header-logo {
    max-width: 240px;
    height: auto;
    object-fit: contain;
}

/* Pesquisa — componente Quality sobre a estrutura compatível existente. */
.quality-native-ui form.navbar-search {
    min-width: 0;
}
.quality-native-ui form.navbar-search .input-group {
    min-height: 38px;
    border-radius: 999px;
    overflow: hidden;
}
.quality-native-ui form.navbar-search .input-search-field,
.quality-native-ui form.navbar-search .search-field {
    min-width: 0;
}
.quality-native-ui form.navbar-search button.btn-secondary,
.quality-native-ui .navbar-search button[type="submit"] {
    position: relative !important;
    width: 45px !important;
    min-width: 45px !important;
    height: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border-radius: 0 999px 999px 0 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
}
.quality-native-ui form.navbar-search button.btn-secondary i,
.quality-native-ui .navbar-search button[type="submit"] i {
    display: none !important;
}
.quality-native-ui form.navbar-search button.btn-secondary::after,
.quality-native-ui .navbar-search button[type="submit"]::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 16px !important;
    height: 16px !important;
    transform: translate(-50%, -50%) !important;
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ffffff' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E") !important;
}

/* Cabeçalho: coração transparente, visualmente da mesma família da conta/carrinho. */
.quality-native-ui .quality-header-wishlist {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.quality-native-ui .quality-header-wishlist > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none;
}
.quality-native-ui .quality-header-heart {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.quality-native-ui .quality-wishlist-count {
    position: absolute;
    top: -8px;
    right: -10px;
}

/* Página de desejos */
.quality-native-ui .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 12px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.quality-native-ui .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
.quality-native-ui .qsc-wishlist-grid .woocommerce-loop-product__title {
    font-size: 14px !important;
    line-height: 1.3 !important;
    max-height: 2.6em !important;
    overflow: hidden !important;
}

/* Cards de produto: preço + coração + carrinho */
.quality-native-ui ul.products li.product {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    transform: none !important;
}
.quality-native-ui ul.products li.product:hover,
.quality-native-ui ul.products li.product:focus {
    transform: none !important;
}
.quality-native-ui .qsc-price-action-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin-top: auto !important;
    padding: 6px 4px !important;
    box-sizing: border-box !important;
}
.quality-native-ui .qsc-acoes-produto-container {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    margin-left: 6px !important;
    flex-shrink: 0 !important;
}
.quality-native-ui .qsc-price-action-row .price {
    margin: 0 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}
.quality-native-ui .qsc-price-action-row .price ins {
    background: none !important;
    font-weight: 600 !important;
}
.quality-native-ui .qsc-price-action-row .price del {
    font-size: 10px !important;
    font-weight: normal !important;
    opacity: .7 !important;
}

/* Coração dos cards: transparente, contorno vermelho; ativo fica preenchido. */
.quality-native-ui .qsc-custom-wishlist-btn {
    position: relative !important;
}
.quality-native-ui .qsc-custom-wishlist-btn .qsc-wishlist-link {
    appearance: none !important;
    -webkit-appearance: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    background: transparent !important;
    color: #ff3b30 !important;
    border-radius: 50% !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
    position: relative !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
}
.quality-native-ui .qsc-custom-wishlist-btn .qsc-heart-svg {
    stroke: #ff3b30 !important;
    fill: none !important;
    width: 15px !important;
    height: 15px !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%,-50%) !important;
}
.quality-native-ui .qsc-custom-wishlist-btn .qsc-fav-ativo {
    background: transparent !important;
    border-color: transparent !important;
}
.quality-native-ui .qsc-custom-wishlist-btn .qsc-fav-ativo .qsc-heart-svg {
    stroke: #ff3b30 !important;
    fill: #ff3b30 !important;
}

/* Carrinho circular — preserva add_to_cart_button por compatibilidade. */
.quality-native-ui .qsc-custom-cart-wrap {
    position: relative !important;
}
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button {
    background: #007bff !important;
    color: #fff !important;
    border-radius: 50% !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    border: 0 !important;
    box-shadow: none !important;
    position: relative !important;
}
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button svg {
    stroke: #fff !important;
    width: 12px !important;
    height: 12px !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%,-50%) !important;
}
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:hover,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:focus,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:active {
    background: #28a745 !important;
    border-color: #28a745 !important;
}

/* Tooltip */
.quality-native-ui .qsc-tooltip-el {
    position: fixed !important;
    background: #111 !important;
    color: #fff !important;
    padding: 4px 8px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 8px rgba(0,0,0,.3) !important;
    z-index: 9999999 !important;
    pointer-events: none !important;
}

/* Oferta especial e badge de desconto */
.quality-native-ui .section-onsale-product {
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
}
.quality-native-ui .section-onsale-product header {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    padding-right: 70px !important;
    min-height: 70px !important;
}
.quality-native-ui .section-onsale-product header .savings,
.quality-native-ui .qsc-on-sale-badge {
    background: #007bff !important;
    color: #fff !important;
    border-radius: 50% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    min-height: 60px !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    box-shadow: 0 2px 5px rgba(0,0,0,.2) !important;
    position: absolute !important;
    right: 10px !important;
    top: 5px !important;
    margin: 0 !important;
}
.quality-native-ui .section-onsale-product header .savings span,
.quality-native-ui .section-onsale-product header .savings bdi,
.quality-native-ui .section-onsale-product header .savings strong,
.quality-native-ui .qsc-on-sale-badge span,
.quality-native-ui .qsc-on-sale-badge bdi,
.quality-native-ui .qsc-on-sale-badge strong {
    display: block !important;
    color: #fff !important;
    text-align: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.1 !important;
}
.quality-native-ui .section-onsale-product header .savings span:first-child,
.quality-native-ui .qsc-on-sale-badge span:first-child {
    font-size: 8px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}
.quality-native-ui .section-onsale-product header .savings .amount,
.quality-native-ui .section-onsale-product header .savings bdi,
.quality-native-ui .qsc-on-sale-badge bdi {
    font-size: 10px !important;
    font-weight: 600 !important;
}

/* Preço riscado centralizado */
.quality-native-ui del,
.quality-native-ui .electro-price del,
.quality-native-ui .price del {
    text-decoration: none !important;
    position: relative !important;
    display: inline-block !important;
}
.quality-native-ui del::after,
.quality-native-ui .electro-price del::after,
.quality-native-ui .price del::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 42% !important;
    height: 1.5px !important;
    background: currentColor !important;
}

/* Produto individual */
.quality-native-ui.single-product #secondary,
.quality-native-ui.single-product .sidebar {
    display: none !important;
}
.quality-native-ui.single-product #primary.content-area,
.quality-native-ui.single-product .site-content #primary {
    width: 100% !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    float: none !important;
}
.quality-native-ui.single-product .product.type-product {
    max-width: 950px !important;
    margin: 0 auto !important;
    background: #fff;
    padding: 20px;
}
.quality-native-ui.single-product .woocommerce-product-gallery {
    max-width: 420px !important;
    width: 100% !important;
    margin: 0 auto !important;
}
.quality-native-ui.single-product .woocommerce-product-gallery img {
    max-height: 380px !important;
    object-fit: contain !important;
    width: auto !important;
    margin: 0 auto !important;
}

@media (max-width: 768px) {
    .quality-native-ui .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
    .quality-native-ui ul.products li.product .woocommerce-loop-product__title {
        font-size: 11px !important;
    }
    .quality-native-ui .qsc-price-action-row .price {
        font-size: 10px !important;
    }
    .quality-native-ui .header-logo img,
    .quality-native-ui .custom-logo,
    .quality-native-ui .header-site-branding img {
        max-width: 180px;
    }
}

.quality-native-ui .quality-legacy-logo-replacement{display:block!important;width:auto!important;max-width:230px!important;max-height:92px!important;margin:8px auto!important;object-fit:contain!important}
.quality-native-ui #ship-to-different-address label.checkbox{width:auto!important;height:auto!important;display:flex!important;align-items:center!important;flex-direction:row!important;gap:12px!important;white-space:nowrap!important;max-width:100%!important}
.quality-native-ui #ship-to-different-address label.checkbox input[type="checkbox"]{-webkit-appearance:checkbox!important;-moz-appearance:checkbox!important;appearance:checkbox!important;display:inline-block!important;width:20px!important;height:20px!important;margin:0!important;flex-shrink:0!important;position:static!important;background:#fff!important;border:2px solid #000!important;opacity:1!important;visibility:visible!important}
.quality-native-ui .departments-menu-v2{display:none!important;visibility:hidden!important}
.quality-native-ui .dokan-settings-content .dokan-form-group{display:block!important;width:100%!important;margin-bottom:15px!important}
.quality-native-ui .dokan-settings-content .dokan-form-group>label.control-label,.quality-native-ui .dokan-settings-content .dokan-form-group>label.dokan-w3{display:block!important;width:100%!important;text-align:left!important;padding-right:0!important;margin-bottom:5px!important;font-weight:600!important}
.quality-native-ui .dokan-settings-content .dokan-form-group>div.dokan-w5,.quality-native-ui .dokan-settings-content .dokan-form-group>div.dokan-text-left,.quality-native-ui .dokan-settings-content .dokan-form-group>div{width:100%!important}
@media(min-width:768px){.quality-native-ui .dokan-settings-content .dokan-form-group{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important}.quality-native-ui .dokan-settings-content .dokan-form-group>label.control-label,.quality-native-ui .dokan-settings-content .dokan-form-group>label.dokan-w3{width:200px!important;min-width:200px!important;flex:0 0 200px!important;text-align:right!important;padding-right:15px!important;margin-bottom:0!important}.quality-native-ui .dokan-settings-content .dokan-form-group>div.dokan-w5,.quality-native-ui .dokan-settings-content .dokan-form-group>div.dokan-text-left,.quality-native-ui .dokan-settings-content .dokan-form-group>div{flex:1!important;max-width:100%!important}}


/* =====================================================================
   QUALITY THEME 1.0.5 — AJUSTES FINOS DE CABEÇALHO, CARDS E CADASTRO
   ===================================================================== */

/* 1) Pesquisa idêntica em página inicial, Minha Conta, loja e páginas internas. */
.quality-native-ui form.navbar-search,
.quality-native-ui .navbar-primary form.navbar-search,
.quality-native-ui header form.navbar-search {
    background: transparent !important;
}
.quality-native-ui form.navbar-search .input-group,
.quality-native-ui .navbar-primary form.navbar-search .input-group,
.quality-native-ui header form.navbar-search .input-group {
    min-height: 40px !important;
    height: 40px !important;
    background: #ffffff !important;
    border: 2px solid #078cf0 !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    box-shadow: none !important;
}
.quality-native-ui form.navbar-search .search-field,
.quality-native-ui form.navbar-search .input-search-field,
.quality-native-ui .navbar-primary form.navbar-search .search-field,
.quality-native-ui .navbar-primary form.navbar-search .input-search-field {
    height: 36px !important;
    min-height: 36px !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    padding-left: 28px !important;
}
.quality-native-ui form.navbar-search button.btn-secondary,
.quality-native-ui .navbar-search button[type="submit"],
.quality-native-ui .navbar-primary form.navbar-search button.btn-secondary,
.quality-native-ui .navbar-primary .navbar-search button[type="submit"] {
    width: 44px !important;
    min-width: 44px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: -2px -2px -2px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 999px 999px 0 !important;
    background: #078cf0 !important;
    background-color: #078cf0 !important;
    color: #fff !important;
    box-shadow: none !important;
}
.quality-native-ui form.navbar-search button.btn-secondary:hover,
.quality-native-ui form.navbar-search button.btn-secondary:focus,
.quality-native-ui .navbar-search button[type="submit"]:hover,
.quality-native-ui .navbar-search button[type="submit"]:focus {
    background: #078cf0 !important;
    background-color: #078cf0 !important;
    color: #fff !important;
}

/* 2) Coração do cabeçalho: contador pequeno, abaixo e à direita, sem cobrir o ícone. */
.quality-native-ui .quality-header-wishlist {
    width: 42px !important;
    min-width: 42px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}
.quality-native-ui .quality-header-wishlist > a {
    width: 34px !important;
    height: 36px !important;
    min-width: 34px !important;
    min-height: 36px !important;
    position: relative !important;
    overflow: visible !important;
    padding: 0 !important;
}
.quality-native-ui .quality-header-heart {
    width: 22px !important;
    height: 22px !important;
    stroke-width: 1.7 !important;
    fill: none !important;
}
.quality-native-ui .quality-header-wishlist .quality-wishlist-count,
.quality-native-ui .quality-header-wishlist .header-icon-counter {
    position: absolute !important;
    top: auto !important;
    right: 0 !important;
    bottom: -1px !important;
    left: auto !important;
    transform: none !important;
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #078cf0 !important;
    background-color: #078cf0 !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 16px !important;
    text-align: center !important;
    display: block !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    z-index: 5 !important;
}

/* Mantém coração/conta/carrinho alinhados mesmo nos cabeçalhos internos. */
.quality-native-ui .navbar-primary .header-icon,
.quality-native-ui .navbar-primary .quality-header-wishlist,
.quality-native-ui .navbar-primary .navbar-mini-cart,
.quality-native-ui .navbar-primary .header-icon.my-account {
    vertical-align: middle !important;
}
.quality-native-ui .navbar-primary .quality-header-wishlist > a {
    color: inherit !important;
}

/* 3) Um único botão de carrinho por card quando Woo Direct estiver ativo. */
/* A deduplicação agora é feita pelo próprio tema ao detectar o controle Quality.
 * Não depende de uma opção visual do plugin. */

/* Botão Quality: círculo inteiro azul também no hover/foco. */
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:hover,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:focus,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:active {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 0 !important;
    background: #078cf0 !important;
    background-color: #078cf0 !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: none !important;
}
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button::before,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button::after {
    background: transparent !important;
}

/* 5) Em telas menores, preserva proporção sem criar contador gigante. */
@media (max-width: 767px) {
    .quality-native-ui .quality-header-wishlist {
        width: 38px !important;
        min-width: 38px !important;
    }
    .quality-native-ui .quality-header-wishlist .quality-wishlist-count,
    .quality-native-ui .quality-header-wishlist .header-icon-counter {
        width: 15px !important;
        min-width: 15px !important;
        max-width: 15px !important;
        height: 15px !important;
        min-height: 15px !important;
        max-height: 15px !important;
        line-height: 15px !important;
        font-size: 8px !important;
    }
}


/* Quality 1.0.6 — fallback CSS nativo para deduplicação, sem depender de opção do Core. */
@supports selector(li:has(.qsc-custom-cart-wrap)) {
    .quality-native-ui ul.products li.product:has(.qsc-custom-cart-wrap)
    .product-item__footer .add-to-cart-wrap:not(:has(.qsc-custom-cart-wrap)),
    .quality-native-ui ul.products li.product:has(.qsc-custom-cart-wrap)
    .product-loop-footer .add-to-cart-wrap:not(:has(.qsc-custom-cart-wrap)) {
        display: none !important;
    }
}


/* =====================================================================
   QUALITY THEME 1.0.7 — MICROAJUSTES DE CABEÇALHO E HOVER
   ===================================================================== */

/* Pesquisa: remove filete/branco lateral e garante união perfeita com a lupa. */
.quality-native-ui form.navbar-search .input-group,
.quality-native-ui .navbar-primary form.navbar-search .input-group,
.quality-native-ui header form.navbar-search .input-group {
    border-color: #078cf0 !important;
    background: #fff !important;
}
.quality-native-ui form.navbar-search .input-group > .form-control,
.quality-native-ui form.navbar-search .input-group > .input-group-addon,
.quality-native-ui form.navbar-search .input-group > .input-group-btn,
.quality-native-ui form.navbar-search .input-group > .btn,
.quality-native-ui form.navbar-search .input-group > button {
    border-right: 0 !important;
}
.quality-native-ui form.navbar-search button.btn-secondary,
.quality-native-ui .navbar-search button[type="submit"] {
    margin-left: 0 !important;
    border-left: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Botões de carrinho: hover inteiro verde, inclusive pseudo-elementos e SVG. */
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:hover,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:hover *,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:focus,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:focus *,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:active,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:active * {
    background-color: #28a745 !important;
    background: #28a745 !important;
    background-image: none !important;
    border-color: #28a745 !important;
    color: #fff !important;
    box-shadow: none !important;
}
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:hover::before,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:hover::after,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:focus::before,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:focus::after,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:active::before,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:active::after {
    background: transparent !important;
    background-color: transparent !important;
}
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:hover svg,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:focus svg,
.quality-native-ui .qsc-custom-cart-wrap a.button.add_to_cart_button:active svg {
    stroke: #fff !important;
    fill: none !important;
}

/* Produto: tabs continuam normais por padrão; apenas acabamento visual discreto. */
.quality-native-ui.single-product .woocommerce-tabs {
    margin-top: 24px;
}
.quality-native-ui.single-product .woocommerce-tabs ul.tabs {
    margin-bottom: 0 !important;
}
.quality-native-ui.single-product .woocommerce-tabs .panel {
    border: 1px solid #e1e4e8;
    border-radius: 12px;
    padding: 22px 28px !important;
    background: #fff;
}


/* =====================================================================
   QUALITY THEME 1.0.11 — CORREÇÃO ESTRUTURAL DEFINITIVA DA JUNÇÃO DA LUPA
   ===================================================================== */

/*
 * O botão da lupa agora é filho direto do campo de busca e fica sobreposto
 * ao contorno externo. Não existe mais um bloco intermediário capaz de
 * deixar 1px/2px de fundo branco entre o campo e o botão.
 */
.quality-native-ui form.navbar-search .quality-search-shell {
    position: relative !important;
    overflow: hidden !important;
    padding-right: 47px !important;
    border: 2px solid #078cf0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

/* Neutraliza bordas internas; o único contorno passa a ser o shell. */
.quality-native-ui form.navbar-search .quality-search-shell .input-search-field,
.quality-native-ui form.navbar-search .quality-search-shell .form-control,
.quality-native-ui form.navbar-search .quality-search-shell .search-field,
.quality-native-ui form.navbar-search .quality-search-shell .input-group-addon,
.quality-native-ui form.navbar-search .quality-search-shell .search-categories {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Botão cobre inclusive a borda direita do shell, sem emenda. */
.quality-native-ui form.navbar-search .quality-search-button-native {
    position: absolute !important;
    top: -2px !important;
    right: -2px !important;
    bottom: -2px !important;
    left: auto !important;

    width: 49px !important;
    min-width: 49px !important;
    max-width: 49px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;

    border-radius: 0 999px 999px 0 !important;
    background: #078cf0 !important;
    background-color: #078cf0 !important;
    background-image: none !important;
    color: #fff !important;
    z-index: 20 !important;
}

/* Pequena sobreposição interna para cobrir antialiasing/subpixel do navegador. */
.quality-native-ui form.navbar-search .quality-search-button-native::before {
    content: "" !important;
    position: absolute !important;
    left: -3px !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 4px !important;
    background: #078cf0 !important;
    background-color: #078cf0 !important;
    pointer-events: none !important;
}

/* A lupa continua centralizada no botão nativo. */
.quality-native-ui form.navbar-search .quality-search-button-native::after {
    z-index: 2 !important;
}

/* Regras antigas do wrapper deixam de ter efeito porque o wrapper não existe mais. */
.quality-native-ui form.navbar-search .input-group-btn {
    display: none !important;
}

/* Preserve o campo visível sem invadir o botão. */
.quality-native-ui form.navbar-search .quality-search-shell .input-search-field {
    min-width: 0 !important;
    flex: 1 1 auto !important;
}


/* =====================================================================
   QUALITY THEME 1.0.12 — MIGRAÇÃO FINAL DE CSS VISUAL DO QUALITY CORE
   ===================================================================== */

/* Termos e condições do checkout — nativo no tema. */
.quality-native-ui.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.quality-native-ui .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    width: 100% !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}
.quality-native-ui.woocommerce-checkout .form-row.validate-required label,
.quality-native-ui .woocommerce-checkout .form-row.validate-required label {
    display: inline-block !important;
    width: 100% !important;
    line-height: 1.4 !important;
}

/* Registro Dokan — rádio de vendedor/comprador agora é apresentação do tema. */
.quality-native-ui .woocommerce form .user-role-control,
.quality-native-ui .dokan-form-group.user-role,
.quality-native-ui p.form-row.user-role,
.quality-native-ui .register .user-role {
    margin-top: 15px !important;
    margin-bottom: 25px !important;
    padding: 0 !important;
    clear: both !important;
}
.quality-native-ui .woocommerce form .user-role-control label,
.quality-native-ui .dokan-form-group.user-role label,
.quality-native-ui p.form-row.user-role label,
.quality-native-ui .register .user-role label {
    display: flex !important;
    align-items: center !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #333 !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    cursor: pointer !important;
    line-height: 1.2 !important;
}
.quality-native-ui .woocommerce form .user-role-control input[type="radio"],
.quality-native-ui .dokan-form-group.user-role input[type="radio"],
.quality-native-ui p.form-row.user-role input[type="radio"],
.quality-native-ui .register .user-role input[type="radio"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 0 10px 0 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
    border: 2px solid #757575 !important;
    border-radius: 50% !important;
    background: #fff !important;
    cursor: pointer !important;
    outline: none !important;
    transition: border-color .2s ease-in-out, border-width .2s ease-in-out !important;
}
.quality-native-ui .woocommerce form .user-role-control input[type="radio"]:checked,
.quality-native-ui .dokan-form-group.user-role input[type="radio"]:checked,
.quality-native-ui p.form-row.user-role input[type="radio"]:checked,
.quality-native-ui .register .user-role input[type="radio"]:checked {
    border: 5px solid #0d6efd !important;
    background: #fff !important;
}
.quality-native-ui .woocommerce form .user-role-control label:hover input[type="radio"]:not(:checked),
.quality-native-ui .dokan-form-group.user-role label:hover input[type="radio"]:not(:checked),
.quality-native-ui p.form-row.user-role label:hover input[type="radio"]:not(:checked) {
    border-color: #0d6efd !important;
}

/* Wishlist — título dos cards pertence ao tema, não ao plugin. */
.quality-native-ui .qsc-wishlist-grid .woocommerce-loop-product__title,
.quality-native-ui .qsc-wishlist-grid h2.woocommerce-loop-product__title {
    font-size: 14px !important;
    line-height: 1.3 !important;
    max-height: 2.6em !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    margin-bottom: 8px !important;
}

/* Campo Nome de exibição bloqueado: a regra funcional readonly continua no Core;
   somente a apresentação do estado bloqueado fica no tema. */
.quality-native-ui input.qsc-display-name-locked[readonly],
.quality-native-ui #display_name.qsc-display-name-locked[readonly],
.quality-native-ui #account_display_name.qsc-display-name-locked[readonly] {
    background: #f0f0f0 !important;
    cursor: not-allowed !important;
    color: #50575e !important;
}

/* Os ajustes já migrados anteriormente continuam na raiz do tema:
   checkout endereço diferente, Dokan responsivo, preço riscado, oferta/badge,
   pesquisa, cards, coração, carrinho, wishlist e produto individual. */


/* =====================================================================
   QUALITY THEME 1.0.14 — PESQUISA NATIVA COM LUPA SEM BLOCO AZUL
   ===================================================================== */

/*
 * A barra continua com o contorno do tema, mas o botão deixa de ser um
 * "pedaço azul". Fica somente a lupa clicável no final do campo.
 */
.quality-native-ui form.navbar-search .quality-search-shell {
    position: relative !important;
    overflow: hidden !important;
    padding-right: 48px !important;
    border: 2px solid #078cf0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

/* Remove de vez qualquer preenchimento/overlay azul herdado das versões anteriores. */
.quality-native-ui form.navbar-search .quality-search-button-native,
.quality-native-ui form.navbar-search .quality-search-button-native:hover,
.quality-native-ui form.navbar-search .quality-search-button-native:focus,
.quality-native-ui form.navbar-search .quality-search-button-native:active {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;

    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-radius: 0 999px 999px 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #333e48 !important;
    text-indent: 0 !important;
    overflow: visible !important;
    z-index: 20 !important;
}

/* Neutraliza os remendos antigos que criavam a faixa azul/emenda. */
.quality-native-ui form.navbar-search .quality-search-button-native::before,
.quality-native-ui form.navbar-search .quality-search-button-native::after {
    content: none !important;
    display: none !important;
}

/* Volta a usar o ícone real do tema, centralizado e clicável. */
.quality-native-ui form.navbar-search .quality-search-button-native i,
.quality-native-ui form.navbar-search .quality-search-button-native i.ec {
    display: inline-block !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: currentColor !important;
}

/* O próprio ícone se adapta ao fundo do cabeçalho. */
.quality-native-ui .quality-icons-on-light form.navbar-search .quality-search-button-native,
.quality-native-ui .quality-icons-on-light form.navbar-search .quality-search-button-native i,
.quality-native-ui .quality-icons-on-light form.navbar-search .quality-search-button-native i::before {
    color: #333e48 !important;
}
.quality-native-ui .quality-icons-on-dark form.navbar-search .quality-search-button-native,
.quality-native-ui .quality-icons-on-dark form.navbar-search .quality-search-button-native i,
.quality-native-ui .quality-icons-on-dark form.navbar-search .quality-search-button-native i::before {
    color: #ffffff !important;
}

/* Mantém o input limpo, sem borda interna na área da lupa. */
.quality-native-ui form.navbar-search .quality-search-shell .input-search-field,
.quality-native-ui form.navbar-search .quality-search-shell .form-control,
.quality-native-ui form.navbar-search .quality-search-shell .search-field,
.quality-native-ui form.navbar-search .quality-search-shell .input-group-addon,
.quality-native-ui form.navbar-search .quality-search-shell .search-categories {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Caso algum CSS antigo tente recriar o wrapper azul, ele permanece neutralizado. */
.quality-native-ui form.navbar-search .input-group-btn {
    display: none !important;
}


/* =====================================================================
   QUALITY THEME 1.0.15 — PESQUISA NATIVA INDEPENDENTE
   ===================================================================== */

/*
 * A pesquisa padrão do Quality Theme NÃO usa mais .navbar-search,
 * .input-group, .form-control, .btn ou .btn-secondary.
 * Isso elimina na raiz o CSS herdado que criava o bloco azul na carga.
 */

.quality-native-ui .quality-navbar-search {
    display: block !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
}

.quality-native-ui .electro-navbar-inner .quality-navbar-search,
.quality-native-ui .masthead .quality-navbar-search,
.quality-native-ui .site-header .quality-navbar-search {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.quality-native-ui .quality-navbar-search .quality-search-shell {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 48px 0 0 !important;

    background: #fff !important;
    border: 2px solid #078cf0 !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

.quality-native-ui .quality-navbar-search .quality-search-field {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 100% !important;
}

.quality-native-ui .quality-navbar-search .quality-search-input {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 28px !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 999px 0 0 999px !important;

    background: transparent !important;
    color: #59636f !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
}

.quality-native-ui .quality-navbar-search .quality-search-input:focus {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.quality-native-ui .quality-navbar-search .quality-search-categories {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 0 !important;
    background: transparent !important;
}

.quality-native-ui .quality-navbar-search .quality-search-categories select {
    height: 100% !important;
    margin: 0 !important;
    padding: 0 20px 0 8px !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #59636f !important;
    box-shadow: none !important;
}

/* Somente a lupa: sem bloco, sem fundo azul, sem pseudo-elementos. */
.quality-native-ui .quality-navbar-search .quality-search-button-native,
.quality-native-ui .quality-navbar-search .quality-search-button-native:hover,
.quality-native-ui .quality-navbar-search .quality-search-button-native:focus,
.quality-native-ui .quality-navbar-search .quality-search-button-native:active {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 999px 999px 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #333e48 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    z-index: 5 !important;
}

.quality-native-ui .quality-navbar-search .quality-search-button-native::before,
.quality-native-ui .quality-navbar-search .quality-search-button-native::after {
    content: none !important;
    display: none !important;
}

.quality-native-ui .quality-navbar-search .quality-search-icon {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    pointer-events: none !important;
}

/* Cor da lupa acompanha o fundo do cabeçalho. */
.quality-native-ui .quality-icons-on-light .quality-navbar-search .quality-search-button-native {
    color: #333e48 !important;
}
.quality-native-ui .quality-icons-on-dark .quality-navbar-search .quality-search-button-native {
    color: #fff !important;
}

/* Em qualquer página, o campo nasce já no estado final — sem depender de clique/reflow. */
.quality-native-ui .quality-navbar-search,
.quality-native-ui .quality-navbar-search *,
.quality-native-ui .quality-navbar-search *::before,
.quality-native-ui .quality-navbar-search *::after {
    box-sizing: border-box !important;
}

@media (max-width: 767px) {
    .quality-native-ui .quality-navbar-search .quality-search-shell {
        height: 38px !important;
        min-height: 38px !important;
        padding-right: 44px !important;
    }
    .quality-native-ui .quality-navbar-search .quality-search-button-native {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
    }
    .quality-native-ui .quality-navbar-search .quality-search-input {
        padding-left: 18px !important;
        padding-right: 14px !important;
    }
}


/* =====================================================================
   QUALITY THEME 1.0.16 — DESCRIÇÃO CURTA NATIVA
   ===================================================================== */

/* Evita o botão preto/cinza genérico herdado da base. */
.quality-native-ui.single-product .quality-product-summary-more {
    margin: 8px 0 14px !important;
}

.quality-native-ui.single-product .quality-product-summary-content {
    position: relative !important;
    max-height: 4.8em !important;
    overflow: hidden !important;
    transition: max-height .25s ease !important;
}

.quality-native-ui.single-product .quality-product-summary-content.is-expanded {
    max-height: 40em !important;
}

.quality-native-ui.single-product .quality-product-summary-toggle,
.quality-native-ui.single-product .quality-product-summary-toggle:hover,
.quality-native-ui.single-product .quality-product-summary-toggle:focus,
.quality-native-ui.single-product .quality-product-summary-toggle:active {
    -webkit-appearance: none !important;
    appearance: none !important;

    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;

    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 5px 0 0 !important;
    padding: 2px 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    color: #078cf0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.quality-native-ui.single-product .quality-product-summary-toggle:hover,
.quality-native-ui.single-product .quality-product-summary-toggle:focus {
    color: #056fbd !important;
}

.quality-native-ui.single-product .quality-toggle-icon {
    width: 14px !important;
    height: 14px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transition: transform .2s ease !important;
}

.quality-native-ui.single-product .quality-product-summary-toggle[aria-expanded="true"] .quality-toggle-icon {
    transform: rotate(180deg) !important;
}




/* =====================================================================
   QUALITY THEME 1.0.34 — LISTA DE DESEJOS NATIVA
   A lógica/dados continuam no Quality Core.
   Aqui fica apenas a apresentação estável da página.
   ===================================================================== */

.woocommerce-account .woocommerce-MyAccount-content .qsc-wishlist-page-container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .qsc-wishlist-page-container > h3 {
    margin-bottom: 18px;
}

/* Quatro produtos lado a lado no desktop, sem depender do CSS visual antigo do Core. */
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    overflow: visible !important;
}

/* Neutraliza o flex/larguras herdados do catálogo. */
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product {
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    box-sizing: border-box !important;
    transform: none !important;
    transition: none !important;
    overflow: visible !important;
    background: #fff !important;
}

/* A causa do "produto sumir" era o hover original colocar .product-inner em position:absolute.
   Nesta página o card permanece sempre no fluxo normal. */
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product:hover,
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product.hover,
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product:focus-within {
    z-index: 1 !important;
    position: relative !important;
    transform: none !important;
    box-shadow: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product .product-inner,
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product:hover .product-inner,
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product.hover .product-inner,
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product:focus-within .product-inner {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    transform: none !important;
    transition: none !important;
    box-shadow: none !important;
    background: #fff !important;
}

/* O hover expansível do catálogo não é necessário dentro da Wishlist. */
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product .hover-area,
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product:hover .hover-area,
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product.hover .hover-area {
    display: none !important;
}

/* Remove o separador vertical que o catálogo desenha entre cards. */
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product::after {
    content: none !important;
    display: none !important;
}

/* Imagens uniformes e proporcionais. */
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product .product-thumbnail {
    width: 100% !important;
    margin: 0 0 10px !important;
}

.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product img,
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product .wp-post-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 180px !important;
    max-height: 180px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    background: #f8f9fa !important;
}

/* Título compacto em até duas linhas. */
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid .woocommerce-loop-product__title {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    min-height: 2.6em !important;
    max-height: 2.6em !important;
    margin: 0 0 8px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
}

/* Preço e controles ficam sempre dentro do próprio card. */
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid .price-add-to-cart,
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid .qsc-price-action-row {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-top: auto !important;
}

/* Desktop/tablet/mobile: mantém a leitura boa sem estourar a área Minha Conta. */
@media (max-width: 1199px) {
    .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 991px) {
    .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 575px) {
    /* Quality 1.0.35: duas peças por linha também no celular. */
    .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product .product-inner,
    .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product:hover .product-inner,
    .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product.hover .product-inner,
    .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product:focus-within .product-inner {
        padding: 8px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product img,
    .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid > li.product .wp-post-image {
        width: 100% !important;
        height: 145px !important;
        max-height: 145px !important;
        object-fit: contain !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid .woocommerce-loop-product__title {
        min-height: 2.6em !important;
        max-height: 2.6em !important;
        font-size: 12px !important;
        line-height: 1.3 !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid .price {
        font-size: 14px !important;
        white-space: nowrap !important;
    }
}


/* Quality Theme 1.0.36 — Wishlist mobile em página própria */
@media (max-width: 767px) {
    body.quality-wishlist-endpoint-page .woocommerce-MyAccount-navigation {
        display: none !important;
    }

    body.quality-wishlist-endpoint-page .woocommerce-MyAccount-content {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 14px !important;
        box-sizing: border-box !important;
    }

    body.quality-wishlist-endpoint-page .entry-header,
    body.quality-wishlist-endpoint-page .page-header {
        display: none !important;
    }

    body.quality-wishlist-endpoint-page .qsc-wishlist-page-container {
        width: 100% !important;
        margin: 8px 0 0 !important;
        padding: 0 !important;
    }

    body.quality-wishlist-endpoint-page .qsc-wishlist-page-container > h3 {
        margin: 0 0 14px !important;
        font-size: 24px !important;
        line-height: 1.2 !important;
    }

    body.quality-wishlist-endpoint-page ul.products.qsc-wishlist-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
}

/* Ações unificadas visíveis dentro da Lista de Desejos */
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid .qsc-price-action-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5px !important;
    width: 100% !important;
}

.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid .qsc-acoes-produto-container {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    flex-shrink: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid .qsc-custom-cart-wrap,
.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid .qsc-custom-wishlist-btn {
    display: inline-flex !important;
}

.woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid .qsc-custom-cart-wrap a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
}

@media (max-width: 575px) {
    .woocommerce-account .woocommerce-MyAccount-content ul.products.qsc-wishlist-grid .qsc-custom-cart-wrap a.button {
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
    }
}


/* =====================================================================
   QUALITY THEME 1.0.37 — CONTROLES DA LISTA DE DESEJOS
   ===================================================================== */

.woocommerce-account .qsc-wishlist-page-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
}

.woocommerce-account .qsc-wishlist-page-heading h3 {
    margin: 0 !important;
}

.woocommerce-account .qsc-wishlist-clear-all {
    width: auto !important;
    min-width: 0 !important;
    height: 34px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    line-height: 34px !important;
    white-space: nowrap !important;
}

/* Produto externo: botão textual claro e independente do botão circular do carrinho. */
.woocommerce-account .qsc-wishlist-grid .qsc-wishlist-external-buy {
    display: inline-flex !important;
    flex: 0 0 auto !important;
}

.woocommerce-account .qsc-wishlist-grid .qsc-wishlist-external-buy a.button {
    width: auto !important;
    min-width: 72px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 34px !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
}

/* Remoção individual sempre visível, sem depender de hover. */
.woocommerce-account .qsc-wishlist-grid .qsc-wishlist-remove-item {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 9px !important;
    margin: 0 !important;
    border: 1px solid #d8dde3 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #59636f !important;
    font-size: 11px !important;
    line-height: 30px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.woocommerce-account .qsc-wishlist-grid .qsc-wishlist-remove-item:hover,
.woocommerce-account .qsc-wishlist-grid .qsc-wishlist-remove-item:focus {
    background: #f3f5f7 !important;
    color: #29323c !important;
}

@media (max-width: 575px) {
    .woocommerce-account .qsc-wishlist-page-heading {
        align-items: flex-start !important;
    }

    .woocommerce-account .qsc-wishlist-clear-all {
        height: 30px !important;
        padding: 0 10px !important;
        font-size: 11px !important;
        line-height: 30px !important;
    }

    .woocommerce-account .qsc-wishlist-grid .qsc-acoes-produto-container {
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
        gap: 4px !important;
    }

    .woocommerce-account .qsc-wishlist-grid .qsc-wishlist-external-buy a.button {
        min-width: 64px !important;
        height: 30px !important;
        min-height: 30px !important;
        padding: 0 9px !important;
        font-size: 11px !important;
        line-height: 30px !important;
    }

    .woocommerce-account .qsc-wishlist-grid .qsc-wishlist-remove-item {
        height: 28px !important;
        min-height: 28px !important;
        padding: 0 7px !important;
        font-size: 10px !important;
        line-height: 28px !important;
    }
}


/* =====================================================================
   QUALITY THEME 1.0.38 — PÁGINA REAL DA LISTA DE DESEJOS
   ===================================================================== */
body.quality-real-wishlist-page .qsc-wishlist-standalone {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 24px 18px 48px !important;
}

body.quality-real-wishlist-page .qsc-wishlist-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
}

body.quality-real-wishlist-page .qsc-wishlist-summary {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}

body.quality-real-wishlist-page .qsc-wishlist-summary strong {
    font-size: 28px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

body.quality-real-wishlist-page .qsc-wishlist-summary span {
    font-size: 13px !important;
    opacity: .7 !important;
}

body.quality-real-wishlist-page .qsc-wishlist-grid-native {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
}

body.quality-real-wishlist-page .qsc-wishlist-card {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    padding: 12px !important;
    border: 1px solid #e7ebef !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
    transform: none !important;
}

body.quality-real-wishlist-page .qsc-wishlist-card:hover {
    position: relative !important;
    transform: none !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.06) !important;
}

body.quality-real-wishlist-page .qsc-wishlist-card-image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1/1 !important;
    overflow: hidden !important;
    background: #f7f8f9 !important;
}

body.quality-real-wishlist-page .qsc-wishlist-card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}

body.quality-real-wishlist-page .qsc-wishlist-card-body {
    display: flex !important;
    flex: 1 !important;
    flex-direction: column !important;
    padding-top: 10px !important;
}

body.quality-real-wishlist-page .qsc-wishlist-card-title {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    min-height: 2.6em !important;
    max-height: 2.6em !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

body.quality-real-wishlist-page .qsc-wishlist-card-bottom {
    margin-top: auto !important;
    padding-top: 12px !important;
}

body.quality-real-wishlist-page .qsc-wishlist-card-price {
    margin-bottom: 8px !important;
    font-size: 18px !important;
}

body.quality-real-wishlist-page .qsc-wishlist-card-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

/* Mesmo botão visual da vitrine: azul e hover verde. */
body.quality-real-wishlist-page .qsc-wishlist-buy-button.button.add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #007bff !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: none !important;
    text-indent: 0 !important;
    overflow: visible !important;
}

body.quality-real-wishlist-page .qsc-wishlist-buy-button.button.add_to_cart_button:hover,
body.quality-real-wishlist-page .qsc-wishlist-buy-button.button.add_to_cart_button:focus,
body.quality-real-wishlist-page .qsc-wishlist-buy-button.button.add_to_cart_button:active {
    background: #28a745 !important;
    background-color: #28a745 !important;
    border-color: #28a745 !important;
    color: #fff !important;
}

body.quality-real-wishlist-page .qsc-wishlist-buy-button svg {
    width: 14px !important;
    height: 14px !important;
    fill: none !important;
    stroke: #fff !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

body.quality-real-wishlist-page .qsc-wishlist-remove-item {
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 0 !important;
    background: transparent !important;
    padding: 4px 0 !important;
    color: #59636f !important;
    font-size: 12px !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}

body.quality-real-wishlist-page .qsc-wishlist-clear-all {
    width: auto !important;
    min-width: 0 !important;
    border-radius: 999px !important;
    padding: 8px 16px !important;
}

@media (max-width: 1100px) {
    body.quality-real-wishlist-page .qsc-wishlist-grid-native {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }
}

@media (max-width: 767px) {
    body.quality-real-wishlist-page .qsc-wishlist-standalone {
        padding: 14px 10px 36px !important;
    }

    body.quality-real-wishlist-page .qsc-wishlist-grid-native {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 9px !important;
    }

    body.quality-real-wishlist-page .qsc-wishlist-card {
        padding: 8px !important;
    }

    body.quality-real-wishlist-page .qsc-wishlist-summary strong {
        font-size: 21px !important;
    }

    body.quality-real-wishlist-page .qsc-wishlist-card-title {
        font-size: 12px !important;
    }

    body.quality-real-wishlist-page .qsc-wishlist-card-price {
        font-size: 15px !important;
    }

    body.quality-real-wishlist-page .qsc-wishlist-buy-button.button.add_to_cart_button {
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
    }
}

/* Quality 1.0.39: remoção instantânea sem salto/reload visual */
body.quality-real-wishlist-page .qsc-wishlist-card{transition:opacity .16s ease,transform .16s ease,box-shadow .16s ease!important}


/* ==========================================================================
   Quality Theme 1.0.60 — Metadados comerciais responsivos + carrinho íntegro
   O motor de comércio fornece os dados; o tema cuida apenas da apresentação.
   Sem grid max-content, sem container-type e sem alterar a largura intrínseca.
   ========================================================================== */

/* Mantém o algoritmo normal das tabelas WooCommerce. */
body.quality-theme.quality-wc .woocommerce-checkout-review-order-table {
    table-layout: auto !important;
}
body.quality-theme.quality-wc .woocommerce-cart-form td.product-name,
body.quality-theme.quality-wc .woocommerce-checkout-review-order-table td.product-name,
body.quality-theme.quality-wc .woocommerce-order-details td.product-name,
body.quality-theme.quality-wc .woocommerce-account .woocommerce-table td.product-name {
    container-type: normal !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    word-break: normal !important;
    overflow-wrap: break-word;
    white-space: normal !important;
    hyphens: manual;
}

/* Metadados em fluxo inline: compactos sem influenciar a largura da tabela. */
body.quality-theme.quality-wc.woocommerce-cart dl.variation,
body.quality-theme.quality-wc.woocommerce-checkout dl.variation,
body.quality-theme.quality-wc.woocommerce-account dl.variation,
body.quality-theme.quality-wc .woocommerce-order-details dl.variation {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    font-size: 0.82em;
    line-height: 1.4;
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
}
body.quality-theme.quality-wc dl.variation dt,
body.quality-theme.quality-wc dl.variation dd {
    float: none !important;
    clear: none !important;
    display: inline !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit;
    white-space: normal !important;
}
body.quality-theme.quality-wc dl.variation dt {
    font-weight: 700;
}
/* O WooCommerce já fornece ':' no rótulo em vários contextos; não duplicar. */
body.quality-theme.quality-wc dl.variation dt::after {
    content: none !important;
}
body.quality-theme.quality-wc dl.variation dd {
    margin-right: 10px !important;
}
body.quality-theme.quality-wc dl.variation dd::after {
    content: "";
    display: inline-block;
    width: 6px;
}
body.quality-theme.quality-wc dl.variation dd p {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit;
    white-space: normal !important;
}

/* Carrinho responsivo: Produto fica organizado como bloco em vez de texto à direita. */
@media (max-width: 767.98px) {
    body.quality-theme.quality-wc.woocommerce-cart table.shop_table_responsive tr td.product-name {
        display: block !important;
        text-align: left !important;
        overflow: visible !important;
    }
    body.quality-theme.quality-wc.woocommerce-cart table.shop_table_responsive tr td.product-name::before {
        float: none !important;
        display: block !important;
        width: 100% !important;
        margin: 0 0 6px !important;
        text-align: left !important;
        font-weight: 700;
    }
    body.quality-theme.quality-wc.woocommerce-cart table.shop_table_responsive tr td.product-name a {
        display: inline !important;
        text-align: left !important;
    }
    body.quality-theme.quality-wc.woocommerce-cart td.product-name dl.variation {
        margin-top: 7px !important;
        font-size: 0.84em;
        line-height: 1.45;
        text-align: left !important;
    }
}

@media (max-width: 575px) {
    body.quality-theme.quality-wc dl.variation {
        font-size: 0.80em;
    }
    body.quality-theme.quality-wc dl.variation dd {
        margin-right: 6px !important;
    }
    body.quality-theme.quality-wc dl.variation dd::after {
        width: 3px;
    }
}
