.gallery-wrap{min-width:0}.gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-rows:unset}.gallery::-webkit-scrollbar{display:none}.gallery figure:nth-child(n){flex:0 0 min(410px,36vw);height:520px;grid-column:auto;grid-row:auto;scroll-snap-align:start}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:20px;color:#888;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.gallery-controls div{display:flex;gap:8px}.gallery-controls button{width:48px;height:48px;border:1px solid #b9b4aa;background:transparent;font-size:1.15rem;cursor:pointer}.gallery-controls button:hover{background:#111;color:#fff}
@media(max-width:600px){
  .gallery figure:nth-child(n){flex-basis:82vw;height:110vw;max-height:520px}.gallery-controls button{width:52px;height:52px}
  body{overflow-x:hidden}.access-screen{display:block;background:#111}.access-panel{min-height:100svh;justify-content:center;padding:34px 22px}.access-panel h1{font-size:2.8rem}.access-copy{font-size:.9rem}.access-panel input{font-size:16px;min-height:54px}.access-panel .primary-button{min-height:56px}.admin-access{min-height:42px}
  .topbar{height:66px}.brand img{width:44px;height:44px}.user-menu button{min-height:42px}.hero{min-height:auto}.hero-content{min-height:calc(100svh - 66px);padding:55px 22px}.hero-image{min-height:68svh}.primary-button.inline{min-height:55px;width:100%;justify-content:space-between}
  .services-grid{border-left:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-card{padding:18px 15px;min-height:135px;border:1px solid #383838}.service-card h3{font-size:1.12rem;margin:18px 0 5px}.service-card p{font-size:.72rem}.service-card strong{font-size:1rem;margin-top:14px}.service-options{gap:7px}.service-option{min-height:100px;padding:14px 11px}.service-option.selected{padding:13px 10px}.legend{gap:10px;flex-wrap:wrap}
  .date-strip-wrap{grid-template-columns:28px 1fr 28px;gap:3px}.date-strip{gap:5px}.date-button{min-height:88px;padding:12px 2px}.date-arrow{min-height:50px}.time-grid{gap:7px}.time-button{min-height:52px;font-size:.92rem}
  .booking-layout{gap:24px}.booking-summary{position:relative;top:auto;padding:25px 18px;margin:0 -6px}.booking-summary .primary-button{min-height:58px;font-size:1rem}.summary-row{font-size:.82rem}.summary-total strong{font-size:1.7rem}
  .modal{padding:10px}.modal-card{padding:35px 22px;max-height:94svh;overflow-y:auto}.admin-login-card input{font-size:16px;min-height:54px}
  .location-info{padding:58px 22px}.location-info h2{font-size:2.8rem}.address-line{padding:20px 0}.location-button{min-height:58px}.map-wrap,.map-wrap iframe{min-height:350px}
  .admin-header{height:66px;padding:0 12px;position:sticky;top:0;z-index:30}.admin-header button{min-height:42px;padding:8px 11px}.admin-header #viewClient{font-size:0}.admin-header #viewClient::after{content:"Ver site";font-size:.75rem}
  .admin-content{padding:30px 10px 60px}.admin-title h1{font-size:2.15rem}.admin-title p{font-size:.9rem;line-height:1.45}.admin-title .outline-button{min-height:48px;width:100%}
  .admin-stats{gap:7px}.admin-stats article{padding:16px 12px;display:block}.admin-stats article span{font-size:.7rem;display:block;min-height:34px}.admin-stats strong{font-size:1.6rem}
  .whatsapp-config{padding:20px 14px;gap:18px}.whatsapp-fields{grid-template-columns:1fr}.whatsapp-fields input{grid-column:span 1}.whatsapp-fields input,.whatsapp-fields button{min-height:52px;font-size:16px}
  .admin-calendar-head{padding:15px 12px}.admin-calendar-head h2{font-size:1.25rem}.admin-calendar-head button{width:45px;height:45px}.admin-weekday{padding:7px 1px}.admin-day{min-height:58px;border-radius:4px}.admin-day b{font-size:.86rem}.day-editor{padding:24px 14px}.day-editor h3{font-size:1.55rem;text-transform:capitalize}
  .manual-heading h2{font-size:1.7rem}.manual-heading p{font-size:.85rem}.manual-booking label{font-size:.78rem}.appointments{margin-top:34px}.appointments h2{padding-left:5px}.appointment-item{grid-template-columns:1fr;gap:8px;padding:18px 15px;border-radius:5px;margin-bottom:8px}.appointment-item strong{font-size:1rem}.appointment-item button{min-height:44px;margin-top:5px}
}
