/* R19.15 — final readability, responsive containment, and interaction quality. */
*,*::before,*::after{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:clip}img,svg,video,canvas,iframe{max-width:100%;height:auto}main,section,article,form,fieldset,div,label{min-width:0}input,select,textarea,button{max-width:100%;font:inherit}textarea{resize:vertical}.wrap,.workspace,.admin-workspace,.customer-app #main-content{max-width:100%}
.mobile-app-nav a{color:#526d78}.mobile-app-nav a.active{color:#05777b}.mobile-app-nav span{font-size:max(.75rem,12px)}
.customer-app p,.customer-app li,.customer-app label,.customer-app input,.customer-app select,.customer-app textarea,.customer-app button{font-size:max(.875rem,14px)}
.customer-app small,.customer-app .eyebrow,.customer-app [class*="meta"]{font-size:max(.75rem,12px)}
.admin-app p,.admin-app li,.admin-app label,.admin-app input,.admin-app select,.admin-app textarea,.admin-app button,.admin-app td,.admin-app th{font-size:max(.8125rem,13px)}
.customer-app :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea),.admin-app :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){width:100%;min-width:0}
.cards,.blog-card-grid,.hotel-search-form,.transport-search-form,.boat-search-form{max-width:100%}
.boat-results-list,.boat-results-list>*{width:100%;max-width:100%}.boat-result-card{grid-template-columns:minmax(0,1fr)!important}
table{max-width:100%}.table-scroll,.admin-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
:focus-visible{outline:3px solid rgba(7,132,135,.28);outline-offset:2px}
@media(max-width:680px){body.customer-app{font-size:15px}.customer-app h1{font-size:clamp(1.75rem,8vw,2.25rem);line-height:1.08}.customer-app h2{font-size:clamp(1.35rem,6vw,1.75rem);line-height:1.14}.customer-app h3{font-size:clamp(1rem,4.4vw,1.2rem);line-height:1.25}.customer-app .wrap{width:100%;padding-inline:14px}.customer-app form,.customer-app fieldset,.customer-app .card,.customer-app [class*="-card"]{max-width:100%}.admin-app .admin-workspace{width:100%;max-width:100%}.admin-app #admin-content{padding-inline:12px}.admin-app h1{font-size:clamp(1.55rem,7vw,2rem)}.admin-app h2{font-size:clamp(1.2rem,5.5vw,1.55rem)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
