/* =====================================================================
   LOJA MOBILE-COMMERCE — Design System
   Tipografia: Sora (display) + Manrope (texto)
   ===================================================================== */
:root{
  --primary:#2563eb;
  --secondary:#22c55e;
  --accent:#06b6d4;
  --wa:#1fa855;
  --wa-dark:#178a45;
  --ink:#0b1220;
  --ink-2:#475569;
  --ink-3:#8a93a3;
  --line:#e8ebf1;
  --bg:#f2f4f9;
  --card:#ffffff;
  --radius:20px;
  --radius-sm:14px;
  --shadow-sm:0 2px 10px rgba(15,23,42,.05);
  --shadow:0 12px 34px rgba(15,23,42,.10);
  --shadow-lg:0 30px 70px rgba(15,23,42,.18);
  --dark:#0a0e1a;
  --dark-2:#111a30;
}

*{-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body,.app-body{
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  background:
    radial-gradient(1100px 520px at 90% -8%,rgba(37,99,235,.07),transparent 60%),
    radial-gradient(900px 480px at -10% 4%,rgba(6,182,212,.06),transparent 55%),
    var(--bg);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,.font-display{font-family:'Sora','Manrope',sans-serif;letter-spacing:-.02em;}
.fw-black{font-weight:800;}
a{text-decoration:none;}
.text-muted{color:var(--ink-3)!important;}
img{max-width:100%;}

/* ---------- Faixa de aviso superior ---------- */
.app-announce{
  background:linear-gradient(90deg,var(--primary),var(--accent));
  color:#fff;font-weight:700;font-size:.78rem;letter-spacing:.2px;
  text-align:center;padding:7px 14px;
}
.app-announce i{margin-right:5px;}

/* ---------- Topbar (glass) ---------- */
.loja-navbar {
    display: none !important;
}

.app-topbar {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: 1px solid #e5e7eb;
    padding: .62rem 0;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}
.app-topbar-inner{display:flex;align-items:center;gap:14px;}
.app-brand{display:flex;align-items:center;gap:11px;color:var(--ink);min-width:0;flex:0 0 auto;}
.app-brand-mark{
  width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:13px;
  background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:1.2rem;
  box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 40%,transparent);
}
.app-brand-mark img{width:100%;height:100%;border-radius:13px;object-fit:cover;}
.app-brand-name{font-family:'Sora',sans-serif;font-weight:700;font-size:1.08rem;letter-spacing:-.4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.app-brand-name b{color:var(--primary);}

/* busca no topo */
.app-search{flex:1 1 auto;min-width:0;position:relative;display:flex;}
.app-search input{
  width:100%;border:1px solid var(--line);background:#fff;border-radius:999px;
  padding:.62rem 1rem .62rem 2.6rem;font-size:.92rem;font-weight:500;color:var(--ink);
  transition:.2s;box-shadow:var(--shadow-sm);
}
.app-search input:focus{outline:none;border-color:var(--primary);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 16%,transparent);}
.app-search i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--ink-3);font-size:1.05rem;}

.app-topbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.app-icon-btn{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:50%;
  background:#eef1f7;color:var(--ink);font-size:1.18rem;transition:.18s;}
.app-icon-btn:hover{background:#e3e8f2;color:var(--ink);transform:translateY(-1px);}
.app-icon-wa{background:#e6f6ed;color:var(--wa);}
.app-icon-wa:hover{background:#d6f0e1;color:var(--wa-dark);}

/* ---------- Tab bar inferior (mobile) ---------- */
.app-tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:1040;display:flex;justify-content:space-around;
  background:rgba(255,255,255,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-top:1px solid rgba(15,23,42,.07);
  padding:7px 6px calc(7px + env(safe-area-inset-bottom));
  box-shadow:0 -10px 30px rgba(15,23,42,.07);
}
.app-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:#9aa2b1;
  font-size:.66rem;font-weight:700;padding:5px 0;border-radius:14px;transition:.15s;}
.app-tab i{font-size:1.34rem;line-height:1;}
.app-tab.is-active{color:var(--primary);}
.app-tab:active{transform:scale(.93);}
.app-tab-wa,.app-tab-wa.is-active{color:var(--wa);}

/* ---------- Hero / Carrossel de banners ---------- */
.app-hero{padding:16px 0 6px;}
.hero-carousel{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);}
.hero-track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1);}
.hero-slide{flex:0 0 100%;}
.app-hero-card{position:relative;display:flex;align-items:flex-end;width:100%;aspect-ratio:16/10;
  color:#fff;background:linear-gradient(135deg,var(--dark-2),var(--dark));}
.app-hero-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.app-hero-card::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(105deg,rgba(7,11,22,.82) 6%,rgba(7,11,22,.42) 46%,rgba(7,11,22,.06) 100%);}
.app-hero-content{position:relative;z-index:2;padding:22px;max-width:600px;}
.app-hero-kicker{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);
  backdrop-filter:blur(6px);padding:6px 12px;border-radius:999px;font-weight:800;font-size:.66rem;
  letter-spacing:.6px;text-transform:uppercase;margin-bottom:11px;}
