/* Mobile layout: header menu, top bar and narrow-screen fixes.
   Hooks are the dc-* classes in each page's template. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

.dc-burger,.dc-subnav,.dc-subtoggle{display:none}

/* Tablet: the top bar no longer lines up with the desktop Call button */
@media (max-width:1149px){
  .dc-topbar-in{padding-right:20px!important}
}

/* Header: hamburger menu */
@media (max-width:900px){
  .dc-hdr{padding:12px 16px!important;gap:12px!important;flex-wrap:wrap!important}
  .dc-hdr>a:first-child img{width:118px!important}
  .dc-call{margin-left:auto;padding:9px 16px!important;font-size:15px!important}
  .dc-burger{display:flex;order:2;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 11px;border:1px solid #0B0558;border-radius:12px;background:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .dc-burger span{display:block;height:2px;border-radius:2px;background:#0B0558;transition:transform .2s ease,opacity .2s ease}
  .dc-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .dc-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .dc-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .dc-nav{display:none!important}
  .dc-nav.open{display:flex!important;order:3!important;flex:0 0 calc(100% + 32px)!important;margin:0 -16px -12px!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;border-top:1px solid #E3E8F2;font-size:17px!important}
  .dc-nav.open>a,.dc-nav.open>div>a{display:flex!important;padding:14px 20px;border-bottom:1px solid #EEF1F7}
  .dc-nav.open>div:not(.dc-subnav){display:flex;padding:0!important;margin:0!important;border-bottom:1px solid #EEF1F7}
  .dc-nav.open>div>a{flex:1;border-bottom:0!important}
  .dc-nav.open>div>a>i{display:none}
  .dc-nav.open .dc-subtoggle{display:block;position:relative;flex:0 0 56px;border:0;border-left:1px solid #EEF1F7;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .dc-subtoggle::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-right:2px solid #0B0558;border-bottom:2px solid #0B0558;transform:translate(-50%,-70%) rotate(45deg);transition:transform .2s ease}
  .dc-subtoggle[aria-expanded="true"]::after{transform:translate(-50%,-30%) rotate(-135deg)}
  .dc-nav.open .dc-subnav.open{display:flex;flex-direction:column;background:#F2F7FD;border-bottom:1px solid #EEF1F7}
  .dc-subnav a{padding:11px 20px 11px 36px;font-size:15px;color:#0B0558}
  .dc-subnav a:hover{color:#2546E8}
}

/* Phones */
@media (max-width:760px){
  /* Top bar: one compact line */
  .dc-topbar-in{justify-content:center!important;gap:4px 20px!important;padding:7px 16px!important}
  .dc-topbar-in>div{gap:7px!important}
  .dc-topbar-in i{font-size:15px!important}
  .dc-topbar-in>div>div{display:flex;flex-wrap:wrap;gap:0 6px;line-height:1.4!important}
  .dc-topbar-in>div>div>div{font-size:12.5px!important;font-weight:500!important}
  .dc-topbar-in>div:last-child>div>div:last-child{display:none}

  /* Home / About: image + blue panel stack full width */
  .dc-about{min-height:0!important}
  .dc-about-img,.dc-about-col{flex:1 1 100%!important;min-width:0!important}
  .dc-about-img{min-height:240px!important}
  .dc-about-col{padding:0 16px 48px!important}
  .dc-about-panel{margin:-48px 0 0!important;padding:44px 24px 40px!important;border-radius:28px!important}

  /* Home contact form */
  .dc-contact-col{flex:1 1 100%!important;min-width:0!important;justify-content:center!important;padding:64px 16px 56px!important}
  .dc-contact-img{flex:1 1 100%!important;min-width:0!important;min-height:300px!important}

  /* Service cards */
  .dc-card{padding:40px 24px!important}
}
