/* ══ LOGIN ══ */
.login-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at top,#ffffff 0%,#eef4ff 38%,#f6efff 100%)}
.login-header{background:rgba(255,255,255,.92);border-bottom:1px solid rgba(65,91,140,.10);padding:14px 24px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(65,91,140,.06)}
.login-header img{height:30px;width:auto}
.login-wrap{max-width:460px;margin:0 auto;padding:44px 16px 60px}
.brand-top{text-align:center;margin-bottom:28px}
.brand-top img{height:44px;width:auto;display:block;margin:0 auto 16px}
.brand-top h1{font-size:26px;font-weight:800;color:var(--blue);letter-spacing:-0.02em}
.brand-top p{font-size:14px;color:var(--gray-500);margin-top:6px}
.brand-top::after{content:'Portal premium · Smart GR';display:inline-block;margin-top:10px;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,#edf4ff 0%,#fff 100%);border:1px solid rgba(65,91,140,.12);color:var(--blue-dark);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 18px rgba(65,91,140,.08)}
.card{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);border:1px solid rgba(65,91,140,.12);border-radius:22px;padding:32px;box-shadow:0 18px 40px rgba(65,91,140,.14)}
.card h2{font-size:18px;font-weight:700;margin-bottom:4px;color:var(--gray-900)}
.card>p{font-size:13px;color:var(--gray-500)}
.cnpj-box{background:var(--blue-light);border:1px solid var(--blue-border);border-radius:var(--radius);padding:12px 14px;margin-top:12px;display:none;animation:fadeIn 0.2s ease}
.cnpj-empresa{font-size:14px;font-weight:700;color:var(--blue)}
.cnpj-details{font-size:12px;color:var(--gray-600);margin-top:4px;line-height:1.8}
.login-footer{text-align:center;font-size:12px;color:var(--gray-400);margin-top:20px}

/* ══ KEYFRAMES ══ */
@keyframes smFadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes smFadeIn{from{opacity:0}to{opacity:1}}
@keyframes smPulseGlow{0%,100%{box-shadow:0 4px 24px rgba(65,91,140,.07),0 0 0 1px rgba(65,91,140,.03)}50%{box-shadow:0 4px 32px rgba(65,91,140,.12),0 0 0 1px rgba(65,91,140,.06)}}

/* ══ HOME — FUNDO E LAYOUT ══ */
#view-home{background:radial-gradient(ellipse 130% 40% at 50% -5%,rgba(65,91,140,.07) 0%,transparent 55%),var(--bg-app)}
.premium-home{display:flex;flex-direction:column;gap:52px;padding-top:44px;padding-bottom:72px}

/* ══ SECTION HEADERS ══ */
.home-section{display:flex;flex-direction:column;gap:20px}
.home-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(65,91,140,.07)}
.home-section-title{font-size:13px;font-weight:500;color:var(--text-primary);letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.home-section-title::before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--pink);flex-shrink:0}
.home-section-link{font-size:12px;color:var(--blue);font-weight:500;text-decoration:none;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;transition:opacity .2s,transform .2s}
.home-section-link:hover{opacity:.75;transform:translateX(3px)}

/* ══ COMUNICADOS — CHIPS (Home) ══ */
.editorial-row{display:flex;gap:10px;flex-wrap:wrap}
.editorial-chip{display:inline-flex;align-items:center;gap:12px;border-radius:16px;padding:14px 18px;background:#fff;border:1px solid rgba(65,91,140,.08);text-decoration:none;font-weight:500;transition:border-color .22s,box-shadow .22s,transform .25s cubic-bezier(.22,1,.36,1);box-shadow:0 1px 4px rgba(65,91,140,.04);flex:1;min-width:220px}
.editorial-chip:hover{border-color:rgba(65,91,140,.16);box-shadow:0 0 0 4px rgba(65,91,140,.05),0 8px 28px rgba(65,91,140,.10);transform:translateY(-3px)}
.editorial-chip-icon{font-size:18px;flex-shrink:0;line-height:1;opacity:.85}
.editorial-chip-text{font-size:12px;font-weight:600;color:var(--gray-800);line-height:1.35}
.editorial-chip-sub{font-size:10px;color:var(--gray-400);margin-top:2px;letter-spacing:.02em}

/* ══ BANNER PRINCIPAL ══ */
.home-hero-wrap{padding:20px 24px 0;position:relative}
@media(max-width:640px){.home-hero-wrap{padding:12px 12px 0}}
.banners-wrap{width:100%;max-width:1280px;max-height:420px;overflow:hidden;border-radius:12px;margin:0 auto 32px auto;position:relative;background-color:#fff;box-shadow:0 4px 32px rgba(65,91,140,.13),0 0 0 1px rgba(65,91,140,.08)}
.banners-wrap::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--blue) 35%,var(--pink) 65%,transparent 100%);opacity:.55;z-index:3;pointer-events:none}
@media(max-width:768px){.banners-wrap{max-height:220px;border-radius:8px}}
@media(max-width:480px){.banners-wrap{border-radius:12px}}
.banners-wrap::after{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,transparent 0%,rgba(250,250,252,.78) 100%);pointer-events:none;z-index:2}
.banner-slider{display:flex;height:100%;transition:transform .65s cubic-bezier(.4,0,.2,1);will-change:transform}
.banner-slide{min-width:100%;height:100%;position:relative;cursor:pointer;text-decoration:none;display:block;overflow:hidden}
.banner-slide img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;transition:transform .4s ease}
.banner-slide:hover img{transform:scale(1.03);transition:transform 5s ease}
.banner-dots{position:absolute;bottom:10px;right:14px;display:flex;gap:5px;z-index:3}
.banner-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:all .28s cubic-bezier(.22,1,.36,1)}
.banner-dot.active{background:rgba(255,255,255,.92);width:18px;border-radius:3px}
.banner-placeholder{height:100%;background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%);display:flex;align-items:center;justify-content:center;padding:24px}
.banner-placeholder h2,.banner-placeholder p{display:none}

