/* Bounded, touch-safe interactions for reusable Noura Core UI. */
.noura-service-card{transition:transform 200ms cubic-bezier(.23,1,.32,1),border-color 180ms ease,box-shadow 200ms ease}.noura-service-card>img{transition:transform 280ms cubic-bezier(.23,1,.32,1),opacity 180ms ease}.noura-gallery-item img{transition:transform 260ms cubic-bezier(.23,1,.32,1)}.noura-gallery-item span{transition:opacity 180ms cubic-bezier(.23,1,.32,1),transform 180ms cubic-bezier(.23,1,.32,1)}.noura-choice>span{transition:transform 160ms cubic-bezier(.23,1,.32,1),border-color 160ms ease,background-color 160ms ease,box-shadow 160ms ease}.noura-choice>span:active,.noura-slots label span:active{transform:scale(.98)}.noura-service-card:hover{transform:none}.noura-service-card:hover>img,.noura-gallery-item:hover img{transform:none}.noura-gallery-item:hover span{opacity:0;transform:translateY(10px)}
@media(hover:hover) and (pointer:fine){.noura-service-card:hover{transform:translateY(-5px);border-color:rgba(207,164,161,.45)}.noura-service-card:hover>img{transform:scale(1.035);opacity:.54}.noura-gallery-item:hover img{transform:scale(1.035)}.noura-gallery-item:hover span{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.noura-service-card,.noura-service-card>img,.noura-gallery-item img,.noura-gallery-item span,.noura-choice>span{transition-duration:1ms!important}}

/* Commercial-theme readability and touch targets. */
.noura-kicker,.noura-auth__eyebrow{font-size:var(--noura-small-size,12px)}
.noura-button{min-height:48px;font-size:14px}.noura-button--small{min-height:44px;font-size:12px}
.noura-auth label,.noura-profile-form label{font-size:13px}.noura-auth form>small,.noura-auth__phone,.noura-auth__resend,.noura-auth__phone button,.noura-auth__resend button,.noura-auth__message,.noura-app__message{font-size:12px}.noura-auth__phone button,.noura-auth__resend button{min-height:44px;padding-inline:10px}
.noura-booking__header li,.noura-section-title p,.noura-booking__fields h4{font-size:12px}.noura-choice b{font-size:14px}.noura-choice small,.noura-choice em{font-size:12px}.noura-choice>span{min-height:140px}
.noura-calendar header button,.noura-dialog__close{width:44px;height:44px}.noura-calendar__week span,.noura-calendar__days button{font-size:12px}.noura-calendar__days button{min-width:36px;min-height:36px}.noura-slots>header strong{font-size:13px}.noura-slots>header small{font-size:12px}.noura-slot-grid span{min-height:44px;font-size:13px}.noura-muted,.noura-empty-mini{font-size:13px}
.noura-booking__summary dt,.noura-confirm-list dt{font-size:12px}.noura-booking__summary dd,.noura-confirm-list dd{font-size:13px}.noura-booking__summary>small{font-size:12px}.noura-empty-state p,.noura-success-state>p{font-size:14px}
.noura-account__identity p,.noura-account nav button,.noura-account nav a,.noura-account__logout{font-size:12px}.noura-account nav button,.noura-account nav a{min-height:48px}.noura-account nav button span{font-size:11px}.noura-booking-card__date span,.noura-booking-card p,.noura-status,.noura-booking-card dt,.noura-booking-card dd,.noura-profile-form small{font-size:12px}.noura-booking-card__actions button,.noura-receipt span,.noura-attachment span{min-height:44px;font-size:12px}
.noura-support__messages p{font-size:13px}.noura-support__messages a{font-size:12px}.noura-support__messages time{font-size:11px}.noura-dialog__content{font-size:13px}
@media(max-width:700px){.noura-booking__header li{font-size:0}.noura-booking__header li span{font-size:12px}.noura-choice>span{min-height:116px}.noura-toastify{right:12px!important;bottom:96px!important;left:12px!important;min-width:0;max-width:none}}
