/* ══════════════════════════════════════════════════
   La Brisa Leve — Coffeeshop page widgets (external CSS)
   Extraído dos widgets HTML após o WordPress remover as tags <style> ao salvar
   ══════════════════════════════════════════════════ */

/* ── widget a9ec77c ── */
/* =====================================================
           RESET LOCAL
           ===================================================== */

        .lbl-hero-component,
        .lbl-hero-component * {

            box-sizing: border-box;

        }


        .lbl-hero-component {

            width: 100%;

            margin: 0;

            padding: 0;

            overflow: hidden;

            font-family:
                Georgia,
                "Times New Roman",
                serif;

            color: #4F522F;

        }


        .lbl-hero-component a {

            text-decoration: none;

            color: inherit;

        }


        .lbl-hero-component img {

            max-width: 100%;

            display: block;

        }


        /* =====================================================
           CONTAINER
           ===================================================== */

        .lbl-hero-wrap {

            width: 100%;

            max-width: 1200px;

            margin: 0 auto;

            padding-left:
                clamp(20px, 5vw, 48px);

            padding-right:
                clamp(20px, 5vw, 48px);

        }


        /* =====================================================
           HERO
           ===================================================== */

        .lbl-hero-section {

            position: relative;

            width: 100%;

            background: #EBE1C5;

            overflow: hidden;

        }


        /* =====================================================
           GRID
           ===================================================== */

        .lbl-hero-grid {

            display: grid;

            grid-template-columns:
                1.1fr 0.9fr;

            gap: 2rem;

            align-items: center;

            padding-top:
                clamp(48px, 7vw, 96px);

            padding-bottom:
                clamp(48px, 7vw, 96px);

        }


        /* =====================================================
           TEXTO
           ===================================================== */

        .lbl-hero-copy {

            position: relative;

            z-index: 3;

        }


        /* =====================================================
           EYEBROW
           ===================================================== */

        .lbl-hero-est {

            display: inline-flex;

            align-items: center;

            gap: .6rem;

            font-family:
                "Helvetica Neue",
                Arial,
                sans-serif;

            text-transform: uppercase;

            letter-spacing: .3em;

            font-size: .7rem;

            font-weight: 700;

            opacity: .7;

            margin-bottom: 1.2rem;

        }


        .lbl-hero-est::before {

            content: "";

            width: 34px;

            height: 2px;

            background: #4F522F;

            flex-shrink: 0;

        }


        /* =====================================================
           TÍTULO
           ===================================================== */

        .lbl-hero-title {

            margin: 0;

            padding: 0;

            font-family:
                Georgia,
                "Times New Roman",
                serif !important;

            font-size:
                clamp(2.6rem, 6.4vw, 5rem) !important;

            font-weight: 700 !important;

            line-height: 1.05 !important;

            letter-spacing: -.01em;

            color: #4F522F !important;

        }


        .lbl-hero-title em {

            font-style: italic;

            font-weight: 700;

        }


        /* =====================================================
           TEXTO DESCRITIVO
           ===================================================== */

        .lbl-hero-lead {

            margin:
                1.4rem 0 2rem;

            padding: 0;

            max-width: 46ch;

            font-family:
                "Helvetica Neue",
                Arial,
                sans-serif;

            font-size:
                clamp(1rem, 1.6vw, 1.2rem);

            line-height: 1.65;

            opacity: .9;

        }


        /* =====================================================
           BOTÕES
           ===================================================== */

        .lbl-hero-cta {

            display: flex;

            gap: 1rem;

            flex-wrap: wrap;

            align-items: center;

        }


        .lbl-hero-btn {

            display: inline-flex;

            align-items: center;

            justify-content: center;

            gap: .55em;

            min-height: 48px;

            padding:
                .85em 1.35em;

            border-radius: 999px;

            font-family:
                "Helvetica Neue",
                Arial,
                sans-serif;

            font-size: .95rem;

            font-weight: 700;

            letter-spacing: .02em;

            line-height: 1;

            cursor: pointer;

            transition:
                background-color .2s ease,
                color .2s ease,
                transform .15s ease;

        }


        /* ================= BOTÃO SOLID ================= */

        .lbl-hero-btn-solid {

            background: #4F522F;

            color: #EBE1C5 !important;

            border:
                2px solid #4F522F;

        }


        .lbl-hero-btn-solid:hover {

            background: #EBE1C5;

            color: #4F522F !important;

            transform: translateY(-2px);

        }


        /* ================= BOTÃO GHOST ================= */

        .lbl-hero-btn-ghost {

            background: transparent;

            color: #4F522F !important;

            border:
                2px solid rgba(79, 82, 47, .55);

        }


        .lbl-hero-btn-ghost:hover {

            background: #4F522F;

            color: #EBE1C5 !important;

            border-color: #4F522F;

            transform: translateY(-2px);

        }


        /* =====================================================
           ARTE DO HERO
           ===================================================== */

        .lbl-hero-art {

            position: relative;

            display: flex;

            justify-content: center;

            align-items: center;

            min-height: 340px;

        }


        /* =====================================================
           CÍRCULO
           ===================================================== */

        .lbl-hero-disc {

            position: absolute;

            width: 78%;

            aspect-ratio: 1 / 1;

            background: #4F522F;

            border-radius: 50%;

            z-index: 1;

        }


        /* =====================================================
           MASCOTE
           ===================================================== */

        .lbl-hero-mascot {

            width:
                min(88%, 420px);

            position: relative;

            z-index: 2;

            animation:
                lblHeroBob 4s ease-in-out infinite;

        }


        /* =====================================================
           ANIMAÇÃO
           ===================================================== */

        @keyframes lblHeroBob {

            0%,
            100% {

                transform:
                    translateY(0)
                    rotate(-2deg);

            }

            50% {

                transform:
                    translateY(-14px)
                    rotate(2deg);

            }

        }


        /* =====================================================
           MARQUEE
           ===================================================== */

        .lbl-hero-marquee {

            width: 100%;

            background: #4F522F;

            color: #EBE1C5;

            overflow: hidden;

            white-space: nowrap;

            padding:
                .8rem 0;

        }


        .lbl-hero-marquee-track {

            display: inline-flex;

            width: max-content;

            gap: 2.4rem;

            animation:
                lblHeroScroll 22s linear infinite;

            font-family:
                "Helvetica Neue",
                Arial,
                sans-serif;

            text-transform: uppercase;

            letter-spacing: .22em;

            font-size: .82rem;

            font-weight: 700;

        }


        .lbl-hero-marquee-track span {

            display: inline-flex;

            align-items: center;

            gap: 2.4rem;

        }


        .lbl-hero-marquee-track span::after {

            content: "✺";

            opacity: .7;

        }


        /* =====================================================
           ANIMAÇÃO DA FAIXA
           ===================================================== */

        @keyframes lblHeroScroll {

            from {

                transform:
                    translateX(0);

            }

            to {

                transform:
                    translateX(-50%);

            }

        }


        /* =====================================================
           TABLET / MOBILE
           ===================================================== */

        @media (max-width: 860px) {

            .lbl-hero-grid {

                grid-template-columns: 1fr;

                text-align: center;

                gap: 1rem;

            }


            .lbl-hero-lead {

                margin-left: auto;

                margin-right: auto;

            }


            .lbl-hero-cta {

                justify-content: center;

            }


            .lbl-hero-est {

                justify-content: center;

            }


            .lbl-hero-art {

                order: -1;

                min-height: 260px;

            }


            .lbl-hero-mascot {

                width:
                    min(75%, 330px);

            }


            .lbl-hero-disc {

                width: 64%;

            }

        }


        /* =====================================================
           MOBILE PEQUENO
           ===================================================== */

        @media (max-width: 560px) {

            .lbl-hero-grid {

                padding-top: 40px;

                padding-bottom: 48px;

            }


            .lbl-hero-art {

                min-height: 230px;

            }


            .lbl-hero-title {

                font-size:
                    clamp(2.45rem, 12vw, 3.4rem) !important;

            }


            .lbl-hero-lead {

                font-size: .95rem;

            }


            .lbl-hero-cta {

                flex-direction: column;

                width: 100%;

            }


            .lbl-hero-btn {

                width: 100%;

                min-height: 50px;

            }


            .lbl-hero-marquee {

                padding:
                    .75rem 0;

            }


            .lbl-hero-marquee-track {

                gap: 2rem;

                font-size: .72rem;

            }


            .lbl-hero-marquee-track span {

                gap: 2rem;

            }

        }


        /* =====================================================
           ACESSIBILIDADE
           ===================================================== */

        @media (prefers-reduced-motion: reduce) {

            .lbl-hero-mascot {

                animation: none;

            }


            .lbl-hero-marquee-track {

                animation: none;

            }

        }

