@font-face {font-family:"AXION Home Montserrat";src:url("../fonts/montserrat-latin.woff2") format("woff2");font-style:normal;font-weight:400 600;font-display:optional;}
/* AXION Home 2.0.6.9 — componente isolado, dimensões prontas no primeiro frame. */
.axhc-home {
    --axhc-ink: #191919;
    --axhc-muted: #746f6c;
    --axhc-border: #e6e1de;
    --axhc-yellow: #ffde59;
    --axhc-green: #93a71d;
    --axhc-gap: 14px;
    display: block;
    width: 100%;
    max-width: 1440px;
    min-width: 0;
    margin: 0 auto;
    padding: 8px clamp(32px, 4.5vw, 64px) 22px;
    box-sizing: border-box;
    color: var(--axhc-ink);
    background: transparent;
    font-family: "AXION Home Montserrat", "Open Sans", Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    overflow: visible;
}
.axhc-home *, .axhc-home *::before, .axhc-home *::after { box-sizing: border-box; }
.axhc-home a { color: inherit; text-decoration: none; box-shadow: none; }
/* O título e as setas têm espaços independentes, definidos no PHP/CSS. */
.axhc-home .axhc-heading { display: block; margin: 0 0 18px; padding: 0; min-height: 34px; text-align: center; }
.axhc-home .axhc-heading-copy { width: 100%; min-width: 0; }
.axhc-home .axhc-heading-line { display: flex; justify-content: center; align-items: center; gap: 10px; min-width: 0; }
.axhc-home .axhc-heading-line::before, .axhc-home .axhc-heading-line::after { content: ""; flex: 1 1 0; min-width: 8px; height: 1px; background: var(--axhc-yellow); }
.axhc-home .axhc-heading h2 { flex: 0 1 auto; min-width: 0; max-width: calc(100% - 92px); margin: 0; padding: 0; color: var(--axhc-ink); font-family: "AXION Home Montserrat", "Montserrat", "Open Sans", Arial, sans-serif!important; font-size: 18px!important; font-weight: 500!important; line-height: 1.3!important; letter-spacing: 0!important; text-transform: none; white-space: normal; overflow-wrap: anywhere; text-wrap: balance; }
.axhc-home .axhc-heading p { color: var(--axhc-muted); font-size: 13px; font-weight: 400; line-height: 1.5; margin: 6px 0 0; text-align: center; }
.axhc-home .axhc-sunflower { flex: 0 0 18px; display: block; width: 18px; height: 20px; min-width: 18px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; object-fit: contain; box-shadow: none; filter: none; }
.axhc-home .axhc-carousel { position: relative; width: 100%; min-width: 0; }
.axhc-home .axhc-controls { position: absolute; inset: 0; pointer-events: none; visibility: hidden; }
.axhc-home[data-axhc-overflow="true"] .axhc-controls { visibility: visible; }
.axhc-home .axhc-nav { position: absolute; top: 50%; z-index: 2; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; width: 44px; height: 44px; min-height: 44px; padding: 0; margin: 0; border: 0; border-radius: 4px; background: rgba(239,242,244,.94); color: #b5bcc1; cursor: pointer; pointer-events: auto; touch-action: manipulation; -webkit-tap-highlight-color: transparent; user-select: none; -webkit-user-select: none; box-shadow: none; transform: translateY(-50%); transition: color .15s ease, background-color .15s ease; }
.axhc-home .axhc-nav[data-axhc-direction="prev"] { left: -22px; }
.axhc-home .axhc-nav[data-axhc-direction="next"] { right: -22px; }
.axhc-home .axhc-nav:disabled { visibility: hidden; pointer-events: none; }
.axhc-home .axhc-nav svg { display: block; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.axhc-home a:focus-visible, .axhc-home button:focus-visible { outline: 2px solid #687c15; outline-offset: 3px; }
.axhc-home button:focus:not(:focus-visible), .axhc-home a:focus:not(:focus-visible) { outline: none; }
.axhc-home .axhc-track { display: flex; flex-wrap: nowrap; align-items: stretch; width: 100%; min-width: 0; max-width: 100%; padding: 4px 1px 8px; margin: 0; list-style: none; gap: var(--axhc-gap); overflow-x: auto; overflow-y: hidden; scrollbar-width: none; scroll-behavior: auto; scroll-snap-type: x proximity; scroll-padding-inline: 1px; overflow-anchor: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.axhc-home[data-axhc-ready] .axhc-track { scroll-snap-type: x proximity; scroll-behavior: auto; }
.axhc-home[data-axhc-ready] .axhc-product-image { user-select: none; -webkit-user-select: none; }
.axhc-home[data-axhc-ready] .axhc-product-image img { -webkit-user-drag: none; }
.axhc-home .axhc-track::-webkit-scrollbar { display: none; width: 0; height: 0; }
/* Cada faixa já recorta seus cards. A contenção restringe esse trabalho à
   própria faixa; os controles ficam fora dela e continuam sem recorte. */
.axhc-home .axhc-track { contain: layout paint; }
.axhc-home .axhc-product { isolation: isolate; }
.axhc-home .axhc-track::before, .axhc-home .axhc-track::after { content: none; display: none; }
.axhc-home .axhc-product { position: relative; flex: 0 0 calc((100% - 42px) / 4); width: auto; min-width: 0; min-height: 397px; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: stretch; border: 1px solid var(--axhc-border); border-radius: 8px; background: #fff; box-shadow: none; overflow: hidden; scroll-snap-align: start; transform: none; transition: border-color .16s ease; }
.axhc-home .axhc-product-link { display: flex; flex-direction: column; color: var(--axhc-ink); margin: 0; padding: 0; border: 0; background: transparent; text-decoration: none; }
.axhc-home .axhc-product-image { display: grid; place-items: center; flex: 0 0 clamp(205px, 16vw, 235px); height: clamp(205px, 16vw, 235px); width: 100%; padding: 14px 15px 10px; overflow: hidden; background: #fff; }
.axhc-home .axhc-product-image img { display: block; width: 100%; height: 100%; min-height: 0; max-height: 100%; object-fit: contain; object-position: center; margin: 0; padding: 0; background: #fff; border: 0; border-radius: 0; box-shadow: none; transform: none; filter: none; }
.axhc-home .axhc-product h3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; height: 40px; min-height: 40px; max-height: 40px; margin: 0 12px; padding: 0; overflow: hidden; color: var(--axhc-ink); font: 500 13px/1.45 "AXION Home Montserrat", "Open Sans", Arial, sans-serif; text-align: center; text-transform: none; letter-spacing: -.008em; overflow-wrap: break-word; }
.axhc-home .axhc-rating { display: flex; align-items: center; justify-content: center; gap: 5px; flex: 0 0 24px; height: 24px; margin: 2px 0 0; line-height: 1; }
.axhc-home .axhc-rating > span { display: flex; align-items: center; gap: 2px; }
.axhc-home .axhc-rating svg { display: block; width: 17px; height: 17px; fill: none; stroke: #b67f0f; }
.axhc-home .axhc-rating svg.is-filled { fill: #d69919; stroke: #d69919; }
.axhc-home .axhc-rating small { font-size: 10px; color: var(--axhc-muted); }
.axhc-home .axhc-price {
    display:block;
    min-height:46px;
    margin:auto 0 0;
    padding:6px 10px 4px;
    color:#1F1F1F!important;
    font-size:18px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:0;
    text-align:center;
    white-space:nowrap;
}
.axhc-home .axhc-price-value {
    display:inline-block;
    max-width:100%;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent!important;
    color:#1F1F1F!important;
    box-shadow:none!important;
    text-shadow:none!important;
    line-height:1.2;
}
.axhc-home .axhc-price-value,
.axhc-home .axhc-price-value *,
.axhc-home .axhc-price .woocommerce-Price-amount,
.axhc-home .axhc-price .woocommerce-Price-amount * {
    background:transparent!important;
    color:#1F1F1F!important;
    box-shadow:none!important;
    text-shadow:none!important;
}
.axhc-home .axhc-price .woocommerce-Price-amount {
    display:inline!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    font-size:inherit!important;
    font-weight:inherit!important;
    line-height:inherit!important;
    white-space:nowrap!important;
}
.axhc-home .axhc-price .woocommerce-Price-currencySymbol {
    display:inline!important;
    margin:0 4px 0 0!important;
    padding:0!important;
    font-size:1em!important;
    font-weight:inherit!important;
    line-height:inherit!important;
    vertical-align:baseline!important;
    color:inherit!important;
}
.axhc-home .axhc-price del {
    display:block;
    margin:0 0 2px;
    padding:0;
    color:#8A8A8A!important;
    font-size:11px;
    font-weight:400;
    line-height:1.15;
    opacity:1;
    text-decoration:line-through;
    text-decoration-thickness:1px;
}
.axhc-home .axhc-price del,
.axhc-home .axhc-price del * {
    color:#8A8A8A!important;
    background:transparent!important;
    box-shadow:none!important;
}
.axhc-home .axhc-price ins {
    display:block;
    margin:0;
    padding:0;
    background:transparent!important;
    color:#1F1F1F!important;
    font-size:18px;
    font-weight:700;
    line-height:1.2;
    text-decoration:none!important;
}
.axhc-home .axhc-price.is-variable {
    font-size:16px;
    letter-spacing:0;
}
.axhc-home .axhc-price .woocommerce-price-suffix {
    display:block;
    margin-top:2px;
    font-size:10px;
    font-weight:400;
    line-height:1.2;
    white-space:normal;
}
.axhc-home .axhc-buy { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; min-height: 44px; margin: 8px 12px 12px; padding: 9px 10px; border: 1px solid var(--axhc-green); border-radius: 5px; background: var(--axhc-green); color: #fff; font: 600 13.5px/1.25 "AXION Home Montserrat", "Open Sans", Arial, sans-serif; text-align: center; text-decoration: none; box-shadow: none; transform: none; touch-action: manipulation; -webkit-tap-highlight-color: transparent; transition: background-color .14s, border-color .14s; }
.axhc-editor-note { font: 400 14px/1.5 Arial,sans-serif; padding: 16px; border: 1px solid #e6e1de; background: #fffaf0; color: #333; }
@media (hover: hover) and (pointer: fine) {
    .axhc-home .axhc-nav:not(:disabled):hover { background: rgba(230,233,236,.98); color: #7e878d; }
    .axhc-home .axhc-product:hover { border-color: #d8ccc5; }
    .axhc-home .axhc-buy:hover { background: #a2b733; border-color: #a2b733; color: #fff; }
}
@media (max-width: 1024px) {
    .axhc-home { --axhc-gap: 12px; padding-inline: 32px; }
    .axhc-home .axhc-product { flex-basis: calc((100% - 12px) / 2); }
    .axhc-home .axhc-product-image { height: 235px; flex-basis: 235px; }
}
@media (max-width: 640px) {
    .axhc-home { --axhc-gap: 10px; padding: 4px 16px 18px; }
    .axhc-home .axhc-heading { margin-bottom: 14px; min-height: 32px; }
    .axhc-home .axhc-heading-line { gap: 8px; min-height: 28px; }
    .axhc-home .axhc-heading p { margin: 5px 0 0; font-size: 12px; }
    .axhc-home .axhc-sunflower { flex-basis: 14px; min-width: 14px; width: 14px; height: 16px; }
    .axhc-home .axhc-nav[data-axhc-direction="prev"] { left: -14px; }
    .axhc-home .axhc-nav[data-axhc-direction="next"] { right: -14px; }
    .axhc-home .axhc-nav { border: 1px solid rgba(64,18,1,.09); border-radius: 7px; background: rgba(255,255,255,.96); color: #838b90; }
    .axhc-home .axhc-nav svg { width: 14px; height: 14px; stroke-width: 1.7; }
    .axhc-shelf .axhc-nav { top: 50% !important; }
    .axhc-home .axhc-product { flex-basis: calc((100% - 10px) / 2); min-height: 340px; border-radius: 5px; }
    .axhc-home .axhc-product-image { height: clamp(146px,42vw,210px); flex-basis: clamp(146px,42vw,210px); padding: 10px 8px 8px; }
    .axhc-home .axhc-product h3 { font-size: 13px; line-height: 1.4; min-height: 55px; height: 55px; max-height: 55px; -webkit-line-clamp: 3; margin: 0 9px; }
    .axhc-home .axhc-price { font-size: 16px; min-height: 48px; padding: 5px 4px 3px; }
    .axhc-home .axhc-price-value { padding:0; border-radius:0; background:transparent!important; }
    .axhc-home .axhc-price .woocommerce-Price-amount { padding:0!important; }
    .axhc-home .axhc-price.is-variable { font-size:14px; letter-spacing:0; }
    .axhc-home .axhc-price ins { font-size: 16px; }
    .axhc-home .axhc-price del { font-size: 10px; }
    .axhc-home .axhc-buy { margin: 8px 8px 9px; font-size: 13px; padding: 9px 5px; }
    .axhc-home .axhc-rating svg { width: 15px; height: 15px; }
}
@media (max-width: 359px) {
    .axhc-home .axhc-price { font-size: 15px; }
    .axhc-home .axhc-price.is-variable { font-size: 13px; }
    .axhc-home .axhc-product h3 { font-size: 12px; line-height: 1.45; }
}
@media (prefers-reduced-motion: reduce) {
    .axhc-home *, .axhc-home *::before, .axhc-home *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* Favoritos nos cards:
   - não salvo: SVG vazado usando a cor de borda configurada no painel
   - salvo: SVG preenchido usando a cor configurada no painel */
.axhc-home .axc-favorite-toggle {
    position:absolute;
    top:12px;
    right:12px;
    z-index:6;
    display:grid;
    place-items:center;
    width:32px;
    min-width:32px;
    height:32px;
    min-height:32px;
    margin:0;
    padding:0;
    overflow:visible;
    border:0!important;
    border-radius:0;
    background:transparent!important;
    color:var(--axh-favorite-outline,#401201)!important;
    font-size:0!important;
    line-height:0!important;
    text-indent:0;
    box-shadow:none!important;
    transform:none!important;
    text-align:center;
    text-decoration:none!important;
    -webkit-tap-highlight-color:transparent;
    transition:none!important;
}

.axhc-home .axc-favorite-toggle svg {
    display:block;
    width:26px!important;
    height:26px!important;
    margin:0!important;
    flex:0 0 26px;
    color:var(--axh-favorite-outline,#401201)!important;
    fill:none!important;
    stroke:var(--axh-favorite-outline,#401201)!important;
    stroke-width:1!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}

.axhc-home .axc-favorite-toggle svg * {
    fill:none!important;
    stroke:var(--axh-favorite-outline,#401201)!important;
}

/* Estado salvo: preenchimento e contorno usam a cor "Coração preenchido". */
.axhc-home .axc-favorite-toggle[aria-pressed="true"] {
    color:var(--axh-favorite-fill,#FFDE59)!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}

.axhc-home .axc-favorite-toggle[aria-pressed="true"] svg,
.axhc-home .axc-favorite-toggle[aria-pressed="true"] svg * {
    color:var(--axh-favorite-fill,#FFDE59)!important;
    fill:var(--axh-favorite-fill,#FFDE59)!important;
    stroke:var(--axh-favorite-fill,#FFDE59)!important;
}

/* Hover/focus não inventam uma terceira cor. O estado é apenas salvo/não salvo. */
.axhc-home .axc-favorite-toggle:hover,
.axhc-home .axc-favorite-toggle:focus,
.axhc-home .axc-favorite-toggle:active {
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
    opacity:1!important;
}

@media (max-width:640px) {
    .axhc-home .axc-favorite-toggle {
        top:9px;
        right:9px;
        width:29px;
        min-width:29px;
        height:29px;
        min-height:29px;
    }

    .axhc-home .axc-favorite-toggle svg {
        width:23px!important;
        height:23px!important;
        flex-basis:23px;
    }
}

/* Motor circular: viewport fixo; apenas a faixa interna é deslocada. */
.axhc-home .axion-motion-viewport { width:100%; min-width:0; overflow:hidden; overflow:clip; contain:layout paint; touch-action:pan-y pinch-zoom; }
.axhc-home .axhc-track[data-axion-motion="transform"] { overflow:visible; contain:layout style; scroll-snap-type:none; touch-action:pan-y pinch-zoom; will-change:transform; }
