/* Uniform catalog photography and aligned product cards. */
body.woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column;
    min-width: 0;
    height: 100%;
}
body.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    width: 100%;
    flex: 0 0 auto;
}
body.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a.woocommerce-loop-product__link {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: 0 !important;
    margin: 0 0 16px !important;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}
body.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a > img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    max-width: none !important;
    padding: 12px !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center;
    background: #fff;
    transform: none !important;
}
body.woocommerce ul.products li.product .astra-shop-summary-wrap {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
body.woocommerce ul.products li.product .ast-woo-product-category {
    color: #999;
    font-size: 10px;
    letter-spacing: .5px;
    line-height: 1.5;
    margin-bottom: 8px;
}
body.woocommerce ul.products li.product .woocommerce-loop-product__title {
    margin: 0 0 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
body.woocommerce ul.products li.product .astra-shop-summary-wrap > .price {
    margin-top: auto;
    margin-bottom: 14px;
}
body.woocommerce ul.products li.product .astra-shop-summary-wrap > .button {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: normal;
    line-height: 1.35;
    margin: 0;
}
/* The old .page-numbers selector also styled the enclosing UL. */
body.woocommerce nav.woocommerce-pagination { margin: 36px 0 28px; }
body.woocommerce nav.woocommerce-pagination ul.page-numbers {
    display: inline-flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
body.woocommerce nav.woocommerce-pagination ul.page-numbers li { margin: 0; overflow: visible; }
body.woocommerce nav.woocommerce-pagination ul.page-numbers li > .page-numbers {
    width: 44px;
    min-width: 44px !important;
    height: 44px !important;
    background: #191919 !important;
    color: #ccc !important;
    border: 1px solid #333 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}
body.woocommerce nav.woocommerce-pagination ul.page-numbers li > .current,
body.woocommerce nav.woocommerce-pagination ul.page-numbers li > a:hover {
    background: #FFA500 !important;
    border-color: #FFA500 !important;
    color: #000 !important;
    transform: none !important;
}
body .ciclo-social-proof {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 36px;
    padding: 24px 0;
}
body .ciclo-social-proof .ciclo-social-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
body .ciclo-social-proof .ciclo-social-card {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
    padding: 24px;
    margin: 0;
    background: linear-gradient(140deg, #1c1c1c, #141414);
    border: 1px solid #303030;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 6px 20px #0002;
}
body .ciclo-social-proof a.ciclo-social-card:hover { border-color: #FFA500; }
body .ciclo-social-proof .ciclo-social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    font-size: 24px;
}
body .ciclo-social-proof .ciclo-social-icon svg { width: 28px; height: 28px; }
body .ciclo-social-proof .ciclo-social-card > div { min-width: 0; }
body .ciclo-social-proof .ciclo-social-card strong {
    display: block;
    color: #FFA500;
    font-size: clamp(15px, 1.45vw, 19px);
    line-height: 1.35;
    margin-bottom: 6px;
}
body .ciclo-social-proof .ciclo-social-card > div > span {
    display: block;
    color: #aaa;
    font-size: 12px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}
body .ciclo-social-proof .ciclo-social-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 24px;
    margin-top: 22px;
}
body .ciclo-social-proof .ciclo-social-badge {
    color: #aaa;
    background: transparent;
    border: 0;
    padding: 4px 0;
    font-size: 12px;
}
body .ciclo-social-proof a:focus-visible,
body.woocommerce nav.woocommerce-pagination a:focus-visible {
    outline: 2px solid #FFA500;
    outline-offset: 4px;
}
@media (max-width: 900px) {
    body .ciclo-social-proof .ciclo-social-card { padding: 18px 14px; gap: 12px; }
}
@media (max-width: 600px) {
    body.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a > img { padding: 8px !important; }
    body.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a.woocommerce-loop-product__link { margin-bottom: 12px !important; }
    body .ciclo-social-proof { padding: 12px 0; margin-bottom: 24px; }
    body .ciclo-social-proof .ciclo-social-grid { grid-template-columns: 1fr; gap: 10px; }
    body .ciclo-social-proof .ciclo-social-card { padding: 18px; gap: 16px; }
    body .ciclo-social-proof .ciclo-social-card strong { font-size: 17px; }
    body .ciclo-social-proof .ciclo-social-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    body .ciclo-social-proof .ciclo-social-badge { line-height: 1.5; }
}

/* ── Mobile: banner em proporção natural e menu de categorias na identidade do site ── */
@media (max-width: 600px) {
    /* Um snippet do WPCode (banco de dados) força max-height:280px !important no banner;
       a imagem mobile é retrato, então o seletor mais específico abaixo libera a altura. */
    body .ciclo-banner picture > img {
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        transform: none !important;
        border-radius: 0;
    }
    body .ciclo-banner { animation: none; }

    /* Botão "Categorias": nunca azul (foco/toque do Astra); aberto = escuro com laranja */
    body .ciclo-carousel-wrap .ciclo-mobile-cat-toggle,
    body .ciclo-carousel-wrap .ciclo-mobile-cat-toggle:hover,
    body .ciclo-carousel-wrap .ciclo-mobile-cat-toggle:focus,
    body .ciclo-carousel-wrap .ciclo-mobile-cat-toggle:active {
        background: #FFA500 !important;
        color: #000 !important;
        border: 0 !important;
        border-bottom: 1px solid #b87400 !important;
        outline: none;
        box-shadow: none !important;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: .6px;
        text-transform: uppercase;
        gap: 10px;
        cursor: pointer;
        transition: background-color .2s, color .2s;
    }
    body .ciclo-carousel-wrap .ciclo-mobile-cat-toggle:focus-visible {
        box-shadow: inset 0 0 0 2px #000 !important;
    }
    body .ciclo-carousel-wrap .ciclo-mobile-cat-toggle[aria-expanded="true"],
    body .ciclo-carousel-wrap .ciclo-mobile-cat-toggle[aria-expanded="true"]:hover,
    body .ciclo-carousel-wrap .ciclo-mobile-cat-toggle[aria-expanded="true"]:focus,
    body .ciclo-carousel-wrap .ciclo-mobile-cat-toggle[aria-expanded="true"]:active {
        background: #141414 !important;
        color: #FFA500 !important;
        border-bottom: 2px solid #FFA500 !important;
    }
    body .ciclo-carousel-wrap .ciclo-mobile-cat-toggle > span:first-child { font-size: 16px; line-height: 1; }

    /* Seta: chevron em CSS no lugar do glifo ⌄ (renderiza torto em vários aparelhos) */
    body .ciclo-carousel-wrap .ciclo-mobile-cat-arrow {
        margin-left: auto;
        width: 22px;
        height: 22px;
        font-size: 0;
        line-height: 0;
        position: relative;
        transition: transform .25s ease;
    }
    body .ciclo-carousel-wrap .ciclo-mobile-cat-arrow::before {
        content: "";
        position: absolute;
        left: 50%; top: 50%;
        width: 9px; height: 9px;
        border-right: 2.5px solid currentColor;
        border-bottom: 2.5px solid currentColor;
        transform: translate(-50%, -70%) rotate(45deg);
    }
    body .ciclo-carousel-wrap .ciclo-mobile-cat-toggle[aria-expanded="true"] .ciclo-mobile-cat-arrow {
        transform: rotate(180deg);
    }

    /* Painel de categorias */
    body .ciclo-carousel-wrap .ciclo-cat-nav.ciclo-cat-nav-open {
        display: block;
        width: 100%;
        padding: 12px 12px 4px;
        background: #0d0d0d;
        overflow: visible;
    }
    body .ciclo-carousel-wrap .ciclo-cat-nav ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin: 0; padding: 0;
        list-style: none;
    }
    body .ciclo-carousel-wrap .ciclo-cat-nav ul li { margin: 0; min-width: 0; }
    body .ciclo-carousel-wrap .ciclo-cat-nav ul li a {
        display: flex;
        align-items: center;
        height: 100%;
        min-height: 46px;
        padding: 10px 10px 10px 12px !important;
        color: #d8d8d8;
        background: #181818;
        border: 1px solid #262626;
        border-left: 3px solid #FFA500;
        border-right: 1px solid #262626;
        border-radius: 6px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .5px;
        line-height: 1.25;
        text-transform: uppercase;
        text-decoration: none;
        white-space: normal;
        overflow-wrap: anywhere;
        transition: background-color .15s, color .15s, border-color .15s;
    }
    body .ciclo-carousel-wrap .ciclo-cat-nav ul li a:hover,
    body .ciclo-carousel-wrap .ciclo-cat-nav ul li a:focus-visible {
        color: #FFA500;
        background: #202020;
        border-color: #3a3a3a;
        border-left-color: #FFA500;
        outline: none;
    }
    body .ciclo-carousel-wrap .ciclo-cat-nav ul li a:active {
        color: #000;
        background: #FFA500;
        border-color: #FFA500;
    }

    /* "Ver todos os produtos" como botão contornado laranja */
    body .ciclo-carousel-wrap .ciclo-cat-nav.ciclo-cat-nav-open ~ .ciclo-mobile-ver-tudo {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 46px;
        margin: 0 12px 14px;
        padding: 10px 16px;
        background: transparent;
        border: 1.5px solid #FFA500;
        border-radius: 6px;
        color: #FFA500;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: .6px;
        text-transform: uppercase;
        text-decoration: none;
        transition: background-color .15s, color .15s;
    }
    body .ciclo-carousel-wrap .ciclo-cat-nav.ciclo-cat-nav-open ~ .ciclo-mobile-ver-tudo:hover,
    body .ciclo-carousel-wrap .ciclo-cat-nav.ciclo-cat-nav-open ~ .ciclo-mobile-ver-tudo:active {
        background: #FFA500;
        color: #000;
    }
}
