
/* iPhone / iOS Safari adaptation v1
   Cloudflare Pages + D1 compatible: frontend-only safe-area/viewport fixes. */
:root{
  --ios-vh: 100vh;
  --ios-safe-top: env(safe-area-inset-top, 0px);
  --ios-safe-bottom: env(safe-area-inset-bottom, 0px);
  --ios-safe-left: env(safe-area-inset-left, 0px);
  --ios-safe-right: env(safe-area-inset-right, 0px);
}
html{
  height:100%;
  min-height:100%;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  min-height:var(--ios-vh);
  height:var(--ios-vh);
  padding-top:var(--ios-safe-top);
  padding-left:var(--ios-safe-left);
  padding-right:var(--ios-safe-right);
  padding-bottom:var(--ios-safe-bottom);
  box-sizing:border-box;
  -webkit-overflow-scrolling:touch;
}
.bg-start{
  height:var(--ios-vh) !important;
  min-height:var(--ios-vh) !important;
  padding-top:var(--ios-safe-top);
  padding-bottom:var(--ios-safe-bottom);
  box-sizing:border-box;
}
.main{
  min-height:0 !important;
  height:calc(var(--ios-vh) - var(--ios-safe-top) - var(--ios-safe-bottom)) !important;
  max-height:calc(var(--ios-vh) - var(--ios-safe-top) - var(--ios-safe-bottom)) !important;
}
.footer{
  bottom:var(--ios-safe-bottom) !important;
  padding-bottom:max(6px, var(--ios-safe-bottom)) !important;
  box-sizing:border-box !important;
}
.loadpage{
  height:var(--ios-vh) !important;
  min-height:var(--ios-vh) !important;
  padding-top:var(--ios-safe-top);
  padding-bottom:var(--ios-safe-bottom);
  box-sizing:border-box;
}
#intro-video,
.video-background,
#background-video{
  height:var(--ios-vh) !important;
  max-height:var(--ios-vh) !important;
}
input,button,select,textarea{
  font-size:16px;
  -webkit-appearance:none;
  appearance:none;
}
button,a{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
img,video,canvas,svg{
  max-width:100%;
}
.main > .block,
.block.active{
  min-height:0 !important;
}
.documentSlider{
  height:min(504px, calc(var(--ios-vh) - 160px)) !important;
  min-height:min(504px, calc(var(--ios-vh) - 160px)) !important;
  max-height:min(504px, calc(var(--ios-vh) - 160px)) !important;
  box-sizing:border-box !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.documentSlider .swiper-wrapper{
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.documentSlider .swiper-slide,
.documentSlider .slider{
  height:min(460px, calc(var(--ios-vh) - 190px)) !important;
  min-height:min(460px, calc(var(--ios-vh) - 190px)) !important;
  max-height:min(460px, calc(var(--ios-vh) - 190px)) !important;
}
.documentSlider .slider{
  width:min(100%, 390px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.documentSlider .content.front,
.documentSlider .content.back{
  overflow:hidden !important;
}
.documentSlider .dataBlock>img{
  max-width:38vw !important;
  height:auto !important;
  object-fit:cover;
}
.documentSlider .qrcodeBlock{
  max-width:100% !important;
}
.documentSlider .qrshBlock{
  width:min(252px, 68vw) !important;
  height:min(252px, 68vw) !important;
}
.documentSlider .qrshBlock .qrcode{
  width:min(210px, 57vw) !important;
  height:min(210px, 57vw) !important;
  flex:0 0 auto !important;
}
.documentSlider .slider{
  -webkit-transform:translateZ(0) rotateY(0deg);
  transform:translateZ(0) rotateY(0deg);
  -webkit-backface-visibility:visible !important;
  backface-visibility:visible !important;
}
.documentSlider .content.front,
.documentSlider .content.back{
  -webkit-backface-visibility:hidden !important;
  backface-visibility:hidden !important;
}
.documentSlider .content.back{
  -webkit-transform:translateZ(0) rotateY(180deg) !important;
  transform:translateZ(0) rotateY(180deg) !important;
}
.documentSlider .content.front{
  -webkit-transform:translateZ(0) rotateY(0deg) !important;
  transform:translateZ(0) rotateY(0deg) !important;
}
/* Never let the document flip be triggered by a horizontal carousel swipe. */
.documentSlider .slider,
.documentSlider .content.front,
.documentSlider .content.back{
  touch-action:manipulation !important;
}
@media (max-width:600px){
  .documentSlider{
    height:min(490px, calc(var(--ios-vh) - 145px)) !important;
    min-height:min(490px, calc(var(--ios-vh) - 145px)) !important;
  }
  .documentSlider .swiper-slide,
  .documentSlider .slider{
    height:min(445px, calc(var(--ios-vh) - 175px)) !important;
    min-height:min(445px, calc(var(--ios-vh) - 175px)) !important;
  }
}
@media (max-width:380px){
  .documentSlider .swiper-slide,
  .documentSlider .slider{
    height:min(415px, calc(var(--ios-vh) - 175px)) !important;
    min-height:min(415px, calc(var(--ios-vh) - 175px)) !important;
  }
  .documentSlider .dataBlock>img{max-width:34vw !important;}
  .documentSlider .qrshBlock{width:62vw !important;height:62vw !important;}
  .documentSlider .qrshBlock .qrcode{width:52vw !important;height:52vw !important;}
}
/* Avoid Safari's automatic zoom when focusing compact form controls. */
@media (max-width:600px){
  .field,.select,.dai-input,.df-search,.df-input{
    font-size:16px !important;
  }
}
/* iOS standalone: keep content below the Dynamic Island/notch and above home bar. */
@supports (padding: max(0px)){
  .footer{
    padding-bottom:max(6px, env(safe-area-inset-bottom)) !important;
  }
}
