/* responsive.css
   Very small screen (<480px) overrides and tweaks.
   Loaded after site.css so these rules take precedence for tiny screens.
*/

/* Base small-screen adjustments */
@media (max-width: 479px) {
  html { font-size: 13px; }

  header img.c_p { max-width: 110px; height: auto; }
  header nav { width: 100%; }
  header nav ul { display: none; }
  .menu-btn { display: inline-flex !important; }

  /* Make main container padding tighter */
  main.container { padding-left: 8px !important; padding-right: 8px !important; }

  /* Search results grid: single column and tighten gaps */
  #search-results-grid { grid-template-columns: repeat(1, 1fr) !important;}
  .pool-card { margin: 0; }
  .pool-card .card-content { padding: 8px; }

  /* Controls and selects full width */
  .form-filter { width: 100%; }
  select.form-multi-select, .form-filter select, input.lookupPlanNumber { width: 100% !important; max-width: 100% !important; }


  /* Footer: stack sections and increase spacing */
  .footer-main { flex-direction: column; gap: 18px; }


  /* Offcanvas nav occupies full height but narrower width inside */
  #offcanvasMenu .offcanvas-nav { width: 86% !important; max-width: 320px !important; }

  

  /* Misc small tweaks */
  .lookupPlanNumber { height: 40px; }
  .plan-name { font-size: 1rem; }



  .crystal-clear-image{
    width: 100%;
  }
  .awb-image-hotspots-hotspot{
    --awb-font-size: 20px !important;
  }
  .features-image-layout{
    flex-direction: column;
    padding: 40px 10px !important;
  }
  #browse-all-pools-grid{
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .card-actions .btn { 
    width: fit-content !important; min-width: 0;
 }
 .hero-center-content .hero-title{
    margin-top: 75px;
 }
 .hero-center-content .hero-desc{
    margin-bottom: 17px;
    text-align: left;
 } 
.hero-center-content .hero-desc br{
    display: none;
}
.pool-categories h2{
    font-size: 2em;
}
.pool-categories{
    padding-left: 0px;
    padding-right: 0px;
}
.pool-categories .poppin-header{
    margin-bottom: 8px;
}
.builderProSection .section-waves{
    margin-top: 8px;
}

.whyPoolplansSection .section-waves {
    margin-top: 8px;
}
    .fusion-builder-row .top-section{
        flex-direction: column;
        width: unset;
    }
    .top-menu-section{
        flex-direction: column;
    }
    .fusion-builder-row .top-section .top-menu-section{
        margin-top: 55px;
    }
    .fusion-builder-row .top-section .top-menu-btns{
        flex-wrap: wrap;
        justify-content: center;
        margin-right: 0px;
    }
    .hero-logo{
        left: 50%;
        transform: translate(-50%, 0px);
        position: absolute;
        margin-left: 0px;
        margin-top: 10px;
    }
    #poolFilter .filter-elements{
        width: min-content;
        margin: 0px auto;
    }
    .whyPoolplansSection{
        padding: 40px 10px !important;
    }
    .whyPoolplansSectionContent{
        flex-direction: column;
        gap: 30px !important;
    }
    .builder-section{
        flex-direction: column;
        padding: 40px 10px !important;
    }
    .builder-section .card{
        margin-bottom: 25px;
    }
    .builder-section .card-content p{
        margin-bottom: 0px;
    }
    .builder-section .card-content{
        min-height: unset !important;
        margin-top: 0px !important;
    }
    .testimonials-section h2{
        font-size: 2em;
        margin-bottom: 8px;
    }
    section.testimonials-section p{
        width: unset;
    }
    .features-section .fusion-title-heading{
        font-size: 39px;
    }
    .footer-main .footer-links { 
        width: 100%;
        text-align: center;
    }
    .footer-bottom .copyright-element{
        justify-content: center;
    }
    .footer-social-accessibility{
        flex-direction: column-reverse;
    }
    .footer-signup-section{
        grid-template-columns: repeat(1, 1fr);
    }
    .footer-signup-section .second-element{
        min-height: 100px;
    }
    .footer-signup-section .third-element{
        border-bottom: 1px solid #1a2539;
    }
    .footer-signup-section .fourth-element{
        border-left: none !important;
    }
    .affordable-plans-section .affordable-plans-content{
        width: 90%;
    }
    .affordable-plans-section .affordable-plans-title{
        font-size: 37px;
        margin-bottom: 8px;
    }
    #preLoginModal{
        display: flex;
    }
    #preLoginModal .preLoginModalContent{
        height: 95% !important;
        width: 95% !important;
    }
    #preLoginModal .preLoginCardContent{
        flex-direction: column;
        gap: 10px !important;
    }
    #preLoginModal .prelogin-role{
        flex: unset !important;
        width: -webkit-fill-available !important;
    }
    #preLoginModal .prelogin-role .imageDiv{
        width: 80px !important;
        height: 80px !important;
    }
    #preLoginModal .prelogin-role .userType{
        margin-top: 5px !important;
    }
    /* Reduce modal sizes on very small screens */
    .modal-content { 
    width: calc(100% - 36px) !important; 
    padding: 30px 12px 12px 12px !important;
    }
    #authModal .modal-body{
        margin: 10px !important;
    }
    .top-menu-btns #openStripePricing,.top-menu-btns #cart-btn{
    }
    #searchResultsPage{
        flex-direction: column;
    }
    #poolResultsFilter{ 
        border-right: 1px solid #ccc !important;
        position: unset !important;
    }
    #poolResultsFilter #poolResults{
        height: fit-content;
    }
    #poolResultsFilter #poolResults .form-multi-select{
        width: 100%;
    }
    #search-results-pagination{
        display: flex;
    }
    .headerNavElement{
        flex-wrap: wrap;
        gap: 5px;
        padding: 0px;
        justify-content: center;
    }
    .lookupPlanNumberHeaderWrapper{
        margin-top: 35px;
    }
    .headerNavElement .headerPages{
        flex-wrap: wrap;
        gap: 0px;
        margin-left: 0px;
    }
    .headerNavElement .headerPages li a{
        margin-right: 25px;
    }
    .headerSection{
        padding: 20px 0px;
    }
    .headerSection .leftColumn > div {
        padding: 0px;
        position: absolute;
        left: 50%;
        top: 5px;
        width: fit-content;
        transform: translate(-50%, 0%);
    }
    .headerSection .leftColumn{
        gap: 5px;
        justify-content: center;
        position: relative;
    }
    .headerSection .leftColumn .headerNavElement .headerPages .allPools{
        display: none;
    }
  #planDetailsModal .plan-modal-content > .container {
    padding: 20px 20px 20px 30px !important;
  }
  #planDetailsModal .rightColumn{
      padding: 0px;
      margin-top:18px;
  }
  #planDetailsModal .leftColumn{
    padding:0px;
    width:100%;
  }
  #tcGalleryModal .plan-modal-content > div{
    padding:30px;
  }
  #tcGalleryModal .plan-modal-content #tcGalleryCarousel .active img{
    max-width:100%
  }

