/* ============================================================
   LojaObra — Header + Hero (estilo Obramax · header NAVY)
   Carregado por último para sobrescrever estilos do tema base.
   ============================================================ */

:root{
    --lo-orange:#F58220;
    --lo-orange-dark:#E26F0E;
    --lo-navy:#0E2A5C;
    --lo-navy-dark:#0a1f44;
    --lo-blue:#0E2A5C;
    --lo-blue-dark:#0a1f44;
    --lo-gray-nav:#5b6066;
    --lo-gray-nav-dark:#4e5258;
    --lo-text:#1a1a1a;
    --lo-line:#e6e6e6;
    --lo-radius:6px;
}

/* Esconde a topbar antiga ("Retire na loja / Frete grátis...") */
.ob-topbar{ display:none !important; }

/* Linha laranja fina no topo da página */
.lo-topline{
    height:3px;
    background:var(--lo-orange);
    width:100%;
}

/* ---------- WRAPPER ---------- */
.ob-header-wrap.lo-hdr-wrap{
    background:var(--lo-navy);
    border-bottom:0;
    position:relative;
    z-index:50;
    background-image:none;
}

/* ============================================================
   HEADER TOPO (NAVY)
   ============================================================ */
.lo-hdr.ob-header{
    background:var(--lo-navy);
    background-image:none;
    padding:14px 24px;
    min-height:auto;
    color:#fff;
    border:0;
    box-shadow:none;
}
.lo-hdr__inner{
    max-width:1360px;
    margin:0 auto;
    display:grid;
    grid-template-columns: auto minmax(280px, 1fr) auto auto;
    align-items:center;
    gap:24px;
}

