/* ===== IPS Fixes v2.3 ===== */
/* mantém todo o resto das versões anteriores */
:root { --ips-min-banner-h: 200px; }
.ips-banners, .ips-banners * { visibility: visible !important; opacity: 1 !important; }
.ips-banners .banner, .ips-banners .swiper-slide, .ips-banners .slick-slide, .ips-banners .owl-item { display: block !important; }
.ips-banners img { max-width: 100% !important; height: auto !important; object-fit: cover; }
.ips-banners { display:block !important; min-height: var(--ips-min-banner-h); }

.ips-portal-login { box-sizing: border-box; width: 100%; max-width: 640px; margin: 40px auto; padding: 28px; border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06); background: linear-gradient(180deg,#f5faff 0%, #ffffff 100%); border: 1px solid rgba(0,0,0,.06); overflow: hidden; }
.ips-portal-login * { box-sizing: border-box; max-width: 100%; }
.ips-portal-login label { font-weight: 700; margin-bottom: 6px; display:block; }
.ips-portal-login input[type="text"], .ips-portal-login input[type="password"]{ width:100%; padding:12px 14px; border:1px solid #c8d3e0; border-radius:12px; display:block; }
#ips-wp-submit { width: 100%; padding: 12px 16px; border: none; border-radius: 12px; font-weight: 800; cursor: pointer; background: #2f6bff; color:#fff; }
@media (max-width: 768px){ .ips-portal-login { margin: 24px auto; padding: 20px; width: calc(100% - 32px); } }

/* evita login duplicado fora do shortcode */
form#loginform { display: none !important; }
.ips-portal-login form#loginform { display: block !important; }

.home .site-main, .home .entry-content, .home .elementor-section-wrap { padding-top: 0 !important; margin-top: 0 !important; }
