/*
=========================================================
STILO FASHION — CSS PRINCIPAL
Versão consolidada e corrigida
=========================================================
*/


/* =====================================================
01. VARIÁVEIS
===================================================== */

:root {
    --stilo-ink: #514943;
    --stilo-action: #F1D9D0;
    --stilo-action-hover: #E9C8BD;
    --stilo-action-ink: #4A4744;
    --stilo-accent: #805A50;
    --stilo-sage-rgb: 237, 235, 229;
    --stilo-blue: var(--stilo-beige);
    --stilo-blue-strong: var(--stilo-action-ink);
    --stilo-cream: #FCFAF7;
    --stilo-beige: #F0EAE3;
    --stilo-gold: #C9B69F;
    --stilo-rose: #F5ECE8;
    --stilo-sage: #EDEBE5;
    --stilo-white: #ffffff;
    --stilo-line: rgba(81, 73, 67, 0.13);
    --stilo-muted: #746C66;
    --stilo-success: #2d7a5c;
    --stilo-pink: var(--stilo-rose);
    --stilo-pink-dark: var(--stilo-accent);
    --stilo-button-soft: #F1D9D0;
    --stilo-button-soft-hover: #E9C8BD;
    --stilo-aqua: var(--stilo-beige);
    --stilo-body-font: "Plus Jakarta Sans", "Segoe UI", sans-serif;
    --stilo-heading-font: "Playfair Display", Georgia, serif;

    --stilo-max-width: 1180px;
    --stilo-shadow: 0 20px 48px rgba(74, 71, 68, 0.08);
    --stilo-radius: 18px;
}


/* =====================================================
02. RESET
===================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;

    background: var(--stilo-cream);
    color: var(--stilo-ink);

    font-family: var(--stilo-body-font);
    line-height: 1.55;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--stilo-heading-font);
    letter-spacing: 0;
    color: var(--stilo-ink);
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font-family: inherit;
}


/* =====================================================
03. ESTRUTURA GLOBAL
===================================================== */

.container {
    width: min(
        var(--stilo-max-width),
        calc(100% - 40px)
    );

    margin-left: auto;
    margin-right: auto;
}

.section {
    padding: 80px 0;
}


/* =====================================================
04. ACESSIBILIDADE
===================================================== */

.skip-link {
    position: absolute;

    left: -9999px;
    top: 10px;

    z-index: 99999;

    padding: 10px 16px;

    background: var(--stilo-ink);
    color: var(--stilo-white);

    border-radius: 4px;
}

.skip-link:focus {
    left: 20px;
}

/* =====================================================
06. HEADER — NOVA ESTRUTURA
===================================================== */

.site-header {
    position: sticky;

    z-index: 1000;

    width: 100%;

    background: #ffffff;

    box-shadow:
        0 3px 18px rgba(38, 51, 68, .07);
}

/* =====================================================
HEADER PRINCIPAL
===================================================== */

.header-main {
    position: relative;

    min-height: 92px;

    display: grid;

    grid-template-columns:
        auto
        minmax(280px, 1fr)
        auto;

    align-items: center;

    gap: 32px;
}


/* =====================================================
LOGO
===================================================== */

.site-logo {
    display: flex;

    align-items: center;

    min-width: 0;
}

.site-logo a,
.site-logo .custom-logo-link {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    max-width: 180px;
}

.site-logo img,
.site-logo .custom-logo {
    display: block;

    width: auto;

    max-width: 165px;

    height: auto;

    max-height: 72px;

    object-fit: contain;
}


/* =====================================================
BUSCA
===================================================== */

.header-search {
    width: 100%;

    max-width: 680px;

    justify-self: center;
}

.header-search form {
    position: relative;

    display: flex;

    align-items: center;

    width: 100%;
}