.app-hero-content h2{font-weight:800;font-size:clamp(1.5rem,5.4vw,2.9rem);line-height:1.04;margin:0 0 8px;}
.app-hero-content p{color:rgba(255,255,255,.86);font-size:.94rem;line-height:1.5;margin:0 0 16px;max-width:480px;}
.app-hero-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--ink);
  font-weight:800;font-size:.88rem;padding:11px 18px;border-radius:999px;transition:.18s;}
.app-hero-btn:hover{color:var(--ink);transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.25);}
.app-hero-empty{background:linear-gradient(135deg,#15203c,#0a0e1a);}
.hero-dots{position:absolute;z-index:3;bottom:14px;right:18px;display:flex;gap:7px;}
.hero-dots button{width:8px;height:8px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;transition:.2s;padding:0;}
.hero-dots button.is-active{width:24px;border-radius:999px;background:#fff;}
.hero-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;
  border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);color:#fff;font-size:1.2rem;
  display:none;place-items:center;cursor:pointer;transition:.2s;}
.hero-arrow:hover{background:rgba(255,255,255,.32);}
.hero-arrow.prev{left:14px;}.hero-arrow.next{right:14px;}

/* ---------- Stories de categorias ---------- */
.app-stories{padding:16px 0 4px;}
.app-stories-track{display:flex;gap:16px;overflow-x:auto;padding:4px 2px 10px;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.app-stories-track::-webkit-scrollbar{display:none;}
.app-story{flex:0 0 auto;width:70px;display:flex;flex-direction:column;align-items:center;gap:7px;
  color:#3b4254;scroll-snap-align:start;}
.app-story-ring{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;padding:3px;
  background:linear-gradient(135deg,var(--line),#fff);transition:.2s;}
.app-story-img{width:100%;height:100%;border-radius:18px;overflow:hidden;display:grid;place-items:center;
  background:#fff;border:1.5px solid var(--line);color:var(--ink);font-size:1.55rem;}
.app-story-img img{width:100%;height:100%;object-fit:cover;}
.app-story-letter{font-family:'Sora';font-weight:800;font-size:1.3rem;color:var(--primary);}
.app-story.is-all .app-story-img{background:linear-gradient(135deg,var(--primary),var(--accent));border:0;color:#fff;}
.app-story:hover .app-story-ring{background:linear-gradient(135deg,var(--primary),var(--accent));}
.app-story:hover .app-story-img{border-color:#fff;}
.app-story-name{font-size:.72rem;font-weight:700;text-align:center;max-width:72px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ---------- Cabeçalho de seção ---------- */
.app-section{padding:10px 0 6px;}
.app-feed{padding:6px 0 30px;}
.app-feed-head{display:flex;align-items:center;justify-content:space-between;margin:16px 2px 14px;}
.app-feed-title{font-weight:800;font-size:1.28rem;margin:0;display:flex;align-items:center;gap:9px;}
.app-feed-title i{color:var(--primary);}
.app-feed-link{color:var(--primary);font-weight:700;font-size:.86rem;display:inline-flex;align-items:center;gap:3px;}

/* ---------- Card de produto ---------- */
.app-prod{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;
  height:100%;display:flex;flex-direction:column;transition:.2s;box-shadow:var(--shadow-sm);position:relative;}
.app-prod:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#dfe4ee;}
.app-prod-media{position:relative;display:block;width:100%;background:#0c1222;}
.product-img-wrap{display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;background:#0c1222;}
.product-img-wrap img{width:100%;height:100%;display:block;}
.product-img-wrap.formato-feed{aspect-ratio:1/1;}
.product-img-wrap.formato-stories{aspect-ratio:9/16;}
.product-img-wrap.formato-paisagem{aspect-ratio:4/3;}
.product-img-wrap.formato-retrato{aspect-ratio:4/5;}
.product-img-wrap.ajuste-cover img{object-fit:cover;}
.product-img-wrap.ajuste-contain img{object-fit:contain;padding:10px;}
.product-img-wrap.pos-center img{object-position:center;}
.product-img-wrap.pos-top img{object-position:top;}
.product-img-wrap.pos-bottom img{object-position:bottom;}
.product-img-wrap.pos-left img{object-position:left;}
.product-img-wrap.pos-right img{object-position:right;}
.product-img-empty{aspect-ratio:4/5;display:grid;place-items:center;
  background:linear-gradient(135deg,#13203b,#0a0e1a);color:rgba(255,255,255,.25);font-size:2.6rem;}

.app-prod-badges{position:absolute;top:9px;left:9px;z-index:2;display:flex;flex-direction:column;gap:5px;}
.badge-pill{display:inline-flex;align-items:center;gap:3px;font-weight:800;font-size:.64rem;
  letter-spacing:.3px;padding:4px 8px;border-radius:8px;backdrop-filter:blur(4px);}
.badge-off{background:#ef4444;color:#fff;}
.badge-novo{background:rgba(255,255,255,.92);color:var(--primary);}
.badge-fav{position:absolute;top:9px;right:9px;z-index:2;width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;background:rgba(255,255,255,.9);color:var(--ink-3);font-size:.95rem;}

.app-prod-info{padding:11px 13px 13px;display:flex;flex-direction:column;flex:1;}
.app-prod-cat{font-size:.65rem;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--primary);margin-bottom:3px;}
.app-prod-name{font-size:.92rem;font-weight:700;color:var(--ink);line-height:1.28;margin:0 0 7px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.3em;}
.app-prod-oldrow{display:flex;align-items:center;gap:7px;margin-bottom:1px;min-height:1rem;}
.app-prod-old{font-size:.78rem;color:var(--ink-3);text-decoration:line-through;font-weight:600;}
.app-prod-price{font-family:'Sora';font-weight:800;font-size:1.3rem;color:var(--ink);line-height:1.1;margin-top:2px;}
.app-prod-parcel{font-size:.71rem;color:var(--ink-3);font-weight:600;margin-top:3px;line-height:1.35;}
.app-prod-parcel b{color:var(--secondary);font-weight:800;}
.app-prod-buy{margin-top:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  background:var(--wa);color:#fff;font-weight:800;font-size:.84rem;padding:10px;border-radius:11px;transition:.16s;}
.app-prod-buy:hover{background:var(--wa-dark);color:#fff;transform:translateY(-1px);}
.app-prod-buy:active{transform:scale(.97);}

/* ---------- Filtros / pills ---------- */
.badge-soft{display:inline-block;background:color-mix(in srgb,var(--primary) 12%,transparent);
  color:var(--primary);border-radius:999px;padding:6px 13px;font-weight:800;font-size:.78rem;}
.section-title{font-family:'Sora';font-weight:800;letter-spacing:-.5px;}
.filter-scroll{display:flex;gap:9px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;}
.filter-scroll::-webkit-scrollbar{display:none;}
.category-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:999px;
  background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:700;font-size:.86rem;transition:.18s;white-space:nowrap;}
.category-pill:hover{border-color:var(--primary);color:var(--primary);}
.category-pill.active{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-color:transparent;
  box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 32%,transparent);}

/* ---------- Página de produto ---------- */
.pd-wrap{padding:18px 0 34px;}
.pd-back{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-weight:700;font-size:.9rem;margin-bottom:14px;}
.pd-gallery{border-radius:var(--radius);overflow:hidden;background:#0c1222;box-shadow:var(--shadow);position:relative;}
.pd-gallery .product-img-wrap{aspect-ratio:1/1;}
.pd-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm);}
.pd-cat{font-size:.72rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--primary);}
.pd-title{font-family:'Sora';font-weight:800;font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.1;margin:6px 0 12px;}
.pd-pricebox{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.pd-old{font-size:1.05rem;color:var(--ink-3);text-decoration:line-through;font-weight:700;}
.pd-price{font-family:'Sora';font-weight:800;font-size:2.2rem;color:var(--ink);line-height:1;}
.pd-parcel{color:var(--ink-2);font-weight:600;margin-top:8px;}
.pd-parcel b{color:var(--secondary);}
.pd-desc{color:var(--ink-2);line-height:1.7;margin-top:14px;white-space:pre-line;}
.pd-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.pd-chip{display:inline-flex;align-items:center;gap:7px;background:#f4f6fb;border:1px solid var(--line);
  border-radius:12px;padding:9px 13px;font-weight:700;font-size:.82rem;color:var(--ink-2);}
.pd-chip i{color:var(--primary);font-size:1.05rem;}
.pd-buy{margin-top:20px;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  background:var(--wa);color:#fff;font-weight:800;font-size:1.05rem;padding:15px;border-radius:14px;transition:.18s;
  box-shadow:0 14px 30px rgba(31,168,85,.35);}
.pd-buy:hover{background:var(--wa-dark);color:#fff;transform:translateY(-2px);}
.pd-trust{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;color:var(--ink-3);font-size:.82rem;font-weight:600;}
.pd-trust span{display:inline-flex;align-items:center;gap:6px;}
.pd-trust i{color:var(--secondary);font-size:1rem;}

/* ---------- Faixa de garantias ---------- */
.app-perks{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0 8px;}
.perk{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;display:flex;
  align-items:center;gap:12px;box-shadow:var(--shadow-sm);}
.perk-ic{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-size:1.25rem;}
.perk b{display:block;font-family:'Sora';font-size:.9rem;}
.perk small{color:var(--ink-3);font-size:.74rem;}

/* ---------- Botão flutuante WhatsApp ---------- */
.wa-float{position:fixed;right:18px;bottom:84px;z-index:1035;width:58px;height:58px;border-radius:50%;
  background:var(--wa);color:#fff;display:grid;place-items:center;font-size:1.7rem;
  box-shadow:0 14px 34px rgba(31,168,85,.45);transition:.2s;animation:waPulse 2.6s infinite;}
.wa-float:hover{color:#fff;transform:scale(1.07);}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(31,168,85,.45)}70%{box-shadow:0 0 0 16px rgba(31,168,85,0)}100%{box-shadow:0 0 0 0 rgba(31,168,85,0)}}

/* ---------- Estado vazio ---------- */
.empty-state{text-align:center;padding:60px 20px;color:var(--ink-3);}
.empty-state i{font-size:3rem;color:var(--line);}
.empty-state h3{font-family:'Sora';color:var(--ink);margin-top:14px;}

/* ---------- Rodapé ---------- */
.footer{background:#0a0e1a;color:#9aa6bd;padding:40px 0 28px;margin-top:34px;}
.footer-brand{display:flex;align-items:center;gap:11px;color:#fff;margin-bottom:12px;}
.footer-brand .app-brand-mark{box-shadow:none;}
.footer h5{color:#fff;font-family:'Sora';font-size:.95rem;margin-bottom:12px;}
.footer a{color:#9aa6bd;transition:.15s;}
.footer a:hover{color:#fff;}
.footer-links{display:flex;flex-direction:column;gap:8px;font-size:.9rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:26px;padding-top:18px;
  font-size:.82rem;color:#5b6678;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;}
.footer-social{display:flex;gap:10px;}
.footer-social a{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:rgba(255,255,255,.06);color:#cdd6e6;font-size:1.1rem;}
.footer-social a:hover{background:var(--primary);color:#fff;}

/* ---------- Animações de entrada ---------- */
.reveal{opacity:0;transform:translateY(14px);animation:reveal .5s ease forwards;}
@keyframes reveal{to{opacity:1;transform:none;}}

/* ---------- Espaço para tab bar / desktop ---------- */
@media(max-width:991px){
  .app-body{padding-bottom:calc(70px + env(safe-area-inset-bottom));}
  .app-search{order:3;flex-basis:100%;}
  .app-topbar-inner{flex-wrap:wrap;}
}
@media(min-width:992px){
  .app-tabbar{display:none!important;}
  .wa-float{bottom:24px;}
  .app-hero-card{aspect-ratio:auto;height:400px;}
  .app-hero-card::before{background:linear-gradient(100deg,rgba(7,11,22,.8) 4%,rgba(7,11,22,.34) 50%,rgba(7,11,22,.02) 100%);}
  .app-hero-content{padding:48px;}
  .hero-arrow{display:grid;}
  .app-story,.app-story-name{width:82px;max-width:82px;}
  .app-story-ring{width:80px;height:80px;border-radius:26px;}
  .app-feed-title{font-size:1.6rem;}
  .app-prod-name{font-size:.98rem;}
  .app-prod-price{font-size:1.46rem;}
  .app-perks{grid-template-columns:repeat(4,1fr);}
}

/* =====================================================================
   ADMIN
   ===================================================================== */
.admin-body{background:radial-gradient(900px 500px at 100% -10%,rgba(37,99,235,.12),transparent 60%),#080c16;color:#dbe2ef;
  font-family:'Manrope',sans-serif;}
.admin-sidebar{position:fixed;inset:0 auto 0 0;width:264px;background:#0a0f1d;border-right:1px solid rgba(255,255,255,.07);
  padding:22px 18px;z-index:1050;overflow-y:auto;}
.admin-main{margin-left:264px;padding:30px;}
.brand-mark{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:13px;
  background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:1.2rem;}
.admin-sidebar a{display:flex;gap:11px;align-items:center;color:#aeb8cc;padding:11px 13px;border-radius:12px;
  font-weight:700;font-size:.92rem;margin-bottom:3px;transition:.15s;}
.admin-sidebar a i{font-size:1.15rem;}
.admin-sidebar a:hover{background:rgba(255,255,255,.05);color:#fff;}
.admin-sidebar a.active{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;
  box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 35%,transparent);}
.admin-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:18px;
  padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.25);}
.admin-card h3{font-family:'Sora';font-size:1.1rem;}
.admin-stat{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:18px;height:100%;
  display:flex;align-items:center;gap:14px;}
.admin-stat small{color:#8a93a8;font-weight:800;font-size:.68rem;letter-spacing:.5px;text-transform:uppercase;}
.admin-stat h2{font-family:'Sora';font-weight:800;font-size:1.7rem;margin:2px 0 0;line-height:1;}
.admin-stat-ico{flex:0 0 auto;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:1.25rem;}
.admin-body label{font-weight:700;font-size:.85rem;color:#b9c2d6;margin-bottom:4px;}
.admin-body .form-control,.admin-body .form-select,.admin-body textarea{
  background:#101727;border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:11px;}
.admin-body .form-control::placeholder{color:#5b6577;}
.admin-body .form-control:focus,.admin-body .form-select:focus{background:#101727;color:#fff;
  border-color:var(--primary);box-shadow:0 0 0 .22rem color-mix(in srgb,var(--primary) 25%,transparent);}
.admin-body .table{--bs-table-bg:transparent;--bs-table-color:#dbe2ef;--bs-table-border-color:rgba(255,255,255,.08);}
.admin-body .table thead th{color:#8a93a8;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase;border-color:rgba(255,255,255,.1);}
.thumb-admin{width:58px;height:58px;border-radius:12px;object-fit:cover;background:#0c1222;}
.admin-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:800;}
.admin-pill.on{background:rgba(34,197,94,.16);color:#4ade80;}
.admin-pill.off{background:rgba(148,163,184,.14);color:#94a3b8;}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--accent));border:0;font-weight:800;}
.btn-primary:hover{filter:brightness(1.05);}
.btn-success{font-weight:800;}
.admin-menu-toggle{display:none;}
.login-wrap{min-height:100vh;display:grid;place-items:center;
  background:radial-gradient(circle at 20% 0%,rgba(37,99,235,.4),transparent 42%),#080c16;padding:20px;}
.login-card{width:min(420px,94vw);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:24px;padding:34px;color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.login-card .form-control{background:#101727;border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:12px;}
.login-card .form-control:focus{box-shadow:0 0 0 .22rem color-mix(in srgb,var(--primary) 28%,transparent);border-color:var(--primary);}
.login-card label{color:#cdd6e6;}

@media(max-width:991px){
  .admin-sidebar{transform:translateX(-100%);transition:.25s;width:80%;max-width:300px;}
  .admin-sidebar.open{transform:none;}
  .admin-main{margin-left:0;padding:18px;}
  .admin-menu-toggle{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:13px;border:0;
    background:#101727;color:#fff;font-size:1.3rem;margin-bottom:16px;}
  .admin-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1045;display:none;}
  .admin-overlay.show{display:block;}
}

/* =====================================================================
   V5 RESPONSIVE PRO — Bootstrap-first
   Ajustes profundos para celular, tablet e desktop.
   Objetivo: aparência de aplicativo no mobile e vitrine premium no desktop.
   ===================================================================== */

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body.app-body{background:#f6f8fc;overflow-x:hidden;}
a{text-decoration:none;}
img,svg,video{max-width:100%;height:auto;}
.container{width:100%;}
.col-xl-2-4{position:relative;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);}

/* Topbar com comportamento correto em todas as larguras */
.app-topbar{background:rgba(255,255,255,.88);border-bottom:1px solid rgba(15,23,42,.08);backdrop-filter:blur(18px);box-shadow:0 8px 28px rgba(15,23,42,.06);}
.app-topbar-inner{min-height:72px;display:flex;align-items:center;gap:14px;min-width:0;}
.app-brand{flex:0 0 auto;min-width:0;}
.app-brand-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.app-search{flex:1 1 360px;min-width:160px;max-width:620px;}
.app-search input{width:100%;min-width:0;}
.app-desktop-menu{align-items:center;gap:6px;margin-left:auto;}
.app-desktop-menu a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:999px;color:#485267;font-weight:800;font-size:.92rem;transition:.18s;white-space:nowrap;}
.app-desktop-menu a:hover,.app-desktop-menu a.active{background:#eef2ff;color:var(--primary);}
.app-topbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.app-icon-btn{flex:0 0 auto;}

/* Hero/banner responsivo: sem corte estranho no mobile e robusto no desktop */
.app-hero{padding:14px 0 4px;background:#f6f8fc;}
.hero-carousel{border-radius:24px;overflow:hidden;box-shadow:0 18px 52px rgba(15,23,42,.13);background:#0c1222;}
.app-hero-card{border-radius:24px;overflow:hidden;isolation:isolate;background:#0c1222;}
.app-hero-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.app-hero-content{min-width:0;}
.app-hero-content h2{max-width:720px;overflow-wrap:anywhere;}
.app-hero-content p{max-width:580px;}

/* Stories/categorias: tamanho consistente para ícones do admin */
.app-stories{background:#f6f8fc;}
.app-stories-track{gap:14px;align-items:flex-start;padding-bottom:12px;}
.app-story{width:72px;min-width:72px;}
.app-story-ring{width:68px;height:68px;border-radius:50%;padding:3px;background:linear-gradient(135deg,#eef2ff,#fff);}
.app-story-img{border-radius:50%;background:#fff;}
.app-story-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.app-story-name{font-size:.76rem;line-height:1.1;font-weight:850;color:#151b2d;}

/* Faixa de benefícios em grid real */
.app-perks{margin-top:18px;margin-bottom:14px;}
.perk{min-width:0;}
.perk div{min-width:0;}
.perk b,.perk small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* Grade de produtos Bootstrap-first */
.app-feed{background:#f6f8fc;}
.app-feed .row{align-items:stretch;}
.app-feed-head{gap:12px;}
.app-feed-title{min-width:0;line-height:1.15;}
.app-feed-link{flex:0 0 auto;}

/* Cards: imagem branca, texto estável e sem estouro */
.app-prod{border-radius:18px;background:#fff;border:1px solid #e9edf5;box-shadow:0 10px 26px rgba(15,23,42,.07);min-width:0;}
.app-prod-media,.product-img-wrap,.product-img-wrap img,.product-img-empty,.pd-gallery{background:#fff!important;}
.product-img-wrap{border-bottom:1px solid #f0f2f7;}
.product-img-wrap img{object-position:center;}
.product-img-wrap.ajuste-contain img{padding:12px;background:#fff!important;}
.product-img-wrap.ajuste-cover img{object-fit:cover;}
.app-prod-badges{top:8px;left:8px;}
.badge-fav{top:8px;right:8px;background:rgba(255,255,255,.92);box-shadow:0 6px 16px rgba(15,23,42,.08);}
.app-prod-info{min-width:0;}
.app-prod-name{word-break:normal;overflow-wrap:anywhere;text-decoration:none;}
.app-prod-price{white-space:nowrap;}
.app-prod-parcel{min-height:2.3em;}
.app-prod-buy{width:100%;min-height:42px;}

/* Página de produto */
.pd-wrap{background:#f6f8fc;}
.pd-gallery{border:1px solid #e9edf5;box-shadow:0 18px 46px rgba(15,23,42,.10);}
.pd-card{height:100%;}
.pd-title{overflow-wrap:anywhere;}
.pd-buy{min-height:54px;}
.pd-meta,.pd-trust{min-width:0;}
.pd-chip{max-width:100%;}

/* Catálogo e filtros */
.filter-scroll{gap:9px;scroll-padding-left:10px;}
.category-pill{box-shadow:0 6px 16px rgba(15,23,42,.05);}

/* Footer não disputa com barra inferior no mobile */
.footer{margin-top:20px;}

/* Celular pequeno */
@media(max-width:575.98px){
  body.app-body{background:#f6f8fc;padding-bottom:calc(76px + env(safe-area-inset-bottom));}
  .container{padding-left:10px;padding-right:10px;}
  .app-topbar-inner{min-height:66px;gap:9px;padding-top:8px;padding-bottom:8px;}
  .app-brand-mark{width:38px;height:38px;border-radius:13px;}
  .app-brand-name{font-size:.94rem;max-width:118px;}
  .app-search{order:3;flex:1 0 100%;max-width:none;height:44px;}
  .app-search input{height:44px;font-size:16px;}
  .app-topbar-actions{margin-left:auto;}
  .app-icon-btn{width:40px;height:40px;border-radius:14px;}
  .app-hero{padding-top:10px;}
  .hero-carousel,.app-hero-card{border-radius:18px;}
  .app-hero-card{aspect-ratio:16/9!important;height:auto!important;min-height:auto;}
  .app-hero-card::before{background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.10));}
  .app-hero-content{display:none!important;}
  .hero-dots{bottom:8px;}
  .app-stories{padding-top:12px;}
  .app-stories-track{gap:12px;padding-left:1px;padding-right:1px;}
  .app-story{width:62px;min-width:62px;}
  .app-story-ring{width:56px;height:56px;}
  .app-story-img{font-size:1.2rem;}
  .app-story-name{max-width:62px;font-size:.68rem;}
  .app-perks{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 4px;}
  .perk{padding:10px;border-radius:14px;gap:8px;}
  .perk-ic{width:34px;height:34px;flex-basis:34px;border-radius:10px;font-size:1rem;}
  .perk b{font-size:.76rem;}
  .perk small{font-size:.64rem;}
  .app-feed{padding-bottom:20px;}
  .app-feed-head{margin:15px 0 10px;}
  .app-feed-title{font-size:1.12rem;}
  .app-feed-link{font-size:.78rem;}
  .app-feed .row{--bs-gutter-x:.55rem;--bs-gutter-y:.65rem;}
  .app-prod{border-radius:12px;box-shadow:0 8px 18px rgba(15,23,42,.06);}
  .product-img-wrap.formato-feed,.product-img-wrap.formato-paisagem,.product-img-wrap.formato-retrato,.product-img-wrap.formato-stories{aspect-ratio:1/1;}
  .product-img-wrap.ajuste-contain img{padding:8px;}
  .badge-fav{display:none;}
  .badge-pill{font-size:.58rem;padding:3px 6px;border-radius:7px;}
  .app-prod-info{padding:8px 8px 9px;}
  .app-prod-cat{font-size:.58rem;margin-bottom:3px;}
  .app-prod-name{font-size:.82rem;min-height:2.15em;margin-bottom:5px;}
  .app-prod-oldrow{min-height:.85rem;}
  .app-prod-old{font-size:.68rem;}
  .app-prod-price{font-size:1.12rem;letter-spacing:-.3px;}
  .app-prod-parcel{font-size:.62rem;line-height:1.25;min-height:2.1em;}
  .app-prod-buy{min-height:36px;border-radius:10px;font-size:.76rem;padding:8px;margin-top:8px;}
  .wa-float{display:none!important;}
  .app-tabbar{height:64px;padding-bottom:env(safe-area-inset-bottom);}
  .pd-wrap{padding-top:12px;}
  .pd-back{font-size:.84rem;margin-bottom:10px;}
  .pd-card{padding:16px;border-radius:18px;}
  .pd-gallery{border-radius:18px;}
  .pd-price{font-size:1.85rem;}
  .pd-buy{border-radius:14px;position:sticky;bottom:calc(70px + env(safe-area-inset-bottom));z-index:5;}
  .footer{display:none;}
}

/* Celular grande / phablet */
@media(min-width:576px) and (max-width:767.98px){
  body.app-body{padding-bottom:calc(76px + env(safe-area-inset-bottom));}
  .app-search{order:3;flex-basis:100%;max-width:none;}
  .app-hero-card{aspect-ratio:16/8!important;height:auto!important;}
  .app-hero-content{display:none!important;}
  .app-feed .row{--bs-gutter-x:.8rem;--bs-gutter-y:.9rem;}
  .app-perks{grid-template-columns:repeat(2,1fr);}
  .footer{display:none;}
}

/* Tablet */
@media(min-width:768px) and (max-width:991.98px){
  .app-topbar-inner{min-height:74px;}
  .app-search{order:initial;flex:1 1 auto;max-width:none;}
  .app-hero-card{height:320px!important;}
  .app-hero-content{padding:28px;max-width:520px;}
  .app-hero-content h2{font-size:2rem;line-height:1.05;}
  .app-hero-content p{font-size:.95rem;}
  .app-perks{grid-template-columns:repeat(4,1fr);gap:10px;}
  .perk{padding:12px;}
  .perk b{font-size:.82rem;}.perk small{font-size:.68rem;}
  .app-feed .row{--bs-gutter-x:1rem;--bs-gutter-y:1rem;}
  .app-prod-info{padding:11px;}
  .app-prod-price{font-size:1.28rem;}
  .footer{display:none;}
}

/* Desktop */
@media(min-width:992px){
  body.app-body{padding-bottom:0;}
  .container{max-width:1180px;}
  .app-topbar-inner{min-height:78px;}
  .app-brand-name{font-size:1.08rem;}
  .app-search{flex:0 1 430px;}
  .app-hero{padding:24px 0 8px;}
  .hero-carousel{border-radius:30px;}
  .app-hero-card{height:430px!important;border-radius:30px;}
  .app-hero-content h2{font-size:clamp(2.6rem,4vw,4.2rem);line-height:.98;letter-spacing:-2px;}
  .app-hero-content p{font-size:1.08rem;line-height:1.65;}
  .app-stories-track{justify-content:flex-start;gap:18px;padding-top:8px;padding-bottom:14px;}
  .app-story{width:84px;min-width:84px;}
  .app-story-ring{width:78px;height:78px;}
  .app-story-name{font-size:.78rem;max-width:84px;}
  .app-feed{padding-bottom:34px;}
  .app-feed .row{--bs-gutter-x:1rem;--bs-gutter-y:1.15rem;}
  .app-prod{border-radius:18px;}
  .app-prod-info{padding:13px;}
  .app-prod-buy{opacity:.95;}
  .app-prod:hover .app-prod-buy{opacity:1;}
  .pd-wrap{padding-top:26px;padding-bottom:48px;}
  .pd-gallery{position:sticky;top:96px;}
}

/* Desktop grande: 5 colunas reais no Bootstrap */
@media(min-width:1200px){
  .container{max-width:1240px;}
  .col-xl-2-4{flex:0 0 auto;width:20%;}
  .app-hero-card{height:460px!important;}
}

/* Desktop extra grande */
@media(min-width:1400px){
  .container{max-width:1320px;}
  .app-hero-card{height:500px!important;}
}

/* Correções de acessibilidade e redimensionamento */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;}
}


/* =========================================================
   V6 - Ajustes solicitados
   - Logo completa maior no topo
   - Produtos com opção de 1 ou 2 colunas no celular
   ========================================================= */
.app-brand-logo-full{
  display:block;
  width:auto;
  max-width:230px;
  max-height:58px;
  object-fit:contain;
}
.app-brand:has(.app-brand-logo-full){
  min-width:170px;
  max-width:260px;
}

.admin-sidebar .brand-mark-logo{
  width:72px!important;
  min-width:72px!important;
  height:46px!important;
  border-radius:14px!important;
  padding:5px;
  background:#fff!important;
}
.admin-sidebar .brand-mark-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:8px;
}

@media(max-width:768px){
  .app-brand-logo-full{
    max-width:165px;
    max-height:48px;
  }
  .app-brand:has(.app-brand-logo-full){
    min-width:122px;
    max-width:180px;
  }

  /* Quando o admin escolher 1 coluna, o card ganha aparência mais premium. */
  .row > .col-12 .app-prod{
    display:grid;
    grid-template-columns:42% 58%;
    align-items:stretch;
    min-height:190px;
    border-radius:18px;
  }
  .row > .col-12 .app-prod-media{
    height:100%;
  }
  .row > .col-12 .product-img-wrap,
  .row > .col-12 .product-img-empty{
    height:100%;
    min-height:190px;
    aspect-ratio:auto;
  }
  .row > .col-12 .app-prod-info{
    padding:13px 14px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .row > .col-12 .app-prod-name{
    font-size:1.02rem;
    -webkit-line-clamp:3;
  }
  .row > .col-12 .app-prod-price{
    font-size:1.55rem;
  }
  .row > .col-12 .app-prod-buy{
    margin-top:8px;
    min-height:38px;
  }
}

@media(max-width:390px){
  .app-brand-logo-full{
    max-width:145px;
    max-height:44px;
  }
  .app-brand:has(.app-brand-logo-full){
    min-width:112px;
    max-width:150px;
  }
}


/* =========================================================
   CORREÇÃO V6.1 - Colunas mobile forçadas pela configuração
   O Bootstrap às vezes pode ser sobrescrito por cache/CSS anterior.
   Essas regras garantem 1 ou 2 colunas no celular conforme o admin.
   ========================================================= */
@media(max-width:767.98px){
  body.mobile-cols-2 .app-feed .row > .col-6,
  body.mobile-cols-2 .app-feed .row > .col-12,
  body.mobile-cols-2 main .row > .col-6,
  body.mobile-cols-2 main .row > .col-12{
    flex:0 0 auto !important;
    width:50% !important;
    max-width:50% !important;
  }

  body.mobile-cols-1 .app-feed .row > .col-6,
  body.mobile-cols-1 .app-feed .row > .col-12,
  body.mobile-cols-1 main .row > .col-6,
  body.mobile-cols-1 main .row > .col-12{
    flex:0 0 auto !important;
    width:100% !important;
    max-width:100% !important;
  }

  /* Evita que o layout de 1 coluna seja aplicado quando o admin escolhe 2 colunas. */
  body.mobile-cols-2 .row > .col-12 .app-prod{
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    border-radius:12px !important;
  }

  body.mobile-cols-2 .row > .col-12 .app-prod-media,
  body.mobile-cols-2 .row > .col-12 .product-img-wrap,
  body.mobile-cols-2 .row > .col-12 .product-img-empty{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1/1 !important;
  }

  body.mobile-cols-2 .row > .col-12 .app-prod-info{
    padding:8px 8px 9px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
  }

  body.mobile-cols-2 .row > .col-12 .app-prod-name{
    font-size:.82rem !important;
    -webkit-line-clamp:2 !important;
  }

  body.mobile-cols-2 .row > .col-12 .app-prod-price{
    font-size:1.12rem !important;
  }
}
