/* Central place for small style overrides layered after main CSS bundles */

/* Ensure selects render comfortably and show a consistent chevron */
.w-select { font-size: 17px; height: auto; min-height: 44px; line-height: 1.4; padding-top: 10px; padding-bottom: 10px; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M2 2l4 4 4-4' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 12px 8px; padding-right: 36px; }
.textfields.w-select { height: auto !important; min-height: 46px !important; line-height: 1.45 !important; padding-top: 10px !important; padding-bottom: 10px !important; padding-right: 36px !important; }
@supports (-webkit-touch-callout: none) { .textfields.w-select { min-height: 50px !important; } }

/* Increase padding around the homepage header banner (blue bar) */
.indexHeaderBanner { padding-top: 14px; padding-bottom: 22px; }

/* The visible blue bar behind “Enjoy luxe urban living” */
.introductiontosohoapartments { padding-top: 10px; padding-bottom: 18px; }

/* Amenities page: ensure amenities list clears the carousel */
#SonoAmenitiesandFeatures ~ .amenitiessection .amenitiesrow {
  clear: both;
  margin-top: 48px;
  position: relative;
}
/* Extra safety: add spacing after the carousel container */
#SonoAmenitiesandFeatures ~ .amenitiessection .w-container + .w-container { margin-top: 24px; }

/* Gallery: add bottom space to avoid footer overlap on short viewports */
body.gallery .gallerysection { margin-bottom: 48px; }

/* Home hero: move background image to DOM for better LCP control */
.sonopearlbanner { position: relative; background-image: none !important; }
.sonopearlbanner .hero-media { position: absolute; inset: 0; z-index: 0; }
.sonopearlbanner .hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Recreate the original dark gradient overlay */
.sonopearlbanner::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.36), rgba(0,0,0,.36)); }
/* Ensure title content sits above overlay */
.sonopearlbanner .titlediv { position: relative; z-index: 2; }

/* Gallery: prioritize first slide with DOM img and disable its background */
.galleryslide1 { background-image: none !important; }
.gal-slide { position: relative; }
.gal-slide .slide-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

/* Webflow intro animations can delay LCP; allow immediate paint on mobile */
@media (max-width: 767px) {
  html.w-mod-js .sonopearlbanner [data-ix="fade-in-bottom-page-loads"] { opacity: 1 !important; transform: none !important; }
}

/* Accessibility: ensure strong contrast for key section headings */
.home-lower h2, .home-heading { color: #2a2a2a !important; }

/* Best Practices: prevent image distortion and help aspect-ratio audits */
.phonelink, .emaillink, .locationlink, .leaselink, .sonopearllogo { height: auto !important; }

/* Unit pages: center the logo and "Schedule a tour" button */
.left-navigation .logolink { left: 0 !important; right: auto !important; top: 0 !important; bottom: auto !important; display: block !important; text-align: center; }
.left-navigation .logolink .sonopearllogo { margin: 10px auto 20px !important; height: auto !important; image-rendering: auto; }
/* Scope width to the unit-page asset to avoid affecting the main site */
.left-navigation .logolink .sonopearllogo[src*="Sonopearlogo.png"] { width: 128px !important; }
.left-navigation .leasenow { left: 0 !important; right: auto !important; }

/* Align unit headers inside a virtual container to match .w-container */
.floorlayoutheader{padding-left:10px;padding-right:10px;}
.floorlayoutheader .header-1{display:block;margin-left:auto;margin-right:auto;max-width:940px;text-align:left;}
@media screen and (max-width:991px){.floorlayoutheader .header-1{max-width:728px;}}
@media screen and (max-width:479px){.floorlayoutheader .header-1{max-width:none;}}


/* Fix header band: contain shading to container width; remove extra left padding */
.floorlayoutheader{padding-left:0;padding-right:0;position:relative;background-color:transparent !important;}
.floorlayoutheader::before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:0;height:100%;width:100%;max-width:940px;background-color:hsla(0,2%,47%,.51);}
/* Keep heading aligned to container */
.floorlayoutheader .header-1{display:block;margin-left:auto;margin-right:auto;max-width:940px;text-align:left;}
@media screen and (max-width:991px){.floorlayoutheader .header-1,.floorlayoutheader::before{max-width:728px;}}
@media screen and (max-width:479px){.floorlayoutheader .header-1,.floorlayoutheader::before{max-width:none;left:0;transform:none;width:100%;}}


/* Contain footer shading to match main content width */
.footer{position:relative;background-color:transparent !important;}
.footer::before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:0;bottom:0;width:100%;max-width:940px;background-color:hsla(0,0%,45%,.96);}
@media screen and (max-width:991px){.footer::before{max-width:728px;}}
@media screen and (max-width:479px){.footer::before{max-width:none;left:0;transform:none;width:100%;}}


/* Desktop: align header/footer bands to right of fixed sidebar (251px) */
@media screen and (min-width: 992px){
  .floorlayoutheader::before{left:251px;right:0;transform:none;max-width:none;width:auto;}
  .footer::before{left:251px;right:0;transform:none;max-width:none;width:auto;}
  .floorlayoutheader .header-1{max-width:none;margin-left:251px;margin-right:0;}
}


/* Rollback header band containment only; keep footer containment aligned to content */
.floorlayoutheader::before{content:none !important;}
.floorlayoutheader{background-color:hsla(0,2%,47%,.51) !important;}
/* Contained footer band using inner blocks (avoids tiering) */
.footer::before{content:none !important;}
.footer{background-color:transparent !important;}
.footer .footerdiv{background-color:hsla(0,0%,45%,.96);max-width:940px;margin-left:auto;margin-right:auto;padding-left:10px;padding-right:10px;}
.footer .copyright{display:block;background-color:hsla(0,0%,45%,.96);max-width:940px;margin:15px auto 0;padding:8px 10px;}
@media screen and (max-width:991px){
  .footer .footerdiv,.footer .copyright{max-width:728px;}
}
@media screen and (max-width:479px){
  .footer .footerdiv,.footer .copyright{max-width:none;}
}
/* Normalize header text alignment to avoid large desktop offsets */
@media screen and (min-width:992px){.floorlayoutheader .header-1{max-width:none;margin-left:0;margin-right:0;}}