/* ══ BOAS-VINDAS VIP ══ */
.home-welcome-block{text-align:center;max-width:680px;margin:0 auto;background:rgba(255,255,255,.88);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.72);border-radius:24px;padding:44px 48px;box-shadow:0 4px 24px rgba(65,91,140,.07),0 1px 0 rgba(255,255,255,.95) inset;animation:smFadeUp .75s cubic-bezier(.22,1,.36,1) both}
.home-welcome-block::before{content:'● Smart GR · Portal Exclusivo';display:block;font-size:10px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-400);margin-bottom:16px}
.home-welcome-title{font-size:30px;font-weight:500;color:var(--text-primary);letter-spacing:-.04em;line-height:1.15;margin-bottom:14px}
.home-welcome-sub{font-size:15px;color:var(--text-secondary);line-height:1.72;max-width:460px;margin:0 auto}
@media(max-width:640px){.home-welcome-block{padding:32px 24px;border-radius:20px;backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}.home-welcome-title{font-size:22px}.home-welcome-sub{font-size:14px}}

/* ══ AVISOS INLINE ══ */
.avisos-list{display:flex;flex-direction:column;gap:8px}
.aviso-item{border-radius:var(--radius);padding:12px 16px;font-size:13px;line-height:1.5;display:flex;align-items:flex-start;gap:10px}
.aviso-info{background:var(--blue-light);border:1px solid var(--blue-border);color:var(--blue-dark)}
.aviso-warn{background:var(--yellow-bg);border:1px solid var(--yellow-border);color:#7a5c00}
.aviso-success{background:var(--green-bg);border:1px solid #c5e0a0;color:var(--green)}
.aviso-item a{color:inherit;font-weight:700;text-decoration:underline}

/* ══ COMUNICADOS HUB (página /avisos) ══ */
.avisos-hub{display:flex;flex-direction:column;gap:24px}
.avisos-hub-header{border-bottom:1px solid rgba(65,91,140,.08);padding-bottom:18px;margin-bottom:4px}
.avisos-hub-eyebrow{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--blue);margin-bottom:6px}
.avisos-hub-title{font-size:22px;font-weight:800;color:var(--blue-dark);letter-spacing:-.02em}
.avisos-hub-sub{font-size:13px;color:var(--gray-500);margin-top:4px}
.aviso-card-hero{border-radius:12px;overflow:hidden;background:var(--blue-dark);padding:28px 32px;display:flex;flex-direction:column;gap:10px;position:relative}
.aviso-card-hero::after{content:'';position:absolute;right:-20px;top:-20px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.06)}
.aviso-card-hero-type{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.65)}
.aviso-card-hero-title{font-size:20px;font-weight:800;color:#fff;line-height:1.2;max-width:560px}
.aviso-card-hero-body{font-size:13px;color:rgba(255,255,255,.75);line-height:1.55;max-width:560px}
.aviso-card-hero-cta{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:8px;padding:8px 16px;font-size:12px;font-weight:700;text-decoration:none;width:fit-content;backdrop-filter:blur(4px);transition:background .18s}
.aviso-card-hero-cta:hover{background:rgba(255,255,255,.25)}
.avisos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.aviso-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .18s}
.aviso-card:hover{box-shadow:var(--shadow)}
.aviso-card-type{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;padding:3px 10px;border-radius:20px;align-self:flex-start}
.aviso-card-type-info{background:var(--blue-light);color:var(--blue)}
.aviso-card-type-warn{background:#fff8e1;color:#7a5c00}
.aviso-card-type-success{background:var(--green-bg);color:var(--green)}
.aviso-card-title{font-size:15px;font-weight:700;color:var(--gray-900);line-height:1.3}
.aviso-card-body{font-size:12px;color:var(--gray-500);line-height:1.55}
.aviso-card-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--blue);text-decoration:none;margin-top:4px;transition:opacity .18s}
.aviso-card-link:hover{opacity:.7}

