/* The outer canvas follows the visible phone screen; safe areas stay inside. */
:root{--cozzyko-width:100%;--cozzyko-height:100vh;--cozzyko-top:0px;--cozzyko-left:0px}
@supports(height:100dvh){:root{--cozzyko-height:100dvh}}
html{min-height:100%;background:#f6f2e8}
body{min-height:var(--cozzyko-height)}
.flash-reader-overlay{top:var(--cozzyko-top);left:var(--cozzyko-left);width:var(--cozzyko-width);height:var(--cozzyko-height)}
@media(max-width:767px),(hover:none) and (pointer:coarse){
  :root{--app-height:var(--cozzyko-height)}
  html{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
  body{width:100%;height:100%;min-height:0;margin:0;padding:0;display:block;overflow:hidden;overscroll-behavior:none}
  .app-shell{position:fixed;top:var(--cozzyko-top);left:var(--cozzyko-left);width:var(--cozzyko-width);height:var(--cozzyko-height);min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none;margin:0}
  .screen{min-height:0}
  .home-screen{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
  .home-screen::-webkit-scrollbar{display:none}
  .home-top,.home-content,.home-bottom{flex-shrink:0}
  .home-top{padding:calc(18px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 0 max(24px,env(safe-area-inset-left,0px))}
  .home-content{padding-top:clamp(28px,calc(var(--cozzyko-height) * .073),66px);padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
  .home-bottom{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  .screen-header{min-height:0;padding:calc(10px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 7px max(20px,env(safe-area-inset-left,0px))}
  .screen-scroll{min-height:0;padding-left:max(22px,env(safe-area-inset-left,0px));padding-right:max(22px,env(safe-area-inset-right,0px));-webkit-overflow-scrolling:touch}
  .screen-bottom{padding-bottom:calc(5px + env(safe-area-inset-bottom,0px))}
  #booking-dialog{position:fixed;inset:auto;top:var(--cozzyko-top);left:var(--cozzyko-left);width:var(--cozzyko-width);height:var(--cozzyko-height);min-width:0;min-height:0;max-width:none;max-height:none;margin:0;border:0;border-radius:0;box-shadow:none;overflow:hidden}
  #booking-dialog::backdrop{background:#f6f2e8}
  #booking-dialog .booking-modal{height:100%;min-height:0;overflow:hidden}
  #booking-dialog .booking-top{position:relative;top:auto;min-height:0;padding:calc(9px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 7px max(20px,env(safe-area-inset-left,0px))}
  #booking-dialog .booking-progress{position:relative;top:auto}
  #booking-form{min-height:0;overflow:hidden}
  #booking-dialog .booking-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  #booking-dialog .booking-main{flex-shrink:0;padding-left:max(25px,env(safe-area-inset-left,0px));padding-right:max(25px,env(safe-area-inset-right,0px))}
  #booking-dialog .booking-footer{position:relative;bottom:auto;flex:none;padding:13px max(20px,env(safe-area-inset-right,0px)) calc(13px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));margin-top:0}
  #booking-dialog input:not([type=radio]):not([type=checkbox]):not([type=file]),#booking-dialog select,#booking-dialog textarea{font-size:16px}
  .cozzyko-short-viewport .home-content{padding-top:15px}
  .cozzyko-short-viewport .home-charm,.cozzyko-short-viewport .home-bottom>p{display:none}
  .cozzyko-short-viewport .home-bottom{padding-top:8px}
  .cozzyko-short-viewport #booking-dialog .booking-main{padding-top:22px}
}