/* ── widget a73a2ac ── */
/* ── Escolha o seu ritual · widget ── */
.lbl-shop *{box-sizing:border-box;margin:0;padding:0}
.lbl-shop{
  font-family:Georgia,"Times New Roman",serif;
  color:#4F522F;
  padding:clamp(48px,7vw,90px) 0;
  background:#EBE1C5;
  position:relative;
  overflow:hidden;
}
.lbl-shop .wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,48px);position:relative;z-index:1}

/* heading */
.lbl-shop .sec-head{text-align:center;max-width:640px;margin:0 auto clamp(1.6rem,3vw,2.4rem)}
.lbl-shop .eyebrow{
  font-family:"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;font-weight:700;opacity:.8;
}
.lbl-shop .sec-head h2{font-size:clamp(2rem,4.4vw,3.2rem);margin:.5rem 0 .8rem;line-height:1.05;font-weight:700}
.lbl-shop .sec-head p{font-family:"Helvetica Neue",Arial,sans-serif;opacity:.85;line-height:1.7}

/* ── Filtros ── */
.lbl-filters{
  display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;
  margin-bottom:clamp(1.4rem,2.5vw,2rem);
}
.lbl-filters button{
  font-family:"Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.06em;text-transform:uppercase;
  padding:.6em 1.3em;border-radius:999px;cursor:pointer;
  border:2px solid #4F522F;background:transparent;color:#4F522F;
  transition:background .2s,color .2s,transform .15s;
}
.lbl-filters button:hover{transform:translateY(-2px)}
.lbl-filters button.active{background:#4F522F;color:#EBE1C5}

/* ── Grid de produtos ── */
.lbl-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:1.4rem;
}
@media(max-width:640px){.lbl-grid{grid-template-columns:1fr;max-width:380px;margin:0 auto}}

