/* Signature Glass: shared navigation, information pages and footer. */
.shvg-header{position:relative;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 4%;background:linear-gradient(120deg,#f6fdfff2,#e2f3f6ed);border-bottom:1px solid #ffffff;box-shadow:0 8px 35px #154d6c12;backdrop-filter:blur(18px);color:#154763}
.shvg-logo{display:block;flex:0 0 220px;max-width:100%}.shvg-logo img{display:block;width:220px;height:86px;object-fit:contain;filter:drop-shadow(0 2px 2px #295d7020)}
.shvg-navigation{display:flex;align-items:center;gap:20px}.shvg-menu{display:flex;gap:18px;list-style:none;margin:0!important;padding:0!important;align-items:center}.shvg-menu li{list-style:none;position:relative;margin:0;padding:0}.shvg-menu a{display:block;padding:15px 0;font:500 12px/1.4 'DM Sans',Arial,sans-serif;text-decoration:none;white-space:nowrap}.shvg-menu .sub-menu{position:absolute;top:100%;left:-20px;min-width:225px;padding:12px 20px;margin:0;list-style:none;visibility:hidden;opacity:0;background:#f5fcfff7;border:1px solid #fff;border-radius:12px;box-shadow:0 15px 40px #14507235;backdrop-filter:blur(25px);color:#164c68;z-index:5}.shvg-menu li:hover>.sub-menu,.shvg-menu li:focus-within>.sub-menu{visibility:visible;opacity:1}.shvg-menu .sub-menu a{padding:10px 0;white-space:normal}.shvg-menu a:hover{text-decoration:underline;text-underline-offset:5px}.shvg-book{display:inline-block;padding:14px 19px;border:1px solid #caefff;border-radius:30px;background:linear-gradient(130deg,#e7faff,#b8e1f4);color:#114e72!important;box-shadow:inset 0 1px 0 #fff,0 4px 18px #14567715;font:500 12px/1.4 'DM Sans',Arial,sans-serif;white-space:nowrap;text-decoration:none}.shvg-menu-button{display:none;padding:10px 15px;background:#e7f7fc;border:1px solid #b3dce8;border-radius:25px;color:#175571;font-size:12px}.shvg-menu-button span{margin-left:14px}
.shvg-header-home{margin:22px 4%;padding:12px 22px;border:1px solid #ffffff9c;border-radius:15px;background:linear-gradient(120deg,#f5fcffd9,#e3f8ffe0);backdrop-filter:blur(20px)}
.shvg-footer{padding:55px 5% 25px;background:linear-gradient(135deg,#e5f4f9,#f7fcff 55%,#d4edf7);color:#174862;border-top:1px solid #c5e4f0}.shvg-footer-grid{max-width:1300px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1.1fr .8fr;gap:35px}.shvg-footer .shvg-logo{width:240px}.shvg-footer .shvg-logo img{width:240px;height:95px}.shvg-footer h3{font:400 23px/1.3 'Playfair Display',Georgia,serif;margin:15px 0 20px;color:#174862}.shvg-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.shvg-footer nav a,.shvg-footer-about>a:last-child{font:12px/1.5 'DM Sans',Arial,sans-serif}.shvg-footer p{font:13px/1.8 'DM Sans',Arial,sans-serif;color:#4b7083}.shvg-qr{background:#ffffffe0;align-self:start;padding:13px;border:1px solid white;border-radius:13px;box-shadow:0 10px 25px #1a577315;text-align:center}.shvg-qr img{width:100%;height:auto;max-height:200px;object-fit:contain}.shvg-qr span{display:block;font:11px/1.6 'DM Sans',Arial,sans-serif;margin-top:12px}.shvg-qr small{font-size:9px;color:#58798b}.shvg-footer-bottom{max-width:1300px;margin:35px auto 0;border-top:1px solid #bcdde8;padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:10px/1.6 'DM Sans',Arial,sans-serif}.shvg-footer-bottom div{display:flex;gap:15px;flex-wrap:wrap}
body.sh-villa{--teal:#11678c;--navy:#123e58;--ink:#244d63;--muted:#52758a;--cream:#eaf5fa;--line:#c7e3ed;--gold:#72c5e1;--guide-blue:#147da3;--guide-navy:#123e58;--guide-line:#c7e5ef;--guide-pale:#eaf7fc;background:linear-gradient(110deg,#f1faffec,#e8f5f9f0),url('assets/slide-aerial-view.jpeg') center/cover fixed;font-family:'DM Sans',Arial,sans-serif}
body.sh-villa h1,body.sh-villa h2,body.sh-villa h3{font-family:'Playfair Display',Georgia,serif}.sh-page-heading{background:linear-gradient(120deg,#ddf2fae8,#f6fcffe8);border-bottom:1px solid #fff}.sh-page-heading:before{background:linear-gradient(90deg,rgba(234,248,251,.75),rgba(220,244,253,.75)),url('assets/main-villa-ai-enhanced.png') center 55%/cover;opacity:1}.sh-page-heading:after{background:#55b9dc;width:85px;box-shadow:30px 7px 0 #a1dfef}.sh-content{background:#ffffffad;border:1px solid #ffffffd9;border-radius:22px;box-shadow:0 15px 45px #154f6e10;backdrop-filter:blur(15px);margin-top:30px!important;margin-bottom:40px!important;padding:35px!important}.sh-cta{position:relative;overflow:hidden;background:linear-gradient(120deg,#d3ecf7,#effaff);border:1px solid white;border-radius:50px 8px 50px 8px;margin:35px 4%;color:#123e58;box-shadow:0 14px 35px #124b6a15}.sh-cta h2{color:#123e58}.sh-cta .sh-button-outline{border-color:#6daac3;color:#145371}.sh-button,.sh-villa a.button{background:linear-gradient(120deg,#126c96,#258db0);border-color:#4ca2c2;border-radius:6px;box-shadow:inset 0 1px 0 #8bcee555,0 5px 15px #16567415}.sh-info-card,.sh-guide-section,.sh-rate-card,.sh-booking-detail,.sh-booking-facts>span,.sh-vehicle-card,.sh-contact-form,.sh-contact-aside,.sh-review-card{background:linear-gradient(135deg,#ffffffef,#eaf6fbd9)!important;border:1px solid white!important;box-shadow:inset 0 1px 0 white,0 10px 30px #185c7c12;border-radius:16px!important;backdrop-filter:blur(15px)}.sh-info-card h3{background:linear-gradient(120deg,#086d98,#369dba)!important}.sh-guide-section summary,.sh-booking-detail summary{background:#e6f4faf2}.sh-place-card-body{background:#ffffffbb}.sh-gallery-main{border-radius:15px}.sh-gallery-frame{border-radius:18px;box-shadow:0 18px 35px #1a4d7020}.sh-gallery-thumbs a{border-radius:6px;overflow:hidden}.sh-intro,.sh-map{background:#eef9fce6;border-radius:16px}.sh-amenities span{background:#e1f2f9;border-color:#c3e4ef}.sh-preview{background:#154d70;color:#effbff}.sh-destination-intro img,.sh-property-intro img,.sh-suite-grid img{border-radius:12px}.sh-destination-intro figure,.sh-property-intro figure{overflow:hidden}.sh-contact-detail{border-color:#c4e3ee}.sh-content input:not([type=checkbox]):not([type=radio]),.sh-content select,.sh-content textarea{border-radius:5px;border-color:#afcfdc}.sh-content .datepick-inline{background:#fff!important;border-radius:10px}
@media(max-width:1120px){.shvg-header{gap:18px;padding:15px 3%}.shvg-logo{flex-basis:185px}.shvg-logo img{width:185px;height:73px}.shvg-menu{gap:12px}.shvg-menu a{font-size:11px}.shvg-navigation{gap:13px}.shvg-book{padding:12px 14px;font-size:11px}.shvg-footer-grid{gap:25px;grid-template-columns:1.2fr 1fr 1fr}.shvg-qr{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:25px;padding:15px}.shvg-qr img{width:130px}.shvg-qr span{text-align:left;margin:0}}
@media(max-width:900px){.shvg-header{flex-wrap:wrap;padding:15px 22px;gap:10px}.shvg-logo{flex-basis:200px}.shvg-logo img{width:200px;height:77px}.shvg-menu-button{display:block;min-height:44px}.shvg-navigation{display:none;width:100%;padding:15px 0 5px}.shvg-navigation.is-open{display:flex;flex-direction:column;align-items:stretch}.shvg-menu{flex-direction:column;align-items:stretch;gap:0;width:100%}.shvg-menu a{padding:12px 5px;font-size:13px;white-space:normal}.shvg-menu .sub-menu{position:static;visibility:visible;opacity:1;box-shadow:none;padding:0 0 5px 20px;border:none;background:transparent;backdrop-filter:none;min-width:0}.shvg-menu .sub-menu a{padding:9px 5px;font-size:12px}.shvg-book{text-align:center;font-size:12px}.shvg-header-home{margin:18px 20px;padding:10px 18px}.shvg-footer-grid{grid-template-columns:1fr 1fr}.shvg-footer-about{grid-column:1/-1}.shvg-qr{grid-column:auto;display:block}.shvg-qr img{width:150px;margin:auto}.shvg-qr span{text-align:center;margin:10px 0 0}.shvg-footer .shvg-logo{width:250px}.shvg-footer .shvg-logo img{width:250px}.sh-content{padding:20px!important;border-radius:12px;margin-top:20px!important;width:calc(100% - 30px)!important}.shvg-footer-grid>nav:last-of-type{grid-column:1/2;grid-row:3}.shvg-qr{grid-column:2;grid-row:2/4;align-self:center}.shvg-footer-bottom{font-size:10px}.sh-cta{border-radius:30px 5px;margin:25px 15px}}
@media(max-width:420px){.shvg-logo{flex-basis:160px}.shvg-logo img{width:160px;height:65px}.shvg-header-home{margin:15px;padding:10px 14px}.shvg-menu-button{padding:9px 12px;font-size:11px}.shvg-menu-button span{margin-left:7px}.shvg-footer{padding:35px 22px 25px}.shvg-footer-grid{column-gap:18px}.shvg-footer nav a{font-size:11px}.shvg-qr{padding:8px}.shvg-qr img{width:100%;max-width:140px}.shvg-qr span{font-size:10px}.shvg-footer h3{font-size:20px}.sh-content{padding:16px!important}}

/* Glass surfaces: 70% transparent; content retains full opacity. */
:root{--shvg-glass-alpha:.30}
.glass,.signature-home .hero-copy{
 background:linear-gradient(135deg,rgba(10,47,75,var(--shvg-glass-alpha)),rgba(18,67,93,var(--shvg-glass-alpha)))!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.glass h1,.glass h2,.glass p,.glass strong,.glass small,.glass .eyebrow,.glass .text-link{
 text-shadow:0 2px 5px #06253ad9;
}
.booking,.sh-content,.shvg-qr,.sh-info-card,.sh-guide-section,.sh-rate-card,
.sh-booking-detail,.sh-booking-facts>span,.sh-vehicle-card,.sh-contact-form,
.sh-contact-aside,.sh-review-card,.shvg-home-rates article,.shvg-home-detail-grid article,
.shvg-home-reviews figure,.shvg-explore-links>div:last-child,.sh-intro,.sh-map,.sh-price-summary{
 background:linear-gradient(135deg,rgba(255,255,255,var(--shvg-glass-alpha)),rgba(234,246,251,var(--shvg-glass-alpha)))!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.sh-guide-section summary,.sh-booking-detail summary,.sh-place-card-body{
 background:rgba(230,244,250,var(--shvg-glass-alpha));
}
/* Continuous, layered blue ribbons frame the navigation on every page. */
.shvg-header,.shvg-header.shvg-header-home{
 margin:0;padding:18px 4% 29px;border:0;border-bottom:1px solid #a1e3fa70;border-radius:0;
 background:#073b60 url('assets/blue-ribbon-banner.svg') center center/100% 100% no-repeat;
 color:#fff;box-shadow:0 8px 25px #052e4926;
 backdrop-filter:none;-webkit-backdrop-filter:none;
}
.shvg-header .shvg-logo img{filter:drop-shadow(0 2px 4px #001d38a6)}
.shvg-header .shvg-navigation,.signature-home .shvg-header nav{color:#fff}
.shvg-header .shvg-menu>li>a{color:#fff;text-shadow:0 1px 3px #00314bd9;font-size:13px}
.shvg-header .shvg-menu>li>a:hover{color:#c6f2ff}
.shvg-menu .sub-menu{background:#f0faff;color:#164c68;backdrop-filter:none;-webkit-backdrop-filter:none}
.shvg-header .shvg-book{background:#edfaff;color:#114e72!important;border-color:#b3ebff;box-shadow:0 4px 16px #01253c40;font-size:13px}
.shvg-header .shvg-menu-button{background:#edfaff;color:#114e72;border-color:#b3ebff;font-size:13px}
.shvg-header a:focus-visible,.shvg-header button:focus-visible{outline:3px solid #b9f2ff!important;outline-offset:4px}
.shvg-header .sub-menu a:focus-visible{outline-color:#126c96!important}
.shvg-footer a:focus-visible{outline:3px solid #126c96;outline-offset:4px}
.shvg-footer nav a,.shvg-footer-about>a:last-child{font-size:13px}
.shvg-footer p{font-size:14px}
.shvg-footer-bottom{font-size:12px}
@media(max-width:1120px) and (min-width:901px){
 .shvg-header .shvg-menu>li>a{font-size:12px}.shvg-header .shvg-book{font-size:12px;padding:12px}
 .shvg-header .shvg-logo{flex-basis:175px}.shvg-header .shvg-logo img{width:175px}
}
@media(max-width:900px){
 .shvg-header,.shvg-header.shvg-header-home{padding:14px 24px 26px;background-size:auto 130px;background-position:center top;background-color:#073b60}
 .shvg-header .shvg-navigation.is-open{padding-top:14px;border-top:1px solid #8bd8f45c}
 .shvg-header .shvg-menu>li>a{font-size:15px;min-height:44px}
 .shvg-header .shvg-menu .sub-menu{color:#d8f5ff;background:transparent}
 .shvg-header .shvg-menu .sub-menu a{font-size:14px;min-height:42px}
 .shvg-header .shvg-book{font-size:14px;margin-top:12px}
 .shvg-header .shvg-menu-button{min-width:100px}
}
@media(max-width:420px){
 .shvg-header,.shvg-header.shvg-header-home{padding:12px 18px 23px}
 .shvg-header .shvg-logo{flex-basis:160px}.shvg-header .shvg-logo img{width:160px;height:65px}
 .shvg-footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .shvg-footer nav a{font-size:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition-duration:.01ms!important}}

/* Review polish: a readable secondary action and a tidy map frame. */
.sh-cta .sh-button-outline{background:rgba(255,255,255,.30);color:#145371;border:1px solid #6daac3;box-shadow:none}
.sh-cta .sh-button-outline:hover{background:#123e58;color:#fff;border-color:#123e58}
.sh-map iframe{display:block;border-radius:12px}
@media(max-width:359px){.shvg-header .shvg-logo,.signature-home .shvg-header .shvg-logo{flex-basis:145px}.shvg-header .shvg-logo img,.signature-home .shvg-header .shvg-logo img{width:145px;height:60px}.shvg-header .shvg-menu-button{min-width:85px;font-size:12px;padding:9px 10px}}

.sh-terms section{background:rgba(255,255,255,.30)}
.sh-terms section h2{background:rgba(218,242,250,.30)}

/* A clear current-page marker in the ribbon menu and gallery navigation. */
.shvg-header .shvg-menu a[aria-current="page"],
.shvg-header .shvg-menu .current-menu-ancestor>a,
.shvg-header .shvg-menu .current-menu-parent>a,
.sh-gallery-pages a[aria-current="page"]{font-weight:800;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px}
.shvg-header .shvg-menu>li.current-menu-item>a,
.shvg-header .shvg-menu>li.current-menu-ancestor>a{color:#d5f6ff}

/* Centre all island-guide categories and give every listing the same rhythm. */
.sh-guide-section>summary{position:relative;text-align:center;justify-content:center;padding-left:58px;padding-right:58px}
.sh-guide-section>summary>span{position:absolute;right:24px;top:50%;transform:translateY(-50%)}
.sh-guide-section[open]>summary>span{transform:translateY(-50%) rotate(45deg)}
.sh-guide-section .sh-guide-body{width:100%;max-width:1100px;margin:0 auto;text-align:center;padding:30px}
.sh-guide-body>p{max-width:780px;margin-left:auto;margin-right:auto}
.sh-guide-body .sh-info-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:26px auto}
.sh-guide-body .sh-info-card{display:flex;flex-direction:column;min-width:0;text-align:center}
.sh-guide-body .sh-info-card h3{text-align:center!important;display:flex;align-items:center;justify-content:center;min-height:64px;padding:17px 20px}
.sh-guide-body .sh-place-card-body{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;flex:1;min-height:150px;padding:24px;gap:16px}
.sh-guide-body .sh-place-thumbnail{float:none;width:160px;height:120px;flex:none;margin:0;object-fit:cover;border-radius:12px}
.sh-guide-body .sh-place-thumbnail.sh-place-logo{object-fit:contain}
.sh-guide-body .sh-place-card-body p{width:100%;max-width:38ch;font-size:15px;line-height:1.75;overflow-wrap:anywhere}
.sh-guide-body .sh-guide-links{justify-content:center;text-align:center}
.sh-guide-body .sh-archive-photos{max-width:900px;margin:28px auto 0}

/* A balanced location page, with consistent image sizes and readable copy. */
.shvg-location{max-width:1100px;margin:0 auto;text-align:center}
.shvg-location p{font-size:16px;line-height:1.8}
.shvg-location h2{font-size:clamp(31px,3.5vw,46px);line-height:1.15;text-wrap:balance}
.shvg-location-intro{max-width:790px;margin:8px auto 34px}
.shvg-location-intro>p,.shvg-location-setting>p,.shvg-location-story>p{max-width:760px;margin-left:auto;margin-right:auto}
.shvg-location-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:22px 30px;margin-top:28px}
.shvg-location-landscape{margin:0 0 52px}
.shvg-location-landscape>img{display:block;width:100%;height:clamp(250px,34vw,430px);object-fit:cover;border-radius:18px}
.shvg-location-landscape .sh-photo-credit{font-size:12px;margin:10px 0 0}
.shvg-location-setting{padding-top:6px}
.shvg-location-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:30px 0 0}
.shvg-location-photo{min-width:0;margin:0;border:1px solid #fff;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.30);padding-bottom:22px}
.shvg-location-photo .sh-approved-villa{margin:0}
.shvg-location-photo img{display:block;width:100%;height:290px;object-fit:cover;border-radius:0}
.shvg-location-photo h3{font-size:25px;margin:23px 20px 8px}
.shvg-location-photo p{font-size:14px;margin:0 22px;line-height:1.65}
.shvg-location-story{max-width:820px;margin:50px auto;padding:32px 26px;border-top:1px solid #bad6e2;border-bottom:1px solid #bad6e2}
.shvg-location-video{max-width:950px;margin:0 auto 12px}
.shvg-video-frame{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#123e58;margin-top:26px}
.shvg-video-frame iframe{position:absolute;inset:0;border:0;width:100%;height:100%}
@media(max-width:700px){
 .sh-guide-section>summary{padding:20px 46px;font-size:25px}
 .sh-guide-section>summary>span{right:18px}
 .sh-guide-section .sh-guide-body{padding:22px 16px}
 .sh-guide-body .sh-info-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .sh-guide-body .sh-place-card-body{padding:22px 18px}
 .shvg-location-photos{grid-template-columns:1fr;gap:22px}
 .shvg-location-photo img{height:auto;aspect-ratio:3/2}
 .shvg-location-landscape{margin-bottom:36px}
 .shvg-location-story{margin:36px auto;padding:28px 0}
 .shvg-location-actions{gap:20px}
 .shvg-location p{font-size:15px}
}

.shvg-location-photo img{height:auto!important;aspect-ratio:3/2;object-fit:cover}
.shvg-location-photo .sh-approved-villa{position:relative}
.shvg-location-photo .sh-approved-villa figcaption{position:absolute;left:12px;bottom:10px;background:#123e58e6;color:white;padding:3px 8px;border-radius:4px;margin:0;font-size:11px}

/* Page-title photography: 25% transparent overlay (75% opacity), fully opaque text. */
.sh-page-heading .sh-page-description{color:#174961}
.sh-page-heading h1,.sh-page-heading .sh-eyebrow,.sh-page-heading .sh-page-description{text-shadow:0 1px 2px #ffffffb3}
