/* Sunny Isle v7: consistent light tropical visual system across all public pages */
:root{--sunny-cream:#faf5ea;--sunny-ink:#17334a;--sunny-sky:#29a9d8;--sunny-gold:#f7c75d}
html,body{background:#faf5ea!important}
/* Main hero remains photographic; make ALL overlaid headings readable. */
.main-hero h1,.main-hero h1 em,.main-hero h1 span,.main-hero .hero-content h1{color:#fff!important;text-shadow:0 2px 12px #051c39b8!important}.main-hero .hero-overlay{background:linear-gradient(180deg,rgba(5,23,40,.10) 0%,rgba(5,23,40,.35) 39%,rgba(5,23,40,.77) 100%)!important}
/* White text on service photos instead of inherited dark text */
.hero:has(>.shade) h1,.hero:has(>.shade) h1 *,.hero:has(>.shade) .wrap>h1{color:#fff!important;text-shadow:0 2px 10px #071827bb!important}
.hero:has(>.shade) .wrap>p,.hero:has(>.shade) .trust{color:#f7fbff!important;text-shadow:0 1px 4px #071827!important}.hero:has(>.shade) .eyebrow{color:#ffda77!important}
/* Service route cards on dark backgrounds need light foreground */
.destinations .dest,.destinations .card,.terminal-card{background:#17334a!important;color:#fff!important;border-color:#46677a!important}
.destinations .dest h3,.destinations .dest h4,.destinations .dest b,.destinations .dest strong,.destinations .card h3,.destinations .card b,.terminal-card h3,.terminal-card b{color:#fff!important}
.destinations .dest p,.destinations .dest small,.destinations .card p,.terminal-card p{color:#e1edf5!important}
.destinations .dest .eyebrow,.destinations .card .eyebrow,.destinations .dest>span{color:#f7c75d!important}
/* Restore photographic icon art rather than replacement outline symbols */
.vehicle-features .icon-tile.clean{padding:3px!important;background:#fff7e6!important}.vehicle-features .icon-tile.clean img{width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important;padding:0!important;box-shadow:none!important}
.vehicle .gallery-hint,.vehicle .hint,.vehicle .swipe-hint{color:#425f72!important}
/* Main gallery avoid large unproductive whitespace */
body:has(.sunny-gallery-card) .hero.wrap{padding-top:20px!important;padding-bottom:14px!important;min-height:0!important}
body:has(.sunny-gallery-card) .hero.wrap h1{margin:7px 0 10px!important;line-height:1.02!important}
body:has(.sunny-gallery-card) .hero.wrap p{color:#526b7a!important;line-height:1.4!important}
/* Dark section foreground with independent background */
.payment-band,.how,.benefits,.vehicle,.services-preview{color:#17334a!important}
@media(max-width:600px){.hero:has(>.shade){min-height:min(680px,calc(100svh - 74px))!important}.hero:has(>.shade) .wrap{padding-bottom:30px!important}.hero:has(>.shade) h1{font-size:clamp(43px,10vw,57px)!important}.hero:has(>.shade) p{font-size:15px!important;line-height:1.45!important}.destinations .dest,.destinations .card{padding:17px!important}body:has(.sunny-gallery-card) .hero.wrap{padding-top:18px!important}body:has(.sunny-gallery-card) .hero.wrap h1{font-size:clamp(39px,10vw,52px)!important}}
