/* =========================================================================
   MULTILOJAS PRO — ESTRUTURAS VISUAIS FIÉIS ÀS 3 IMAGENS DE REFERÊNCIA
   -------------------------------------------------------------------------
   Este arquivo é 100% ADITIVO: só se aplica quando o <body> tem uma das
   classes abaixo (definidas por getLayoutEstrutura()/applyStoreLayout() em
   js/loja-v11.js, de acordo com stores.layout_loja). Nenhuma loja que já
   existia muda de estrutura — o modelo Clássico, Vitrine Premium, Fashion
   Elegance e Tech Store Modern continuam usando exatamente a estrutura
   padrão de loja.html (sem nenhuma classe daqui), só com a cor do seu tema.

   3 estruturas novas, cada uma correspondendo a UMA das 3 imagens enviadas:

   1) body.estrutura-pagina-vendas   → "Página de Vendas de Sistemas de
      Canais de TV" (imagem 1 — TV Premium): hero escuro azul-marinho com TV
      mockup, barra de recursos, seção clara "Conheça o serviço" com
      checklist + card de planos, depoimentos em cards escuros, FAQ em
      acordeão, CTA final e rodapé.

   2) body.estrutura-loja-tradicional → "Loja Virtual Tradicional" (imagem 2
      — Estilo & Você): cabeçalho com barra de utilidade + busca + ícones de
      conta/favoritos/carrinho, navbar escura de categorias, banner com
      texto à esquerda, cards de categoria com foto, vitrine 5 colunas com
      selo de desconto, faixa "super promoção", barra de confiança, seção
      "sobre a loja" e rodapé em colunas com newsletter.

   3) body.estrutura-confeitaria      → "Bolos, Salgados e Encomendas"
      (imagem 3 — Doce Sabor): mesma estrutura de cabeçalho/navbar/vitrine
      da Loja Tradicional, mas com identidade vermelho-baga/creme e textos
      de confeitaria — reaproveita boa parte das classes abaixo.
   ========================================================================= */

/* ---------- Página de Vendas: não usa catálogo/carrinho — o app-shell
   inteiro (topbar, bottom-nav, modal de produto, views) fica oculto e só
   o container #lp-page aparece. ---------- */
body.estrutura-pagina-vendas .app-shell,
body.estrutura-pagina-vendas .drawer,
body.estrutura-pagina-vendas .drawer-overlay{
  display:none !important;
}

/* ---------- Loja Tradicional / Confeitaria: o app-shell CONTINUA ativo
   (carrinho, checkout, pedidos, modal de produto, bottom-nav — tudo
   reaproveitado sem duplicar lógica). Só o cabeçalho (.topbar) e o rodapé
   padrão (.footer-modern) da tela "Início" são substituídos pelo novo
   cabeçalho/rodapé fiel à imagem de referência (#vt-page, injetado DENTRO
   de #view-inicio por renderVitrineTradicional() em loja-v11.js). O resto
   do app funciona exatamente como em qualquer outra loja. ---------- */
body.estrutura-loja-tradicional .topbar,
body.estrutura-confeitaria .topbar{
  display:none !important;
}
body.estrutura-loja-tradicional .app-shell,
body.estrutura-confeitaria .app-shell{
  max-width:100%;
}

/* =========================================================================
   1) PÁGINA DE VENDAS DE SISTEMAS DE CANAIS (imagem 1 — "TV Premium")
   ========================================================================= */
#lp-page{display:none;}
body.estrutura-pagina-vendas #lp-page{display:block;}
body.estrutura-pagina-vendas .app-shell{max-width:100%;padding-bottom:0;}

#lp-page{background:var(--bg,#071426);color:var(--text,#e6e9f5);font-family:'Poppins',sans-serif;overflow-x:hidden;}
#lp-page a{text-decoration:none;}
#lp-page .lp-wrap{max-width:1180px;margin:0 auto;padding:0 20px;}
#lp-page .lp-eyebrow{
  text-transform:uppercase;font-weight:700;font-size:11.5px;letter-spacing:1px;color:var(--secondary,#22d3ee);
  margin-bottom:8px;display:block;
}

