/* Chip 'n Dip Mobile UI v1.2.4 — mobile only. Desktop remains unchanged. */
.cnd-mobile-shell,.cnd-mobile-footer,.cnd-mobile-menu-backdrop,.cnd-mobile-drawer{display:none}

@media (max-width:921px){
:root{--cnd-red:#ef4438;--cnd-purple:#57139b;--cnd-white:#fff}
html.cnd-menu-open,body.cnd-menu-open{overflow:hidden!important}

/* Stop relying on Astra's responsive header. It changes markup between breakpoints and
   was the cause of the missing logo / empty red row. Our header below is self-contained. */
#masthead{display:none!important}

/* ===== SELF-CONTAINED MOBILE HEADER ===== */
.cnd-mobile-shell{display:block!important;width:100%;margin:0;padding:0;background:var(--cnd-red);position:relative;z-index:900}
.cnd-mobile-brand{display:flex;position:relative;min-height:138px;height:138px;align-items:center;justify-content:center;padding:8px 58px 8px;background-color:var(--cnd-red);background-position:center!important;background-repeat:repeat!important;background-size:auto!important;overflow:hidden}
.cnd-mobile-logo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;padding:0;text-decoration:none!important;line-height:0}
.cnd-mobile-logo-img{display:block!important;width:auto!important;max-width:min(245px,78vw)!important;height:auto!important;max-height:124px!important;object-fit:contain!important;margin:0 auto!important}
.cnd-mobile-site-name{color:#fff;font-size:24px;font-weight:800;line-height:1.1}

/* Hamburger lives INSIDE the new header instead of floating over Astra. */
.cnd-mobile-menu-button{display:flex!important;position:absolute!important;top:10px;right:10px;z-index:1205;width:40px;height:40px;padding:0;border:0;border-radius:7px;background:var(--cnd-purple);align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(0,0,0,.18);cursor:pointer}
.cnd-menu-lines{width:20px;display:grid;gap:4px}
.cnd-menu-lines i{display:block;height:2px;background:#fff;border-radius:2px}

/* ===== TWO CTA BUTTONS ===== */
.cnd-mobile-cta-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:7px 8px 8px;background:var(--cnd-red);position:relative;z-index:30}
.cnd-mobile-cta{min-height:35px;display:flex;align-items:center;justify-content:center;padding:7px 5px;background:var(--cnd-purple)!important;color:#fff!important;text-decoration:none!important;text-align:center;text-transform:uppercase;font-size:10px;font-weight:800;line-height:1.05;border-radius:5px;box-shadow:0 2px 5px rgba(0,0,0,.14)}

/* Ensure Elementor begins immediately after our buttons. */
#content,.site-content{margin-top:0!important;padding-top:0!important}

/* Astra normally makes #page a full-viewport flex column and lets #content grow.
   On this short homepage that creates a large white band above the footer in
   mobile preview. Let the page height follow the actual content instead. */
#page.site{display:block!important;min-height:0!important;height:auto!important}
#content.site-content{display:block!important;flex:0 0 auto!important;min-height:0!important;height:auto!important}
#primary,#main,.site-main{min-height:0!important;height:auto!important;margin-bottom:0!important;padding-bottom:0!important}

/* ===== OFF-CANVAS DRAWER ===== */
.cnd-mobile-menu-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.52);opacity:0;visibility:hidden;pointer-events:none;transition:.22s ease;z-index:1198}
.cnd-mobile-drawer{display:flex;position:fixed;top:0;right:0;bottom:0;width:min(84vw,330px);height:100dvh;background:var(--cnd-red);flex-direction:column;transform:translateX(105%);transition:transform .25s ease;box-shadow:-12px 0 32px rgba(0,0,0,.28);z-index:1199;overflow-y:auto}
body.cnd-menu-open .cnd-mobile-menu-backdrop{opacity:1;visibility:visible;pointer-events:auto}
body.cnd-menu-open .cnd-mobile-drawer{transform:translateX(0)}
.cnd-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px;background:var(--cnd-purple);color:#fff}
.cnd-drawer-head strong{font-size:18px;letter-spacing:.5px}
.cnd-mobile-menu-close{width:38px;height:38px;border:0;background:transparent;color:#fff;font-size:32px;line-height:1;cursor:pointer}
.cnd-mobile-nav{display:block;padding:8px 16px 12px}
.cnd-mobile-nav a{display:block;padding:14px 7px;color:#fff!important;text-decoration:none!important;text-transform:uppercase;font-size:16px;font-weight:800;line-height:1.15;border-bottom:1px solid rgba(255,255,255,.45)}
.cnd-drawer-actions{margin-top:auto;padding:14px 16px 20px;display:grid;gap:8px;background:rgba(0,0,0,.05)}
.cnd-drawer-actions a{display:block;padding:11px 10px;border-radius:5px;background:var(--cnd-purple);color:#fff!important;text-decoration:none!important;text-align:center;text-transform:uppercase;font-size:11px;font-weight:800}

/* ===== COMPACT FOOTER ===== */
.site-footer .site-primary-footer-wrap,.site-footer .site-above-footer-wrap{display:none!important}
.site-footer .site-below-footer-wrap{padding:7px 10px!important;min-height:0!important}
.site-footer .site-below-footer-wrap,.site-footer .site-below-footer-wrap *{font-size:10px!important;line-height:1.3!important}
.site-footer .ast-builder-grid-row{min-height:0!important}
.cnd-mobile-footer{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--cnd-purple);color:#fff;border-top:1px solid rgba(255,255,255,.2)}
.cnd-mobile-footer .cnd-mf-item{display:flex;min-width:0;padding:8px 4px 7px;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#fff!important;text-decoration:none!important;font-size:9px;font-weight:700;line-height:1.1;text-align:center;border-right:1px solid rgba(255,255,255,.18)}
.cnd-mobile-footer .cnd-mf-item:last-child{border-right:0}.cnd-mobile-footer .cnd-mf-icon{font-size:16px;line-height:1}
}

@media (max-width:420px){
.cnd-mobile-brand{min-height:128px;height:128px;padding-top:6px;padding-bottom:6px}
.cnd-mobile-logo-img{max-width:min(230px,76vw)!important;max-height:114px!important}
.cnd-mobile-cta{font-size:9px;padding:7px 4px}
}
