/*
   Olio Theme Responsive Design
*/

@media (max-width: 1170px) {
    .swiper-container{
        width: 70%;
    }
    .download-mockup{
        right: -250px;
    }
}

@media (max-width: 1024px) {
    .hero-moc{
        right: -8px;
    }
    .hero-section{
        height: 650px;
    }
    h1{
        font-size: 36px;
    }
}

/* ---- Start of max-width 992px CSS ---- */
@media (max-width: 992px) {
    .sm-padding{ padding: 15px; }
    .feature_list,
    .about_content {
        padding: 0;
    } 
    .hero_mockup{
        background-position: 120% center;
    }
    .hero-section:before{
        top: -308px;
    }
    ul.nav > li > a {
        padding: 0 5px;
        font-size: 10px;
    }
    .hero-moc{
        display: none;
    }
    /* Show iPhone mock section on mobile */
    .iphone-mock-section{
        display: block;
    }
    .swiper-container{
        width: 260px;
    }
    .swiper-container .swiper-slide{ text-align: center; }
    .swiper-container .swiper-slide img,
    .swiper-container .swiper-slide-active img{ width: 80%!important; }
    .swiper-container .swiper-next, 
    .swiper-container .swiper-prev{ display: none; }
    .content-info{
        padding-bottom: 65px;
        padding-top: 0;
    }
    .download-mockup{
        display: none;
    }
    .download-btn a{
        margin: 0 5px;
    }
    .download-content h2{
        font-size: 24px;
    }
    .download-content{
        padding: 0;
    }
    .hero-section{
        height: 570px;
    }

}
/* ---- End of max-width 992px CSS ---- */


/* ---- Start of min-width 480px and max-width 768px CSS ---- */
@media all and (min-width: 480px) and (max-width: 768px) {
	
}
/* ---- End of min-width 480px and max-width 768px CSS ---- */


