/* henovar-brand.css — identidade visual da loja (paleta do LOGO Henovar)
 * Carregado DEPOIS de style.css (já recolorido p/ o verde-escuro #9c6d25).
 * Paleta extraída do próprio logo:
 *   - "Plant" + folha  -> verde-escuro #9c6d25  (primária: CTAs, títulos, preço)
 *   - "Md"             -> verde-claro  #efbd62  (secundária: acentos, hover, selos)
 */
@import url('https://fonts.googleapis.com/css2?family=Hind:wght@300;400;500;600;700&family=Oswald:wght@300;400;500;600;700&display=swap');

:root{
    --md-green-dark:  #9c6d25;  /* primária */
    --md-green:       #efbd62;  /* secundária / acento */
    --md-green-darker:#003611;  /* hover/realce escuro */
    --md-soft:         #f4f8ef;
    --md-line:         #e2ead8;
    --md-ink:          #1f2f27;
}

/* ---- Tipografia: corpo em Hind ---- */
body,
input, textarea, select, button,
p, a, span, li, td, th, label,
.tt-base-text, .tt-price, .tt-product-single-info,
.tt-menu-list, .product-name{
    font-family:'Hind', 'Ubuntu', sans-serif;
}

/* ---- Tipografia: títulos e menu em Oswald ---- */
h1, h2, h3, h4, h5, h6,
.tt-title, .product-title, .tt-collapse-title,
.tt-desctop-parent-menu, .tt-megamenu-col-01,
.heading-title, .tt-title-sub{
    font-family:'Oswald', 'Ubuntu', sans-serif;
    letter-spacing:.3px;
}

/* ---- CTAs: fundo verde-escuro, hover vira verde-claro do logo ---- */
.btn--ys, .btn-primary, .btn-AddCart, .btn-addtocart{
    background-color:var(--md-green-dark) !important;
    border-color:var(--md-green-dark) !important;
    color:#fff !important;
}
.btn--ys:hover, .btn-primary:hover, .btn-AddCart:hover, .btn-addtocart:hover{
    background-color:var(--md-green) !important;
    border-color:var(--md-green) !important;
    color:var(--md-green-dark) !important;
}

/* ---- Links e preço ---- */
a:hover{ color:var(--md-green-dark); }
.tt-price .new-price, .new-price{ color:var(--md-green-dark); font-weight:600; }

/* ---- Acentos em verde-claro (logo "Md"): selos, barras, destaques ---- */
.tt-label-new, .tt-label-sale,
.product-labels .new, .product-labels .sale,
.tt-promo-fixed, .tt-badge{
    background-color:var(--md-green) !important;
    color:var(--md-green-dark) !important;
}
/* divisórias/realces secundários */
.tt-price-old, .breadcrumb .active{ color:var(--md-green); }

.mdp-shop-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:nowrap;
    width:100%;
}

.mdp-shop-menu > li{
    float:none !important;
    flex:0 0 auto;
}

.mdp-shop-menu > li > a{
    white-space:nowrap;
}

.mdp-shop-menu .mdp-menu-categories{
    position:relative;
}

.mdp-shop-menu .mdp-category-dropdown{
    width:300px !important;
    min-width:300px;
    max-height:min(420px, 70vh);
    overflow-y:auto;
    overflow-x:hidden;
    padding:10px 0;
    text-align:left;
}

.mdp-shop-menu .mdp-category-dropdown > li > a{
    display:block;
    padding:10px 18px;
    white-space:normal;
    line-height:1.25;
}

.mdp-shop-menu .dl-back,
.mdp-shop-menu .dl-close{
    display:none;
}

.mdp-footer-trust{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    align-items:stretch;
    gap:16px;
    margin-top:26px;
}

.mdp-footer-trust-card{
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:20px;
    border:1px solid var(--md-line);
    border-radius:8px;
    background:linear-gradient(135deg, #ffffff 0%, #f6faef 100%);
    box-shadow:0 12px 28px rgba(3, 66, 31, .07);
}

.mdp-footer-trust-icon{
    width:46px;
    height:46px;
    flex:0 0 46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--md-green-dark);
    color:#fff;
    font-size:23px;
}

.mdp-footer-trust-content{
    min-width:0;
}