/* Logo (caixa azul + tarja laranja) */
.lo-hdr__logo{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    background:var(--lo-navy);
    color:#fff;
    border:2px solid #fff;
    border-radius:4px;
    padding:8px 18px 2px;
    line-height:1;
    min-width:160px;
    overflow:hidden;
    position:relative;
}
.lo-hdr__logo:hover{ color:#fff; }
.lo-hdr__logo-main{
    font-weight:900;
    font-size:26px;
    letter-spacing:1px;
    font-family:'Arial Black','Inter',system-ui,sans-serif;
    color:#fff;
}
.lo-hdr__logo-sub{
    display:block;
    background:var(--lo-orange);
    color:#fff;
    font-size:8px;
    letter-spacing:2px;
    font-weight:700;
    padding:3px 12px;
    margin:6px -18px -2px;
    text-align:center;
    width:calc(100% + 36px);
}

/* Busca (input branco para contraste no header navy) */
.lo-hdr__search{
    position:relative;
    display:flex;
    align-items:center;
    height:46px;
    background:#fff;
    border:0;
    border-radius:var(--lo-radius);
    overflow:hidden;
    transition:box-shadow .15s ease;
}
.lo-hdr__search:focus-within{ box-shadow:0 0 0 3px rgba(245,130,32,.35); }
.lo-hdr__search-input{
    flex:1;
    height:100%;
    border:0;
    background:transparent;
    padding:0 46px 0 18px;
    font-size:15px;
    color:var(--lo-text);
    outline:none;
}
.lo-hdr__search-input::placeholder{ color:#9a9a9a; }
.lo-hdr__search-spark{
    position:absolute;
    right:62px;
    top:50%;
    transform:translateY(-50%);
    color:#3b6bd9;
    pointer-events:none;
}
.lo-hdr__search-btn{
    height:100%;
    width:54px;
    background:var(--lo-orange);
    border:0;
    color:#fff;
    cursor:pointer;
    display:grid;
    place-items:center;
    transition:background .15s ease;
}
.lo-hdr__search-btn:hover{ background:var(--lo-orange-dark); }

/* Botão Home (ícone + label em branco) */
.lo-hdr__icon-btn{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    text-decoration:none;
    color:#fff;
    padding:4px 10px;
    border-radius:6px;
    transition:background .15s ease, transform .15s ease;
}
.lo-hdr__icon-btn:hover{ background:rgba(255,255,255,.08); color:#fff; }
.lo-hdr__icon-btn svg{ color:#fff; }
.lo-hdr__icon-btn-label{
    font-size:12px;
    font-weight:600;
    letter-spacing:.3px;
    color:#fff;
}

/* Carrinho redondo laranja (igual antes) */
.lo-hdr__cart{
    position:relative;
    width:46px;
    height:46px;
    border-radius:50%;
    background:var(--lo-orange);
    color:#fff;
    display:grid;
    place-items:center;
    text-decoration:none;
    flex-shrink:0;
    transition:background .15s ease;
}
.lo-hdr__cart:hover{ background:var(--lo-orange-dark); }
.lo-hdr__cart svg{ color:#fff; }
.lo-hdr__cart .ob-cart-count,
.lo-hdr__cart-count{
    position:absolute;
    top:-4px;
    right:-4px;
    min-width:22px;
    height:22px;
    padding:0 6px;
    border-radius:11px;
    background:#fff;
    color:var(--lo-navy);
    font-size:12px;
    font-weight:800;
    display:grid;
    place-items:center;
    border:2px solid var(--lo-navy);
    line-height:1;
}

/* Mobile hamburger */
.lo-hdr__mobile{
    display:none;
    background:transparent;
    border:0;
    cursor:pointer;
    color:#fff;
    padding:8px;
}

/* ============================================================
   NAVBAR CINZA
   ============================================================ */
.lo-nav.ob-nav{
    background:var(--lo-gray-nav);
    background-image:none;
    color:#fff;
    position:relative;
    padding:0;
    border:0;
    min-height:auto;
}
.lo-nav__inner{
    max-width:1360px;
    margin:0 auto;
    padding:0 24px;
    display:flex;
    align-items:stretch;
    gap:0;
    min-height:44px;
}

.lo-nav__deps.ob-nav__all-depts{
    background:var(--lo-gray-nav-dark);
    color:#fff;
    border:0;
    padding:0 18px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    font-size:14px;
    font-weight:700;
    letter-spacing:.5px;
    border-right:1px solid rgba(255,255,255,.15);
    border-radius:0;
    height:auto;
    text-transform:uppercase;
}
.lo-nav__deps.ob-nav__all-depts:hover{ background:#3f4348; }
.lo-nav__deps.ob-nav__all-depts svg{ color:#fff; }

.lo-nav__links{
    list-style:none;
    margin:0;
    padding:0 0 0 8px;
    display:flex;
    align-items:center;
    gap:0;
    flex:1;
}
.lo-nav__links li{ display:inline-flex; align-items:center; }
.lo-nav__links li::after{
    content:"|";
    color:rgba(255,255,255,.35);
    margin:0 2px;
}
.lo-nav__links li:last-child::after{ content:""; }
.lo-nav__links a{
    color:#fff;
    text-decoration:none;
    padding:6px 14px;
    font-size:14px;
    font-weight:500;
    white-space:nowrap;
    transition:color .15s ease;
}
.lo-nav__links a:hover{ color:var(--lo-orange); }

.lo-nav__right{
    display:inline-flex;
    align-items:center;
    gap:22px;
    padding-left:18px;
    margin-left:auto;
    border-left:1px solid rgba(255,255,255,.15);
}
.lo-nav__quote{
    color:#fff;
    text-decoration:none;
    font-size:13.5px;
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.lo-nav__quote-ico{ color:var(--lo-orange); display:inline-flex; }
.lo-nav__quote em{ color:var(--lo-orange); font-style:normal; text-decoration:underline; font-weight:700; }
.lo-nav__quote:hover em{ color:#fff; }

/* Mega menu — reposiciona abaixo da nova navbar */
.lo-nav .ob-mega-menu{
    position:absolute;
    top:100%;
    left:0;
    right:0;
}

/* ============================================================
   HERO BANNER (slider laranja estilo Obramax)
   ============================================================ */
.lo-hero{
    width:100%;
    background:#fff;
}
.lo-hero__slider{
    position:relative;
    max-width:100%;
    margin:0 auto;
    overflow:hidden;
    background:var(--lo-orange);
    aspect-ratio: 1920 / 480;
    min-height:280px;
    max-height:520px;
}
@media (max-width: 767px){
    .lo-hero__slider{ aspect-ratio: 828 / 600; max-height:none; }
}
.lo-hero__slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity .45s ease;
    pointer-events:none;
}
.lo-hero__slide.is-active{
    opacity:1;
    pointer-events:auto;
}
.lo-hero__slide-link,
.lo-hero__slide picture{
    display:block;
    width:100%;
    height:100%;
}
.lo-hero__slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}

/* Setas */
.lo-hero__arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:44px;
    border-radius:50%;
    background:rgba(139, 78, 18, .75);
    color:#fff;
    border:0;
    cursor:pointer;
    display:grid;
    place-items:center;
    z-index:3;
    transition:background .15s ease;
}
.lo-hero__arrow:hover{ background:rgba(139, 78, 18, .95); }
.lo-hero__arrow--prev{ left:18px; }
.lo-hero__arrow--next{ right:18px; }

/* Dots */
.lo-hero__dots{
    position:absolute;
    left:50%;
    bottom:14px;
    transform:translateX(-50%);
    display:flex;
    gap:8px;
    z-index:3;
    pointer-events:auto;
}
.lo-hero__dot{
    width:10px; height:10px;
    border-radius:50%;
    background:rgba(255,255,255,.55);
    border:0;
    cursor:pointer;
    padding:0;
    transition:background .15s ease, transform .15s ease;
}
.lo-hero__dot.is-active{
    background:#fff;
    transform:scale(1.25);
}

/* ----- Placeholder slides (cada slide com paleta/texto próprio) ----- */
.lo-hero__slide--placeholder{
    background:linear-gradient(90deg, var(--lo-orange) 0%, var(--lo-orange) 55%, #c95a0e 100%);
}
.lo-hero__slide--placeholder.theme-cabos       { background:linear-gradient(90deg,#F58220 0%,#F58220 55%,#c95a0e 100%); }
.lo-hero__slide--placeholder.theme-betoneiras  { background:linear-gradient(90deg,#1F3A6E 0%,#1F3A6E 55%,#0a1f44 100%); }
.lo-hero__slide--placeholder.theme-tratores    { background:linear-gradient(90deg,#0E7C3A 0%,#0E7C3A 55%,#0a4a22 100%); }
.lo-hero__slide--placeholder.theme-geradores   { background:linear-gradient(90deg,#B6451A 0%,#B6451A 55%,#6e2a10 100%); }
.lo-hero__slide--placeholder.theme-caixa       { background:linear-gradient(90deg,#1B7AA8 0%,#1B7AA8 55%,#0e4a66 100%); }

.lo-hero__ph{
    max-width:1360px;
    height:100%;
    margin:0 auto;
    padding:0 80px;
    display:grid;
    grid-template-columns: 1fr 1fr;
    align-items:center;
    gap:40px;
    color:#fff;
    font-family:'Inter','Arial Black',system-ui,sans-serif;
}
.lo-hero__ph-eyebrow{
    background:var(--lo-navy);
    color:#fff;
    display:inline-flex;
    flex-direction:column;
    padding:14px 24px;
    font-weight:900;
    font-size:clamp(30px, 4.4vw, 58px);
    line-height:.95;
    letter-spacing:1px;
    border-radius:4px;
    width:max-content;
    max-width:100%;
}
.lo-hero__slide--placeholder.theme-betoneiras .lo-hero__ph-eyebrow{ background:#F58220; }
.lo-hero__ph-tagline{
    margin:18px 0 0;
    font-weight:800;
    font-size:clamp(13px, 1.4vw, 18px);
    line-height:1.25;
    letter-spacing:.5px;
}
.lo-hero__ph-right{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
    justify-self:end;
}
.lo-hero__ph-headline{
    display:inline-flex;
    flex-direction:column;
    font-weight:900;
    font-size:clamp(38px, 6vw, 84px);
    line-height:.9;
    color:#fff;
    text-shadow:2px 3px 0 rgba(0,0,0,.18);
    font-style:italic;
    transform:skew(-6deg);
}
.lo-hero__ph-cta{
    display:inline-flex;
    align-items:center;
    background:var(--lo-navy);
    color:#fff;
    font-weight:800;
    font-size:14px;
    letter-spacing:1.5px;
    padding:14px 30px;
    border-radius:4px;
    text-decoration:none;
    transition:background .15s ease, transform .15s ease;
}
.lo-hero__ph-cta:hover{ background:var(--lo-navy-dark); color:#fff; transform:translateY(-1px); }
.lo-hero__slide--placeholder.theme-betoneiras .lo-hero__ph-cta{ background:#F58220; }
.lo-hero__slide--placeholder.theme-betoneiras .lo-hero__ph-cta:hover{ background:#E26F0E; }

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width: 1100px){
    .lo-hdr__inner{
        grid-template-columns: auto 1fr auto auto;
        gap:16px;
    }
    .lo-hero__ph{ padding:0 32px; }
}

@media (max-width: 900px){
    .lo-hdr__inner{
        grid-template-columns: auto 1fr auto auto;
        gap:12px;
    }
    .lo-hdr__icon-btn--home{ display:none; }
    .lo-nav__right{ display:none; }
    .lo-nav__links{ overflow-x:auto; flex-wrap:nowrap; scrollbar-width:none; }
    .lo-nav__links::-webkit-scrollbar{ display:none; }
}

@media (max-width: 767px){
    .lo-hdr.ob-header{ padding:10px 14px; }
    .lo-hdr__inner{
        grid-template-columns: auto 1fr auto auto;
        gap:10px;
    }
    .lo-hdr__logo{ min-width:0; padding:6px 12px 2px; }
    .lo-hdr__logo-main{ font-size:18px; }
    .lo-hdr__logo-sub{ font-size:6px; padding:2px 8px; margin:4px -12px -2px; width:calc(100% + 24px); }
    .lo-hdr__search{ height:40px; order:5; grid-column:1 / -1; }
    .lo-hdr__search-input{ font-size:14px; padding-left:12px; }
    .lo-hdr__search-spark{ display:none; }
    .lo-hdr__cart{ width:40px; height:40px; }
    .lo-hdr__mobile{ display:inline-grid; place-items:center; }
    .lo-nav.ob-nav{ display:none; }
    .lo-hero__ph{ padding:0 18px; grid-template-columns:1fr; text-align:center; }
    .lo-hero__ph-right{ align-items:center; justify-self:center; }
    .lo-hero__ph-eyebrow{ margin:0 auto; font-size:clamp(28px, 9vw, 48px); }
    .lo-hero__arrow{ width:36px; height:36px; }
    .lo-hero__arrow--prev{ left:8px; }
    .lo-hero__arrow--next{ right:8px; }
}

/* ============================================================
   LojaObra — "Compre por departamento" (carrossel de categorias)
   ============================================================ */
.lo-cats{
    background:#fff;
    padding:48px 0 56px;
}

.lo-cats__header{
    max-width:1360px;
    margin:0 auto 32px;
    padding:0 24px;
}

.lo-cats__title{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin:0;
    padding:0 0 10px;
    border-bottom:3px solid var(--lo-orange);
    font-size:clamp(22px, 2.4vw, 28px);
    font-weight:800;
    color:var(--lo-text);
    line-height:1.2;
    letter-spacing:-.2px;
}
.lo-cats__title-ico{
    color:var(--lo-text);
    display:inline-flex;
    margin-left:2px;
}

/* Cards: círculo cinza-escuro + nome embaixo */
.lo-cats .ob-cat-card-v2{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:var(--lo-text);
    padding:8px 4px;
    transition:transform .2s ease;
}
.lo-cats .ob-cat-card-v2:hover{
    transform:translateY(-3px);
}

/* Importante: usa !important para vencer regras inline injetadas em
   functions.php (linhas 512-514) que usam !important nessas mesmas props. */
.lo-cats .ob-cat-card-v2__img-wrap{
    width:120px !important;
    height:120px !important;
    border-radius:50% !important;
    background:#5a5e64 !important;
    border:0 !important;
    display:grid !important;
    place-items:center !important;
    overflow:hidden !important;
    transition:background .2s ease, box-shadow .2s ease !important;
    position:relative;
    aspect-ratio:auto !important;
    flex-shrink:0 !important;
}
.lo-cats .ob-cat-card-v2:hover .ob-cat-card-v2__img-wrap{
    background:#3f4348 !important;
    border-color:transparent !important;
    box-shadow:0 6px 18px rgba(0,0,0,.18);
}

.lo-cats .ob-cat-card-v2__img{
    width:78% !important;
    height:78% !important;
    object-fit:contain !important;
    border-radius:0 !important;
    transition:transform .25s ease !important;
    filter:none;
    mix-blend-mode:normal;
    background:transparent;
}
.lo-cats .ob-cat-card-v2:hover .ob-cat-card-v2__img{
    transform:scale(1.06);
}
.lo-cats .ob-cat-card-v2__placeholder{
    width:50% !important;
    height:50% !important;
    background:rgba(255,255,255,.15) !important;
    border-radius:8px;
}

.lo-cats .ob-cat-card-v2__body{
    text-align:center;
    padding:0 4px;
}
.lo-cats .ob-cat-card-v2__name{
    font-size:13.5px;
    font-weight:500;
    color:var(--lo-text);
    line-height:1.25;
    display:inline-block;
    max-width:140px;
}
.lo-cats .ob-cat-card-v2:hover .ob-cat-card-v2__name{
    color:var(--lo-orange);
}

/* Splide: setas grandes laranja, redondas, sobrepostas */
.lo-cats .splide{
    position:relative;
    padding:0 60px;
}
.lo-cats .splide__track{ overflow:hidden; }
.lo-cats .splide__list{ align-items:center; }
.lo-cats .splide__slide{ display:flex; justify-content:center; }

.lo-cats .ob-splide-arrows{
    position:static;
}
.lo-cats .splide__arrow,
.lo-cats .splide__arrow--prev,
.lo-cats .splide__arrow--next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    border-radius:50%;
    background:var(--lo-orange);
    color:#fff;
    border:0;
    cursor:pointer;
    display:grid;
    place-items:center;
    z-index:5;
    box-shadow:0 4px 10px rgba(0,0,0,.12);
    transition:background .15s ease, transform .15s ease;
    opacity:1;
}
.lo-cats .splide__arrow:hover{
    background:var(--lo-orange-dark);
    transform:translateY(-50%) scale(1.06);
}
.lo-cats .splide__arrow svg{ color:#fff; width:18px; height:18px; }
.lo-cats .splide__arrow--prev{ left:0; }
.lo-cats .splide__arrow--next{ right:0; }
.lo-cats .splide__arrow:disabled{
    opacity:.35;
    cursor:not-allowed;
}

/* Esconde paginação default se aparecer */
.lo-cats .splide__pagination{ display:none; }

/* ----- Responsivo ----- */
@media (max-width: 900px){
    .lo-cats{ padding:32px 0 40px; }
    .lo-cats .splide{ padding:0 44px; }
    .lo-cats .ob-cat-card-v2__img-wrap{ width:92px !important; height:92px !important; }
    .lo-cats .splide__arrow{ width:36px; height:36px; }
}
@media (max-width: 600px){
    .lo-cats .splide{ padding:0 36px; }
    .lo-cats .ob-cat-card-v2__img-wrap{ width:82px !important; height:82px !important; }
    .lo-cats .ob-cat-card-v2__name{ font-size:12.5px; }
}

/* ============================================================
   LojaObra — Filtros e Sidebar (Loja / categoria / busca)
   - Esconde o widget de filtro de preço (não funcionava bem)
   - Sidebar responsivo (colapsa no mobile)
   ============================================================ */

/* Esconde filtro de preço onde quer que apareça (sidebar dinâmica, etc.) */
.widget_price_filter,
aside .widget_price_filter,
.ob-sidebar .widget_price_filter{
    display:none !important;
}

/* Filter card mais compacto, sem overflow horizontal */
.ob-filter-card{
    min-width:0;
    word-wrap:break-word;
    overflow-wrap:break-word;
}
.ob-filter-card__title{
    font-size:13px;
    word-break:break-word;
}

/* Reduz "Categorias" caso o título seja muito grande */
.ob-filter-card .ob-filter-list a{
    word-break:break-word;
}

/* -------- Responsivo: ≤992px sidebar vai para cima do conteúdo -------- */
@media (max-width: 992px){
    .ob-archive{
        grid-template-columns:1fr !important;
        gap:20px !important;
        padding:20px 0 !important;
    }
    .ob-sidebar{
        order:-1;
    }
    /* Filtros em linha quando há espaço */
    .ob-sidebar{
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
        gap:14px;
    }
    .ob-filter-card{
        margin-bottom:0;
    }
}

@media (max-width: 600px){
    .ob-sidebar{
        grid-template-columns:1fr;
    }
    .ob-cat-header{
        flex-direction:column;
        align-items:flex-start !important;
        gap:12px !important;
        padding:18px 12px !important;
    }
    .ob-cat-header img{ width:60px !important; height:60px !important; }
    .ob-cat-header h1{ font-size:22px !important; }
    .ob-container{ padding-left:14px; padding-right:14px; }
    /* Header da categoria com título h1: menor em mobile */
    .ob-shop-content .ob-toolbar{
        flex-wrap:wrap;
        gap:10px;
    }
}

/* ============================================================
   LojaObra — Filtros como accordion no MOBILE
   ============================================================ */
@media (max-width: 768px){
    .ob-sidebar .ob-filter-card.lo-mobile-mode{
        padding:0 !important;
        overflow:hidden;
    }
    .ob-sidebar .ob-filter-card.lo-mobile-mode .ob-filter-card__title{
        cursor:pointer;
        user-select:none;
        margin:0 !important;
        padding:14px 16px !important;
        border-bottom:0 !important;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        background:#fff;
        font-size:13px;
    }
    .ob-sidebar .ob-filter-card.lo-mobile-mode .ob-filter-card__title:hover{
        background:#fafafa;
    }
    .ob-sidebar .ob-filter-card.lo-mobile-mode.is-open .ob-filter-card__title{
        border-bottom:2px solid var(--lo-orange, #F58220) !important;
    }
    .ob-filter-card__chev{
        display:inline-flex;
        margin-left:auto;
        transition:transform .2s ease;
        color:#555;
    }
    .ob-sidebar .ob-filter-card.lo-mobile-mode.is-open .ob-filter-card__chev{
        transform:rotate(180deg);
        color:var(--lo-orange, #F58220);
    }
    /* Conteúdo colapsado por padrão; abre quando .is-open */
    .ob-filter-card__content{
        max-height:0;
        overflow:hidden;
        transition:max-height .25s ease;
        padding:0 16px;
    }
    .ob-sidebar .ob-filter-card.lo-mobile-mode.is-open .ob-filter-card__content{
        max-height:1200px;
        padding:12px 16px 16px;
    }
}

/* Desktop: chevron escondido e conteúdo sempre visível */
@media (min-width: 769px){
    .ob-filter-card__chev{ display:none !important; }
    .ob-filter-card__content{ display:block !important; max-height:none !important; overflow:visible !important; padding:0 !important; }
}

/* LojaObra — Footer overrides removidos em 2026-05-12: footer agora usa o estilo original do obramax-child (style.css). */

/* ============================================================
   LojaObra — Bloco "Promessa de Entrega" (FOMO) na página do produto
   Redesign: card slim, profissional, sem caixa verde grande.
   Mantém os hooks JS: #ob-delivery-promise, .ob-delivery-promise__label,
   #ob-delivery-date (o JS popula esses campos dinamicamente).
   ============================================================ */
.ob-delivery-promise{
    display:grid !important;
    grid-template-columns:auto 1fr !important;
    align-items:center !important;
    column-gap:12px !important;
    row-gap:6px !important;
    width:100%;
    padding:10px 14px !important;
    background:#ffffff !important;
    border:1px solid #e6e6e6 !important;
    border-left:3px solid var(--lo-orange, #F58220) !important;
    border-radius:8px !important;
    box-shadow:0 1px 2px rgba(0,0,0,.03) !important;
    color:#2a2a2a !important;
    font-size:13px;
    line-height:1.35;
    overflow:hidden;
}

/* Ícone — quadrado discreto, sem círculo verde */
.ob-delivery-promise__icon{
    width:34px !important;
    height:34px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    color:var(--lo-orange, #F58220) !important;
    display:grid !important;
    place-items:center !important;
    flex-shrink:0;
    grid-row:1 / 3;
}
.ob-delivery-promise__icon svg{ width:24px; height:24px; }

/* Bloco de texto — abandonamos a coluna e usamos o próprio grid */
.ob-delivery-promise__text{
    display:contents !important;
}

/* Eyebrow + urgência juntos numa linha discreta no topo */
.ob-delivery-promise__eyebrow{
    display:none !important;
}

.ob-delivery-promise__label{
    grid-column:2;
    font-size:11.5px !important;
    color:#666 !important;
    font-weight:500 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    line-height:1.35 !important;
    margin:0 !important;
}

/* Data: protagonista, mas compacta */
.ob-delivery-promise__date{
    grid-column:2;
    font-size:15px !important;
    font-weight:800 !important;
    color:var(--lo-navy, #0E2A5C) !important;
    line-height:1.2 !important;
    letter-spacing:-.1px;
    margin:0 !important;
}

/* Badges: tag fina, inline, sem fundo pesado */
.ob-delivery-promise__badges{
    grid-column:1 / -1;
    display:flex !important;
    flex-wrap:wrap;
    gap:4px 6px !important;
    margin-top:6px !important;
    padding-top:8px !important;
    border-top:1px dashed #ececec;
    width:100%;
}
.ob-delivery-promise__badge{
    min-height:0 !important;
    padding:3px 8px !important;
    font-size:10.5px !important;
    font-weight:700 !important;
    letter-spacing:.02em !important;
    border-radius:4px !important;
    line-height:1.4 !important;
    background:#f6f6f6 !important;
    color:#555 !important;
    border:1px solid #e6e6e6 !important;
    display:inline-flex;
    align-items:center;
    gap:4px;
}
.ob-delivery-promise__badge::before{
    content:"";
    width:5px; height:5px;
    border-radius:50%;
    background:currentColor;
    opacity:.6;
}
.ob-delivery-promise__badge--express{
    color:#B5520F !important;
    background:#FFF6EE !important;
    border-color:#FBD9B8 !important;
}
.ob-delivery-promise__badge--pickup{
    color:#0E5C57 !important;
    background:#F0FAF8 !important;
    border-color:#CFE9E4 !important;
}
.ob-delivery-promise__badge--free{
    color:#0F6B39 !important;
    background:#F1FAF4 !important;
    border-color:#CFE8D6 !important;
}

@media (max-width: 480px){
    .ob-delivery-promise{ padding:10px 12px !important; }
    .ob-delivery-promise__icon{ width:28px !important; height:28px !important; }
    .ob-delivery-promise__icon svg{ width:20px; height:20px; }
    .ob-delivery-promise__date{ font-size:14px !important; }
    .ob-delivery-promise__label{ font-size:11px !important; }
    .ob-delivery-promise__badge{ font-size:10px !important; padding:2px 7px !important; }
}

/* ============================================================
   LojaObra — Bloco de Preço (página do produto · 2 cards)
   Layout estilo Obramax: Cartão | À vista, lado a lado.
   ============================================================ */
.lo-price-block.ob-pcard-price{
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
    box-shadow:none !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    margin-bottom:16px;
}

/* Preço "de" riscado, acima dos cards */
.lo-price-was{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0;
    color:#9a9a9a;
    font-size:13px;
}
.lo-price-was del{ font-weight:500; }
.lo-price-was__badge{
    display:inline-flex;
    align-items:center;
    background:#FFF1E6;
    color:#B5520F;
    border:1px solid #FBD9B8;
    padding:2px 7px;
    border-radius:4px;
    font-size:10.5px;
    font-weight:800;
    letter-spacing:.02em;
}

/* Grid dos 2 cards */
.lo-price-cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

/* Card individual */
.lo-price-card{
    position:relative;
    background:#fff;
    border:1.5px solid #e6e6e6;
    border-radius:8px;
    padding:24px 14px 12px;
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
    transition:border-color .15s ease, box-shadow .15s ease;
}
.lo-price-card--cartao{ border-color:#e6e6e6; }
.lo-price-card--avista{
    border-color:#1FB96B;
    box-shadow:0 0 0 1px rgba(31,185,107,.08);
}
.lo-price-card:hover{
    box-shadow:0 2px 8px rgba(0,0,0,.05);
}

/* Tag no topo do card */
.lo-price-card__tag{
    position:absolute;
    top:-1px;
    left:12px;
    transform:translateY(-50%);
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:3px 10px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.02em;
    border-radius:4px;
    color:#fff;
    line-height:1.3;
    white-space:nowrap;
}
.lo-price-card__tag--cartao{
    background:var(--lo-orange, #F58220);
}
.lo-price-card__tag--avista{
    background:#1FB96B;
}
.lo-price-card__pix-ico{
    color:#fff;
    flex-shrink:0;
}

/* Valor principal de cada card */
.lo-price-card__amount{
    font-size:clamp(20px, 2.6vw, 26px) !important;
    font-weight:800 !important;
    color:var(--lo-navy, #0E2A5C) !important;
    line-height:1.15;
    letter-spacing:-.4px;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:2px;
}
.lo-price-card__amount .woocommerce-Price-currencySymbol{
    font-size:.55em;
    font-weight:600;
    color:#666;
    margin-right:2px;
}
.lo-price-card__amount .ob-pcard-price__unit-label{
    font-size:.55em;
    color:#888;
    font-weight:500;
}

/* Metadados (parcelamento ou "no PIX") */
.lo-price-card__meta{
    font-size:12px;
    color:#666;
    line-height:1.35;
    margin:0;
}
.lo-price-card__meta strong{ color:#1a1a1a; font-weight:700; }
.lo-price-card__discount{
    display:inline-flex;
    align-items:center;
    background:#E8F8EF;
    color:#0F6B39;
    padding:1px 6px;
    border-radius:3px;
    font-size:10.5px;
    font-weight:800;
    margin-right:2px;
    letter-spacing:.02em;
}

/* Mobile — empilha verticalmente, mas mantém visual */
@media (max-width: 600px){
    .lo-price-cards{
        grid-template-columns:1fr;
        gap:10px;
    }
    .lo-price-card{ padding:22px 12px 10px; }
    .lo-price-card__amount{ font-size:22px !important; }
}

/* Esconde elementos antigos do bloco que não estão mais em uso */
.ob-pcard-price__was,
.ob-pcard-price__main,
.ob-pcard-pix-row,
.ob-pcard-installment{ display:none !important; }

/* ============================================================
   LojaObra — FOMO strip consolidado (página do produto)
   Une "vendo agora", "vendidos semana", "pessoas interessadas"
   e "movimento recente" numa única linha elegante de chips.
   ============================================================ */
.ob-social-proof.lo-fomo-strip{
    display:flex !important;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 8px;
    margin:6px 0 14px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
}

.lo-fomo-chip{
    display:inline-flex !important;
    align-items:center;
    gap:6px;
    padding:5px 10px !important;
    background:#fafafa;
    border:1px solid #eee;
    border-radius:999px;
    font-size:12px !important;
    color:#555 !important;
    line-height:1.3;
    white-space:nowrap;
    transition:border-color .15s ease, background .15s ease;
}
.lo-fomo-chip strong{
    color:#1a1a1a;
    font-weight:800;
    margin-right:1px;
}
.lo-fomo-chip svg{ flex-shrink:0; }

/* Cada chip com sua cor de acento (ícone + leve tint na borda) */
.lo-fomo-chip--viewers{
    color:#5b21b6 !important;
    background:#F5F0FF;
    border-color:#E2D5FA;
}
.lo-fomo-chip--viewers svg{ color:#7c3aed; }
.lo-fomo-chip--viewers strong{ color:#3F1B83; }

.lo-fomo-chip--sold{
    color:#B5520F !important;
    background:#FFF6EE;
    border-color:#FBD9B8;
}
.lo-fomo-chip--sold svg{ color:#F58220; }
.lo-fomo-chip--sold strong{ color:#7C3A0B; }

.lo-fomo-chip--cart{
    color:#0E4A66 !important;
    background:#EFF7FC;
    border-color:#CDE3F0;
}
.lo-fomo-chip--cart svg{ color:#2D8DC4; }
.lo-fomo-chip--cart strong{ color:#0a3550; font-weight:800; }

.lo-fomo-chip--last{
    color:#0F6B39 !important;
    background:#F1FAF4;
    border-color:#CFE8D6;
}
.lo-fomo-chip--last svg{ color:#1FB96B; }
.lo-fomo-chip--last strong{ color:#0a4a26; font-weight:800; }

/* Rating placeholder (sem avaliações) — 5 estrelas amarelas sem link */
.lo-rating-placeholder{
    pointer-events:none;
}
.lo-rating-placeholder .star-rating{
    margin:0;
}

/* Esconde a barra FOMO antiga quando só sobra o estoque
   (já trato isso no markup; isto é uma garantia visual extra) */
.lo-fomo-stock-only{
    display:flex !important;
    margin:4px 0 12px !important;
}
.lo-fomo-stock-only .ob-fomo-item--stock{
    width:100%;
}

@media (max-width: 600px){
    .ob-social-proof.lo-fomo-strip{ gap:5px 6px; }
    .lo-fomo-chip{ font-size:11px !important; padding:4px 8px !important; }
}

/* ============================================================
   LojaObra — Logo "ObraX" (header, footer, checkout)
   "X" laranja destacado, primeira linha "Obra"
   ============================================================ */
.lo-hdr__logo-x{
    color:var(--lo-orange, #F58220);
    font-style:italic;
    font-weight:900;
    letter-spacing:-1px;
    margin-left:1px;
}

/* Checkout: zera o estilo antigo do .ob-checkout-logo e usa o novo */
.ob-checkout-logo.lo-hdr__logo,
.lo-checkout-logo{
    display:inline-flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    background:var(--lo-navy, #0E2A5C) !important;
    color:#fff !important;
    border:2px solid #fff !important;
    border-radius:4px;
    padding:8px 18px 2px !important;
    line-height:1;
    min-width:160px;
    overflow:hidden;
    position:relative;
    width:auto !important;
    height:auto !important;
}
.lo-checkout-logo .lo-hdr__logo-main{ color:#fff; }
.lo-checkout-logo .lo-hdr__logo-sub{ width:calc(100% + 36px); }

/* Wordmark legado "OBRAX CONSTRUÇÕES" — reativado em 2026-05-12 */
/* Estilos do wordmark estão em style.css / ob-checkout original do tema. */

/* ============================================================
   LojaObra — Logo OBRAX (all caps, tudo branco)
   ============================================================ */
.lo-hdr__logo-main{
    color:#fff !important;
    text-transform:uppercase;
    letter-spacing:1.5px;
}
.lo-hdr__logo-x{
    /* Caso ainda exista markup antigo "Obra<span class=logo-x>X</span>",
       fica em branco como o resto */
    color:#fff !important;
    font-style:normal !important;
    font-weight:inherit !important;
    letter-spacing:inherit !important;
    margin:0 !important;
}

/* ============================================================
   LojaObra — Banner de cabeçalho (categoria / loja / busca / tag)
   ============================================================ */
.lo-archive-hero{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg, var(--lo-navy, #0E2A5C) 0%, #102b66 50%, #0a1f44 100%);
    color:#fff;
    margin:0 0 32px;
    border-bottom:4px solid var(--lo-orange, #F58220);
    isolation:isolate;
}
.lo-archive-hero__bg{
    position:absolute;
    inset:0;
    pointer-events:none;
    overflow:hidden;
    z-index:0;
}
.lo-archive-hero__shape{
    position:absolute;
    border-radius:50%;
    filter:blur(40px);
    opacity:.35;
}
.lo-archive-hero__shape--a{
    width:340px; height:340px;
    background:rgba(245,130,32,.55);
    top:-120px; right:-80px;
}
.lo-archive-hero__shape--b{
    width:260px; height:260px;
    background:rgba(124,58,237,.45);
    bottom:-100px; left:20%;
}
.lo-archive-hero__shape--c{
    width:200px; height:200px;
    background:rgba(31,185,107,.35);
    top:30%; left:-60px;
}

.lo-archive-hero__inner{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns: 1fr auto;
    align-items:center;
    gap:32px;
    padding:56px 24px;
    max-width:1360px;
    margin:0 auto;
}

.lo-archive-hero__content{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    max-width:780px;
}

.lo-archive-hero__kicker{
    display:inline-flex;
    align-items:center;
    background:rgba(245,130,32,.18);
    color:var(--lo-orange, #F58220);
    border:1px solid rgba(245,130,32,.4);
    padding:4px 12px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.lo-archive-hero__title{
    font-size:clamp(28px, 4.5vw, 52px);
    font-weight:900;
    letter-spacing:-.5px;
    line-height:1.05;
    color:#fff;
    margin:0;
    text-shadow:0 2px 12px rgba(0,0,0,.18);
}

.lo-archive-hero__subtitle{
    font-size:clamp(13px, 1.4vw, 16px);
    color:rgba(255,255,255,.78);
    margin:0;
    line-height:1.5;
    max-width:60ch;
}

.lo-archive-hero__count{
    margin-top:6px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,.15);
    padding:6px 14px;
    border-radius:999px;
    font-size:13px;
    color:#fff;
}
.lo-archive-hero__count strong{ font-weight:800; }
.lo-archive-hero__count svg{ color:var(--lo-orange, #F58220); }

.lo-archive-hero__media{
    width:140px;
    height:140px;
    border-radius:50%;
    overflow:hidden;
    background:#fff;
    box-shadow:0 20px 40px rgba(0,0,0,.3);
    border:4px solid rgba(255,255,255,.15);
    flex-shrink:0;
}
.lo-archive-hero__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

@media (max-width: 900px){
    .lo-archive-hero__inner{ padding:40px 18px; gap:24px; }
    .lo-archive-hero__media{ width:100px; height:100px; }
}
@media (max-width: 600px){
    .lo-archive-hero{ margin-bottom:20px; border-bottom-width:3px; }
    .lo-archive-hero__inner{
        grid-template-columns: 1fr;
        padding:32px 16px;
        gap:18px;
    }
    .lo-archive-hero__media{
        width:80px; height:80px;
        order:-1;
    }
    .lo-archive-hero__kicker{ font-size:10px; }
}

/* ============================================================
   Select de ordenação — estilo limpo (corrigido)
   ============================================================ */
.ob-toolbar__sort{
    position:relative;
}
.ob-toolbar__sort form{
    margin:0;
    display:inline-block;
}
.ob-toolbar__sort select,
.ob-toolbar__sort .orderby{
    background:#fff;
    border:1px solid #d9d9d9;
    border-radius:6px;
    padding:8px 32px 8px 14px;
    font-size:13.5px;
    color:#1a1a1a;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 10px center;
    background-size:14px;
    min-width:160px;
    transition:border-color .15s ease;
}
.ob-toolbar__sort select:hover,
.ob-toolbar__sort select:focus{
    border-color:var(--lo-orange, #F58220);
    outline:none;
}

/* ============================================================
   LojaObra — Barra de benefícios da home (substitui .ob-stats)
   ============================================================ */

/* Esconde a barra antiga se ainda sobrar markup em algum cache/template */
.ob-stats{ display:none !important; }

.lo-benefits{
    background:linear-gradient(180deg, #fafafa 0%, #f4f4f4 100%);
    border-top:1px solid #ececec;
    border-bottom:1px solid #ececec;
    padding:20px 0;
    margin:0;
}
.lo-benefits__inner{
    max-width:1360px;
    margin:0 auto;
    padding:0 24px;
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    gap:16px;
}

.lo-benefit{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 12px;
    background:#fff;
    border:1px solid #ececec;
    border-radius:10px;
    text-decoration:none;
    color:#1a1a1a;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    min-width:0;
}
.lo-benefit:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 22px rgba(0,0,0,.06);
    border-color:#dcdcdc;
    color:#1a1a1a;
}

.lo-benefit__ico{
    width:42px;
    height:42px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(245,130,32,.12);
    color:var(--lo-orange, #F58220);
    flex-shrink:0;
    transition:background .18s ease, color .18s ease;
}
.lo-benefit:hover .lo-benefit__ico{
    background:var(--lo-orange, #F58220);
    color:#fff;
}

.lo-benefit__ico--pix{
    background:rgba(50,188,173,.14);
    color:#0F8B7E;
}
.lo-benefit:hover .lo-benefit__ico--pix{
    background:#32BCAD;
    color:#fff;
}

.lo-benefit__ico--wa{
    background:rgba(37,211,102,.16);
    color:#1FB96B;
}
.lo-benefit:hover .lo-benefit__ico--wa{
    background:#25D366;
    color:#fff;
}

.lo-benefit__txt{
    display:flex;
    flex-direction:column;
    line-height:1.25;
    min-width:0;
}
.lo-benefit__txt strong{
    font-size:13.5px;
    font-weight:800;
    color:var(--lo-navy, #0E2A5C);
    letter-spacing:-.1px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.lo-benefit__txt span{
    font-size:11.5px;
    color:#777;
    font-weight:500;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* Card de CTA (WhatsApp) — destaque sutil */
.lo-benefit--cta{
    border-color:rgba(37,211,102,.4);
    background:linear-gradient(180deg, #ffffff 0%, #f4fbf6 100%);
}
.lo-benefit--cta:hover{
    border-color:#1FB96B;
}

/* ----- Responsivo ----- */
@media (max-width: 1200px){
    .lo-benefits__inner{ grid-template-columns:repeat(3, 1fr); }
}
/* Mobile/tablet pequeno: carrossel horizontal de UMA linha com scroll-snap */
@media (max-width: 900px){
    .lo-benefits{ padding:14px 0; }
    .lo-benefits__inner{
        display:flex !important;
        grid-template-columns:none !important;
        flex-wrap:nowrap;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        gap:10px;
        padding:2px 14px 6px;
        scroll-padding-left:14px;
    }
    .lo-benefits__inner::-webkit-scrollbar{ display:none; }
    .lo-benefit{
        flex:0 0 auto;
        min-width:220px;
        scroll-snap-align:start;
        padding:10px 12px;
        gap:10px;
    }
    .lo-benefit__ico{ width:38px; height:38px; }
    .lo-benefit__ico svg{ width:20px; height:20px; }
    .lo-benefit__txt strong{ font-size:13px; }
    .lo-benefit__txt span{ font-size:11px; }
}

@media (max-width: 480px){
    .lo-benefit{ min-width:200px; }
    .lo-benefit__txt strong{ font-size:12.5px; }
}

/* ============================================================
   LojaObra — Logo Obramax SVG real (substitui o wordmark CSS)
   Usa-se em header, footer e checkout. A classe .lo-hdr__logo--img
   reseta a "caixa" azul/laranja, deixando só a imagem SVG.
   ============================================================ */
.lo-hdr__logo.lo-hdr__logo--img{
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
    min-width:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
    display:inline-flex;
    align-items:center;
}
.lo-hdr__logo-img{
    display:block;
    width:auto;
    height:46px;
    max-width:100%;
}

/* Header: o fundo é navy, então o SVG (que já tem painel navy + tarja
   laranja interna) precisa de leve respiro para "respirar" sem grudar */
.lo-hdr.ob-header .lo-hdr__logo--img .lo-hdr__logo-img{
    height:46px;
}

/* Checkout: fundo branco, o logo aparece com o painel navy do SVG */
.lo-checkout-logo.lo-hdr__logo--img{
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
}
.lo-checkout-logo .lo-hdr__logo-img{
    height:48px;
}

/* Footer: footer é cinza claro, então o SVG (painel navy) contrasta bem */
.lo-footer__logo.lo-hdr__logo--img .lo-hdr__logo-img{
    height:50px;
}

@media (max-width: 600px){
    .lo-hdr__logo-img{ height:36px !important; }
    .lo-checkout-logo .lo-hdr__logo-img{ height:38px !important; }
    .lo-footer__logo .lo-hdr__logo-img{ height:40px !important; }
}
