/*!
 * Bootstrap v5.3 - Trimmed (grid + utilities only)
 * Only includes classes actually used by Hotel Riviera
 */

/* --- Reboot essentials --- */
*,::after,::before{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}
h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}
h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}
p{margin-top:0;margin-bottom:1rem}
a{color:rgba(var(--bs-link-color-rgb,13,110,253),1);text-decoration:underline}
a:hover{color:rgba(var(--bs-link-hover-color-rgb,10,88,202),1)}
img,svg{vertical-align:middle}
button{border-radius:0}
button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}
button,select{text-transform:none}
[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}
ul,ol{padding-left:2rem;margin-top:0;margin-bottom:1rem}
b,strong{font-weight:bolder}
small{font-size:.875em}
label{display:inline-block}
textarea{resize:vertical}

/* --- Container --- */
:root{--bs-gutter-x:1.5rem;--bs-gutter-y:0}
.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-right:auto;margin-left:auto}
@media(min-width:576px){.container,.container-sm{max-width:540px}}
@media(min-width:768px){.container,.container-sm,.container-md{max-width:720px}}
@media(min-width:992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}
@media(min-width:1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}
@media(min-width:1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1320px}}

/* --- Row --- */
.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-.5*var(--bs-gutter-x));margin-left:calc(-.5*var(--bs-gutter-x))}
.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}

/* --- Columns (default) --- */
.col-4{flex:0 0 auto;width:33.333333%}
.col-6{flex:0 0 auto;width:50%}
.col-12{flex:0 0 auto;width:100%}

/* --- Columns (sm ≥576px) --- */
@media(min-width:576px){
.col-sm-6{flex:0 0 auto;width:50%}
}

/* --- Columns (md ≥768px) --- */
@media(min-width:768px){
.col-md-3{flex:0 0 auto;width:25%}
.col-md-4{flex:0 0 auto;width:33.333333%}
.col-md-6{flex:0 0 auto;width:50%}
.col-md-8{flex:0 0 auto;width:66.666667%}
}

/* --- Columns (lg ≥992px) --- */
@media(min-width:992px){
.col-lg-2{flex:0 0 auto;width:16.666667%}
.col-lg-3{flex:0 0 auto;width:25%}
.col-lg-4{flex:0 0 auto;width:33.333333%}
.col-lg-5{flex:0 0 auto;width:41.666667%}
.col-lg-6{flex:0 0 auto;width:50%}
.col-lg-7{flex:0 0 auto;width:58.333333%}
.col-lg-8{flex:0 0 auto;width:66.666667%}
.col-lg-10{flex:0 0 auto;width:83.333333%}
}

/* --- Columns (xl ≥1200px) --- */
@media(min-width:1200px){
.col-xl-2{flex:0 0 auto;width:16.666667%}
.col-xl-3{flex:0 0 auto;width:25%}
.col-xl-4{flex:0 0 auto;width:33.333333%}
.col-xl-5{flex:0 0 auto;width:41.666667%}
}

/* --- Gutters --- */
.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}
.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}
.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}
.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}
@media(min-width:992px){.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}

/* --- Display --- */
.d-flex{display:flex!important}
.d-none{display:none!important}
.d-block{display:block!important}
.d-inline-block{display:inline-block!important}
@media(min-width:1200px){
.d-xl-flex{display:flex!important}
.d-xl-block{display:block!important}
.d-xl-none{display:none!important}
}

/* --- Flex --- */
.flex-wrap{flex-wrap:wrap!important}
.flex-column{flex-direction:column!important}
.flex-shrink-0{flex-shrink:0!important}
.flex-grow-1{flex-grow:1!important}
.align-items-center{align-items:center!important}
.align-items-stretch{align-items:stretch!important}
.align-self-center{align-self:center!important}
.justify-content-center{justify-content:center!important}
.justify-content-between{justify-content:space-between!important}
.justify-content-end{justify-content:flex-end!important}

/* --- Gap --- */
.gap-1{gap:.25rem!important}
.gap-2{gap:.5rem!important}
.gap-3{gap:1rem!important}
.gap-4{gap:1.5rem!important}

/* --- Margin --- */
.m-0{margin:0!important}
.mt-0{margin-top:0!important}
.mt-1{margin-top:.25rem!important}
.mt-2{margin-top:.5rem!important}
.mt-3{margin-top:1rem!important}
.mt-4{margin-top:1.5rem!important}
.mt-5{margin-top:3rem!important}
.mb-0{margin-bottom:0!important}
.mb-1{margin-bottom:.25rem!important}
.mb-2{margin-bottom:.5rem!important}
.mb-3{margin-bottom:1rem!important}
.mb-4{margin-bottom:1.5rem!important}
.mb-5{margin-bottom:3rem!important}
.ms-auto{margin-left:auto!important}
.me-auto{margin-right:auto!important}
.mx-auto{margin-right:auto!important;margin-left:auto!important}
.my-auto{margin-top:auto!important;margin-bottom:auto!important}

/* --- Padding --- */
.p-0{padding:0!important}
.p-2{padding:.5rem!important}
.p-3{padding:1rem!important}
.pt-4{padding-top:1.5rem!important}
.px-3{padding-right:1rem!important;padding-left:1rem!important}
.px-5{padding-right:3rem!important;padding-left:3rem!important}
.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}
.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}
@media(min-width:992px){.ps-lg-5{padding-left:3rem!important}}

/* --- Text --- */
.text-center{text-align:center!important}
.text-white{color:#fff!important}
.text-start{text-align:left!important}
.text-decoration-none{text-decoration:none!important}

/* --- Overflow --- */
.overflow-hidden{overflow:hidden!important}

/* --- Position --- */
.position-relative{position:relative!important}
.position-absolute{position:absolute!important}

/* --- Sizing --- */
.w-100{width:100%!important}
.h-100{height:100%!important}

/* --- Visibility --- */
.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;position:absolute!important}

/* --- Forms --- */
.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;appearance:none;background-color:#fff;background-clip:padding-box;border:1px solid #dee2e6;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}
.form-control::placeholder{color:#6c757d;opacity:1}
.form-control:disabled{background-color:#e9ecef;opacity:1}
textarea.form-control{min-height:calc(1.5em + .75rem + calc(1px * 2))}
.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;appearance:none;background-color:#fff;background-image:var(--bs-form-select-bg-img);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #dee2e6;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}

/* --- Transitions (Bootstrap reboot) --- */
.collapse:not(.show){display:none}
.fade{transition:opacity .15s linear}
.fade:not(.show){opacity:0}
