/**/.imageWidget{position:relative}.imageWidget a,.imageWidget span.image-caption{font-style:italic;text-align:center}.imageWidget a[data-caption]::after,.imageWidget span[data-caption]::after{content:attr(data-caption);display:block;line-height:100%}
.imageWidget.with-caption a::after,.imageWidget.with-caption span.image-caption::after{margin-top:12px}.imageWidget img[width][height]{height:auto}[data-flex-site] #fcontainer .imageWidget:after,[data-flex-site] #flex-footer .imageWidget:after,[data-flex-site] #flex-header .imageWidget:after{content:none}
[data-flex-site] #fcontainer .imageWidget:before,[data-flex-site] #flex-footer .imageWidget:before,[data-flex-site] #flex-header .imageWidget:before{font-size:80px;transform:none}.imageWidget.hover img.hover-image,.imageWidget:hover img.hover-image{display:initial}
.imageWidget.hover.hasHover img:not(.hover-image),.imageWidget:hover.hasHover img:not(.hover-image){display:none!important}.imageWidget img.hover-image,.imageWidget img.logo-on-scroll{display:none}/**/.dmNewParagraph[data-version]{line-height:initial}.dmNewParagraph[data-version] .text-align-left{text-align:left!important}.dmNewParagraph[data-version] .text-align-center{text-align:center!important}
.dmNewParagraph[data-version] .text-align-right{text-align:right!important}.dmNewParagraph[data-version] .text-align-justify{text-align:justify!important}.dmNewParagraph[data-version] .ql-indent-1{padding:0 1em;padding-inline-end:0;padding-inline-start:3em}
.dmNewParagraph[data-version] .ql-indent-2{padding:0 2em;padding-inline-end:0;padding-inline-start:6em}.dmNewParagraph[data-version] .ql-indent-3{padding:0 3em;padding-inline-end:0;padding-inline-start:9em}
.dmNewParagraph[data-version] .ql-indent-4{padding:0 4em;padding-inline-end:0;padding-inline-start:12em}.dmNewParagraph[data-version] .ql-indent-5{padding:0 5em;padding-inline-end:0;padding-inline-start:15em}
.dmNewParagraph[data-version] .ql-indent-6{padding:0 6em;padding-inline-end:0;padding-inline-start:18em}.dmNewParagraph[data-version] .ql-indent-7{padding:0 7em;padding-inline-end:0;padding-inline-start:21em}
.dmNewParagraph[data-version] .ql-indent-8{padding:0 8em;padding-inline-end:0;padding-inline-start:24em}.dmNewParagraph[data-version] .ql-indent-9{padding:0 9em;padding-inline-end:0;padding-inline-start:27em}
.dmNewParagraph[data-version] [class*=size-]{width:auto!important;height:auto!important}.dmNewParagraph[data-version] h1,.dmNewParagraph[data-version] h2,.dmNewParagraph[data-version] h3,.dmNewParagraph[data-version] h4,.dmNewParagraph[data-version] h5,.dmNewParagraph[data-version] h6,.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] p,.dmNewParagraph[data-version] ul{margin-top:0;margin-bottom:0}
.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] ul{padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.dmNewParagraph[data-version] ol>li,.dmNewParagraph[data-version] ul>li{list-style-type:none;text-indent:-1.5em;margin:0 1em;margin-inline-end:0;margin-inline-start:2em}
.dmNewParagraph[data-version] ol>li:before,.dmNewParagraph[data-version] ul>li:before{min-width:1em;display:inline-block;margin-right:.5em;margin-inline-start:0;margin-inline-end:.5em;text-align:right;text-align:end}
.dmNewParagraph[data-version] ul .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ul .ql-indent-1:before{font-weight:700;content:"○"}
.dmNewParagraph[data-version] ul .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ul .ql-indent-2:before,.dmNewParagraph[data-version] ul .ql-indent-3:before,.dmNewParagraph[data-version] ul .ql-indent-4:before,.dmNewParagraph[data-version] ul .ql-indent-5:before,.dmNewParagraph[data-version] ul .ql-indent-6:before,.dmNewParagraph[data-version] ul .ql-indent-7:before,.dmNewParagraph[data-version] ul .ql-indent-8:before,.dmNewParagraph[data-version] ul .ql-indent-9:before{font-weight:700;content:"■"}
.dmNewParagraph[data-version] ul .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ul .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}
.dmNewParagraph[data-version] ul .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ul .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}
.dmNewParagraph[data-version] ul .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ul .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ul .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}
.dmNewParagraph[data-version] ul>li:before{font-weight:700;content:"•";font-family:Arial}.dmNewParagraph[data-version] ul.custom-list-1>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"○";transform:scale(1);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-2>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"★";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-3>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"➞";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-4>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"＋";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-5>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"－";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-6>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✓";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-7>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✗";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ol .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ol .ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ol .ql-indent-2:before{content:counter(list-2,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ol .ql-indent-3:before{content:counter(list-3,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}.dmNewParagraph[data-version] ol .ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ol .ql-indent-5:before{content:counter(list-5,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}.dmNewParagraph[data-version] ol .ql-indent-6:before{content:counter(list-6,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ol .ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ol .ql-indent-8:before{content:counter(list-8,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}.dmNewParagraph[data-version] ol .ql-indent-9:before{content:counter(list-9,decimal) ". "}
.dmNewParagraph[data-version] ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.dmNewParagraph[data-version] ol li:before{content:counter(list-0,decimal) ". "}
.dmNewParagraph[data-version] a{vertical-align:initial}@media(min-width:768px) and (max-width:1024px){.dmNewParagraph[data-version] .t-text-align-left{text-align:left!important}.dmNewParagraph[data-version] .t-text-align-center{text-align:center!important}
.dmNewParagraph[data-version] .t-text-align-right{text-align:right!important}.dmNewParagraph[data-version] .t-text-align-justify{text-align:justify!important}}@media(max-width:767px){.dmRoot .dmNewParagraph[data-version] .m-text-align-left{text-align:left!important}
.dmRoot .dmNewParagraph[data-version] .m-text-align-center{text-align:center!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-right{text-align:right!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-justify{text-align:justify!important}
}.inlineBindingLink{color:inherit!important;text-decoration:inherit!important}/**/#dm .dmSocialHub:not(.gapSpacing) .socialHubInnerDiv a:not(:last-child){margin-right:5px}.socialHubIcon{display:flex!important;align-items:center;justify-content:center}.socialHubIcon svg{fill:currentColor;width:80%;height:80%}
.socialHubIcon.style1,.socialHubIcon.style4,.socialHubIcon.style6,.socialHubIcon.style7{background:#617379}.socialHubIcon.style7{box-shadow:0 5px 0 0 #475459}.style1.dmSocialTiktok,.style4.dmSocialTiktok{background:#000}
.style1.dmSocialFacebook,.style4.dmSocialFacebook{background:#1877f2}.style1.dmSocialTwitter,.style4.dmSocialTwitter{background:#0f1419}.style1.dmSocialGooglePlus,.style4.dmSocialGooglePlus{background:#da4835}
.style1.dmSocialInstagram,.style4.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style1.dmSocialYoutube,.style4.dmSocialYoutube{background:red}
.style1.dmSocialLinkedin,.style4.dmSocialLinkedin{background:#2867b2}.style1.dmSocialYelp,.style4.dmSocialYelp{background:#e43340}.style1.dmSocialPinterest,.style4.dmSocialPinterest{background:#c8232c}
.style1.dmSocialVimeo,.style4.dmSocialVimeo{background:#1ab7ea}.style1.dmSocialPicasa,.style4.dmSocialPicasa{background:#be81d1}.style1.dmSocialFoursquare,.style4.dmSocialFoursquare{background:#ef4b78}
.style1.dmSocialRss,.style4.dmSocialRss{background:#f39200}.style1.dmSocialReddit,.style4.dmSocialReddit{background:#ff4500}.style1.dmSocialEmail,.style4.dmSocialEmail{background:#617379}.style1.dmSocialSnapchat,.style4.dmSocialSnapchat{background:#fffc00}
.style1.dmSocialTripadvisor,.style4.dmSocialTripadvisor{background:#589442}.style1.dmSocialWaze,.style4.dmSocialWaze{background:#56cbe7}.style1.dmSocialGoogleMyBusiness,.style4.dmSocialGoogleMyBusiness{background:#477cdf}
.style1.dmSocialWhatsapp,.style4.dmSocialWhatsapp{background:#25d366}.style1.dmSocialPhone,.style4.dmSocialPhone{background:#616c79}.style1:after{content:"";width:44px;height:28px;display:block;position:absolute;top:0;left:0;z-index:-1;border-radius:10px}
.style1.dmSocialEmail:after,.style1.dmSocialFacebook:after,.style1.dmSocialFoursquare:after,.style1.dmSocialGoogleMyBusiness:after,.style1.dmSocialGooglePlus:after,.style1.dmSocialInstagram:after,.style1.dmSocialLinkedin:after,.style1.dmSocialPhone:after,.style1.dmSocialPicasa:after,.style1.dmSocialPinterest:after,.style1.dmSocialReddit:after,.style1.dmSocialRss:after,.style1.dmSocialSnapchat:after,.style1.dmSocialTripadvisor:after,.style1.dmSocialTwitter:after,.style1.dmSocialVimeo:after,.style1.dmSocialYelp:after,.style1.dmSocialYoutube:after{background:#fff;opacity:.2}
.style2.dmSocialTiktok{color:#000}.style2.dmSocialFacebook{color:#1877f2}.style2.dmSocialTwitter{color:#0f1419}.style2.dmSocialGooglePlus{color:#da4835}.style2.dmSocialInstagram:before{background-image:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.style2.dmSocialYoutube{color:red}.style2.dmSocialLinkedin{color:#2867b2}.style2.dmSocialYelp{color:#e43340}.style2.dmSocialPinterest{color:#c8232c}.style2.dmSocialVimeo{color:#1ab7ea}.style2.dmSocialPicasa{color:#be81d1}
.style2.dmSocialFoursquare{color:#ef4b78}.style2.dmSocialRss{color:#f39200}.style2.dmSocialReddit{color:#ff4500}.style2.dmSocialEmail{color:#617379}.style2.dmSocialSnapchat{color:#fffc00}.style2.dmSocialTripadvisor{color:#589442}
.style2.dmSocialGoogleMyBusiness:before{color:#477cdf}.style2.dmSocialWaze:before{color:#56cbe7}.style2.dmSocialWhatsapp:before{color:#25d366}.style2.dmSocialPhone{color:#616c79}.style6.dmSocialTiktok{background:#000}
.style6.dmSocialFacebook{background:#1877f2}.style6.dmSocialTwitter{background:#0f1419}.style6.dmSocialGooglePlus{background:#da4835}.style6.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}
.style6.dmSocialYoutube{background:red}.style6.dmSocialLinkedin{background:#2867b2}.style6.dmSocialYelp{background:#e43340}.style6.dmSocialPinterest{background:#c8232c}.style6.dmSocialVimeo{background:#1ab7ea}
.style6.dmSocialPicasa{background:#be81d1}.style6.dmSocialFoursquare{background:#ef4b78}.style6.dmSocialRss{background:#f39200}.style6.dmSocialReddit{background:#ff4500}.style6.dmSocialEmail{background:#617379}
.style6.dmSocialSnapchat{background:#fffc00}.style6.dmSocialTripadvisor{background:#589442}.style6.dmSocialWaze{background:#56cbe7}.style6.dmSocialGoogleMyBusiness{background:#477cdf}.style6.dmSocialWhatsapp{background:#25d366}
.style6.dmSocialPhone{background:#616c79}.style7.dmSocialTiktok{background:#000}.style7.dmSocialFacebook{background:#1877f2;box-shadow:0 5px 0 0 #4b68a5}.style7.dmSocialTwitter{background:#0f1419}.style7.dmSocialGooglePlus{background:#da4835;box-shadow:0 5px 0 0 #c44130}
.style7.dmSocialInstagram{box-shadow:0 5px 0 0 #ad2271;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style7.dmSocialYoutube{background:red;box-shadow:0 5px 0 0 #b3392c}
.style7.dmSocialLinkedin{background:#2867b2;box-shadow:0 5px 0 0 #1278b1}.style7.dmSocialYelp{background:#e43340;box-shadow:0 5px 0 0 #b62933}.style7.dmSocialPinterest{background:#c8232c;box-shadow:0 5px 0 0 #a21a2d}
.style7.dmSocialVimeo{background:#1ab7ea;box-shadow:0 5px 0 0 #1592bb}.style7.dmSocialPicasa{background:#be81d1;box-shadow:0 5px 0 0 #9867a7}.style7.dmSocialFoursquare{background:#ef4b78;box-shadow:0 5px 0 0 #da3b67}
.style7.dmSocialRss{background:#f39200;box-shadow:0 5px 0 0 #c27500}.style7.dmSocialReddit{background:#ff4500;box-shadow:0 5px 0 0 #ae5534}.style7.dmSocialEmail{background:#617379;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialSnapchat{background:#fffc00;box-shadow:0 5px 0 0 #d1d05d}.style7.dmSocialTripadvisor{background:#589442;box-shadow:0 5px 0 0 #4e7b3e}.style7.dmSocialWaze{background:#56cbe7;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialGoogleMyBusiness{background:#477cdf;box-shadow:0 5px 0 0 #475459}.style7.dmSocialWhatsapp{background:#25d366;box-shadow:0 5px 0 0 #475459}.style7.dmSocialPhone{background:#616c79;box-shadow:0 5px 0 0 #4a5458}/**/.dmShape{width:200px;height:200px;margin:auto;position:relative}.dmShape svg{pointer-events:none}.dmShape .shadow{filter:drop-shadow(0 3px 11px rgba(0,0,0,.34))}.dmShape .container-text{display:flex;justify-content:center;align-items:center;flex-direction:column;height:100%;width:100%;position:absolute;z-index:1}
.dmShape .container-padding{padding:20px}.dmShape .container-text .shape-text{margin:0}#dm .dmShape .container-text .shape-text{color:#fff}.dmShape .container-text .shape-description{width:100%;color:#fff;font-size:16px}
.dmShape .container-text .shape-description ol,.dmShape .container-text .shape-description p,.dmShape .container-text .shape-description ul{text-align:center!important}.dmShape .container-text .shape-description ol,.dmShape .container-text .shape-description ul{list-style-position:inside}
.dmShape[text-position=top_left] .container-text{justify-content:flex-start;align-items:flex-start}.dmShape[text-position=top_center] .container-text{justify-content:flex-start;align-items:center}.dmShape[text-position=top_right] .container-text{justify-content:flex-start;align-items:flex-end}
.dmShape[text-position=center_left] .container-text{justify-content:center;align-items:flex-start}.dmShape[text-position=center_center] .container-text{justify-content:center;align-items:center}.dmShape[text-position=center_right] .container-text{justify-content:center;align-items:flex-end}
.dmShape[text-position=bottom_left] .container-text{justify-content:flex-end;align-items:flex-start}.dmShape[text-position=bottom_center] .container-text{justify-content:flex-end;align-items:center}.dmShape[text-position=bottom_right] .container-text{justify-content:flex-end;align-items:flex-end}
.dmShape .container-text p{text-align:center}.dmShape .text-top{align-items:flex-start}.dmShape .text-center{align-items:center}.dmShape .text-bottom{align-items:flex-end}.dmShape [data-link-id=shape-link-container]{display:block;width:100%;height:100%}
.dmShape[font-size-0]{font-size:0}/**/.dmLargeBody #dm .dmRespRow .dmRespCol.large-11 .dmform[data-layout=layout-2] .dmform-wrapper .dmformsubmit.dmWidget,.dmLargeBody #dm .dmRespRow .dmRespCol.large-12 .dmform[data-layout=layout-2] .dmform-wrapper .dmformsubmit.dmWidget{width:-webkit-fit-content;width:fit-content}
#dm .dmformsubmit input[type=submit]{text-align:inherit}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput label:not(.for-checkable),#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput label:not(.for-checkable){width:75px;vertical-align:top;white-space:normal}
#dm .dmBody div.dmform[data-layout=layout-2] .dmforminput:not(.g-recaptcha):not(.frc-captcha){justify-content:flex-start!important}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-1] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-1] .dmforminput{display:block}
#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-1] .dmforminput>:not(label):not(div):not(small):not(.frc-banner),#dm div.dmInner .dmform[data-layout=layout-1] .dmforminput>:not(label):not(div):not(small):not(.frc-banner){background:0;border:2px solid #000;display:inline-block}
#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput{-js-display:flex;display:flex}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput input:not([type=checkbox]):not([type=radio]),#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput textarea,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>input,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>textarea{width:calc(100% - 80px)}
#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>.resizeHandler{height:100%;bottom:0}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-3] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-3] .dmforminput{margin-top:20px}
#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-3] .dmforminput>:not(label):not(div):not(small):not(.frc-banner),#dm div.dmInner .dmform[data-layout=layout-3] .dmforminput>:not(label):not(div):not(small):not(.frc-banner){background:0;border:0;border-radius:0;-webkit-appearance:none;border-bottom:1px solid;height:30px}
#dm div.dmInner .frc-captcha.dmforminput.dmRespDesignCol{border:0}#dm div.dmInner .frc-captcha.dmforminput.dmRespDesignCol .frc-banner{border:0;position:inherit}#dm div.dmInner .dmform .dmforminput .radiowrapper span{line-height:normal}
#dm div.dmInner .dmform .dmforminput .checkboxwrapper span,#dm div.dmInner .dmform .dmforminput .optinwrapper div{vertical-align:text-bottom;line-height:normal;display:inline}#dm div.dmInner .dmform .dmforminput .optinwrapper div p.rteBlock{display:inline}
#dm div.dmInner .dmform .dmforminput .horizontal.checkboxwrapper span,#dm div.dmInner .dmform .dmforminput .horizontal.optinwrapper div div,#dm div.dmInner .dmform .dmforminput .horizontal.radiowrapper span{margin:0 15px 0 3px}
#dm div.dmInner .dmform .dmforminput .horizontal{-js-display:flex;display:flex;flex-wrap:wrap}#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput .horizontal{-js-display:inline-flex;display:inline-flex}
#dm div.dmInner .dmform .dmforminput .horizontal div{-js-display:flex;display:flex}#dm div.dmInner .dmform .dmforminput .horizontal input{flex-shrink:0;margin-top:.2em}#dm div.dmInner .dmform .dmforminput label[hide=true],#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=checkbox].checkable-input,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=checkbox].checkable-input+span,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=radio].checkable-input,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=radio].checkable-input+span,.dmform .dmforminput[data-skip-in-editor=true]{display:none}
.dmform .dmform-field-error{display:none;color:#b00020;background-color:#fef5f5;font-size:12px;padding:6px 12px;margin-top:4px;border-radius:4px}.dmform .dmform-field-error::before{content:"";display:inline-block;width:16px;height:16px;margin-right:4px;vertical-align:text-top;background:url('data:image/svg+xml,<svgwidth="16"height="20"viewBox="001620"fill="none"xmlns="http://www.w3.org/2000/svg"><maskid="mask0_7704_320"style="mask-type:alpha"maskUnits="userSpaceOnUse"x="1"y="3"width="14"height="14"><pathd="M8.000243.33325C11.68013.3334314.66636.3203514.666310.0002C14.666113.6811.6816.66618.0002416.6663C4.3203516.66631.3334313.68011.3332510.0002C1.333256.320244.320243.333258.000243.33325ZM7.3332512.0002V13.3333H8.66626V12.0002H7.33325ZM8.000246.66626C7.633586.666267.333256.966597.333257.33325V10.0002C7.3334310.36687.6336910.66638.0002410.6663C8.3666510.66618.6660810.36678.6662610.0002V7.33325C8.666266.966698.366766.666448.000246.66626Z"fill="black"/></mask><gmask="url(%23mask0_7704_320)"><recty="2"width="16"height="16"fill="%23B00020"/></g></svg>') no-repeat center/contain;background-repeat:no-repeat;background-position:center;background-size:contain}
.dmform .inputError{outline:1px solid red!important}.dmform.required-asterisk .required>label::after{content:"*";display:inline-block;margin-inline-start:5px;color:#f11111}
.dmform .dmforminput label{display:block;overflow:hidden;text-overflow:ellipsis}.dmforminput.newLine{clear:both}.dmform .dmWidgetClear{clear:both;display:block}#dm .dmform.form-rtl-direction .dmform-title{text-align:right}
#dm .dmform.form-rtl-direction .checkboxwrapper,#dm .dmform.form-rtl-direction .dmforminput input,#dm .dmform.form-rtl-direction .optinwrapper,#dm .dmform.form-rtl-direction .radiowrapper,#dm .dmform.form-rtl-direction label,#dm .dmform.form-rtl-direction textarea{direction:rtl;text-align:right}
#dm .dmform.form-rtl-direction .checkboxwrapper,#dm .dmform.form-rtl-direction .fileUploadLink,#dm .dmform.form-rtl-direction .optinwrapper,#dm .dmform.form-rtl-direction .radiowrapper{float:right;clear:both}
#dm .dmform.form-rtl-direction .dmRespDesignRow .dmRespDesignCol{float:right;text-align:right}#dm .dmform.form-rtl-direction .dmWidget.R{float:left}.u_dm .dmform a.fileUploadLink{text-decoration:underline;cursor:pointer}
.dmform .fileUploadLink{cursor:pointer}.dmform[data-layout=layout-2] .checkboxwrapper,.dmform[data-layout=layout-2] .optinwrapper,.dmform[data-layout=layout-2] .radiowrapper{justify-content:flex-start!important;text-align:left!important;text-overflow:unset}
.dmform[data-layout=layout-2] .dmforminput label{margin-right:5px}#dmRoot.dmLargeBody #dm .dmWidget.dmformsubmit{max-width:100%;padding:0}.dmLargeBody #dm .large-3 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-4 .dmformsubmit.dmWidget{width:150px}
.dmLargeBody #dm .large-10 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-5 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-6 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-7 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-8 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-9 .dmformsubmit.dmWidget{width:200px}
.dmLargeBody #dm .large-11 .dmformsubmit.dmformsubmit,.dmLargeBody #dm .large-12 .dmformsubmit.dmformsubmit{width:280px}.dmMobileBody #dm .dmRespRow .dmRespCol.small-12 .dmform-wrapper .dmformsubmit{width:91%;max-width:91%;padding:0 10px;float:left}
.inFormLayoutMode .dmform.inlineEditorFormSelected .dmforminput{transition:all .1s linear}.dmMobileBody .dmform .dmforminput label{white-space:normal}.dmform .newLineButton,.dmform .resizeHandler,.dmform.inlineEditorFormSelected .large-1 .resizeHandler span.dm-icon-chevron-left,.dmform.inlineEditorFormSelected .large-12 .resizeHandler span.dm-icon-chevron-right{visibility:hidden}
.dmform.inlineEditorFormSelected .resizeHandler{visibility:visible;height:calc(100% - 30px);position:absolute;bottom:5px;right:10px;cursor:col-resize;z-index:999}.dmform.inlineEditorFormSelected .newLineButton{visibility:visible;position:absolute;left:24px;bottom:calc(50% - 22px);padding:4px;cursor:pointer}
.dmform.inlineEditorFormSelected .newLineButton:before{display:inline-block}.dmform.inlineEditorFormSelected .newLine .newLineButton:before{-webkit-transform:rotateZ(180deg)}.dmform.inlineEditorFormSelected .resizeHandler span{font-size:9px;position:relative;top:50%;margin-top:-4px;color:#666}
.dmform.inlineEditorFormSelected .resizeHandler span.dm-icon-chevron-right{margin-left:4px}.dmform.inlineEditorFormSelected .resizeHandler .handle{background-color:#666;height:100%;background:url(/editor/nee/images/common/2ColumnsArrows.png) no-repeat center 50%,url(/editor/nee/images/common/bluePic.png) repeat-y center;border-right:0;right:-5px;width:12px}
.dmform .m-recaptcha{margin-top:0;margin-bottom:10px}.dmform .grecaptcha-badge[data-style=bottomleft],.dmform .grecaptcha-badge[data-style=bottomright]{z-index:999;opacity:0}.dmform.active .grecaptcha-badge[data-style=bottomleft],.dmform.active .grecaptcha-badge[data-style=bottomright]{opacity:1}
[data-captcha-position=bottomleft] .g-recaptcha,[data-captcha-position=bottomright] .g-recaptcha{padding:0;margin:0}div.dmInner input[type=date],div.dmInner input[type=time]{font-size:16px;background-color:rgba(102,102,102,.15);border:2px solid #fff;width:100%;margin:3px 0;height:40px;padding:0 10px}
#dm div.dmInner .native-inputs .contact-checkable-container label.for-checkable{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;overflow:visible}#dm div.dmInner .native-inputs .contact-checkable-container .contact-checkable-img{margin-left:0;margin-bottom:0}
#dm div.dmInner .native-inputs .contact-checkable-container input[type=checkbox].checkable-input,#dm div.dmInner .native-inputs .contact-checkable-container input[type=radio].checkable-input{display:initial;width:1em;height:1em;margin:8px .3em 8px 0;order:1}
#dm div.dmInner .native-inputs .contact-checkable-container input[type=checkbox].checkable-input:checked~span.img-wrapper>img,#dm div.dmInner .native-inputs .contact-checkable-container input[type=radio].checkable-input:checked~span.img-wrapper>img{border:3px solid transparent}
#dm div.dmInner .native-inputs .contact-checkable-container div,#dm div.dmInner .native-inputs .contact-checkable-container span:not(.img-wrapper){order:2}#dm div.dmInner .native-inputs .contact-checkable-container span.img-wrapper{order:0;width:100%}
#dm .dmform:has(.spacing-container) .dmform-wrapper{overflow:clip}#dm .dmform:has(.spacing-container) .dmform-title.dmwidget-title{padding-inline:0;margin-block-start:0}#dm .dmform:has(.spacing-container) .spacing-container{margin:-7.5px;border:1px solid transparent;overflow:hidden}
#dm .dmform:has(.spacing-container) .spacing-container .dmforminput{margin-top:0;padding:7.5px}#dm .dmform:has(.spacing-container) .spacing-container textarea{display:block}#dm .dmform:has(.spacing-container) .spacing-container .m-recaptcha{margin-bottom:0}
#dm .dmform:has(.spacing-container) .spacing-container .g-recaptcha:has(.grecaptcha-badge:not([data-style=inline])){position:absolute}#dm .dmform:has(.spacing-container) form.dmRespDesignRow{padding:0}
#dm .dmform:has(.spacing-container) form.dmRespDesignRow .dmformsubmit{margin:0;margin-block-start:20px}#dm .dmform:is(.horizontal-alignment) form.dmRespDesignRow{display:flex;flex-direction:row;align-items:flex-end}
#dm .dmform:is(.horizontal-alignment) form.dmRespDesignRow .dmformsubmit{margin-block-end:5px}#dm .dmform:is(.horizontal-alignment).form-rtl-direction form{flex-direction:row-reverse}/**/.graphicWidget{width:200px;height:200px;margin:10px auto;text-align:center}.graphicWidget svg.svg{width:100%;height:100%;color:#000;fill:#000}.graphicWidgetV2{width:60px;height:60px}.graphicWidgetV3{font-size:0}/**/@media(max-width:767px){body.dmRoot div[dmtemplateid]:not([dmtemplateid=SlideRightTopFloatM]) .dmHeader .multilingualWidget{position:absolute;top:14px;left:13px;margin-top:0}body.dmRoot div[dmtemplateid][dmtemplateid=SlideRightTopFloatM] .dmHeader .multilingualWidget{position:absolute;top:5px;right:17px}
}@media(min-width:768px) and (max-width:1024px){body:not(.responsiveTablet) #dm div[dmtemplateid=StandardLayoutMultiT] .dmHeader .multilingualWidget{position:absolute!important;top:5px!important;right:17px!important;left:initial!important}
}@media(max-width:767px){body.dmRoot .dmHeader .displayHidden-inner .multilingualWidget{top:0!important}}#dm_content div.dmRespCol div.multilingualWidget,#hcontainer div.dmRespCol div.multilingualWidget{width:auto!important;display:table!important}
.multilingualWidget{clear:both;margin:0;vertical-align:top;display:table!important;font-size:0;font-family:sans-serif}.multilingualWidget.displayNone{display:none!important}.multilingualWidget>div{position:relative}
.multilingualWidget .language{color:#888;display:inline-block}.multilingualWidget .language a{text-align:center;display:inline-block;color:inherit;border:#dadada 1px solid;background-color:#fff}.multilingualWidget .language a img{width:24px;height:26px;min-width:24px;min-height:26px}
.multilingualWidget .language a span{display:none;line-height:initial}.multilingualWidget .language a span.name{margin-top:5px;margin-left:7px;font-size:12px;font-weight:400;text-transform:capitalize}
.multilingualWidget .language a span.short-label{font-size:12px}.multilingualWidget .language a:after{line-height:initial}.multilingualWidget.open .current-language a:after{transform:rotate(-180deg)}.multilingualWidget .current-language a:after{transition:transform .2s}
.multilingualWidget.dropdown .language{width:100%}.multilingualWidget.dropdown .language a{display:block;padding:1px 5px}.multilingualWidget.dropdown .language.other-languages{position:absolute;z-index:800;max-height:0;overflow:hidden;transition:max-height .1s ease-in-out}
.multilingualWidget.dropdown .language.other-languages a{border-top:0!important}.multilingualWidget.dropdown .current-language{position:relative}.multilingualWidget.dropdown .current-language span.name{padding-right:25px}
.multilingualWidget.dropdown .dm-icon{font-size:9px;display:inline-block;position:absolute;top:46%;transform:translateY(-50%);transition:transform .2s;right:8px}.multilingualWidget.dropdown.open .dm-icon{transform:rotate(-180deg) translateY(50%)}
.multilingualWidget.dropdown.open .other-languages{display:block;max-height:300px}.multilingualWidget.dropdown .other-languages,.multilingualWidget.dropdown.flag-only .dm-icon,.multilingualWidget.inline span,.multilingualWidget.no-flag a img{display:none}
.multilingualWidget.dropdown.flag-only a{border:transparent 1px solid;background-color:transparent}.multilingualWidget.dropdown.flag-only.open .language a{background-color:rgba(0,0,0,.3);border:#dadada 1px solid}
.multilingualWidget.dropdown.long-label a{text-align:left;padding:2px 0 2px 5px;position:relative;box-sizing:border-box}.multilingualWidget.dropdown.long-label a span.name,.multilingualWidget.inline.flag-only .language,.multilingualWidget.inline.short-label.no-flag span.short-label{display:inline-block}
.multilingualWidget.dropdown.long-label.no-flag a{padding:7px 10px 9px}.multilingualWidget.dropdown.long-label.no-flag a span.name,.multilingualWidget.dropdown.short-label.no-flag a span.short-label{margin:0;display:inline-block}
.multilingualWidget.dropdown.short-label.no-flag a{padding:8px 22px 9px 10px;font-size:12px;min-height:32px;height:auto;box-sizing:border-box}.multilingualWidget.dropdown.short-label.no-flag .current-language a:after{top:12px}
.multilingualWidget.short-label span.short-label{text-transform:uppercase}.multilingualWidget.inline.flag-only a{padding:2px 5px;height:32px;box-sizing:border-box}.multilingualWidget.inline.flag-only .current-language a{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.6);border-right:0;border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}
.multilingualWidget.inline.flag-only .other-languages a:not(:last-child){border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}.multilingualWidget.inline.flag-only .dm-icon,.multilingualWidget.inline.short-label.no-flag .dm-icon{display:none}
.multilingualWidget.inline.short-label.no-flag .current-language a{padding-right:0;border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}.multilingualWidget.inline.short-label.no-flag .current-language a span.short-label{font-weight:700}
.multilingualWidget.inline.short-label.no-flag .other-languages a{border-left-color:transparent!important;border-left-width:0!important;border-left-style:none!important}.multilingualWidget.inline.short-label.no-flag .other-languages a:not(:last-child){padding-right:0;border-right-color:transparent!important;border-right-width:0!important;border-right-style:none!important}
.multilingualWidget.inline.short-label.no-flag a{position:relative;padding:8px 10px;font-size:12px;min-height:32px;height:auto;text-decoration:none}.multilingualWidget.inline.short-label.no-flag a:after{content:"/";position:absolute;top:8px;right:-7px;z-index:1;pointer-events:none}
.multilingualWidget.inline.short-label.no-flag a:hover .short-label{text-decoration:underline}.multilingualWidget.inline.short-label.no-flag .other-languages a:last-child:after{content:""}
/* Custom Widgets Styles */
@charset "UTF-8";
/* ============================================
   ANTIGUA 2026 BOOKING WIDGET - BASE CSS
   Universal Styles (All Devices)
   Version: 5.1
   ============================================ */
/* ============================================
   GOOGLE FONTS IMPORT
   ============================================ */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap");
/* ============================================
   CSS VARIABLES
   ============================================ */
:root {
  --primary-blue: #00A8E8;
  --secondary-blue: #0077B6;
  --tropical-cyan: #4ECDC4;
  --accent-yellow: #FFD93D;
  --accent-red: #FF3D3D;
  --gold: #FDAC2D;
  --text-dark: #1A1A1A;
  --text-light: #FFFFFF;
  --bg-light: #F5F5F5;
  --shadow: rgba(0, 0, 0, 0.1);
}

/* ============================================
   RESET & BASE
   ============================================ */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--text-dark);
  line-height: 1.6;
  background: #FAFAFA;
}

/* ============================================
   MAIN CONTAINER
   ============================================ */
.booking-widget-tropical {
  max-width: 900px;
  margin: 20px auto;
  background: var(--text-light);
  border-radius: 24px;
  box-shadow: 0 10px 50px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  position: relative;
}

/* ============================================
   WATER BACKGROUND
   ============================================ */
/* ============================================
   WATER BACKGROUND ANIMATION - FIXED
   ============================================ */
.water-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 500px;
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
}

.wave {
  position: absolute;
  bottom: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(ellipse at center, rgba(78, 205, 196, 0.3) 0%, rgba(0, 168, 232, 0.25) 35%, rgba(78, 205, 196, 0.2) 70%, transparent 100%);
  border-radius: 45%;
  animation: wave 25s infinite linear;
  transform-origin: 50% 50%;
}

.wave-1 {
  opacity: 0.8;
  animation-duration: 25s;
  animation-delay: 0s;
}

.wave-2 {
  opacity: 0.6;
  animation-duration: 30s;
  animation-delay: -5s;
}

.wave-3 {
  opacity: 0.4;
  animation-duration: 35s;
  animation-delay: -10s;
}

@keyframes wave {
  0% {
    transform: translateX(0%) translateY(0%) rotate(0deg);
  }
  50% {
    transform: translateX(25%) translateY(-15%) rotate(180deg);
  }
  100% {
    transform: translateX(0%) translateY(0%) rotate(360deg);
  }
}
/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .wave {
    animation: none !important;
  }
}
/* ============================================
   HERO HEADER
   ============================================ */
.booking-hero {
  position: relative;
  background: linear-gradient(135deg, #00A8E8 0%, #4ECDC4 100%);
  color: #FFFFFF;
  text-align: center;
  padding: 50px 20px;
  overflow: hidden;
  z-index: 1;
  border-radius: 24px 24px 0 0;
  min-height: 550px;
}

/* ============================================
   LOGO & HERO BRANDING - CORRECTED
   ============================================ */
.logo-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 10px 24px;
  border-radius: 50px;
  margin-bottom: 25px;
  border: 2px solid rgba(255, 255, 255, 0.4);
}

/* ============================================
   LOGO IMAGE - DUDA OPTIMIZED
   ============================================ */
.et-logo-img {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  flex-shrink: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.brand-name {
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #FFFFFF;
  white-space: nowrap;
}

.hero-content {
  max-width: 800px;
  margin: 0 auto;
}

/* Resort Branding */
.resort-branding {
  margin-bottom: 20px;
}

.resort-name {
  font-size: 42px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: #FFFFFF;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8), 3px 3px 0 #0077B6, 6px 6px 0 rgba(0, 0, 0, 0.3);
  margin: 0 0 10px 0;
  line-height: 1;
}

.resort-location {
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #FFD93D;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9), 0 2px 8px rgba(0, 0, 0, 0.4);
  margin: 0;
}

.hero-tagline {
  font-size: 28px;
  font-weight: 700;
  font-style: italic;
  color: #FFFFFF;
  margin: 20px 0;
  opacity: 1;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8), 0 0 20px rgba(0, 0, 0, 0.5);
}

.trip-title {
  margin: 25px 0;
}

.trip-year {
  display: inline-block;
  font-size: 52px;
  font-weight: 900;
  letter-spacing: 5px;
  text-transform: uppercase;
  line-height: 1;
  color: #FFFFFF;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.9), 4px 4px 0 #0077B6, 8px 8px 0 rgba(0, 0, 0, 0.3);
}

.trip-description {
  font-size: 18px;
  font-weight: 600;
  color: #FFFFFF;
  margin: 15px 0 25px 0;
  opacity: 1;
  line-height: 1.4;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8), 0 0 15px rgba(0, 0, 0, 0.5);
}

.trip-dates {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #FFFFFF;
  color: #FF3D3D;
  padding: 12px 30px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 20px 0;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.date-icon {
  font-size: 22px;
}

.date-text {
  font-size: 16px;
}

.deposit-circle {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent-red) 0%, #D32F2F 100%);
  border: 7px solid var(--text-light);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 30px auto 0;
  box-shadow: 0 10px 30px rgba(255, 61, 61, 0.5);
  animation: pulse-deposit 3s ease-in-out infinite;
}

.deposit-amount {
  font-size: 36px;
  font-weight: 900;
  color: var(--text-light);
  line-height: 1;
}

.deposit-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-light);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 5px;
}

@keyframes pulse-deposit {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 10px 30px rgba(255, 61, 61, 0.5);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 15px 40px rgba(255, 61, 61, 0.7);
  }
}
/* Section Headers */
.section-header {
  text-align: center;
  margin-bottom: 35px;
}

.section-icon {
  display: block;
  font-size: 48px;
  margin-bottom: 15px;
}

.section-title {
  font-size: 32px;
  font-weight: 800;
  color: var(--text-dark);
  margin: 0 0 10px 0;
  line-height: 1.2;
}

.section-subtitle {
  font-size: 16px;
  color: #666;
  font-weight: 500;
  margin: 0;
}

/* Occupancy Button Layout Fix */
.occupancy-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  background: var(--text-light);
  border: 2px solid #E0E0E0;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: "Montserrat", sans-serif;
  width: 100%;
}

.occ-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.occupancy-icon {
  font-size: 20px;
}

.occupancy-type {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-dark);
}

.occupancy-price {
  font-size: 17px;
  font-weight: 800;
  color: var(--gold);
}

.occupancy-btn.active {
  background: linear-gradient(135deg, var(--tropical-cyan) 0%, var(--primary-blue) 100%);
  border-color: var(--primary-blue);
}

.occupancy-btn.active .occupancy-type,
.occupancy-btn.active .occupancy-price {
  color: var(--text-light);
}

.occupancy-price-strikethrough {
  text-decoration: line-through;
  color: #999;
  font-size: 14px;
}

/* ============================================
   PROGRESS BAR
   ============================================ */
.progress-container {
  background: var(--text-light);
  padding: 25px 20px;
  margin: -20px 20px 0;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  position: relative;
  z-index: 10;
}

.progress-bar {
  width: 100%;
  height: 8px;
  background: #E0E0E0;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--tropical-cyan) 0%, var(--primary-blue) 100%);
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 10px;
  width: 25%;
}

.progress-steps {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}

.step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.step-circle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bg-light);
  color: #999;
  border: 3px solid #E0E0E0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 8px;
  transition: all 0.3s ease;
  z-index: 2;
}

.step.active .step-circle {
  background: linear-gradient(135deg, var(--tropical-cyan) 0%, var(--primary-blue) 100%);
  color: var(--text-light);
  border-color: var(--primary-blue);
}

.step.completed .step-circle {
  background: var(--gold);
  color: var(--text-light);
  border-color: var(--gold);
}

.step.completed .step-circle::after {
  content: "✓";
  position: absolute;
}

.step-label {
  font-size: 11px;
  font-weight: 600;
  color: #666;
  text-align: center;
  line-height: 1.2;
}

.step.active .step-label {
  color: var(--primary-blue);
  font-weight: 700;
}

/* ============================================
   FORM SECTIONS
   ============================================ */
.booking-form-tropical {
  padding: 30px 20px;
}

.form-section-tropical {
  display: none;
}

.form-section-tropical.active {
  display: block;
  animation: fadeInUp 0.4s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.section-title-tropical {
  font-size: 28px;
  font-weight: 800;
  color: var(--text-dark);
  margin-bottom: 25px;
  text-align: center;
}

.title-icon {
  display: block;
  font-size: 36px;
  margin-bottom: 10px;
}

/* ============================================
   FORM INPUTS
   ============================================ */
.form-grid-tropical {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 25px;
}

.form-group-tropical {
  width: 100%;
}

.tropical-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-dark);
  margin-bottom: 8px;
}

.required-star {
  color: var(--accent-red);
  margin-left: 4px;
}

.tropical-input,
.tropical-select,
.tropical-textarea {
  width: 100%;
  padding: 14px 16px;
  font-size: 15px;
  font-family: "Montserrat", sans-serif;
  border: 2px solid #E0E0E0;
  border-radius: 10px;
  background: var(--text-light);
  color: var(--text-dark);
  transition: all 0.3s ease;
}

.tropical-input:focus,
.tropical-select:focus,
.tropical-textarea:focus {
  outline: none;
  border-color: var(--tropical-cyan);
  box-shadow: 0 0 0 4px rgba(78, 205, 196, 0.1);
}

.tropical-textarea {
  min-height: 100px;
  resize: vertical;
  font-family: "Montserrat", sans-serif;
}

.tropical-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231A1A1A' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
  cursor: pointer;
  appearance: none;
}

/* ============================================
   SUITE CARDS
   ============================================ */
.suites-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: 30px;
}

.suite-card {
  border: 3px solid #E0E0E0;
  border-radius: 16px;
  background: var(--text-light);
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.suite-card.selected {
  border-color: var(--tropical-cyan);
  box-shadow: 0 8px 25px rgba(78, 205, 196, 0.25);
}

.suite-card.sold-out {
  opacity: 0.6;
  cursor: not-allowed;
  background: #F5F5F5;
}

.suite-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--gold);
  color: var(--text-light);
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  z-index: 5;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.suite-badge.best-value {
  background: linear-gradient(135deg, #FFD93D 0%, #FDAC2D 100%);
}

.suite-badge.sold-out-badge {
  background: #999;
}

.suite-image {
  height: 150px;
  background: linear-gradient(135deg, var(--primary-blue) 0%, var(--tropical-cyan) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.pool-view {
  background: linear-gradient(135deg, #00A8E8 0%, #4ECDC4 100%);
}

.garden-view {
  background: linear-gradient(135deg, #28a745 0%, #4ECDC4 100%);
}

.beachfront {
  background: linear-gradient(135deg, #FFD93D 0%, #FDAC2D 100%);
}

.beachfront-swimout {
  background: linear-gradient(135deg, #FF3D3D 0%, #FFD93D 100%);
}

.suite-emoji {
  font-size: 64px;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
}

.suite-content {
  padding: 20px;
}

.suite-name {
  font-size: 18px;
  font-weight: 800;
  color: var(--text-dark);
  margin-bottom: 8px;
  line-height: 1.3;
}

.suite-description {
  font-size: 13px;
  color: #666;
  margin-bottom: 15px;
  line-height: 1.5;
}

.suite-features {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px;
}

.feature-item {
  font-size: 11px;
  padding: 5px 10px;
  background: var(--bg-light);
  border-radius: 15px;
  font-weight: 600;
  color: #666;
}

.occupancy-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.occupancy-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  background: var(--text-light);
  border: 2px solid #E0E0E0;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: "Montserrat", sans-serif;
}

.occupancy-btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.occupancy-btn.active {
  background: linear-gradient(135deg, var(--tropical-cyan) 0%, var(--primary-blue) 100%);
  border-color: var(--primary-blue);
  color: var(--text-light);
}

.occupancy-icon {
  font-size: 18px;
}

.occupancy-type {
  font-size: 14px;
  font-weight: 600;
}

.occupancy-price {
  font-size: 15px;
  font-weight: 800;
  color: var(--gold);
}

.occupancy-btn.active .occupancy-type,
.occupancy-btn.active .occupancy-price {
  color: var(--text-light);
}

.occupancy-price-strikethrough {
  text-decoration: line-through;
  color: #999;
  font-size: 13px;
}

/* ============================================
   TRAVELERS & ROOMS
   ============================================ */
.travelers-container {
  background: var(--bg-light);
  border-radius: 16px;
  padding: 25px 20px;
  margin-bottom: 30px;
}

.travelers-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: 25px;
}

.travelers-summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--text-light);
  border-radius: 12px;
  padding: 25px 20px;
  gap: 15px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.summary-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}

.summary-item.highlight {
  background: linear-gradient(135deg, rgba(78, 205, 196, 0.15) 0%, rgba(255, 217, 61, 0.15) 100%);
  border-radius: 10px;
  padding: 15px 20px;
  border: 2px solid var(--tropical-cyan);
}

.summary-icon {
  font-size: 32px;
}

.summary-label {
  font-size: 12px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.summary-value {
  font-size: 28px;
  font-weight: 900;
  color: var(--primary-blue);
}

.summary-divider {
  font-size: 28px;
  color: #999;
  font-weight: 300;
}

/* Roommate Fields */
.roommate-fields-container {
  margin-top: 25px;
  padding: 25px 20px;
  background: var(--text-light);
  border-radius: 12px;
  border: 2px dashed var(--tropical-cyan);
}

.roommate-title {
  font-size: 20px;
  font-weight: 800;
  color: var(--text-dark);
  margin-bottom: 8px;
  text-align: center;
}

.roommate-subtitle {
  font-size: 14px;
  color: #666;
  text-align: center;
  margin-bottom: 20px;
}

.roommate-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.roommate-card {
  background: var(--bg-light);
  border: 2px solid #E0E0E0;
  border-radius: 12px;
  padding: 18px;
  transition: all 0.3s ease;
}

.roommate-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-dark);
  margin-bottom: 10px;
}

.roommate-card .tropical-input {
  margin-bottom: 12px;
}

/* ============================================
   DEPOSIT SELECTION
   ============================================ */
.deposit-section-tropical {
  margin-bottom: 30px;
}

.subsection-title {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 20px;
  color: var(--text-dark);
}

.deposit-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin-bottom: 20px;
}

.deposit-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 25px 15px;
  min-height: 140px;
  background: var(--text-light);
  border: 3px solid #E0E0E0;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  text-align: center;
}

.deposit-card:hover {
  border-color: var(--accent-yellow);
  transform: translateY(-4px);
}

.deposit-card.active {
  background: linear-gradient(135deg, rgba(255, 217, 61, 0.2) 0%, rgba(253, 172, 45, 0.2) 100%);
  border-color: var(--gold);
  transform: translateY(-4px) scale(1.02);
}

.deposit-card.active::after {
  content: "✓";
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  background: var(--gold);
  color: var(--text-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 900;
}

.deposit-label {
  font-size: 13px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}

.deposit-amount {
  font-size: 32px;
  font-weight: 900;
  color: var(--primary-blue);
  margin: 10px 0;
  line-height: 1;
}

.deposit-description {
  font-size: 11px;
  color: #999;
}

/* Custom Deposit */
.custom-deposit-option {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.custom-card {
  max-width: 100%;
}

.custom-deposit-container {
  display: none;
  background: var(--bg-light);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 25px;
}

.custom-deposit-input-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
}

.input-prefix {
  font-size: 20px;
  font-weight: 700;
  color: var(--primary-blue);
}

.custom-deposit-input {
  flex: 1;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  padding: 14px;
}

.input-suffix {
  font-size: 13px;
  font-weight: 600;
  color: #666;
  white-space: nowrap;
}

.input-helper {
  text-align: center;
  font-size: 12px;
  color: #666;
  margin-top: 8px;
  font-style: italic;
}

/* ============================================
   ADD-ONS SECTION STYLING
   ============================================ */
.addons-section {
  margin: 30px 0;
  padding: 25px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 15px;
  border: 2px solid #dee2e6;
}

.subsection-title {
  font-size: 24px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0 0 10px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.subsection-description {
  font-size: 15px;
  color: #6c757d;
  margin: 0 0 20px 0;
}

.addon-card {
  background: white;
  border: 2px solid #e0e0e0;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 15px;
  transition: all 0.3s ease;
}

.addon-card:hover {
  border-color: #4ECDC4;
  box-shadow: 0 4px 12px rgba(78, 205, 196, 0.15);
}

.addon-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.addon-label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  color: #2c3e50;
}

.addon-checkbox {
  width: 20px;
  height: 20px;
  cursor: pointer;
  accent-color: #4ECDC4;
}

.addon-title {
  font-size: 18px;
  font-weight: 600;
  color: #2c3e50;
}

.addon-price {
  font-size: 16px;
  font-weight: 700;
  color: #fdac2d;
  background: #fff8e1;
  padding: 6px 12px;
  border-radius: 6px;
}

.addon-description {
  font-size: 14px;
  color: #6c757d;
  margin: 0 0 15px 0;
  padding-left: 32px;
}

.addon-options {
  padding: 15px 20px;
  background: #f8f9fa;
  border-radius: 8px;
  margin-top: 10px;
  border-left: 3px solid #4ECDC4;
}

.addon-options label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #495057;
  margin-bottom: 8px;
}

.addon-options select {
  width: 100%;
  padding: 10px;
  font-size: 15px;
  border: 2px solid #dee2e6;
  border-radius: 6px;
  background: white;
  cursor: pointer;
}

.addons-summary {
  margin-top: 20px;
  padding: 20px;
  background: linear-gradient(135deg, #4ECDC4 0%, #45b7af 100%);
  border-radius: 10px;
  text-align: center;
}

.addons-summary .summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
}

.addons-summary .summary-label {
  font-size: 18px;
  font-weight: 600;
  color: white;
}

.addons-summary .summary-value {
  font-size: 24px;
  font-weight: 800;
  color: white;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .addon-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .addon-price {
    align-self: flex-start;
  }
  .subsection-title {
    font-size: 20px;
  }
  .addon-title {
    font-size: 16px;
  }
}
/* ============================================
   INSURANCE BANNER
   ============================================ */
.insurance-banner-tropical {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: linear-gradient(135deg, rgba(255, 217, 61, 0.15) 0%, rgba(253, 172, 45, 0.15) 100%);
  border: 2px solid var(--accent-yellow);
  border-radius: 12px;
  padding: 25px 20px;
  margin-bottom: 30px;
  text-align: center;
}

.insurance-icon {
  font-size: 56px;
  margin-bottom: 15px;
}

.insurance-content {
  width: 100%;
}

.insurance-title {
  font-size: 19px;
  font-weight: 800;
  color: var(--text-dark);
  margin-bottom: 10px;
}

.insurance-text {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
  margin-bottom: 0;
}

/* ============================================
   BOOKING SUMMARY
   ============================================ */
.booking-summary-tropical {
  background: var(--bg-light);
  border: 2px solid var(--tropical-cyan);
  border-radius: 16px;
  padding: 25px 20px;
  margin-bottom: 30px;
}

.summary-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--text-dark);
  margin-bottom: 20px;
  text-align: center;
}

.summary-row-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  font-size: 15px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.summary-row-main:last-child {
  border-bottom: none;
}

.summary-label {
  font-weight: 600;
  color: #666;
}

.summary-value {
  font-weight: 800;
  color: var(--text-dark);
}

.summary-row-main.total {
  font-size: 19px;
  padding: 16px 0;
  border-top: 2px solid var(--tropical-cyan);
  border-bottom: 2px solid var(--tropical-cyan);
  margin: 12px 0;
}

.summary-row-main.total .summary-value {
  font-size: 26px;
  color: var(--primary-blue);
}

.summary-row-main.deposit {
  font-size: 17px;
  background: rgba(40, 167, 69, 0.1);
  padding: 14px 0;
  margin: 0 -20px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 8px;
}

.summary-row-main.deposit .summary-value {
  font-size: 24px;
  color: #28a745;
}

.summary-note {
  margin-top: 18px;
  padding: 16px;
  background: rgba(78, 205, 196, 0.1);
  border-radius: 8px;
  font-size: 14px;
  text-align: center;
  line-height: 1.5;
  color: #666;
}

/* ============================================
   TERMS SECTION
   ============================================ */
.terms-section-tropical {
  background: var(--bg-light);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 25px;
}

.terms-label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
}

.terms-checkbox {
  width: 24px;
  height: 24px;
  margin-top: 2px;
  flex-shrink: 0;
  cursor: pointer;
  accent-color: var(--tropical-cyan);
}

.terms-text {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
  flex: 1;
}

.terms-link {
  color: var(--primary-blue);
  text-decoration: none;
  font-weight: 600;
}

.terms-link:hover {
  text-decoration: underline;
}

/* ============================================
   MESSAGES
   ============================================ */
.message-area {
  margin: 20px 0;
  padding: 0 5px;
}

.alert {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.alert-success {
  background: #d4edda;
  color: #155724;
  border: 2px solid #c3e6cb;
}

.alert-error {
  background: #f8d7da;
  color: #721c24;
  border: 2px solid #f5c6cb;
}

.alert-info {
  background: #d1ecf1;
  color: #0c5460;
  border: 2px solid #bee5eb;
}

.error-message,
.success-message {
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  margin-top: 12px;
}

.error-message {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.success-message {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

/* ============================================
   BUTTONS
   ============================================ */
.section-footer-tropical {
  display: flex;
  flex-direction: column-reverse;
  gap: 12px;
  margin-top: 30px;
}

.btn-tropical {
  width: 100%;
  padding: 16px 28px;
  font-size: 16px;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  text-align: center;
}

.btn-next,
.btn-submit {
  background: linear-gradient(135deg, var(--tropical-cyan) 0%, var(--primary-blue) 100%);
  color: var(--text-light);
  box-shadow: 0 4px 15px rgba(78, 205, 196, 0.3);
}

.btn-back {
  background: var(--bg-light);
  color: var(--text-dark);
  border: 2px solid #E0E0E0;
}

.btn-tropical:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.btn-tropical:active:not(:disabled) {
  transform: scale(0.98);
}

.submit-section-tropical {
  text-align: center;
  margin-top: 25px;
}

.btn-submit {
  min-width: 100%;
  font-size: 18px;
  padding: 18px 40px;
}

.btn-arrow {
  font-size: 18px;
}

.btn-icon {
  font-size: 22px;
}

.btn-tropical.loading {
  pointer-events: none;
  opacity: 0.7;
}

.btn-tropical.loading::after {
  content: "";
  width: 20px;
  height: 20px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top-color: var(--text-light);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  margin-left: 10px;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* ============================================
   MODALS
   ============================================ */
.modal-tropical {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(5px);
  z-index: 9999;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
}

.modal-content-tropical {
  width: 100%;
  max-width: 100%;
  max-height: 95vh;
  background: var(--text-light);
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
.modal-content-tropical.modal-sm {
  max-width: 100%;
}

.modal-header-tropical {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 25px;
  border-bottom: 2px solid #E0E0E0;
  background: var(--text-light);
  position: sticky;
  top: 0;
  z-index: 10;
}

.modal-title-tropical {
  font-size: 22px;
  font-weight: 800;
  color: var(--text-dark);
  margin: 0;
}

.modal-close-tropical {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--bg-light);
  border: none;
  color: var(--text-dark);
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal-close-tropical:hover {
  background: #E0E0E0;
  transform: rotate(90deg);
}

.modal-body-tropical {
  padding: 25px;
  overflow-y: auto;
  flex: 1;
}

.modal-footer-tropical {
  padding: 18px 25px;
  border-top: 2px solid #E0E0E0;
  background: var(--text-light);
  position: sticky;
  bottom: 0;
  z-index: 10;
}

/* Terms Modal Content */
.terms-content {
  max-height: none;
  padding-right: 0;
}

.terms-content::-webkit-scrollbar {
  width: 6px;
}

.terms-content::-webkit-scrollbar-track {
  background: #F5F5F5;
}

.terms-content::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, var(--tropical-cyan) 0%, var(--primary-blue) 100%);
  border-radius: 10px;
}

.terms-section-modal {
  margin-bottom: 25px;
}

.terms-section-modal h3 {
  font-size: 18px;
  font-weight: 800;
  color: var(--text-dark);
  margin-bottom: 10px;
}

.terms-section-modal p {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
  margin-bottom: 12px;
}

.terms-section-modal ul {
  padding-left: 20px;
  margin: 10px 0;
}

.terms-section-modal li {
  margin-bottom: 8px;
  font-size: 13px;
  color: #666;
  line-height: 1.5;
}

.btn-accept {
  width: 100%;
}

/* ============================================
   FOOTER LINKS
   ============================================ */
.widget-footer-tropical {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 25px 20px;
  background: var(--bg-light);
  border-radius: 0 0 24px 24px;
}

.footer-link-tropical {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 18px;
  background: var(--text-light);
  color: var(--primary-blue);
  text-decoration: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.3s ease;
  border: 2px solid #E0E0E0;
}

.footer-link-tropical:active {
  transform: scale(0.98);
  background: rgba(78, 205, 196, 0.1);
}

.link-icon {
  font-size: 18px;
}

/* ============================================
   ACCESSIBILITY
   ============================================ */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
/* ============================================
   UTILITIES
   ============================================ */
.text-center {
  text-align: center;
}

.d-none {
  display: none;
}

.hidden {
  display: none !important;
}

/* ============================================
   RESPONSIVE - LOGO & BRANDING
   ============================================ */
/* Desktop (768px+) */
@media screen and (min-width: 768px) {
  .logo-badge {
    padding: 10px 24px;
    margin-bottom: 25px;
  }
  .et-logo {
    width: 42px;
    height: 42px;
    font-size: 20px;
    border-width: 3px;
  }
  .brand-name {
    font-size: 14px;
    letter-spacing: 1.2px;
  }
  .resort-name {
    font-size: 48px;
    letter-spacing: 4px;
  }
  .resort-location {
    font-size: 28px;
    letter-spacing: 3px;
  }
  .hero-tagline {
    font-size: 32px;
    margin: 20px 0;
  }
  .trip-year {
    font-size: 72px;
    letter-spacing: 6px;
  }
  .trip-description {
    font-size: 20px;
    margin: 20px 0;
  }
}
/* Mobile (below 768px) */
@media screen and (max-width: 767px) {
  .logo-badge {
    padding: 6px 16px;
    font-size: 10px;
    margin-bottom: 15px;
  }
  /* ============================================
   LOGO IMAGE - DUDA OPTIMIZED
   ============================================ */
  .et-logo-img {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    flex-shrink: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .brand-name {
    font-size: 11px;
  }
  .resort-name {
    font-size: 28px;
    letter-spacing: 2px;
  }
  .resort-location {
    font-size: 18px;
    letter-spacing: 1.5px;
  }
  .hero-tagline {
    font-size: 20px;
    margin: 12px 0;
  }
  .trip-year {
    font-size: 36px;
    letter-spacing: 2px;
  }
  .trip-description {
    font-size: 16px;
    margin: 12px 0;
    line-height: 1.4;
  }
}
/* ============================================
   DUDA OVERRIDES - FORCE LOGO SIZE
   ============================================ */
.logo-badge .et-logo,
.booking-hero .logo-badge .et-logo,
.booking-widget-tropical .booking-hero .logo-badge .et-logo {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  font-size: 16px !important;
}

/* Desktop override */
@media screen and (min-width: 768px) {
  .logo-badge .et-logo,
  .booking-hero .logo-badge .et-logo,
  .booking-widget-tropical .booking-hero .logo-badge .et-logo {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    font-size: 17px !important;
  }
}
/* Mobile override */
@media screen and (max-width: 767px) {
  .logo-badge .et-logo,
  .booking-hero .logo-badge .et-logo,
  .booking-widget-tropical .booking-hero .logo-badge .et-logo {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    font-size: 14px !important;
  }
}
/* ============================================
   ANTIGUA 2026 - VISUAL ENHANCEMENTS ADD-ON
   ADD THIS TO YOUR EXISTING CSS (Don't replace!)
   Based on flyer colors - Safe to add
   ============================================ */
/* ============================================
   ENHANCED COLOR PALETTE (Flyer Colors)
   ============================================ */
:root {
  /* Keep your existing colors, add these new ones */
  --flyer-blue: #0096FF;
  --flyer-cyan: #00D4FF;
  --flyer-red: #FF0000;
  --flyer-gold: #FFD700;
}

/* ============================================
   Z-INDEX FIX - Wave Behind Text
   Add this to your CSS (or replace wave background section)
   ============================================ */
/* Water background stays in back */
.water-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 500px;
  overflow: hidden;
  z-index: 0 !important; /* STAYS IN BACK */
  pointer-events: none;
}

/* Waves stay behind everything */
.wave {
  position: absolute;
  bottom: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(ellipse at center, rgba(78, 205, 196, 0.3) 0%, rgba(0, 168, 232, 0.25) 35%, rgba(78, 205, 196, 0.2) 70%, transparent 100%);
  border-radius: 45%;
  animation: wave 25s infinite linear;
  transform-origin: 50% 50%;
  z-index: 1 !important; /* BEHIND TEXT */
}

/* Hero content on top of waves */
.booking-hero {
  position: relative;
  z-index: 10 !important; /* ON TOP OF WAVES */
}

/* All hero content above waves */
.hero-content {
  position: relative;
  z-index: 20 !important; /* DEFINITELY ON TOP */
}

/* Make sure all text is above waves */
.logo-badge,
.resort-branding,
.resort-name,
.resort-location,
.trip-title,
.trip-year,
.trip-description,
.trip-dates,
.deposit-circle {
  position: relative;
  z-index: 30 !important; /* TEXT ON TOP */
}

/* Progress bar above waves too */
.progress-container {
  position: relative;
  z-index: 50 !important; /* ABOVE EVERYTHING */
}

/* ============================================
   HERO HEADER ENHANCEMENTS
   ============================================ */
.booking-hero {
  /* Your existing styles remain, we're adding: */
  background: linear-gradient(135deg, #0096FF 0%, #4ECDC4 100%);
  position: relative;
}

/* Floating palm decoration */
.booking-hero::before {
  content: "🌴";
  position: absolute;
  font-size: 80px;
  opacity: 0.1;
  top: 20%;
  left: 5%;
  animation: palmFloat 6s ease-in-out infinite;
  z-index: 0;
}

@keyframes palmFloat {
  0%, 100% {
    transform: translateY(0px) rotate(-10deg);
  }
  50% {
    transform: translateY(-20px) rotate(-5deg);
  }
}
/* Shimmer effect on resort name */
.resort-name {
  position: relative;
  background: linear-gradient(90deg, #FFFFFF 0%, #00D4FF 25%, #FFFFFF 50%, #00D4FF 75%, #FFFFFF 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: textShimmer 4s linear infinite;
}

@keyframes textShimmer {
  to {
    background-position: 200% center;
  }
}
/* Enhanced year display */
.trip-year {
  animation: yearPulse 3s ease-in-out infinite;
}

@keyframes yearPulse {
  0%, 100% {
    transform: scale(1);
    text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.9), 4px 4px 0 #0077B6, 8px 8px 0 rgba(0, 0, 0, 0.3);
  }
  50% {
    transform: scale(1.03);
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.9), 4px 4px 0 #0077B6, 8px 8px 0 rgba(0, 0, 0, 0.4);
  }
}
/* Enhanced deposit circle */
.deposit-circle {
  background: linear-gradient(135deg, #FF0000 0%, #CC0000 100%);
  animation: depositGlow 2s ease-in-out infinite;
}

@keyframes depositGlow {
  0%, 100% {
    box-shadow: 0 10px 30px rgba(255, 0, 0, 0.5);
  }
  50% {
    box-shadow: 0 15px 45px rgba(255, 0, 0, 0.7);
  }
}
/* ============================================
   PROGRESS BAR ENHANCEMENTS
   ============================================ */
.progress-fill {
  background: linear-gradient(90deg, #0096FF 0%, #00D4FF 100%);
  box-shadow: 0 2px 10px rgba(0, 150, 255, 0.4);
  animation: progressPulse 2s ease-in-out infinite;
}

@keyframes progressPulse {
  0%, 100% {
    box-shadow: 0 2px 10px rgba(0, 150, 255, 0.4);
  }
  50% {
    box-shadow: 0 2px 15px rgba(0, 150, 255, 0.6);
  }
}
/* ============================================
   SUITE CARD ENHANCEMENTS
   ============================================ */
.suite-card {
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Shine effect on hover */
.suite-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transition: left 0.6s;
  z-index: 1;
}

.suite-card:hover::before {
  left: 100%;
}

.suite-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(0, 150, 255, 0.15);
}

.suite-card.selected {
  border-color: #0096FF;
  background: linear-gradient(135deg, rgba(0, 150, 255, 0.05) 0%, rgba(0, 212, 255, 0.05) 100%);
  box-shadow: 0 8px 30px rgba(0, 150, 255, 0.2);
}

/* Enhanced suite price */
.suite-price {
  color: #FF0000;
  animation: priceGlow 2s ease-in-out infinite;
}

@keyframes priceGlow {
  0%, 100% {
    text-shadow: 0 0 5px rgba(255, 0, 0, 0.3);
  }
  50% {
    text-shadow: 0 0 10px rgba(255, 0, 0, 0.5);
  }
}
/* ============================================
   OCCUPANCY BUTTON ENHANCEMENTS
   ============================================ */
.occupancy-btn {
  position: relative;
  overflow: hidden;
}

/* Ripple effect background */
.occupancy-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(0, 150, 255, 0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.4s, height 0.4s;
}

.occupancy-btn:hover::after {
  width: 300px;
  height: 300px;
}

.occupancy-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 150, 255, 0.2);
}

.occupancy-btn.active {
  background: linear-gradient(135deg, #0096FF 0%, #00D4FF 100%);
  box-shadow: 0 8px 25px rgba(0, 150, 255, 0.3);
}

/* ============================================
   DEPOSIT CARD ENHANCEMENTS
   ============================================ */
.deposit-card:hover {
  border-color: #FFD700;
  transform: scale(1.03);
  box-shadow: 0 10px 30px rgba(255, 215, 0, 0.2);
}

.deposit-card.active {
  border-color: #FFD700;
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.08) 0%, rgba(253, 172, 45, 0.08) 100%);
  box-shadow: 0 8px 25px rgba(255, 215, 0, 0.25);
}

.deposit-card.active .deposit-amount {
  color: #FF0000;
  font-weight: 900;
}

/* ============================================
   BUTTON ENHANCEMENTS
   ============================================ */
.btn-tropical {
  position: relative;
  overflow: hidden;
}

/* Shimmer effect */
.btn-tropical::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transition: left 0.5s;
}

.btn-tropical:hover::before {
  left: 100%;
}

.btn-tropical:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 35px rgba(0, 150, 255, 0.4);
}

/* Enhanced submit button */
.btn-submit {
  background: linear-gradient(135deg, #FF0000 0%, #CC0000 100%);
  box-shadow: 0 8px 30px rgba(255, 0, 0, 0.4);
  animation: submitGlow 2.5s ease-in-out infinite;
}

@keyframes submitGlow {
  0%, 100% {
    box-shadow: 0 8px 30px rgba(255, 0, 0, 0.4);
    transform: translateY(0);
  }
  50% {
    box-shadow: 0 12px 45px rgba(255, 0, 0, 0.6);
    transform: translateY(-2px);
  }
}
.btn-submit:hover {
  box-shadow: 0 15px 50px rgba(255, 0, 0, 0.7);
}

/* ============================================
   SUMMARY BOX ENHANCEMENTS
   ============================================ */
.booking-summary-tropical {
  background: linear-gradient(135deg, rgba(0, 150, 255, 0.03) 0%, rgba(0, 212, 255, 0.03) 100%);
  border: 3px solid #0096FF;
  box-shadow: 0 8px 30px rgba(0, 150, 255, 0.1);
}

.summary-title {
  color: #0096FF;
  position: relative;
}

.summary-title::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #0096FF, #00D4FF);
  border-radius: 2px;
}

.summary-total {
  color: #FF0000;
  animation: totalPulse 2s ease-in-out infinite;
}

@keyframes totalPulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
/* ============================================
   ADD-ONS SECTION ENHANCEMENTS
   ============================================ */
.addon-checkbox {
  width: 24px;
  height: 24px;
  accent-color: #0096FF;
  cursor: pointer;
  transition: transform 0.2s;
}

.addon-checkbox:hover {
  transform: scale(1.1);
}

.addon-card {
  transition: all 0.3s ease;
}

.addon-card:hover {
  border-color: #4ECDC4;
  box-shadow: 0 6px 25px rgba(78, 205, 196, 0.15);
  transform: translateY(-3px);
}

/* Slide down animation for addon options */
.addon-details {
  animation: slideDown 0.3s ease;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ============================================
   FLOATING ANIMATION CLASS
   ============================================ */
.floating {
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}
/* ============================================
   MOBILE OPTIMIZATIONS
   ============================================ */
@media (max-width: 768px) {
  /* Reduce animation intensity on mobile */
  .booking-hero::before {
    font-size: 60px;
  }
  @keyframes palmFloat {
    0%, 100% {
      transform: translateY(0px) rotate(-10deg);
    }
    50% {
      transform: translateY(-10px) rotate(-5deg);
    }
  }
  .resort-name {
    font-size: 32px;
  }
  .trip-year {
    font-size: 38px;
  }
}
/* ============================================
   ACCESSIBILITY - REDUCED MOTION
   ============================================ */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
/* Sold Out Occupancy Button */
.occupancy-btn.sold-out-btn {
  opacity: 0.6;
  cursor: not-allowed;
  background: #f5f5f5;
  border-color: #ddd;
}

.occupancy-btn.sold-out-btn:hover {
  transform: none;
  box-shadow: none;
  background: #f5f5f5;
}

.occupancy-btn.sold-out-btn .occ-left {
  position: relative;
}

.occupancy-btn.sold-out-btn .sold-out-mini-badge {
  display: block;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  color: #E74C3C;
  margin-top: 2px;
  letter-spacing: 0.5px;
}

.occupancy-btn.sold-out-btn .occupancy-price-strikethrough {
  color: #95A5A6;
  text-decoration: line-through;
  text-decoration-color: #E74C3C;
  text-decoration-thickness: 2px;
  font-weight: 500;
}
/* ============================================
   ANTIGUA 2026 - DESKTOP & TABLET STYLES
   Media Query: 768px and above
   Version: 5.1 - Optimized for 45+ Audience
   ============================================ */
@media screen and (min-width: 768px) {
  /* ============================================
     CONTAINER ENHANCEMENTS
     ============================================ */
  .booking-widget-tropical {
    padding: 0;
    margin: 40px auto;
    max-width: 900px;
  }
  /* ============================================
     HERO HEADER - DESKTOP
     ============================================ */
  .booking-hero {
    padding: 60px 40px;
    min-height: 450px;
  }
  .logo-badge {
    padding: 10px 24px;
    margin-bottom: 25px;
    font-size: 14px;
  }
  .et-logo-img {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    flex-shrink: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .brand-name {
    font-size: 14px;
    letter-spacing: 1.2px;
  }
  .hero-title {
    margin: 30px 0;
  }
  .summer-text {
    font-size: 72px;
    letter-spacing: 4px;
    text-shadow: 4px 4px 0 var(--secondary-blue), 8px 8px 0 rgba(0, 0, 0, 0.2), 0 0 30px rgba(255, 255, 255, 0.3);
  }
  .fun-text {
    font-size: 84px;
    letter-spacing: 6px;
    filter: drop-shadow(0 5px 15px rgba(253, 172, 45, 0.5));
  }
  .hero-subtitle {
    font-size: 22px;
    margin: 20px 0;
  }
  .hero-badges {
    flex-direction: row;
    gap: 15px;
    margin: 25px 0;
  }
  .location-badge {
    padding: 14px 28px;
    font-size: 20px;
  }
  .badge-icon {
    font-size: 28px;
  }
  .dates-badge {
    padding: 14px 36px;
    font-size: 18px;
  }
  .deposit-circle {
    width: 140px;
    height: 140px;
    border-width: 8px;
    margin-top: 25px;
  }
  .deposit-amount {
    font-size: 40px;
  }
  .deposit-label {
    font-size: 16px;
    letter-spacing: 1.2px;
  }
  /* ============================================
     PROGRESS BAR - DESKTOP
     ============================================ */
  .progress-container {
    padding: 35px 30px;
    margin: -30px 30px 0;
  }
  .progress-bar {
    height: 10px;
    margin-bottom: 25px;
  }
  .progress-steps {
    padding: 0 20px;
  }
  .step {
    position: relative;
    flex-direction: column;
  }
  .step::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 50%;
    width: 100%;
    height: 3px;
    background: #E0E0E0;
    z-index: 1;
  }
  .step:first-child::before {
    display: none;
  }
  .step.completed::before {
    background: linear-gradient(90deg, var(--gold) 0%, var(--tropical-cyan) 100%);
  }
  .step-circle {
    width: 42px;
    height: 42px;
    font-size: 16px;
    margin-bottom: 10px;
    border-width: 3px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .step.active .step-circle,
  .step.completed .step-circle {
    transform: scale(1.1);
    box-shadow: 0 4px 15px rgba(78, 205, 196, 0.4);
  }
  .step-label {
    font-size: 14px;
    white-space: nowrap;
  }
  /* ============================================
     FORM SECTIONS - DESKTOP
     ============================================ */
  .booking-form-tropical {
    padding: 40px 30px;
  }
  .section-title-tropical {
    font-size: 36px;
    margin-bottom: 30px;
  }
  .title-icon {
    font-size: 48px;
    margin-bottom: 12px;
  }
  /* ============================================
     FORM GRID - DESKTOP (2 COLUMNS)
     ============================================ */
  .form-grid-tropical {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin-bottom: 30px;
  }
  .form-group-tropical.full-width {
    grid-column: 1/-1;
  }
  .tropical-label {
    font-size: 15px;
    margin-bottom: 10px;
  }
  .tropical-input,
  .tropical-select,
  .tropical-textarea {
    padding: 16px 20px;
    font-size: 16px;
    border-radius: 12px;
  }
  .tropical-input:hover,
  .tropical-select:hover,
  .tropical-textarea:hover {
    border-color: rgba(78, 205, 196, 0.5);
  }
  .tropical-input:focus,
  .tropical-select:focus,
  .tropical-textarea:focus {
    transform: scale(1.01);
    box-shadow: 0 0 0 4px rgba(78, 205, 196, 0.15);
  }
  .tropical-textarea {
    min-height: 120px;
  }
  /* ============================================
     SUITE CARDS - DESKTOP (2 COLUMNS)
     ============================================ */
  .suites-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin-bottom: 35px;
  }
  .suite-card {
    border-radius: 20px;
    border-width: 3px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .suite-card:hover:not(.sold-out) {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
  }
  .suite-card.selected {
    border-color: var(--tropical-cyan);
    border-width: 4px;
    background: linear-gradient(135deg, rgba(78, 205, 196, 0.05) 0%, rgba(255, 217, 61, 0.05) 100%);
    box-shadow: 0 10px 40px rgba(78, 205, 196, 0.3);
  }
  .suite-card.sold-out {
    opacity: 0.6;
  }
  .suite-card.sold-out:hover {
    transform: none;
    box-shadow: none;
  }
  .suite-badge {
    padding: 8px 16px;
    font-size: 12px;
    top: 15px;
    right: 15px;
  }
  .suite-image {
    height: 180px;
  }
  .suite-emoji {
    font-size: 72px;
    transition: transform 0.3s ease;
  }
  .suite-card:hover .suite-emoji {
    transform: scale(1.1) rotate(5deg);
  }
  .suite-content {
    padding: 25px;
  }
  .suite-name {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .suite-description {
    font-size: 14px;
    margin-bottom: 18px;
    line-height: 1.6;
  }
  .suite-features {
    gap: 12px;
    margin-bottom: 18px;
  }
  .feature-item {
    font-size: 12px;
    padding: 6px 12px;
  }
  .occupancy-options {
    gap: 12px;
  }
  .occupancy-btn {
    padding: 14px 16px;
    border-radius: 12px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .occupancy-btn:hover:not(:disabled) {
    transform: translateX(8px);
    background: rgba(78, 205, 196, 0.15);
    border-color: var(--tropical-cyan);
    box-shadow: 0 4px 12px rgba(78, 205, 196, 0.2);
  }
  .occupancy-btn.active {
    background: linear-gradient(135deg, var(--tropical-cyan) 0%, var(--primary-blue) 100%);
    color: var(--text-light);
    border-color: var(--primary-blue);
    transform: scale(1.02);
  }
  .occupancy-btn.active:hover {
    transform: translateX(8px) scale(1.02);
  }
  .occupancy-icon {
    font-size: 20px;
  }
  .occupancy-type {
    font-size: 15px;
  }
  .occupancy-price {
    font-size: 17px;
  }
  /* ============================================
     TRAVELERS & ROOMS - DESKTOP
     ============================================ */
  .travelers-container {
    padding: 35px;
    margin-bottom: 35px;
    border-radius: 18px;
  }
  .travelers-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin-bottom: 30px;
  }
  .travelers-summary {
    flex-direction: row;
    padding: 30px;
    gap: 20px;
  }
  .summary-item {
    gap: 10px;
  }
  .summary-icon {
    font-size: 36px;
  }
  .summary-label {
    font-size: 13px;
  }
  .summary-value {
    font-size: 32px;
  }
  .summary-divider {
    font-size: 36px;
    margin: 0 10px;
  }
  .summary-item.highlight {
    padding: 20px 30px;
    box-shadow: 0 8px 25px rgba(78, 205, 196, 0.4);
  }
  /* Roommate Fields - Desktop */
  .roommate-fields-container {
    margin-top: 35px;
    padding: 30px;
    border-radius: 16px;
  }
  .roommate-title {
    font-size: 24px;
    margin-bottom: 10px;
  }
  .roommate-subtitle {
    font-size: 15px;
    margin-bottom: 25px;
  }
  .roommate-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 25px;
  }
  .roommate-card {
    padding: 22px;
    border-radius: 14px;
    transition: all 0.3s ease;
  }
  .roommate-card:hover {
    border-color: var(--gold);
    box-shadow: 0 4px 15px rgba(253, 172, 45, 0.2);
    transform: translateY(-2px);
  }
  .roommate-label {
    font-size: 15px;
    margin-bottom: 12px;
  }
  .roommate-card .tropical-input {
    margin-bottom: 14px;
    font-size: 16px;
  }
  .roommate-card .tropical-select {
    font-size: 16px;
  }
  /* ============================================
     DEPOSIT SELECTION - DESKTOP (4 COLUMNS)
     ============================================ */
  .deposit-section-tropical {
    margin-bottom: 35px;
  }
  .subsection-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 25px;
  }
  .deposit-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 25px;
  }
  .deposit-card {
    padding: 30px 20px;
    min-height: 160px;
    border-radius: 14px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .deposit-card:hover {
    transform: translateY(-8px) scale(1.03);
    border-color: var(--accent-yellow);
    box-shadow: 0 6px 20px rgba(255, 217, 61, 0.3);
  }
  .deposit-card.active {
    background: linear-gradient(135deg, rgba(255, 217, 61, 0.2) 0%, rgba(253, 172, 45, 0.2) 100%);
    border-color: var(--gold);
    border-width: 4px;
    transform: translateY(-8px) scale(1.05);
    box-shadow: 0 8px 30px rgba(253, 172, 45, 0.4);
  }
  .deposit-card.active::after {
    width: 28px;
    height: 28px;
    font-size: 16px;
    top: 12px;
    right: 12px;
  }
  .deposit-label {
    font-size: 14px;
  }
  .deposit-amount {
    font-size: 36px;
    margin: 12px 0;
  }
  .deposit-description {
    font-size: 12px;
  }
  /* Custom Deposit - Desktop */
  .custom-deposit-option {
    margin-bottom: 25px;
  }
  .custom-card {
    max-width: 280px;
  }
  .custom-deposit-container {
    max-width: 500px;
    margin: 0 auto 30px;
    padding: 25px;
    border-radius: 14px;
  }
  .custom-deposit-input-wrapper {
    gap: 12px;
    margin-top: 15px;
  }
  .input-prefix {
    font-size: 22px;
  }
  .custom-deposit-input {
    font-size: 24px;
    padding: 16px;
    max-width: 250px;
  }
  .input-suffix {
    font-size: 15px;
  }
  .input-helper {
    font-size: 13px;
    margin-top: 10px;
  }
  /* ============================================
     ADD-ONS - DESKTOP (2 COLUMNS)
     ============================================ */
  .addons-section-tropical {
    padding: 35px;
    margin-bottom: 35px;
    border-radius: 18px;
  }
  .addons-grid-tropical {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin-bottom: 25px;
  }
  .addon-card-tropical {
    padding: 25px;
    min-height: 150px;
    border-radius: 14px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .addon-card-tropical:hover {
    transform: translateY(-5px);
    border-color: var(--gold);
    box-shadow: 0 8px 25px rgba(253, 172, 45, 0.3);
    background: linear-gradient(135deg, rgba(253, 172, 45, 0.05) 0%, rgba(255, 217, 61, 0.05) 100%);
  }
  .addon-checkbox {
    width: 26px;
    height: 26px;
    top: 20px;
    right: 20px;
  }
  .addon-label-wrapper {
    gap: 18px;
    padding-right: 40px;
  }
  .addon-icon {
    font-size: 56px;
  }
  .addon-title {
    font-size: 20px;
    margin-bottom: 8px;
  }
  .addon-description {
    font-size: 14px;
    margin-bottom: 10px;
    line-height: 1.5;
  }
  .addon-price {
    font-size: 16px;
  }
  .addon-options {
    margin-top: 18px;
    padding-top: 18px;
  }
  .addon-options .tropical-label {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .addon-options .tropical-select {
    font-size: 15px;
    padding: 14px 18px;
  }
  .addons-summary {
    padding: 25px;
    max-width: 500px;
    margin: 0 auto;
    margin-top: 25px;
  }
  .summary-row {
    font-size: 20px;
  }
  .summary-amount {
    font-size: 28px;
  }
  /* ============================================
     INSURANCE BANNER - DESKTOP (HORIZONTAL)
     ============================================ */
  .insurance-banner-tropical {
    flex-direction: row;
    padding: 30px 35px;
    margin-bottom: 35px;
    gap: 25px;
    text-align: left;
  }
  .insurance-icon {
    font-size: 64px;
    margin-bottom: 0;
  }
  .insurance-content {
    flex: 1;
  }
  .insurance-title {
    font-size: 22px;
    margin-bottom: 10px;
  }
  .insurance-text {
    font-size: 15px;
    line-height: 1.6;
  }
  /* ============================================
     BOOKING SUMMARY - DESKTOP
     ============================================ */
  .booking-summary-tropical {
    max-width: 700px;
    margin: 0 auto 35px;
    padding: 35px;
    border-radius: 18px;
  }
  .summary-title {
    font-size: 26px;
    margin-bottom: 25px;
  }
  .summary-row-main {
    padding: 15px 0;
    font-size: 17px;
  }
  .summary-row-main.total {
    font-size: 22px;
    padding: 18px 0;
    margin: 15px 0;
  }
  .summary-row-main.total .summary-value {
    font-size: 32px;
  }
  .summary-row-main.deposit {
    font-size: 20px;
    padding: 16px 0;
    margin: 0 -35px;
    padding-left: 35px;
    padding-right: 35px;
  }
  .summary-row-main.deposit .summary-value {
    font-size: 28px;
  }
  .summary-note {
    margin-top: 18px;
    padding: 18px;
    font-size: 15px;
  }
  /* ============================================
     TERMS SECTION - DESKTOP
     ============================================ */
  .terms-section-tropical {
    max-width: 700px;
    margin: 0 auto 30px;
    padding: 25px;
    border-radius: 14px;
  }
  .terms-label {
    gap: 14px;
  }
  .terms-checkbox {
    width: 28px;
    height: 28px;
    margin-top: 0;
  }
  .terms-text {
    font-size: 15px;
    line-height: 1.7;
  }
  .terms-link {
    font-size: 15px;
  }
  .terms-link:hover {
    color: var(--tropical-cyan);
  }
  /* ============================================
     MESSAGES - DESKTOP
     ============================================ */
  .message-area {
    margin: 25px 0;
    padding: 0 20px;
  }
  .alert {
    padding: 18px 24px;
    font-size: 16px;
    max-width: 700px;
    margin: 0 auto;
    gap: 15px;
  }
  .error-message,
  .success-message {
    padding: 14px 18px;
    font-size: 15px;
    margin-top: 15px;
  }
  /* ============================================
     BUTTONS - DESKTOP (CRITICAL FOR 45+)
     ============================================ */
  .section-footer-tropical {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
    margin-top: 35px;
  }
  .btn-tropical {
    padding: 18px 40px;
    font-size: 17px;
    min-width: 160px;
    border-radius: 12px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
  }
  .btn-tropical:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  }
  .btn-next:hover:not(:disabled),
  .btn-submit:hover:not(:disabled) {
    box-shadow: 0 8px 25px rgba(78, 205, 196, 0.5);
    transform: translateY(-3px);
  }
  .btn-back:hover:not(:disabled) {
    background: #E8E8E8;
    border-color: #CCC;
    transform: translateY(-2px);
  }
  .btn-tropical:active:not(:disabled) {
    transform: scale(0.98);
  }
  .btn-submit {
    min-width: 300px;
    font-size: 20px;
    padding: 20px 50px;
  }
  .btn-arrow {
    font-size: 20px;
  }
  .btn-icon {
    font-size: 24px;
  }
  .submit-section-tropical {
    margin-top: 30px;
  }
  /* ============================================
     MODALS - DESKTOP
     ============================================ */
  .modal-tropical {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
  }
  .modal-content-tropical {
    max-width: 700px;
    border-radius: 24px;
    max-height: 85vh;
    animation: scaleIn 0.3s ease-out;
  }
  @keyframes scaleIn {
    from {
      opacity: 0;
      transform: scale(0.9);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
  .modal-content-tropical.modal-sm {
    max-width: 500px;
  }
  .modal-header-tropical {
    padding: 30px 35px;
  }
  .modal-title-tropical {
    font-size: 26px;
  }
  .modal-close-tropical {
    font-size: 40px;
    width: 44px;
    height: 44px;
  }
  .modal-close-tropical:hover {
    background: #D0D0D0;
  }
  .modal-body-tropical {
    padding: 35px;
  }
  .modal-footer-tropical {
    padding: 25px 35px;
  }
  /* Terms Modal Content */
  .terms-content {
    max-height: 450px;
    padding-right: 15px;
  }
  .terms-content::-webkit-scrollbar {
    width: 10px;
  }
  .terms-content::-webkit-scrollbar-track {
    background: #F5F5F5;
    border-radius: 10px;
    margin: 10px 0;
  }
  .terms-content::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, var(--tropical-cyan) 0%, var(--primary-blue) 100%);
    border-radius: 10px;
    border: 2px solid #F5F5F5;
  }
  .terms-content::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);
  }
  .terms-section-modal {
    margin-bottom: 30px;
  }
  .terms-section-modal h3 {
    font-size: 20px;
    margin-bottom: 12px;
  }
  .terms-section-modal p {
    font-size: 15px;
    line-height: 1.7;
  }
  .terms-section-modal ul {
    padding-left: 25px;
    margin: 12px 0;
  }
  .terms-section-modal li {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.6;
  }
  .modal-body-tropical .tropical-input {
    padding: 16px 20px;
    font-size: 17px;
    margin-bottom: 20px;
  }
  .modal-body-tropical .form-group-tropical {
    margin-bottom: 20px;
  }
  .modal-body-tropical .tropical-label {
    font-size: 15px;
  }
  /* ============================================
     FOOTER LINKS - DESKTOP
     ============================================ */
  .widget-footer-tropical {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 30px;
    padding: 35px 30px;
  }
  .footer-link-tropical {
    padding: 10px 16px;
    font-size: 15px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 10px;
  }
  .footer-link-tropical:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(78, 205, 196, 0.2);
    background: rgba(78, 205, 196, 0.1);
    border-color: var(--tropical-cyan);
  }
  .link-icon {
    font-size: 18px;
  }
  /* ============================================
     ENHANCED HOVER EFFECTS (45+ FRIENDLY)
     ============================================ */
  /* ============================================
     FOCUS STATES - ENHANCED FOR ACCESSIBILITY
     ============================================ */
  /* ============================================
     LOADING STATES - DESKTOP
     ============================================ */
}
@media screen and (min-width: 768px) and (hover: hover) {
  .tropical-input:hover,
  .tropical-select:hover,
  .tropical-textarea:hover {
    border-color: rgba(78, 205, 196, 0.6);
  }
  .suite-card:hover .suite-badge {
    transform: scale(1.1) rotate(-5deg);
  }
  .deposit-card:hover::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(255, 217, 61, 0.1) 0%, rgba(253, 172, 45, 0.1) 100%);
    border-radius: 12px;
    pointer-events: none;
  }
  .addon-card-tropical:hover .addon-icon {
    transform: scale(1.1) rotate(5deg);
  }
}
@media screen and (min-width: 768px) {
  .tropical-input:focus,
  .tropical-select:focus,
  .tropical-textarea:focus {
    transform: scale(1.01);
    box-shadow: 0 0 0 4px rgba(78, 205, 196, 0.15);
  }
  .btn-tropical:focus-visible {
    outline: 3px solid var(--tropical-cyan);
    outline-offset: 3px;
  }
  .terms-checkbox:focus,
  .addon-checkbox:focus {
    outline: 3px solid var(--tropical-cyan);
    outline-offset: 2px;
  }
  .btn-tropical.loading::after {
    width: 24px;
    height: 24px;
    border-width: 3px;
    margin-left: 12px;
  }
}
/* ============================================
   LARGE DESKTOP (1200px+)
   ============================================ */
@media screen and (min-width: 1200px) {
  .booking-widget-tropical {
    max-width: 1200px;
  }
  .booking-hero {
    padding: 70px 50px;
  }
  .summer-text {
    font-size: 84px;
  }
  .fun-text {
    font-size: 96px;
  }
  .booking-form-tropical {
    padding: 50px 40px;
  }
  .form-grid-tropical {
    gap: 30px;
  }
  .suites-grid {
    gap: 30px;
  }
  .suite-card {
    border-width: 4px;
  }
  .suite-content {
    padding: 30px;
  }
  .travelers-container {
    padding: 40px;
  }
  .roommate-fields-container {
    padding: 35px;
  }
  .deposit-grid {
    gap: 25px;
  }
  .deposit-card {
    padding: 35px 25px;
  }
  .addons-section-tropical {
    padding: 40px;
  }
  .booking-summary-tropical {
    padding: 40px;
  }
}
/* ============================================
   TABLET SPECIFIC (768px - 1024px)
   ============================================ */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .booking-widget-tropical {
    max-width: 95%;
  }
  .booking-hero {
    padding: 50px 30px;
  }
  .summer-text {
    font-size: 60px;
  }
  .fun-text {
    font-size: 70px;
  }
  .booking-form-tropical {
    padding: 35px 25px;
  }
  .suites-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .deposit-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .addons-grid-tropical {
    grid-template-columns: 1fr;
  }
  .btn-submit {
    min-width: 250px;
    font-size: 18px;
    padding: 18px 40px;
  }
}
/* ============================================
   PRINT STYLES
   ============================================ */
@media print {
  .booking-widget-tropical {
    box-shadow: none;
    border: 1px solid #ddd;
  }
  .water-background,
  .wave,
  .booking-hero::before {
    display: none !important;
  }
  .btn-tropical,
  .modal-tropical,
  .widget-footer-tropical {
    display: none !important;
  }
}
/* ============================================
   ACCESSIBILITY - HIGH CONTRAST MODE
   ============================================ */
@media (prefers-contrast: high) {
  .booking-widget-tropical {
    border: 3px solid currentColor;
  }
  .tropical-input,
  .tropical-select,
  .tropical-textarea {
    border-width: 3px;
  }
  .btn-tropical {
    border: 3px solid currentColor;
  }
}
/* ============================================
   RESPONSIVE - LOGO & BRANDING
   ============================================ */
/* Desktop (768px+) */
@media screen and (min-width: 768px) {
  .logo-badge {
    padding: 10px 24px;
    margin-bottom: 25px;
  }
  .et-logo {
    width: 42px;
    height: 42px;
    font-size: 20px;
    border-width: 3px;
  }
  .brand-name {
    font-size: 14px;
    letter-spacing: 1.2px;
  }
  .resort-name {
    font-size: 48px;
    letter-spacing: 4px;
  }
  .resort-location {
    font-size: 28px;
    letter-spacing: 3px;
  }
  .hero-tagline {
    font-size: 32px;
    margin: 20px 0;
  }
  .trip-year {
    font-size: 72px;
    letter-spacing: 6px;
  }
  .trip-description {
    font-size: 20px;
    margin: 20px 0;
  }
}
/* Mobile (below 768px) */
@media screen and (max-width: 767px) {
  .logo-badge {
    padding: 6px 16px;
    font-size: 10px;
    margin-bottom: 15px;
  }
  .et-logo-img {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    flex-shrink: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .brand-name {
    font-size: 11px;
  }
  .resort-name {
    font-size: 28px;
    letter-spacing: 2px;
  }
  .resort-location {
    font-size: 18px;
    letter-spacing: 1.5px;
  }
  .hero-tagline {
    font-size: 20px;
    margin: 12px 0;
  }
  .trip-year {
    font-size: 36px;
    letter-spacing: 2px;
  }
  .trip-description {
    font-size: 16px;
    margin: 12px 0;
    line-height: 1.4;
  }
}
/* ============================================
   DUDA OVERRIDES - FORCE LOGO SIZE
   ============================================ */
.logo-badge .et-logo,
.booking-hero .logo-badge .et-logo,
.booking-widget-tropical .booking-hero .logo-badge .et-logo {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  font-size: 16px !important;
}

/* Desktop override */
@media screen and (min-width: 768px) {
  .logo-badge .et-logo,
  .booking-hero .logo-badge .et-logo,
  .booking-widget-tropical .booking-hero .logo-badge .et-logo {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    font-size: 17px !important;
  }
}
/* Mobile override */
@media screen and (max-width: 767px) {
  .logo-badge .et-logo,
  .booking-hero .logo-badge .et-logo,
  .booking-widget-tropical .booking-hero .logo-badge .et-logo {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    font-size: 14px !important;
  }
}
/* Sold Out Single Occupancy Styling */
.occupancy-btn.sold-out-btn {
  opacity: 0.6;
  cursor: not-allowed;
  background: #f5f5f5 !important;
  border-color: #ddd !important;
}

.occupancy-btn.sold-out-btn:hover {
  transform: none !important;
  box-shadow: none !important;
  background: #f5f5f5 !important;
}

.occupancy-btn.sold-out-btn .occ-left {
  position: relative;
}

.occupancy-btn.sold-out-btn .sold-out-mini-badge {
  display: block;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  color: #E74C3C;
  margin-top: 2px;
  letter-spacing: 0.5px;
}

.occupancy-btn.sold-out-btn .occupancy-price-strikethrough {
  color: #95A5A6;
  text-decoration: line-through;
  text-decoration-color: #E74C3C;
  text-decoration-thickness: 2px;
  font-weight: 500;
}
.widget-1f5975 .copyright {
    font-size: 13px;
    display: flex;
    text-align: left;
    justify-content: flex-start;
}
