:root {
    --brand-teal-50:#edfaf9; --brand-teal-100:#d2f3f1; --brand-teal-200:#a8e8e4;
    --brand-teal-300:#72d6d0; --brand-teal-400:#3dbfb8; --brand-teal-500:#1fa69f;
    --brand-teal-600:#00838f; --brand-teal-700:#066b6e;
    --brand-orange-50:#fff5ed; --brand-orange-100:#ffe8d4; --brand-orange-200:#ffcda8;
    --brand-orange-300:#ffab71; --brand-orange-400:#ff8038; --brand-orange-500:#f26522;
    --brand-orange-600:#e34a0e;
    --brand-pink-300:#f9a8d4; --brand-yellow-300:#fde047;
    --ink:#0f172a;
    --font-main:'Poppins',system-ui,sans-serif;
}

body { font-family: var(--font-main); color: var(--ink); background:#fff; }

h1,h2,h3,h4,h5,h6 { font-weight: 800; letter-spacing:-.02em; }

/* Header */
.site-header { background:#fff; box-shadow:0 1px 0 var(--brand-teal-100); }
.site-logo img { height:52px; width:auto; }
.site-nav .nav-pill {
    display:inline-flex; align-items:center; gap:.4rem;
    color:var(--ink); font-weight:500; padding:.5rem 1.1rem; border-radius:999px;
}
.site-nav .nav-pill:hover { background:var(--brand-teal-50); color:var(--brand-teal-700); }
.site-nav .nav-pill.active { background:var(--brand-teal-500); color:#fff; }
.nav-ico { display:inline-flex; align-items:center; color:#475569; }
.nav-ico .ico { width:18px; height:18px; }
.site-nav .nav-pill.active .nav-ico { color:#fff; }
.site-nav .nav-pill:hover .nav-ico { color:var(--brand-teal-600); }
.site-nav .nav-pill.active:hover .nav-ico { color:#fff; }
.btn-whatsapp {
    display:inline-flex; align-items:center; gap:.5rem;
    background:linear-gradient(to right, #10b981, #059669); color:#fff; font-weight:700;
    border-radius:999px; padding:.55rem 1.3rem; font-size:.9rem;
}
.btn-whatsapp .nav-ico { color:#fff; }
.btn-whatsapp .nav-ico .ico { width:18px; height:18px; }
.btn-whatsapp:hover { background:linear-gradient(to right, #059669, #047857); color:#fff; }
.wa-dot { width:8px; height:8px; border-radius:50%; background:#dcfce7; box-shadow:0 0 0 3px rgba(255,255,255,.25); }

/* Ícones Lucide */
.ico { flex:0 0 auto; }

/* Selos de seção (pílula pequena acima dos títulos) */
.section-selo {
    display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:.08em;
    text-transform:uppercase; color:var(--brand-orange-500);
    background:var(--brand-orange-50); border:1px solid var(--brand-orange-100);
    border-radius:999px; padding:.3rem 1rem; margin-bottom:1rem;
}
.section-selo.selo-teal { color:var(--brand-teal-700); background:var(--brand-teal-50); border-color:var(--brand-teal-100); }

/* Botões de marca */
.btn-brand-orange {
    background:linear-gradient(135deg,var(--brand-orange-400),var(--brand-orange-500));
    color:#fff; font-weight:700; border:none; border-radius:999px; padding:.8rem 2rem;
    box-shadow:0 8px 20px rgba(242,101,34,.35);
}
.btn-brand-orange:hover { color:#fff; background:linear-gradient(135deg,var(--brand-orange-500),var(--brand-orange-600)); }
.btn-brand-teal {
    background:linear-gradient(135deg,var(--brand-teal-400),var(--brand-teal-500));
    color:#fff; font-weight:700; border:none; border-radius:999px; padding:.8rem 2rem;
    box-shadow:0 8px 20px rgba(31,166,159,.35);
}
.btn-brand-teal:hover { color:#fff; background:linear-gradient(135deg,var(--brand-teal-500),var(--brand-teal-600)); }
.btn-outline-brand { border:2px solid var(--brand-teal-500); color:var(--brand-teal-600); border-radius:999px; font-weight:600; }
.btn-outline-brand:hover { background:var(--brand-teal-500); color:#fff; }

/* Footer */
.site-footer { background:linear-gradient(180deg,#fff, var(--brand-teal-50)); border-top:1px solid var(--brand-teal-100); }
.footer-logo { height:72px; width:auto; margin-bottom:1rem; }
.footer-tagline { color:#475569; font-size:.95rem; max-width:22rem; margin-bottom:1.5rem; }
.footer-title { font-size:1rem; color:var(--brand-teal-700); margin-bottom:1rem; display:flex; align-items:center; gap:.4rem; }
.footer-title .footer-ico .ico { width:16px; height:16px; }
.footer-title .btn { margin-left:auto; }
.footer-list { list-style:none; padding:0; margin:0; font-size:.92rem; line-height:1.9; }
.footer-list a { color:#475569; text-decoration:none; }
.footer-list a:hover { color:var(--brand-orange-500); }
.footer-ico { display:inline-flex; align-items:center; color:var(--brand-teal-600); }
.footer-ico .ico { width:16px; height:16px; }
.footer-contact li { display:flex; gap:.6rem; align-items:flex-start; margin-bottom:.6rem; line-height:1.5; }
.footer-nav a { display:inline-flex; align-items:center; gap:.5rem; font-weight:500; }
.footer-nav a:hover .footer-ico { color:var(--brand-orange-500); }
.footer-hours li { display:flex; gap:.35rem; color:#475569; }
.footer-hours li strong { color:var(--ink); font-weight:600; }
.text-fechado { color:var(--brand-orange-600); font-weight:600; }
.footer-map { border-radius:1rem; overflow:hidden; border:1px solid var(--brand-teal-100); box-shadow:0 4px 14px rgba(15,23,42,.06); }
.footer-map iframe { display:block; width:100%; height:280px; border:0; }
.footer-bottom { border-top:1px solid var(--brand-teal-100); font-size:.85rem; color:#64748b; }

/* Hero */
.hero { position:relative; overflow:hidden; background:linear-gradient(120deg,var(--brand-teal-50) 0%,#fff 45%,var(--brand-orange-50) 100%); padding:2rem 0 4rem; }
.hero .container { position:relative; z-index:1; }
.hero-carousel { overflow:hidden; border-radius:1.5rem; max-width:960px; margin:0 auto; }
.hero-track { display:flex; transition:transform .5s ease; }
.hero-slide { flex:0 0 100%; }
.hero-slide a { display:block; }
.hero-slide img { width:100%; height:340px; object-fit:cover; display:block; }
.hero-dots { display:flex; justify-content:center; gap:.5rem; padding:1rem 0 .25rem; }
.hero-dot { width:26px; height:5px; border-radius:999px; border:none; background:var(--brand-teal-200); }
.hero-dot.active { background:var(--brand-orange-500); }
.hero-title { font-size:clamp(2.2rem,5vw,3.6rem); margin-top:2rem; }
.text-brand-teal { color:var(--brand-teal-500); }
.hero-subtitle { color:#475569; font-size:1.15rem; margin-top:1rem; }

/* Efeitos flutuantes do hero (fieis ao original) */
.hero-fx { position:absolute; inset:0; pointer-events:none; }
@keyframes fx-pulse-glow { 0%,100% { opacity:.55; transform:scale(1); } 50% { opacity:.85; transform:scale(1.08); } }
@keyframes fx-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }
@keyframes fx-spin { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@keyframes fx-bobble { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-8px) rotate(2deg); } }
.fx-pulse-glow { animation:fx-pulse-glow 2.4s ease-in-out infinite; }
.fx-float { animation:fx-float 3.5s ease-in-out infinite; }
.fx-float-slow { animation:fx-float 6s ease-in-out infinite; }
.fx-float-fast { animation:fx-float 2.5s ease-in-out infinite; }
.fx-bobble { animation:fx-bobble 4s ease-in-out infinite; }
.fx-spin-slow { animation:fx-spin 18s linear infinite; }
.fx-spin-slow-reverse { animation:fx-spin 32s linear infinite reverse; }
.fx-delay-05 { animation-delay:.5s; } .fx-delay-08 { animation-delay:.8s; }
.fx-delay-1 { animation-delay:1s; } .fx-delay-12 { animation-delay:1.2s; }
.fx-parallax { position:absolute; inset:0; will-change:transform; }
.fx-glow { position:absolute; border-radius:50%; filter:blur(64px); }
.fx-glow-teal { top:-8rem; left:-6rem; width:500px; height:500px; background:rgba(168,232,228,.5); }
.fx-glow-orange { bottom:-8rem; right:-6rem; width:520px; height:520px; background:rgba(255,205,168,.4); }
.fx-dot { position:absolute; border-radius:50%; filter:blur(40px); }
.fx-dot-yellow { top:18%; right:18%; width:220px; height:220px; background:rgba(253,224,71,.25); }
.fx-dot-pink { bottom:22%; left:12%; width:170px; height:170px; background:rgba(249,168,212,.25); }
.fx-ring { position:absolute; top:50%; left:50%; translate:-50% -50%; border-radius:50%; }
.fx-ring-dashed { width:min(640px,95vw); height:min(640px,95vw); border:2px dashed rgba(168,232,228,.4); }
.fx-ring-orange { width:min(420px,70vw); height:min(420px,70vw); border:1px solid rgba(255,205,168,.5); }
.fx-emoji { position:absolute; font-size:2rem; line-height:1; opacity:.35; user-select:none; }
.fx-parallax-lg { display:none; }
@media (min-width:576px) {
    .fx-emoji { font-size:2.5rem; }
    .fx-parallax-lg { display:block; }
}

/* Marcas — marquee contínuo, fiel ao original (lista repetida 6×, 60s linear) */
.marcas-title { font-size:clamp(1.6rem,3.5vw,2.4rem); }
.marcas-marquee { position:relative; overflow:hidden; margin-top:2.5rem; }
.marcas-track {
    display:flex; width:max-content; align-items:center; padding:.5rem 0;
    animation:marquee 60s linear infinite;
}
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.marca-item {
    flex:0 0 auto; display:flex; align-items:center; justify-content:center;
    height:6rem; margin:0 1.5rem; border-radius:1rem; padding:0 .5rem;
    transition:background .3s;
}
@media (min-width:576px) { .marca-item { height:7rem; margin:0 2rem; } }
.marca-item:hover { background:rgba(237,250,249,.5); }
.marca-item img { height:4rem; width:auto; object-fit:contain; transition:transform .3s; }
.marca-item img:hover { transform:scale(1.1); }
.marca-item img.marca-img-sm { height:2.25rem; }
@media (min-width:576px) { .marca-item img { height:4.5rem; } .marca-item img.marca-img-sm { height:3rem; } }
.marcas-fade {
    position:absolute; top:0; bottom:0; width:5rem; z-index:2; pointer-events:none;
}
.marcas-fade-left { left:0; background:linear-gradient(to right, #fff, transparent); }
.marcas-fade-right { right:0; background:linear-gradient(to left, #fff, transparent); }
@media (min-width:576px) { .marcas-fade { width:8rem; } }
@media (prefers-reduced-motion: reduce) { .marcas-track { animation:none; } }

/* Portais */
.portais-title { font-size:clamp(1.8rem,4vw,2.8rem); }
.portais-sub { color:#475569; margin-top:1rem; }
.portal-card { text-align:left; border-radius:1.5rem; padding:2.5rem; height:100%; }
.portal-orange { background:var(--brand-orange-50); border:1px solid var(--brand-orange-100); }
.portal-teal { background:var(--brand-teal-50); border:1px solid var(--brand-teal-100); }
.portal-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.25rem; }
.portal-ico {
    width:52px; height:52px; display:grid; place-items:center; font-size:1.4rem;
    border-radius:.9rem; color:#fff;
}
.portal-orange .portal-ico { background:linear-gradient(135deg,var(--brand-orange-400),var(--brand-orange-500)); }
.portal-teal .portal-ico { background:linear-gradient(135deg,var(--brand-teal-400),var(--brand-teal-500)); }
.portal-tag {
    font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
    background:#fff; border:1px solid var(--brand-orange-200); color:var(--brand-orange-500);
    border-radius:999px; padding:.25rem .8rem;
}
.portal-teal .portal-tag { border-color:var(--brand-teal-200); color:var(--brand-teal-600); }
.portal-list { list-style:none; padding:0; margin:1.25rem 0 1.75rem; line-height:2.1; font-size:.95rem; color:#334155; }

/* Blog */
.blog-title { font-size:clamp(1.8rem,4vw,2.8rem); }
.blog-card { background:#fff; border:1px solid #f1f5f9; border-radius:1.25rem; overflow:hidden; box-shadow:0 4px 14px rgba(15,23,42,.05); transition:transform .2s, box-shadow .2s; }
.blog-card:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(15,23,42,.1); }
.blog-card-img { width:100%; height:180px; object-fit:cover; }
.blog-card-placeholder {
    display:flex; align-items:center; justify-content:center;
    width:100%; height:180px; background:var(--brand-teal-50);
    color:var(--brand-teal-200); border-bottom:1px solid var(--brand-teal-100);
}
.blog-card-body { padding:1.5rem; }
.blog-meta { display:flex; justify-content:space-between; font-size:.78rem; margin-bottom:.75rem; }
.blog-tag { color:var(--brand-orange-500); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.blog-time { color:#94a3b8; }
.blog-card-title { font-size:1.1rem; line-height:1.35; }
.blog-card-text { color:#475569; font-size:.92rem; margin-top:.6rem; }
.blog-footer { display:flex; justify-content:space-between; align-items:center; margin-top:1.25rem; font-size:.85rem; }
.blog-author { color:#64748b; }
.blog-read { color:var(--brand-orange-500); font-weight:700; text-decoration:none; }
.blog-read:hover { color:var(--brand-orange-600); }

/* Calculadora */
.calc-title { font-size:clamp(1.8rem,4vw,2.8rem); }
.calc-card { border:1px solid var(--brand-teal-100); border-radius:1.5rem; overflow:hidden; margin-top:2.5rem; background:#fff; }
.calc-panel { padding:2.5rem; }
.calc-result { background:linear-gradient(160deg,var(--brand-teal-50),#fff); border-left:1px solid var(--brand-teal-100); }
.calc-label { display:block; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#64748b; margin-bottom:.5rem; }
.calc-peso-valor { float:right; color:var(--brand-teal-600); }
.calc-especie { display:flex; gap:.75rem; }
.calc-especie-btn {
    flex:1; border:2px solid var(--brand-teal-100); background:#fff; border-radius:.9rem;
    padding:.7rem; font-weight:600; color:var(--ink);
}
.calc-especie-btn.active { background:var(--brand-teal-500); border-color:var(--brand-teal-500); color:#fff; }
.calc-live { font-size:.8rem; color:var(--brand-teal-600); font-weight:600; }
.live-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#22c55e; margin-right:.3rem; }
.calc-result-card { background:#fff; border:1px solid var(--brand-teal-100); border-radius:1rem; padding:1.25rem; }
.calc-result-orange { border-color:var(--brand-orange-100); }
.calc-result-label { display:block; font-size:.75rem; font-weight:700; text-transform:uppercase; color:#94a3b8; }
.calc-result-value { display:block; font-size:2rem; font-weight:800; color:var(--brand-teal-600); margin:.25rem 0; }
.calc-result-orange .calc-result-value { color:var(--brand-orange-500); }
.calc-result-hint { font-size:.8rem; color:#64748b; }
.form-range::-webkit-slider-thumb { background:var(--brand-teal-500); }
.form-range::-moz-range-thumb { background:var(--brand-teal-500); }
