/* ============================================================
   LojaObra — Banner "Frete grátis Brasil" (acima de R$ 250)
   Fundo navy gradient + caminhão SVG + selo "R$ 250"
   ============================================================ */
.lo-ship-banner{
    position:relative;
    overflow:hidden;
    margin:40px 0;
    border-radius:20px;
    background:
        radial-gradient(ellipse at 80% 20%, rgba(245,130,32,.25), transparent 50%),
        linear-gradient(135deg, #0a1f44 0%, #102b66 50%, #143a7a 100%);
    color:#fff;
    isolation:isolate;
    box-shadow:0 24px 60px rgba(14,42,92,.18);
}

/* Faixa laranja decorativa no fundo */
.lo-ship-banner::after{
    content:"";
    position:absolute;
    left:0; right:0;
    bottom:0;
    height:6px;
    background:linear-gradient(90deg, var(--lo-orange, #F58220) 0%, #ffb361 50%, var(--lo-orange, #F58220) 100%);
    z-index:1;
}

.lo-ship-banner__bg{
    position:absolute;
    inset:0;
    pointer-events:none;
    overflow:hidden;
    z-index:0;
}
.lo-ship-banner__orb{
    position:absolute;
    border-radius:50%;
    filter:blur(60px);
    opacity:.5;
}
.lo-ship-banner__orb--1{
    width:360px; height:360px;
    background:rgba(245,130,32,.55);
    top:-140px; right:-80px;
}
.lo-ship-banner__orb--2{
    width:260px; height:260px;
    background:rgba(50,188,173,.35);
    bottom:-100px; left:25%;
}
.lo-ship-banner__orb--3{
    width:200px; height:200px;
    background:rgba(124,58,237,.4);
    top:35%; left:-60px;
}

/* Pontos pequenos simulando "mapa do Brasil" — apenas decoração */
.lo-ship-banner__map{
    position:absolute;
    inset:0;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.18) 1.5px, transparent 1.5px),
        radial-gradient(circle, rgba(255,255,255,.1) 1.5px, transparent 1.5px);
    background-size:32px 32px, 56px 56px;
    background-position:0 0, 16px 16px;
    mask-image:radial-gradient(ellipse at 70% 50%, rgba(0,0,0,.55) 0%, transparent 70%);
    -webkit-mask-image:radial-gradient(ellipse at 70% 50%, rgba(0,0,0,.55) 0%, transparent 70%);
}

.lo-ship-banner__inner{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.4fr 1fr;
    align-items:center;
    gap:40px;
    padding:48px 24px;
    max-width:1360px;
    margin:0 auto;
}

.lo-ship-banner__content{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    min-width:0;
}

.lo-ship-banner__kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,.1);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    color:#fff;
    border:1px solid rgba(255,255,255,.2);
    padding:5px 14px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.lo-ship-banner__dot{
    width:7px; height:7px;
    border-radius:50%;
    background:#1FB96B;
    box-shadow:0 0 0 4px rgba(31,185,107,.3);
    animation:loShipPulse 1.6s ease-in-out infinite;
}
@keyframes loShipPulse{
    0%, 100%{ box-shadow:0 0 0 4px rgba(31,185,107,.3); }
    50%{ box-shadow:0 0 0 9px rgba(31,185,107,0); }
}

