/* AZOVSKI mobile refinement – intentionally isolated from desktop. */
@media (max-width:768px){
  :root{--mobile-pad:16px;--mobile-radius:18px}
  html{scroll-padding-top:82px;-webkit-text-size-adjust:100%}
  body{font-size:16px;line-height:1.55;overflow-x:hidden}
  button,input,select,textarea{font-size:16px!important}
  button,.btn,.pill,a{touch-action:manipulation}
  .wrap{width:calc(100% - 24px)!important}

  /* Header and navigation */
  .header{top:0!important;padding:6px!important}
  .header .nav{min-height:58px!important;padding:6px 8px!important;border-radius:17px!important;gap:5px!important}
  .brand .logo-lockup{width:132px!important;max-width:40vw!important}
  .utility{margin-left:auto}.utility .pill,.menu-btn{min-width:42px!important;min-height:42px!important;display:grid;place-items:center}
  .links.open{top:72px!important;left:8px!important;right:8px!important;max-height:calc(100dvh - 82px)!important;padding:9px!important;border-radius:18px!important;overscroll-behavior:contain}
  .links.open button{min-height:48px!important;border-radius:12px!important}
  .lang-menu{position:fixed!important;top:72px!important;left:8px!important;right:8px!important;width:auto!important;max-height:calc(100dvh - 84px);overflow:auto}

  /* Page rhythm and typography */
  .page{overflow:hidden}
  .subhero,#objects .subhero{padding:32px 0 20px!important}
  .subhero h1,h1{font-size:clamp(36px,10.8vw,48px)!important;line-height:1.02!important;letter-spacing:-.045em!important;overflow-wrap:anywhere}
  h2{font-size:clamp(29px,8.4vw,39px)!important;line-height:1.08!important}
  h3{font-size:21px!important}.lead,.subhero p{font-size:17px!important;line-height:1.55!important}
  .section{padding:42px 0!important}.kicker,.eyebrow{font-size:11px!important;letter-spacing:.14em!important}
  .card{padding:20px!important;border-radius:var(--mobile-radius)!important}.card:hover{transform:none}
  .grid,.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}

  /* Homepage */
  #home .hero{display:flex!important;flex-direction:column;min-height:auto!important;gap:26px!important;padding:34px 0 104px!important}
  #home .hero-copy{width:100%}#home .hero h1{margin:14px 0 20px!important}
  #home .hero .actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:24px!important}
  #home .hero .actions .btn{width:100%;min-height:50px;display:grid;place-items:center;text-align:center}
  .hero-art{width:100%!important;height:auto!important;min-height:290px;aspect-ratio:4/3;border-radius:22px!important}
  .art-label{left:14px!important;top:14px!important;max-width:calc(100% - 28px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .art-status{left:14px!important;right:14px!important;bottom:14px!important;padding:12px 14px!important}
  .quick{grid-template-columns:1fr!important;gap:10px!important;margin-top:-70px!important;padding-bottom:34px!important}
  .quick button{min-height:0!important;padding:18px!important;display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:center}
  .quick button span{grid-row:1/3;margin:0!important}.quick button b{font-size:18px!important;margin:0!important}.quick button small{font-size:14px!important}

  /* Forms and uploads */
  .contact-grid,.form-grid,.address-grid,.conditional-row,.appointment-card,.appointment-row{grid-template-columns:minmax(0,1fr)!important}
  .field,.field.full{min-width:0!important;grid-column:auto!important}
  .field input,.field select,.field textarea,.azcp-field input,.azadm-form input,.azadm-form select,.azadm-form textarea,.azom-edit input,.azom-edit select,.azom-edit textarea{width:100%!important;min-width:0!important;min-height:50px!important;padding:13px 14px!important;border-radius:13px!important}
  .field textarea,.azadm-form textarea,.azom-edit textarea{min-height:112px!important}
  .wizard-controls{display:grid!important;grid-template-columns:1fr 1fr;gap:9px!important}.wizard-controls .btn{width:100%;min-width:0!important;padding-inline:10px!important}
  .wizard-hint{display:none!important}.wizard-step{min-width:0}.wizard-submit .btn{width:100%}
  .upload-box,.digital-upload-box,.azfile-picker{min-width:0!important;padding:16px!important;border-radius:15px!important;overflow:hidden}
  .upload-copy,.upload-state,.azfile-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:normal!important;overflow-wrap:anywhere}
  .privacy-check,.business-check{align-items:flex-start!important;padding:14px!important;border-radius:14px!important}
  .privacy-check>input[type="checkbox"],.business-check>input[type="checkbox"]{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;padding:0!important;margin:3px 0 0!important;flex:0 0 20px!important;border-radius:5px!important}
  .privacy-check>span,.business-check>span{min-width:0!important;flex:1 1 auto!important;overflow-wrap:anywhere!important}
  .privacy-check span button,.business-check span button{display:inline!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .choice-grid{grid-template-columns:1fr!important}.appointment-stack{gap:12px!important}

  /* Object browser and detail pages */
  #objects>.section{padding-top:8px!important}.objects-layout,.objects-layout.city-browser-layout{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
  .city-browser-layout .object-list{padding:10px!important}
  .photo-preview-layout .city-browser-scroll{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
    max-height:250px!important;
    padding:2px 4px 4px 2px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }
  .photo-preview-layout .city-browser-scroll>:is(button,a[data-object-index]){
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
    padding:11px 14px!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
    transform:none!important;
  }
  .object-preview-caption{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
  .object-preview-caption>div{min-width:0!important}
  .object-preview-caption h2{overflow-wrap:anywhere!important}
  .object-preview-caption>button{width:100%!important;max-width:none!important;justify-content:center!important;text-align:center!important}
  .az-map-viewport{height:390px!important;border-radius:18px!important}.az-map-toolbar{align-items:flex-start!important}.az-map-title{max-width:65%!important}
  .az-map-controls{display:flex}.az-map-hint{white-space:normal!important;text-align:center;line-height:1.3}
  .object-detail-backbar{gap:8px!important;padding:8px!important;margin-bottom:14px!important}.object-detail-backbar .object-back-button{padding:10px!important;font-size:13px!important}
  .object-detail-backbar .selected-object-name{max-width:46%!important;font-size:12px!important}
  .object-detail-mode .object-shell{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
  .object-detail-mode .object-side{top:70px!important;min-width:0!important;overflow:hidden!important}
  .object-detail-mode .object-side nav{display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;gap:5px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch}
  .object-detail-mode .object-side nav::-webkit-scrollbar{display:none}
  .object-detail-mode .object-side nav>button{flex:0 0 auto!important;width:auto!important;min-width:0!important;white-space:nowrap!important;transform:none!important}
  .object-detail-mode .object-side nav>button.sub{padding-left:13px!important}
  .object-detail-mode .object-intro{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
  .object-detail-mode .object-intro .scene{aspect-ratio:4/3!important;border-radius:18px!important}
  .service-section,.service-section:nth-child(even){display:flex!important;flex-direction:column!important;gap:20px!important;padding:35px 0!important}
  .service-thumb{width:100%!important;height:auto!important;aspect-ratio:4/3!important;border-radius:18px!important;order:0!important}
  .service-copy{order:1!important}.service-chips{gap:7px!important}.service-chips span{padding:8px 10px!important;font-size:14px!important}
  .benefit-carousel{min-height:330px}.benefit-card{padding:19px!important}.benefit-arrow{width:42px!important;height:42px!important}
  .portal-teaser,.quote-teaser,.brochure-card{padding:19px!important;margin:28px 0!important;border-radius:18px!important}

  /* Region, pricing and general content */
  .journey{grid-template-columns:1fr!important}.journey div{padding:15px 10px!important}
  .region-map{min-height:0!important;padding:18px!important;display:flex;flex-direction:column;gap:18px}.region-map .map-shape{position:relative!important;inset:auto!important;width:100%!important;height:280px!important;transform:none!important}.region-map .rlist{position:relative!important;inset:auto!important;width:100%!important}
  .actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.actions .btn{width:100%!important;min-height:48px;display:grid;place-items:center}
  .price-card{min-height:0!important}.team-photo{height:auto!important;aspect-ratio:4/3}

  /* Customer and owner portals */
  #portal{min-height:100dvh!important}.azcp{width:100%!important;max-width:none!important;padding:82px 8px 28px!important}
  .azcp-login,.azcp-app{border-radius:20px!important;min-height:0!important;box-shadow:0 18px 50px rgba(0,0,0,.14)!important}
  .azcp-login{grid-template-columns:1fr!important}.azcp-intro{padding:27px 20px!important;min-height:220px}.azcp-intro h1{font-size:clamp(36px,11vw,48px)!important;margin:12px 0 17px!important}.azcp-intro p{font-size:16px!important}
  .azcp-formbox{padding:25px 18px 30px!important}.azcp-form h2{font-size:27px!important;margin-bottom:18px!important}
  .azcp-top{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:10px!important;padding:14px!important}.azcp-top .azcp-tag{grid-column:1/-1;grid-row:2;width:max-content;max-width:100%}
  .azcp-account-actions,.azadm-top-actions{display:flex!important;justify-content:flex-end;gap:6px!important;min-width:0}.azcp-out{min-height:42px;padding:9px 11px!important;font-size:13px!important}
  .azadm-top-actions .azadm-backup{grid-column:1/-1}.azadm-top-actions{flex-wrap:wrap!important}
  .azcp-body{display:block!important;min-height:0!important}.azcp-side{padding:10px!important;border-right:0!important;border-bottom:1px solid var(--line)!important;overflow:hidden!important}
  .azcp-property{padding:5px 7px 10px!important}.azcp-nav{display:flex!important;gap:6px!important;overflow-x:auto!important;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:2px}.azcp-nav::-webkit-scrollbar{display:none}
  .azcp-nav button{flex:0 0 auto;min-height:44px;padding:10px 13px!important;white-space:nowrap;scroll-snap-align:start}
  .azcp-main{padding:24px 14px 30px!important;min-width:0!important}.azcp-main h1{font-size:clamp(32px,10vw,43px)!important}.azcp-lead{font-size:16px!important}
  .azcp-cards{grid-template-columns:1fr!important;gap:10px!important;margin-top:22px!important}.azcp-card,.azcp-row,.azcp-empty{padding:17px!important;border-radius:15px!important}
  .azcp-row{grid-template-columns:1fr!important;gap:7px!important}.azcp-empty{min-height:190px!important;margin-top:18px!important}.azcp-empty h2{font-size:28px!important}
  .azadm-head{margin-bottom:17px!important}.azadm-head h2{font-size:30px!important}.azadm-grid{grid-template-columns:minmax(0,1fr)!important}.azadm-form,.azadm-list{padding:16px!important;border-radius:17px!important;min-width:0}
  .azadm-item{padding:16px!important}.azadm-item>.azadm-btn,.azadm-item>.azcp-out{width:100%;margin:8px 0 0!important}
  .azadm-invoice-fields,.azadm-doc-edit-form.on,.azadm-visit-times{grid-template-columns:minmax(0,1fr)!important}.azadm-visibility{padding:13px!important}
  .azom-summary,.azom-content{grid-template-columns:1fr!important}.azom-content{padding:0 13px 13px!important}.azom-object{padding:16px!important}.azom-actions .azom-button{width:100%}
  .azcp-document summary{grid-template-columns:42px minmax(0,1fr) 26px!important;gap:10px!important;padding:15px!important}.azcp-document-amount,.azcp-document-status{grid-column:2!important}.azcp-document-chevron{grid-column:3!important;grid-row:1!important}.azcp-document-content{padding:3px 15px 15px!important}.azcp-document-facts{grid-template-columns:1fr!important}

  /* Messages and request workflow */
  .azmsg-head{align-items:flex-start!important;flex-direction:column!important}.azmsg-head h2{font-size:30px!important}.azmsg-layout{display:block!important;min-height:0!important;border-radius:18px!important}
  .azmsg-sidebar{border-right:0!important;border-bottom:1px solid var(--line)!important;padding:12px!important}.azmsg-threads{display:flex!important;overflow-x:auto;gap:8px!important;padding-bottom:3px;scrollbar-width:none}.azmsg-threads::-webkit-scrollbar{display:none}
  .azmsg-thread{flex:0 0 82%;max-width:300px}.azmsg-conversation-head{padding:16px!important}.azmsg-stream{padding:15px!important;max-height:48dvh!important;min-height:260px}.azmsg-bubble{max-width:90%!important;padding:12px 13px!important}
  .azmsg-compose{padding:12px!important}.azmsg-compose textarea{min-height:90px!important}.azmsg-compose-actions{align-items:stretch!important;flex-direction:column!important}.azmsg-compose-actions button{width:100%}
  .azrq-modal,.azreq-modal,.azq-modal{align-items:flex-end!important;padding:0!important}.azrq-dialog,.azreq-dialog,.azq-dialog{width:100%!important;max-width:none!important;max-height:92dvh!important;margin:0!important;border-radius:22px 22px 0 0!important;padding:20px 16px calc(20px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;overscroll-behavior:contain}

  /* Legal pages */
  .legal-wrap{width:calc(100% - 20px)!important;padding-top:92px!important}.legal-card{padding:18px!important;border-radius:19px!important}.legal-card:has(.legal-accordion){padding:14px 17px!important}
  .legal-wrap>.legal-back{display:flex!important;width:max-content;max-width:100%;margin:0 0 20px!important}
  .legal-wrap>.legal-back+.kicker{display:block!important;margin:0 0 14px!important}
  .legal-translation-note{padding:14px!important;margin-bottom:18px!important}.legal-accordion summary{padding:18px 0!important}.legal-accordion-title{font-size:17px!important}.legal-accordion-content{padding:0 0 20px!important;font-size:15px;line-height:1.65;overflow-wrap:anywhere}
  .cookie-table>div{grid-template-columns:1fr!important;gap:5px!important}.azcp-legal-links{gap:5px 14px!important;padding:15px 12px!important}

  /* Comfortable touch targets */
  .service-city-toggle{min-height:44px!important;padding:9px 12px!important}
  .footer-instagram,.legal-links button{min-height:44px!important;display:inline-flex!important;align-items:center!important}
  .legal-links{row-gap:2px!important}

  /* Safe-area and overflow guards */
  img,video,svg,canvas{max-width:100%}.footer{padding-bottom:calc(32px + env(safe-area-inset-bottom))!important}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  pre,code{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}
}

@media (min-width:481px) and (max-width:768px){
  .header{padding:10px 12px!important}
  .header .nav{width:100%!important;min-height:68px!important;padding:9px 14px!important;gap:12px!important;justify-content:space-between!important}
  .brand{margin-right:auto!important}
  .brand .logo-lockup{width:160px!important;max-width:34vw!important}
  .utility{margin-left:auto!important;gap:10px!important}
  .utility .pill,.menu-btn{min-width:46px!important;min-height:46px!important;padding:8px 11px!important}
}

@media (max-width:420px){
  .brand .logo-lockup{width:116px!important;max-width:36vw!important}
  .utility .pill{padding-inline:7px!important}.azcp-top{grid-template-columns:1fr!important}.azcp-top>.azcp-logo,.azcp-top>.azcp-tag{grid-column:1}.azcp-account-actions,.azadm-top-actions{justify-content:flex-start!important}
  .wizard-controls{grid-template-columns:1fr!important}.az-map-viewport{height:350px!important}
  .azmsg-thread{flex-basis:90%}.azcp-main{padding-inline:11px!important}
}
