/* iFrame® OS — Enterprise refinements on Ohio Demo 27 */

/* ── Focus accessibility ── */
*:focus-visible {
    outline: 2px solid var(--clb-color-primary, #C41230);
    outline-offset: 2px;
}

/* ── No rounded corners (per user spec) ── */
:root {
    --clb-border-radius: 0px;
    --clb-border-radius-small: 0px;
    --clb-border-radius-large: 0px;
    --clb-border-radius-extra-large: 0px;
    --clb-button-border-radius: 0px;
    --clb-button-border-radius-small: 0px;
    --clb-button-border-radius-large: 0px;
    --clb-grid-border-radius: 0px;
    --clb-text-field-border-radius: 0px;
}

/* ── Sticky header refinement ── */
.header.sticky-on,
header.header.sticky-on {
    box-shadow: none !important;
    border-bottom: 1px solid rgba(10, 10, 10, 0.06);
}

/* ══════════════════════════════════════════════════
   HAMBURGER SLIDING MENU — enterprise clean
   ══════════════════════════════════════════════════ */

.clb-popup.hamburger-nav {
    background-color: #FFFFFF !important;
}

.clb-popup.hamburger-nav .close-bar {
    border-bottom: 1px solid rgba(10, 10, 10, 0.06);
}

.clb-popup.hamburger-nav .close-bar .icon-button {
    color: #0A0A0A !important;
}

.clb-popup.hamburger-nav .close-bar .icon-button svg path {
    fill: #0A0A0A !important;
}

.clb-popup.hamburger-nav .hamburger-nav-holder .menu-link,
.clb-popup.hamburger-nav .hamburger-nav-holder .item-title {
    color: #0A0A0A !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.6 !important;
    opacity: 1 !important;
}

.clb-popup.hamburger-nav .hamburger-nav-holder .menu-link:hover,
.clb-popup.hamburger-nav .hamburger-nav-holder .item-title:hover {
    color: #737373 !important;
}

.clb-popup.hamburger-nav .hamburger-nav-holder .menu-link span {
    color: inherit !important;
}

.clb-popup.hamburger-nav .hamburger-nav-details {
    color: #737373 !important;
    border-top: 1px solid rgba(10, 10, 10, 0.06);
    padding-top: 32px;
}

.clb-popup.hamburger-nav .hamburger-nav-details .details-column {
    color: #737373 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.clb-popup.hamburger-nav .hamburger-nav-details .details-column b,
.clb-popup.hamburger-nav .hamburger-nav-details .details-column strong {
    color: #0A0A0A !important;
    font-weight: 500 !important;
}

.clb-popup.hamburger-nav .hamburger-nav-details a {
    color: #0A0A0A !important;
    text-decoration: none;
}

.clb-popup.hamburger-nav .hamburger-nav-details a:hover {
    color: #737373 !important;
}

.clb-popup.hamburger-nav .social-networks {
    display: none !important;
}

/* ══════════════════════════════════════════════════
   FOOTER — white, clean, enterprise grade
   ══════════════════════════════════════════════════ */

footer.site-footer,
footer.site-footer.clb__dark_section,
footer#colophon {
    background-color: #FFFFFF !important;
    border-top: 1px solid rgba(10, 10, 10, 0.06) !important;
}

footer.site-footer .page-container {
    padding-top: 64px !important;
    padding-bottom: 32px !important;
}

footer.site-footer .widgets-column,
footer.site-footer .widgets {
    color: #737373 !important;
}

footer.site-footer .widget-title,
footer.site-footer h3.title.widget-title,
footer.site-footer h4,
footer.site-footer h5 {
    color: #0A0A0A !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
}

footer.site-footer .widget,
footer.site-footer li.widget {
    color: #737373 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

footer.site-footer .widget b,
footer.site-footer .widget strong {
    color: #0A0A0A !important;
    font-weight: 500 !important;
}

footer.site-footer a,
footer.site-footer .widget a {
    color: #737373 !important;
    text-decoration: none !important;
    transition: color 120ms ease;
}

footer.site-footer a:hover,
footer.site-footer .widget a:hover {
    color: #0A0A0A !important;
}

footer.site-footer .branding .logo img {
    filter: brightness(0) !important;
    opacity: 0.85;
    max-height: 24px;
}

footer.site-footer .subscribe-widget input[type="email"],
footer.site-footer .subscribe-widget .wpcf7-email {
    background: #FAFAFA !important;
    border: 1px solid rgba(10, 10, 10, 0.06) !important;
    color: #0A0A0A !important;
    height: 40px !important;
    font-size: 13px !important;
    padding: 0 12px !important;
}

footer.site-footer .subscribe-widget input[type="email"]:focus {
    border-color: #0A0A0A !important;
}

footer.site-footer .subscribe-widget .wpcf7-submit,
footer.site-footer .subscribe-widget button {
    background: #0A0A0A !important;
    color: #FFFFFF !important;
    border: none !important;
    height: 40px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    padding: 0 20px !important;
    cursor: pointer;
}

footer.site-footer .subscribe-widget .wpcf7-submit:hover,
footer.site-footer .subscribe-widget button:hover {
    background: #404040 !important;
}

footer.site-footer .subscribe-widget .acceptance-field,
footer.site-footer .subscribe-widget .wpcf7-acceptance {
    font-size: 11px !important;
    color: #A3A3A3 !important;
    margin-top: 8px !important;
}

/* Footer copyright bar */
.site-footer-copyright,
.site-footer .site-footer-copyright {
    background-color: #FFFFFF !important;
    border-top: 1px solid rgba(10, 10, 10, 0.06) !important;
    padding: 20px 0 !important;
    margin-top: 40px !important;
}

.site-footer-copyright,
.site-footer-copyright a,
.site-footer-copyright .copyright {
    color: #A3A3A3 !important;
    font-size: 12px !important;
}

.site-footer-copyright a:hover {
    color: #0A0A0A !important;
}

/* ── Hide decorative Ohio elements not needed ── */
.subscribe-popup,
.notification-bar,
.offer-banner,
.custom-cursor-wrapper,
.popup-subscribe,
.dark-mode-switcher,
.color-switcher-item {
    display: none !important;
}

/* ── No box-shadow on cards ── */
.card,
.post-grid-item,
.ohio-widget-pricing-table {
    box-shadow: none !important;
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
