/* Astral Promotion v2.15.1 — clean responsive system
 * One responsive layer only. Base desktop CSS contains no @media rules.
 */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:0;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,iframe{max-width:100%;height:auto}

/* Desktop: deliberately preserve the approved 2.x desktop layout. */
@media (min-width:901px){
  .ap-menu-toggle,.ap-mobile-search{display:none!important}
  .ap-nav{display:block!important}
}

/* Tablet + phone */
@media (max-width:900px){
  .ap-container{width:min(100% - 24px,1180px);margin-left:auto;margin-right:auto}

  /* Top utility bar: all 3 trust metrics remain visible. */
  .ap-topbar{height:auto!important;min-height:34px!important;font-size:9.5px!important}
  .ap-topbar-inner{width:100%!important;min-height:34px!important;height:auto!important;padding:5px 10px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;align-items:center!important}
  .ap-top-trust{min-width:0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;font-size:9px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important}
  .ap-top-trust span:last-child{overflow:hidden;text-overflow:ellipsis}
  .ap-top-icon{width:14px!important;height:14px!important;flex:0 0 14px!important;font-size:10px!important}
  .ap-toplinks{display:none!important}

  /* Header: logo + CTA + hamburger only. Desktop search/login/cart cannot leak in. */
  .ap-header{position:relative!important;z-index:5000!important}
  .ap-header-inner{width:calc(100% - 24px)!important;min-height:64px!important;height:64px!important;padding:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:7px!important;align-items:center!important;overflow:visible!important}
  .ap-brand-fixed{display:flex!important;min-width:0!important;width:auto!important;height:56px!important;align-items:center!important;justify-content:flex-start!important;overflow:hidden!important}
  .ap-brand-fixed .ap-astral-logo{display:block!important;width:clamp(132px,43vw,178px)!important;height:auto!important;max-width:100%!important;max-height:50px!important;object-fit:contain!important}
  .ap-header-actions{grid-column:2!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:0!important;margin:0!important;min-width:0!important;width:auto!important}
  .ap-header-actions .ap-header-search,.ap-header-actions .ap-search-link,.ap-header-actions .ap-btn-outline,.ap-header-actions .ap-cart{display:none!important}
  .ap-header-actions .ap-btn-primary{display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;width:auto!important;min-width:84px!important;min-height:38px!important;padding:9px 11px!important;font-size:10px!important;line-height:1!important;border-radius:8px!important}
  .ap-menu-toggle{grid-column:3!important;grid-row:1!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:4px!important;width:38px!important;height:38px!important;padding:7px!important;margin:0!important;border:1px solid #d8e3ee!important;border-radius:8px!important;background:#fff!important;cursor:pointer!important}
  .ap-menu-toggle span{display:block!important;width:20px!important;height:2px!important;border-radius:2px!important;background:#102b52!important}

  /* One, and only one, mobile search. */
  .ap-mobile-search{display:block!important;position:relative!important;z-index:4900!important;background:#fff!important;border-bottom:1px solid #e4ebf3!important;padding:8px 0!important}
  .ap-mobile-search .ap-container{width:calc(100% - 24px)!important}
  .ap-mobile-search form{width:100%!important;height:40px!important;display:flex!important;align-items:center!important;border:1px solid #d7e2ed!important;border-radius:21px!important;overflow:hidden!important;background:#f7fafd!important}
  .ap-mobile-search form>span{display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;padding:0!important;color:#35506f!important;flex:0 0 34px!important}
  .ap-mobile-search input{flex:1!important;min-width:0!important;width:auto!important;height:100%!important;border:0!important;outline:0!important;background:transparent!important;padding:0 7px!important;font-size:12.5px!important;color:#20344f!important}
  .ap-mobile-search button{height:100%!important;border:0!important;background:#0878f9!important;color:#fff!important;padding:0 14px!important;font-size:11px!important;font-weight:750!important}

  /* Compact professional navigation drawer. */
  .ap-nav{position:absolute!important;top:calc(100% + 6px)!important;left:12px!important;right:12px!important;width:auto!important;max-height:calc(100dvh - 150px)!important;overflow-y:auto!important;overflow-x:hidden!important;display:none!important;background:#fff!important;border:1px solid #dce6f0!important;border-radius:12px!important;padding:6px!important;box-shadow:0 18px 45px rgba(6,27,56,.20)!important;z-index:7000!important}
  .ap-nav.is-open{display:block!important}
  .ap-nav-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;list-style:none!important;margin:0!important;padding:0!important}
  .ap-nav-list>li{position:relative!important;width:100%!important;margin:0!important;padding:0!important;border-bottom:1px solid #edf2f7!important}
  .ap-nav-list>li:last-child{border-bottom:0!important}
  .ap-nav-list>li>a{display:flex!important;align-items:center!important;width:100%!important;min-height:42px!important;padding:9px 10px!important;margin:0!important;border-radius:7px!important;font-size:14px!important;line-height:1.2!important;font-weight:650!important;white-space:normal!important;color:#263b56!important}
  .ap-nav-list>li>a:hover{background:#f4f8fc!important}
  .ap-nav-list .menu-item-has-children>a:after{content:'⌄'!important;margin-left:auto!important;font-size:11px!important}
  .ap-nav-list .sub-menu{position:static!important;display:none!important;visibility:visible!important;opacity:1!important;transform:none!important;width:100%!important;max-height:none!important;overflow:visible!important;margin:0 0 5px!important;padding:4px!important;border:0!important;border-top:1px solid #edf2f7!important;border-radius:0!important;background:#f8fbfe!important;box-shadow:none!important}
  .ap-nav-list .menu-item-has-children.is-open>.sub-menu{display:block!important}
  .ap-nav-list>li.menu-item-has-children.is-open>a{color:#0878f9!important;background:#f3f8fd!important}
  .ap-nav-list .sub-menu>li{width:100%!important;list-style:none!important}
  .ap-nav-list .sub-menu a{display:flex!important;align-items:center!important;min-height:34px!important;padding:7px 9px!important;font-size:12px!important;line-height:1.2!important;white-space:normal!important;color:#42566e!important}
  .ap-nav-list .sub-menu .sub-menu{display:none!important;margin:0!important;padding:2px 0 3px 9px!important;background:#fff!important}
  .ap-nav-list .sub-menu .menu-item-has-children.is-open>.sub-menu{display:block!important}
  .ap-nav-list .sub-menu .menu-item-has-children>a:after{content:'⌄'!important;margin-left:auto!important}

  /* Lock the page while drawer is open. */
  body.ap-mobile-menu-open{overflow:hidden!important;touch-action:none!important}

  /* Hero: single column on portrait/tablet; remove decorative overflow pieces. */
  .ap-hero,.ap-section,.ap-store,.ap-industries,.ap-blog-faq,.ap-cta{overflow:hidden!important}
  .ap-hero-grid{grid-template-columns:1fr!important;gap:0!important;min-width:0!important;max-width:100%!important}
  .ap-hero-copy{padding:5px 0 0!important}
  .ap-hero h1{font-size:clamp(30px,7vw,42px)!important;line-height:1.04!important;letter-spacing:-.8px!important;max-width:100%!important}
  .ap-hero-copy>p{font-size:13px!important;line-height:1.5!important;max-width:100%!important}
  .ap-hero-buttons{flex-wrap:wrap!important}
  .ap-hero-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .ap-hero-visual{min-width:0!important;min-height:250px!important;margin-top:12px!important}
  .ap-dashboard{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:270px!important}
  .ap-phone,.ap-service-float{display:none!important}

  /* Five trust statistics: 2 + 2 + 1. Never hide the fifth. */
  .ap-stats-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important;max-width:100%!important}
  .ap-stats-grid>div{min-width:0!important;padding:11px 9px!important;border-right:1px solid #e8edf3!important;border-bottom:1px solid #e8edf3!important}
  .ap-stats-grid>div:nth-child(5){grid-column:1/-1!important;border-right:0!important}
  .ap-stats-grid strong{font-size:13px!important}
  .ap-stats-grid span{font-size:8.5px!important}
  .ap-stats-grid b .ap-svg-icon{width:23px!important;height:23px!important}

  /* Services / industries */
  .ap-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important}
  .ap-service-grid>*{min-width:0!important}
  .ap-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important}
  .ap-industry-grid>*{min-width:0!important}

  /* Products: one complete card at a time. */
  .ap-products-wrap{display:block!important;padding:0!important;min-width:0!important}
  .ap-products{display:flex!important;width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;gap:12px!important;padding:4px 2px 10px!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}
  .ap-products::-webkit-scrollbar{display:none!important}
  .ap-product-card{flex:0 0 100%!important;width:100%!important;min-width:100%!important;scroll-snap-align:start!important}
  .ap-product-nav{display:none!important}

  /* Blog: all cards, stacked and fully visible. */
  .ap-blog-faq-grid{grid-template-columns:1fr!important;gap:28px!important;min-width:0!important}
  .ap-blog-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;min-width:0!important}
  .ap-blog-grid article,.ap-blog-grid article:nth-child(n+2){display:block!important;width:100%!important;min-width:0!important;visibility:visible!important;opacity:1!important}
  .ap-blog-grid img,.ap-blog-placeholder{display:block!important;width:100%!important;height:150px!important;min-height:150px!important;object-fit:cover!important}
  .ap-blog-body{padding:13px!important;display:block!important}
  .ap-blog-body h3{font-size:16px!important;line-height:1.35!important;margin:5px 0 8px!important}

  /* CTA: no narrow first column. */
  .ap-cta-inner{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;min-height:0!important;padding:26px 0!important;align-items:stretch!important}
  .ap-rocket{display:none!important}
  .ap-cta-copy{grid-column:1!important;grid-row:auto!important;min-width:0!important}
  .ap-cta-copy h2{font-size:25px!important;line-height:1.18!important;margin:0 0 6px!important}
  .ap-cta-copy p{font-size:12px!important;line-height:1.5!important;margin:0!important}
  .ap-cta-inner>.ap-btn{grid-column:1!important;grid-row:auto!important;width:100%!important;min-width:0!important;min-height:46px!important}
  .ap-cta-points{grid-column:1!important;grid-row:auto!important;width:100%!important;min-width:0!important;margin:3px 0 0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px 12px!important;font-size:10px!important}

  /* Footer: one clean column on phones, no overflowing office cards. */
  .ap-footer-grid{grid-template-columns:1fr!important;gap:25px!important;min-width:0!important}
  .ap-footer-brand,.ap-footer-col,.ap-footer-contact,.ap-footer-office{min-width:0!important;width:100%!important;align-items:flex-start!important;text-align:left!important}
  .ap-footer-brand p{max-width:none!important}
  .ap-footer-col h3,.ap-footer-contact h3,.ap-footer-office h3{width:100%!important;text-align:left!important}
  .ap-office-content{width:100%!important}
  .ap-office-card{width:100%!important}
  .ap-footer-bottom{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
  .ap-footer-bottom>span{text-align:left!important}

  /* Chat: true viewport-fixed mobile panel. */
  .ap-support-widget{position:fixed!important;right:14px!important;bottom:14px!important;z-index:999999!important}
  .ap-support-launcher{width:56px!important;height:56px!important}
  .ap-support-panel{position:fixed!important;left:12px!important;right:12px!important;bottom:82px!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 110px)!important;overflow:auto!important;border-radius:16px!important;z-index:1000000!important}
  .ap-support-head{padding:14px 15px!important}
  .ap-support-head strong{font-size:15px!important}
  .ap-support-options{padding:10px!important}
  .ap-support-options>a,.ap-support-options>button{padding:10px!important}
}

@media (max-width:600px){
  .ap-container{width:calc(100% - 20px)!important}
  .ap-topbar-inner{padding-left:5px!important;padding-right:5px!important;gap:2px!important}
  .ap-top-trust{font-size:8px!important;gap:2px!important}
  .ap-top-icon{width:12px!important;height:12px!important;flex-basis:12px!important;font-size:9px!important}
  .ap-header-inner{width:calc(100% - 20px)!important;height:62px!important;min-height:62px!important;gap:5px!important}
  .ap-brand-fixed{height:54px!important}
  .ap-brand-fixed .ap-astral-logo{width:clamp(122px,43vw,160px)!important}
  .ap-header-actions .ap-btn-primary{min-width:76px!important;min-height:36px!important;padding:8px 9px!important;font-size:9.5px!important}
  .ap-menu-toggle{width:36px!important;height:36px!important}
  .ap-mobile-search{padding:7px 0!important}
  .ap-mobile-search form{height:38px!important}
  .ap-mobile-search input{font-size:12px!important}
  .ap-mobile-search button{padding:0 12px!important;font-size:10.5px!important}
  .ap-nav{left:10px!important;right:10px!important;max-height:calc(100dvh - 132px)!important}
  .ap-nav-list>li>a{min-height:40px!important;font-size:13px!important}
  .ap-nav-list .sub-menu a{font-size:11.5px!important;min-height:32px!important}
  .ap-hero{padding:14px 0 18px!important}
  .ap-hero h1{font-size:31px!important}
  .ap-hero-copy>p{font-size:12px!important}
  .ap-hero-benefits{gap:7px!important}
  .ap-hero-benefits strong{font-size:9px!important}
  .ap-hero-benefits small{font-size:7.5px!important}
  .ap-hero-visual{min-height:205px!important}
  .ap-dashboard{height:215px!important;border-radius:10px!important}
  .ap-service-grid,.ap-industry-grid{grid-template-columns:1fr 1fr!important}
  .ap-stats-grid>div{padding:10px 7px!important}
  .ap-stats-grid strong{font-size:12px!important}
  .ap-stats-grid span{font-size:8px!important}
  .ap-blog-grid{gap:10px!important}
  .ap-blog-grid img,.ap-blog-placeholder{height:135px!important;min-height:135px!important}
  .ap-cta-copy h2{font-size:22px!important}
  .ap-cta-points{grid-template-columns:1fr!important}
}

@media (max-width:380px){
  .ap-top-trust{font-size:7.4px!important}
  .ap-brand-fixed .ap-astral-logo{width:120px!important}
  .ap-header-actions .ap-btn-primary{min-width:70px!important;font-size:9px!important;padding:8px 7px!important}
  .ap-menu-toggle{width:34px!important;height:34px!important}
  .ap-mobile-search button{padding:0 10px!important}
  .ap-nav-list>li>a{font-size:12.5px!important}
  .ap-hero h1{font-size:28px!important}
}

/* Landscape phones / small tablets: keep content complete without horizontal overflow. */
@media (min-width:601px) and (max-width:900px){
  .ap-header-inner{height:68px!important;min-height:68px!important}
  .ap-hero-grid{grid-template-columns:1fr 1fr!important;align-items:center!important}
  .ap-hero-copy{padding-right:8px!important}
  .ap-hero-visual{margin-top:0!important;min-height:285px!important}
  .ap-dashboard{height:270px!important;width:100%!important}
  .ap-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .ap-industry-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .ap-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ap-blog-grid article:nth-child(n+2){display:block!important}
  .ap-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v2.15.1 — final Android header/footer correction */
@media (max-width:900px){
  /* Keep the approved Astral Promotion logo pinned to the left edge of the header. */
  .ap-header .ap-header-inner .ap-brand-fixed{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;
    margin:0!important;
    padding:0!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .ap-header .ap-header-inner .ap-brand-fixed .ap-astral-logo{
    display:block!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }

  /* The footer must become one clean vertical column on every phone/tablet width.
     This selector intentionally matches the higher-specificity desktop footer rule. */
  .ap-footer-main > .ap-container.ap-footer-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:calc(100% - 32px)!important;
    max-width:none!important;
    gap:28px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow:visible!important;
  }
  .ap-footer-main .ap-footer-brand,
  .ap-footer-main .ap-footer-col,
  .ap-footer-main .ap-footer-contact,
  .ap-footer-main .ap-footer-office{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
    align-items:flex-start!important;
    justify-self:stretch!important;
  }
  .ap-footer-main .ap-footer-brand .ap-brand-fixed{
    width:230px!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .ap-footer-main .ap-footer-brand .ap-brand-fixed .ap-astral-logo{
    width:230px!important;
    max-width:100%!important;
    margin:0!important;
  }
  .ap-footer-main .ap-footer-col h3,
  .ap-footer-main .ap-footer-contact h3,
  .ap-footer-main .ap-footer-office h3{
    width:100%!important;
    text-align:left!important;
  }
  .ap-footer-main .ap-office-content{
    width:100%!important;
    max-width:none!important;
    align-items:flex-start!important;
  }
  .ap-footer-main .ap-footer-bottom{
    width:calc(100% - 32px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
