/* Touch layouts, keyboard-friendly fields and phone payment flow. */
.pixInstructions{margin:16px 0;padding:16px;background:#f6ecde;border-radius:16px;color:#705239;font-size:14px;line-height:1.65}
.pixInstructions b{display:block;margin-bottom:6px}.pixInstructions ol{margin:0;padding-left:20px}
.paymentCheck{display:flex;flex-direction:column;gap:10px;margin-top:18px}.paymentCheck p{font-size:12px;color:#816c5b;line-height:1.6;margin:0}.paymentCheck .btn{min-height:48px}
.pixCode{min-width:0}.pixCode input{min-width:0}.pixCode button{min-height:48px}.paymentCard,.finalSummary{min-width:0}
.paymentExpired{padding:20px;border:1px solid #d8b290;background:#fff4e5;border-radius:16px}.paymentExpired h3{font-size:28px;margin:0 0 10px}.paymentExpired p{font-size:14px;line-height:1.6}
@media(max-width:760px){
  html{scroll-padding-top:90px}body{padding-bottom:calc(88px + env(safe-area-inset-bottom));-webkit-text-size-adjust:100%}
  button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}
  input,textarea,select,.field input,.field textarea{font-size:16px!important}
  .container{width:calc(100% - 32px)}.hero h1{font-size:clamp(48px,15.8vw,66px)}.heroCopy>p{font-size:15px;line-height:1.65}
  .mobileBottom .navItem{min-height:52px}
  .modalOpen .mobileBottom,.modalOpen .whatsFloat{visibility:hidden}
  .modal .modalPanel{width:100%;max-height:calc(100dvh - 12px);padding:20px 16px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;scroll-padding:66px 0 24px;-webkit-overflow-scrolling:touch}
  .modalPanel>.modalClose{position:sticky;float:right;top:0;right:auto;z-index:6;width:44px;height:44px;margin:-8px -4px 0 8px;background:#fffaf5;box-shadow:0 3px 14px #44241118}
  .modalHeader{padding-right:0}.bookingPanel>.modalHeader{padding-right:0}.modalHeader h2{font-size:32px}.modalHeader .eyebrow{font-size:9px}
  .bookingCategoryTabs button{min-height:76px;font-size:11px}.stepDots small{font-size:10px}
  .serviceOption small{font-size:13px}.pickerIntro p,.calendarHint{font-size:12px}.calendarDay{min-height:42px;font-size:15px}.calendarHeader button{width:44px;height:44px}
  .bookingNav .btn{min-height:48px;font-size:13px}.bookingNav .linkDecision{min-height:44px;padding:10px 0}.bookingNav #createBookingBtn{flex:1;white-space:normal;text-align:center}
  .referenceUpload input{width:100%}.uploadReferenceButton{min-height:48px}.referencePreview button{min-height:44px;padding:8px 0}.referencePolicy{font-size:13px!important}
  .catalogTabs button,.catalogAction,.catalogZoom{min-height:44px}.catalogAction{font-size:12px}.catalogInfo small{font-size:10px}.catalogTabs{padding-bottom:10px;scroll-snap-type:x proximity}.catalogTabs button{scroll-snap-align:start;flex-shrink:0}
  .heroGalleryButtons button{min-width:44px;min-height:44px}.heroGalleryButtons .heroPause{min-width:64px}.textBtn{min-height:44px}
  .sectionHead p,.serviceBody p,.serviceBody ul{font-size:14px}.trustGrid small{font-size:11px}.processCard p{font-size:13px}
  .portalTop{gap:14px}.portalFilters{gap:8px}.portalFilters button{padding:12px 15px;min-height:46px}.portalActions button{min-height:46px}.referenceChip{min-height:46px;font-size:13px}.portalAuth .btn{width:100%}.otpInput{display:flex;gap:8px}.otpInput input{width:100%;min-width:0;letter-spacing:.15em}.otpInput .btn{width:auto;flex-shrink:0}
  .paymentLayout{grid-template-columns:minmax(0,1fr);gap:18px}.paymentCard,.finalSummary{padding:20px 16px}.paymentStatus{gap:12px}.paymentStatus h3{font-size:27px;line-height:1.15}.paymentStatus p{font-size:13px;line-height:1.6}.pixBox{flex-wrap:wrap;justify-content:center;text-align:center}.pixBox img{width:170px;height:170px;object-fit:contain}.pixBox strong{font-size:32px}.pixBox p{font-size:13px}.pixCode{display:flex;flex-direction:column;gap:8px}.pixCode input{width:100%;min-height:48px;border-radius:10px;font-size:16px}.pixCode button{width:100%;border-radius:12px;font-size:14px}.demoNotice{font-size:12px;line-height:1.6}.demoNotice .btn{display:flex;width:100%;min-height:48px;margin-top:12px}
  .finalSummary h3{font-size:29px}.finalSummary>p,.finalSummary>span{font-size:14px}.finalSummary>.btn{width:100%;min-height:48px}.confirmActions{display:flex;flex-direction:column;gap:10px}.confirmActions .btn{min-height:48px;width:100%}.confirmedCard h2{font-size:38px}.confirmTicket{overflow-wrap:anywhere}
  .toast{left:16px;right:16px;bottom:calc(88px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);width:auto;transform:translateY(18px);font-size:14px;text-align:center}.toast.show{transform:translateY(0)}.modalOpen .toast{bottom:calc(22px + env(safe-area-inset-bottom))}
  .footerLinks a,.creatorCredit a{display:inline-flex;align-items:center;min-height:44px}.footerBottom{padding-bottom:12px}
}
@media(max-width:350px){.modal .modalPanel{padding-left:12px;padding-right:12px}.calendarPanel,.availabilityPanel{padding:12px}.calendarWeek,.calendarDays{gap:2px}.bookingCategoryTabs{gap:4px}.bookingCategoryTabs button{font-size:10px}.stepDots small{font-size:9px}.heroGallery{left:8px;right:8px}}
@media(max-height:500px) and (orientation:landscape){.modal .modalPanel{max-height:calc(100dvh - 8px)}.modalHeader h2{font-size:30px}.portalWelcomePhoto{height:130px}}

#resumePaymentNotice{position:fixed;z-index:2800;left:24px;bottom:24px;min-height:48px;box-shadow:0 8px 32px #321b1460}#resumePaymentNotice[hidden],.modalOpen #resumePaymentNotice{display:none}@media(max-width:760px){#resumePaymentNotice{left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));font-size:12px}}

@media(max-width:760px){
  footer{text-align:center;padding:36px 20px 24px}
  .footerMain{align-items:center;gap:22px}
  .footerMain .brand{justify-content:center}
  .footerLinks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 28px;width:min(100%,300px);font-size:13px}
  .footerLinks a{justify-content:center}
  .footerLinks a:last-child:nth-child(odd){grid-column:1/-1}
  .footerMain>.btn{width:min(100%,320px);min-height:48px;font-size:13px}
  .footerBottom{align-items:center;justify-content:center;gap:12px;margin-top:26px;padding-top:22px;font-size:12px;line-height:1.6}
  .creatorCredit{justify-content:center;gap:8px;font-size:12px;max-width:100%}
  .creatorCredit>span:last-child{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 4px}
}