/* ── Card de produto ── */
.lbl-prod{
  background:#fbfaf4;border-radius:26px;overflow:hidden;
  border:1px solid rgba(79,82,47,.12);
  display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease;
}
.lbl-prod.hidden{display:none!important}
.lbl-prod:hover{transform:translateY(-6px);box-shadow:0 18px 40px -20px rgba(79,82,47,.5)}
.lbl-prod .ph{
  aspect-ratio:1;overflow:hidden;position:relative;
  background:radial-gradient(circle at 50% 42%,#f5efdf,#EBE1C5);
  display:flex;align-items:center;justify-content:center;
  border-radius:26px 26px 0 0;
}
.lbl-prod .ph img{width:100%;height:100%;object-fit:cover;transition:opacity .45s ease}
.lbl-prod .ph .placeholder-icon{
  width:60px;height:60px;opacity:.25;
}

/* hover image swap */
.lbl-prod .ph .photo-back{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.lbl-prod:hover .ph .photo-front{opacity:0}
.lbl-prod:hover .ph .photo-back{opacity:1}

/* tags (stock + category) */
.lbl-prod .tags{position:absolute;top:12px;left:12px;z-index:2;display:flex;flex-wrap:wrap;gap:6px}
.lbl-prod .tag{
  font-family:"Helvetica Neue",Arial,sans-serif;font-size:.64rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;padding:.35em .8em;border-radius:999px;
}
.lbl-prod .tag-stock{background:#4F522F;color:#EBE1C5}
.lbl-prod .tag-stock.esgotado{background:#8b4513;color:#EBE1C5}
.lbl-prod .tag-stock.disponivel{background:#2e6b2e;color:#EBE1C5}
.lbl-prod .tag-cat{background:rgba(235,225,197,.92);color:#4F522F}

/* body */
.lbl-prod .body{padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;flex:1}
.lbl-prod h3{font-size:1.25rem;font-weight:700;line-height:1.15}
.lbl-prod .notes{
  font-family:"Helvetica Neue",Arial,sans-serif;font-size:.84rem;
  opacity:.7;margin:.35rem 0 1rem;line-height:1.5;
}
.lbl-prod .price{font-size:1.5rem;font-weight:700;margin-top:auto}
.lbl-prod .price small{font-size:.8rem;opacity:.6;font-weight:400}
.lbl-prod .btn-prod{
  display:flex;align-items:center;justify-content:center;
  font-family:"Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:.95rem;
  letter-spacing:.02em;text-transform:uppercase;
  padding:.95em 1.7em;border-radius:999px;cursor:pointer;
  border:2px solid #4F522F;background:#4F522F;color:#EBE1C5 !important;
  text-decoration:none;width:100%;margin-top:1rem;
  transition:transform .15s ease,background .2s ease;
}
.lbl-prod .btn-prod:hover{transform:translateY(-2px);background:#2b2c1c;border-color:#2b2c1c}

/* ── Card CTA (ficou na dúvida) ── */
.lbl-prod.cta-card{
  background:#4F522F;color:#EBE1C5;
  justify-content:center;align-items:center;text-align:center;
  padding:2.4rem 1.8rem;min-height:420px;
}
.lbl-prod.cta-card .cta-logo{height:88px;margin-bottom:1rem;width:auto;object-fit:contain}
.lbl-prod.cta-card h3{color:#EBE1C5 !important;font-size:1.5rem;margin-bottom:.6rem}
.lbl-prod.cta-card p{color:#EBE1C5 !important;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.9rem;opacity:.85;margin-bottom:1.4rem;line-height:1.6}
.lbl-prod.cta-card .btn-cta{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:"Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:.95rem;
  letter-spacing:.02em;text-transform:uppercase;
  padding:.95em 1.7em;border-radius:999px;cursor:pointer;
  border:2px solid #EBE1C5;background:#EBE1C5;color:#4F522F;
  text-decoration:none;transition:transform .15s ease,background .2s ease;
}
.lbl-prod.cta-card .btn-cta:hover{transform:translateY(-2px);background:#fbfaf4;border-color:#fbfaf4}

/* ── Paginação ── */
.lbl-pagination{
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  margin-top:clamp(1.6rem,3vw,2.4rem);
}
.lbl-pagination button{
  width:48px;height:48px;border-radius:50%;
  border:2px solid #4F522F;background:transparent;color:#4F522F;
  font-size:1.2rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s,transform .15s;
  font-family:"Helvetica Neue",Arial,sans-serif;
}
.lbl-pagination button:hover:not(:disabled){background:#4F522F;color:#EBE1C5;transform:translateY(-2px)}
.lbl-pagination button:disabled{opacity:.3;cursor:default}
.lbl-pagination .lbl-page-info{
  font-family:"Helvetica Neue",Arial,sans-serif;font-size:.85rem;font-weight:700;
  letter-spacing:.06em;min-width:80px;text-align:center;
}

/* animação de entrada */
.lbl-prod{opacity:0;transform:translateY(24px);animation:lblFadeIn .5s ease forwards}
@keyframes lblFadeIn{to{opacity:1;transform:translateY(0)}}

/* ── widget f70dd9a ── */
/* ── Quote "É liberdade que nos move" · widget ── */
.lbl-quote{
  --oliva:#4F522F;
  --areia:#EBE1C5;
  background:var(--oliva);
  color:var(--areia);
  padding:clamp(60px,8vw,100px) 0;
  text-align:center;
  overflow:hidden;
  position:relative;
  font-family:Georgia,"Times New Roman",serif;
}
.lbl-quote *{box-sizing:border-box;margin:0;padding:0}
.lbl-quote .deco{position:absolute;pointer-events:none;user-select:none;z-index:0;opacity:.1}
.lbl-quote .wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,48px);position:relative;z-index:1}
.lbl-quote blockquote{
  color:var(--areia) !important;
  font-size:clamp(1.8rem,4.6vw,3.4rem);
  font-style:italic;
  font-weight:700;
  max-width:18ch;
  margin:0 auto;
  line-height:1.15;
}
.lbl-quote .cite{color:var(--areia) !important;
  font-family:"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.3em;
  font-size:.72rem;
  margin-top:1.6rem;
  opacity:.75;
}

/* ── widget d791107 ── */
/* ── Modo de preparo / info · widget ── */
.lbl-prep{
  --oliva:#4F522F;
  --areia:#EBE1C5;
  --branco:#fbfaf4;
  padding:0 0 clamp(48px,7vw,88px);
  background:var(--branco);
  font-family:Georgia,"Times New Roman",serif;
  color:var(--oliva);
}
.lbl-prep *{box-sizing:border-box;margin:0;padding:0}
.lbl-prep .wrap{width:100%;margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.lbl-prep-inner{
  position:relative;overflow:hidden;
  background:var(--areia);
  border-radius:34px;
  padding:clamp(2rem,4.5vw,3.4rem);
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1.6rem,3vw,2.6rem);
}
.lbl-prep .deco{position:absolute;pointer-events:none;user-select:none;z-index:0;opacity:.08}
.lbl-prep-item{position:relative;z-index:1}
.lbl-prep-item .k{
  font-family:"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;font-weight:700;
  opacity:.6;display:flex;align-items:center;gap:.5rem;
}
.lbl-prep-item .k::before{content:"";width:22px;height:2px;background:var(--oliva)}
.lbl-prep-item h3{font-size:1.3rem;margin:.7rem 0 .5rem;font-weight:700;line-height:1.15}
.lbl-prep-item p{
  font-family:"Helvetica Neue",Arial,sans-serif;font-size:.94rem;
  opacity:.85;line-height:1.6;
}
.lbl-prep-item strong{font-weight:700}
@media(max-width:800px){
  .lbl-prep-inner{grid-template-columns:1fr;gap:1.8rem}
}

/* ── widget 3e2754a ── */
/* =========================================================
   ORIGEM DO LOTE · WIDGET
   Container interno sempre BOXED
   ========================================================= */

.lbl-lote{

  --oliva:#4F522F;
  --areia:#EBE1C5;

  width:100%;

  padding:
    clamp(64px,8vw,110px) 0;

  background:var(--oliva);

  color:var(--areia);

  position:relative;

  overflow:hidden;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

}


/* =========================================================
   RESET LOCAL
   ========================================================= */

.lbl-lote *{

  box-sizing:border-box;

  margin:0;

  padding:0;

}


/* =========================================================
   DECORAÇÃO
   ========================================================= */

.lbl-lote .deco{

  position:absolute;

  pointer-events:none;

  user-select:none;

  z-index:0;

  opacity:.1;

}


/* =========================================================
   CONTAINER BOXED
   ---------------------------------------------------------
   Este é o ponto principal.

   Mesmo que o container do Elementor esteja em
   "Plein largeur", este container permanece boxed.
   ========================================================= */

.lbl-lote .wrap{

  width:100%;

  max-width:1140px;

  margin-left:auto;

  margin-right:auto;

  padding-left:
    20px;

  padding-right:
    20px;

  position:relative;

  z-index:1;

}


/* =========================================================
   GRID
   ========================================================= */

.lbl-lote-grid{

  width:100%;

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr);

  gap:
    clamp(2rem,5vw,4rem);

  align-items:center;

  position:relative;

  z-index:1;

}


/* =========================================================
   TEXTO
   ========================================================= */

.lbl-lote-copy{

  min-width:0;

}


.lbl-lote-copy .eyebrow{color:var(--areia) !important;

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  text-transform:uppercase;

  letter-spacing:.32em;

  font-size:.72rem;

  font-weight:700;

  color:var(--areia);

  opacity:.75;

}


/* =========================================================
   H2
   ========================================================= */

.lbl-lote-copy h2{

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size:
    clamp(2rem,4.4vw,3rem);

  margin:
    .6rem 0 1.1rem;

  font-weight:700;

  line-height:1.05;

  color:#EBE1C5 !important;

}


/* =========================================================
   TEXTO
   ========================================================= */

.lbl-lote-copy p{color:var(--areia) !important;

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  line-height:1.7;

  opacity:.9;

  margin-bottom:1rem;

}


/* =========================================================
   QR CODE
   ========================================================= */

.lbl-lote-qr{

  display:inline-flex;

  align-items:center;

  gap:.6rem;

  max-width:100%;

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  font-size:.82rem;

  opacity:.8;

  border:
    1px solid rgba(235,225,197,.35);

  border-radius:999px;

  padding:.6em 1.1em;

  margin-top:.4rem;

}


.lbl-lote-qr b{

  font-size:1.1rem;

  line-height:1;

}


/* =========================================================
   CARD
   ========================================================= */

.lbl-lote-card{

  width:100%;

  min-width:0;

  background:var(--areia);

  color:var(--oliva);

  border-radius:42px;

  padding:
    clamp(1.8rem,3.5vw,2.6rem);

  box-shadow:
    0 24px 60px -30px rgba(0,0,0,.5);

}


/* =========================================================
   CABEÇALHO DO CARD
   ========================================================= */

.lbl-lote-head{

  display:flex;

  align-items:baseline;

  justify-content:space-between;

  gap:1rem;

  border-bottom:
    2px solid rgba(79,82,47,.2);

  padding-bottom:1rem;

  margin-bottom:.3rem;

}


.lbl-lote-head span{

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  text-transform:uppercase;

  letter-spacing:.2em;

  font-size:.7rem;

  font-weight:700;

  opacity:.6;

}


.lbl-lote-head strong{

  font-family:
    Georgia,
    serif;

  font-size:1.7rem;

}


/* =========================================================
   ESPECIFICAÇÕES
   ========================================================= */

.lbl-lote-specs{

  list-style:none;

}


.lbl-lote-specs li{

  display:flex;

  justify-content:space-between;

  gap:1rem;

  padding:.85rem 0;

  border-bottom:
    1px dashed rgba(79,82,47,.28);

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

}


.lbl-lote-specs li:last-child{

  border-bottom:0;

}


.lbl-lote-specs li span{

  opacity:.7;

  font-size:.82rem;

  text-transform:uppercase;

  letter-spacing:.08em;

  align-self:center;

}


.lbl-lote-specs li strong{

  font-weight:700;

  text-align:right;

}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1024px){

  .lbl-lote .wrap{

    max-width:960px;

  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:800px){

  .lbl-lote .wrap{

    max-width:100%;

    padding-left:20px;

    padding-right:20px;

  }


  .lbl-lote-grid{

    grid-template-columns:1fr;

    gap:2.5rem;

  }


  .lbl-lote-card{

    border-radius:32px;

  }

}


/* =========================================================
   MOBILE PEQUENO
   ========================================================= */

@media(max-width:480px){

  .lbl-lote{

    padding:
      55px 0;

  }


  .lbl-lote .wrap{

    padding-left:18px;

    padding-right:18px;

  }


  .lbl-lote-copy h2{

    font-size:
      2rem !important;

  }


  .lbl-lote-qr{

    border-radius:20px;

  }


  .lbl-lote-specs li{

    flex-direction:column;

    gap:.35rem;

  }


  .lbl-lote-specs li strong{

    text-align:left;

  }

}



/* ── Reextraído em limpeza posterior ── */
/* widget a73a2ac */
/* ── Escolha o seu ritual · widget ── */
.lbl-shop *{box-sizing:border-box;margin:0;padding:0}
.lbl-shop{
  font-family:Georgia,"Times New Roman",serif;
  color:#4F522F;
  padding:clamp(48px,7vw,90px) 0;
  background:#EBE1C5;
  position:relative;
  overflow:hidden;
}
.lbl-shop .wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,48px);position:relative;z-index:1}

/* heading */
.lbl-shop .sec-head{text-align:center;max-width:640px;margin:0 auto clamp(1.6rem,3vw,2.4rem)}
.lbl-shop .eyebrow{
  font-family:"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;font-weight:700;opacity:.8;
}
.lbl-shop .sec-head h2{font-size:clamp(2rem,4.4vw,3.2rem);margin:.5rem 0 .8rem;line-height:1.05;font-weight:700}
.lbl-shop .sec-head p{font-family:"Helvetica Neue",Arial,sans-serif;opacity:.85;line-height:1.7}

/* ── Filtros ── */
.lbl-filters{
  display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;
  margin-bottom:clamp(1.4rem,2.5vw,2rem);
}
.lbl-filters button{
  font-family:"Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.06em;text-transform:uppercase;
  padding:.6em 1.3em;border-radius:999px;cursor:pointer;
  border:2px solid #4F522F;background:transparent;color:#4F522F;
  transition:background .2s,color .2s,transform .15s;
}
.lbl-filters button:hover{transform:translateY(-2px)}
.lbl-filters button.active{background:#4F522F;color:#EBE1C5}

/* ── Grid de produtos ── */
.lbl-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:1.4rem;
}
@media(max-width:640px){.lbl-grid{grid-template-columns:1fr;max-width:380px;margin:0 auto}}

/* ── Card de produto ── */
.lbl-prod{
  background:#fbfaf4;border-radius:26px;overflow:hidden;
  border:1px solid rgba(79,82,47,.12);
  display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease;
}
.lbl-prod.hidden{display:none!important}
.lbl-prod:hover{transform:translateY(-6px);box-shadow:0 18px 40px -20px rgba(79,82,47,.5)}
.lbl-prod .ph{
  aspect-ratio:1;overflow:hidden;position:relative;
  background:radial-gradient(circle at 50% 42%,#f5efdf,#EBE1C5);
  display:flex;align-items:center;justify-content:center;
  border-radius:26px 26px 0 0;
}
.lbl-prod .ph img{width:100%;height:100%;object-fit:cover;transition:opacity .45s ease}
.lbl-prod .ph .placeholder-icon{
  width:60px;height:60px;opacity:.25;
}

/* hover image swap */
.lbl-prod .ph .photo-back{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.lbl-prod:hover .ph .photo-front{opacity:0}
.lbl-prod:hover .ph .photo-back{opacity:1}

/* tags (stock + category) */
.lbl-prod .tags{position:absolute;top:12px;left:12px;z-index:2;display:flex;flex-wrap:wrap;gap:6px}
.lbl-prod .tag{
  font-family:"Helvetica Neue",Arial,sans-serif;font-size:.64rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;padding:.35em .8em;border-radius:999px;
}
.lbl-prod .tag-stock{background:#4F522F;color:#EBE1C5}
.lbl-prod .tag-stock.esgotado{background:#8b4513;color:#EBE1C5}
.lbl-prod .tag-stock.disponivel{background:#2e6b2e;color:#EBE1C5}
.lbl-prod .tag-cat{background:rgba(235,225,197,.92);color:#4F522F}

/* body */
.lbl-prod .body{padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;flex:1}
.lbl-prod h3{font-size:1.25rem;font-weight:700;line-height:1.15}
.lbl-prod .notes{
  font-family:"Helvetica Neue",Arial,sans-serif;font-size:.84rem;
  opacity:.7;margin:.35rem 0 1rem;line-height:1.5;
}
.lbl-prod .price{font-size:1.5rem;font-weight:700;margin-top:auto}
.lbl-prod .price small{font-size:.8rem;opacity:.6;font-weight:400}
.lbl-prod .btn-prod{
  display:flex;align-items:center;justify-content:center;
  font-family:"Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:.95rem;
  letter-spacing:.02em;text-transform:uppercase;
  padding:.95em 1.7em;border-radius:999px;cursor:pointer;
  border:2px solid #4F522F;background:#4F522F;color:#EBE1C5;
  text-decoration:none;width:100%;margin-top:1rem;
  transition:transform .15s ease,background .2s ease;
}
.lbl-prod .btn-prod:hover{transform:translateY(-2px);background:#2b2c1c;border-color:#2b2c1c}

/* ── Card CTA (ficou na dúvida) ── */
.lbl-prod.cta-card{
  background:#4F522F;color:#EBE1C5;
  justify-content:center;align-items:center;text-align:center;
  padding:2.4rem 1.8rem;min-height:420px;
}
.lbl-prod.cta-card .cta-logo{height:88px;margin-bottom:1rem;width:auto;object-fit:contain}
.lbl-prod.cta-card h3{color:#EBE1C5;font-size:1.5rem;margin-bottom:.6rem}
.lbl-prod.cta-card p{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.9rem;opacity:.85;margin-bottom:1.4rem;line-height:1.6}
.lbl-prod.cta-card .btn-cta{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:"Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:.95rem;
  letter-spacing:.02em;text-transform:uppercase;
  padding:.95em 1.7em;border-radius:999px;cursor:pointer;
  border:2px solid #EBE1C5;background:#EBE1C5;color:#4F522F;
  text-decoration:none;transition:transform .15s ease,background .2s ease;
}
.lbl-prod.cta-card .btn-cta:hover{transform:translateY(-2px);background:#fbfaf4;border-color:#fbfaf4}

/* ── Paginação ── */
.lbl-pagination{
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  margin-top:clamp(1.6rem,3vw,2.4rem);
}
.lbl-pagination button{
  width:48px;height:48px;border-radius:50%;
  border:2px solid #4F522F;background:transparent;color:#4F522F;
  font-size:1.2rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s,transform .15s;
  font-family:"Helvetica Neue",Arial,sans-serif;
}
.lbl-pagination button:hover:not(:disabled){background:#4F522F;color:#EBE1C5;transform:translateY(-2px)}
.lbl-pagination button:disabled{opacity:.3;cursor:default}
.lbl-pagination .lbl-page-info{
  font-family:"Helvetica Neue",Arial,sans-serif;font-size:.85rem;font-weight:700;
  letter-spacing:.06em;min-width:80px;text-align:center;
}

/* animação de entrada */
.lbl-prod{opacity:0;transform:translateY(24px);animation:lblFadeIn .5s ease forwards}
@keyframes lblFadeIn{to{opacity:1;transform:translateY(0)}}

/* widget f70dd9a */
/* ── Quote "É liberdade que nos move" · widget ── */
.lbl-quote{
  --oliva:#4F522F;
  --areia:#EBE1C5;
  background:var(--oliva);
  color:var(--areia);
  padding:clamp(60px,8vw,100px) 0;
  text-align:center;
  overflow:hidden;
  position:relative;
  font-family:Georgia,"Times New Roman",serif;
}
.lbl-quote *{box-sizing:border-box;margin:0;padding:0}
.lbl-quote .deco{position:absolute;pointer-events:none;user-select:none;z-index:0;opacity:.1}
.lbl-quote .wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,48px);position:relative;z-index:1}
.lbl-quote blockquote{
  font-size:clamp(1.8rem,4.6vw,3.4rem);
  font-style:italic;
  font-weight:700;
  max-width:18ch;
  margin:0 auto;
  line-height:1.15;
}
.lbl-quote .cite{
  font-family:"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.3em;
  font-size:.72rem;
  margin-top:1.6rem;
  opacity:.75;
}

/* widget d791107 */
/* ── Modo de preparo / info · widget ── */
.lbl-prep{
  --oliva:#4F522F;
  --areia:#EBE1C5;
  --branco:#fbfaf4;
  padding:0 0 clamp(48px,vw,88px);
  background:var(--branco);
  font-family:Georgia,"Times New Roman",serif;
  color:var(--oliva);
}
.lbl-prep *{box-sizing:border-box;margin:0;padding:0}
.lbl-prep .wrap{width:100%;margin:0 auto;padding:0 clamp(20px,48px)}
.lbl-prep-inner{
  position:relative;overflow:hidden;
  background:var(--areia);
  border-radius:34px;
  padding:clamp(2rem,4.5vw,3.4rem);
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1.6rem,3vw,2.6rem);
}
.lbl-prep .deco{position:absolute;pointer-events:none;user-select:none;z-index:0;opacity:.08}
.lbl-prep-item{position:relative;z-index:1}
.lbl-prep-item .k{
  font-family:"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;font-weight:700;
  opacity:.6;display:flex;align-items:center;gap:.5rem;
}
.lbl-prep-item .k::before{content:"";width:22px;height:2px;background:var(--oliva)}
.lbl-prep-item h3{font-size:1.3rem;margin:.7rem 0 .5rem;font-weight:700;line-height:1.15}
.lbl-prep-item p{
  font-family:"Helvetica Neue",Arial,sans-serif;font-size:.94rem;
  opacity:.85;line-height:1.6;
}
.lbl-prep-item strong{font-weight:700}
@media(max-width:800px){
  .lbl-prep-inner{grid-template-columns:1fr;gap:1.8rem}
}

/* widget 3e2754a */
/* =========================================================
   ORIGEM DO LOTE · WIDGET
   Container interno sempre BOXED
   ========================================================= */

.lbl-lote{

  --oliva:#4F522F;
  --areia:#EBE1C5;

  width:100%;

  padding:
    clamp(64px,8vw,110px) 0;

  background:var(--oliva);

  color:var(--areia);

  position:relative;

  overflow:hidden;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

}


/* =========================================================
   RESET LOCAL
   ========================================================= */

.lbl-lote *{

  box-sizing:border-box;

  margin:0;

  padding:0;

}


/* =========================================================
   DECORAÇÃO
   ========================================================= */

.lbl-lote .deco{

  position:absolute;

  pointer-events:none;

  user-select:none;

  z-index:0;

  opacity:.1;

}


/* =========================================================
   CONTAINER BOXED
   ---------------------------------------------------------
   Este é o ponto principal.

   Mesmo que o container do Elementor esteja em
   "Plein largeur", este container permanece boxed.
   ========================================================= */

.lbl-lote .wrap{

  width:100%;

  max-width:1140px;

  margin-left:auto;

  margin-right:auto;

  padding-left:
    20px;

  padding-right:
    20px;

  position:relative;

  z-index:1;

}


/* =========================================================
   GRID
   ========================================================= */

.lbl-lote-grid{

  width:100%;

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr);

  gap:
    clamp(2rem,5vw,4rem);

  align-items:center;

  position:relative;

  z-index:1;

}


/* =========================================================
   TEXTO
   ========================================================= */

.lbl-lote-copy{

  min-width:0;

}


.lbl-lote-copy .eyebrow{

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  text-transform:uppercase;

  letter-spacing:.32em;

  font-size:.72rem;

  font-weight:700;

  color:var(--areia);

  opacity:.75;

}


/* =========================================================
   H2
   ========================================================= */

.lbl-lote-copy h2{

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size:
    clamp(2rem,4.4vw,3rem);

  margin:
    .6rem 0 1.1rem;

  font-weight:700;

  line-height:1.05;

  color:#EBE1C5 !important;

}


/* =========================================================
   TEXTO
   ========================================================= */

.lbl-lote-copy p{

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  line-height:1.7;

  opacity:.9;

  margin-bottom:1rem;

}


/* =========================================================
   QR CODE
   ========================================================= */

.lbl-lote-qr{

  display:inline-flex;

  align-items:center;

  gap:.6rem;

  max-width:100%;

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  font-size:.82rem;

  opacity:.8;

  border:
    1px solid rgba(235,225,197,.35);

  border-radius:999px;

  padding:.6em 1.1em;

  margin-top:.4rem;

}


.lbl-lote-qr b{

  font-size:1.1rem;

  line-height:1;

}


/* =========================================================
   CARD
   ========================================================= */

.lbl-lote-card{

  width:100%;

  min-width:0;

  background:var(--areia);

  color:var(--oliva);

  border-radius:42px;

  padding:
    clamp(1.8rem,3.5vw,2.6rem);

  box-shadow:
    0 24px 60px -30px rgba(0,0,0,.5);

}


/* =========================================================
   CABEÇALHO DO CARD
   ========================================================= */

.lbl-lote-head{

  display:flex;

  align-items:baseline;

  justify-content:space-between;

  gap:1rem;

  border-bottom:
    2px solid rgba(79,82,47,.2);

  padding-bottom:1rem;

  margin-bottom:.3rem;

}


.lbl-lote-head span{

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  text-transform:uppercase;

  letter-spacing:.2em;

  font-size:.7rem;

  font-weight:700;

  opacity:.6;

}


.lbl-lote-head strong{

  font-family:
    Georgia,
    serif;

  font-size:1.7rem;

}


/* =========================================================
   ESPECIFICAÇÕES
   ========================================================= */

.lbl-lote-specs{

  list-style:none;

}


.lbl-lote-specs li{

  display:flex;

  justify-content:space-between;

  gap:1rem;

  padding:.85rem 0;

  border-bottom:
    1px dashed rgba(79,82,47,.28);

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

}


.lbl-lote-specs li:last-child{

  border-bottom:0;

}


.lbl-lote-specs li span{

  opacity:.7;

  font-size:.82rem;

  text-transform:uppercase;

  letter-spacing:.08em;

  align-self:center;

}


.lbl-lote-specs li strong{

  font-weight:700;

  text-align:right;

}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1024px){

  .lbl-lote .wrap{

    max-width:960px;

  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:800px){

  .lbl-lote .wrap{

    max-width:100%;

    padding-left:20px;

    padding-right:20px;

  }


  .lbl-lote-grid{

    grid-template-columns:1fr;

    gap:2.5rem;

  }


  .lbl-lote-card{

    border-radius:32px;

  }

}


/* =========================================================
   MOBILE PEQUENO
   ========================================================= */

@media(max-width:480px){

  .lbl-lote{

    padding:
      55px 0;

  }


  .lbl-lote .wrap{

    padding-left:18px;

    padding-right:18px;

  }


  .lbl-lote-copy h2{

    font-size:
      2rem !important;

  }


  .lbl-lote-qr{

    border-radius:20px;

  }


  .lbl-lote-specs li{

    flex-direction:column;

    gap:.35rem;

  }


  .lbl-lote-specs li strong{

    text-align:left;

  }

}

/* widget 432b870 */
/* ── Do blog · Histórias da brisa · widget dinâmico ── */
.lbl-blog{
  --oliva:#4F522F;
  --areia:#EBE1C5;
  --branco:#fbfaf4;
  --preto:#2b2c1c;
  padding:clamp(64px,8vw,110px) 0;
  background:var(--branco);
  color:var(--oliva);
  font-family:Georgia,"Times New Roman",serif;
  position:relative;
  overflow:hidden;
}
.lbl-blog *{box-sizing:border-box;margin:0;padding:0}
.lbl-blog .wrap{width:100%;margin:0 auto;padding:0 clamp(20px,5vw,48px)}

.lbl-blog-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;
  margin-bottom:clamp(1.6rem,3vw,2.4rem);
}
.lbl-blog .eyebrow{
  font-family:"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;font-weight:700;opacity:.8;
}
.lbl-blog-head h2{font-size:clamp(2rem,4.4vw,3.2rem);margin-top:.5rem;font-weight:700;line-height:1.05}
.lbl-blog-arrows{display:flex;gap:.6rem;flex-shrink:0}
.lbl-blog-btn{
  width:52px;height:52px;border-radius:50%;
  border:2px solid var(--oliva);background:transparent;color:var(--oliva);
  font-size:1.4rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s,transform .15s;
}
.lbl-blog-btn:hover{background:var(--oliva);color:var(--areia)}
.lbl-blog-btn:active{transform:scale(.94)}
.lbl-blog-btn:disabled{opacity:.3;cursor:default;background:transparent;color:var(--oliva)}

.lbl-blog-track{
  display:flex;gap:1.6rem;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:.6rem clamp(20px,5vw,48px) 1.6rem;
  margin:0 clamp(-20px,-5vw,-48px);
  scroll-padding-left:clamp(20px,5vw,48px);
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.lbl-blog-track::-webkit-scrollbar{display:none}

.lbl-article{
  flex:0 0 min(78%,320px);scroll-snap-align:start;
  position:relative;display:block;border-radius:26px;overflow:hidden;
  aspect-ratio:4/5;background:var(--oliva);text-decoration:none;color:inherit;
}
@media(min-width:900px){.lbl-article{flex-basis:calc((100% - 3.2rem)/3.25)}}
.lbl-article img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block}
.lbl-article:hover img{transform:scale(1.06)}
.lbl-article::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(43,44,28,0) 38%,rgba(43,44,28,.9) 100%);
}
.lbl-article .meta{position:absolute;left:0;right:0;bottom:0;padding:1.3rem 1.4rem;z-index:1;color:var(--areia)}
.lbl-article .meta .m{
  font-family:"Helvetica Neue",Arial,sans-serif;text-transform:uppercase;
  letter-spacing:.16em;font-size:.64rem;opacity:.85;font-weight:700;
}
.lbl-article .meta h3{font-size:1.15rem;margin-top:.35rem;line-height:1.2;font-weight:700}
.lbl-article .meta p{
  font-family:"Helvetica Neue",Arial,sans-serif;font-size:.82rem;opacity:.8;
  margin-top:.5rem;line-height:1.5;
}

.lbl-blog-more{margin-top:1.4rem}
.lbl-blog-more a{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:"Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:.95rem;
  letter-spacing:.02em;text-transform:uppercase;
  padding:.95em 1.7em;border-radius:999px;cursor:pointer;
  border:2px solid var(--oliva);background:transparent;color:var(--oliva);
  text-decoration:none;transition:transform .15s ease,background .2s ease,color .2s ease;
}
.lbl-blog-more a:hover{transform:translateY(-2px);background:var(--oliva);color:var(--areia)}

.lbl-blog-empty{
  font-family:"Helvetica Neue",Arial,sans-serif;opacity:.6;font-size:.9rem;padding:2rem 0;
}


/* ── Atualização: widget d791107 (modo de preparo) ── */
/* ── Preparação / Conservação / Bom saber ── */

.lbl-prep {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.lbl-prep *,
.lbl-prep *::before,
.lbl-prep *::after {
  box-sizing: border-box;
}

.lbl-prep .wrap {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.lbl-prep-inner {
  position: relative;
  display: flex;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 50px 48px;
  box-sizing: border-box;
  overflow: hidden;
}

.lbl-prep-item {
  flex: 1 1 0;
  min-width: 0;
  padding: 0 35px;
}

.lbl-prep-item:first-of-type {
  padding-left: 0;
}

.lbl-prep-item:last-of-type {
  padding-right: 0;
}

.lbl-prep-item + .lbl-prep-item {
  border-left: 1px solid rgba(79, 82, 47, 0.25);
}

.lbl-prep-item .k {
  font-family: "Helvetica Neue", Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .68rem;
  font-weight: 700;
  color: #4F522F;
  margin-bottom: 10px;
}

.lbl-prep-item h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  line-height: 1.15;
  font-weight: 700;
  color: #4F522F;
  margin: 0 0 12px;
}

.lbl-prep-item p {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: .9rem;
  line-height: 1.65;
  color: #4F522F;
  margin: 0;
  max-width: 480px;
}

.lbl-prep-item strong {
  font-weight: 700;
}

.lbl-prep .deco {
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.lbl-prep-inner .lbl-prep-item {
  position: relative;
  z-index: 1;
}


/* ── Tablet ── */

@media (max-width: 900px) {

  .lbl-prep-inner {
    padding: 45px 30px;
  }

  .lbl-prep-item {
    padding: 0 22px;
  }

}


/* ── Mobile ── */

@media (max-width: 700px) {

  .lbl-prep-inner {
    flex-direction: column;
    gap: 32px;
    padding: 40px 24px;
  }

  .lbl-prep-item,
  .lbl-prep-item:first-of-type,
  .lbl-prep-item:last-of-type {
    width: 100%;
    padding: 0;
  }

  .lbl-prep-item + .lbl-prep-item {
    border-left: none;
    border-top: 1px solid rgba(79, 82, 47, 0.25);
    padding-top: 32px;
  }

  .lbl-prep-item p {
    max-width: 100%;
  }

}


/* ── Mobile pequeno ── */

@media (max-width: 480px) {

  .lbl-prep-inner {
    padding: 35px 20px;
    gap: 28px;
  }

  .lbl-prep-item + .lbl-prep-item {
    padding-top: 28px;
  }

  .lbl-prep-item h3 {
    font-size: 1.3rem;
  }

  .lbl-prep-item p {
    font-size: .88rem;
  }

}
/* ── Atualização: widget 432b870 (do blog) ── */
/* ── Do blog · Histórias da brisa · widget dinâmico ── */

.lbl-blog {
  --oliva: #4F522F;
  --areia: #EBE1C5;
  --branco: #fbfaf4;
  --preto: #2b2c1c;

  width: 100%;
  max-width: none;
  padding: clamp(64px, 8vw, 110px) 0;
  background: var(--branco);
  color: var(--oliva);
  font-family: Georgia, "Times New Roman", serif;
  position: relative;
  overflow: hidden;
}

.lbl-blog * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.lbl-blog .wrap {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 48px);
}


/* ── Cabeçalho ── */

.lbl-blog-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(1.6rem, 3vw, 2.4rem);
}

.lbl-blog .eyebrow {
  font-family: "Helvetica Neue", Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .32em;
  font-size: .72rem;
  font-weight: 700;
  opacity: .8;
}

.lbl-blog-head h2 {
  font-size: clamp(2rem, 4.4vw, 3.2rem);
  margin-top: .5rem;
  font-weight: 700;
  line-height: 1.05;
}


/* ── Setas ── */

.lbl-blog-arrows {
  display: flex;
  gap: .6rem;
  flex-shrink: 0;
}

.lbl-blog-btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 2px solid var(--oliva);
  background: transparent;
  color: var(--oliva);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  transition:
    background .2s,
    color .2s,
    transform .15s;
}

.lbl-blog-btn:hover {
  background: var(--oliva);
  color: var(--areia);
}

.lbl-blog-btn:active {
  transform: scale(.94);
}

.lbl-blog-btn:disabled {
  opacity: .3;
  cursor: default;
  background: transparent;
  color: var(--oliva);
}


/* ── Carrossel ── */

.lbl-blog-track {
  display: flex;
  gap: 1.6rem;

  overflow-x: auto;
  scroll-snap-type: x mandatory;

  padding: .6rem clamp(20px, 5vw, 48px) 1.6rem;
  margin: 0 clamp(-20px, -5vw, -48px);

  scroll-padding-left: clamp(20px, 5vw, 48px);

  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.lbl-blog-track::-webkit-scrollbar {
  display: none;
}


/* ── Card ── */

.lbl-article {
  flex: 0 0 min(78%, 320px);

  scroll-snap-align: start;

  position: relative;
  display: block;

  border-radius: 26px;
  overflow: hidden;

  aspect-ratio: 4 / 5;

  background: var(--oliva);

  text-decoration: none;
  color: inherit;
}

@media (min-width: 900px) {
  .lbl-article {
    flex-basis: calc((100% - 3.2rem) / 3.25);
  }
}


/* ── Imagens ── */

.lbl-article img {
  display: block;

  width: 100%;
  height: 100%;

  /*
   * Mantém todas as imagens no mesmo espaço.
   * A imagem não é distorcida.
   */
  object-fit: cover;
  object-position: center;

  transition: transform .5s ease;
}

.lbl-article:hover img {
  transform: scale(1.06);
}


/* ── Overlay ── */

.lbl-article::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(43, 44, 28, 0) 38%,
      rgba(43, 44, 28, .9) 100%
    );
}


/* ── Conteúdo do card ── */

.lbl-article .meta {
  position: absolute;

  left: 0;
  right: 0;
  bottom: 0;

  padding: 1.3rem 1.4rem;

  z-index: 1;

  color: var(--areia);
}

.lbl-article .meta .m {
  font-family: "Helvetica Neue", Arial, sans-serif;

  text-transform: uppercase;
  letter-spacing: .16em;

  font-size: .64rem;
  opacity: .85;

  font-weight: 700;

  color: var(--areia);
}


/* ── Título dos cards ── */

.lbl-article .meta h3 {
  font-size: 1.15rem;

  margin-top: .35rem;

  line-height: 1.2;

  font-weight: 700;

  /*
   * TÍTULO EM AREIA
   */
  color: var(--areia);
}


/* ── Excerpt ── */

.lbl-article .meta p {
  font-family: "Helvetica Neue", Arial, sans-serif;

  font-size: .82rem;

  opacity: .8;

  margin-top: .5rem;

  line-height: 1.5;

  color: var(--areia);
}


/* ── Botão Ver todos ── */

.lbl-blog-more {
  margin-top: 1.4rem;
}

.lbl-blog-more a {
  display: inline-flex;

  align-items: center;
  gap: .55em;

  font-family: "Helvetica Neue", Arial, sans-serif;

  font-weight: 700;
  font-size: .95rem;

  letter-spacing: .02em;
  text-transform: uppercase;

  padding: .95em 1.7em;

  border-radius: 999px;

  cursor: pointer;

  border: 2px solid var(--oliva);

  background: transparent;
  color: var(--oliva);

  text-decoration: none;

  transition:
    transform .15s ease,
    background .2s ease,
    color .2s ease;
}

.lbl-blog-more a:hover {
  transform: translateY(-2px);

  background: var(--oliva);
  color: var(--areia);
}


/* ── Estado vazio ── */

.lbl-blog-empty {
  font-family: "Helvetica Neue", Arial, sans-serif;

  opacity: .6;

  font-size: .9rem;

  padding: 2rem 0;
}


/* ── Mobile ── */

@media (max-width: 767px) {

  .lbl-blog {
    padding: 55px 0;
  }

  .lbl-blog-head {
    align-items: flex-start;
  }

  .lbl-blog-head h2 {
    font-size: 2rem;
  }

  .lbl-blog-btn {
    width: 44px;
    height: 44px;
  }

  .lbl-article {
    flex-basis: min(82%, 320px);
  }

}
/* ══════════════════════════════════════════════════
   HERO COM FOTO DE FUNDO
   Substitui o hero de texto por foto cheia, logo centralizada e H1
   no canto inferior esquerdo. As regras antigas (.lbl-hero-copy,
   -est, -lead, -cta, -btn, -art, -disc, -mascot, -grid) ficaram sem
   uso porque esses elementos sairam do HTML.
   A faixa de palavras (.lbl-hero-marquee) segue intacta.
   ══════════════════════════════════════════════════ */

.lbl-hero-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #2b2c1c;
  /* caminho relativo ao proprio arquivo css, em uploads/labrisaleve/ */
  background-image: url("lbl-foto-turma.jpg");
  background-size: cover;
  background-position: center 55%;
  background-repeat: no-repeat;
}

/* veu de leitura: escurece o rodape pro H1, da um leve vinhetado no
   centro pra logo creme nao sumir no ceu e segura o topo por causa do
   header translucido */
.lbl-hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 62% 52% at 50% 44%, rgba(28, 30, 18, .42), rgba(28, 30, 18, 0) 72%),
    linear-gradient(to top,
      rgba(28, 30, 18, .80) 0%,
      rgba(28, 30, 18, .40) 26%,
      rgba(28, 30, 18, .08) 52%,
      rgba(28, 30, 18, .30) 100%);
}

.lbl-hero-section .lbl-hero-wrap {
  position: relative;
  z-index: 2;
}

.lbl-hero-stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(86vh, 720px);
  padding-top: clamp(64px, 10vw, 120px);
  padding-bottom: clamp(104px, 14vw, 168px);
}

.lbl-hero-logo {
  width: clamp(220px, 30vw, 400px);
  height: auto;
  filter: drop-shadow(0 6px 26px rgba(20, 22, 12, .45));
}

.lbl-hero-title {
  position: absolute;
  left: 0;
  bottom: clamp(26px, 4.5vw, 54px);
  margin: 0 !important;
  max-width: 16ch;
  color: #EAE1C4 !important;
  font-size: clamp(2.1rem, 5.2vw, 4.1rem) !important;
  text-shadow: 0 2px 18px rgba(20, 22, 12, .55);
}

@media (max-width: 860px) {
  .lbl-hero-section {
    background-image: url("lbl-foto-turma-960.jpg");
    background-position: center 48%;
  }
  .lbl-hero-stage {
    min-height: min(78vh, 600px);
    padding-bottom: clamp(96px, 20vw, 140px);
  }
  .lbl-hero-logo {
    width: clamp(200px, 52vw, 300px);
  }
}

@media (max-width: 620px) {
  .lbl-hero-title {
    font-size: clamp(1.9rem, 9vw, 2.7rem) !important;
    max-width: 12ch;
  }
  .lbl-hero-stage {
    min-height: min(76vh, 540px);
  }
}

/* ── Filtros da vitrine no mobile ──
   Os botoes herdavam o tamanho do desktop e so cabiam 2 por linha.
   Grade de 3 colunas garante o minimo de 3 independente do tamanho
   do rotulo, inclusive de categoria nova que venha com nome longo.

   !important porque .elementor-kit-4 button (post-4.css) define
   font-size:15px e padding:15px 27px com a mesma especificidade
   daqui, e carrega depois deste arquivo, entao ganharia no desempate. */
@media (max-width: 640px) {
  .lbl-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .4rem;
  }
  .lbl-filters button {
    width: 100%;
    min-width: 0;
    padding: .62em .6em !important;
    font-size: .78rem !important;
    letter-spacing: .03em !important;
    border-width: 1px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .lbl-filters button:hover {
    transform: none;
  }
}

@media (max-width: 360px) {
  .lbl-filters button {
    font-size: .7rem !important;
    padding: .6em .45em !important;
  }
}