/* Header */
.lp-header{position:sticky;top:0;z-index:60;background:rgba(7,20,38,.92);backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.06);}
.lp-header-row{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;max-width:1180px;margin:0 auto;}
.lp-header-brand{display:flex;align-items:center;gap:10px;}
.lp-header-brand img{height:34px;width:34px;border-radius:8px;object-fit:cover;background:#fff;}
.lp-header-brand .lp-brand-name{font-weight:800;font-size:15px;color:#fff;line-height:1.1;}
.lp-header-brand .lp-brand-sub{font-size:9.5px;color:#8aa0b8;letter-spacing:.5px;text-transform:uppercase;}
.lp-header-nav{display:none;gap:22px;align-items:center;}
.lp-header-nav a{color:#cdd7e6;font-size:13px;font-weight:600;cursor:pointer;}
.lp-header-nav a.active{color:var(--secondary,#22d3ee);}
.lp-header-cta{background:#25D366;color:#fff;font-weight:700;font-size:12.5px;padding:10px 18px;border-radius:30px;display:flex;align-items:center;gap:8px;white-space:nowrap;}
@media(min-width:860px){ .lp-header-nav{display:flex;} }

/* Hero */
.lp-hero{background:linear-gradient(180deg,var(--bg,#071426) 0%,#0a1b33 100%);padding:40px 0 60px;}
.lp-hero-grid{display:grid;grid-template-columns:1fr;gap:34px;align-items:center;}
@media(min-width:900px){ .lp-hero-grid{grid-template-columns:1fr 1fr;gap:40px;} }
.lp-hero-title{font-size:28px;font-weight:800;color:#fff;line-height:1.25;margin:0 0 14px;}
.lp-hero-title .hl{color:var(--secondary,#22d3ee);}
.lp-hero-desc{color:#9cb3c9;font-size:14px;line-height:1.6;margin-bottom:22px;}
.lp-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;}
.lp-cta-btn{
  border:none;border-radius:30px;padding:14px 22px;font-weight:700;font-size:13.5px;color:#fff;
  display:flex;flex-direction:column;align-items:flex-start;gap:1px;cursor:pointer;min-width:220px;
}
.lp-cta-btn small{font-weight:400;font-size:10.5px;opacity:.9;}
.lp-cta-btn .lp-cta-top{display:flex;align-items:center;gap:8px;}
.lp-cta-btn.lp-cta-teste{background:#25D366;}
.lp-cta-btn.lp-cta-interesse{background:var(--primary,#1877f2);}
.lp-hero-media{position:relative;}
.lp-hero-media img{width:100%;border-radius:18px;display:block;box-shadow:0 20px 50px rgba(0,0,0,.4);}

/* Barra de recursos (ícones) */
.lp-features-bar{background:#0a1b33;padding:26px 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);}
.lp-features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
@media(min-width:760px){ .lp-features-grid{grid-template-columns:repeat(4,1fr);} }
.lp-feature-item{text-align:center;}
.lp-feature-item i{font-size:22px;color:var(--secondary,#22d3ee);margin-bottom:10px;}
.lp-feature-item strong{display:block;color:#fff;font-size:13px;margin-bottom:4px;}
.lp-feature-item span{display:block;color:#8aa0b8;font-size:11.5px;line-height:1.4;}

/* Seção "Conheça o serviço" (clara) */
.lp-service{background:#ffffff;color:#0b1a30;padding:50px 0;}
.lp-service-grid{display:grid;grid-template-columns:1fr;gap:30px;}
@media(min-width:960px){ .lp-service-grid{grid-template-columns:1.1fr 1.3fr 1fr;} }
.lp-service h2{font-size:24px;font-weight:800;margin:0 0 12px;}
.lp-service p.lp-desc{color:#5b6b80;font-size:13.5px;line-height:1.6;margin-bottom:16px;}
.lp-check-list{list-style:none;padding:0;margin:0 0 18px;}
.lp-check-list li{display:flex;align-items:center;gap:10px;font-size:13px;color:#273449;margin-bottom:10px;}
.lp-check-list i{color:#0b84fe;background:rgba(11,132,254,.12);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:11px;flex:0 0 auto;}
.lp-btn-outline-blue{border:1.5px solid #0b84fe;color:#0b84fe;background:transparent;border-radius:30px;padding:11px 20px;font-weight:700;font-size:12.5px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;}
.lp-service-media{display:flex;align-items:center;justify-content:center;}
.lp-service-media img{width:100%;border-radius:14px;max-width:360px;}
.lp-plans-card{background:#f0f6ff;border-radius:16px;padding:22px;}
.lp-plans-card h3{font-size:16px;margin:0 0 8px;color:#0b1a30;}
.lp-plans-card p{font-size:12.5px;color:#5b6b80;margin:0 0 14px;}
.lp-plans-card ul{list-style:none;padding:0;margin:0 0 18px;}
.lp-plans-card li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#273449;margin-bottom:9px;}
.lp-plans-card li i{color:#0b84fe;font-size:12px;}
.lp-btn-solid-blue{background:#0b84fe;color:#fff;border:none;border-radius:30px;padding:12px 18px;font-weight:700;font-size:12.5px;width:100%;cursor:pointer;}

/* Planos completos (cards) */
.lp-plans-section{background:#f8fafc;padding:50px 0;color:#0b1a30;}
.lp-plans-section h2{font-size:22px;font-weight:800;text-align:center;margin:0 0 30px;}
.lp-plans-cards-grid{display:grid;grid-template-columns:1fr;gap:18px;}
@media(min-width:760px){ .lp-plans-cards-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));} }
.lp-plan-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;text-align:center;}
.lp-plan-card.destaque{border-color:var(--secondary,#22d3ee);box-shadow:0 10px 30px rgba(34,211,238,.18);transform:translateY(-6px);}
.lp-plan-card h3{font-size:15px;margin:0 0 6px;}
.lp-plan-card .lp-plan-price{font-size:26px;font-weight:800;color:var(--primary,#0b84fe);margin-bottom:2px;}
.lp-plan-card .lp-plan-price span{font-size:12px;font-weight:400;color:#888;}
.lp-plan-card ul{list-style:none;padding:0;margin:14px 0;text-align:left;}
.lp-plan-card li{font-size:12.5px;color:#334155;margin-bottom:8px;display:flex;gap:8px;align-items:flex-start;}
.lp-plan-card li i{color:#22c98a;margin-top:2px;}

/* Depoimentos (escuro) */
.lp-testim{background:var(--bg,#071426);padding:50px 0;}
.lp-testim-head{max-width:420px;margin-bottom:30px;}
.lp-testim-head h2{color:#fff;font-size:22px;font-weight:800;margin:6px 0;}
.lp-testim-head p{color:#9cb3c9;font-size:13px;line-height:1.6;}
.lp-testim-grid{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:760px){ .lp-testim-grid{grid-template-columns:repeat(3,1fr);} }
.lp-testim-card{background:#0e223d;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px;}
.lp-testim-top{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.lp-testim-avatar{width:40px;height:40px;border-radius:50%;background:var(--secondary,#22d3ee);color:#000;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px;flex:0 0 auto;object-fit:cover;}
.lp-testim-name{color:#fff;font-weight:700;font-size:13px;}
.lp-testim-stars{color:#FFB800;font-size:11.5px;}
.lp-testim-text{color:#b8c6d9;font-size:12.5px;line-height:1.6;margin:8px 0;}
.lp-testim-loc{color:#6d8bb0;font-size:11px;}

/* FAQ (claro) */
.lp-faq{background:#f8fafc;padding:50px 0;}
.lp-faq-grid{display:grid;grid-template-columns:1fr;gap:26px;}
@media(min-width:860px){ .lp-faq-grid{grid-template-columns:1fr 1.4fr;} }
.lp-faq-head h2{font-size:22px;font-weight:800;color:#0b1a30;margin:6px 0;}
.lp-faq-head p{color:#5b6b80;font-size:13px;margin-bottom:16px;}
.lp-faq-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;margin-bottom:10px;cursor:pointer;}
.lp-faq-item .lp-faq-q{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:13px;color:#0b1a30;}
.lp-faq-item .lp-faq-a{font-size:12.5px;color:#5b6b80;margin-top:10px;line-height:1.6;display:none;}
.lp-faq-item.open .lp-faq-a{display:block;}
.lp-faq-item .lp-faq-q i{transition:transform .2s;color:#0b84fe;}
.lp-faq-item.open .lp-faq-q i{transform:rotate(45deg);}

/* CTA final */
.lp-final-cta{background:#07192f;padding:32px 0;}
.lp-final-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;}
.lp-final-row h3{color:#fff;font-size:17px;margin:0 0 4px;}
.lp-final-row p{color:#9cb3c9;font-size:12.5px;margin:0;}
.lp-final-row .lp-final-btns{display:flex;gap:10px;flex-wrap:wrap;}

/* Rodapé */
.lp-footer{background:#050d1a;padding:24px 0;text-align:center;}
.lp-footer p{color:#5b7390;font-size:11.5px;margin:4px 0;}

/* Botão flutuante de WhatsApp (genérico, usado nas 3 estruturas) */
#floating-whatsapp-btn{
  position:fixed;bottom:22px;right:18px;width:56px;height:56px;border-radius:50%;background:#25D366;
  color:#fff;font-size:26px;display:none;align-items:center;justify-content:center;z-index:90;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
}
#floating-whatsapp-btn.show{display:flex;}

/* =========================================================================
   2) LOJA VIRTUAL TRADICIONAL (imagem 2 — "Estilo & Você")
      3) CONFEITARIA / BOLOS, SALGADOS E ENCOMENDAS (imagem 3 — "Doce Sabor")
   -------------------------------------------------------------------------
   As duas modalidades compartilham a MESMA estrutura (cabeçalho completo +
   navbar de categorias + banner + vitrine 5 colunas + rodapé em colunas),
   só trocando cores/textos — por isso usam as mesmas classes .vt-* aqui.
   ========================================================================= */
#vt-page-inicio{display:none;}
body.estrutura-loja-tradicional #vt-page-inicio,
body.estrutura-confeitaria #vt-page-inicio{display:block;}

#vt-page-inicio{font-family:'Poppins',sans-serif;}
#vt-page-inicio .vt-wrap{max-width:1280px;margin:0 auto;padding:0 20px;}
/* As seções clássicas de #view-inicio (banner/categorias/destaque/super
   promo/novidades/rodapé) ficam ocultas quando o novo cabeçalho/vitrine
   fiel à imagem está ativo — mas CONTINUAM existindo no DOM (nenhum dado
   é perdido) e voltam a aparecer normalmente se o lojista trocar de volta
   para o modelo Clássico. */
body.estrutura-loja-tradicional #view-inicio > .banner-wrap,
body.estrutura-confeitaria #view-inicio > .banner-wrap,
body.estrutura-loja-tradicional #view-inicio > section:not(#vt-extra-section),
body.estrutura-confeitaria #view-inicio > section:not(#vt-extra-section),
body.estrutura-loja-tradicional #view-inicio > footer.footer-modern,
body.estrutura-confeitaria #view-inicio > footer.footer-modern{
  display:none !important;
}

/* Barra de utilidade */
.vt-utility-bar{background:#f8f9fa;border-bottom:1px solid #eee;font-size:10.5px;color:#777;padding:6px 0;}
.vt-utility-row{display:none;justify-content:space-between;max-width:1280px;margin:0 auto;padding:0 20px;}
@media(min-width:760px){ .vt-utility-row{display:flex;} }
.vt-utility-row span{display:flex;align-items:center;gap:6px;}

/* Header principal */
.vt-header{background:#fff;padding:14px 0;border-bottom:1px solid #eee;}
.vt-header-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.vt-logo{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.vt-logo img{height:38px;width:38px;border-radius:8px;object-fit:cover;background:#fff;}
.vt-logo .vt-logo-text{font-weight:800;font-size:16px;color:var(--primary,#e6005c);line-height:1.1;}
.vt-logo .vt-logo-sub{font-size:9.5px;color:#999;}
.vt-search{flex:1;min-width:160px;display:flex;background:#fff;border:1.5px solid #e5e7eb;border-radius:24px;overflow:hidden;order:3;}
@media(min-width:760px){ .vt-search{order:0;} }
.vt-search input{flex:1;border:none;outline:none;padding:10px 16px;font-size:12.5px;}
.vt-search button{background:var(--primary,#e6005c);border:none;color:#fff;padding:0 16px;font-size:13px;cursor:pointer;}
.vt-header-icons{display:flex;align-items:center;gap:16px;font-size:11.5px;color:#444;flex:0 0 auto;}
.vt-header-icons .vt-icon-item{display:flex;flex-direction:column;align-items:center;gap:2px;position:relative;cursor:pointer;}
.vt-header-icons i{font-size:16px;color:#444;}
.vt-cart-badge{position:absolute;top:-6px;right:-8px;background:var(--primary,#e6005c);color:#fff;font-size:9px;border-radius:50%;width:15px;height:15px;display:flex;align-items:center;justify-content:center;}

/* Navbar de categorias (faixa escura por padrão — "Loja Virtual
   Tradicional", imagem 2). Na Confeitaria (imagem 3 — "Doce Sabor") a
   referência usa uma navbar CLARA/branca, não escura — por isso a classe
   body.estrutura-confeitaria abaixo sobrescreve só as cores, mantendo a
   mesma estrutura/marcação HTML (.vt-navbar/.vt-navbar-row/...) das duas
   modalidades. */
.vt-navbar{background:var(--cor_menu_inferior_navbar,#111827);padding:0;}
.vt-navbar-row{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;}
.vt-navbar-row::-webkit-scrollbar{display:none;}
.vt-navbar-toggle{display:flex;align-items:center;gap:8px;color:#fff;font-size:12.5px;font-weight:600;padding:12px 14px;white-space:nowrap;}
.vt-navbar-links{display:flex;gap:18px;padding:12px 6px;}
.vt-navbar-links a{color:#e5e7eb;font-size:12.5px;font-weight:500;white-space:nowrap;cursor:pointer;}
.vt-navbar-links a.active{color:var(--primary,#e6005c);font-weight:700;}

/* NOVO: Confeitaria usa navbar clara (fiel à imagem 3 — "Doce Sabor"),
   com uma linha inferior sutil separando do banner, em vez da faixa escura
   usada pela Loja Virtual Tradicional (imagem 2). */
body.estrutura-confeitaria .vt-navbar{background:#ffffff;border-bottom:1px solid #f1e3e3;}
body.estrutura-confeitaria .vt-navbar-toggle{color:var(--primary,#c2185b);}
body.estrutura-confeitaria .vt-navbar-links a{color:#5b4038;}
body.estrutura-confeitaria .vt-navbar-links a.active{color:var(--primary,#c2185b);}

/* Banner / Hero — rosa/blush para Loja Tradicional (imagem 2), creme/baga
   suave para Confeitaria (imagem 3). Cada estrutura define seu próprio
   gradiente de fundo, sem depender de variável JS não definida. */
.vt-hero{background:linear-gradient(135deg,#fdf2f4,#fff);padding:40px 0;position:relative;overflow:hidden;}
body.estrutura-confeitaria .vt-hero{background:linear-gradient(135deg,#fdf0f0,#fffdfa);}
.vt-hero-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items:center;}
@media(min-width:860px){ .vt-hero-grid{grid-template-columns:1.1fr 1fr;} }
.vt-hero-title{font-size:26px;font-weight:800;color:#1e293b;margin:0 0 10px;line-height:1.25;}
.vt-hero-desc{font-size:13.5px;color:#555;margin-bottom:18px;line-height:1.6;}
.vt-hero-btn{background:var(--primary,#e6005c);color:#fff;border:none;border-radius:30px;padding:13px 24px;font-weight:700;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;}
.vt-hero-img{width:100%;border-radius:16px;display:block;}

/* Categorias em cards */
.vt-cat-section{padding:30px 0 10px;}
.vt-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media(min-width:640px){ .vt-cat-grid{grid-template-columns:repeat(6,1fr);} }
.vt-cat-card{background:#fff;border:1px solid #eee;border-radius:14px;overflow:hidden;text-align:center;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.04);}
.vt-cat-card img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.vt-cat-card .vt-cat-icon-fallback{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:#f8f8f8;font-size:24px;color:var(--primary,#e6005c);}
.vt-cat-card span{display:block;font-size:11.5px;font-weight:700;color:#333;padding:8px 4px;}

/* Vitrine de produtos (5 colunas) */
.vt-products-section{padding:30px 0;}
.vt-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.vt-section-head h2{font-size:17px;font-weight:800;color:#1e293b;margin:0;}
.vt-section-head a{font-size:12px;color:var(--primary,#e6005c);font-weight:700;cursor:pointer;}
.vt-products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
@media(min-width:640px){ .vt-products-grid{grid-template-columns:repeat(3,1fr);} }
@media(min-width:960px){ .vt-products-grid{grid-template-columns:repeat(5,1fr);} }
.vt-product-card{background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.05);cursor:pointer;}
.vt-product-badge{position:absolute;top:8px;left:8px;background:var(--promo,#e6005c);color:#fff;font-size:10px;font-weight:800;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;z-index:2;}
.vt-product-img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#fff;}
.vt-product-info{padding:10px 12px 12px;}
.vt-product-info h4{font-size:12.5px;font-weight:600;color:#333;margin:0 0 6px;min-height:32px;}
.vt-price-old{font-size:11px;color:#94a3b8;text-decoration:line-through;}
.vt-price-new{display:block;font-size:15px;font-weight:800;color:var(--price,#e6005c);margin:2px 0 6px;}
.vt-stars{color:#FFB800;font-size:10.5px;margin-bottom:8px;display:block;}
.vt-buy-btn{width:100%;background:var(--primary,#e6005c);color:#fff;border:none;border-radius:8px;padding:9px;font-size:11.5px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;}

/* Faixa de super promoção */
.vt-promo-strip{background:linear-gradient(135deg,#1a1a1a,#2b2b2b);padding:26px 0;margin:10px 0;position:relative;overflow:hidden;}
.vt-promo-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;justify-content:space-between;}
.vt-promo-row h3{color:#fff;font-size:22px;font-weight:800;margin:0;}
.vt-promo-row h3 span{color:var(--primary,#e6005c);}
.vt-promo-btn{background:var(--primary,#e6005c);color:#fff;border:none;border-radius:30px;padding:12px 20px;font-weight:700;font-size:12.5px;white-space:nowrap;cursor:pointer;}

/* Barra de confiança */
.vt-trust-bar{padding:24px 0;border-top:1px solid #eee;border-bottom:1px solid #eee;}
.vt-trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(min-width:760px){ .vt-trust-grid{grid-template-columns:repeat(4,1fr);} }
.vt-trust-item{text-align:center;font-size:11.5px;color:#555;}
.vt-trust-item i{font-size:20px;color:var(--primary,#e6005c);display:block;margin-bottom:8px;}
.vt-trust-item strong{display:block;color:#1e293b;font-size:12.5px;margin-bottom:2px;}

/* Sobre a loja */
.vt-about{padding:40px 0;}
.vt-about-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:860px){ .vt-about-grid{grid-template-columns:1fr 1fr;} }
.vt-about-grid img{width:100%;border-radius:14px;display:block;}
.vt-about-grid h2{font-size:20px;font-weight:800;color:#1e293b;margin:0 0 10px;}
.vt-about-grid p{font-size:13px;color:#555;line-height:1.7;margin-bottom:14px;}
.vt-about-list{list-style:none;padding:0;margin:0 0 16px;}
.vt-about-list li{font-size:12.5px;color:#334155;margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.vt-about-list i{color:var(--primary,#e6005c);}

/* Newsletter + rodapé */
.vt-newsletter{background:#111827;padding:22px 0;}
.vt-newsletter-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;}
.vt-newsletter-row p{color:#cbd5e1;font-size:12px;margin:0;}
.vt-newsletter-row strong{color:#fff;display:block;font-size:13.5px;}
.vt-footer{background:#0b0f19;padding:34px 0 18px;color:#94a3b8;}
.vt-footer-grid{display:grid;grid-template-columns:1fr;gap:22px;margin-bottom:24px;}
@media(min-width:760px){ .vt-footer-grid{grid-template-columns:repeat(4,1fr);} }
.vt-footer-grid h4{color:#fff;font-size:12.5px;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px;}
.vt-footer-grid a{display:block;color:#94a3b8;font-size:12px;margin-bottom:8px;cursor:pointer;}
.vt-footer-social{display:flex;gap:10px;margin-top:10px;}
.vt-footer-social a{width:32px;height:32px;border-radius:50%;background:#1f2937;display:flex;align-items:center;justify-content:center;color:#fff;}
.vt-footer-bottom{border-top:1px solid #1f2937;padding-top:14px;text-align:center;font-size:11px;color:#64748b;}

/* =========================================================================
   4) BARBEARIA 2 (imagem de referência — "Agende seu Horário")
   -------------------------------------------------------------------------
   100% ADITIVO: só aparece quando body.estrutura-barbearia-2 está presente
   (ver STORE_LAYOUTS/applyStoreLayout em js/core-v11.js e js/loja-v11.js).
   O app-shell CONTINUA ativo (carrinho/checkout/pedidos/profissionais são
   os mesmos de sempre) — só a tela "Início" é substituída pelo wizard de
   agendamento em 3 colunas, fiel à imagem de referência (tema escuro,
   destaque vermelho). As seções clássicas de #view-inicio ficam ocultas
   (nunca removidas do DOM) enquanto este modelo estiver ativo.
   ========================================================================= */
#bb2-page-inicio{display:none;}
body.estrutura-barbearia-2 #bb2-page-inicio{display:block;}
body.estrutura-barbearia-2 .topbar{display:none !important;}
body.estrutura-barbearia-2 .app-shell{max-width:100%;}
body.estrutura-barbearia-2 #view-inicio > .banner-wrap,
body.estrutura-barbearia-2 #view-inicio > section,
body.estrutura-barbearia-2 #view-inicio > footer.footer-modern{
  display:none !important;
}
/* BUGFIX visual: o .app-shell clássico reserva um respiro inferior
   (padding-bottom) para a bottom-nav fixa não cobrir o conteúdo — esse
   respiro usa a cor de fundo do TEMA da loja (--bg), que aparece como uma
   faixa entre o rodapé fiel à imagem e a barra de navegação. Aqui
   igualamos essa faixa à cor do próprio rodapé do modelo, para a transição
   ficar imperceptível (visual apenas — nenhuma função/estrutura muda). */
body.estrutura-barbearia-2 .app-shell{background:#0b0c10;}

#bb2-page-inicio{font-family:'Poppins',sans-serif;background:#0b0c10;color:#e8e8e8;}
#bb2-page-inicio .bb2-wrap{max-width:1280px;margin:0 auto;padding:0 20px;}
#bb2-page-inicio a{cursor:pointer;text-decoration:none;}

.bb2-header{background:#0b0c10;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:60;}
.bb2-header-row{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:14px;flex-wrap:wrap;}
.bb2-logo{display:flex;align-items:center;gap:10px;}
.bb2-logo img{height:36px;width:36px;border-radius:8px;object-fit:cover;background:#fff;}
.bb2-logo span{font-weight:800;font-size:16px;color:#fff;}
.bb2-header-nav{display:none;gap:22px;}
.bb2-header-nav a{color:#ccc;font-size:13px;font-weight:600;}
.bb2-header-nav a:hover{color:#ea1d24;}
@media(min-width:860px){ .bb2-header-nav{display:flex;} }
.bb2-header-cta{background:#ea1d24;color:#fff;font-weight:700;font-size:12.5px;padding:10px 18px;border-radius:30px;display:flex;align-items:center;gap:8px;white-space:nowrap;}

.bb2-hero{background-size:cover;background-position:center;padding:60px 0;}
.bb2-hero-inner{max-width:620px;}
.bb2-eyebrow{display:block;color:#ea1d24;font-weight:800;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;}
.bb2-hero h1{color:#fff;font-size:30px;font-weight:800;line-height:1.25;margin:0 0 12px;}
.bb2-hero p{color:#cfcfcf;font-size:14px;line-height:1.6;margin-bottom:22px;}
.bb2-hero-btn{background:#ea1d24;color:#fff;border:none;border-radius:30px;padding:14px 26px;font-weight:700;font-size:13.5px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;}

.bb2-wizard{padding:40px 0 60px;background:#0b0c10;}
.bb2-wizard-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:960px){ .bb2-wizard-grid{grid-template-columns:1fr 1fr 1fr;align-items:start;} }
.bb2-col{background:#17181d;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;}
.bb2-col-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.bb2-col-head h3{color:#fff;font-size:15px;font-weight:800;margin:0;}
.bb2-step-num{background:#ea1d24;color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;flex:0 0 auto;}
.bb2-col-label{color:#999;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:14px 0 8px;}
.bb2-empty{color:#888;font-size:12.5px;}

.bb2-servicos-list{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow-y:auto;}
.bb2-servico-card{display:flex;align-items:center;gap:12px;background:#1f2026;border:2px solid transparent;border-radius:12px;padding:10px;cursor:pointer;position:relative;}
.bb2-servico-card.selected{border-color:#ea1d24;background:rgba(234,29,36,.1);}
.bb2-servico-card img{width:54px;height:54px;border-radius:10px;object-fit:cover;background:#fff;flex:0 0 auto;}
.bb2-servico-info{display:flex;flex-direction:column;gap:3px;flex:1;}
.bb2-servico-info strong{color:#fff;font-size:13px;}
.bb2-servico-dur{color:#999;font-size:11px;}
.bb2-servico-preco{color:#ea1d24;font-weight:800;font-size:13.5px;}
.bb2-servico-check{position:absolute;top:8px;right:8px;color:#ea1d24;font-size:16px;}

.bb2-prof-wrap{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.bb2-prof-item{display:flex;flex-direction:column;align-items:center;gap:6px;width:70px;cursor:pointer;padding:8px 4px;border-radius:12px;border:2px solid transparent;}
.bb2-prof-item.selected{border-color:#ea1d24;background:rgba(234,29,36,.1);}
.bb2-prof-item img,.bb2-prof-item .bb2-prof-avatar-fallback{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#1a1a1a;border:2px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:18px;color:#ea1d24;}
.bb2-prof-item span{font-size:10.5px;color:#ccc;text-align:center;line-height:1.25;}
.bb2-date-input{width:100%;background:#1f2026;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:11px 12px;color:#fff;font-size:13px;margin-bottom:6px;}
.bb2-slots-wrap{margin-top:10px;}
.bb2-slot-period{margin-bottom:12px;}
.bb2-slot-period-title{font-size:11px;font-weight:700;color:#999;margin:0 0 6px;text-transform:uppercase;letter-spacing:.5px;}
.bb2-slot-grid{display:flex;gap:8px;flex-wrap:wrap;}
.bb2-slot-btn{padding:8px 12px;border-radius:10px;background:#1f2026;border:1px solid rgba(255,255,255,.15);font-size:12.5px;color:#ddd;cursor:pointer;}
.bb2-slot-btn.selected{background:#ea1d24;color:#fff;border-color:#ea1d24;font-weight:700;}
.bb2-slot-empty{font-size:12px;color:#888;padding:10px 0;}

.bb2-input{width:100%;background:#1f2026;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:12px 14px;color:#fff;font-size:13px;margin-bottom:10px;}
.bb2-resumo-box{background:#1f2026;border-radius:12px;padding:14px;margin-bottom:16px;}
.bb2-resumo-row{display:flex;justify-content:space-between;font-size:12.5px;color:#ccc;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);}
.bb2-resumo-row strong{color:#fff;}
.bb2-resumo-row.total{border-bottom:none;padding-top:10px;font-size:14px;}
.bb2-resumo-row.total strong{color:#ea1d24;font-size:17px;}
.bb2-btn-confirm{width:100%;background:#ea1d24;color:#fff;border:none;border-radius:12px;padding:14px;font-weight:800;font-size:13.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;}
.bb2-btn-whats{width:100%;background:transparent;color:#25D366;border:1.5px solid #25D366;border-radius:12px;padding:12px;font-weight:700;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;}

.bb2-footer{background:#07080a;padding:30px 0 16px;}
.bb2-footer-grid{display:grid;grid-template-columns:1fr;gap:18px;text-align:center;}
@media(min-width:760px){ .bb2-footer-grid{grid-template-columns:repeat(3,1fr);text-align:left;} }
.bb2-footer-brand{display:flex;align-items:center;gap:10px;justify-content:center;}
@media(min-width:760px){ .bb2-footer-brand{justify-content:flex-start;} }
.bb2-footer-brand img{height:32px;width:32px;border-radius:8px;object-fit:cover;background:#fff;}
.bb2-footer-brand strong{color:#fff;font-size:14px;}
.bb2-footer-info p{color:#999;font-size:12px;margin:6px 0;}
.bb2-footer-social{display:flex;gap:10px;justify-content:center;}
@media(min-width:760px){ .bb2-footer-social{justify-content:flex-end;} }
.bb2-footer-social a{width:32px;height:32px;border-radius:50%;background:#1f2026;display:flex;align-items:center;justify-content:center;color:#fff;}
.bb2-footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:20px;padding-top:14px;text-align:center;font-size:11px;color:#777;}

/* =========================================================================
   5) CONSULTÓRIO (imagem de referência — "SorrisoFácil")
   -------------------------------------------------------------------------
   100% ADITIVO: só aparece quando body.estrutura-consultorio está presente
   (ver STORE_LAYOUTS/applyStoreLayout em js/core-v11.js e js/loja-v11.js).
   O app-shell CONTINUA ativo — só a tela "Início" é substituída pela home
   fiel à imagem de referência (header azul-marinho/turquesa, hero com
   barra de busca de horários, seção "Nossos Serviços"). As seções
   clássicas de #view-inicio ficam ocultas (nunca removidas do DOM).
   ========================================================================= */
#cst-page-inicio{display:none;}
body.estrutura-consultorio #cst-page-inicio{display:block;}
body.estrutura-consultorio .topbar{display:none !important;}
body.estrutura-consultorio .app-shell{max-width:100%;}
body.estrutura-consultorio #view-inicio > .banner-wrap,
body.estrutura-consultorio #view-inicio > section,
body.estrutura-consultorio #view-inicio > footer.footer-modern{
  display:none !important;
}
/* BUGFIX visual (mesmo ajuste do Barbearia 2 acima): iguala a faixa de
   respiro inferior do .app-shell (reservada para a bottom-nav fixa) à cor
   do rodapé deste modelo, evitando uma faixa branca entre os dois. */
body.estrutura-consultorio .app-shell{background:#081726;}
/* BUGFIX: este modelo usa modo:'claro' (cards/conteúdo claros, como no
   restante do app), mas define cor_menu_inferior escura (#081726) para a
   barra de navegação inferior combinar com o cabeçalho/rodapé do
   Consultório — o CSS global "body.modo-claro{--bottom-menu:#ffffff;...}"
   (css/style.css) tem prioridade sobre o valor herdado do tema (aplicado
   via JS em :root), deixando a barra de navegação branca por engano. Esta
   regra, mais específica (duas classes no mesmo elemento), devolve a cor
   correta só para este modelo, sem alterar o modo claro de nenhuma outra
   loja. */
body.estrutura-consultorio.modo-claro{--bottom-menu:#081726;--top-menu:#081726;}

#cst-page-inicio{font-family:'Poppins',sans-serif;background:#f4f9f9;color:#1e293b;}
#cst-page-inicio .cst-wrap{max-width:1280px;margin:0 auto;padding:0 20px;}
#cst-page-inicio a{cursor:pointer;text-decoration:none;}

.cst-header{background:#081726;padding:14px 0;}
.cst-header-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.cst-logo{display:flex;align-items:center;gap:10px;}
.cst-logo img{height:36px;width:36px;border-radius:8px;object-fit:cover;background:#fff;}
.cst-logo span{font-weight:800;font-size:16px;color:#fff;}
.cst-header-nav{display:none;gap:22px;}
.cst-header-nav a{color:#cdd7e0;font-size:13px;font-weight:600;}
.cst-header-nav a:hover{color:#00A896;}
@media(min-width:860px){ .cst-header-nav{display:flex;} }
.cst-header-cta{background:#00A896;color:#fff;border:none;font-weight:700;font-size:12.5px;padding:10px 18px;border-radius:30px;display:flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer;}

.cst-hero{background-size:cover;background-position:center;padding:60px 0 120px;position:relative;}
.cst-hero-inner{max-width:560px;}
.cst-eyebrow{display:block;color:#5ad6c4;font-weight:800;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;}
.cst-eyebrow-center{text-align:center;color:#00A896;}
.cst-hero h1{color:#fff;font-size:30px;font-weight:800;line-height:1.3;margin:0 0 10px;}
.cst-hero-hand{color:#e5f3f1;font-size:16px;font-style:italic;font-family:'Georgia',serif;}

.cst-search-bar{
  max-width:1120px;margin:30px auto 0;background:#fff;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.18);
  padding:18px;display:grid;grid-template-columns:1fr;gap:12px;position:relative;
}
@media(min-width:900px){ .cst-search-bar{grid-template-columns:1.2fr 1fr 1fr 1fr auto;align-items:end;} }
.cst-search-field{display:flex;flex-direction:column;gap:6px;}
.cst-search-field label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px;}
.cst-search-field select,.cst-search-field input{border:1.5px solid #e2e8f0;border-radius:10px;padding:10px 12px;font-size:13px;color:#1e293b;background:#fff;}
.cst-search-btn{background:#00A896;color:#fff;border:none;border-radius:10px;padding:13px 20px;font-weight:700;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;}

.cst-services{padding:70px 0 50px;text-align:center;}
.cst-services-title{font-size:24px;font-weight:800;color:#081726;margin:4px 0 36px;letter-spacing:.5px;}
.cst-services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;max-width:900px;margin:0 auto 34px;}
@media(min-width:700px){ .cst-services-grid{grid-template-columns:repeat(3,1fr);} }
@media(min-width:960px){ .cst-services-grid{grid-template-columns:repeat(6,1fr);} }
.cst-service-item{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;}
.cst-service-icon{width:76px;height:76px;border-radius:50%;background:#e6f7f5;display:flex;align-items:center;justify-content:center;font-size:28px;color:#00A896;transition:transform .15s;}
.cst-service-item:hover .cst-service-icon{transform:translateY(-4px);background:#00A896;color:#fff;}
.cst-service-item span{font-size:12.5px;font-weight:700;color:#334155;}
.cst-empty{color:#888;font-size:12.5px;grid-column:1/-1;}
.cst-outline-btn{border:1.5px solid #00A896;color:#00A896;background:transparent;border-radius:30px;padding:12px 28px;font-weight:700;font-size:13px;cursor:pointer;}

.cst-footer{background:#081726;padding:30px 0 16px;}
.cst-footer-grid{display:grid;grid-template-columns:1fr;gap:18px;text-align:center;}
@media(min-width:760px){ .cst-footer-grid{grid-template-columns:repeat(3,1fr);text-align:left;} }
.cst-footer-brand{display:flex;align-items:center;gap:10px;justify-content:center;}
@media(min-width:760px){ .cst-footer-brand{justify-content:flex-start;} }
.cst-footer-brand img{height:32px;width:32px;border-radius:8px;object-fit:cover;background:#fff;}
.cst-footer-brand strong{color:#fff;font-size:14px;}
.cst-footer-info p{color:#9fb3bf;font-size:12px;margin:6px 0;}
.cst-footer-social{display:flex;gap:10px;justify-content:center;}
@media(min-width:760px){ .cst-footer-social{justify-content:flex-end;} }
.cst-footer-social a{width:32px;height:32px;border-radius:50%;background:#10263a;display:flex;align-items:center;justify-content:center;color:#fff;}
.cst-footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:20px;padding-top:14px;text-align:center;font-size:11px;color:#8098a8;}

/* =========================================================================
   6) SALÃO DE BELEZA (imagem de referência — "Bella Nails")
   -------------------------------------------------------------------------
   100% ADITIVO: só aparece quando body.estrutura-salao-bella está presente
   (ver STORE_LAYOUTS/applyStoreLayout em js/core-v11.js e js/loja-v11.js).
   O app-shell CONTINUA ativo (carrinho/checkout/pedidos/profissionais são
   os mesmos de sempre) — só a tela "Início" é substituída pelo hero +
   indicador de 4 etapas + wizard de agendamento em 4 colunas, fiel à
   imagem de referência (tema escuro, destaque rosa/magenta, calendário
   mensal próprio). As seções clássicas de #view-inicio ficam ocultas
   (nunca removidas do DOM) enquanto este modelo estiver ativo.
   ========================================================================= */
#sln-page-inicio{display:none;}
body.estrutura-salao-bella #sln-page-inicio{display:block;}
body.estrutura-salao-bella .topbar{display:none !important;}
body.estrutura-salao-bella .app-shell{max-width:100%;}
body.estrutura-salao-bella #view-inicio > .banner-wrap,
body.estrutura-salao-bella #view-inicio > section,
body.estrutura-salao-bella #view-inicio > footer.footer-modern{
  display:none !important;
}
/* BUGFIX visual (mesmo ajuste dos outros 2 modelos de agendamento acima):
   iguala a faixa de respiro inferior do .app-shell (reservada para a
   bottom-nav fixa) à cor do rodapé deste modelo, evitando uma faixa de cor
   diferente entre os dois. */
body.estrutura-salao-bella .app-shell{background:#0a0a0c;}

#sln-page-inicio{font-family:'Poppins',sans-serif;background:#0a0a0c;color:#e8e8e8;}
#sln-page-inicio .sln-wrap{max-width:1320px;margin:0 auto;padding:0 20px;}
#sln-page-inicio a{cursor:pointer;text-decoration:none;}

.sln-header{background:#0a0a0c;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:60;}
.sln-header-row{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:16px;flex-wrap:wrap;}
.sln-logo{display:flex;align-items:center;gap:10px;}
.sln-logo img{height:38px;width:38px;border-radius:10px;object-fit:cover;background:#fff;}
.sln-logo-name{display:block;font-weight:800;font-size:16px;color:#fff;font-family:Georgia,serif;}
.sln-logo-sub{display:block;font-size:8.5px;color:#999;letter-spacing:1px;}
.sln-header-nav{display:none;gap:20px;align-items:center;}
.sln-header-nav a{color:#ccc;font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:30px;}
.sln-header-nav a.active{background:#ec1e8c;color:#fff;}
.sln-header-nav a:hover:not(.active){color:#ec1e8c;}
@media(min-width:960px){ .sln-header-nav{display:flex;} }
.sln-header-cta{background:transparent;color:#ec1e8c;border:1.5px solid #ec1e8c;font-weight:700;font-size:12px;padding:9px 16px;border-radius:30px;display:flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer;}

.sln-hero{padding:46px 0;background:#0a0a0c;}
.sln-hero-grid{display:grid;grid-template-columns:1fr;gap:30px;align-items:center;}
@media(min-width:900px){ .sln-hero-grid{grid-template-columns:1.1fr 1fr;} }
.sln-eyebrow{display:block;color:#ec1e8c;font-weight:700;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;}
.sln-hero-text h1{color:#fff;font-size:28px;font-weight:800;line-height:1.3;margin:0 0 14px;}
.sln-hero-text p{color:#aaa;font-size:13.5px;line-height:1.65;margin-bottom:22px;max-width:460px;}
.sln-hero-features{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:420px;}
.sln-hero-features div{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#ddd;}
.sln-hero-features i{color:#ec1e8c;font-size:14px;flex:0 0 auto;}
.sln-hero-media{position:relative;}
.sln-hero-media img{width:100%;border-radius:18px;display:block;object-fit:cover;aspect-ratio:4/3;}
.sln-hero-handwrite{position:absolute;top:14px;right:14px;color:#fff;font-family:Georgia,serif;font-style:italic;font-size:14px;line-height:1.4;text-align:right;text-shadow:0 2px 6px rgba(0,0,0,.5);}

.sln-steps-section{padding:26px 0 6px;background:#0a0a0c;}
.sln-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;max-width:640px;margin:0 auto;}
.sln-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto;width:90px;}
.sln-step-circle{width:30px;height:30px;border-radius:50%;background:#1f2026;border:2px solid #333;color:#888;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;}
.sln-step.active .sln-step-circle{background:#ec1e8c;border-color:#ec1e8c;color:#fff;}
.sln-step.done .sln-step-circle{background:#ec1e8c;border-color:#ec1e8c;color:#fff;}
.sln-step-label{font-size:10.5px;color:#888;text-align:center;}
.sln-step.active .sln-step-label{color:#ec1e8c;font-weight:700;}
.sln-step-line{flex:1;height:2px;background:#333;margin-top:14px;max-width:60px;}

.sln-wizard{padding:30px 0 60px;background:#0a0a0c;}
.sln-wizard-grid{display:grid;grid-template-columns:1fr;gap:18px;}
@media(min-width:1100px){ .sln-wizard-grid{grid-template-columns:1.1fr 1fr 1.1fr 1fr;align-items:start;} }
.sln-col{background:#15151a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px;}
.sln-col-head{margin-bottom:14px;}
.sln-col-head h3{color:#fff;font-size:14.5px;font-weight:800;margin:0 0 4px;}
.sln-col-head p{color:#888;font-size:11px;margin:0;}
.sln-col-label{color:#999;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin:16px 0 8px;}
.sln-empty{color:#888;font-size:12px;}

.sln-servicos-list{display:flex;flex-direction:column;gap:10px;max-height:560px;overflow-y:auto;}
.sln-servico-card{display:flex;align-items:center;gap:10px;background:#1c1c22;border:2px solid transparent;border-radius:12px;padding:10px;cursor:pointer;}
.sln-servico-card.selected{border-color:#ec1e8c;background:rgba(236,30,140,.1);}
.sln-servico-card img{width:48px;height:48px;border-radius:10px;object-fit:cover;background:#fff;flex:0 0 auto;}
.sln-servico-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;}
.sln-servico-info strong{color:#fff;font-size:12.5px;}
.sln-servico-desc{color:#999;font-size:10.5px;}
.sln-servico-meta{display:flex;align-items:center;gap:10px;margin-top:2px;}
.sln-servico-dur{color:#999;font-size:10.5px;}
.sln-servico-preco{color:#ec1e8c;font-weight:800;font-size:12.5px;}
.sln-servico-radio{flex:0 0 auto;color:#ec1e8c;font-size:16px;}

.sln-prof-list{display:flex;flex-direction:column;gap:10px;}
.sln-prof-item{display:flex;align-items:center;gap:10px;background:#1c1c22;border:2px solid transparent;border-radius:12px;padding:10px;cursor:pointer;}
.sln-prof-item.selected{border-color:#ec1e8c;background:rgba(236,30,140,.1);}
.sln-prof-item img,.sln-prof-avatar-fallback{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#1a1a1a;display:flex;align-items:center;justify-content:center;font-size:16px;color:#ec1e8c;flex:0 0 auto;}
.sln-prof-name{flex:1;font-size:12.5px;color:#ddd;font-weight:600;}
.sln-prof-radio{color:#ec1e8c;font-size:15px;flex:0 0 auto;}

.sln-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.sln-cal-header strong{color:#fff;font-size:12.5px;}
.sln-cal-nav{background:#1c1c22;border:none;color:#ccc;width:26px;height:26px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;}
.sln-cal-nav:disabled{opacity:.3;cursor:default;}
.sln-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:4px;}
.sln-cal-weekdays span{font-size:9.5px;color:#777;font-weight:700;}
.sln-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.sln-cal-day{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-size:11px;color:#ccc;border-radius:50%;cursor:pointer;}
.sln-cal-day:hover:not(.sln-cal-day-disabled):not(.sln-cal-day-muted){background:rgba(236,30,140,.18);}
.sln-cal-day-muted{color:#444;cursor:default;}
.sln-cal-day-disabled{color:#444;cursor:default;}
.sln-cal-day-selected{background:#ec1e8c !important;color:#fff;font-weight:800;}
.sln-slots-wrap{margin-top:6px;}
.sln-slot-period{margin-bottom:10px;}
.sln-slot-period-title{font-size:9.5px;font-weight:700;color:#999;margin:0 0 6px;text-transform:uppercase;letter-spacing:.4px;}
.sln-slot-grid{display:flex;gap:6px;flex-wrap:wrap;}
.sln-slot-btn{padding:7px 10px;border-radius:8px;background:#1c1c22;border:1px solid rgba(255,255,255,.12);font-size:11.5px;color:#ddd;cursor:pointer;}
.sln-slot-btn.selected{background:#ec1e8c;color:#fff;border-color:#ec1e8c;font-weight:700;}
.sln-slot-empty{font-size:11.5px;color:#888;padding:8px 0;}

.sln-input{width:100%;background:#1c1c22;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:11px 13px;color:#fff;font-size:12.5px;margin-bottom:10px;}
.sln-resumo-box{background:#1c1c22;border-radius:12px;padding:12px;margin-bottom:14px;}
.sln-resumo-servico{display:flex;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08);}
.sln-resumo-servico img{width:40px;height:40px;border-radius:8px;object-fit:cover;background:#fff;}
.sln-resumo-servico strong{display:block;color:#fff;font-size:12.5px;}
.sln-resumo-servico span{display:block;color:#999;font-size:10.5px;}
.sln-resumo-row{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#aaa;padding:5px 0;}
.sln-resumo-row i{color:#ec1e8c;width:14px;}
.sln-resumo-row span{flex:1;}
.sln-resumo-row strong{color:#fff;}
.sln-resumo-row.total{border-top:1px solid rgba(255,255,255,.08);margin-top:6px;padding-top:10px;font-size:13px;}
.sln-resumo-row.total strong{color:#ec1e8c;font-size:16px;margin-left:auto;}
.sln-btn-confirm{width:100%;background:#ec1e8c;color:#fff;border:none;border-radius:30px;padding:13px;font-weight:800;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;}
.sln-secure-note{text-align:center;color:#888;font-size:10.5px;margin:0 0 14px;}
.sln-info-box{display:flex;gap:10px;background:#1c1c22;border-radius:12px;padding:12px;margin-bottom:10px;}
.sln-info-box i{color:#ec1e8c;font-size:16px;margin-top:2px;flex:0 0 auto;}
.sln-info-box strong{display:block;color:#fff;font-size:11.5px;}
.sln-info-box span{display:block;color:#999;font-size:10.5px;margin:2px 0 8px;}
.sln-btn-whats{width:100%;background:transparent;color:#25D366;border:1.5px solid #25D366;border-radius:10px;padding:9px;font-weight:700;font-size:11.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;}

.sln-footer{background:#07070a;padding:28px 0 16px;}
.sln-footer-grid{display:flex;flex-direction:column;gap:18px;text-align:center;}
@media(min-width:860px){ .sln-footer-grid{flex-direction:row;align-items:center;justify-content:space-between;text-align:left;} }
.sln-footer-tag{color:#fff;font-family:Georgia,serif;font-style:italic;font-size:16px;}
.sln-footer-features{display:flex;flex-direction:column;gap:8px;align-items:center;}
@media(min-width:860px){ .sln-footer-features{align-items:flex-start;} }
.sln-footer-features span{font-size:11px;color:#bbb;display:flex;align-items:center;gap:6px;}
.sln-footer-features i{color:#ec1e8c;}
.sln-footer-contact{display:flex;flex-direction:column;gap:4px;align-items:center;}
@media(min-width:860px){ .sln-footer-contact{align-items:flex-end;} }
.sln-footer-contact p{color:#999;font-size:11.5px;margin:2px 0;}
.sln-footer-social{display:flex;gap:10px;margin-top:6px;}
.sln-footer-social a{width:30px;height:30px;border-radius:50%;background:#1c1c22;display:flex;align-items:center;justify-content:center;color:#fff;}
.sln-footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:20px;padding-top:14px;text-align:center;font-size:11px;color:#777;}

/* =========================================================================
   7) PASTELARIA LANCHONETE (imagem de referência — "Pastel & Sabor")
   -------------------------------------------------------------------------
   100% ADITIVO: só aparece quando body.estrutura-pastelaria-sabor está
   presente (ver STORE_LAYOUTS/applyStoreLayout em js/core-v11.js e
   js/loja-v11.js). O app-shell CONTINUA ativo (carrinho/checkout/pedidos/
   WhatsApp são os mesmos de sempre) — só a tela "Início" é substituída pela
   home fiel à imagem de referência: tema preto/dourado, cabeçalho com
   navegação+carrinho+"Minha Conta", hero com foto+headline+4 selos,
   indicador de 4 etapas e vitrine em 3 colunas (Cardápio/Bebidas+Horário/
   Seu Pedido). As seções clássicas de #view-inicio ficam ocultas (nunca
   removidas do DOM) enquanto este modelo estiver ativo.
   ========================================================================= */
#pst-page-inicio{display:none;}
body.estrutura-pastelaria-sabor #pst-page-inicio{display:block;}
body.estrutura-pastelaria-sabor .topbar{display:none !important;}
body.estrutura-pastelaria-sabor .app-shell{max-width:100%;}
body.estrutura-pastelaria-sabor #view-inicio > .banner-wrap,
body.estrutura-pastelaria-sabor #view-inicio > section,
body.estrutura-pastelaria-sabor #view-inicio > footer.footer-modern{
  display:none !important;
}
/* BUGFIX visual (mesmo ajuste dos outros modelos próprios acima): iguala a
   faixa de respiro inferior do .app-shell (reservada para a bottom-nav
   fixa) à cor do rodapé deste modelo, evitando uma faixa de cor diferente
   entre os dois. */
body.estrutura-pastelaria-sabor .app-shell{background:#0a0a0a;}

#pst-page-inicio{font-family:'Poppins',sans-serif;background:#0a0a0a;color:#e8e8e8;}
#pst-page-inicio .pst-wrap{max-width:1320px;margin:0 auto;padding:0 20px;}
#pst-page-inicio a{cursor:pointer;text-decoration:none;}

.pst-header{background:#0a0a0a;border-bottom:1px solid rgba(255,193,7,.15);position:sticky;top:0;z-index:60;}
.pst-header-row{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:16px;flex-wrap:wrap;}
.pst-logo{display:flex;align-items:center;gap:10px;}
.pst-logo img{height:40px;width:40px;border-radius:10px;object-fit:cover;background:#fff;}
.pst-logo-name{font-weight:800;font-size:16px;color:#fff;}
.pst-logo-sub{display:block;font-size:9px;color:#FFC107;letter-spacing:.5px;}
.pst-header-nav{display:none;gap:20px;align-items:center;}
.pst-header-nav a{color:#ccc;font-size:12.5px;font-weight:600;padding:6px 4px;border-bottom:2px solid transparent;}
.pst-header-nav a:hover{color:#FFC107;border-color:#FFC107;}
@media(min-width:1000px){ .pst-header-nav{display:flex;} }
.pst-header-actions{display:flex;align-items:center;gap:16px;}
.pst-cart-icon{position:relative;color:#fff;font-size:18px;cursor:pointer;}
.pst-cart-badge{position:absolute;top:-8px;right:-10px;background:#FFC107;color:#0a0a0a;font-size:10px;font-weight:800;border-radius:50%;width:17px;height:17px;display:flex;align-items:center;justify-content:center;}
.pst-account-btn{background:transparent;color:#fff;border:1.5px solid #FFC107;border-radius:30px;padding:9px 16px;font-weight:700;font-size:12px;display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap;}
.pst-account-btn:hover{background:#FFC107;color:#0a0a0a;}

.pst-hero{padding:40px 0;background:#0a0a0a;}
.pst-hero-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;}
@media(min-width:900px){ .pst-hero-grid{grid-template-columns:1fr 1fr;} }
.pst-hero-text h1{color:#fff;font-size:28px;font-weight:800;line-height:1.3;margin:0 0 14px;}
.pst-hero-text h1 .pst-hero-highlight{color:#FFC107;font-weight:600;}
.pst-hero-text p{color:#bbb;font-size:13.5px;line-height:1.6;margin-bottom:22px;max-width:460px;}
.pst-hero-features{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:440px;}
.pst-hero-features div{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#ddd;}
.pst-hero-features i{color:#FFC107;font-size:15px;flex:0 0 auto;}
.pst-hero-media img{width:100%;border-radius:18px;display:block;object-fit:cover;aspect-ratio:4/3;box-shadow:0 20px 50px rgba(0,0,0,.5);}
.pst-hero-btn{background:#FFC107;color:#0a0a0a;border:none;border-radius:30px;padding:12px 22px;font-weight:800;font-size:13px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;margin-top:10px;}

.pst-steps-section{padding:22px 0 4px;background:#0a0a0a;}
.pst-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;max-width:640px;margin:0 auto;flex-wrap:wrap;}
.pst-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto;width:120px;}
.pst-step-circle{width:30px;height:30px;border-radius:50%;background:#1a1a1a;border:2px solid #333;color:#888;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;}
.pst-step.active .pst-step-circle{background:#FFC107;border-color:#FFC107;color:#0a0a0a;}
.pst-step.done .pst-step-circle{background:#FFC107;border-color:#FFC107;color:#0a0a0a;}
.pst-step-label{font-size:10.5px;color:#888;text-align:center;}
.pst-step.active .pst-step-label{color:#FFC107;font-weight:700;}
.pst-step-line{flex:1;height:2px;background:#333;margin-top:14px;max-width:50px;}

.pst-wizard{padding:26px 0 60px;background:#0a0a0a;}
.pst-wizard-grid{display:grid;grid-template-columns:1fr;gap:18px;}
@media(min-width:1040px){ .pst-wizard-grid{grid-template-columns:1.2fr 1fr 1fr;align-items:start;} }
.pst-col{background:#141414;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px;}
.pst-col-head{margin-bottom:14px;}
.pst-col-head h3{color:#fff;font-size:14.5px;font-weight:800;margin:0 0 4px;display:flex;align-items:center;gap:8px;}
.pst-col-head h3 i{color:#FFC107;}
.pst-col-head p{color:#888;font-size:11px;margin:0;}
.pst-col-label{color:#999;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin:16px 0 8px;display:flex;align-items:center;gap:6px;}
.pst-col-label i{color:#FFC107;}
.pst-empty{color:#888;font-size:12px;}

.pst-cardapio-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:620px;overflow-y:auto;}
@media(max-width:440px){ .pst-cardapio-list{grid-template-columns:1fr;} }
.pst-prod-card{background:#1c1c1c;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;}
.pst-prod-card img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.pst-prod-info{padding:10px;display:flex;flex-direction:column;gap:4px;flex:1;}
.pst-prod-info strong{color:#fff;font-size:12.5px;}
.pst-prod-desc{color:#999;font-size:10.5px;line-height:1.3;}
.pst-prod-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:6px;}
.pst-prod-preco{color:#FFC107;font-weight:800;font-size:13px;}
.pst-prod-preco small{color:#777;text-decoration:line-through;font-weight:400;font-size:10.5px;}
.pst-add-btn{background:#FFC107;color:#0a0a0a;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;flex:0 0 auto;}
.pst-add-btn:disabled{opacity:.4;cursor:default;}

.pst-bebidas-list{display:flex;flex-direction:column;gap:8px;}
.pst-bebida-row{display:flex;align-items:center;gap:10px;background:#1c1c1c;border-radius:10px;padding:8px;}
.pst-bebida-row img{width:38px;height:38px;border-radius:8px;object-fit:cover;background:#fff;flex:0 0 auto;}
.pst-bebida-info{flex:1;min-width:0;display:flex;flex-direction:column;}
.pst-bebida-info strong{color:#fff;font-size:12px;}
.pst-bebida-info span{color:#FFC107;font-size:11.5px;font-weight:700;}

.pst-horarios-wrap{display:flex;gap:8px;flex-wrap:wrap;}
.pst-slot-btn{padding:8px 12px;border-radius:10px;background:#1c1c1c;border:1px solid rgba(255,255,255,.12);font-size:12px;color:#ddd;cursor:pointer;}
.pst-slot-btn.selected{background:#FFC107;color:#0a0a0a;border-color:#FFC107;font-weight:700;}
.pst-horario-empty{font-size:11.5px;color:#888;line-height:1.5;}

.pst-cart-item{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#1c1c1c;border-radius:10px;padding:10px;margin-bottom:8px;}
.pst-cart-item-info{display:flex;flex-direction:column;}
.pst-cart-item-info strong{color:#fff;font-size:12.5px;}
.pst-cart-item-info span{color:#FFC107;font-size:11.5px;font-weight:700;}
.pst-cart-qty{display:flex;align-items:center;gap:6px;}
.pst-cart-qty button{width:24px;height:24px;border-radius:50%;background:#2a2a2a;border:1px solid rgba(255,255,255,.12);color:#fff;cursor:pointer;font-size:12px;}
.pst-cart-qty span{color:#fff;font-size:12.5px;min-width:16px;text-align:center;}
.pst-cart-remove{background:transparent !important;border:none !important;color:#ff6b6b !important;margin-left:4px;}
.pst-cart-total-row{display:flex;justify-content:space-between;font-size:12.5px;color:#ccc;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);}
.pst-cart-total-row strong{color:#fff;}
.pst-cart-total-row.total{border-bottom:none;padding-top:10px;font-size:14px;}
.pst-cart-total-row.total strong{color:#FFC107;font-size:18px;}
.pst-btn-continuar{width:100%;background:#FFC107;color:#0a0a0a;border:none;border-radius:12px;padding:14px;font-weight:800;font-size:13.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 10px;}
.pst-secure-note{text-align:center;color:#888;font-size:10.5px;margin:0;}

.pst-sobre{padding:50px 0;background:#0e0e0e;}
.pst-sobre-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:center;}
@media(min-width:800px){ .pst-sobre-grid{grid-template-columns:200px 1fr;} }
.pst-sobre-grid img{width:140px;height:140px;border-radius:50%;object-fit:cover;background:#fff;margin:0 auto;display:block;}
.pst-sobre-grid h2{color:#fff;font-size:20px;margin:0 0 10px;}
.pst-sobre-grid p{color:#aaa;font-size:13px;line-height:1.6;margin-bottom:14px;}
.pst-sobre-list{list-style:none;padding:0;margin:0 0 14px;}
.pst-sobre-list li{color:#ccc;font-size:12.5px;margin-bottom:6px;}
.pst-sobre-list li i{color:#FFC107;width:16px;}

.pst-footer{background:#050505;padding:30px 0 16px;}
.pst-footer-top{display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center;margin-bottom:20px;}
@media(min-width:760px){ .pst-footer-top{flex-direction:row;justify-content:space-between;text-align:left;} }
.pst-footer-brand{display:flex;align-items:center;gap:10px;}
.pst-footer-brand img{height:40px;width:40px;border-radius:10px;object-fit:cover;background:#fff;}
.pst-footer-brand strong{display:block;color:#fff;font-size:15px;}
.pst-footer-brand span{color:#FFC107;font-size:11px;}
.pst-footer-badges{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;}
.pst-footer-badges span{color:#bbb;font-size:11.5px;display:flex;align-items:center;gap:6px;}
.pst-footer-badges i{color:#FFC107;}
.pst-footer-tag{text-align:center;color:#FFC107;font-family:Georgia,serif;font-style:italic;font-size:15px;margin-bottom:16px;}
.pst-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:14px;text-align:center;font-size:11px;color:#777;}