/* ---- Start of max-width 767px CSS ---- */
@media all and (max-width: 767px) {
    html, body {
        overflow-x: hidden !important;
        max-width: 100vw !important;
        width: 100% !important;
        position: relative;
    }
    /* Prevent all sections from causing horizontal overflow */
    section, div, .container, .row {
        max-width: 100% !important;
        overflow-x: hidden;
    }
    body, p{
        font-size: 14px;
        line-height: 24px;
    }
    h1{
        font-size: 30px!important;
    }
    h2{
        font-size: 24px;
    }
    h3{
        font-size: 20px;
    }
    .play-btn:before,
    .mock-hide{
        display: none;
    }
    /* Hide line breaks in paragraphs on mobile, but keep them in hero and download sections */
    p br{
        display: none;
    }
    /* Override: Keep line breaks visible in hero and download sections */
    .hero-content p br,
    .download-content p br{
        display: block !important; /* Force line breaks to render */
        content: "";
        margin: 0;
        padding: 0;
    }
    .padding{
        padding: 70px 0;
    }
    .promo-section{ padding-top: 0; }
    .xs-padding{
    	padding: 15px;
    }
    .section-heading h2{
        font-size: 30px;
    }
    .section-heading p{
        font-size: 16px;
    }
    .header-section {
        overflow: visible !important; /* Ensure language selector is visible */
        width: 100% !important;
        max-width: 100vw !important; /* Ensure it doesn't exceed viewport width */
        padding-left: 0 !important; /* Remove left padding on mobile */
        padding-right: 0 !important; /* Remove right padding on mobile */
        box-sizing: border-box !important;
    }
    .header-section .container {
        overflow: visible !important; /* Ensure container doesn't clip */
        padding-left: 8px; /* Reduce left padding on mobile */
        padding-right: 8px; /* Reduce right padding on mobile */
        max-width: 100% !important; /* Ensure container doesn't exceed viewport */
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .navbar {
        justify-content: space-between;
        align-items: center;
        min-width: 0; /* Allow flex shrinking */
        max-width: 100% !important; /* Ensure navbar doesn't exceed container */
        width: 100% !important;
        padding: 0 15px !important; /* 15px horizontal, 0 vertical on mobile */
        overflow: visible !important; /* Ensure navbar doesn't clip */
        position: relative; /* Ensure proper positioning context */
        box-sizing: border-box !important;
    }
    .navbar-brand{
        padding: 15px 0;
        flex-shrink: 1; /* Allow logo to shrink if needed */
        min-width: 0; /* Allow flex shrinking */
        margin-right: 8px; /* Reduce margin */
        max-width: calc(100% - 60px) !important; /* More space for language selector (burger menu removed) */
        overflow: hidden; /* Clip logo if too wide */
    }
    .navbar-brand .logo,
    .navbar-brand svg.logo {
        max-width: 100px !important; /* Aggressively reduce logo max width on mobile */
        height: 35px !important; /* Reduce height as well */
        width: auto !important;
    }
    .menu-btn,
    .menu-wrap ul.nav{
        display: none;
    }
    .menu-wrap {
        gap: 0; /* No gap on mobile */
        flex-shrink: 0 !important; /* Prevent shrinking */
        margin-left: auto; /* Push to the right */
        display: flex !important; /* Ensure it's displayed */
        align-items: center;
        position: relative;
        z-index: 10; /* Ensure it's above other elements */
    }
    .language-selector {
        margin-left: 0 !important;
        margin-right: 0 !important;
        flex-shrink: 0 !important; /* Prevent language selector from shrinking */
        white-space: nowrap !important; /* Prevent text wrapping */
        display: flex !important; /* Ensure it's displayed */
        align-items: center;
        position: relative;
        z-index: 10; /* Ensure it's above other elements */
        min-width: 50px; /* Ensure minimum width */
    }
    /* Keep navbar in LTR direction even in RTL mode */
    [dir="rtl"] .navbar {
        direction: ltr !important;
        text-align: left !important;
    }
    [dir="rtl"] .language-selector {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    [dir="rtl"] .menu-wrap {
        margin-left: auto !important; /* Push to right (LTR direction) */
        margin-right: 0 !important;
    }
    [dir="rtl"] .navbar-brand {
        margin-left: 0 !important;
        margin-right: 8px !important;
    }
    .lang-btn {
        font-size: 11px !important;
        padding: 4px 6px !important; /* Minimal padding */
        min-width: auto; /* Allow buttons to be compact */
        white-space: nowrap !important;
        flex-shrink: 0;
    }
    .lang-separator {
        font-size: 11px;
        margin: 0 2px; /* Minimal separator spacing */
        flex-shrink: 0;
    }
    .slicknav_menu {
        display: none !important; /* Hide burger menu - no navigation items */
    }
    .hero-inner{
        padding-top: 50px;
    }
    .play-btn {
        left: calc(50% - 30px);
        top: calc(50% - 30px);
    }
    .content-info{
        padding-bottom: 0;
    }
    .download-content{
        text-align: center;
    }
    /* iPhone mock section on mobile */
    .iphone-mock-section{
        display: block;
        margin-top: -50px; /* Reduce white space between hero and iPhone mock section */
    }
    .iphone-mock-container{
        height: 100vh; /* Full viewport height */
        background-size: contain;
        background-position: center center;
    }
    .hero-section{
        margin-bottom: 0; /* Remove bottom margin from hero section */
        padding-bottom: 0; /* Remove bottom padding from hero section */
        overflow: hidden; /* Prevent horizontal overflow */
    }
    .hero-section:before {
        right: 0 !important; /* Remove negative positioning on mobile */
        max-width: 100%;
    }
}
/* ---- End of max-width 767px CSS ---- */


/* ---- Start of max-width 520px CSS ---- */
@media all and (max-width: 520px) {
    .hero-section{
        height: 460px;
    }
    .iphone-mock-container{
        height: 100vh; /* Full viewport height */
    }
    .hero-content p{ font-size: 16px; }
    .subscribe-form{ width: 100%; }
    .header-section {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 100vw !important;
    }
    .header-section .container {
        padding-left: 5px !important; /* Even less padding on very small screens */
        padding-right: 5px !important;
        overflow: visible !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .navbar-brand {
        max-width: calc(100% - 55px) !important; /* More space for language selector (burger menu removed) */
        margin-right: 5px;
    }
    [dir="rtl"] .navbar {
        direction: ltr !important;
    }
    [dir="rtl"] .navbar-brand {
        margin-left: 0 !important;
        margin-right: 5px !important;
        max-width: calc(100% - 55px) !important; /* More space for language selector (burger menu removed) */
    }
    [dir="rtl"] .menu-wrap {
        margin-left: auto !important;
        margin-right: 0 !important;
    }
    .navbar-brand .logo,
    .navbar-brand svg.logo {
        max-width: 90px !important; /* Even smaller logo on very small screens */
        height: 32px !important;
    }
    .menu-wrap {
        flex-shrink: 0 !important;
        min-width: 60px; /* Ensure minimum space for language selector */
    }
    .language-selector {
        margin-left: 0 !important;
        margin-right: 0 !important;
        flex-shrink: 0 !important;
        min-width: 55px !important; /* Ensure minimum width */
    }
    .lang-btn {
        padding: 3px 5px !important; /* Minimal padding on very small screens */
        font-size: 10px !important;
    }
    .lang-separator {
        font-size: 10px;
        margin: 0 1px;
    }
    .download-content h2{
        font-size: 30px;
    }
    .download-content p{ margin-bottom: 25px; }
    .download-btn a:first-child{
        margin-bottom: 10px;
    }
}
/* ---- End of max-width 520px CSS ---- */


/* ---- Start of max-width 420px CSS ---- */
@media all and (max-width: 420px) {
    .iphone-mock-container{
        background-size: 90% auto; /* Slightly smaller on very small screens */
    }
}
/* ---- End of max-width 420px CSS ---- */


/* ---- Start of max-width 380px CSS ---- */
@media all and (max-width: 380px) {
    .header-section {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 100vw !important;
    }
    .header-section .container {
        padding-left: 3px !important;
        padding-right: 3px !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .navbar-brand {
        max-width: calc(100% - 50px) !important; /* More space for language selector (burger menu removed) */
        margin-right: 3px;
    }
    [dir="rtl"] .navbar {
        direction: ltr !important;
    }
    [dir="rtl"] .navbar-brand {
        margin-left: 0 !important;
        margin-right: 3px !important;
        max-width: calc(100% - 50px) !important; /* More space for language selector (burger menu removed) */
    }
    [dir="rtl"] .menu-wrap {
        margin-left: auto !important;
        margin-right: 0 !important;
    }
    .navbar-brand .logo,
    .navbar-brand svg.logo {
        max-width: 80px !important;
        height: 30px !important;
    }
    .menu-wrap {
        min-width: 55px;
    }
    .language-selector {
        min-width: 50px !important;
    }
    .lang-btn {
        padding: 2px 4px !important;
        font-size: 9px !important;
    }
    .lang-separator {
        font-size: 9px;
        margin: 0;
    }
}
/* ---- End of max-width 380px CSS ---- */
