/* ============================================================
   EconClube - LAYOUT DE MARKETPLACE
   Ajuste exclusivamente visual. Mantém a paleta do sistema.
   ============================================================ */

:root{
    --shop-green:var(--green,#173f35);
    --shop-green-dark:var(--green-dark,#102f27);
    --shop-green-soft:var(--green-soft,#245f4e);
    --shop-gold:var(--gold,#e3b04b);
    --shop-bg:#f5f5f5;
    --shop-card:#fff;
    --shop-line:#e9ecea;
    --shop-text:#2c332f;
    --shop-muted:#778079;
}

*{box-sizing:border-box}
body{background:var(--shop-bg)!important;color:var(--shop-text)}

/* Cabeçalho mais compacto, no padrão de grandes marketplaces */
.header{
    background:var(--shop-green)!important;
    border-bottom:0!important;
    box-shadow:0 2px 12px rgba(0,0,0,.10);
    position:sticky;
    top:0;
    z-index:100;
}
.header-inner{min-height:66px!important;gap:18px}
.header .brand{color:#fff!important;font-weight:800}
.header .brand-mark{background:#fff!important;color:var(--shop-green)!important;box-shadow:none!important}
.header .nav{gap:4px}
.header .nav a{color:rgba(255,255,255,.88)!important;border-radius:4px;padding:8px 9px!important;font-size:11px!important}
.header .nav a:hover,.header .nav a.ativo,.header .nav a.active{background:rgba(255,255,255,.11)!important;color:#fff!important}
.header .cart-top{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;border-radius:6px!important}
.header .cart-top:hover{background:rgba(255,255,255,.15)!important}
.header .cart-badge{background:var(--shop-gold)!important;color:#211f19!important}
.header .head-actions .btn{border-radius:5px!important}
.header .head-actions .btn-dark{background:var(--shop-gold)!important;color:#242019!important;border-color:var(--shop-gold)!important}

/* Faixa de título mais enxuta */
.page-hero{
    background:#fff!important;
    border-bottom:1px solid var(--shop-line)!important;
    padding:25px 0 21px!important;
}
.page-hero .wrap{position:relative}
.page-hero .wrap:before{
    content:'';
    position:absolute;
    left:0;
    top:1px;
    width:4px;
    height:44px;
    border-radius:10px;
    background:var(--shop-gold);
}
.page-hero h1{margin:0 0 5px!important;padding-left:15px!important;color:var(--shop-green)!important;font-size:25px!important;letter-spacing:-.5px!important}
.page-hero p{margin:0!important;padding-left:15px!important;color:var(--shop-muted)!important;font-size:12px!important;line-height:1.5!important}
.page-section{padding:18px 0 42px!important}

/* Busca/filtros em barra branca */
.filters{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin:0 0 15px!important;
    padding:10px!important;
    background:#fff!important;
    border:1px solid var(--shop-line)!important;
    border-radius:5px!important;
    box-shadow:0 1px 4px rgba(0,0,0,.035)!important;
}
.filters .search{flex:1!important;min-width:180px!important}
.filters input,.filters select,.filter{
    min-height:39px!important;
    border:1px solid #dfe5e1!important;
    border-radius:4px!important;
    background:#fff!important;
    font-size:11px!important;
}
.filters input:focus,.filters select:focus{border-color:var(--shop-green)!important;box-shadow:0 0 0 2px rgba(23,63,53,.08)!important}
.filters .btn{min-height:39px!important;border-radius:4px!important;padding:0 16px!important}

/* Botões */
.btn{font-weight:800!important;text-decoration:none!important;transition:.16s ease!important}
.btn-dark{background:var(--shop-green)!important;border-color:var(--shop-green)!important;color:#fff!important}
.btn-dark:hover{background:var(--shop-green-dark)!important;border-color:var(--shop-green-dark)!important}
.btn-light{background:#fff!important;border:1px solid #b9cec4!important;color:var(--shop-green)!important}
.btn-light:hover{background:#f3f8f5!important;border-color:var(--shop-green)!important;color:var(--shop-green-dark)!important}
.btn-gold{background:var(--shop-gold)!important;border-color:var(--shop-gold)!important;color:#252019!important}
.btn-gold:hover{filter:brightness(.96)}

/* Corrige o botão secundário do banner inicial */
.home-banner-actions .btn-light{
    background:rgba(255,255,255,.10)!important;
    border:1px solid rgba(255,255,255,.78)!important;
    color:#fff!important;
    box-shadow:none!important;
}
.home-banner-actions .btn-light:hover{background:#fff!important;color:var(--shop-green)!important}
.home-banner-actions .btn-light:visited{color:#fff!important}
.home-banner-actions .btn-light:hover:visited{color:var(--shop-green)!important}

/* Cards de catálogo, mais compactos e parecidos com marketplace */
.products{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
    align-items:start!important;
}
.product{
    min-width:0!important;
    background:#fff!important;
    border:1px solid #ecefec!important;
    border-radius:4px!important;
    overflow:hidden!important;
    box-shadow:none!important;
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.product:hover{
    transform:translateY(-2px)!important;
    border-color:#b9cec4!important;
    box-shadow:0 5px 16px rgba(0,0,0,.10)!important;
}
.product-img{
    position:relative!important;
    width:100%!important;
    aspect-ratio:1/1!important;
    min-height:0!important;
    background:#f1f2f1!important;
    border-radius:0!important;
    overflow:hidden!important;
}
.product-img>a{display:block;width:100%;height:100%}
.product-img img{width:100%!important;height:100%!important;object-fit:cover!important}
.product-img .pill,.pill{
    left:7px!important;
    bottom:7px!important;
    top:auto!important;
    right:auto!important;
    padding:4px 7px!important;
    border-radius:3px!important;
    background:rgba(23,63,53,.90)!important;
    color:#fff!important;
    font-size:8px!important;
    font-weight:800!important;
}
.product-body{padding:10px!important}
.product-body h3{height:33px!important;margin:0 0 7px!important;overflow:hidden!important;font-size:11px!important;line-height:1.45!important;font-weight:700!important;color:#303630!important}
.product-body h3 a{color:inherit!important;text-decoration:none!important}
.product-description{height:31px!important;margin:0 0 7px!important;overflow:hidden!important;color:#7c847e!important;font-size:9px!important;line-height:1.45!important}
.old{font-size:9px!important;color:#999!important;text-decoration:line-through!important}
.promo-market-line{display:flex!important;align-items:baseline!important;gap:4px!important;flex-wrap:wrap!important;line-height:1.2!important}
.promo-market-label{color:#666f69!important;font-size:8px!important;font-weight:900!important;text-decoration:none!important}
.promo-old{color:#d93025!important;font-weight:900!important;text-decoration:line-through!important}
.promo-current-line{display:flex!important;align-items:baseline!important;gap:5px!important;margin-top:2px!important}
.promo-por{color:#7a817c!important;font-size:9px!important;font-weight:700!important;text-decoration:none!important}
.price{margin:3px 0 8px!important;min-height:22px!important}
.price strong{color:var(--shop-green)!important;font-size:17px!important;letter-spacing:-.2px!important}
.price.promo-price{display:block!important}
.detail-price.promo-detail-price{display:block!important}
.detail-price.promo-detail-price .promo-market-label{font-size:10px!important;font-weight:900!important}
.detail-price.promo-detail-price .promo-old{font-size:13px!important}
.detail-price.promo-detail-price .promo-por{font-size:11px!important}
.detail-price.promo-detail-price .promo-current{color:var(--shop-green)!important;font-size:30px!important;font-weight:900!important}
.product-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;margin-top:8px!important}
.product-actions .btn{min-width:0!important;padding:8px 5px!important;border-radius:3px!important;font-size:9px!important;line-height:1.2!important}
.product-detail-link{display:block!important;margin-top:7px!important;text-align:center!important;color:var(--shop-green)!important;font-size:9px!important;font-weight:800!important;text-decoration:none!important}
.product-detail-link:hover{text-decoration:underline!important}

/* Setas das galerias */
.galeria-seta,.ca,.produto-seta{
    background:rgba(255,255,255,.96)!important;
    color:var(--shop-green)!important;
    box-shadow:0 2px 10px rgba(0,0,0,.15)!important;
    border:1px solid rgba(0,0,0,.05)!important;
}

/* Detalhe do produto */
.detail{
    display:grid!important;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
    gap:28px!important;
    margin-top:18px!important;
    margin-bottom:36px!important;
    padding:20px!important;
    background:#fff!important;
    border:1px solid var(--shop-line)!important;
    border-radius:5px!important;
    box-shadow:0 2px 7px rgba(0,0,0,.035)!important;
}
.detail-img{min-width:0!important;background:#f2f3f2!important;border-radius:4px!important;overflow:hidden!important;align-self:start!important}
.detail-img>img,.detail-img .produto-galeria{width:100%!important;aspect-ratio:1/1!important;border-radius:4px!important}
.produto-galeria{background:#f2f3f2!important}
.detail-copy{padding:8px 8px 8px 0!important}
.detail-copy .tag{border-radius:3px!important;font-size:9px!important}
.detail-copy h1{margin:10px 0 8px!important;color:#202722!important;font-size:28px!important;line-height:1.15!important;letter-spacing:-.6px!important}
.detail-copy>p{color:#707972!important;font-size:12px!important;line-height:1.6!important}
.detail-price{margin:8px 0!important;color:var(--shop-green)!important;font-size:30px!important;font-weight:900!important}
.detail-copy .field label{font-size:10px!important}
.detail-copy .field input,.detail-copy .field select{border-radius:4px!important}

/* Carrinho */
.cart-table-wrap{
    overflow:auto!important;
    background:#fff!important;
    border:1px solid var(--shop-line)!important;
    border-radius:5px!important;
}
.cart-table{width:100%!important;border-collapse:collapse!important}
.cart-table th{padding:12px!important;background:#fafbfa!important;border-bottom:1px solid var(--shop-line)!important;color:#6f7972!important;font-size:9px!important;text-transform:uppercase!important;letter-spacing:.03em!important;text-align:left!important}
.cart-table td{padding:13px 12px!important;border-bottom:1px solid #eff1ef!important;font-size:11px!important;vertical-align:middle!important}
.cart-table tr:last-child td{border-bottom:0!important}
.cart-product{display:flex!important;align-items:center!important;gap:10px!important;min-width:210px!important}
.cart-thumb{width:64px!important;height:64px!important;object-fit:cover!important;border-radius:4px!important;border:1px solid #ecefec!important}
.cart-product-name{display:block!important;color:#28322d!important;font-size:11px!important;font-weight:800!important;text-decoration:none!important}
.cart-product small{display:block!important;margin-top:4px!important;color:#8a918c!important;font-size:9px!important}
.qty-control{display:inline-flex!important;align-items:center!important;border:1px solid #dfe4e1!important;border-radius:4px!important;overflow:hidden!important;background:#fff!important}
.qty-control button{width:30px!important;height:31px!important;border:0!important;background:#f7f8f7!important;color:var(--shop-green)!important;font-weight:900!important;cursor:pointer!important}
.qty-control input{width:46px!important;height:31px!important;border:0!important;border-left:1px solid #e5e8e6!important;border-right:1px solid #e5e8e6!important;text-align:center!important;font-size:11px!important}
.remove-link{color:#9b443c!important;font-size:9px!important;font-weight:800!important;text-decoration:none!important}

/* Retirada */
.pickup-section{
    margin-top:15px!important;
    padding:18px!important;
    background:#fff!important;
    border:1px solid var(--shop-line)!important;
    border-radius:5px!important;
}
.pickup-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:15px!important;margin-bottom:13px!important}
.pickup-kicker{color:var(--shop-green)!important;font-size:9px!important;font-weight:900!important;text-transform:uppercase!important}
.pickup-head h2{margin:3px 0!important;font-size:18px!important}
.pickup-head p{margin:0!important;color:#7d857f!important;font-size:10px!important}
.pickup-free{padding:5px 8px!important;border-radius:3px!important;background:#edf5f1!important;color:var(--shop-green)!important;font-size:9px!important;font-weight:900!important}
.pickup-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.pickup-card{position:relative!important;display:flex!important;gap:9px!important;padding:12px!important;border:1px solid #e1e7e3!important;border-radius:4px!important;background:#fff!important;cursor:pointer!important;transition:.15s!important}
.pickup-card:hover{border-color:#aec8bc!important;background:#f9fbfa!important}
.pickup-card.selected{border-color:var(--shop-green)!important;background:#f3f8f5!important;box-shadow:inset 3px 0 0 var(--shop-green)!important}
.pickup-card input{position:absolute!important;opacity:0!important}
.pickup-radio{width:16px!important;height:16px!important;flex:0 0 16px!important;margin-top:2px!important;border:2px solid #bcc8c1!important;border-radius:50%!important;background:#fff!important}
.pickup-card.selected .pickup-radio{border:5px solid var(--shop-green)!important}
.pickup-content{display:flex!important;flex-direction:column!important;gap:3px!important;color:#6f7972!important;font-size:9px!important;line-height:1.4!important}
.pickup-content>strong{color:#2d3832!important;font-size:11px!important}
.pickup-address{color:#555f59!important}

.cart-bottom{display:grid!important;grid-template-columns:1fr 340px!important;gap:15px!important;align-items:start!important;margin-top:15px!important}
.cart-update-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important}
.sum-box{background:#fff!important;border:1px solid var(--shop-line)!important;border-radius:5px!important;padding:16px!important;box-shadow:0 2px 7px rgba(0,0,0,.04)!important}
.sum-line{display:flex!important;justify-content:space-between!important;gap:12px!important;padding:7px 0!important;color:#68716b!important;font-size:11px!important;border-bottom:1px solid #f0f1f0!important}
.sum-line.total{border-bottom:0!important;padding-top:12px!important;color:#242c27!important;font-weight:900!important;font-size:14px!important}
.sum-line.total span:last-child{color:var(--shop-green)!important;font-size:19px!important}

/* Checkout */
.checkout-pickup{display:flex!important;flex-direction:column!important;gap:4px!important;margin-bottom:15px!important;padding:13px!important;background:#f6f9f7!important;border:1px solid #dfe8e3!important;border-left:4px solid var(--shop-green)!important;border-radius:4px!important;font-size:10px!important;color:#657069!important}
.checkout-pickup strong{color:#2a342f!important;font-size:12px!important}
.checkout-pickup a{margin-top:4px!important;color:var(--shop-green)!important;font-weight:800!important}
.auth-card,.benefit{
    background:#fff!important;
    border:1px solid var(--shop-line)!important;
    border-radius:5px!important;
    box-shadow:0 2px 8px rgba(0,0,0,.04)!important;
}
.benefit{padding:22px!important}
.benefit h3{color:var(--shop-green)!important}

/* Formulários gerais */
.field{gap:6px!important}
.field label{color:#4f5b54!important;font-size:10px!important;font-weight:800!important}
.field input,.field select,.field textarea{
    min-height:40px!important;
    border:1px solid #dfe4e1!important;
    border-radius:4px!important;
    background:#fff!important;
    font-size:11px!important;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--shop-green)!important;box-shadow:0 0 0 2px rgba(23,63,53,.08)!important;outline:0!important}

/* Login / Cadastro */
.auth-shell{background:var(--shop-bg)!important}
.auth-visual{
    background:linear-gradient(135deg,var(--shop-green-dark),var(--shop-green))!important;
    color:#fff!important;
}
.auth-visual .brand{color:#fff!important}
.auth-visual .brand-mark{background:#fff!important;color:var(--shop-green)!important}
.auth-copy .tag{background:var(--shop-gold)!important;color:#272019!important;border-radius:3px!important}
.auth-panel{background:var(--shop-bg)!important}
.auth-card{border-radius:6px!important;padding:26px!important}
.auth-card h2{margin-top:0!important;color:#222b26!important;font-size:21px!important}
.auth-card>p{color:#7b837e!important;font-size:11px!important}
.auth-foot{font-size:10px!important}
.auth-foot a{color:var(--shop-green)!important;font-weight:900!important}

/* Leilões */
.form-lance input{border-radius:4px!important}
.lances-lista{background:#fafbfa!important;border:1px solid #eef0ef!important;border-radius:4px!important;padding:10px!important;margin-top:10px!important}
.lance-item{padding:7px 0!important}
.lance-valor{color:var(--shop-green)!important}

/* 100% OFF */
.saldo{background:#fff!important;border:1px solid var(--shop-line)!important;border-radius:5px!important;box-shadow:0 1px 4px rgba(0,0,0,.03)!important}
.meta{background:#f7f9f8!important;border-radius:3px!important}
.off{background:var(--shop-green)!important;border-radius:3px!important}

/* Estados vazios e alertas */
.empty{background:#fff!important;border:1px solid var(--shop-line)!important;border-radius:5px!important;padding:30px!important;color:#727b75!important}
.alert{border-radius:4px!important;font-size:11px!important}

/* Rodapé */
.footer{background:#fff!important;border-top:1px solid var(--shop-line)!important}

/* Home: refinamentos sem mexer na estrutura */
.home-banner,.home-mini-banner,.home-block,.home-membership{border-radius:5px!important}
.home-block{box-shadow:0 1px 4px rgba(0,0,0,.025)!important}
.home-shortcuts{border-radius:5px!important;overflow:hidden!important}
.home-product{border-radius:4px!important;overflow:hidden!important}
.home-product-actions .btn-light{background:#fff!important;color:var(--shop-green)!important;border-color:#b9cec4!important}
.home-membership-action .btn-gold{box-shadow:0 2px 7px rgba(0,0,0,.12)!important}

/* Responsivo */
@media(max-width:1080px){
    .products{grid-template-columns:repeat(4,minmax(0,1fr))!important}
    .cart-bottom{grid-template-columns:1fr 310px!important}
}

@media(max-width:820px){
    .header{position:relative}
    .products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .filters{flex-wrap:wrap!important}
    .filters .search{flex-basis:100%!important}
    .detail{grid-template-columns:1fr!important;gap:15px!important;padding:14px!important}
    .detail-copy{padding:3px!important}
    .detail-copy h1{font-size:23px!important}
    .pickup-grid{grid-template-columns:1fr!important}
    .cart-bottom{grid-template-columns:1fr!important}
    .sum-box{position:static!important}
}

@media(max-width:560px){
    .page-hero{padding:19px 0 17px!important}
    .page-hero h1{font-size:21px!important}
    .page-section{padding-top:12px!important}
    .products{gap:7px!important}
    .product-body{padding:8px!important}
    .product-body h3{font-size:10px!important}
    .price strong{font-size:15px!important}
    .product-actions{grid-template-columns:1fr!important}
    .cart-table{min-width:690px!important}
    .pickup-section{padding:13px!important}
    .auth-card{padding:20px!important}
}

/* Lotes */
.li{margin:9px 0!important;padding:9px!important;border:1px solid #e7ebe8!important;border-radius:4px!important;background:#fafbfa!important}
.li b{color:#4b5750!important;font-size:9px!important;text-transform:uppercase!important}
.li ul{margin:5px 0 0!important;padding-left:16px!important}
.li li{margin:2px 0!important;color:#6d756f!important;font-size:9px!important}
