/* Loja Asta RV07 — todo o reset fica limitado ao archive principal.
   Guarda de overflow-x escopada ao WRAPPER (não a uma classe de body
   específica) — cobre a Shop E os archives de categoria/Setor/Aplicação,
   que têm body classes diferentes (tax-product_cat, tax-asta_sector,
   tax-pa_aplicacao) mas o MESMO wrapper .asta-product-archive. */
body:has(.asta-product-archive) { overflow-x:clip; }
.asta-product-archive { --asta-red:#a01c24; --asta-ink:#17161a; --asta-muted:#8c867c; --asta-paper:#f7f5f1; --asta-line:#eae6df; color:var(--asta-ink); background:var(--asta-paper); font-family:Inter,Arial,sans-serif; }
.asta-product-archive *, .asta-product-archive *::before, .asta-product-archive *::after { box-sizing:border-box; }
.asta-product-archive__container { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.asta-product-archive__hero,.asta-product-archive__toolbar,.asta-product-archive__listing,.asta-product-archive__cta { width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.asta-product-archive__hero { position:relative; isolation:isolate; min-height:clamp(240px,24vw,340px); display:grid; align-items:center; overflow:hidden; background:#25221f url('img/hero-home.webp') center/cover no-repeat; }
.asta-product-archive__hero-video,
.asta-product-archive__hero-image { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; }
.asta-product-archive__hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(14,13,12,.89),rgba(14,13,12,.55) 55%,rgba(14,13,12,.15)); }
.asta-product-archive__hero-content { position:relative; z-index:2; display:flex; flex-direction:column; gap:14px; color:#fff; }
.asta-product-archive__breadcrumb { display:flex; flex-wrap:wrap; gap:8px; font-size:10px; letter-spacing:.14em; color:rgba(255,255,255,.58); }
.asta-product-archive__breadcrumb a { color:inherit; text-decoration:none; }.asta-product-archive__breadcrumb a:hover { color:#fff; }
.asta-product-archive__hero-eyebrow { display:block; color:rgba(255,255,255,.72); font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.asta-product-archive__hero h1,.asta-product-archive__listing h2,.asta-product-archive__cta h2 { margin:0; font-family:Manrope,Arial,sans-serif; font-weight:600; letter-spacing:-.035em; }
.asta-product-archive__hero h1 { max-width:660px; font-size:clamp(30px,4.6vw,58px); line-height:1.02; }.asta-product-archive__hero p { max-width:520px; margin:0; font-size:clamp(13.5px,1.35vw,17px); line-height:1.55; color:rgba(255,255,255,.8); }
.asta-product-archive__toolbar { position:sticky; top:0; z-index:30; padding:12px 0; background:rgba(247,245,241,.96); backdrop-filter:blur(10px); border-bottom:1px solid var(--asta-line); }
.asta-product-archive__toolbar-inner { display:flex; gap:10px; align-items:center; min-height:42px; }.asta-product-archive__search { flex:1 1 200px; display:flex; align-items:center; gap:10px; min-height:44px; margin:0; padding:11px 14px; background:#fff; border:1px solid #e0dbd3; border-radius:8px; }.asta-product-archive__search span { color:var(--asta-red); font-size:18px; line-height:1; }.asta-product-archive__search input { min-width:0; width:100%; height:auto; margin:0; padding:0!important; border:0!important; outline:0; box-shadow:none!important; color:var(--asta-ink)!important; background:transparent!important; font:400 13px/1.2 Inter,Arial,sans-serif!important; }
.asta-product-archive__search input:focus { outline:0; }.asta-product-archive__ordering { display:flex; align-items:center; gap:10px; min-height:44px; }.asta-product-archive__ordering>span { white-space:nowrap; font:400 11px/1 Inter,Arial,sans-serif; letter-spacing:.06em; color:var(--asta-muted); }.asta-product-archive__ordering .woocommerce-ordering { float:none!important; margin:0!important; }.asta-product-archive__ordering select { appearance:none!important; min-width:145px; min-height:44px; margin:0!important; padding:0 36px 0 15px!important; border:1px solid #e0dbd3!important; border-radius:8px!important; box-shadow:none!important; color:#3a3733!important; background-color:#fff!important; background-image:linear-gradient(45deg,transparent 50%,#8c867c 50%),linear-gradient(135deg,#8c867c 50%,transparent 50%)!important; background-position:calc(100% - 15px) 19px,calc(100% - 10px) 19px!important; background-size:5px 5px,5px 5px!important; background-repeat:no-repeat!important; font:400 12.5px/1.2 Inter,Arial,sans-serif!important; outline:0!important; }.asta-product-archive__ordering select:hover { border-color:#b0a99d!important; }.asta-product-archive__ordering select:focus-visible { border-color:var(--asta-red)!important; box-shadow:0 0 0 2px rgba(160,28,36,.18)!important; }
.asta-product-archive__filter-toggle { display:none; min-height:44px; margin:0!important; padding:12px 18px!important; border:1px solid var(--asta-red)!important; border-radius:8px!important; box-shadow:none!important; color:#fff!important; background:var(--asta-red)!important; font:400 13px/1.2 Inter,Arial,sans-serif!important; text-shadow:none!important; cursor:pointer; transition:background .18s ease,border-color .18s ease,box-shadow .18s ease; }.asta-product-archive__filter-toggle:hover,.asta-product-archive__filter-toggle:active { color:#fff!important; background:#7e1319!important; border-color:#7e1319!important; }.asta-product-archive__filter-toggle:focus-visible { outline:0!important; color:#fff!important; background:var(--asta-red)!important; box-shadow:0 0 0 3px rgba(160,28,36,.22)!important; }
.asta-product-archive__listing { background:var(--asta-paper); padding:clamp(24px,3vw,56px) 0 clamp(30px,3.4vw,64px); }.asta-product-archive__listing-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:clamp(18px,2vw,30px); }.asta-product-archive__listing h2 { font-size:clamp(21px,2.6vw,32px); line-height:1.1; }.asta-product-archive__listing-head>span { color:var(--asta-muted); font-size:11px; letter-spacing:.06em; }
.asta-product-archive__layout { display:grid; grid-template-columns:minmax(200px,236px) minmax(0,1fr); gap:clamp(20px,2.4vw,40px); align-items:start; }.asta-product-archive__sidebar { position:sticky; top:76px; display:flex; flex-direction:column; gap:18px; padding:20px 18px; border:1px solid var(--asta-line); border-radius:10px; background:#fff; }.asta-product-archive__filters-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }.asta-product-archive__filters-head span,.asta-product-archive__filter-group legend { font-size:10px; letter-spacing:.14em; text-transform:uppercase; }.asta-product-archive__filters-head span { color:var(--asta-red); letter-spacing:.16em; }.asta-product-archive__filters-head a { color:var(--asta-muted); font-size:11px; text-decoration:none; }.asta-product-archive__filter-group { display:flex; flex-direction:column; gap:10px; min-width:0; margin:0; padding:16px 0 0; border:0; border-top:1px solid #efebe4; }.asta-product-archive__filter-group legend { padding:0; color:var(--asta-muted); }.asta-product-archive__filter-option { display:flex; align-items:center; gap:10px; }.asta-product-archive__filter-option input { appearance:none; flex:none; width:15px; height:15px; margin:0; border:1px solid #d5cfc6; border-radius:3px; background:#fff; cursor:pointer; }.asta-product-archive__filter-option input:checked { border-color:var(--asta-red); background:var(--asta-red) center/9px 7px no-repeat; background-image:linear-gradient(45deg,transparent 45%,#fff 46% 55%,transparent 56%),linear-gradient(-45deg,transparent 45%,#fff 46% 55%,transparent 56%); }.asta-product-archive__filter-option input:focus-visible { outline:2px solid var(--asta-red); outline-offset:2px; }.asta-product-archive__filter-option label { color:#3a3733; font-size:13px; line-height:1.3; cursor:pointer; }
.asta-product-archive__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,235px),1fr)); gap:clamp(12px,1.4vw,20px); }.asta-product-archive__card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #dbd6cd; border-radius:10px; background:#fff; transition:border-color .18s ease,transform .18s ease; }.asta-product-archive__card:hover { border-color:#b0a99d; transform:translateY(-2px); }.asta-product-archive__media { position:relative; display:block; flex:none; width:100%; min-height:0; aspect-ratio:4/3; overflow:hidden; background:#efede7; line-height:0; }.asta-product-archive__media .asta-product-archive__image,.asta-product-archive__media>img { position:absolute!important; inset:0; display:block!important; width:100%!important; min-width:100%!important; max-width:none!important; height:100%!important; min-height:100%!important; margin:0!important; padding:0!important; border:0!important; object-fit:cover!important; object-position:center!important; }.asta-product-archive__card-body { display:flex; flex:1; flex-direction:column; gap:7px; padding:clamp(12px,1.5vw,18px); }.asta-product-archive__eyebrow { color:var(--asta-red); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }.asta-product-archive__card h3 { overflow:hidden; margin:0; color:var(--asta-ink); font:700 clamp(16px,1.9vw,22px)/1.14 Manrope,Arial,sans-serif; letter-spacing:-.025em; text-overflow:ellipsis; white-space:nowrap; }.asta-product-archive__card h3 a { color:inherit; text-decoration:none; }.asta-product-archive__card-cta { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:34px; margin-top:12px; padding:8px 14px; border-radius:7px; color:#fff; background:#23211e; font-size:12.5px; letter-spacing:.01em; text-decoration:none; transition:background .18s ease; }.asta-product-archive__card-cta:hover { color:#fff; background:var(--asta-red); }
.asta-product-archive__pagination { margin-top:36px; }.asta-product-archive__pagination ul { display:flex; flex-wrap:wrap; gap:6px; padding:0; margin:0; border:0; list-style:none; }.asta-product-archive__pagination li { border:0; }.asta-product-archive__pagination a,.asta-product-archive__pagination span { display:grid; place-items:center; min-width:38px; height:38px; border:1px solid #e0dbd3; border-radius:7px; color:#3a3733; background:#fff; font-size:13px; text-decoration:none; }.asta-product-archive__pagination .current,.asta-product-archive__pagination a:hover { border-color:var(--asta-red); color:#fff; background:var(--asta-red); }.asta-product-archive__empty { padding:48px 24px; border:1px solid var(--asta-line); border-radius:10px; background:#fff; text-align:center; }.asta-product-archive__empty h3 { margin:0; font:600 24px Manrope,Arial,sans-serif; }.asta-product-archive__empty p { color:#5e5a54; }.asta-product-archive__empty a { color:var(--asta-red); }
.asta-product-archive__cta { padding:clamp(34px,4vw,80px) 0; border-top:1px solid var(--asta-line); background:#fff; }.asta-product-archive__cta .asta-product-archive__container { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px; }.asta-product-archive__cta h2 { font-size:clamp(22px,2.9vw,36px); line-height:1.08; }.asta-product-archive__cta p { max-width:440px; margin:12px 0 0; color:#5e5a54; font-size:clamp(13px,1.3vw,16px); line-height:1.6; }.asta-product-archive__cta .asta-product-archive__cta-button { display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:10px!important; min-height:46px; margin:0!important; padding:15px 24px!important; border:1px solid var(--asta-red)!important; border-radius:8px!important; box-shadow:none!important; color:#fff!important; background:var(--asta-red)!important; font:400 13.5px/1.2 Inter,Arial,sans-serif!important; letter-spacing:.03em; text-decoration:none!important; text-shadow:none!important; transition:background .18s ease,border-color .18s ease,box-shadow .18s ease; }.asta-product-archive__cta .asta-product-archive__cta-button:hover { color:#fff!important; background:#7e1319!important; border-color:#7e1319!important; }.asta-product-archive__cta .asta-product-archive__cta-button:focus-visible { outline:0!important; color:#fff!important; background:var(--asta-red)!important; box-shadow:0 0 0 3px rgba(160,28,36,.22)!important; }
.asta-product-archive__drawer { position:fixed; z-index:1000; inset:0; background:rgba(23,22,26,.48); }.asta-product-archive__drawer-panel { width:min(420px,100%); height:100%; overflow:auto; margin-left:auto; padding:24px 20px; background:#fff; }.asta-product-archive__drawer-panel>div:first-child { display:flex; align-items:center; justify-content:space-between; }.asta-product-archive__drawer-panel h2 { margin:0; font:600 22px Manrope,Arial,sans-serif; }.asta-product-archive__drawer-close { border:0; color:var(--asta-red); background:transparent; font-size:28px; cursor:pointer; }.asta-product-archive__drawer-panel .asta-product-archive__filters-head { margin-top:28px; }.asta-product-archive__drawer-apply { width:100%; margin-top:24px; padding:16px; border-radius:8px; color:#fff; background:var(--asta-red); font:14px Inter,Arial,sans-serif; }
@media (max-width:767px) { .asta-product-archive__container { width:min(100% - 40px,1180px); }.asta-product-archive__toolbar-inner { flex-wrap:wrap; }.asta-product-archive__search { min-width:0; }.asta-product-archive__filter-toggle { display:inline-flex; }.asta-product-archive__ordering { display:none; }.asta-product-archive__layout { display:block; }.asta-product-archive__sidebar { display:none; }.asta-product-archive__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.asta-product-archive__card-body { padding:12px; }.asta-product-archive__card h3 { font-size:16px; }.asta-product-archive__card-cta { padding-inline:8px; font-size:12px; }.asta-product-archive__listing-head { align-items:flex-start; }.asta-product-archive__listing-head>span { max-width:120px; text-align:right; }.asta-product-archive__cta>a { width:100%; justify-content:center; } }
@media (max-width:390px) { .asta-product-archive__grid { grid-template-columns:1fr; } }
