/* ============================================================
   Cabeçalho (menu horizontal) — correção de quebra em notebooks e iPad
   A coluna #sp-logo fica invisível (vis-hidden-mobile) mas ocupava 183px;
   com isso o menu não cabia, caía para baixo do cabeçalho e deixava uma
   faixa branca vazia, com o texto do menu por cima do banner.
   ============================================================ */
@media (min-width: 992px) {
    #sp-header #sp-logo.vis-hidden-mobile { display: none; }
    #sp-header .row { flex-wrap: nowrap; }
    #sp-header #sp-menu { flex: 1 1 auto; min-width: 0; }
    #sp-header .sp-megamenu-parent { white-space: nowrap; }
    #sp-header .laravel-session-module .btn-group { flex-wrap: nowrap; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    #sp-header .sp-megamenu-parent > li > a,
    #sp-header .sp-megamenu-parent > li > span { padding: 0 8px; font-size: 13px; }
    #sp-header .sp-megamenu-parent > li.vis-logo { margin: 0 6px; }
    #sp-header .laravel-session-module .btn { padding: 4px 10px; font-size: 13px; }
}

/* ============================================================
   Destaque de cupom na home (2026-10-09) — cartão flutuante no canto
   ============================================================ */
.ivc-cupom { position: fixed; left: 16px; bottom: 16px; z-index: 9990; max-width: 320px; padding: 16px 18px; background: #fff; border: 1px solid rgba(124, 92, 252, .35); border-left: 5px solid #7c5cfc; border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, .18); font-size: 14px; line-height: 1.45; color: #333; }
.ivc-cupom-titulo { display: block; margin: 0 22px 4px 0; font-size: 16px; color: #5b3fd6; }
.ivc-cupom p { margin: 0 0 10px; }
.ivc-cupom-botao { display: inline-block; padding: 7px 16px; border-radius: 20px; background: #25d366; color: #fff !important; font-weight: 600; text-decoration: none; }
.ivc-cupom-botao:hover { background: #1ebe5b; }
.ivc-cupom-fechar { position: absolute; top: 6px; right: 8px; border: 0; background: none; font-size: 22px; line-height: 1; color: #888; cursor: pointer; }
@media (max-width: 575.98px) { .ivc-cupom { left: 12px; right: 12px; bottom: 12px; max-width: none; } }

/* Seção do plano Digital na home (2026-10-09) */
.ivc-digital { position: relative; overflow: hidden; padding: 72px 20px; background: linear-gradient(135deg, #f2fbfb 0%, #ffffff 45%, #eef0ff 100%); color: #252525; font-family: inherit; }
.ivc-digital-inner { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.ivc-digital-selo { display: inline-block; padding: 5px 14px; border-radius: 20px; background: #1cabb0; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ivc-digital h2 { margin: 14px 0 14px; font-size: 38px; line-height: 1.15; font-weight: 800; color: #161515; }
.ivc-digital h2 span { background: linear-gradient(90deg, #1cabb0, #667eea); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ivc-digital-lead { font-size: 17px; line-height: 1.6; color: #444; margin: 0 0 22px; }
.ivc-digital-vantagens { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ivc-digital-vantagens li { display: flex; gap: 12px; padding: 14px; background: #fff; border: 1px solid rgba(28, 171, 176, .2); border-radius: 14px; box-shadow: 0 6px 18px rgba(15, 61, 64, .06); font-size: 14px; line-height: 1.45; color: #555; }
.ivc-digital-vantagens i { flex: 0 0 38px; height: 38px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: rgba(28, 171, 176, .12); font-style: normal; font-size: 19px; }
.ivc-digital-vantagens strong { display: block; color: #161515; font-size: 15px; margin-bottom: 2px; }
.ivc-digital-cupom { margin: 0 0 22px; padding: 12px 16px; border-left: 4px solid #7c5cfc; background: rgba(124, 92, 252, .08); border-radius: 8px; font-size: 14px; color: #3d2b8f; }
.ivc-digital-botoes { display: flex; flex-wrap: wrap; gap: 12px; }
.ivc-digital-btn { display: inline-block; padding: 13px 26px; border-radius: 30px; font-weight: 700; font-size: 15px; text-decoration: none !important; transition: transform .15s, box-shadow .15s; }
.ivc-digital-btn:hover { transform: translateY(-2px); }
.ivc-digital-btn-principal { background: linear-gradient(90deg, #1cabb0, #667eea); color: #fff !important; box-shadow: 0 8px 20px rgba(28, 171, 176, .35); }
.ivc-digital-btn-whats { background: #25d366; color: #fff !important; }
.ivc-digital-arte { position: relative; height: 520px; display: flex; align-items: center; justify-content: center; }
.ivc-digital-brilho { position: absolute; width: 380px; height: 380px; border-radius: 50%; background: radial-gradient(circle, rgba(28, 171, 176, .35), rgba(102, 126, 234, .15) 55%, transparent 70%); }
.ivc-digital-celular { position: relative; width: 250px; height: 500px; padding: 12px; border-radius: 40px; background: #161515; box-shadow: 0 30px 60px rgba(0, 0, 0, .25); transform: rotate(-4deg); animation: ivc-flutua 6s ease-in-out infinite; }
.ivc-digital-tela { position: relative; height: 100%; border-radius: 30px; overflow: hidden; background: #fff; text-align: center; }
.ivc-ms-capa { height: 110px; background: linear-gradient(135deg, #1cabb0, #667eea); }
.ivc-ms-foto { width: 78px; height: 78px; margin: -40px auto 8px; border-radius: 50%; border: 4px solid #fff; background: #0f3d40; color: #fff; font-weight: 800; font-size: 24px; display: flex; align-items: center; justify-content: center; }
.ivc-ms-nome { font-weight: 800; font-size: 17px; color: #161515; }
.ivc-ms-cargo { font-size: 12px; color: #777; margin-bottom: 12px; }
.ivc-ms-icones { display: flex; justify-content: center; gap: 8px; margin-bottom: 14px; }
.ivc-ms-icones span { width: 34px; height: 34px; border-radius: 50%; background: rgba(28, 171, 176, .12); display: flex; align-items: center; justify-content: center; font-size: 15px; }
.ivc-ms-botao { margin: 0 20px 9px; padding: 10px; border-radius: 12px; background: #f1f4f8; font-size: 13px; font-weight: 600; color: #333; }
.ivc-ms-whats { background: #25d366; color: #fff; }
.ivc-ms-url { position: absolute; bottom: 14px; left: 0; right: 0; font-size: 11px; color: #1cabb0; font-weight: 600; }
.ivc-digital-qr { position: absolute; right: 2%; bottom: 60px; width: 132px; padding: 10px 10px 6px; background: #fff; border-radius: 16px; box-shadow: 0 16px 36px rgba(15, 61, 64, .22); text-align: center; transform: rotate(6deg); animation: ivc-flutua 6s ease-in-out -3s infinite; }
.ivc-digital-qr svg { display: block; width: 100%; height: auto; }
.ivc-digital-qr small { display: block; margin-top: 4px; font-size: 11px; font-weight: 700; color: #0f3d40; }
.ivc-digital-chip { position: absolute; padding: 8px 14px; border-radius: 20px; background: #fff; box-shadow: 0 10px 24px rgba(0, 0, 0, .12); font-size: 13px; font-weight: 700; color: #161515; white-space: nowrap; }
.ivc-chip-1 { top: 60px; left: 2%; }
.ivc-chip-2 { top: 190px; right: 0; }
@keyframes ivc-flutua { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@media (prefers-reduced-motion: reduce) { .ivc-digital-celular, .ivc-digital-qr { animation: none; } }
@media (max-width: 991.98px) {
	.ivc-digital { padding: 52px 16px; }
	.ivc-digital-inner { grid-template-columns: 1fr; gap: 28px; }
	.ivc-digital h2 { font-size: 30px; }
}
@media (max-width: 575.98px) {
	.ivc-digital-vantagens { grid-template-columns: 1fr; }
	.ivc-digital-arte { height: 460px; transform: scale(.9); }
	.ivc-digital-qr { width: 108px; right: 0; }
	.ivc-chip-1 { left: 0; }
	.ivc-digital-btn { flex: 1 1 100%; text-align: center; }
}
.ivc-digital-vantagens i, .ivc-ms-icones span { color: #1cabb0; }
.ivc-digital-cupom svg, .ivc-digital-chip svg { vertical-align: -3px; }
.ivc-digital-chip svg { color: #1cabb0; }
.ivc-ms-foto { overflow: hidden; background: #fff; } .ivc-ms-foto img { width: 100%; height: 100%; object-fit: cover; }
.ivc-cupom { opacity: 0; visibility: hidden; transform: translateY(20px); transition: opacity .35s, transform .35s, visibility .35s; }
.ivc-cupom.ivc-cupom-visivel { opacity: 1; visibility: visible; transform: none; }