#planDetailsModal .leftColumn .poolplanDesignViews{
    min-width: unset !important;
    width: 100%;
}
.cart-main{
    flex-direction: column;
}

.cart-main .cart-items{
    flex: 1;
}
#cartSidebar{
    width: 70vw;
}
.views-Section .Section .section-image{
    display: flex;
    align-items: center;
}
div#browse-all-pools-grid .plan-details{
    width: unset !important;
}
#browse-all-pools-grid .pool-card{
    margin-bottom: 15px;
}
.crystal-clear-section{
    width: unset;
}
.crystal-clear-section .crystal-clear-content{
    width: 82%;
}
.crystal-clear-section .crystal-clear-title{
    font-size: 2em;
    margin-bottom: 8px;
}
.geometric-title {
    font-size: 2.9em;
    margin-bottom: 8px;
} 
.builderProSection{
    padding: 40px 10px !important;
}
.pool-categories .section-waves {
    margin-top: 0px;
}
.hero-center-content .hero-waves {
    margin-top: 8px;
}
#TCCarouselIndicators canvas{
    width: 100%;
    height: fit-content;
}

    #subscriptionOverview{
        grid-template-columns:repeat(2,1fr) !important;
    }
    #favouritePlansContainer {
        grid-template-columns: repeat(1, 1fr) !important;
    }
    .builder-dashboard .subscriptionHeader{
        flex-direction: column;
    }
    .builder-dashboard .nav-menu{
        display: block !important;
        position: absolute;
        background: #fff;
        padding: 5px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        top: 5px;
        left: 1px;
    }
    .left-menu.expanded .menu-items a span {
        white-space: nowrap;
    }
    .left-menu{
        display: none;
    }
    .left-menu.expanded{
        display: block;
        position: absolute;
        left: 0px;
        top: 45px;
        background: white;
        z-index: 9;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    }
    .subscriptionHeader h2{
        text-align: center;
    }
    #download-plans-grid,#client-sheet-grid{
        grid-template-columns:repeat(1,1fr);
    }
    .advance .brand,.core .brand,.premium .brand {
        flex-direction: column;
    }
    .advance .page_content,.core .page_content,.premium .page_content {
        grid-template-columns: unset;
    }
}

@media (min-width: 1248px) {
    .builderProSection,.pool-categories,.whyPoolplansSection,.features-section,
    .pool-plan-gallery-section,.builder-section,.testimonials-section,.footer-main,.footer-bottom{
        max-width: 1248px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .hero-section{
        min-height: unset;
    }
}