.mdp-footer-trust-label{
    display:block;
    margin-bottom:8px;
    color:var(--md-green-dark);
    font-size:12px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.mdp-footer-payment-logo{
    display:block;
    width:160px;
    max-width:100%;
    margin:0 0 10px;
}

.mdp-footer-security-logo{
    display:block;
    width:170px;
    max-width:100%;
    margin:0 0 10px;
}

.mdp-footer-trust-card p{
    margin:0 0 12px;
    color:#526058;
    font-size:14px;
    line-height:1.45;
}

.mdp-payment-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.mdp-payment-tags span{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:5px 10px;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(3, 66, 31, .12);
    color:var(--md-ink);
    font-size:12px;
    font-weight:600;
    line-height:1.1;
}

/* ---- Card de contato ---- */
.mdp-contact-list{
    list-style:none;
    margin:0;
    padding:0;
}

.mdp-contact-list li{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:6px;
    color:#526058;
    font-size:14px;
    line-height:1.35;
}

.mdp-contact-list li:last-child{
    margin-bottom:0;
}

.mdp-contact-list .icon{
    color:var(--md-green-dark);
    font-size:16px;
}

.mdp-contact-list a{
    color:#526058;
}

.mdp-contact-list a:hover{
    color:var(--md-green-dark);
}

/* ---- Selos sutis (Mercado Pago / Cloudflare) ---- */
.mdp-footer-trust-card--subtle{
    align-items:center;
    gap:0;
    padding:16px 18px;
    background:#fff;
    box-shadow:none;
}

.mdp-footer-trust-card--subtle .mdp-footer-trust-label{
    margin-bottom:4px;
    font-size:11px;
    color:#8a958c;
}

.mdp-footer-trust-card--subtle p{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin:0;
    color:#6d766f;
    font-size:13px;
}

.mdp-footer-inline-logo{
    height:20px;
    width:auto;
    max-width:120px;
    opacity:.85;
}

.mdp-experience{
    margin:40px 0 0;
    padding:0 0 34px;
}

.mdp-benefits{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:12px;
    margin-bottom:18px;
}

.mdp-benefit{
    min-height:82px;
    display:flex;
    align-items:center;
    gap:13px;
    padding:16px 18px;
    border:1px solid var(--md-line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 10px 22px rgba(3, 66, 31, .06);
}

.mdp-benefit .icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--md-soft);
    color:var(--md-green-dark);
    font-size:22px;
}

.mdp-benefit strong{
    display:block;
    color:var(--md-ink);
    font-size:16px;
    line-height:1.15;
    font-weight:700;
}

.mdp-benefit small{
    display:block;
    margin-top:4px;
    color:#6d766f;
    font-size:13px;
    line-height:1.25;
}

.mdp-brand-panel{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0, .95fr) minmax(320px, 1.05fr);
    align-items:center;
    gap:26px;
    min-height:270px;
    padding:30px 34px;
    border-radius:8px;
    background:linear-gradient(135deg, #f7fbf1 0%, #ffffff 52%, #eef6e5 100%);
    border:1px solid var(--md-line);
}

.mdp-brand-copy{
    position:relative;
    z-index:1;
}

.mdp-eyebrow{
    display:inline-block;
    margin-bottom:8px;
    color:var(--md-green-dark);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:12px;
}

.mdp-brand-copy h2{
    margin:0 0 12px;
    color:var(--md-green-dark);
    font-size:30px;
    line-height:1.15;
    text-transform:none;
}

.mdp-brand-copy p{
    max-width:520px;
    margin:0;
    color:#4d5b52;
    font-size:16px;
    line-height:1.55;
}

.mdp-brand-actions{
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:22px;
    flex-wrap:wrap;
}

.mdp-text-link{
    color:var(--md-green-dark);
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:4px;
}

.mdp-brand-images{
    position:relative;
    min-height:220px;
}

.mdp-product-img{
    position:absolute;
    right:110px;
    bottom:0;
    width:min(56%, 300px);
    max-height:250px;
    object-fit:contain;
    z-index:2;
}

.mdp-consultor-img{
    position:absolute;
    right:0;
    bottom:-18px;
    width:min(46%, 240px);
    border-radius:8px;
    box-shadow:0 18px 38px rgba(3, 66, 31, .16);
}

.mdp-why-card{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0, 1.1fr) minmax(220px, .65fr);
    grid-template-areas:
        "copy media"
        "points points";
    gap:28px 34px;
    overflow:hidden;
    padding:34px;
    border:1px solid var(--md-line);
    border-radius:8px;
    background:
        radial-gradient(circle at 88% 12%, rgba(156, 195, 59, .18), transparent 31%),
        linear-gradient(135deg, #ffffff 0%, #f7fbf1 100%);
    box-shadow:0 18px 42px rgba(3, 66, 31, .08);
}

.mdp-why-card:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:6px;
    height:100%;
    background:linear-gradient(180deg, var(--md-green-dark), var(--md-green));
}

.mdp-why-copy{
    grid-area:copy;
    position:relative;
    z-index:1;
}

.mdp-why-copy h2{
    max-width:760px;
    margin:0 0 14px;
    color:var(--md-green-dark);
    font-size:32px;
    line-height:1.16;
    text-transform:none;
}

.mdp-why-copy p{
    max-width:760px;
    margin:0 0 22px;
    color:#4d5b52;
    font-size:17px;
    line-height:1.58;
}

