/* Apply Crimson Text font to inner page content */
.site-inner .content {
    font-family: 'Crimson Text', serif;
    font-size: 18px;
    line-height: 1.6;
}

/* New style for the specific content */
.crimson-text-content {
    font-family: 'Crimson Text', serif;
    font-size: 18px;
    line-height: 1.6;
}

/* Adjust headings if needed */
.site-inner .content h1,
.site-inner .content h2,
.site-inner .content h3,
.site-inner .content h4,
.site-inner .content h5,
.site-inner .content h6 {
    font-family: 'Dosis', sans-serif; /* Keep headings in Dosis font */
}

/* ============================================
   Mobile-responsive navigation & overflow fixes
   ============================================ */

/* Prevent horizontal overflow on all screen sizes */
html, body {
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
}

/* CSS-only hamburger icon (replaces dashicons icon at mobile) */
@media only screen and (max-width: 768px) {

    /* Override the theme's 800px responsive-menu-icon to kick in at 768px */
    .responsive-menu-icon {
        display: block;
        cursor: pointer;
        padding: 12px 5%;
    }

    .responsive-menu-icon::before {
        content: "";
        display: block;
        width: 24px;
        height: 3px;
        background: #000;
        border-radius: 2px;
        box-shadow: 0 7px 0 #000, 0 14px 0 #000;
        font: inherit;
        color: transparent;
        margin: 0 auto;
    }

    /* Hide nav menu by default on mobile; JS slideToggle still controls it */
    .genesis-nav-menu.responsive-menu {
        display: none;
    }

    .genesis-nav-menu.responsive-menu .sub-menu:after,
    .genesis-nav-menu.responsive-menu .sub-menu:before,
    .genesis-nav-menu.responsive-menu > .menu-item > .sub-menu {
        display: none;
    }

    .genesis-nav-menu.responsive-menu .menu-item,
    .responsive-menu-icon {
        display: block;
    }

    .genesis-nav-menu.responsive-menu .menu-item {
        text-align: left;
    }

    .genesis-nav-menu.responsive-menu .menu-item:hover {
        position: static;
    }

    .genesis-nav-menu.responsive-menu li a,
    .genesis-nav-menu.responsive-menu li a:hover {
        color: #000;
        display: block;
    }

    .genesis-nav-menu.responsive-menu .menu-item-has-children > a {
        margin-right: 60px;
    }

    .genesis-nav-menu.responsive-menu > .menu-item-has-children:before {
        content: "\f347";
        float: right;
        font: normal 16px/1 'dashicons';
        height: 16px;
        padding: 14px 20px;
        right: 0;
        text-align: right;
        z-index: 9999;
    }

    .genesis-nav-menu.responsive-menu .menu-open.menu-item-has-children:before {
        content: "\f343";
    }

    .genesis-nav-menu .menu-item:hover > .sub-menu > .menu-item:hover > .sub-menu,
    .genesis-nav-menu .menu-item:hover > .sub-menu,
    .genesis-nav-menu.responsive-menu .sub-menu {
        left: auto;
        opacity: 1;
        margin: 0 auto;
        position: relative;
        width: 100%;
    }

    .genesis-nav-menu.responsive-menu .sub-menu .sub-menu {
        padding-left: 20px;
        margin: 0;
    }

    .genesis-nav-menu.responsive-menu .sub-menu li a,
    .genesis-nav-menu.responsive-menu .sub-menu li a:hover {
        background: none;
        border: none;
        padding: 16px 20px;
        position: relative;
        width: 100%;
    }

    .genesis-nav-menu.responsive-menu {
        padding-bottom: 16px;
    }

    /* Unstick nav on mobile */
    .nav-primary.fixed {
        position: relative;
    }

    .nav-primary.fixed + div {
        border: none;
    }

    .nav-primary.fixed .small-site-title {
        display: none;
    }

    /* Reduce hero padding for mobile */
    .solid-section .widget-area {
        padding: 60px 0;
    }

    .front-page-1,
    .front-page-2,
    .front-page-3,
    .front-page-4 {
        border-top: none;
        margin-top: 0;
    }

    /* Ensure wraps don't overflow */
    .site-inner,
    .wrap {
        padding-left: 5%;
        padding-right: 5%;
        box-sizing: border-box;
    }

    .nav-primary .wrap {
        padding-left: 0;
        padding-right: 0;
    }

    /* Title area */
    .site-header .wrap {
        padding: 20px 5%;
    }

    .site-title {
        font-size: 28px;
    }

    .genesis-nav-menu li,
    .site-header ul.genesis-nav-menu,
    .site-header .search-form {
        float: none;
    }

    .genesis-nav-menu,
    .site-description,
    .site-header .title-area,
    .site-title {
        text-align: center;
    }
}

/* Extra-small screens (375px and below) */
@media only screen and (max-width: 480px) {

    .header-image .title-area {
        width: 100%;
    }

    .site-title {
        font-size: 22px;
    }

    .solid-section .widget_text {
        font-size: 18px;
    }

    .genesis-nav-menu li a {
        padding: 12px 16px;
        font-size: 14px;
    }

    .site-footer .wrap p {
        font-size: 12px;
        word-wrap: break-word;
    }

    .nav-footer .genesis-nav-menu li {
        display: block;
        text-align: center;
    }

    /* Prevent any table/pre from overflowing */
    table, pre {
        max-width: 100%;
        overflow-x: auto;
        display: block;
    }
}
