
/* Skip link */
.skip-link.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px; width: 1px;
    overflow: hidden;
}
.skip-link.screen-reader-text:focus {
    clip: auto !important;
    display: block;
    height: auto; width: auto;
    left: 5px; top: 5px;
    padding: 15px 23px;
    z-index: 100000;
    background-color: #f1f1f1;
    font-size: 14px;
}

/* Elementor overrides */
.elementor-section { margin-bottom: 30px; }
.elementor-section-boxed > .elementor-container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.elementor-column-gap-wide > .elementor-column { padding: 0 15px; }
.elementor-column-gap-default > .elementor-column { padding: 0 10px; }
.elementor-inner-section .elementor-container { display: flex; flex-wrap: wrap; }
.elementor-col-50 { width: 50%; }
.elementor-col-100 { width: 100%; }
.elementor-widget { margin-bottom: 20px; }
.elementor-widget-container { width: 100%; }
.elementor-widget-image img { display: block; width: 100%; height: auto; }
.elementor-widget-divider { margin: 20px 0; }
.elementor-divider-separator { display: block; border-top: 1px solid rgba(0,0,0,0.1); }
.elementor-button-wrapper { text-align: center; }
.elementor-button {
    display: inline-block;
    padding: 12px 30px;
    border-radius: 3px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s;
}
.elementor-button-danger .elementor-button {
    background-color: #e7473c;
    color: #fff !important;
}
.elementor-button-danger .elementor-button:hover {
    background-color: #c73c32;
}
.elementor-button-icon { margin-right: 8px; }
.elementor-align-center { text-align: center; }
.elementor-widget-video .elementor-wrapper { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.elementor-widget-video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.elementor-icon-box-wrapper { display: flex; align-items: flex-start; padding: 30px; }
.elementor-icon-box-icon { margin-right: 20px; font-size: 2em; }
.elementor-icon-box-icon .elementor-icon { color: #51748e; text-decoration: none; }
.elementor-icon-box-title a { text-decoration: none; }
.elementor-icon-box-description { line-height: 1.6; }
.elementor-view-stacked .elementor-icon {
    background-color: #51748e;
    color: #fff;
    width: 60px; height: 60px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
}
.elementor-widget__width-initial { display: inline-block; width: auto; margin: 0 auto; }

/* Legal page content */
.legal-content { max-width: 800px; margin: 0 auto; padding: 40px 20px; line-height: 1.8; }
.legal-content h1 { font-size: 2em; margin-bottom: 0.5em; }
.legal-content h2 { font-size: 1.4em; margin-top: 1.5em; margin-bottom: 0.5em; }
.legal-content h3 { font-size: 1.2em; margin-top: 1.2em; margin-bottom: 0.3em; }
.legal-content p { margin-bottom: 1em; }
.legal-content ul { margin-left: 20px; margin-bottom: 1em; }
.legal-content li { margin-bottom: 0.5em; }

/* Mobile nav toggle */
@media (max-width: 640px) {
    .menu-toggle { display: block; cursor: pointer; padding: 10px; position: absolute; right: 20px; top: 20px; z-index: 100; }
    .menu-toggle div { width: 25px; height: 3px; margin: 5px 0; transition: 0.3s; }
    .main-navigation-container { display: none; width: 100%; }
    .main-navigation-container.open { display: block; }
    .main-navigation ul li { display: block; }
    .elementor-col-50 { width: 100%; }
    .elementor-inner-section .elementor-container { flex-direction: column; }
}