.mdp-why-media{
    grid-area:media;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:210px;
}

.mdp-why-media:before{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    border-radius:50%;
    background:#edf5e4;
}

.mdp-why-media img{
    position:relative;
    z-index:1;
    width:min(100%, 260px);
    max-height:250px;
    object-fit:contain;
    filter:drop-shadow(0 18px 24px rgba(3, 66, 31, .14));
}

.mdp-why-points{
    grid-area:points;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    position:relative;
    z-index:1;
}

.mdp-why-point{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:16px 0 0;
    border-top:1px solid rgba(3, 66, 31, .12);
}

.mdp-why-point .icon{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#fff;
    color:var(--md-green-dark);
    box-shadow:0 8px 18px rgba(3, 66, 31, .08);
    font-size:21px;
}

.mdp-why-point strong{
    display:block;
    color:var(--md-ink);
    font-size:16px;
    line-height:1.2;
}

.mdp-why-point small{
    display:block;
    margin-top:5px;
    color:#667269;
    font-size:13px;
    line-height:1.35;
}

@media (max-width:991px){
    .mdp-benefits{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .mdp-brand-panel{
        grid-template-columns:1fr;
        padding:26px 24px 22px;
    }

    .mdp-brand-images{
        min-height:230px;
    }

    .mdp-why-card{
        grid-template-columns:1fr;
        grid-template-areas:
            "copy"
            "media"
            "points";
        padding:28px 24px;
    }

    .mdp-why-media{
        min-height:190px;
    }

    .mdp-why-points{
        grid-template-columns:1fr;
    }

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

    .mdp-footer-trust-card--subtle{
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
    }
}

@media (max-width:600px){
    .mdp-experience{
        margin-top:28px;
        padding-bottom:24px;
    }

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

    .mdp-benefit{
        min-height:auto;
    }

    .mdp-brand-panel{
        padding:24px 18px 18px;
    }

    .mdp-brand-copy h2{
        font-size:24px;
    }

    .mdp-brand-images{
        min-height:190px;
    }

    .mdp-product-img{
        right:62px;
        width:62%;
    }

    .mdp-consultor-img{
        width:46%;
    }

    .mdp-why-card{
        padding:24px 18px;
    }

    .mdp-why-copy h2{
        font-size:24px;
    }

    .mdp-why-copy p{
        font-size:15px;
    }
}

/* ===== Topo: acesso rapido (Entrar + Escritorio Virtual) — visitante ===== */
.mdp-top-access{ display:inline-flex; align-items:center; gap:10px; vertical-align:top; white-space:nowrap; }
.mdp-top-entrar{ display:inline-flex; align-items:center; gap:6px; color:var(--md-green-dark); font-size:13px; font-weight:600; text-decoration:none; }
.mdp-top-entrar:hover{ color:var(--md-green); }
.mdp-top-entrar .icon{ font-size:14px; }
.mdp-top-escritorio{ display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:20px; background:var(--md-green-dark); color:#fff !important; font-size:12.5px; font-weight:700; text-decoration:none; border:1px solid var(--md-green-dark); line-height:1; transition:background .15s,color .15s,border-color .15s; }
.mdp-top-escritorio:hover{ background:var(--md-green); border-color:var(--md-green); color:var(--md-green-dark) !important; }
.mdp-top-escritorio .icon{ font-size:14px; }

/* desktop (>1024px): faixa verde-escura — "Entrar" branco e "Escritório" como pill
   verde-claro que destaca (igual ao mobile). NÃO afeta o mobile (media query própria abaixo). */
@media (min-width:1025px){
    /* respiro entre o acesso (Entrar/Escritório) e o menu (SOBRE NÓS…), sem mexer no float */
    .mdp-top-access{ gap:18px; margin-right:30px; }
    .mdp-top-entrar{ color:#fff; font-size:13px; }
    .mdp-top-entrar:hover{ color:var(--md-green); }
    .mdp-top-escritorio{
        background:var(--md-green); border-color:var(--md-green);
        color:var(--md-green-dark) !important;
        padding:6px 16px; font-size:12.5px;
    }
    .mdp-top-escritorio:hover{ background:#fff; border-color:#fff; color:var(--md-green-dark) !important; }
}

/* Botao Escritorio na barra sticky (stuck-nav verde) */
.stuck-nav{ position:relative; }
/* escondido por padrao; so aparece quando a barra fica fixa ao rolar (.fixedbar) */
.mdp-stick-escritorio{ display:none; align-items:center; gap:6px; position:absolute; top:50%; transform:translateY(-50%); right:58px; z-index:10050; background:var(--md-green); color:var(--md-green-dark) !important; padding:5px 12px; border-radius:18px; font-size:12px; font-weight:700; text-decoration:none; line-height:1; white-space:nowrap; box-shadow:0 2px 8px rgba(0,0,0,.18); }
.stuck-nav.fixedbar .mdp-stick-escritorio{ display:inline-flex; }
.mdp-stick-escritorio:hover{ background:#fff; color:var(--md-green-dark) !important; }
.mdp-stick-escritorio .icon{ font-size:14px; }

/* mobile: barra verde-escura (#9c6d25) — "Entrar" a esquerda, "Escritorio" no canto sup. direito;
   icone de usuario (account) escondido p/ visitante (substituido pelo botao) */
@media (max-width:1024px){
    /* barra verde do topo vira flex: "Loja: usuario" a esquerda, botoes (Entrar/Escritorio) a direita */
    #header .settings{ display:flex !important; align-items:center; justify-content:space-between; gap:8px; padding:0 12px !important; }
    #header .settings .account-row-list{ display:none !important; }
    .mdp-top-loja{ color:#fff; font-size:12px; line-height:1.2; min-width:0; flex:1 1 auto; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .mdp-top-loja strong{ color:#fff; }
    .mdp-top-access{ float:none !important; margin:0 0 0 auto; display:flex; align-items:center; gap:6px; flex:0 0 auto; }
    /* "Entrar" vira botao (pill translucido) */
    .mdp-top-entrar{ display:inline-flex; align-items:center; gap:5px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.55); color:#fff !important; padding:5px 11px; border-radius:16px; font-size:12px; font-weight:600; }
    .mdp-top-entrar:hover{ background:rgba(255,255,255,.30); color:#fff !important; }
    /* "Escritorio" inline (sem absoluto), pill verde-claro */
    .mdp-top-escritorio{ position:static; background:var(--md-green); border-color:var(--md-green); color:var(--md-green-dark) !important; padding:5px 11px; font-size:12px; white-space:nowrap; }
    .mdp-guest #header .account{ display:none !important; }
}
@media (max-width:480px){
    #header .settings{ gap:6px; padding:0 8px !important; }
    .mdp-top-loja{ font-size:11px; }
    .mdp-top-entrar{ padding:4px 9px; font-size:11px; }
    .mdp-top-entrar .icon{ display:none; }
    .mdp-top-escritorio{ padding:4px 9px; font-size:11px; }
    .mdp-stick-escritorio{ right:50px; padding:4px 10px; font-size:11px; }
}

/* card "Por que Henovar" entre as secoes de produto */
.mdp-why-between{ padding:18px 0 6px; }

/* Rodape mobile: Atendimento ocupa a linha toda; Pagamento(ML) e Seguranca(Cloudflare) lado a lado */
@media (max-width:991px){
    .mdp-footer-trust{ grid-template-columns:1fr 1fr; }
    .mdp-footer-contact{ grid-column:1 / -1; }
    .mdp-footer-trust-card--subtle{ flex-direction:column; align-items:flex-start; justify-content:flex-start; padding:16px; }
    .mdp-footer-trust-card--subtle .mdp-footer-payment-logo,
    .mdp-footer-trust-card--subtle .mdp-footer-security-logo{ width:auto; max-width:100%; height:auto; }
}

/* Descricao curta visivel nos cards de produto do slider (index/relacionados) */
.carousel-products .product__inside__description{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin:6px 10px 10px;
    font-size:13px;
    line-height:1.4;
    color:#5a6b5a;
    min-height:36px;
}

/* Clicar na FOTO do produto abre o detalhe (home + categorias).
   Esconde os controles do mini-carrossel (1 img) e poe o link da imagem por cima. */
.product__inside__carousel .carousel-control{ display:none !important; }
.product__inside__image{ position:relative; }
.product__inside__image > a,
.product__inside__image .carousel-inner .item > a{ display:block; position:relative; z-index:3; }
.product .quick-view{ z-index:2; }

/* iOS: evita o auto-zoom ao focar campos no mobile (acontece quando font-size < 16px).
   Forca 16px em todos os inputs/selects/textareas em telas pequenas. */
@media (max-width:768px){
    input, select, textarea,
    .form-control, .input_cep, .mdp-search, .cart-qty-input{ font-size:16px !important; }
}

/* Lista de categoria/busca: mostra a descricao curta no card (estava escondida em grid) */
.product-listing .product__inside__description{
    display:-webkit-box !important;
    -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
    margin:6px 0 8px; font-size:13px; line-height:1.4; color:#6a766f;
}

/* Logo do topo — reduzido ~50%. Renderizava a 471px na home (natural 600x153),
   grande demais para o cabeçalho. Escala com a tela e some as margens negativas
   que empurravam a versão mobile. A página de cadastro define o seu próprio
   tamanho (henovar-cadastro.css) e continua no dela.
   Reforço (set/2026): o <img> do header também carrega max-width inline, para o
   logo não subir borrado no mobile quando esta folha vier de cache velho. */
#header .logo{
    width:235px !important;
    max-width:60vw;
    height:auto !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
}
/* A barra .settings (Entrar/Escritório) vira position:absolute; top:0;
   height:50px no tema em telas <=1024px. Sem folga no topo o logo montava POR
   CIMA dela (renderizava em top~39px, dentro dos 50px da barra). A folga
   recoloca o logo logo abaixo da barra. */
@media (max-width:1024px){
    #header .logo{ margin-top:36px !important; }
}
@media (max-width:767px){
    #header .logo{ width:190px !important; }
}

/* ==========================================================================
   Card de produto da loja — padrão novo (home Destaque/Ofertas + relacionados
   do detalhe). Mesmo idioma visual do detalhe do produto e do carrinho.
   Cada card é um slide do slick (.carousel-products), então o slide não pode
   ter margem lateral que quebre o cálculo de largura — o respiro vem do padding
   interno do slick-slide.
   ========================================================================== */
.mdp-loja-slide{ height:auto; padding:6px; box-sizing:border-box; }
.carousel-products .slick-slide{ height:inherit; }
.carousel-products .slick-track{ display:flex; align-items:stretch; }
/* Antes do slick inicializar, os slides sao blocos full-width e a media
   (aspect-ratio 1/1) viraria um quadradao. Trava em 4 colunas ate o slick pegar. */
.carousel-products:not(.slick-initialized){ display:flex; flex-wrap:nowrap; overflow:hidden; gap:0; }
.carousel-products:not(.slick-initialized) > .mdp-loja-slide{ flex:0 0 25%; max-width:25%; }
@media (max-width:991px){ .carousel-products:not(.slick-initialized) > .mdp-loja-slide{ flex-basis:33.33%; max-width:33.33%; } }
@media (max-width:768px){ .carousel-products:not(.slick-initialized) > .mdp-loja-slide{ flex-basis:50%; max-width:50%; } }
@media (max-width:520px){ .carousel-products:not(.slick-initialized) > .mdp-loja-slide{ flex-basis:100%; max-width:100%; } }

.mdp-loja-card{
    display:flex; flex-direction:column; height:100%;
    background:#fff; border:1px solid var(--md-line);
    border-radius:16px; overflow:hidden;
    transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.mdp-loja-card:hover{
    border-color:var(--md-green);
    box-shadow:0 10px 26px rgba(3,66,31,.10);
    transform:translateY(-3px);
}
.mdp-loja-card__media{
    position:relative; display:block; aspect-ratio:1/1;
    background:var(--md-soft); padding:14px;
}
.mdp-loja-card__media img{
    width:100%; height:100%; object-fit:contain; display:block;
}
.mdp-loja-card__tag{
    position:absolute; top:10px; z-index:2;
    padding:3px 10px; border-radius:999px;
    font-size:11.5px; font-weight:800; line-height:1.4; letter-spacing:.02em;
}
.mdp-loja-card__tag.is-off{ left:10px; background:var(--md-green-dark); color:#fff; }
.mdp-loja-card__tag.is-novo{ right:10px; background:var(--md-green); color:var(--md-green-dark); text-transform:uppercase; }

.mdp-loja-card__body{
    display:flex; flex-direction:column; gap:7px; flex:1;
    padding:14px 15px 16px;
}
.mdp-loja-card__cat{
    font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
    color:var(--md-green); 
}
.mdp-loja-card__nome{ margin:0; font-size:15px; line-height:1.35; }
.mdp-loja-card__nome a{
    color:var(--md-ink) !important; font-weight:600; text-decoration:none !important;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.mdp-loja-card__nome a:hover{ color:var(--md-green-dark) !important; }

.mdp-loja-card__price{
    display:flex; align-items:baseline; gap:9px; flex-wrap:wrap;
    margin-top:auto; padding-top:6px;
}
.mdp-loja-card__price strong{ color:var(--md-green-dark); font-size:20px; font-weight:800; letter-spacing:-.02em; }
.mdp-loja-card__price s{ color:#9aa79f; font-size:13.5px; }

.mdp-loja-card__btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    margin-top:4px; min-height:44px; padding:11px 16px;
    border-radius:11px; background:var(--md-green-dark);
    color:#fff !important; font-weight:800; font-size:14px;
    text-decoration:none !important; text-transform:uppercase; letter-spacing:.02em;
    transition:background-color .16s ease;
}
.mdp-loja-card__btn:hover{ background:var(--md-green); color:var(--md-green-dark) !important; }
.mdp-loja-card__btn .icon{ font-size:15px; }

/* ==========================================================================
   Contato e suporte (/loja/ajuda/contato) — cards de canal + formulário,
   no mesmo idioma da loja (cartão claro, verde da marca).
   ========================================================================== */
.mdp-contato{ padding:8px 0 52px; color:var(--md-ink); }
.mdp-contato-hero{ max-width:720px; margin:14px auto 26px; text-align:center; }
.mdp-contato-eyebrow{
    display:inline-block; margin-bottom:8px;
    font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
    color:var(--md-green);
}
.mdp-contato-hero h1{ margin:0 0 8px; font-size:30px; line-height:1.15; color:var(--md-green-dark); }
.mdp-contato-hero p{ margin:0; font-size:15.5px; line-height:1.6; color:#5d6b62; }

.mdp-contato-layout{
    display:grid; gap:20px; align-items:start;
    grid-template-columns:minmax(0,340px) minmax(0,1fr);
}

.mdp-contato-canais{ display:flex; flex-direction:column; gap:12px; }
.mdp-contato-card{
    display:flex; align-items:center; gap:14px;
    padding:16px 18px; border:1px solid var(--md-line); border-radius:14px;
    background:#fff; color:var(--md-ink) !important; text-decoration:none !important;
    transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.mdp-contato-card:hover{
    border-color:var(--md-green); transform:translateY(-2px);
    box-shadow:0 8px 22px rgba(3,66,31,.09);
}
.mdp-contato-ic{
    display:grid; place-items:center; flex:0 0 50px; width:50px; height:50px;
    border-radius:13px; background:var(--md-soft); color:var(--md-green-dark); font-size:20px;
}
.mdp-contato-card:hover .mdp-contato-ic{ background:var(--md-green-dark); color:#fff; }
.mdp-contato-card__txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.mdp-contato-card__txt small{ font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#8a978c; }
.mdp-contato-card__txt strong{ font-size:15px; color:var(--md-green-dark); word-break:break-word; }
.mdp-contato-card__cta{ font-size:12.5px; font-weight:700; color:var(--md-green); }

.mdp-contato-empresa{
    margin-top:4px; padding:14px 16px; border-radius:12px;
    background:var(--md-soft); color:#5d6b62; font-size:12.5px; line-height:1.6;
}
.mdp-contato-empresa strong{ display:block; color:var(--md-green-dark); font-size:13px; margin-bottom:2px; }

.mdp-contato-form-card{
    border:1px solid var(--md-line); border-radius:16px; background:#fff; overflow:hidden;
    box-shadow:0 4px 16px rgba(3,66,31,.05);
}
.mdp-contato-form-card > header{ padding:20px 22px 0; }
.mdp-contato-form-card > header h2{ margin:0 0 4px; font-size:19px; color:var(--md-green-dark); }
.mdp-contato-form-card > header p{ margin:0; font-size:14px; color:#5d6b62; line-height:1.55; }

.mdp-contato-form{ padding:18px 22px 22px; }
.mdp-contato-linha{ display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.mdp-contato-campo{ display:flex; flex-direction:column; gap:6px; min-width:0; margin:0 0 14px; }
.mdp-contato-campo--full{ margin-bottom:0; }
.mdp-contato-campo > span{ font-size:13.5px; font-weight:700; color:var(--md-ink); }
.mdp-contato-campo input,
.mdp-contato-campo textarea{
    width:100%; padding:11px 13px; border:1px solid var(--md-line); border-radius:11px;
    background:#fff; color:var(--md-ink); font-family:inherit; font-size:15px;
    transition:border-color .15s ease, box-shadow .15s ease;
}
.mdp-contato-campo input:focus,
.mdp-contato-campo textarea:focus{ outline:none; border-color:var(--md-green-dark); box-shadow:0 0 0 3px rgba(156,195,62,.28); }
.mdp-contato-campo input{ min-height:46px; }
.mdp-contato-campo textarea{ resize:vertical; min-height:150px; }

.mdp-contato-acoes{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:16px; }
.mdp-contato-enviar{
    display:inline-flex; align-items:center; justify-content:center; min-height:48px;
    padding:13px 28px; border:0; border-radius:12px;
    background:var(--md-green-dark); color:#fff; font-size:15px; font-weight:800;
    text-transform:uppercase; letter-spacing:.02em; cursor:pointer;
    transition:background-color .16s ease, transform .12s ease;
}
.mdp-contato-enviar:hover{ background:var(--md-green); color:var(--md-green-dark); transform:translateY(-1px); }
.mdp-contato-nota{ font-size:12.5px; color:#8a978c; }

@media (max-width:860px){
    .mdp-contato-layout{ grid-template-columns:1fr; }
}
@media (max-width:520px){
    .mdp-contato-hero h1{ font-size:24px; }
    .mdp-contato-form{ padding:16px; }
    .mdp-contato-acoes{ flex-direction:column-reverse; align-items:stretch; }
    .mdp-contato-enviar{ width:100%; }
    .mdp-contato-nota{ text-align:center; }
}

/* ==========================================================================
   Sobre nós (/loja/sobre) — mesmo idioma da loja (cartões, verde da marca).
   ========================================================================== */
.mdp-sobre{ padding:8px 0 8px; color:var(--md-ink); }
.mdp-sobre .container{ max-width:1140px; }
.mdp-sobre-eyebrow{
    display:inline-block; margin-bottom:8px;
    font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--md-green);
}
.mdp-sobre-hero{ max-width:760px; margin:16px auto 30px; text-align:center; }
.mdp-sobre-hero h1{ margin:0 0 10px; font-size:32px; line-height:1.14; color:var(--md-green-dark); }
.mdp-sobre-hero p{ margin:0; font-size:16px; line-height:1.65; color:#5d6b62; }

.mdp-sobre-titulo{ text-align:center; margin:0 0 22px; }
.mdp-sobre-titulo h2{ margin:2px 0 0; font-size:24px; color:var(--md-green-dark); }
.mdp-sobre-secao{ margin:0 0 40px; }

/* intro: dois blocos, o 2º em destaque verde */
.mdp-sobre-intro{ display:grid; gap:18px; grid-template-columns:1fr 1fr; margin:0 0 40px; }
.mdp-sobre-bloco{ padding:26px 26px; border:1px solid var(--md-line); border-radius:16px; background:#fff; }
.mdp-sobre-bloco h2{ margin:0 0 12px; font-size:21px; color:var(--md-green-dark); }
.mdp-sobre-bloco p{ margin:0 0 12px; font-size:15px; line-height:1.65; color:#54615a; }
.mdp-sobre-bloco p:last-child{ margin-bottom:0; }
.mdp-sobre-bloco.is-destaque{
    background:linear-gradient(160deg, var(--md-green-dark), var(--md-green-darker)); border-color:transparent; color:#eaf4e2;
}
.mdp-sobre-bloco.is-destaque h2{ color:#fff; }
.mdp-sobre-bloco.is-destaque p{ color:#d6e7cd; }
.mdp-sobre-frase{ margin-top:14px !important; font-weight:800; color:var(--md-green) !important; }

/* valores: 4 tiles */
.mdp-sobre-valores{ display:grid; gap:16px; grid-template-columns:repeat(4,1fr); }
.mdp-sobre-valor{ text-align:center; padding:26px 18px; border:1px solid var(--md-line); border-radius:14px; background:#fff;
                  transition:transform .15s, box-shadow .15s, border-color .15s; }
.mdp-sobre-valor:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(3,66,31,.10); border-color:var(--md-green); }
.mdp-sobre-ic{ display:grid; place-items:center; width:64px; height:64px; margin:0 auto 14px; border-radius:50%;
               background:var(--md-soft); }
.mdp-sobre-ic svg{ width:30px; height:30px; fill:var(--md-green-dark); }
.mdp-sobre-valor h3{ margin:0 0 7px; text-transform:uppercase; font-size:15px; font-weight:700; color:var(--md-green-dark); letter-spacing:.02em; }
.mdp-sobre-valor p{ margin:0; font-size:13.5px; line-height:1.5; color:#6a726a; }

/* líderes: 2 cards com avatar de iniciais */
.mdp-sobre-lideres{ display:grid; gap:18px; grid-template-columns:1fr 1fr; }
.mdp-sobre-lider{ display:flex; gap:16px; padding:24px; border:1px solid var(--md-line); border-radius:16px; background:#fff; }
.mdp-sobre-avatar{ flex:0 0 58px; width:58px; height:58px; border-radius:50%; display:grid; place-items:center;
                   background:var(--md-green-dark); color:#fff; font-weight:800; font-size:19px; letter-spacing:.02em; }
.mdp-sobre-lider h3{ margin:0 0 8px; font-size:17px; color:var(--md-green-dark); display:flex; flex-direction:column; gap:2px; }
.mdp-sobre-lider h3 small{ font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--md-green); }
.mdp-sobre-lider p{ margin:0; font-size:14px; line-height:1.6; color:#54615a; }

/* por que escolher: 3 cards, o do meio em destaque */
.mdp-sobre-cards{ display:grid; gap:16px; grid-template-columns:repeat(3,1fr); }
.mdp-sobre-card{ position:relative; padding:26px 22px; border:1px solid var(--md-line); border-radius:16px; background:#fff; }
.mdp-sobre-card h3{ margin:0 0 8px; font-size:17px; color:var(--md-green-dark); }
.mdp-sobre-card p{ margin:0; font-size:14px; line-height:1.6; color:#54615a; }
.mdp-sobre-card.is-forte{ border-color:var(--md-green); box-shadow:0 10px 26px rgba(3,66,31,.10); }
.mdp-sobre-selo{ position:absolute; top:16px; right:16px; padding:4px 11px; border-radius:999px;
                 background:var(--md-green-dark); color:#fff; font-size:12px; font-weight:800; }
.mdp-sobre-card.is-forte strong{ color:var(--md-green-dark); }

/* passos numerados */
.mdp-sobre-passos{ display:grid; gap:16px; grid-template-columns:repeat(4,1fr); }
.mdp-sobre-passo{ padding:24px 20px; border:1px solid var(--md-line); border-radius:14px; background:#fff; }
.mdp-sobre-num{ display:inline-grid; place-items:center; width:38px; height:38px; margin-bottom:12px; border-radius:50%;
                background:var(--md-green); color:var(--md-green-dark); font-weight:800; font-size:17px; }
.mdp-sobre-passo h4{ margin:0 0 7px; text-transform:uppercase; font-size:14px; font-weight:700; color:var(--md-green-dark); line-height:1.25; }
.mdp-sobre-passo p{ margin:0; font-size:13.5px; line-height:1.5; color:#6a726a; }

/* CTA final */
.mdp-sobre-cta{ margin:8px 0 20px; padding:40px 28px; text-align:center; border-radius:20px;
                background:linear-gradient(160deg, var(--md-green-dark), var(--md-green-darker)); color:#eaf4e2; }
.mdp-sobre-cta h2{ margin:0 0 10px; font-size:26px; color:#fff; }
.mdp-sobre-cta p{ margin:0 auto 20px; max-width:560px; font-size:15.5px; line-height:1.6; color:#d6e7cd; }
.mdp-sobre-btn{ display:inline-flex; align-items:center; min-height:50px; padding:14px 30px; border-radius:12px;
                background:var(--md-green); color:var(--md-green-dark) !important; font-size:15px; font-weight:800;
                text-transform:uppercase; letter-spacing:.02em; text-decoration:none !important; transition:transform .12s, background-color .16s; }
.mdp-sobre-btn:hover{ background:#fff; transform:translateY(-2px); }

@media (max-width:960px){
    .mdp-sobre-intro,.mdp-sobre-lideres{ grid-template-columns:1fr; }
    .mdp-sobre-valores,.mdp-sobre-cards,.mdp-sobre-passos{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px){
    .mdp-sobre-hero h1{ font-size:25px; }
    .mdp-sobre-valores,.mdp-sobre-cards,.mdp-sobre-passos{ grid-template-columns:1fr; }
    .mdp-sobre-lider{ flex-direction:column; }
}

/* Listagem de busca/categoria/subcategoria: grade com o mesmo .mdp-loja-card.
   .product-listing e um .row do Bootstrap (margens negativas); vira grid. */
.product-listing.product-listing{ display:grid; gap:16px; margin:0 0 10px;
    grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); }
/* o .row do Bootstrap tem clearfix :before/:after — em grid eles viravam ITENS
   e empurravam o 1o produto para a 2a coluna (celula fantasma). */
.product-listing.product-listing::before,
.product-listing.product-listing::after{ content:none; display:none; }
.mdp-loja-cell{ min-width:0; }
@media (max-width:520px){
    .product-listing.product-listing{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}

/* Seja um Consultor (/loja/cadastre-se) — reaproveita .mdp-sobre-* e
   .mdp-contato-*; aqui ficam só as peças próprias. */
.mdp-cadastro .mdp-sobre-valores--3{ grid-template-columns:repeat(3,1fr); }
.mdp-cadastro .mdp-sobre-cards--2{ grid-template-columns:repeat(2,1fr); max-width:820px; margin:0 auto; }
.mdp-cadastro-aviso{ margin:16px auto 0; max-width:760px; text-align:center; font-size:12.5px; line-height:1.6; color:#8a978c; }
.mdp-cadastro-valores{ margin:18px 0 0; text-align:center; font-size:14.5px; color:#54615a; }
.mdp-cadastro-valores strong{ color:var(--md-green-dark); }

.mdp-cadastro-acoes{ display:grid; gap:18px; grid-template-columns:1fr 1fr; align-items:start; }
.mdp-cadastro-card{ padding:26px; border:1px solid var(--md-line); border-radius:16px; background:#fff; }
.mdp-cadastro-card h3{ margin:0 0 6px; font-size:19px; color:var(--md-green-dark); }
.mdp-cadastro-card > p{ margin:0 0 16px; font-size:14.5px; line-height:1.6; color:#54615a; }
.mdp-cadastro-card .mdp-sobre-btn{ margin-top:4px; }
.mdp-cadastro-card .mdp-contato-form{ padding:0; }

.mdp-cadastro-legal{ margin:26px auto 8px; max-width:900px; text-align:center; font-size:12px; line-height:1.65; color:#93a08f; }

@media (max-width:860px){
    .mdp-cadastro .mdp-sobre-valores--3{ grid-template-columns:1fr; }
    .mdp-cadastro .mdp-sobre-cards--2{ grid-template-columns:1fr; }
    .mdp-cadastro-acoes{ grid-template-columns:1fr; }
}
