/* AWCRA site-wide responsive repair layer. Loaded after Elementor and page CSS. */
html,body{max-width:100%;overflow-x:hidden}
.awcra-responsive-site img,.awcra-responsive-site svg,.awcra-responsive-site video{max-width:100%;height:auto}
.awcra-responsive-site .elementor-element,.awcra-responsive-site .elementor-widget,.awcra-responsive-site .elementor-widget-container,.awcra-responsive-site .e-con,.awcra-responsive-site .e-con-inner{min-width:0;box-sizing:border-box}
.awcra-mobile-login-menu-item{display:none!important}

@media(max-width:1024px){
  .awcra-mobile-login-menu-item{display:block!important;margin:8px 14px!important}
  .awcra-mobile-login-menu-item>a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:11px 22px!important;border:1px solid #173f7b!important;border-radius:6px!important;background:#fff!important;color:#062a68!important;font-weight:700!important;text-align:center!important;text-decoration:none!important}
  .awcra-mobile-login-menu-item>a:hover{background:#062a68!important;color:#fff!important}
}

@media(max-width:767px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  .awcra-responsive-site main,.awcra-responsive-site .site-main,.awcra-responsive-site .elementor,.awcra-responsive-site .elementor-section-wrap{width:100%;max-width:100%;overflow-x:hidden}
  .awcra-responsive-site main .elementor-section>.elementor-container,.awcra-responsive-site .site-main .elementor-section>.elementor-container{width:100%!important;max-width:100%!important;flex-wrap:wrap!important}
  .awcra-responsive-site main .elementor-column,.awcra-responsive-site .site-main .elementor-column{min-width:0!important;max-width:100%!important}
  .awcra-responsive-site main .elementor-column>.elementor-widget-wrap,.awcra-responsive-site .site-main .elementor-column>.elementor-widget-wrap{min-width:0!important;max-width:100%!important}
  .awcra-responsive-site main .e-con,.awcra-responsive-site .site-main .e-con{max-width:100%!important;min-width:0!important}
  .awcra-responsive-site p,.awcra-responsive-site li,.awcra-responsive-site h1,.awcra-responsive-site h2,.awcra-responsive-site h3,.awcra-responsive-site h4,.awcra-responsive-site a{overflow-wrap:anywhere}
  .awcra-responsive-site input,.awcra-responsive-site select,.awcra-responsive-site textarea,.awcra-responsive-site button{max-width:100%}
  .awcra-responsive-site table{max-width:100%}

  /* Legal and policy pages: override desktop Elementor-generated grid widths. */
  body.awcra-responsive-site .elementor .awcra-cookie-shell{width:calc(100% - 28px)!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
  body.awcra-responsive-site .elementor .awcra-cookie-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important;width:100%!important;max-width:100%!important;align-items:start!important}
  body.awcra-responsive-site .elementor .awcra-cookie-sidebar{position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:18px 16px!important}
  body.awcra-responsive-site .elementor .awcra-cookie-policy-main,
  body.awcra-responsive-site .elementor .awcra-refund-policy-main,
  body.awcra-responsive-site .elementor .awcra-privacy-policy-main{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
  body.awcra-responsive-site .elementor .awcra-cookie-policy-section,
  body.awcra-responsive-site .elementor .awcra-refund-policy-section,
  body.awcra-responsive-site .elementor .awcra-privacy-policy-section{width:100%!important;max-width:100%!important;min-width:0!important}
  body.awcra-responsive-site .elementor .awcra-refund-policy-section,
  body.awcra-responsive-site .elementor .awcra-privacy-policy-section{grid-template-columns:36px minmax(0,1fr)!important;gap:11px!important}
  body.awcra-responsive-site .elementor .awcra-refund-section-copy,
  body.awcra-responsive-site .elementor .awcra-privacy-section-copy{width:100%!important;min-width:0!important}
  body.awcra-responsive-site .elementor .awcra-cookie-nav a{grid-template-columns:25px minmax(0,1fr)!important;font-size:13px!important;padding:10px 8px!important}
  body.awcra-responsive-site .elementor .awcra-cookie-support{grid-template-columns:34px minmax(0,1fr)!important;width:100%!important}
  body.awcra-responsive-site .elementor .awcra-cookie-contact-row{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  body.awcra-responsive-site .elementor .awcra-cookie-contact-item{min-width:0!important;flex-wrap:wrap!important}

  /* Professional mobile hero: text remains readable, map stays behind it. */
  body.awcra-responsive-site .elementor .awcra-cookie-hero{position:relative!important;min-height:0!important;overflow:hidden!important}
  body.awcra-responsive-site .elementor .awcra-cookie-hero-grid{position:relative!important;display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:390px!important;width:calc(100% - 28px)!important;padding:34px 0!important}
  body.awcra-responsive-site .elementor .awcra-cookie-hero-copy{position:relative!important;z-index:3!important;width:100%!important;max-width:100%!important;padding:0!important}
  body.awcra-responsive-site .elementor .awcra-cookie-hero-image{position:absolute!important;z-index:1!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;opacity:.34!important;display:flex!important;align-items:center!important;justify-content:center!important}
  body.awcra-responsive-site .elementor .awcra-cookie-hero-image:before{display:none!important}
  body.awcra-responsive-site .elementor .awcra-cookie-hero-image img{width:125%!important;max-width:none!important;height:100%!important;object-fit:cover!important;object-position:center!important;transform:none!important}
  body.awcra-responsive-site .elementor .awcra-cookie-hero h1{font-size:clamp(36px,12vw,50px)!important;line-height:1.05!important}
  body.awcra-responsive-site .elementor .awcra-cookie-hero-description,
  body.awcra-responsive-site .elementor .awcra-refund-hero-description{max-width:100%!important;font-size:16px!important;line-height:1.5!important}

  /* Login page: force stacked, full-width form and benefits. */
  body.awcra-responsive-site .elementor .awcra-login-shell{width:calc(100% - 28px)!important;max-width:100%!important}
  body.awcra-responsive-site .elementor .awcra-login-panel-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
  body.awcra-responsive-site .elementor .awcra-login-form-column,
  body.awcra-responsive-site .elementor .awcra-login-benefits{width:100%!important;max-width:100%!important;min-width:0!important}
  body.awcra-responsive-site .elementor .awcra-login-benefits{padding:24px 0 0!important;border-left:0!important;border-top:1px solid #e3e8f0!important}
  body.awcra-responsive-site .elementor .awcra-login-panel{margin-top:-36px!important;padding:22px 17px!important}
  body.awcra-responsive-site .elementor .awcra-login-form-host input[type=text],
  body.awcra-responsive-site .elementor .awcra-login-form-host input[type=email],
  body.awcra-responsive-site .elementor .awcra-login-form-host input[type=password],
  body.awcra-responsive-site .elementor .awcra-login-form-host input[type=submit]{width:100%!important;max-width:100%!important}
  body.awcra-responsive-site .elementor .awcra-login-membership-cta{grid-template-columns:minmax(0,1fr)!important;text-align:center!important}
  body.awcra-responsive-site .elementor .awcra-login-membership-icon{margin:0 auto!important}

  /* Contact and ordinary Elementor pages. */
  body.awcra-responsive-site main .elementor-form-fields-wrapper,
  body.awcra-responsive-site .site-main .elementor-form-fields-wrapper{display:flex!important;flex-wrap:wrap!important}
  body.awcra-responsive-site main .elementor-field-group,
  body.awcra-responsive-site .site-main .elementor-field-group{width:100%!important;max-width:100%!important;flex-basis:100%!important}
  body.awcra-responsive-site main .elementor-widget-image img,
  body.awcra-responsive-site .site-main .elementor-widget-image img{max-width:100%!important;height:auto!important}

  /* Tables, cards, directories and Home-2. */
  body.awcra-responsive-site .awcra-h2-table-wrap,
  body.awcra-responsive-site .awcra-comparison-table-wrap,
  body.awcra-responsive-site .elementor-widget-table{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  body.awcra-responsive-site .awcra-h2-plan-grid,
  body.awcra-responsive-site .awcra-h2-process-grid,
  body.awcra-responsive-site .awcra-tier-directory-grid{grid-template-columns:minmax(0,1fr)!important}
  body.awcra-responsive-site .awcra-public-profile-layout,
  body.awcra-responsive-site .awcra-profile-page-shell .awcra-public-profile-layout{grid-template-columns:minmax(0,1fr)!important}
  body.awcra-responsive-site .awcra-site-footer-grid{grid-template-columns:minmax(0,1fr)!important}
}

@media(max-width:420px){
  body.awcra-responsive-site .elementor .awcra-cookie-hero-grid{min-height:370px!important}
  body.awcra-responsive-site .elementor .awcra-cookie-sidebar{padding:16px 13px!important}
  body.awcra-responsive-site .elementor .awcra-refund-policy-section,
  body.awcra-responsive-site .elementor .awcra-privacy-policy-section{grid-template-columns:32px minmax(0,1fr)!important;gap:9px!important}
  .awcra-mobile-login-menu-item{margin:8px 10px!important}
}


/* Mobile navigation fallback. It activates only when the theme/Elementor toggle does not open its panel. */
@media(max-width:1100px){
  body.awcra-mobile-menu-is-open{overflow:hidden!important}
  .awcra-mobile-menu-panel-open{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
    max-height:calc(100vh - 82px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:99999!important;
  }
  .awcra-site-header.awcra-mobile-menu-open .awcra-site-header-nav,
  .awcra-site-header.awcra-mobile-menu-open .awcra-site-nav,
  .awcra-site-header.awcra-mobile-menu-open .awcra-header-nav,
  .awcra-site-header.awcra-mobile-menu-open .awcra-header-menu,
  .awcra-header.awcra-mobile-menu-open .awcra-header-nav,
  .awcra-header.awcra-mobile-menu-open .awcra-mobile-nav,
  .elementor-location-header.awcra-mobile-menu-open .elementor-nav-menu--dropdown,
  header.awcra-mobile-menu-open .awcra-mobile-menu,
  header.awcra-mobile-menu-open .mobile-navigation{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
    max-height:calc(100vh - 82px)!important;
    overflow-y:auto!important;
  }
  .awcra-mobile-toggle-open .eicon-menu-bar:before{content:"\e87f"}
  .awcra-mobile-toggle-open .elementor-menu-toggle__icon--open{display:none!important}
  .awcra-mobile-toggle-open .elementor-menu-toggle__icon--close{display:block!important}
}


/* v5.4.17: force the mobile navigation to drop below the visible header
   instead of entering page flow or scrolling the logo/header out of view. */
@media(max-width:1100px){
  .awcra-mobile-menu-open{position:relative!important;z-index:100002!important}
  .awcra-mobile-menu-panel-open.awcra-mobile-menu-dropdown{
    position:fixed!important;
    top:var(--awcra-mobile-menu-top,82px)!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    width:100vw!important;
    max-width:100vw!important;
    height:auto!important;
    max-height:var(--awcra-mobile-menu-height,calc(100vh - 82px))!important;
    margin:0!important;
    padding:12px 18px 18px!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:0 14px 30px rgba(3,24,62,.22)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    z-index:100001!important;
  }
  .awcra-mobile-menu-panel-open.awcra-mobile-menu-dropdown ul,
  .awcra-mobile-menu-panel-open.awcra-mobile-menu-dropdown .menu,
  .awcra-mobile-menu-panel-open.awcra-mobile-menu-dropdown .sub-menu{
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    transform:none!important;
  }
  .awcra-mobile-menu-panel-open.awcra-mobile-menu-dropdown>ul,
  .awcra-mobile-menu-panel-open.awcra-mobile-menu-dropdown>.menu{
    display:block!important;
  }
  .awcra-mobile-menu-panel-open.awcra-mobile-menu-dropdown li{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    float:none!important;
  }
  .awcra-mobile-menu-panel-open.awcra-mobile-menu-dropdown a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:44px!important;
    padding:11px 12px!important;
    white-space:normal!important;
  }
  body.awcra-mobile-menu-is-open::before{
    content:"";
    position:fixed;
    top:var(--awcra-mobile-menu-top,82px);
    right:0;
    bottom:0;
    left:0;
    background:rgba(2,18,46,.28);
    z-index:100000;
    pointer-events:none;
  }
}