/* ══ BENEFIT CARDS ══ */
.home-diff{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
@media(max-width:900px){.home-diff{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.home-diff{grid-template-columns:1fr;gap:12px}}
.diff-card{background:#fff;border:1px solid rgba(65,91,140,.07);border-radius:22px;padding:36px 30px;display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden;cursor:default;box-shadow:0 1px 3px rgba(65,91,140,.04),0 4px 16px rgba(65,91,140,.06),0 1px 0 rgba(255,255,255,.9) inset;transition:box-shadow .4s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1);will-change:transform}
.diff-card[data-tilting]{transition:box-shadow .4s cubic-bezier(.22,1,.36,1)}
.diff-card::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse 120% 80% at 50% -10%,rgba(65,91,140,.07) 0%,transparent 65%);opacity:0;transition:opacity .45s;pointer-events:none;z-index:0}
.diff-card:hover{box-shadow:0 1px 3px rgba(65,91,140,.04),0 20px 56px rgba(65,91,140,.15),0 1px 0 rgba(255,255,255,.9) inset}
.diff-card:hover::before{opacity:1}
.diff-card>*{position:relative;z-index:1}
.diff-card:nth-child(1){animation:smFadeUp .6s cubic-bezier(.22,1,.36,1) .08s both}
.diff-card:nth-child(2){animation:smFadeUp .6s cubic-bezier(.22,1,.36,1) .18s both}
.diff-card:nth-child(3){animation:smFadeUp .6s cubic-bezier(.22,1,.36,1) .28s both}
.diff-icon{width:56px;height:56px;background:linear-gradient(145deg,var(--blue-light) 0%,#d4e2f3 100%);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;line-height:1;box-shadow:0 2px 8px rgba(65,91,140,.12),0 1px 0 rgba(255,255,255,.9) inset;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1)}
.diff-card:hover .diff-icon{transform:scale(1.1) rotate(-6deg);box-shadow:0 8px 24px rgba(65,91,140,.22),0 1px 0 rgba(255,255,255,.9) inset}
.diff-title{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:5px;letter-spacing:-.01em}
.diff-desc{font-size:13px;color:var(--text-secondary);line-height:1.75}

/* ══ CATEGORY TILES ══ */
.home-section-header--centered{flex-direction:column;align-items:center;text-align:center;gap:6px;border-bottom:none;padding-bottom:4px}
.home-section-header--centered .home-section-title::before{display:none}
.home-cats-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;padding:4px 0 12px}
@media(max-width:640px){.home-cats-row{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;-webkit-overflow-scrolling:touch}}
.home-cats-row::-webkit-scrollbar{display:none}
.home-cat-tile{flex:0 0 180px;cursor:pointer;text-align:center;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.home-cat-tile[data-tilting]{transition:none}
.home-cat-tile:not([data-tilting]):hover{transform:translateY(-6px)}
.home-cat-img{width:100%;aspect-ratio:1/1;border-radius:18px;background:#fff;border:1px solid rgba(65,91,140,.07);overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:12px;transition:border-color .25s,box-shadow .4s cubic-bezier(.22,1,.36,1);box-shadow:0 2px 10px rgba(65,91,140,.06)}
.home-cat-tile:hover .home-cat-img{border-color:rgba(65,91,140,.16);box-shadow:0 0 0 4px rgba(65,91,140,.06),0 14px 36px rgba(65,91,140,.14)}
.home-cat-img img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.home-cat-tile:hover .home-cat-img img{transform:scale(1.08)}
.home-cat-img .ph{font-size:40px;color:var(--gray-300)}
.home-cat-name{font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;display:inline-block;position:relative}
.home-cat-name::after{content:'';position:absolute;bottom:-3px;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--blue);border-radius:2px;transition:width .3s cubic-bezier(.22,1,.36,1);opacity:.7}
.home-cat-tile:hover .home-cat-name::after{width:65%}
.home-cat-tile:nth-child(1){animation:smFadeUp .45s cubic-bezier(.22,1,.36,1) .06s both}
.home-cat-tile:nth-child(2){animation:smFadeUp .45s cubic-bezier(.22,1,.36,1) .12s both}
.home-cat-tile:nth-child(3){animation:smFadeUp .45s cubic-bezier(.22,1,.36,1) .18s both}
.home-cat-tile:nth-child(4){animation:smFadeUp .45s cubic-bezier(.22,1,.36,1) .24s both}
.home-cat-tile:nth-child(5){animation:smFadeUp .45s cubic-bezier(.22,1,.36,1) .30s both}
.home-cat-tile:nth-child(6){animation:smFadeUp .45s cubic-bezier(.22,1,.36,1) .36s both}

/* ══ LANÇAMENTO DO MOMENTO ══ */
.home-lanc-card{display:flex;align-items:center;gap:32px;background:#fff;border:1px solid rgba(65,91,140,.07);border-radius:22px;padding:32px 36px;transition:box-shadow .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1);cursor:pointer;box-shadow:0 2px 8px rgba(65,91,140,.06),0 0 0 1px rgba(65,91,140,.025);position:relative;overflow:hidden}
.home-lanc-card::before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(65,91,140,.04) 0%,transparent 55%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:0}
.home-lanc-card:hover::before{opacity:1}
.home-lanc-card:hover{box-shadow:0 2px 8px rgba(65,91,140,.06),0 20px 56px rgba(65,91,140,.14);transform:translateY(-3px)}
.home-lanc-card>*{position:relative;z-index:1}
.home-lanc-card-img{width:120px;height:120px;object-fit:contain;border-radius:14px;background:var(--bg-app);flex-shrink:0;padding:12px;border:1px solid rgba(65,91,140,.07);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.home-lanc-card:hover .home-lanc-card-img{transform:scale(1.04)}
.home-lanc-card-body{flex:1;display:flex;flex-direction:column;gap:6px}
.home-lanc-card-kicker{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--blue);opacity:.6}
.home-lanc-card-title{font-size:20px;font-weight:800;color:var(--text-primary);line-height:1.25;letter-spacing:-.025em;margin-top:2px}
.home-lanc-card-cat{font-size:12px;color:var(--text-secondary)}
.home-lanc-card-price{font-size:18px;font-weight:700;color:var(--blue);letter-spacing:-.02em;margin-top:8px}
.home-lanc-card-link{font-size:12px;color:var(--blue);font-weight:600;cursor:pointer;background:none;border:none;font-family:inherit;padding:0;text-underline-offset:3px;transition:opacity .15s,transform .2s;text-decoration:none;opacity:.75;margin-top:4px;align-self:flex-start;display:inline-flex;align-items:center;gap:3px}
.home-lanc-card-link:hover{opacity:1;transform:translateX(2px)}
@media(max-width:640px){.home-lanc-card{flex-direction:column;align-items:flex-start;padding:24px;gap:20px}.home-lanc-card-img{width:88px;height:88px}.home-lanc-card-title{font-size:17px}.home-lanc-card-price{font-size:16px}}

/* ══ LANÇAMENTO HERO (mantido, legado) ══ */
.home-lanc{background:var(--blue-dark);border-radius:14px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;position:relative}
.home-lanc::before{content:'';position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.05);pointer-events:none}
.home-lanc::after{content:'';position:absolute;left:-40px;bottom:-40px;width:160px;height:160px;border-radius:50%;background:rgba(91,124,255,.08);pointer-events:none}
.home-lanc-text{flex:1;position:relative;z-index:1}
.home-lanc-eyebrow{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.45);margin-bottom:8px}
.home-lanc-title{font-size:clamp(16px,2.2vw,22px);font-weight:700;color:#fff;line-height:1.2;margin-bottom:8px}
.home-lanc-desc{font-size:12px;color:rgba(255,255,255,.62);line-height:1.55;max-width:460px}
.home-lanc-btn{display:inline-flex;align-items:center;gap:7px;background:transparent;border:none;color:rgba(255,255,255,.75);border-radius:0;padding:0;font-size:12px;font-weight:500;cursor:pointer;margin-top:14px;transition:color .18s;font-family:inherit;text-decoration:underline;text-underline-offset:3px}
.home-lanc-btn:hover{color:#fff}
.home-lanc-img{width:128px;height:128px;object-fit:contain;flex-shrink:0;border-radius:14px;position:relative;z-index:1;background:rgba(255,255,255,.07);padding:8px}
@media(max-width:640px){.home-lanc{flex-direction:column;padding:20px 20px 72px;min-height:190px}.home-lanc-img{position:absolute;right:14px;bottom:14px;width:82px;height:82px;opacity:.28}}
