/* Optivis site overrides (loaded after main.css) */

/* Hero: one long headline, kept inside the left half so it never runs under the photo */
.slider__content .hero-title {
    font-size: 40px;
    line-height: 1.2;
}
@media (max-width: 1500px)    { .slider__content .hero-title { font-size: 36px; } }
@media (max-width: 1199.98px) { .slider__content .hero-title { font-size: 30px; } }
@media (max-width: 767.98px)  { .slider__content .hero-title { font-size: 28px; } }
@media (max-width: 575.98px)  { .slider__content .hero-title { font-size: 24px; } }

/* Show text exactly as written (the template forced Title Case: "Parts And", "Contact Us") */
h1, h2, h3, h4, h5, h6,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.tg-btn, .tg-text-btn, .navigation a, .sub-title, .footer__widget-title {
    text-transform: none !important;
}

/* Header "Book a demo" button */
.tgmenu__action .demo-btn { white-space: nowrap; }

/* Module cards: equal height in the 4-column grid */
.module-card { height: 100%; }
.module-card .services__content .title { font-size: 22px; }

/* Products page: one section per module */
.module-section { padding: 36px 0; border-bottom: 1px solid rgba(0, 0, 0, .08); scroll-margin-top: 120px; }
.module-section:last-child { border-bottom: 0; }
.module-section .module-number {
    display: inline-block; font-weight: 700; color: var(--tg-theme-primary);
    font-size: 15px; letter-spacing: .08em; margin-bottom: 8px;
}
.module-section h3 { margin-bottom: 12px; }
.module-section p { margin-bottom: 0; max-width: 820px; }

/* Screenshots gallery */
.screenshot-item { display: block; border-radius: 12px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, .08); }
.screenshot-item img { width: 100%; height: auto; display: block; }
.screenshot-caption { margin-top: 12px; font-size: 15px; text-align: center; }

/* Audience + pricing + security cards */
.info-card {
    height: 100%; background: #fff; border-radius: 12px; padding: 32px 28px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}
.info-card h4 { margin-bottom: 10px; }
.info-card p { margin-bottom: 0; }
.step-card .step-number {
    display: inline-block; font-size: 15px; font-weight: 700; letter-spacing: .08em;
    color: var(--tg-theme-primary); margin-bottom: 10px;
}
.pricing-card { text-align: center; padding: 40px 32px; }
.pricing-card .price { font-size: 32px; font-weight: 700; color: var(--tg-heading-color, #111); margin: 8px 0 6px; }
.pricing-card .price span { font-size: 16px; font-weight: 400; }
.pricing-card .term { font-size: 15px; margin-bottom: 0 !important; }
.pricing-card ul { list-style: none; padding: 0; margin: 20px 0 0; }
.pricing-card ul li { padding: 6px 0; border-top: 1px solid rgba(0, 0, 0, .06); }
.pricing-addons ul { list-style: none; padding: 0; margin: 0; }
.pricing-addons ul li {
    display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px;
    padding: 10px 0; border-top: 1px solid rgba(0, 0, 0, .06);
}
.pricing-addons ul li strong { color: var(--tg-heading-color, #111); }
.pricing-note { margin-bottom: 20px; }

/* Simple text pages (About, Privacy, Terms) */
.text-page { max-width: 860px; margin: 0 auto; }
.text-page h2 { margin: 36px 0 12px; font-size: 26px; }
.text-page h2:first-child { margin-top: 0; }
.text-page p, .text-page li { font-size: 17px; line-height: 1.7; }
.text-page ul { padding-left: 20px; margin-bottom: 16px; }
.text-page ul li { list-style: disc; }
.legal-note { font-size: 14px; opacity: .75; }

/* Contact block */
.contact__info-item .content p { margin-bottom: 0; }

/* Footer legal line */
.footer__legal { font-size: 15px; line-height: 1.7; }
.copyright__text p { margin-bottom: 0; }

/* Form alerts (replaces inline styles) */
.form-alert {
    position: fixed; top: 20px; right: 20px; padding: 15px 25px; border-radius: 8px;
    font-size: 16px; z-index: 9999; color: #fff; animation: formAlertIn .3s ease;
}
.form-alert--ok { background: #4CAF50; }
.form-alert--error { background: #f44336; }
.form-alert--out { animation: formAlertOut .3s ease forwards; }
@keyframes formAlertIn { from { transform: translateX(400px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes formAlertOut { from { transform: none; opacity: 1; } to { transform: translateX(400px); opacity: 0; } }