.header-search input[type="search"] {
    width: 100% !important;

    height: 50px !important;

    box-sizing: border-box !important;

    margin: 0 !important;

    padding:
        0 58px 0 20px !important;

    background: #ffffff !important;

    border:
        1px solid #dfe3e8 !important;

    border-radius: 26px !important;

    color:
        var(--stilo-ink) !important;

    font-family: inherit !important;

    font-size: .94rem !important;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.header-search input[type="search"]::placeholder {
    color: var(--stilo-muted);
}

.header-search input[type="search"]:focus {
    border-color:
        var(--stilo-pink-dark) !important;

    box-shadow:
        0 0 0 4px
        rgba(200, 138, 117, .12) !important;
}

.header-search button {
    position: absolute;

    top: 5px;
    right: 5px;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background:
        var(--stilo-button-soft);

    color: var(--stilo-ink);

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.header-search button:hover {
    background:
        var(--stilo-button-soft-hover);

    transform:
        translateY(-1px);

    box-shadow:
        0 6px 15px
        rgba(200, 138, 117, .16);
}

.header-search button svg {
    width: 19px;
    height: 19px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =====================================================
AÇÕES
===================================================== */

.header-actions {
    display: flex;

    align-items: center;
    justify-content: flex-end;

    gap: 8px;

    min-width: 0;
}

.header-actions a {
    position: relative;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    min-height: 42px;

    padding:
        0 13px;

    color:
        var(--stilo-ink);

    font-size: .84rem;

    font-weight: 600;

    text-decoration: none;

    border-radius: 9px;

    transition:
        color .2s ease,
        background-color .2s ease,
        transform .2s ease;
}

.header-actions a:hover {
    color:
        var(--stilo-pink-dark);

    background:
        rgba(200, 138, 117, .08);

    transform:
        translateY(-1px);
}


/* =====================================================
ÍCONE CONTA
===================================================== */

.header-account-link {
    display: inline-flex !important;

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

    gap: 7px;

    width: auto !important;
    height: 42px !important;

    color:
        var(--stilo-ink) !important;

    text-decoration: none;

    border-radius: 9px;

    transition:
        background-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.header-account-link:hover {
    color:
        var(--stilo-pink-dark) !important;

    background:
        rgba(200, 138, 117, .08);

    transform:
        translateY(-1px);
}

.header-account-menu {
    position: relative;
    z-index: 30;
}

.header-account-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 50;
    width: 258px;
    padding: 10px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(6px);
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 14px;
    box-shadow: 0 16px 38px rgba(38, 51, 68, .16);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.header-account-menu:hover .header-account-dropdown,
.header-account-menu:focus-within .header-account-dropdown {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.header-account-dropdown__greeting {
    margin: 0;
    padding: 11px 12px 13px;
    color: var(--stilo-muted);
    font-size: .83rem;
    line-height: 1.5;
}

.header-account-dropdown__greeting strong {
    color: var(--stilo-ink);
}

.header-actions .header-account-dropdown a {
    display: flex;
    justify-content: flex-start;
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 9px;
    font-size: .84rem;
}

.header-actions .header-account-dropdown a:hover,
.header-actions .header-account-dropdown .header-account-dropdown__footer {
    color: var(--stilo-pink-dark);
}

.header-actions .header-account-dropdown .header-account-dropdown__footer {
    margin-top: 6px;
    border-top: 1px solid var(--stilo-line);
    border-radius: 0 0 9px 9px;
}

.header-actions .header-account-dropdown .header-account-dropdown__cta {
    justify-content: center;
    margin: 4px 0 0;
    color: var(--stilo-action-ink);
    background: var(--stilo-action);
    font-weight: 700;
}

.header-account-icon {
    display: block !important;

    width: 22px !important;
    height: 22px !important;

    flex: 0 0 auto;

    fill: none !important;

    stroke:
        currentColor !important;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =====================================================
ÍCONE CARRINHO
===================================================== */

.cart-link {
    position: relative;
}

.header-cart-icon {
    display: block;

    width: 22px;
    height: 22px;

    flex: 0 0 auto;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =====================================================
CONTADOR CARRINHO
===================================================== */

.cart-count {
    position: absolute;

    top: 2px;
    right: 4px;

    min-width: 17px;
    height: 17px;

    padding:
        0 4px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background:
        var(--stilo-rose);

    color: var(--stilo-ink);

    font-size: 9px;

    font-weight: 700;

    line-height: 1;
}


/* =====================================================
NAVEGAÇÃO
===================================================== */

/* =====================================================
NAVEGAÇÃO DE CATEGORIAS
===================================================== */

.category-navigation-wrap {
    width: 100%;

    background:
        linear-gradient(
            180deg,
            #fffafb 0%,
            #ffffff 55%,
            #faf7f9 100%
        );

    border-top: 1px solid var(--stilo-line);
    border-bottom: 1px solid var(--stilo-line);

    box-shadow:
        0 4px 14px rgba(38, 51, 68, .05);
}

.main-navigation {
    width: 100%;
}

.main-navigation .container {
    min-height: 54px;

    display: flex;

    align-items: center;

    justify-content: center;
}

.main-navigation .stilo-category-menu {
    display: flex;

    align-items: stretch;

    justify-content: center;

    gap: 0;

    width: 100%;

    margin: 0;

    padding: 0;

    list-style: none;
}

.main-navigation .stilo-category-menu > li {
    position: relative;

    margin: 0;

    padding: 0;
}

.main-navigation .stilo-category-menu > li > a {
    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    min-height: 54px;

    padding: 0 17px;

    color: var(--stilo-ink);

    font-size: .86rem;

    font-weight: 600;

    letter-spacing: .01em;

    white-space: nowrap;

    text-decoration: none;

    transition:
        color .2s ease,
        background-color .2s ease;
}

.main-navigation .stilo-category-menu > li:hover > a {
    color: var(--stilo-pink-dark);

    background:
        rgba(238, 208, 227, .28);
}

.main-navigation .stilo-category-menu > li > a::after {
    content: "";

    position: absolute;

    left: 50%;

    bottom: 7px;

    width: 0;

    height: 2px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            var(--stilo-pink-dark),
            #d9a997
        );

    transform:
        translateX(-50%);

    transition:
        width .22s ease;
}

.main-navigation .stilo-category-menu > li:hover > a::after {
    width: 28px;
}


/* =====================================================
SUBMENUS
===================================================== */

.main-navigation
.stilo-category-menu
.sub-menu {
    position: absolute;

    top: 100%;

    left: 0;

    z-index: 9999;

    min-width: 230px;

    margin: 0;

    padding: 10px 0;

    list-style: none;

    background: #ffffff;

    border: 1px solid var(--stilo-line);

    border-radius:
        0 0 10px 10px;

    box-shadow:
        0 14px 30px
        rgba(38, 51, 68, .13);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transform:
        translateY(8px);

    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;
}

.main-navigation
.stilo-category-menu
li:hover,
.main-navigation
.stilo-category-menu
li:focus-within
> .sub-menu {
    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform:
        translateY(0);
}

.main-navigation
.stilo-category-menu
.sub-menu
li {
    position: relative;

    margin: 0;

    padding: 0;
}

.main-navigation
.stilo-category-menu
.sub-menu
li
a {
    display: flex;

    align-items: center;

    justify-content: space-between;

    min-height: 42px;

    padding: 9px 18px;

    color: var(--stilo-ink);

    font-size: .84rem;

    font-weight: 500;

    white-space: nowrap;

    text-decoration: none;

    transition:
        color .18s ease,
        background-color .18s ease;
}

.main-navigation
.stilo-category-menu
.sub-menu
li
a:hover {
    color: var(--stilo-pink-dark);

    background:
        #faf4f8;
}

.main-navigation
.stilo-category-menu
.sub-menu
.sub-menu {
    top: -11px;

    left: 100%;

    border-radius: 10px;
}
/* =====================================================
MENU MOBILE
===================================================== */

.menu-toggle {
    display: none;

    align-items: center;
    justify-content: center;

    flex-direction: column;

    gap: 4px;

    width: 42px;
    height: 42px;

    padding: 0;

    border:
        1px solid var(--stilo-line);

    border-radius: 9px;

    background:
        var(--stilo-white);

    color:
        var(--stilo-ink);

    cursor: pointer;
}

.menu-toggle > span:not(.screen-reader-text) {
    display: block;

    width: 19px;
    height: 2px;

    background:
        currentColor;

    border-radius: 2px;
}

/* =====================================================
08. EYEBROW
===================================================== */

.eyebrow {
    margin: 0 0 10px;

    color: var(--stilo-pink-dark);

    font-size: .78rem;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .12em;
}


/* =====================================================
09. BOTÕES
===================================================== */

.button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding:
        12px 20px;

    border: 0;
    border-radius: 6px;

    background: var(--stilo-action);
    color: var(--stilo-action-ink);

    font-weight: 700;

    cursor: pointer;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        opacity .2s ease;
}

.button:hover {
    background: var(--stilo-action-hover);
    color: var(--stilo-action-ink);

    transform:
        translateY(-1px);

    box-shadow:
        var(--stilo-shadow);
}


/* =====================================================
10. BENEFÍCIOS
===================================================== */

.benefits {
    width: 100%;

    background:
        linear-gradient(135deg, rgba(245, 236, 232, 0.8), rgba(240, 234, 227, 0.9));
}

.benefits-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 20px;

    padding:
        25px 0;
}

.benefits article {
    min-width: 0;

    padding-left: 14px;

    border-left:
        2px solid var(--stilo-pink-dark);

    display: flex;
    flex-direction: column;

    gap: 3px;
}

.benefits article strong {
    font-size: 1rem;
}

.benefits article span {
    font-size: .9rem;
    color: var(--stilo-muted);
}

.stilo-trust-strip {
    padding: 18px 0 0;
}

.stilo-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.stilo-trust-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(74, 71, 68, 0.08);
    border-radius: 18px;
    box-shadow: 0 12px 26px rgba(74, 71, 68, 0.04);
}

.stilo-trust-badge {
    display: inline-grid;
    place-items: center;
    min-width: 62px;
    height: 40px;
    padding: 0 12px;
    background: rgba(200, 138, 117, 0.12);
    border: 1px solid rgba(200, 138, 117, 0.2);
    border-radius: 12px;
    color: var(--stilo-blue-strong);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.stilo-trust-item strong,
.stilo-trust-item small {
    display: block;
}

.stilo-trust-item strong {
    margin-bottom: 4px;
    color: var(--stilo-ink);
}

.stilo-trust-item small {
    color: var(--stilo-muted);
}


/* =====================================================
11. CABEÇALHO DA SEÇÃO DE PRODUTOS
===================================================== */

.section-heading {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 35px;
}

.section-heading h2 {
    margin: 0;

    color: var(--stilo-ink);

    font-size:
        clamp(1.8rem, 4vw, 2.5rem);

    line-height: 1.15;
}

.section-heading .eyebrow {
    margin-bottom: 8px;
}

.stilo-home-reviews {
    position: relative;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(200, 138, 117, .12), transparent 58%),
        linear-gradient(180deg, #fcfaf7 0%, #ffffff 100%);
}

.stilo-home-reviews-heading {
    max-width: 680px;
    margin: 0 auto 34px;
    text-align: center;
    animation: stilo-reviews-enter .65s ease-out both;
}

.stilo-home-reviews-heading .eyebrow {
    margin: 0 0 9px;
    color: var(--stilo-pink-dark);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.stilo-home-reviews-heading h2 {
    margin: 0;
    color: var(--stilo-ink);
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    line-height: 1.15;
}

.stilo-home-reviews-intro {
    margin: 12px auto 10px;
    color: var(--stilo-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.stilo-home-reviews-stars {
    display: inline-block;
    color: var(--stilo-pink-dark);
    font-size: 1.15rem;
    letter-spacing: .2em;
}

.stilo-home-reviews-widget {
    padding: clamp(14px, 3vw, 28px);
    border: 1px solid rgba(81, 73, 67, .09);
    border-radius: 22px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 50px rgba(81, 73, 67, .08);
    animation: stilo-reviews-enter .75s .12s ease-out both;
}

@keyframes stilo-reviews-enter {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.text-link {
    color: var(--stilo-pink-dark);

    font-weight: 700;

    white-space: nowrap;
}

.text-link:hover {
    text-decoration: underline;
}


/* =====================================================
FALLBACK PRODUCT CARD
===================================================== */

.product-card {
    min-width: 0;

    overflow: hidden;

    background: #fff;

    border:
        1px solid var(--stilo-line);

    border-radius:
        var(--stilo-radius);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.product-card:hover {
    transform:
        translateY(-3px);

    box-shadow:
        var(--stilo-shadow);
}

.product-image {
    display: block;

    width: 100%;

    aspect-ratio: 1 / 1;

    background:
        var(--stilo-cream);

    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.product-info {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 16px;
}

.product-category {
    margin-bottom: 6px;

    color:
        var(--stilo-pink-dark);

    font-size: .75rem;
}

.product-title {
    margin: 0 0 12px;

    font-size: .95rem;

    line-height: 1.4;
}

.product-price {
    font-size: 1rem;
    font-weight: 700;
}

.product-action {
    width: 100%;
    margin-top: auto;
    padding-top: 15px;
}

.woocommerce ul.products li.product .product-action .button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 46px;
    margin: 0 !important;
    box-sizing: border-box;
    text-align: center;
}


/* =====================================================
VITRINE PRINCIPAL — ESTRUTURA PERSONALIZADA
===================================================== */

.stilo-featured-products {
    background: #ffffff;
}

.stilo-featured-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 24px;

    width: 100%;
}

.stilo-product-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    background: #ffffff;

    border:
        1px solid var(--stilo-line);

    border-radius: 16px;

    overflow: hidden;

    box-shadow:
        0 6px 20px
        rgba(38, 51, 68, .07);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.stilo-product-card:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 16px 34px
        rgba(38, 51, 68, .13);
}

.stilo-product-image {
    position: relative;

    display: block;

    width: 100%;

    aspect-ratio: 1 / 1;

    overflow: hidden;

    background:
        var(--stilo-cream);
}

.stilo-product-img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;

    object-fit: cover;

    margin: 0 !important;

    transition:
        transform .4s ease;
}

.stilo-product-card:hover
.stilo-product-img {
    transform:
        scale(1.035);
}

.stilo-product-badge {
    position: absolute;

    top: 12px;
    left: 12px;

    z-index: 5;

    padding:
        6px 9px;

    background:
        var(--stilo-pink-dark);

    color:
        #ffffff;

    border-radius:
        7px;

    font-size:
        .72rem;

    font-weight:
        700;

    line-height:
        1;
}

.stilo-product-content {
    display: flex;

    flex-direction: column;

    flex: 1;

    padding: 16px;
}

.stilo-product-title {
    margin:
        0 0 8px;

    min-height:
        44px;

    font-size:
        .96rem;

    font-weight:
        600;

    line-height:
        1.4;

    color:
        var(--stilo-ink);
}

.stilo-product-title a {
    color:
        inherit;

    text-decoration:
        none;
}

.stilo-product-title a:hover {
    color:
        var(--stilo-pink-dark);
}

.product-title,
.stilo-product-title {
    font-family: var(--stilo-body-font);
    letter-spacing: 0;
}

.stilo-product-price {
    margin-bottom:
        15px;

    color:
        var(--stilo-pink-dark);

    font-size:
        1.08rem;

    font-weight:
        700;

    line-height:
        1.4;
}

.stilo-product-price del {
    color:
        var(--stilo-muted);

    font-size:
        .82rem;

    font-weight:
        400;
}

.stilo-product-price ins {
    color:
        var(--stilo-pink-dark);

    text-decoration:
        none;
}

.stilo-product-button {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        100%;

    min-height:
        44px;

    margin-top:
        auto;

    padding:
        10px 15px;

    background:
        var(--stilo-action);

    color:
        var(--stilo-action-ink) !important;

    border-radius:
        9px;

    font-size:
        .86rem;

    font-weight:
        700;

    line-height:
        1.2;

    text-align:
        center;

    text-decoration:
        none;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.stilo-product-button:hover {
    background:
        var(--stilo-action-hover);

    color:
        var(--stilo-action-ink) !important;

    transform:
        translateY(-1px);

    box-shadow:
        0 7px 18px
        rgba(200, 138, 117, .16);
}

.stilo-no-featured-products {
    padding:
        30px;

    text-align:
        center;

    color:
        var(--stilo-muted);
}


/* =====================================================
13. CHAMADA INSTITUCIONAL
===================================================== */

.brand-callout {
    padding: clamp(52px, 7vw, 88px) 0;
    background: linear-gradient(110deg, #f7ece8 0%, #fcf7f5 55%, #f4e3e2 100%);
    border-top: 1px solid var(--stilo-line);
    border-bottom: 1px solid var(--stilo-line);
}

.brand-callout .container {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
    align-items: center;
    gap: clamp(32px, 6vw, 88px);
}

.brand-callout .button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 54px;
    padding: 9px 12px 9px 20px;
    background: var(--stilo-button-soft);
    color: var(--stilo-ink);
    border: 1px solid rgba(74, 71, 68, .08);
    border-radius: 999px;
    font-size: .92rem;
    transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.brand-callout .button:hover {
    background: var(--stilo-button-soft-hover);
    color: var(--stilo-ink);
    opacity: 1;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(74, 71, 68, .12);
}

.brand-callout-arrow {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .72);
    font-size: 1.2rem;
    line-height: 1;
}

.brand-callout h2 {
    max-width: 650px;
    margin: 0;
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
    font-size: clamp(2rem, 3.1vw, 2.75rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.12;
    text-wrap: balance;
}

.brand-callout .eyebrow {
    margin: 0 0 14px;
    font-family: var(--stilo-body-font);
}
    letter-spacing: 0;

.brand-callout p:not(.eyebrow) {
    max-width: 390px;
    margin: 0 0 24px;
    font-family: var(--stilo-body-font);
    font-size: 1rem;
    letter-spacing: 0;
}

@media (max-width: 760px) {
    .brand-callout .container {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .brand-callout-action {
        justify-self: start;
    }

    .brand-callout p:not(.eyebrow) {
        margin-bottom: 18px;
    }
}


/* =====================================================
14. RODAPÉ
===================================================== */

.site-footer {
    margin-top:
        60px;

    background:
        var(--stilo-ink);

    color:
        #fff;
}

.footer-grid {
    display:
        grid;

    grid-template-columns:
        1.5fr
        repeat(3, 1fr);

    gap:
        40px;

    padding:
        60px 0;
}

.footer-grid ul {
    list-style:
        none;

    padding:
        0;

    margin:
        0;
}

.footer-grid li {
    margin-bottom:
        8px;

    color:
        #cbd5df;
}

.footer-bottom {
    border-top:
        1px solid #3e4b5c;

    padding:
        18px 0;

    font-size:
        .8rem;
}


/* =====================================================
15. ÁREA DO CLIENTE
LOGIN / CADASTRO
===================================================== */

.stilo-account-page {
    min-height:
        720px;

    padding:
        70px 20px 90px;

    background:
        radial-gradient(
            circle at 15% 10%,
            rgba(193, 77, 139, .10),
            transparent 30%
        ),
        radial-gradient(
            circle at 90% 90%,
            rgba(38, 51, 68, .08),
            transparent 30%
        ),
        #faf8f9;
}

.stilo-account-shell {
    width:
        100%;

    max-width:
        540px;

    margin:
        0 auto;
}

.stilo-account-brand {
    margin-bottom:
        28px;

    text-align:
        center;
}

.stilo-account-brand .custom-logo-link {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;
}

.stilo-account-brand img {
    display:
        block;

    width:
        auto;

    max-width:
        190px;

    max-height:
        130px;

    object-fit:
        contain;
}

.stilo-account-heading {
    margin-bottom:
        30px;

    text-align:
        center;
}

.stilo-account-eyebrow {
    margin:
        0 0 8px;

    color:
        var(--stilo-pink-dark);

    font-size:
        .78rem;

    font-weight:
        700;

    text-transform:
        uppercase;

    letter-spacing:
        .13em;
}

.stilo-account-heading h1 {
    margin:
        0 0 12px;

    color:
    font-family:
        var(--stilo-body-font);
        #263344;

    letter-spacing:
        0;
    font-size:
        clamp(2rem, 5vw, 2.65rem);

    font-weight:
        700;

    line-height:
        1.15;
}

.stilo-account-heading p:last-child {
    max-width:
        440px;

    margin:
        0 auto;

    color:
        #667085;

    font-size:
        .96rem;

    line-height:
        1.6;
}

.stilo-account-panel {
    width:
        100%;

    box-sizing:
        border-box;

    padding:
        38px;

    background:
        #fff;

    border:
        1px solid #eadfe5;

    border-radius:
        18px;

    box-shadow:
        0 20px 50px
        rgba(38, 51, 68, .10);
}

.stilo-account-panel[hidden] {
    display:
        none !important;
}

.stilo-account-form {
    display:
        flex !important;

    flex-direction:
        column !important;

    gap:
        20px !important;

    width:
        100% !important;

    margin:
        0 !important;
}

.stilo-form-field {
    display:
        flex !important;

    flex-direction:
        column !important;

    width:
        100% !important;

    gap:
        8px !important;

    margin:
        0 !important;
}

.stilo-form-field label {
    display:
        block !important;

    width:
        100% !important;

    margin:
        0 !important;

    color:
        #263344;

    font-size:
        .9rem;

    font-family:
        var(--stilo-body-font);

    font-weight:
        600;

    letter-spacing:
        0;
}

.stilo-form-field input[type="text"],
.stilo-form-field input[type="email"],
.stilo-form-field input[type="password"] {
    display:
        block !important;

    width:
        100% !important;

    max-width:
        none !important;

    height:
        54px !important;

    box-sizing:
        border-box !important;

    padding:
        0 16px !important;

    margin:
        0 !important;

    background:
        #fff !important;

    border:
        1px solid #d8dce3 !important;

    border-radius:
        10px !important;

    color:
        #263344 !important;

    font-family:
        inherit !important;

    font-size:
        1rem !important;

    outline:
        none !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.stilo-form-field input::placeholder {
    color:
        var(--stilo-muted) !important;
}

.stilo-form-field input:hover {
    border-color:
        #c8cdd5 !important;
}

.stilo-form-field input:focus {
    border-color:
        var(--stilo-pink-dark) !important;

    box-shadow:
        0 0 0 4px
        rgba(200, 138, 117, .12) !important;
}

.stilo-form-options {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        space-between !important;

    gap:
        15px !important;

    width:
        100% !important;

    margin:
        0 !important;

    color:
        #667085;

    font-size:
        .84rem;
}

.stilo-checkbox {
    display:
        inline-flex !important;

    align-items:
        center !important;

    gap:
        7px !important;

    margin:
        0 !important;
}

.stilo-checkbox input {
    width:
        16px !important;

    height:
        16px !important;

    margin:
        0 !important;
}

.stilo-form-options a {
    color:
        var(--stilo-pink-dark) !important;

    font-weight:
        600;

    text-decoration:
        none;
}

.stilo-form-options a:hover {
    text-decoration:
        underline;
}

.stilo-account-button {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    width:
        100% !important;

    min-height:
        54px !important;

    padding:
        0 20px !important;

    margin:
        2px 0 0 !important;

    background:
        var(--stilo-action) !important;

    border:
        0 !important;

    border-radius:
        10px !important;

    color:
        var(--stilo-action-ink) !important;

    font-family:
        inherit !important;

    font-size:
        .95rem !important;

    font-weight:
        700 !important;

    cursor:
        pointer !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.stilo-account-button:hover {
    background:
        var(--stilo-action-hover) !important;
    color:
        var(--stilo-action-ink) !important;
    color:
        var(--stilo-action-ink) !important;

    transform:
        translateY(-1px);

    box-shadow:
        0 10px 25px
        rgba(200, 138, 117, .25);
}


/* =====================================================
GOOGLE
===================================================== */

.stilo-social-divider {
    width:
        100%;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        14px;

    margin:
        28px 0 20px;

    color:
        var(--stilo-muted);

    font-size:
        .82rem;
}

.stilo-social-divider::before,
.stilo-social-divider::after {
    content:
        "";

    flex:
        1;

    height:
        1px;

    background:
        #e5e7eb;
}

.stilo-social-divider span {
    flex:
        0 0 auto;

    color:
        var(--stilo-muted);

    line-height:
        1;
}

.stilo-google-login {
    width:
        100%;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        44px;

    margin:
        0 auto;

    text-align:
        center;
}

.stilo-google-login.googlesitekit-sign-in-with-google__frontend-output-button {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    width:
        auto !important;

    max-width:
        100% !important;

    margin:
        0 auto !important;
}


/* =====================================================
TROCA LOGIN / CADASTRO
===================================================== */

.stilo-account-switch {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex-wrap:
        wrap;

    gap:
        5px;

    margin-top:
        26px;

    color:
        #667085;

    font-size:
        .88rem;

    text-align:
        center;
}

.stilo-switch-account {
    padding:
        0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    color:
        var(--stilo-pink-dark) !important;

    font:
        inherit !important;

    font-weight:
        700 !important;

    cursor:
        pointer !important;
}

.stilo-switch-account:hover {
    text-decoration:
        underline;
}


/* =====================================================
TEXTOS AUXILIARES
===================================================== */

.stilo-account-note,
.stilo-account-privacy {
    margin:
        0;

    color:
        #667085;

    font-size:
        .82rem;

    line-height:
        1.6;
}

.stilo-account-privacy {
    padding:
        13px 15px;

    background:
        #faf7f9;

    border-radius:
        9px;
}


/* =====================================================
MENSAGENS WOOCOMMERCE
===================================================== */

.stilo-account-page .woocommerce-error,
.stilo-account-page .woocommerce-message,
.stilo-account-page .woocommerce-info {
    margin-bottom:
        20px !important;
}

/* =====================================================
18. EXPERIÊNCIA DE COMPRA — REFINAMENTO WOOCommerce
===================================================== */

/* Preserve a capa original, incluindo a tipografia e o CTA que fazem parte da arte. */
.hero {
    min-height: 0 !important;
    display: block;
    background: transparent;
}

.hero-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: var(--stilo-cream);
}

.hero-slide {
    position: relative;
    display: none;
    width: 100%;
}

.hero-slide.is-active {
    display: block;
}

.hero-slide-image {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center;
}

.hero-image-cta {
    position: absolute;
    top: 86%;
    left: 73.5%;
    z-index: 2;
    width: 18.5%;
    height: max(7.5%, 44px);
    transform: translateY(-50%);
}

.hero-image-cta:focus-visible {
    outline: 3px solid var(--stilo-action-ink);
    outline-offset: 2px;
}

@media (max-width: 700px) {
    .hero-slide-image {
        width: 100%;
        height: auto;
        min-height: 0;
    }

}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Listagem e categorias */
.page-hero {
    padding: 64px 0 56px;
    background: linear-gradient(125deg, rgba(244, 227, 226, 0.8) 0%, rgba(232, 226, 217, 0.8) 100%);
    border-bottom: 1px solid var(--stilo-line);
}

.stilo-privacy-policy-page {
    background: #fcfaf7;
}

.stilo-privacy-policy-page > .section {
    padding-top: clamp(36px, 6vw, 72px);
}

.stilo-privacy-policy {
    max-width: 900px;
    margin: 0 auto;
    padding: clamp(24px, 5vw, 56px);
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 22px;
    box-shadow: 0 18px 48px rgba(74, 71, 68, .06);
}

.stilo-privacy-policy__header {
    margin-bottom: 30px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--stilo-line);
}

.stilo-privacy-policy__header .eyebrow {
    margin: 0 0 8px;
    color: var(--stilo-pink-dark);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.stilo-privacy-policy__header h1 {
    margin: 0;
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    line-height: 1.2;
}

.stilo-privacy-policy__summary,
.stilo-privacy-updated {
    color: var(--stilo-muted);
    font-size: .9rem;
}

.stilo-privacy-policy__summary {
    margin: 12px 0 0;
    line-height: 1.65;
}

.stilo-privacy-updated {
    margin: 0 0 20px;
    font-weight: 700;
}

.stilo-privacy-policy__content {
    color: var(--stilo-ink);
    font-size: .94rem;
    line-height: 1.8;
}

.stilo-privacy-policy__content h2 {
    margin: 34px 0 12px;
    padding-top: 22px;
    color: var(--stilo-ink);
    border-top: 1px solid var(--stilo-line);
    font-family: var(--stilo-heading-font);
    font-size: clamp(1.25rem, 2.5vw, 1.55rem);
    line-height: 1.35;
}

.stilo-privacy-policy__content h2:first-of-type {
    margin-top: 24px;
}

.stilo-privacy-policy__content h3 {
    margin: 24px 0 8px;
    color: var(--stilo-ink);
    font-size: 1.04rem;
    line-height: 1.45;
}

.stilo-privacy-policy__content p {
    margin: 0 0 14px;
}

.stilo-privacy-policy__content ul,
.stilo-privacy-policy__content ol {
    display: grid;
    gap: 8px;
    margin: 0 0 18px;
    padding-left: 24px;
}

.stilo-privacy-policy__content li {
    padding-left: 3px;
}

.stilo-privacy-policy__content a {
    color: var(--stilo-pink-dark);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    overflow-wrap: anywhere;
}

.stilo-privacy-policy__content a:hover {
    color: var(--stilo-ink);
}

.stilo-shop-hero-inner {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
}

.page-hero--search .stilo-shop-hero-inner {
    display: block;
}

.stilo-shop-hero-copy {
    max-width: 440px;
    color: var(--stilo-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.page-hero h1,
.woocommerce-products-header__title {
    margin: 0;
    font-family: var(--stilo-heading-font);
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.05;
}

.page-hero--category {
    padding: 34px 0;
    background: var(--stilo-cream);
}

.page-hero--category .stilo-shop-hero-inner {
    display: block;
}

.page-hero--category h1 {
    font-size: clamp(1.9rem, 3.2vw, 2.7rem);
}

.term-description {
    max-width: 680px;
    margin: 20px 0 30px;
    color: var(--stilo-muted);
    font-size: 1.05rem;
}

.stilo-shop-promo {
    padding: 24px 0 0;
}

.stilo-shop-promo-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 26px 28px;
    background: linear-gradient(135deg, rgba(216, 226, 220, 0.9), rgba(255, 255, 255, 0.9));
    border: 1px solid rgba(74, 71, 68, 0.08);
    border-radius: 22px;
    box-shadow: 0 14px 30px rgba(74, 71, 68, 0.04);
}

.stilo-shop-promo-inner h2 {
    margin: 0;
    font-size: clamp(1.7rem, 2vw, 2.4rem);
    line-height: 1.1;
}

.shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 28px;
    padding: 16px 18px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid var(--stilo-line);
    border-radius: var(--stilo-radius);
    box-shadow: 0 12px 24px rgba(74, 71, 68, 0.03);
}

.shop-toolbar .woocommerce-result-count,
.shop-toolbar .woocommerce-ordering {
    margin: 0;
}

.shop-toolbar select {
    min-height: 42px;
    padding: 0 36px 0 13px;
    color: var(--stilo-ink);
    background: #fff;
    border: 1px solid #d8cbd2;
    border-radius: 8px;
}

.product-category a {
    display: inline-flex;
    margin: 0 5px 8px 0;
    padding: 4px 9px;
    color: var(--stilo-accent);
    background: var(--stilo-rose);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* Produto individual */
.stilo-product-page {
    padding: 42px 0 80px;
    background: #fffdfd;
}

.stilo-product-page .woocommerce-breadcrumb {
    width: min(1400px, calc(100% - 64px));
    margin: 0 auto 28px;
    color: var(--stilo-muted);
    font-size: .88rem;
}

.stilo-product-page div.product {
    width: min(1320px, calc(100% - 64px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: clamp(28px, 3vw, 42px);
    align-items: start;
}

body.single-product .stilo-product-page div.product .woocommerce-product-gallery {
    float: none;
    width: 100%;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(74, 71, 68, 0.08);
    box-shadow: var(--stilo-shadow);
}

.stilo-product-page div.product .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: transform .35s ease;
}

.stilo-product-page div.product .woocommerce-product-gallery__image:hover img {
    transform: scale(1.035);
}

body.single-product .stilo-product-page div.product .summary {
    float: none;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: clamp(20px, 2vw, 28px);
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(74, 71, 68, 0.08);
    border-radius: 22px;
    box-shadow: 0 18px 38px rgba(74, 71, 68, .05);
    backdrop-filter: blur(6px);
}

.stilo-product-page div.product .product_title {
    margin: 0 0 12px;
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
    font-size: clamp(1.75rem, 2.2vw, 2.4rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.12;
}

.stilo-product-eyebrow {
    margin: 0 0 10px;
    color: var(--stilo-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.stilo-product-features {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
}

.stilo-product-features li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(212, 154, 133, 0.1);
    border: 1px solid rgba(200, 138, 117, 0.18);
    color: var(--stilo-ink);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.stilo-product-features li::before {
    content: "✓";
    color: var(--stilo-blue-strong);
}

.stilo-product-page .price {
    margin: 12px 0 18px !important;
    color: var(--stilo-blue-strong) !important;
    font-size: 1.45rem !important;
    font-weight: 800;
}

.stilo-product-page .stock {
    display: inline-flex;
    align-items: center;
    margin: 0 0 15px;
    color: #12866f;
    font-size: .86rem;
    font-weight: 700;
}

.stilo-product-page .stock::before {
    content: "";
    width: 7px;
    height: 7px;
    margin-right: 7px;
    background: currentColor;
    border-radius: 50%;
}

.stilo-product-page .woocommerce-product-details__short-description {
    padding: 14px 0;
    color: var(--stilo-muted);
    border-top: 1px solid var(--stilo-line);
    border-bottom: 1px solid var(--stilo-line);
    font-size: 0.92rem;
    line-height: 1.6;
}

.stilo-product-page form.cart {
    display: flex;
    align-items: stretch;
    gap: 12px;
    margin: 18px 0 !important;
}

.stilo-product-page form.cart.variations_form {
    display: block;
}

.stilo-product-page .variations_form .variations {
    width: 100%;
    margin: 0 0 16px;
    border: 0;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.stilo-product-page .variations_form .variations tr {
    display: grid;
    grid-template-columns: minmax(90px, 120px) minmax(0, 1fr);
    align-items: center;
    gap: 12px;
}

.stilo-product-page .variations_form .variations th,
.stilo-product-page .variations_form .variations td {
    display: block;
    width: auto;
    padding: 0;
    border: 0;
    text-align: left;
}

.stilo-product-page .variations_form .variations label {
    color: var(--stilo-ink);
    font-weight: 700;
}

.stilo-product-page .variations_form .variations td.value {
    min-width: 0;
}

.stilo-product-page .variations_form .variations select {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: 10px 40px 10px 14px;
    border: 1px solid var(--stilo-line);
    border-radius: 12px;
    background-color: #fff;
    color: var(--stilo-ink);
    font: inherit;
}

.stilo-product-page .variations_form .variations .reset_variations {
    display: inline-block;
    margin: 8px 0 0 2px;
    color: var(--stilo-muted);
    font-size: .82rem;
}

.stilo-product-page .variations_form .single_variation_wrap {
    width: 100%;
}

.stilo-product-page .variations_form .woocommerce-variation {
    margin: 0 0 12px;
}

.stilo-product-page .variations_form .woocommerce-variation-add-to-cart {
    display: flex;
    align-items: stretch;
    gap: 12px;
}

.stilo-product-page .variations_form .quantity {
    flex: 0 0 88px;
    margin: 0 !important;
}

.stilo-product-page .variations_form .quantity .qty {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 10px;
    border: 1px solid var(--stilo-line);
    border-radius: 12px;
    background: #fff;
    color: var(--stilo-ink);
    font: inherit;
    text-align: center;
}

.stilo-product-page .variations_form .single_add_to_cart_button {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 52px;
}

.stilo-product-page .quantity .qty {
    min-width: 70px;
    min-height: 50px;
    border: 1px solid rgba(74, 71, 68, 0.12);
    border-radius: 12px;
    background: var(--stilo-cream);
}

.stilo-product-page .single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    min-height: 48px;
    padding: 12px 20px;
    color: var(--stilo-action-ink) !important;
    background: var(--stilo-action) !important;
    border: 0 !important;
    border-radius: 14px !important;
    font-weight: 700;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.stilo-product-page .single_add_to_cart_button {
    flex: 1;
}

.single-product .woocommerce-message {
    position: fixed;
    right: clamp(16px, 3vw, 36px);
    bottom: clamp(16px, 3vw, 36px);
    z-index: 10000;
    display: flex;
    align-items: center;
    gap: 12px;
    width: min(420px, calc(100vw - 32px));
    margin: 0 !important;
    padding: 18px 20px 18px 54px !important;
    border: 1px solid rgba(18, 134, 111, .18) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 16px 44px rgba(38, 51, 68, .18);
    color: var(--stilo-ink) !important;
    font-size: .94rem;
    line-height: 1.5;
    animation: stilo-cart-toast-enter .28s ease-out both;
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}

.single-product .woocommerce-message::before {
    top: 50% !important;
    left: 20px !important;
    transform: translateY(-50%);
    color: #12866f !important;
}

.single-product .woocommerce-message .stilo-cart-toast-close {
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    margin-left: auto;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--stilo-muted);
    font: inherit;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}

.single-product .woocommerce-message .stilo-cart-toast-close:hover {
    background: var(--stilo-cream);
    color: var(--stilo-ink);
}

.single-product .woocommerce-message.is-hiding {
    animation: none;
    opacity: 0;
    transform: translateY(10px);
    visibility: hidden;
}

@keyframes stilo-cart-toast-enter {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: var(--stilo-action-hover) !important;
    color: var(--stilo-action-ink) !important;
    color: var(--stilo-action-ink) !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(200, 138, 117, .18);
}

.stilo-home-collections,
.stilo-shop-collections {
    background: linear-gradient(180deg, rgba(255,255,255,0.2), rgba(250,248,245,0.8));
}

.stilo-collection-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.stilo-collection-card {
    display: flex;
    flex-direction: column;
    min-height: 200px;
    padding: 22px 20px;
    border-radius: 22px;
    border: 1px solid rgba(74,71,68,0.08);
    box-shadow: 0 14px 30px rgba(74,71,68,0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.stilo-collection-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(74,71,68,0.08);
}

.stilo-collection-card strong,
.stilo-collection-card small,
.stilo-collection-card .stilo-collection-tag {
    display: block;
}

.stilo-collection-card strong {
    margin-top: auto;
    font-size: 1.3rem;
    line-height: 1.25;
    color: var(--stilo-ink);
}

.stilo-collection-card small {
    margin-top: 10px;
    color: var(--stilo-muted);
    line-height: 1.55;
}

.stilo-collection-tag {
    width: fit-content;
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(255,255,255,0.6);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.stilo-collection-card--sage {
    background: linear-gradient(135deg, rgba(216,226,220,0.8), rgba(255,255,255,0.8));
}

.stilo-collection-card--rose {
    background: linear-gradient(135deg, rgba(244,227,226,0.9), rgba(255,255,255,0.75));
}

.stilo-collection-card--beige {
    background: linear-gradient(135deg, rgba(232,226,217,0.9), rgba(255,255,255,0.75));
}

.stilo-collection-card--sand {
    background: linear-gradient(135deg, rgba(201,169,110,0.2), rgba(255,255,255,0.8));
}

.stilo-product-page .product_meta {
    padding-top: 18px;
    color: var(--stilo-muted);
    border-top: 1px solid var(--stilo-line);
}

.stilo-purchase-reassurance {
    display: grid;
    gap: 8px;
    margin-top: 18px;
    padding-top: 18px;
    color: #18836e;
    border-top: 1px solid var(--stilo-line);
    font-size: .86rem;
    font-weight: 650;
}

.stilo-purchase-reassurance p {
    margin: 0;
}

.stilo-product-page .product_meta a {
    color: var(--stilo-pink-dark);
    font-weight: 700;
}

.stilo-product-page .woocommerce-tabs {
    clear: both;
    grid-column: 1 / -1;
    margin-top: 68px;
    padding: 30px;
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 16px;
}

.stilo-product-page .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 24px;
    margin: 0 0 24px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid var(--stilo-line);
    list-style: none;
}

.stilo-product-page .woocommerce-tabs ul.tabs::before,
.stilo-product-page .woocommerce-tabs ul.tabs li::before,
.stilo-product-page .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.stilo-product-page .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.stilo-product-page .woocommerce-tabs ul.tabs li a {
    color: var(--stilo-muted);
    font-weight: 700;
}

.stilo-product-page .woocommerce-tabs ul.tabs li.active a {
    color: var(--stilo-pink-dark);
}

.stilo-product-page .woocommerce-tabs .panel {
    color: #566273;
    line-height: 1.75;
}

/* Produtos relacionados: grade independente e sem herdar medidas da galeria. */
.stilo-product-page .related.products,
.stilo-product-page .upsells.products {
    clear: both;
    grid-column: 1 / -1;
    width: 100%;
    margin: 64px 0 0;
}

.stilo-product-page .related.products > h2,
.stilo-product-page .upsells.products > h2 {
    margin: 0 0 22px;
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
    font-size: clamp(1.35rem, 2vw, 1.7rem);
    letter-spacing: 0;
}

.stilo-product-page .related.products > .products,
.stilo-product-page .upsells.products > .products {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* O WooCommerce adiciona pseudoelementos para limpar floats. Em uma grade,
   eles passariam a ocupar uma coluna vazia antes do primeiro produto. */
.stilo-product-page .related.products > .products::before,
.stilo-product-page .related.products > .products::after,
.stilo-product-page .upsells.products > .products::before,
.stilo-product-page .upsells.products > .products::after {
    content: none !important;
    display: none !important;
}

.stilo-product-page .related.products .product,
.stilo-product-page .upsells.products .product {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.stilo-product-page .related.products .product-card,
.stilo-product-page .upsells.products .product-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
}

.woocommerce .stilo-product-page .related.products > ul.products > li.product,
.woocommerce .stilo-product-page .upsells.products > ul.products > li.product {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch;
    height: 100%;
}

.stilo-product-page .related.products .product-info,
.stilo-product-page .upsells.products .product-info {
    min-height: 0;
    display: flex !important;
    flex-direction: column !important;
    padding: 10px;
    flex: 1 1 auto;
}

.stilo-product-page .related.products .product-action,
.stilo-product-page .upsells.products .product-action {
    margin-top: auto !important;
}

.stilo-product-page .related.products .product-title,
.stilo-product-page .upsells.products .product-title {
    min-height: 44px;
    font-size: .8rem;
}

/* Carrinho e checkout */
.woocommerce-cart .woocommerce {
    width: min(var(--stilo-max-width), calc(100% - 40px));
    margin: 42px auto 72px;
}

.stilo-cart-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 auto 28px;
    padding: 14px 18px;
    background: rgba(169, 196, 212, 0.13);
    border: 1px solid rgba(115, 157, 181, 0.2);
    border-radius: 999px;
    color: var(--stilo-ink);
    font-size: 0.78rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.stilo-cart-progress__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    opacity: 0.7;
    transition: opacity 0.2s ease, color 0.2s ease;
}

.stilo-cart-progress__item.is-current {
    opacity: 1;
    color: var(--stilo-blue-strong);
    font-weight: 700;
}

.stilo-cart-progress__number {
    display: inline-grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(169, 196, 212, 0.28);
    color: inherit;
    font-size: 0.7rem;
}

.stilo-cart-progress__divider {
    display: inline-block;
    width: 12px;
    height: 1px;
    background: rgba(63, 69, 72, 0.28);
}

.woocommerce-cart .woocommerce > h2 {
    display: none;
}

.woocommerce-cart-form,
.cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.woocommerce .woocommerce-cart-form {
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: var(--stilo-radius);
    box-shadow: var(--stilo-shadow);
    overflow: hidden;
}

.woocommerce-cart .cart-collaterals {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    padding: 28px 24px;
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: var(--stilo-radius);
    box-shadow: var(--stilo-shadow);
}

.woocommerce table.shop_table {
    border: 0;
    border-collapse: collapse;
    margin: 0;
    background: transparent;
}

.woocommerce table.shop_table thead {
    background: rgba(169, 196, 212, 0.12);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    padding: 18px 16px;
    border-color: var(--stilo-line);
    vertical-align: middle;
}

.woocommerce-cart-form .shop_table thead th {
    color: var(--stilo-ink);
    font-size: 0.76rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.woocommerce-cart-form .shop_table tbody tr {
    border-bottom: 1px solid var(--stilo-line);
}

.woocommerce-cart-form .shop_table tbody tr:last-child {
    border-bottom: 0;
}

.woocommerce-cart-form .product-name a,
.woocommerce-checkout-review-order .product-name {
    color: var(--stilo-ink);
    font-weight: 700;
}

.woocommerce-cart-form .product-name {
    min-width: 0;
}

.woocommerce-cart-form .product-thumbnail {
    width: 114px;
}

.woocommerce-cart-form .product-thumbnail img {
    width: 96px;
    height: 96px;
    border-radius: 16px;
    object-fit: cover;
    border: 1px solid rgba(63, 69, 72, 0.08);
    background: var(--stilo-cream);
}

.woocommerce-cart-form .product-remove a.remove {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(115, 157, 181, 0.12);
    color: var(--stilo-blue-strong) !important;
    font-size: 1.2rem;
    line-height: 1;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.woocommerce-cart-form .product-remove a.remove:hover {
    transform: translateY(-1px);
    background: rgba(115, 157, 181, 0.18);
    color: var(--stilo-ink) !important;
}

.woocommerce .quantity {
    display: inline-flex;
    align-items: center;
}

.woocommerce .quantity .qty {
    width: 56px;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid var(--stilo-line);
    border-radius: 12px 0 0 12px;
    background: #fff;
    color: var(--stilo-ink);
    font-size: 1rem;
    text-align: center;
}

.stilo-qty-stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--stilo-line);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.6);
}

.stilo-qty-btn {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 42px;
    border: 0;
    background: rgba(169, 196, 212, 0.12);
    color: var(--stilo-ink);
    cursor: pointer;
    font-size: 1.2rem;
    font-weight: 700;
    transition: background 0.2s ease, transform 0.2s ease;
}

.stilo-qty-btn:hover,
.stilo-qty-btn:focus-visible {
    background: rgba(169, 196, 212, 0.2);
}

.stilo-qty-btn:active {
    transform: scale(0.98);
}

.stilo-qty-stepper .qty {
    width: 48px;
    min-width: 48px;
    max-width: 48px;
    min-height: 42px;
    padding: 8px 0;
    border: 0;
    border-left: 1px solid var(--stilo-line);
    border-right: 1px solid var(--stilo-line);
    border-radius: 0;
    background: transparent;
    text-align: center;
}

.woocommerce-cart-form .coupon {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0 0;
    border-top: 1px solid var(--stilo-line);
    margin-top: 18px;
}

.woocommerce-cart-form .coupon .input-text {
    flex: 1 1 auto;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--stilo-line);
    border-radius: 12px;
    background: var(--stilo-cream);
}

.woocommerce-cart-form .coupon button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce .button {
    min-height: 46px;
    padding: 0 18px;
    border: 0;
    border-radius: 12px;
    background: var(--stilo-action);
    color: var(--stilo-action-ink);
    font-weight: 700;
    transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-cart-form .coupon button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce .button:hover {
    filter: brightness(0.96);
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(115, 157, 181, 0.18);
}

.woocommerce .coupon input.input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid var(--stilo-line);
    border-radius: 12px;
    color: var(--stilo-ink);
    background: var(--stilo-cream);
}

.woocommerce form .form-row textarea {
    min-height: 120px;
}

.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
    outline: 0;
    border-color: var(--stilo-blue-strong);
    box-shadow: 0 0 0 3px rgba(115, 157, 181, 0.12);
}

.woocommerce-cart .cart_totals h2 {
    margin: 0 0 16px;
    color: var(--stilo-ink);
    font-size: 1.2rem;
}

.woocommerce .cart_totals table {
    border-top: 1px solid var(--stilo-line);
    margin: 0 0 16px;
}

.woocommerce .cart_totals table td,
.woocommerce .cart_totals table th {
    padding: 12px 0;
    border-bottom: 1px solid var(--stilo-line);
    color: var(--stilo-ink);
}

.woocommerce .cart_totals table .order-total td,
.woocommerce .cart_totals table .order-total th {
    background: rgba(169, 196, 212, 0.08);
    font-size: 1.08rem;
    font-weight: 700;
}

.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0;
    margin-top: 8px;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 54px;
    margin: 0;
    border-radius: 14px !important;
    background: var(--stilo-action) !important;
    color: var(--stilo-action-ink) !important;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 12px 22px rgba(115, 157, 181, 0.25);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--stilo-action-hover) !important;
    color: var(--stilo-action-ink) !important;
}

.stilo-cart-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.stilo-cart-trust span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(115, 157, 181, 0.2);
    border-radius: 999px;
    background: rgba(169, 196, 212, 0.08);
    color: var(--stilo-ink);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.stilo-cart-trust span::before {
    content: "✓";
    color: var(--stilo-success);
}

.woocommerce-cart .cart-empty {
    margin: 28px 0 20px;
    padding: 28px 24px;
    color: var(--stilo-ink);
    background: rgba(232, 220, 203, 0.35);
    border: 1px solid rgba(201, 169, 110, 0.35);
    border-left: 4px solid var(--stilo-gold);
    border-radius: var(--stilo-radius);
    box-shadow: var(--stilo-shadow);
}

.stilo-empty-cart-message {
    display: grid;
    gap: 8px;
    margin: 0 0 28px;
}

.stilo-empty-cart-message p {
    margin: 0;
    font-size: 1.05rem;
    color: var(--stilo-ink);
}

.woocommerce-cart .return-to-shop {
    margin: 0;
}

.woocommerce-cart .return-to-shop .button {
    min-height: 46px;
    padding: 12px 20px;
    background: var(--stilo-action) !important;
    border-radius: 12px !important;
    color: var(--stilo-action-ink) !important;
    font-weight: 700;
}

.woocommerce-cart .return-to-shop .button:hover {
    background: var(--stilo-action-hover) !important;
    color: var(--stilo-action-ink) !important;
}

.woocommerce-cart-form .shop_table,
.cart-collaterals .cart_totals {
    overflow: hidden;
    border-radius: var(--stilo-radius);
}

/* Carrinho em blocos do WooCommerce. */
.woocommerce-cart .wp-block-woocommerce-cart {
    width: min(var(--stilo-max-width), calc(100% - 40px));
    margin: 0 auto 72px;
}

.woocommerce-cart .wc-block-cart {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(290px, .95fr);
    align-items: start;
    gap: 24px;
}

.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: clamp(20px, 2.5vw, 30px);
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(74, 71, 68, .06);
}

.woocommerce-cart .wc-block-cart__sidebar {
    position: sticky;
    top: 24px;
}

.woocommerce-cart .wc-block-cart-items {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-cart .wc-block-cart-items__header th {
    padding: 0 10px 14px;
    color: var(--stilo-muted);
    border-bottom: 1px solid var(--stilo-line);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.woocommerce-cart .wc-block-cart-items__header-total,
.woocommerce-cart .wc-block-cart-item__total {
    display: none !important;
}

.woocommerce-cart .wc-block-cart-items__row td {
    padding: 18px 10px;
    border-bottom: 1px solid var(--stilo-line);
    vertical-align: middle;
}

.woocommerce-cart .wc-block-cart-item__image img {
    width: 76px;
    height: 76px;
    border: 1px solid var(--stilo-line);
    border-radius: 8px;
    object-fit: cover;
}

.woocommerce-cart .wc-block-components-product-name {
    color: var(--stilo-ink);
    font-size: .96rem;
    font-weight: 700;
    line-height: 1.45;
    text-decoration: none;
}

.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-cart-item__total-price {
    color: var(--stilo-ink);
    font-weight: 700;
}

.woocommerce-cart .wc-block-components-quantity-selector {
    min-height: 40px;
    border: 1px solid var(--stilo-line);
    border-radius: 8px;
    background: var(--stilo-cream);
}

.woocommerce-cart .wc-block-components-quantity-selector__button {
    color: var(--stilo-ink);
}

.woocommerce-cart .wc-block-cart-item__remove-link {
    color: var(--stilo-muted);
    font-size: .78rem;
    text-underline-offset: 3px;
}

.woocommerce-cart .wc-block-cart__totals-title {
    margin: 0 0 18px;
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
    font-size: 1.45rem;
    font-weight: 700;
}

.woocommerce-cart .wc-block-components-totals-wrapper {
    padding: 14px 0;
    border-color: var(--stilo-line);
}

.woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-item__value {
    color: var(--stilo-ink);
}

.woocommerce-cart .wc-block-cart__submit-container {
    padding-top: 18px;
}

.woocommerce-cart .wc-block-cart__submit-container a,
.woocommerce-cart .wc-block-cart__submit-container button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    border: 0;
    border-radius: 8px;
    background: var(--stilo-action);
    color: var(--stilo-action-ink);
    font-size: .94rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(200, 138, 117, .18);
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.woocommerce-cart .wc-block-cart__submit-container a:hover,
.woocommerce-cart .wc-block-cart__submit-container button:hover {
    background: var(--stilo-action-hover);
    color: var(--stilo-action-ink);
    transform: translateY(-1px);
    box-shadow: 0 11px 22px rgba(200, 138, 117, .24);
}

.woocommerce-cart .wc-block-cart__empty-cart__title {
    margin: 0 0 20px;
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
    font-size: clamp(1.7rem, 3vw, 2.2rem);
    line-height: 1.2;
    text-align: center;
}

.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
    display: none;
}

.woocommerce-cart .wc-block-checkout-empty__image,
.woocommerce-checkout .wc-block-checkout-empty__image {
    display: none !important;
}

.woocommerce-cart .wc-block-checkout-empty__title,
.woocommerce-checkout .wc-block-checkout-empty__title {
    display: block;
    margin: 0 0 12px;
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
    font-size: clamp(1.6rem, 3vw, 2rem);
    text-align: center;
}

.woocommerce-cart .wc-block-checkout-empty__description,
.woocommerce-checkout .wc-block-checkout-empty__description {
    max-width: 560px;
    margin: 0 auto 18px;
    color: var(--stilo-muted);
    line-height: 1.65;
    text-align: center;
}

.woocommerce-cart .wc-block-cart__empty-cart .wp-block-heading {
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    width: min(var(--stilo-max-width), 100%);
    margin: 0 auto;
    padding: clamp(24px, 4vw, 48px);
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 20px;
    box-shadow: 0 16px 40px rgba(74, 71, 68, .06);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-spacer {
    display: none;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading.wc-block-cart__empty-cart__title {
    margin: 0 auto 12px;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-buttons {
    margin: 0 auto 34px;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button {
    width: auto;
    max-width: none;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-buttons .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 190px;
    min-height: 48px;
    padding: 12px 24px;
    overflow: visible;
    color: var(--stilo-action-ink);
    background: var(--stilo-action);
    border: 0;
    border-radius: 12px;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(200, 138, 117, .16);
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-buttons .wp-block-button__link:hover {
    color: var(--stilo-action-ink);
    background: var(--stilo-action-hover);
    transform: translateY(-1px);
    box-shadow: 0 11px 22px rgba(200, 138, 117, .2);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) {
    margin: 0 0 22px;
    padding-top: 28px;
    border-top: 1px solid var(--stilo-line);
    font-family: var(--stilo-body-font);
    font-size: clamp(1.45rem, 2.5vw, 1.85rem);
    font-weight: 700;
    text-align: left;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product-template,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post {
    display: flex !important;
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    flex-direction: column;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 15px;
    box-shadow: 0 7px 20px rgba(74, 71, 68, .05);
    text-align: left !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product:hover,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 28px rgba(74, 71, 68, .1);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-image,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post-featured-image {
    display: block;
    width: 100%;
    margin: 0 !important;
    overflow: hidden;
    background: var(--stilo-cream);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-image img,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post-featured-image img {
    display: block;
    width: 100% !important;
    aspect-ratio: 1 / 1;
    margin: 0 !important;
    object-fit: cover;
    transition: transform .3s ease;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover img,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product:hover img,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post:hover img {
    transform: scale(1.035);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post-title {
    width: 100%;
    margin: 0 !important;
    padding: 14px 14px 6px !important;
    color: var(--stilo-ink);
    font-family: var(--stilo-body-font);
    font-size: .88rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    overflow-wrap: break-word;
    word-break: normal;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-price {
    margin: 0 !important;
    padding: 0 14px 14px !important;
    color: var(--stilo-pink-dark);
    font-size: .96rem;
    font-weight: 700;
    text-align: left;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button {
    margin-top: auto;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product .wp-block-button__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 24px);
    min-width: 0;
    min-height: 44px;
    margin: 0 12px 12px;
    padding: 9px 12px;
    color: var(--stilo-action-ink);
    background: var(--stilo-action);
    border: 0;
    border-radius: 9px;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a:hover,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product .wp-block-button__link:hover {
    color: var(--stilo-action-ink);
    background: var(--stilo-action-hover);
}

@media (max-width: 860px) {
    .woocommerce-cart .wp-block-woocommerce-cart {
        width: calc(100% - 24px);
    }

    .woocommerce-cart .wc-block-cart {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .woocommerce-cart .wc-block-cart__sidebar {
        position: static;
    }

    .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
    .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product-template,
    .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post-template {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce-cart .wp-block-woocommerce-empty-cart-block {
        padding: 20px 14px;
        border-radius: 15px;
    }

    .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
    .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product-template,
    .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post-template {
        gap: 10px !important;
    }

    .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
    .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post-title {
        padding: 10px 10px 5px !important;
        font-size: .78rem;
    }

    .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price,
    .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-price {
        padding: 0 10px 10px !important;
        font-size: .86rem;
    }

    .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a,
    .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product .wp-block-button__link {
        width: calc(100% - 16px);
        min-height: 38px;
        margin: 0 8px 8px;
        padding: 8px 6px;
        font-size: .72rem;
    }
}

/* Mini carrinho lateral do Side Cart WooCommerce (Xootix). */
.xoo-wsc-basket,
#xoo-wsc-basket,
.xoo-wsc-basket-trigger {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.xoo-wsc-container {
    color: var(--stilo-ink);
    font-family: inherit;
    background: var(--stilo-cream);
}

.xoo-wsc-modal [data-stilo-keyboard-control="true"]:focus-visible {
    outline: 3px solid rgba(200, 138, 117, .7);
    outline-offset: 3px;
}

.xoo-wsc-header {
    min-height: 72px;
    padding: 16px 20px !important;
    background: #fff !important;
    color: var(--stilo-ink) !important;
    border-bottom: 1px solid var(--stilo-line);
}

.xoo-wsc-header .xoo-wsc-ctxt {
    color: var(--stilo-ink);
    font-size: 1.2rem;
    font-weight: 700;
}

.xoo-wsc-header .xoo-wsc-cart-icon,
.xoo-wsc-header .xoo-wsc-icon {
    display: none !important;
}

.xoo-wsc-header .xoo-wsch-basket {
    display: none !important;
}

.xoo-wsc-header .xoo-wsc-sc-count,
.xoo-wsc-header .xoo-wsc-cart-count,
.xoo-wsc-header .xoo-wsc-count {
    color: var(--stilo-ink) !important;
    background: var(--stilo-rose) !important;
}

.xoo-wsc-header .xoo-wsch-close {
    color: var(--stilo-ink) !important;
}

.xoo-wsc-header .xoo-wsch-close:hover {
    color: var(--stilo-pink-dark) !important;
}

.xoo-wsc-body {
    padding: 12px !important;
    background: var(--stilo-cream);
}

.xoo-wsc-product {
    display: flex !important;
    align-items: center;
    gap: 14px;
    margin: 0 0 10px !important;
    padding: 14px !important;
    background: #fff !important;
    border: 1px solid var(--stilo-line) !important;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(38, 51, 68, 0.04);
}

.xoo-wsc-product .xoo-wsc-img-col {
    flex: 0 0 96px;
    width: 96px;
    margin: 0 !important;
}

.xoo-wsc-product .xoo-wsc-img-col img {
    width: 96px;
    aspect-ratio: 1;
    border-radius: 10px;
    object-fit: cover;
}

.xoo-wsc-product .xoo-wsc-sum-col {
    flex: 1 1 auto;
    min-width: 0;
}

.xoo-wsc-product .xoo-wsc-product-title {
    color: var(--stilo-ink) !important;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
}

.xoo-wsc-product .xoo-wsc-product-price,
.xoo-wsc-product .xoo-wsc-pprice {
    color: var(--stilo-blue-strong) !important;
    font-weight: 700;
}

.xoo-wsc-product .xoo-wsc-qty-box {
    display: inline-flex;
    align-items: center;
    overflow: hidden;
    border: 1px solid var(--stilo-line);
    border-radius: 8px;
}

.xoo-wsc-product .xoo-wsc-qty,
.xoo-wsc-product .xoo-wsc-qty-plus,
.xoo-wsc-product .xoo-wsc-qty-minus {
    min-width: 32px;
    min-height: 34px;
    color: var(--stilo-ink) !important;
    background: #fff !important;
    border: 0 !important;
}

.xoo-wsc-footer {
    padding: 16px 18px 20px !important;
    background: #fff !important;
    border-top: 1px solid var(--stilo-line);
    box-shadow: 0 -5px 16px rgba(38, 51, 68, 0.06);
}

.xoo-wsc-footer .xoo-wsc-ft-amt,
.xoo-wsc-footer .xoo-wsc-subtotal {
    color: var(--stilo-ink);
    font-weight: 700;
}

.xoo-wsc-ft-buttons-cont {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 12px;
    color: var(--stilo-action-ink) !important;
    background: var(--stilo-action) !important;
    border: 0 !important;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 700;
    text-align: center;
}

.xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn.xoo-wsc-btn-checkout {
    grid-column: 1 / -1;
    background: var(--stilo-action-hover) !important;
    color: var(--stilo-action-ink) !important;
}

.xoo-wsc-empty-cart {
    position: relative;
    display: flex;
    box-sizing: border-box;
    min-height: max(540px, calc(100vh - 150px));
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
    background: #fff;
    color: var(--stilo-ink);
    text-align: center;
}

.xoo-wsc-empty-cart > * {
    position: relative;
    z-index: 1;
}

.xoo-wsc-empty-cart img,
.xoo-wsc-empty-cart svg {
    display: none !important;
}

.xoo-wsc-empty-cart p {
    margin: 0;
    color: var(--stilo-ink);
    font-size: 1.12rem;
    font-weight: 600;
}

.xoo-wsc-info-cont {
    display: none !important;
}

.xoo-wsc-empty-cart .xoo-wsc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    margin-top: 24px;
    padding: 0 24px;
    color: var(--stilo-action-ink) !important;
    background: var(--stilo-action) !important;
    border: 1px solid var(--stilo-action) !important;
    border-radius: 10px;
    font-weight: 700;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.xoo-wsc-empty-cart .xoo-wsc-btn:hover,
.xoo-wsc-empty-cart .xoo-wsc-btn:focus-visible {
    background: var(--stilo-action-hover) !important;
    border-color: var(--stilo-action-hover) !important;
    color: var(--stilo-action-ink) !important;
    transform: translateY(-1px);
}

.xoo-wsc-container.stilo-cart-is-empty .xoo-wsc-footer {
    display: none !important;
}

.xoo-wsc-container.stilo-cart-is-empty,
.xoo-wsc-container.stilo-cart-is-empty .xoo-wsc-body,
.xoo-wsc-container.stilo-cart-is-empty .xoo-wsc-empty-cart {
    background: #fff !important;
}

@media (max-width: 480px) {
    .xoo-wsc-empty-cart {
        min-height: max(470px, calc(100vh - 140px));
        padding: 36px 18px;
    }

    .xoo-wsc-empty-cart p {
        font-size: 1.04rem;
    }
}

.xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn:hover {
    filter: brightness(0.96);
}

.woocommerce-checkout #payment {
    margin-top: 18px;
    padding: 18px;
    border-radius: 12px;
    background: rgba(169, 196, 212, 0.08);
    border: 1px solid var(--stilo-line);
}

.woocommerce-checkout #payment .payment_methods img {
    display: inline-block;
    max-width: 64px;
    max-height: 30px;
    margin: 0 0 0 8px;
    object-fit: contain;
    vertical-align: middle;
}

.woocommerce-checkout #place_order {
    width: 100%;
    min-height: 54px;
    margin-top: 16px;
    font-size: 1rem;
}

.woocommerce-checkout.stilo-wallet-payment-selected #place_order,
.woocommerce-checkout.stilo-wallet-payment-selected .wc-block-components-checkout-place-order-button,
body.stilo-wallet-payment-selected #place_order,
body.stilo-wallet-payment-selected .wc-block-components-checkout-place-order-button,
.woocommerce-checkout:has(input[name="payment_method"][value="stripe_applepay"]:checked) #place_order,
.woocommerce-checkout:has(input[name="payment_method"][value="stripe_googlepay"]:checked) #place_order,
.woocommerce-checkout:has(input[name="radio-control-wc-payment-method-options"][value="stripe_applepay"]:checked) .wc-block-components-checkout-place-order-button,
.woocommerce-checkout:has(input[name="radio-control-wc-payment-method-options"][value="stripe_googlepay"]:checked) .wc-block-components-checkout-place-order-button {
    display: none !important;
}

@media (min-width: 980px) {
    .woocommerce-cart .woocommerce .woocommerce-cart-form,
    .woocommerce-cart .woocommerce .cart-collaterals {
        display: grid;
        grid-template-columns: minmax(0, 1.7fr) minmax(310px, 0.9fr);
        gap: 28px;
        align-items: start;
    }

    .woocommerce-cart .woocommerce .cart-collaterals {
        grid-column: 2;
        grid-row: 1;
    }

    .woocommerce-cart .woocommerce .woocommerce-cart-form {
        grid-column: 1;
        grid-row: 1;
    }
}

@media (max-width: 860px) {
    .stilo-cart-progress {
        justify-content: flex-start;
        gap: 8px;
        border-radius: 18px;
        font-size: 0.68rem;
    }

    .stilo-cart-progress__divider {
        width: 8px;
    }

    .woocommerce-cart .woocommerce {
        width: min(var(--stilo-max-width), calc(100% - 24px));
        margin-top: 20px;
    }

    .woocommerce table.shop_table th,
    .woocommerce table.shop_table td {
        padding: 12px 10px;
    }

    .woocommerce-cart-form .product-thumbnail {
        width: 76px;
    }

    .woocommerce-cart-form .product-thumbnail img {
        width: 70px;
        height: 70px;
    }

    .woocommerce-cart-form .coupon {
        flex-direction: column;
        align-items: stretch;
    }

    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
        min-height: 52px;
    }
}

/* Conta do cliente */
.woocommerce-account .woocommerce {
    width: min(var(--stilo-max-width), calc(100% - 40px));
    margin: 50px auto 80px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 12px;
    background: var(--stilo-rose);
    border: 1px solid var(--stilo-line);
    border-radius: 14px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 12px 14px;
    color: var(--stilo-ink);
    border-radius: 8px;
    font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    color: var(--stilo-ink);
    background: var(--stilo-button-soft-hover);
}

.woocommerce-account .woocommerce-MyAccount-content {
    padding: 4px 0 0;
}

.woocommerce-account .woocommerce-MyAccount-content > p,
.woocommerce-account .woocommerce-MyAccount-content > form,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-orders-table {
    padding: 24px;
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 14px;
}

.stilo-profile-photo {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0 0 26px;
    padding: 18px;
    background: var(--stilo-rose);
    border-radius: 12px;
}

.stilo-profile-photo .avatar {
    width: 80px;
    height: 80px;
    border: 3px solid #fff;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 5px 18px rgba(57, 35, 49, .12);
}

.stilo-profile-photo label,
.stilo-profile-photo small {
    display: block;
}

.stilo-profile-photo label {
    margin-bottom: 7px;
    font-weight: 700;
}

.stilo-profile-photo small {
    margin-top: 7px;
    color: var(--stilo-muted);
}

.stilo-password-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 22px 0;
    padding: 22px;
    background: var(--stilo-rose);
    border: 1px solid #f0d8e4;
    border-radius: 12px;
}

.stilo-password-card h2 {
    margin: 0 0 5px;
    font-size: 1.12rem;
}

.stilo-password-card p {
    margin: 0;
    color: var(--stilo-muted);
}

@media (max-width: 767px) {
    .hero-slide-cta {
        outline-width: 1px;
    }

    .shop-toolbar,
    .stilo-password-card {
        align-items: stretch;
        flex-direction: column;
    }

    .stilo-product-page {
        padding: 28px 0 54px;
    }

    .stilo-product-page div.product {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .stilo-product-page .woocommerce-tabs,
    .woocommerce-cart-form,
    .cart-collaterals .cart_totals,
    .woocommerce-checkout-review-order,
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields {
        padding: 18px;
    }

    .stilo-product-page form.cart {
        flex-wrap: wrap;
    }

    .stilo-product-page .single_add_to_cart_button {
        width: 100%;
    }

    .stilo-product-features {
        gap: 6px;
    }

    .stilo-product-page .related.products > .products,
    .stilo-product-page .upsells.products > .products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        float: none;
        width: 100%;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: 20px;
    }

    .stilo-profile-photo {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 900px) {
    .stilo-product-page .woocommerce-breadcrumb,
    .stilo-product-page div.product {
        width: min(720px, calc(100% - 40px));
    }

    @media (min-width: 768px) and (max-width: 1100px) {
        .stilo-product-page .related.products > .products,
        .stilo-product-page .upsells.products > .products {
            grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        }
    }

    .stilo-product-page div.product {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
}


/* =====================================================
16. RESPONSIVIDADE — TABLET
===================================================== */

@media (max-width: 1000px) {

    .main-navigation ul {
        gap:
            16px;
    }

    .main-navigation a {
        font-size:
            .9rem;
    }

    .stilo-featured-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap:
            20px;
    }

    .benefits-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 701px) and (max-width: 900px) {
    .main-navigation .stilo-category-menu {
        flex-wrap: wrap;
    }

    .main-navigation .stilo-category-menu > li > a {
        padding-right: 12px;
        padding-left: 12px;
    }
}


/* =====================================================
17. RESPONSIVIDADE — MOBILE
===================================================== */

@media (max-width: 700px) {

    .container {
        width:
            calc(100% - 30px);
    }

    /* HEADER */

    .site-header {
        position:
            relative;
    }

    .header-main {
        min-height:
            68px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            space-between;

        gap:
            12px;
    }

    .site-logo {
        flex:
            1;

        min-width:
            0;
    }

    .site-logo a,
    .site-logo .custom-logo-link {
        max-width:
            130px;
    }

    .site-logo img,
    .site-logo .custom-logo {
        max-width:
            125px;

        max-height:
            58px;
    }

    .menu-toggle {
        display:
            inline-flex;

        flex:
            0 0 auto;

        order:
            2;
    }

    .header-actions {
        flex:
            0 0 auto;

        gap:
            6px;

        order:
            3;
    }

        /* =================================================
       NAVEGAÇÃO MOBILE
       ================================================= */

    .category-navigation-wrap {
        position: relative;

        z-index: 9999;

        border-top: 0;

        box-shadow:
            0 12px 28px
            rgba(38, 51, 68, .12);
    }

    .main-navigation {
        display: none;

        width: 100%;

        padding: 18px 20px;

        background: #ffffff;
    }

    .main-navigation.is-open {
        display: block;
    }

    .main-navigation .stilo-category-menu {
        display: flex;

        flex-direction: column;

        align-items: stretch;

        gap: 0;

        width: 100%;

        margin: 0;
        padding: 0;

        list-style: none;
    }

    .main-navigation
    .stilo-category-menu
    > li {
        width: 100%;

        border-bottom:
            1px solid var(--stilo-line);
    }

    .main-navigation
    .stilo-category-menu
    > li:last-child {
        border-bottom: 0;
    }

    .main-navigation
    .stilo-category-menu
    > li
    > a {
        justify-content: space-between;

        min-height: 48px;

        padding: 0 4px;

        font-size: .95rem;
    }

    .main-navigation
    .stilo-category-menu
    > li
    > a::after {
        display: none;
    }

    /* SUBMENUS NO MOBILE */

    .main-navigation
    .stilo-category-menu
    .sub-menu {
        position: static;

        width: 100%;

        min-width: 0;

        margin: 0;
        padding: 0 0 8px;

        border: 0;

        border-radius: 0;

        box-shadow: none;

        background: transparent;

        opacity: 1;

        visibility: visible;

        pointer-events: auto;

        transform: none;
    }

    .main-navigation
    .stilo-category-menu
    .sub-menu
    li
    a {
        min-height: 38px;

        padding: 7px 12px;

        font-size: .86rem;

        color: var(--stilo-muted);
    }

    .main-navigation
    .stilo-category-menu
    .sub-menu
    .sub-menu {
        position: static;

        padding-left: 12px;
    }

    /* HERO */

    .hero {
        min-height:
            500px;
    }

    /* PRODUTOS */

    .section {
        padding:
            60px 0;
    }

    .section-heading {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            12px;
    }

    .stilo-featured-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            16px;
    }

    .stilo-product-content {
        padding:
            14px;
    }

    .stilo-product-title {
        min-height:
            42px;

        font-size:
            .9rem;
    }

    .stilo-product-price {
        font-size:
            1rem;
    }


    /* BENEFÍCIOS */

    .benefits-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    /* RODAPÉ */

    .footer-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            30px;
    }
}


/* =====================================================
18. MOBILE PEQUENO
===================================================== */

@media (max-width: 480px) {

    .container {
        width:
            calc(100% - 28px);
    }

    .stilo-featured-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            12px;
    }

    .stilo-product-card {
        border-radius:
            12px;
    }

    .stilo-product-content {
        padding:
            11px;
    }

    .stilo-product-title {
        min-height:
            44px;

        font-size:
            .82rem;
    }

    .stilo-product-price {
        margin-bottom:
            11px;

        font-size:
            .92rem;
    }

    .stilo-product-button {
        min-height:
            40px;

        padding:
            8px;

        font-size:
            .78rem;
    }

    .stilo-product-badge {
        top:
            8px;

        left:
            8px;

        padding:
            5px 7px;

        font-size:
            .65rem;
    }

    .benefits-grid {
        grid-template-columns:
            1fr;
    }

    .footer-grid {
        grid-template-columns:
            1fr;
    }

    .hero {
        min-height:
            460px;
    }

    .hero h1 {
        font-size:
            2.5rem;
    }

    .brand-callout {
        padding:
            60px 0;
    }


    /* ÁREA DO CLIENTE */

    .stilo-account-page {
        min-height:
            650px;

        padding:
            45px 15px 65px;
    }

    .stilo-account-shell {
        max-width:
            100%;
    }

    .stilo-account-panel {
        padding:
            26px 20px;

        border-radius:
            14px;
    }

    .stilo-account-heading h1 {
        font-size:
            2rem;
    }

    .stilo-form-options {
        align-items:
            flex-start !important;

        flex-direction:
            column !important;
    }

    .stilo-form-options a {
        align-self:
            flex-start;
    }

    .stilo-google-login {
        width:
            100%;
    }
}

/* =====================================================
   ACESSIBILIDADE E MOVIMENTO
===================================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(200, 138, 117, .55) !important;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
/* =========================================================
   STILO FASHION — TESTE DEFINITIVO DA VITRINE
========================================================= */

ul.products {
    display: grid !important;

    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

    gap: 24px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

ul.products::before,
ul.products::after {
    content: none !important;
    display: none !important;
}


/* CARD */

ul.products li.product {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;

    width: auto !important;
    max-width: none !important;

    float: none !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;

    border: 1px solid #eadde5 !important;

    border-radius: 16px !important;

    overflow: hidden !important;

    box-shadow:
        0 6px 20px rgba(38, 51, 68, .07) !important;

    transition:
        transform .25s ease,
        box-shadow .25s ease !important;
}


/* HOVER */

ul.products li.product:hover {
    transform: translateY(-5px) !important;

    box-shadow:
        0 16px 34px rgba(38, 51, 68, .13) !important;
}


/* IMAGEM */

ul.products li.product img {
    display: block !important;

    width: 100% !important;

    max-width: none !important;

    height: auto !important;

    aspect-ratio: 1 / 1 !important;

    object-fit: cover !important;

    margin: 0 !important;

    padding: 0 !important;

    transition:
        transform .4s ease !important;
}


/* ZOOM */

ul.products li.product:hover img {
    transform: scale(1.035) !important;
}


/* TITULO */

ul.products li.product .woocommerce-loop-product__title {
    margin: 0 !important;

    padding: 16px 16px 6px !important;

    min-height: 52px !important;

    color: #263344 !important;

    font-family: var(--stilo-body-font) !important;

    font-size: .96rem !important;

    font-weight: 600 !important;

    letter-spacing: 0 !important;

    line-height: 1.4 !important;
}


/* PREÇO */

ul.products li.product .price {
    display: block !important;

    margin: 0 !important;

    padding: 0 16px 14px !important;

    color: var(--stilo-blue-strong) !important;

    font-size: 1.08rem !important;

    font-weight: 700 !important;
}


/* BOTÃO */

ul.products li.product .button {
    display: flex !important;

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

    width: calc(100% - 32px) !important;

    min-height: 44px !important;

    margin: auto 16px 16px !important;

    padding: 10px 14px !important;

    background: var(--stilo-button-soft) !important;

    color: var(--stilo-ink) !important;

    border: 0 !important;

    border-radius: 9px !important;

    font-size: .86rem !important;

    font-weight: 700 !important;

    text-align: center !important;

    text-decoration: none !important;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease !important;
}

/* =====================================================
   POLIMENTOS DE EXPERIÊNCIA — HOME, GALERIA E RODAPÉ
===================================================== */

/* A Home acompanha a rolagem; as páginas de catálogo mantêm a navegação fixa. */
body.home .site-header {
    position: sticky;
    top: 0;
}

body.single-product .site-header {
    position: static;
}

.site-header {
    top: 0;
}

/* Usa a mesma família visual do título “Produtos em destaque”. */
.brand-callout h2 {
    font-family: var(--stilo-heading-font);
    font-size: clamp(2rem, 3.1vw, 2.75rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.12;
}

/* Benefícios compactos e equilibrados. */
.benefits {
    background: linear-gradient(135deg, #FBF8F4 0%, #F0EAE3 100%);
}

.benefits-grid {
    gap: 16px;
    padding: 22px 0;
}

.benefits article {
    padding: 4px 0 4px 14px;
}

/* Mantém a navegação da galeria sem aplicar zoom CSS sobre as imagens. */
.stilo-product-page div.product .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
    gap: 14px;
    clear: both;
    margin: 24px 0 0 !important;
    padding: 0;
}

.stilo-product-page div.product .flex-control-thumbs li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.stilo-product-page div.product .flex-control-thumbs img {
    display: block;
    width: 100%;
    border: 1px solid transparent;
    border-radius: 10px;
    opacity: 1;
    transition: border-color .2s ease, transform .2s ease;
}

.stilo-product-page div.product .flex-control-thumbs img:hover,
.stilo-product-page div.product .flex-control-thumbs img.flex-active {
    border-color: var(--stilo-pink-dark);
    transform: translateY(-2px);
}

/* Lightbox com fundo suavizado e imagem ampliada sem cortar a proporção original. */
body.single-product .pswp__bg {
    background: rgba(40, 36, 32, .42) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

body.single-product .pswp__img[style*="display: block"] {
    border-radius: 18px;
    transform: scale(1.2);
}

@media (max-width: 600px) {
    body.single-product .pswp__img[style*="display: block"] {
        transform: scale(1.08);
    }
}

/* Rodapé focado em descoberta, atendimento e confiança. */
.site-footer {
    margin-top: 72px;
    background: var(--stilo-beige);
    color: var(--stilo-ink);
}

.footer-grid {
    grid-template-columns: 1.45fr 1.7fr 1fr 1fr;
    gap: clamp(28px, 4vw, 58px);
    padding: 64px 0 54px;
}

.footer-grid h2 {
    margin: 0 0 14px;
    color: var(--stilo-ink);
    font-size: 1rem;
    font-weight: 750;
    letter-spacing: 0;
}

.footer-grid p,
.footer-grid li {
    color: var(--stilo-muted);
    font-size: .9rem;
    line-height: 1.65;
}

.footer-grid p {
    margin: 0;
}

.footer-brand h2 {
    max-width: 260px;
    font-size: clamp(1.55rem, 2.2vw, 2rem);
    line-height: 1.08;
}

.footer-kicker {
    margin-bottom: 10px !important;
    color: var(--stilo-accent) !important;
    font-size: .72rem !important;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.footer-whatsapp {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    margin-top: 22px;
    padding: 0 16px;
    color: var(--stilo-action-ink);
    font-size: .86rem;
    font-weight: 750;
    text-decoration: none;
    background: var(--stilo-action);
    border-radius: 999px;
    transition: background .2s ease, transform .2s ease;
}

.footer-whatsapp:hover {
    color: var(--stilo-action-ink);
    background: var(--stilo-action-hover);
    transform: translateY(-2px);
}

.footer-catalog > p {
    margin-bottom: 14px;
}

.footer-category-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.footer-category-links a {
    padding: 7px 10px;
    color: var(--stilo-ink);
    font-size: .78rem;
    font-weight: 650;
    line-height: 1.2;
    text-decoration: none;
    border: 1px solid var(--stilo-line);
    border-radius: 999px;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.footer-category-links a:hover {
    color: var(--stilo-ink);
    background: var(--stilo-button-soft-hover);
    border-color: var(--stilo-line);
}

.footer-contact a,
.footer-institutional a {
    color: inherit;
    text-decoration: none;
}

.footer-contact a:hover,
.footer-institutional a:hover {
    color: var(--stilo-accent);
}

.footer-institutional .footer-policy-link {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.footer-institutional a:focus-visible {
    outline: 2px solid var(--stilo-accent);
    outline-offset: 3px;
}

.footer-bottom {
    padding: 18px 0;
    color: var(--stilo-muted);
}

.footer-bottom .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 20px;
}

@media (max-width: 700px) {
    .site-header {
        position: sticky;
        top: 0;
    }

    body.home .site-header {
        position: sticky;
        top: 0;
    }

    body.single-product .site-header {
        position: static;
    }

    .header-main {
        gap: 8px;
    }

    .site-logo {
        flex: 0 1 auto;
        order: 1;
    }

    .site-logo a,
    .site-logo .custom-logo-link {
        max-width: 92px;
    }

    .site-logo img,
    .site-logo .custom-logo {
        max-width: 88px;
        max-height: 48px;
    }

    .header-search {
        flex: 0 0 46px;
        order: 2;
        width: 46px;
    }

    .header-search form {
        width: 46px;
    }

    .header-search input[type="search"] {
        display: none;
    }

    .header-search button {
        position: static;
        width: 44px;
        height: 44px;
    }

    .header-search.is-open {
        position: absolute;
        top: 10px;
        left: 0;
        z-index: 5;
        width: 100%;
    }

    .header-search.is-open form {
        width: 100%;
    }

    .header-search.is-open input[type="search"] {
        display: block;
    }

    .header-search.is-open button {
        position: absolute;
    }

    .menu-toggle {
        order: 3;
    }

    .header-actions {
        gap: 0;
        order: 4;
    }

    .header-actions a {
        min-height: 44px;
        padding: 0 6px;
    }

    .header-account-dropdown {
        display: none;
    }

    .header-action-label {
        display: none;
    }

    .benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 14px 0;
    }

    .benefits article {
        min-height: 76px;
        padding: 10px 0 10px 11px;
    }

    .benefits article strong {
        font-size: .92rem;
    }

    .benefits article span {
        font-size: .78rem;
        line-height: 1.35;
    }

    .footer-grid {
        grid-template-columns: 1.2fr 1fr;
        gap: 34px 24px;
        padding: 46px 0 40px;
    }
}

@media (max-width: 480px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-brand h2 {
        max-width: none;
    }

    .footer-bottom .container {
        justify-content: flex-start;
    }
}

@media (max-width: 360px) {
    .benefits-grid {
        grid-template-columns: 1fr;
    }
}

/* Páginas institucionais e avaliações externas. */
.stilo-about-hero {
    padding: 74px 0 68px;
    background: linear-gradient(125deg, #fff8f4 0%, #f6e5e0 100%);
    border-bottom: 1px solid var(--stilo-line);
}

.stilo-about-hero h1 {
    max-width: 760px;
    margin: 0 0 16px;
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
    font-size: clamp(2.25rem, 5vw, 3.5rem);
    letter-spacing: 0;
    line-height: 1.08;
}

.stilo-about-hero .container > p:last-child {
    max-width: 650px;
    margin: 0;
    color: var(--stilo-muted);
    font-size: 1.08rem;
}

.stilo-about-story-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(240px, .8fr);
    align-items: center;
    gap: 56px;
}

.stilo-about-story h2,
.stilo-about-values h2 {
    margin: 0 0 18px;
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    letter-spacing: 0;
    line-height: 1.15;
}

.stilo-about-story p:not(.eyebrow) {
    max-width: 690px;
    color: var(--stilo-muted);
    line-height: 1.75;
}

.stilo-about-editor-content > :first-child {
    margin-top: 0;
}

.stilo-about-editor-content > :last-child {
    margin-bottom: 0;
}

.stilo-about-note {
    padding: 26px;
    background: var(--stilo-rose);
    border: 1px solid var(--stilo-line);
    border-left: 3px solid var(--stilo-pink-dark);
    border-radius: 8px;
}

.stilo-about-note > span {
    color: var(--stilo-pink-dark);
    font-size: 1.8rem;
}

.stilo-about-note p {
    margin: 8px 0 0;
    color: var(--stilo-muted);
}

.stilo-about-note strong {
    color: var(--stilo-ink);
}

.stilo-about-values {
    padding: 68px 0;
    background: var(--stilo-rose);
    border-top: 1px solid var(--stilo-line);
    border-bottom: 1px solid var(--stilo-line);
}

.stilo-about-values-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 32px;
}

.stilo-about-values-grid article {
    padding: 22px 0 0;
    border-top: 2px solid var(--stilo-pink-dark);
}

.stilo-about-values-grid h3 {
    margin: 0 0 8px;
    color: var(--stilo-ink);
    font-size: 1.08rem;
}

.stilo-about-values-grid p {
    margin: 0;
    color: var(--stilo-muted);
    line-height: 1.65;
}

.stilo-google-reviews-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.stilo-google-reviews-heading h2 {
    margin: 0;
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
    font-size: clamp(1.7rem, 3vw, 2.3rem);
    letter-spacing: 0;
}

.stilo-google-rating {
    margin: 0;
    color: var(--stilo-ink);
    font-size: 1.25rem;
    font-weight: 700;
    text-align: right;
}

.stilo-google-rating > span span,
.stilo-google-review-stars {
    color: var(--stilo-pink-dark);
}

.stilo-google-rating small {
    display: block;
    color: var(--stilo-muted);
    font-size: .78rem;
    font-weight: 400;
}

.stilo-google-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.stilo-google-review {
    min-width: 0;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 8px;
}

.stilo-google-review-stars {
    margin: 0 0 10px;
    letter-spacing: .08em;
}

.stilo-google-review blockquote {
    margin: 0 0 16px;
    color: var(--stilo-muted);
    line-height: 1.6;
}

.stilo-google-review-author {
    margin: 0;
    color: var(--stilo-ink);
    font-size: .88rem;
    font-weight: 700;
}

.stilo-google-reviews-note {
    color: var(--stilo-muted);
}

.stilo-google-reviews-link {
    margin-top: 22px;
}

.stilo-google-attribution {
    margin: 12px 0 0;
    color: var(--stilo-muted);
    font-size: .78rem;
}

.stilo-google-review-author a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 700px) {
    .stilo-about-hero {
        padding: 54px 0;
    }

    .stilo-about-story-grid,
    .stilo-about-values-grid,
    .stilo-google-review-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .stilo-about-story-grid {
        gap: 28px;
    }

    .stilo-about-values {
        padding: 52px 0;
    }

    .stilo-google-reviews-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .stilo-google-rating {
        text-align: left;
    }
}


/* HOVER BOTÃO */

ul.products li.product .button:hover {
    background: var(--stilo-button-soft-hover) !important;

    color: var(--stilo-ink) !important;

    transform: translateY(-1px) !important;

    box-shadow:
        0 7px 18px rgba(200, 138, 117, .16) !important;
}


/* SELO */

ul.products li.product .onsale {
    position: absolute !important;

    top: 12px !important;
    left: 12px !important;

    z-index: 5 !important;

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

    margin: 0 !important;

    padding: 6px 9px !important;

    background: var(--stilo-action) !important;

    color: var(--stilo-action-ink) !important;

    border-radius: 7px !important;

    font-size: .72rem !important;

    font-weight: 700 !important;

    line-height: 1 !important;
}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 1000px) {

    ul.products {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;

        gap: 20px !important;
    }

}


/* =========================================================
CELULAR
========================================================= */

@media (max-width: 700px) {

    ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 16px !important;
    }

}


/* =========================================================
CELULAR PEQUENO
========================================================= */

@media (max-width: 480px) {

    ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 12px !important;
    }

    ul.products li.product .woocommerce-loop-product__title {
        padding:
            11px 11px 4px !important;

        min-height:
            48px !important;

        font-size:
            .84rem !important;
    }

    ul.products li.product .price {
        padding:
            0 11px 10px !important;

        font-size:
            .94rem !important;
    }

    ul.products li.product .button {
        width:
            calc(100% - 22px) !important;

        min-height:
            40px !important;

        margin:
            auto 11px 11px !important;

        font-size:
            .78rem !important;
    }
}

/* Ajustes finais para navegação e conteúdo em telas móveis estreitas. */
@media (max-width: 1000px) {
    .stilo-collection-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .stilo-collection-card {
        min-height: 180px;
        padding: 18px;
        border-radius: 18px;
    }

    .stilo-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Alinhamento uniforme para rótulos de ações e botões da loja. */
.button,
a.button,
.woocommerce a.button,
.woocommerce button.button,
.stilo-product-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center !important;
    line-height: 1.3;
    vertical-align: middle;
}

.woocommerce input.button,
.woocommerce input[type="submit"] {
    text-align: center !important;
    line-height: 1.3;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    text-align: center;
}

.brand-callout .button {
    justify-content: center;
}

/* Área do cliente */
.woocommerce-account .woocommerce-MyAccount-navigation {
    float: left;
    width: 25%;
    padding: 18px 14px;
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(74, 71, 68, .05);
}

.woocommerce-account .woocommerce-MyAccount-navigation::before {
    display: block;
    margin: 2px 10px 12px;
    color: var(--stilo-muted);
    content: "SUA CONTA";
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    gap: 5px;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 10px 14px;
    color: var(--stilo-ink);
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: .9rem;
    line-height: 1.35;
    text-align: left;
    transition: color .18s ease, background .18s ease, border-color .18s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    color: #8f5949;
    background: #fbf2ef;
    border-color: #f0ded8;
}

.woocommerce-account .woocommerce-MyAccount-content {
    float: right;
    width: 71%;
    min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content a.button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce-MyAccount-content input.button,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"],
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button {
    box-sizing: border-box;
    min-height: 46px;
    padding: 10px 20px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    vertical-align: middle;
}

.woocommerce-account .woocommerce-MyAccount-content a.button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.woocommerce-account .woocommerce-MyAccount-content input.button,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
    height: auto;
}

.woocommerce-account .woocommerce-MyAccount-content > p,
.woocommerce-account .woocommerce-MyAccount-content > form,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-orders-table {
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(74, 71, 68, .04);
}

.stilo-account-overview {
    display: grid;
    gap: 22px;
    margin-top: 22px;
}

.stilo-account-overview__header {
    padding: clamp(22px, 4vw, 34px);
    background: linear-gradient(120deg, #fff 0%, #fbf0ed 100%);
    border: 1px solid #f0ded8;
    border-radius: 18px;
}

.stilo-account-eyebrow {
    display: block;
    margin-bottom: 7px;
    color: var(--stilo-pink-dark);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.stilo-account-overview__header h2,
.stilo-account-section-heading h3 {
    margin: 0;
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
}

.stilo-account-overview__header h2 {
    font-size: clamp(1.6rem, 3vw, 2rem);
}

.stilo-account-overview__header p {
    margin: 8px 0 0;
    color: var(--stilo-muted);
    line-height: 1.65;
}

.stilo-account-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.stilo-account-stat {
    display: grid;
    gap: 8px;
    padding: 20px 22px;
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 15px;
}

.stilo-account-stat span {
    color: var(--stilo-muted);
    font-size: .83rem;
}

.stilo-account-stat strong {
    color: var(--stilo-ink);
    font-size: 1.45rem;
}

.stilo-account-shortcuts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.stilo-account-shortcuts a {
    position: relative;
    display: flex;
    min-height: 112px;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    padding: 18px 38px 18px 18px;
    color: var(--stilo-ink);
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 15px;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.stilo-account-shortcuts a:hover {
    transform: translateY(-2px);
    border-color: rgba(200, 138, 117, .45);
    box-shadow: 0 10px 25px rgba(74, 71, 68, .07);
}

.stilo-account-shortcuts strong {
    font-size: .91rem;
}

.stilo-account-shortcuts a > span:not(.stilo-account-shortcut-arrow) {
    color: var(--stilo-muted);
    font-size: .76rem;
    line-height: 1.45;
}

.stilo-account-shortcut-arrow {
    position: absolute;
    top: 17px;
    right: 16px;
    color: var(--stilo-pink-dark);
    font-size: 1.1rem;
}

.stilo-account-recent-orders {
    padding: clamp(18px, 3vw, 26px);
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 17px;
}

.stilo-account-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.stilo-account-section-heading h3 {
    font-size: 1.35rem;
}

.stilo-account-section-heading > a {
    color: #9b604f;
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
}

.stilo-account-recent-orders ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.stilo-account-order {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 14px;
    padding: 15px 0;
    border-top: 1px solid var(--stilo-line);
}

.stilo-account-order__main {
    display: grid;
    gap: 5px;
}

.stilo-account-order__main > a {
    color: var(--stilo-ink);
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
}

.stilo-account-order__main > span {
    color: var(--stilo-muted);
    font-size: .76rem;
}

.stilo-order-status {
    padding: 6px 9px;
    color: #655b43;
    background: #f6f0df;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 700;
    white-space: nowrap;
}

.stilo-order-status--completed,
.stilo-order-status--processing {
    color: #276347;
    background: #e8f4ec;
}

.stilo-order-status--cancelled,
.stilo-order-status--failed {
    color: #8a4141;
    background: #faeaea;
}

.stilo-order-status--refunded {
    color: #5e6470;
    background: #eef0f3;
}

.stilo-account-order__view {
    color: #9b604f;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.stilo-account-no-orders {
    margin: 0;
    padding: 18px;
    color: var(--stilo-muted);
    background: var(--stilo-cream);
    border-radius: 12px;
    font-size: .88rem;
    line-height: 1.6;
}

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
    border-radius: 12px;
}

.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content > p:first-child {
    color: var(--stilo-muted);
    background: linear-gradient(120deg, #fff 0%, #fcf7f4 100%);
    border-color: rgba(200, 138, 117, .18);
    line-height: 1.65;
}

@media (max-width: 900px) {
    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 29%;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        width: 67%;
    }

    .stilo-account-shortcuts {
        grid-template-columns: 1fr;
    }

    .stilo-account-shortcuts a {
        min-height: 84px;
    }
}

@media (max-width: 767px) {
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        float: none;
        width: 100%;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 14px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocommerce-account .woocommerce-MyAccount-navigation a {
        height: 100%;
        padding: 11px 10px;
        font-size: .8rem;
    }

    .stilo-account-overview {
        gap: 16px;
        margin-top: 16px;
    }

    .stilo-account-order {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 9px;
    }

    .stilo-account-order__main {
        grid-column: 1 / -1;
    }
}

@media (max-width: 420px) {
    .stilo-account-stats {
        grid-template-columns: 1fr;
    }

    .stilo-account-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
}

@media (max-width: 700px) {
    .header-main {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto auto;
        gap: 6px;
        min-height: 68px;
    }

    .site-logo {
        flex: initial;
    }

    .site-logo a,
    .site-logo .custom-logo-link {
        max-width: 84px;
    }

    .site-logo img,
    .site-logo .custom-logo {
        max-width: 80px;
        max-height: 48px;
    }

    .header-search {
        flex: 0 0 44px;
        width: 44px;
    }

    .header-search form {
        width: 44px;
    }

    .header-search button {
        width: 44px;
        height: 44px;
    }

    .menu-toggle {
        width: 44px;
        height: 44px;
    }

    .header-actions {
        gap: 2px;
    }

    .header-actions a {
        width: 44px;
        min-height: 44px;
        padding: 0 4px;
    }

    .header-account-icon,
    .header-cart-icon {
        width: 20px !important;
        height: 20px !important;
    }

    .stilo-featured-grid {
        gap: 14px;
    }

    .stilo-product-content {
        padding: 12px;
    }

    .stilo-product-title {
        overflow-wrap: anywhere;
    }

    .stilo-trust-strip {
        padding-top: 12px;
    }

    .stilo-trust-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .stilo-trust-item {
        gap: 12px;
        padding: 14px;
        border-radius: 14px;
    }

    .section {
        padding: 48px 0;
    }

    .section-heading {
        gap: 10px;
        margin-bottom: 24px;
    }

    .section-heading h2 {
        font-size: clamp(1.55rem, 7vw, 2rem);
    }

    .stilo-collection-card strong {
        font-size: 1.08rem;
    }

    .stilo-collection-card small {
        font-size: .82rem;
        line-height: 1.45;
    }

    .brand-callout {
        padding: 46px 0;
    }

    .footer-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }
}

@media (max-width: 380px) {
    .stilo-collection-grid {
        gap: 10px;
    }

    .stilo-collection-card {
        min-height: 170px;
        padding: 14px;
    }

    .stilo-collection-tag {
        padding: 5px 8px;
        font-size: .64rem;
    }

    .stilo-collection-card strong {
        font-size: 1rem;
    }
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid var(--stilo-accent) !important;
    outline-offset: 3px;
}

.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .woocommerce-Addresses,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .col2-set {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch;
    gap: 18px;
    float: none !important;
    clear: both;
    box-sizing: border-box;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
}

.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .woocommerce-Addresses::after,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .col2-set::before,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .col2-set::after {
    display: none !important;
    content: none !important;
}

.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .woocommerce-Addresses > *,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .col2-set > * {
    display: block !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    max-width: none !important;
    margin: 0 !important;
    padding: 22px !important;
    background: #fff;
    border: 1px solid var(--stilo-line);
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(74, 71, 68, .05);
    text-align: left !important;
}

.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .woocommerce-Address-title,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .col2-set .title {
    display: block !important;
    margin: 0 !important;
    text-align: left !important;
}

.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .woocommerce-Address-title h3,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .col2-set h3 {
    margin: 0 0 16px !important;
    color: var(--stilo-ink);
    font-family: var(--stilo-heading-font);
    font-size: 1.35rem;
    line-height: 1.3;
    text-align: left !important;
}

.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .woocommerce-Address-title .edit {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 15px !important;
    color: #8f5949 !important;
    background: #fbf2ef !important;
    border: 1px solid #f0ded8 !important;
    border-radius: 10px;
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .woocommerce-Address address {
    margin: 16px 0 0 !important;
    padding-top: 14px;
    color: var(--stilo-muted);
    border-top: 1px solid var(--stilo-line);
    font-size: .92rem;
    font-style: normal;
    line-height: 1.7;
    text-align: left !important;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .woocommerce-Addresses,
    .woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .col2-set {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px;
    }
}