.lo-ship-banner__title{
    margin:0;
    font-size:clamp(28px, 4.4vw, 52px);
    font-weight:900;
    color:#fff;
    line-height:1;
    letter-spacing:-.8px;
    text-shadow:0 2px 14px rgba(0,0,0,.2);
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:0 12px;
}
.lo-ship-banner__title-grad{
    background:linear-gradient(90deg, #FFC773 0%, var(--lo-orange, #F58220) 50%, #ffb361 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
    font-size:1.3em;
    letter-spacing:-1.5px;
    line-height:.9;
}
.lo-ship-banner__title em{
    display:block;
    width:100%;
    font-style:normal;
    font-weight:500;
    font-size:.42em;
    color:rgba(255,255,255,.85);
    margin-top:6px;
    letter-spacing:0;
}
.lo-ship-banner__title em strong{
    color:#fff;
    font-weight:800;
}

.lo-ship-banner__sub{
    margin:0;
    color:rgba(255,255,255,.7);
    font-size:13.5px;
    line-height:1.55;
    max-width:54ch;
}

.lo-ship-banner__actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    margin-top:6px;
}
.lo-ship-banner__cta{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:var(--lo-orange, #F58220);
    color:#fff;
    text-decoration:none;
    padding:14px 28px;
    border-radius:8px;
    font-weight:800;
    font-size:14px;
    letter-spacing:.04em;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
    box-shadow:0 10px 24px rgba(245,130,32,.4);
}
.lo-ship-banner__cta:hover{
    background:#d96d12;
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(245,130,32,.5);
    color:#fff;
}
.lo-ship-banner__cta svg{ transition:transform .15s ease; }
.lo-ship-banner__cta:hover svg{ transform:translateX(3px); }
.lo-ship-banner__hint{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:12.5px;
    color:rgba(255,255,255,.7);
    font-weight:500;
}
.lo-ship-banner__hint svg{ color:#1FB96B; flex-shrink:0; }

/* ---------- Visual à direita ---------- */
.lo-ship-banner__visual{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    min-height:160px;
}
.lo-ship-banner__badge{
    position:absolute;
    top:-6px;
    right:170px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:14px 18px;
    border-radius:14px;
    background:#fff;
    color:var(--lo-navy, #0E2A5C);
    box-shadow:0 14px 32px rgba(0,0,0,.25);
    transform:rotate(-4deg);
    z-index:3;
    border:2px solid #fff;
    min-width:130px;
}
.lo-ship-banner__badge-label{
    font-size:9.5px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#888;
}
.lo-ship-banner__badge-amount{
    font-size:30px;
    font-weight:900;
    line-height:1;
    color:var(--lo-orange, #F58220);
    letter-spacing:-1.5px;
    display:flex;
    align-items:baseline;
    gap:2px;
}
.lo-ship-banner__badge-amount span{
    font-size:40px;
    color:var(--lo-navy, #0E2A5C);
}
.lo-ship-banner__badge-tag{
    font-size:9px;
    font-weight:700;
    color:#1FB96B;
    background:#E8F8EF;
    padding:3px 8px;
    border-radius:999px;
    margin-top:4px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.lo-ship-banner__truck{
    width:300px;
    height:auto;
    max-width:100%;
    filter:drop-shadow(0 18px 28px rgba(0,0,0,.32));
    animation:loTruckBob 4s ease-in-out infinite;
}
@keyframes loTruckBob{
    0%, 100%{ transform:translateY(0); }
    50%{ transform:translateY(-4px); }
}

@media (max-width: 900px){
    .lo-ship-banner__inner{
        grid-template-columns:1fr;
        gap:24px;
        padding:36px 18px;
    }
    .lo-ship-banner__visual{
        order:-1;
        justify-content:center;
        min-height:auto;
    }
    .lo-ship-banner__badge{
        position:relative;
        top:auto; right:auto;
        margin-right:-24px;
    }
    .lo-ship-banner__truck{ width:240px; }
}
@media (max-width: 600px){
    .lo-ship-banner{ margin:24px 0; border-radius:14px; }
    .lo-ship-banner__inner{ padding:28px 16px; }
    .lo-ship-banner__badge{
        min-width:110px;
        padding:10px 14px;
    }
    .lo-ship-banner__badge-amount{ font-size:24px; }
    .lo-ship-banner__badge-amount span{ font-size:30px; }
    .lo-ship-banner__truck{ width:190px; }
    .lo-ship-banner__cta{
        padding:12px 22px;
        font-size:13px;
        width:100%;
        justify-content:center;
    }
    .lo-ship-banner__hint{ width:100%; justify-content:center; text-align:center; }
}

/* Esconde a versão antiga (.lo-offer-banner) caso esteja em cache */
.lo-offer-banner{ display:none !important; }

/* ============================================================
   LojaObra — Banner "Orçamento" (navy gradient + glass card)
   ============================================================ */
.lo-quote-banner{
    position:relative;
    overflow:hidden;
    margin:40px 0;
    background:linear-gradient(135deg, #0a1f44 0%, var(--lo-navy, #0E2A5C) 45%, #143a7a 100%);
    color:#fff;
    isolation:isolate;
}
.lo-quote-banner__bg{
    position:absolute;
    inset:0;
    pointer-events:none;
    overflow:hidden;
    z-index:0;
}
.lo-quote-banner__orb{
    position:absolute;
    border-radius:50%;
    filter:blur(70px);
    opacity:.55;
}
.lo-quote-banner__orb--1{
    width:420px; height:420px;
    background:#F58220;
    top:-140px; right:-100px;
}
.lo-quote-banner__orb--2{
    width:300px; height:300px;
    background:#25D366;
    bottom:-120px; left:30%;
    opacity:.35;
}
.lo-quote-banner__orb--3{
    width:240px; height:240px;
    background:#7c3aed;
    top:40%; left:-80px;
    opacity:.4;
}
.lo-quote-banner__lines{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size:50px 50px;
    mask-image:radial-gradient(ellipse at 70% 50%, rgba(0,0,0,.5) 0%, transparent 70%);
    -webkit-mask-image:radial-gradient(ellipse at 70% 50%, rgba(0,0,0,.5) 0%, transparent 70%);
}

.lo-quote-banner__inner{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:40px;
    padding:48px 24px;
    max-width:1360px;
    margin:0 auto;
}

.lo-quote-banner__main{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    min-width:0;
}
.lo-quote-banner__head{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:16px;
}
.lo-quote-banner__chip{
    display:inline-flex;
    align-items:center;
    gap:7px;
    background:rgba(245,130,32,.18);
    color:#FFD3A8;
    border:1px solid rgba(245,130,32,.4);
    padding:5px 12px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.lo-quote-banner__chip svg{ color:var(--lo-orange, #F58220); }
.lo-quote-banner__stats{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:12.5px;
    color:rgba(255,255,255,.7);
}
.lo-quote-banner__stats strong{ color:#fff; font-weight:800; }
.lo-quote-banner__sep{ color:rgba(255,255,255,.3); }

.lo-quote-banner__title{
    margin:0;
    font-size:clamp(24px, 3.6vw, 40px);
    font-weight:900;
    color:#fff;
    line-height:1.1;
    letter-spacing:-.6px;
    text-shadow:0 2px 12px rgba(0,0,0,.18);
}
.lo-quote-banner__title em{
    font-style:normal;
    background:linear-gradient(90deg, #FFD3A8 0%, var(--lo-orange, #F58220) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
}
.lo-quote-banner__title-sub{
    display:block;
    font-size:13.5px;
    font-weight:500;
    color:rgba(255,255,255,.7);
    margin-top:8px;
    letter-spacing:0;
    text-shadow:none;
}

.lo-quote-banner__feats{
    list-style:none;
    margin:8px 0 0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
}
.lo-quote-banner__feats li{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    color:rgba(255,255,255,.85);
    font-weight:500;
}
.lo-quote-banner__feat-ico{
    width:18px;
    height:18px;
    border-radius:50%;
    background:#1FB96B;
    color:#fff;
    display:grid;
    place-items:center;
    flex-shrink:0;
}

/* Glass CTA card */
.lo-quote-banner__card{
    display:inline-flex;
    align-items:center;
    gap:14px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border:1px solid rgba(255,255,255,.18);
    border-radius:16px;
    padding:16px 22px;
    text-decoration:none;
    color:#fff;
    min-width:260px;
    transition:transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
    position:relative;
}
.lo-quote-banner__card::before{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius:17px;
    background:linear-gradient(135deg, rgba(37,211,102,.6), rgba(37,211,102,0) 60%);
    z-index:-1;
    opacity:0;
    transition:opacity .2s ease;
}
.lo-quote-banner__card:hover{
    transform:translateY(-3px);
    background:rgba(255,255,255,.14);
    border-color:rgba(37,211,102,.5);
    box-shadow:0 18px 40px rgba(0,0,0,.3);
    color:#fff;
}
.lo-quote-banner__card:hover::before{ opacity:1; }

.lo-quote-banner__card-ico{
    width:52px;
    height:52px;
    border-radius:50%;
    background:#25D366;
    color:#fff;
    display:grid;
    place-items:center;
    flex-shrink:0;
    box-shadow:0 10px 24px rgba(37,211,102,.4);
}
.lo-quote-banner__card-txt{
    display:flex;
    flex-direction:column;
    line-height:1.25;
    text-align:left;
}
.lo-quote-banner__card-txt small{
    font-size:11px;
    color:rgba(255,255,255,.65);
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.lo-quote-banner__card-txt strong{
    font-size:15px;
    font-weight:800;
    color:#fff;
}
.lo-quote-banner__card-arrow{
    color:rgba(255,255,255,.6);
    margin-left:4px;
    transition:transform .2s ease, color .2s ease;
}
.lo-quote-banner__card:hover .lo-quote-banner__card-arrow{
    transform:translateX(4px);
    color:#25D366;
}

@media (max-width: 900px){
    .lo-quote-banner__inner{
        grid-template-columns:1fr;
        gap:22px;
        padding:32px 18px;
    }
    .lo-quote-banner__card{ width:100%; min-width:0; justify-content:flex-start; }
    .lo-quote-banner__head{ gap:10px; }
}
@media (max-width: 600px){
    .lo-quote-banner{ margin:24px 0; }
    .lo-quote-banner__card{ padding:14px 16px; gap:12px; }
    .lo-quote-banner__card-ico{ width:44px; height:44px; }
    .lo-quote-banner__card-txt strong{ font-size:14px; }
    .lo-quote-banner__feats{ gap:6px 14px; }
    .lo-quote-banner__feats li{ font-size:12.5px; }
}

/* Esconde estilos antigos do banner laranja/.ob-budget-banner caso ainda
   restem ocorrências em cache. */
.ob-budget-banner{ display:none !important; }

/* ============================================================
   LojaObra — Etiqueta "Financiamento disponível" (produtos > R$ 9.999)
   Aparece na página do produto, logo abaixo dos cards de preço.
   ============================================================ */
.lo-financing{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:14px;
    padding:14px 16px;
    margin:10px 0 0;
    background:linear-gradient(135deg, #fff 0%, #fff8f0 100%);
    border:1.5px solid var(--lo-orange, #F58220);
    border-left:5px solid var(--lo-orange, #F58220);
    border-radius:10px;
    text-decoration:none;
    color:#1a1a1a;
    position:relative;
    overflow:hidden;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.lo-financing::before{
    content:"";
    position:absolute;
    top:-30px;
    right:-30px;
    width:80px;
    height:80px;
    border-radius:50%;
    background:rgba(245,130,32,.12);
    pointer-events:none;
}
.lo-financing:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(245,130,32,.18);
    border-color:#d96d12;
    color:#1a1a1a;
}

.lo-financing__ico{
    width:44px;
    height:44px;
    border-radius:50%;
    background:var(--lo-orange, #F58220);
    color:#fff;
    display:grid;
    place-items:center;
    flex-shrink:0;
    box-shadow:0 6px 16px rgba(245,130,32,.35);
    z-index:1;
}

.lo-financing__body{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
    z-index:1;
}
.lo-financing__tag{
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
    color:var(--lo-orange, #F58220);
    text-transform:uppercase;
    line-height:1;
}
.lo-financing__title{
    font-size:14px;
    font-weight:800;
    color:var(--lo-navy, #0E2A5C);
    line-height:1.3;
    letter-spacing:-.2px;
}
.lo-financing__sub{
    font-size:12px;
    color:#666;
    font-weight:500;
    line-height:1.35;
}

.lo-financing__cta{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#25D366;
    color:#fff;
    padding:8px 14px;
    border-radius:6px;
    font-size:12.5px;
    font-weight:800;
    letter-spacing:.02em;
    white-space:nowrap;
    z-index:1;
    transition:background .15s ease;
    flex-shrink:0;
}
.lo-financing:hover .lo-financing__cta{
    background:#1ebe5d;
}

@media (max-width: 600px){
    .lo-financing{
        grid-template-columns:auto 1fr;
        gap:12px;
        padding:12px 14px;
    }
    .lo-financing__cta{
        grid-column:1 / -1;
        justify-content:center;
        padding:9px 14px;
        font-size:12px;
    }
    .lo-financing__ico{ width:38px; height:38px; }
    .lo-financing__title{ font-size:13px; }
}

/* ============================================================
   LojaObra — Bloco "Políticas" da página do produto
   3 promessas: Frete Grátis · Frete Expresso · Trocas e Devoluções
   ============================================================ */
.ob-pcard-policies.lo-policies{
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    gap:8px !important;
    padding:14px !important;
    background:#fafafa !important;
    border:1px solid #ececec !important;
    border-radius:10px !important;
    margin:14px 0 !important;
}

.lo-policy{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    text-align:center !important;
    padding:10px 8px !important;
    background:transparent !important;
    border:0 !important;
    transition:transform .15s ease;
}
.lo-policy:hover{ transform:translateY(-2px); }

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

.lo-policy__body{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:2px !important;
    min-width:0;
}
.lo-policy__body strong{
    font-size:13px !important;
    font-weight:800 !important;
    color:var(--lo-navy, #0E2A5C) !important;
    line-height:1.2 !important;
    letter-spacing:-.1px;
}
.lo-policy__body span{
    font-size:11.5px !important;
    color:#666 !important;
    line-height:1.35 !important;
    font-weight:500;
    max-width:22ch;
}

@media (max-width: 480px){
    .ob-pcard-policies.lo-policies{
        grid-template-columns:1fr !important;
        gap:4px !important;
    }
    .lo-policy{
        flex-direction:row !important;
        text-align:left !important;
        gap:12px !important;
        padding:10px 4px !important;
    }
    .lo-policy__body{ align-items:flex-start !important; }
    .lo-policy__icon{ width:36px !important; height:36px !important; }
}

/* ============================================================
   LojaObra — Esconde o preço duplicado de variação que o WooCommerce
   injeta perto do botão "Adicionar". O preço da variação já é refletido
   nos cards principais (Cartão + À vista) via main.js initVariablePix.
   ============================================================ */
.single-product .single_variation_wrap .woocommerce-variation-price,
.single-product .single_variation_wrap .single_variation .price,
.single-product .single_variation .woocommerce-variation-price,
.single-product .single_variation .price,
.single-product .ob-variable-form .woocommerce-variation-price,
.single-product .ob-variable-form .single_variation .price,
.single-product .ob-pcard-variations .woocommerce-variation-price,
.single-product .ob-pcard-variations .single_variation .price{
    display:none !important;
}
