/*
  Golden Sands Beach Resort — Coastal Refresh
  Keeps the existing page structure and component layout while replacing the
  previous colour treatment with a complete ocean / lagoon visual system.
*/
:root{
  --coastal-ink:#092f38;
  --coastal-deep:#032e36;
  --coastal-navy:#042832;
  --coastal-teal:#08717c;
  --coastal-teal-2:#0a8993;
  --coastal-aqua:#67d6d3;
  --coastal-mint:#dff7f4;
  --coastal-mist:#eef9f6;
  --coastal-sand:#f6f0e7;
  --coastal-sun:#f2b35f;
  --coastal-sun-2:#dc8c37;
  --coastal-copy:#526b6b;
  --coastal-line:rgba(8,113,124,.16);
  --coastal-shadow:0 24px 65px rgba(3,46,54,.14);
  --coastal-shadow-soft:0 14px 38px rgba(3,46,54,.09);
}

html{scroll-behavior:smooth}
body.gs-tideglass{
  background:
    radial-gradient(circle at 92% 8%,rgba(103,214,211,.11),transparent 26%),
    radial-gradient(circle at 4% 38%,rgba(242,179,95,.08),transparent 24%),
    #f9fcfb;
  color:var(--coastal-copy);
}
body.gs-tideglass h1,body.gs-tideglass h2,body.gs-tideglass h3,body.gs-tideglass h4{color:var(--coastal-ink)}
body.gs-tideglass p{color:var(--coastal-copy)}
body.gs-tideglass .eyebrow{color:var(--coastal-teal);letter-spacing:.17em}
body.gs-tideglass .section-soft,
body.gs-tideglass .section-lux,
body.gs-tideglass .luxury-story,
body.gs-tideglass .rooms-showcase-v2,
body.gs-tideglass .trending-blog-section,
body.gs-tideglass .contact-luxury-section,
body.gs-tideglass .contact-faq-section{
  background:linear-gradient(180deg,#f9fcfb 0%,#eef8f5 100%)!important;
}
body.gs-tideglass .section:nth-of-type(even){background-color:rgba(238,249,246,.58)}

/* Header */
body.gs-tideglass .topbar,
body.gs-tideglass .luxury-topbar{background:var(--coastal-deep)!important;border-color:rgba(255,255,255,.08)!important}
body.gs-tideglass .site-header,
body.gs-tideglass .luxury-header{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid rgba(8,113,124,.12)!important;
  box-shadow:0 12px 35px rgba(3,46,54,.09)!important;
  backdrop-filter:blur(18px);
}
body.gs-tideglass .main-nav>a:not(.btn){color:#173b3d!important}
body.gs-tideglass .main-nav>a:not(.btn):hover,
body.gs-tideglass .main-nav>a.active{color:var(--coastal-teal)!important}
body.gs-tideglass .main-nav>a.active:after{background:linear-gradient(90deg,var(--coastal-aqua),var(--coastal-teal))!important}
body.gs-tideglass .menu-toggle,
body.gs-tideglass .nav-close{color:var(--coastal-ink)!important;border-color:var(--coastal-line)!important;background:#fff!important}

/* Buttons */
body.gs-tideglass .btn-gold,
body.gs-tideglass .btn-ocean,
body.gs-tideglass .btn-primary,
body.gs-tideglass .premium-room-link,
body.gs-tideglass .room-v2-card .premium-room-link,
body.gs-tideglass .contact-submit{
  background:linear-gradient(135deg,var(--coastal-teal-2),var(--coastal-deep))!important;
  color:#fff!important;
  border-color:rgba(103,214,211,.38)!important;
  box-shadow:0 12px 28px rgba(3,46,54,.18)!important;
}
body.gs-tideglass .btn-gold:hover,
body.gs-tideglass .btn-ocean:hover,
body.gs-tideglass .btn-primary:hover,
body.gs-tideglass .premium-room-link:hover,
body.gs-tideglass .room-v2-card .premium-room-link:hover,
body.gs-tideglass .contact-submit:hover{
  background:linear-gradient(135deg,#0aa0a8,#075864)!important;
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(3,46,54,.24)!important;
}
body.gs-tideglass .btn-outline-dark{border-color:rgba(8,113,124,.36)!important;color:var(--coastal-deep)!important;background:rgba(255,255,255,.62)!important}
body.gs-tideglass .btn-outline-dark:hover{background:var(--coastal-deep)!important;color:#fff!important}

/* Hero and all dark visual sections */
body.gs-tideglass .lux-hero,
body.gs-tideglass .hero-premium,
body.gs-tideglass .coastal-signature,
body.gs-tideglass .amenities-luxury,
body.gs-tideglass .contact-confidence,
body.gs-tideglass .page-hero,
body.gs-tideglass .cta-section,
body.gs-tideglass .footer{
  background-color:var(--coastal-deep)!important;
}
body.gs-tideglass .lux-hero-overlay,
body.gs-tideglass .hero-shade{
  background:
    linear-gradient(90deg,rgba(2,31,38,.94) 0%,rgba(4,75,85,.80) 42%,rgba(3,46,54,.34) 72%,rgba(2,31,38,.44) 100%),
    linear-gradient(180deg,rgba(2,31,38,.08),rgba(2,31,38,.60))!important;
}
body.gs-tideglass .coastal-signature-shade{
  background:linear-gradient(90deg,rgba(2,31,38,.97),rgba(4,75,85,.90) 44%,rgba(3,46,54,.54) 72%,rgba(2,31,38,.70))!important;
}
body.gs-tideglass .lux-hero h1,
body.gs-tideglass .coastal-signature h2,
body.gs-tideglass .contact-confidence h2,
body.gs-tideglass .page-hero h1,
body.gs-tideglass .footer h2,
body.gs-tideglass .footer h3{color:#f3fbfa!important}
body.gs-tideglass .lux-hero h1 em,
body.gs-tideglass .coastal-signature h2 em{color:var(--coastal-aqua)!important}
body.gs-tideglass .lux-badge,
body.gs-tideglass .hero-kicker{border-color:rgba(103,214,211,.35)!important;background:rgba(2,31,38,.32)!important;color:#c9f3ef!important}

/* Story cards and badges */
body.gs-tideglass .story-building,
body.gs-tideglass .story-detail,
body.gs-tideglass .premium-room-card,
body.gs-tideglass .room-v2-card,
body.gs-tideglass .experience-card,
body.gs-tideglass .facility-card,
body.gs-tideglass .blog-card,
body.gs-tideglass .trending-blog-card,
body.gs-tideglass .contact-action-card,
body.gs-tideglass .faq-item{
  border-color:var(--coastal-line)!important;
  box-shadow:var(--coastal-shadow-soft)!important;
}
body.gs-tideglass .story-monogram,
body.gs-tideglass .contact-action-card .contact-icon,
body.gs-tideglass .contact-resort-note,
body.gs-tideglass .article-note>span,
body.gs-tideglass .trend-number{
  background:linear-gradient(145deg,var(--coastal-teal-2),var(--coastal-deep))!important;
  color:#dff7f4!important;
  border-color:rgba(103,214,211,.35)!important;
}
body.gs-tideglass .luxury-story-list>div{border-color:rgba(8,113,124,.13)!important}
body.gs-tideglass .luxury-story-list strong{color:var(--coastal-ink)!important}
body.gs-tideglass .luxury-story-list>div>span{color:var(--coastal-teal)!important}

/* Room section — complete coastal palette */
body.gs-tideglass .rooms-showcase-v2,
body.gs-tideglass .luxury-rooms{
  position:relative;
  color:var(--coastal-copy)!important;
  background:
    radial-gradient(circle at 8% 10%,rgba(103,214,211,.22),transparent 32%),
    radial-gradient(circle at 94% 70%,rgba(242,179,95,.14),transparent 28%),
    linear-gradient(145deg,#f8fcfb 0%,#eaf6f3 54%,#f6f0e7 100%)!important;
}
body.gs-tideglass .rooms-showcase-v2:before,
body.gs-tideglass .luxury-rooms:before{
  opacity:.5!important;
  background-image:
    radial-gradient(circle at 50% -20%,rgba(103,214,211,.16),transparent 40%),
    linear-gradient(135deg,rgba(8,113,124,.025) 25%,transparent 25%,transparent 50%,rgba(8,113,124,.025) 50%,rgba(8,113,124,.025) 75%,transparent 75%)!important;
  background-size:auto,42px 42px!important;
}
body.gs-tideglass .rooms-v2-head .eyebrow{color:var(--coastal-teal)!important}
body.gs-tideglass .rooms-v2-head h2{color:var(--coastal-ink)!important}
body.gs-tideglass .rooms-v2-head .lead,
body.gs-tideglass .rooms-v2-note{color:var(--coastal-copy)!important}
body.gs-tideglass .room-v2-card,
body.gs-tideglass .premium-room-card{
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(8,113,124,.17)!important;
  box-shadow:0 20px 52px rgba(3,46,54,.12)!important;
}
body.gs-tideglass .room-v2-card:hover,
body.gs-tideglass .premium-room-card:hover{box-shadow:0 30px 72px rgba(3,46,54,.18)!important}
body.gs-tideglass .room-v2-card .premium-room-image:after,
body.gs-tideglass .premium-room-image:after{background:linear-gradient(180deg,transparent 55%,rgba(2,31,38,.58))!important}
body.gs-tideglass .room-v2-card .room-category,
body.gs-tideglass .premium-room-image>span{
  background:rgba(3,46,54,.88)!important;
  border-color:rgba(103,214,211,.48)!important;
  color:#dff7f4!important;
}
body.gs-tideglass .room-card-symbol{
  background:#fff!important;
  border-color:rgba(8,113,124,.23)!important;
  color:var(--coastal-teal)!important;
  box-shadow:0 10px 25px rgba(3,46,54,.13)!important;
}
body.gs-tideglass .room-v2-card .premium-room-content h3,
body.gs-tideglass .premium-room-content h3{color:var(--coastal-ink)!important}
body.gs-tideglass .room-v2-card .premium-room-content p,
body.gs-tideglass .premium-room-content p,
body.gs-tideglass .room-v2-card .premium-room-facts span,
body.gs-tideglass .premium-room-facts span{color:#526b6b!important}
body.gs-tideglass .room-v2-card .premium-room-facts,
body.gs-tideglass .premium-room-facts{border-color:rgba(8,113,124,.12)!important}
body.gs-tideglass .room-v2-card .premium-room-facts svg,
body.gs-tideglass .premium-room-facts svg,
body.gs-tideglass .rooms-v2-note svg{stroke:var(--coastal-teal)!important}
body.gs-tideglass .rooms-v2-actions .btn-outline-dark{border-color:rgba(8,113,124,.36)!important;color:var(--coastal-deep)!important}

/* Facilities, experiences and gallery */
body.gs-tideglass .experience-strip,
body.gs-tideglass .amenities-section,
body.gs-tideglass .gallery-section{background:linear-gradient(180deg,#fff,#f0f8f6)!important}
body.gs-tideglass .experience-strip-grid article,
body.gs-tideglass .amenity-card,
body.gs-tideglass .gallery-filter button{
  border-color:var(--coastal-line)!important;
  background:rgba(255,255,255,.84)!important;
}
body.gs-tideglass .experience-strip-grid article>span,
body.gs-tideglass .amenity-icon,
body.gs-tideglass .facility-icon{background:var(--coastal-mint)!important;color:var(--coastal-teal)!important}
body.gs-tideglass .gallery-filter button.active,
body.gs-tideglass .gallery-filter button:hover{background:var(--coastal-deep)!important;color:#fff!important}

/* Forms */
body.gs-tideglass .hero-booking,
body.gs-tideglass .lux-booking,
body.gs-tideglass .contact-form-shell,
body.gs-tideglass .booking-card{
  background:rgba(255,255,255,.95)!important;
  border-color:rgba(8,113,124,.18)!important;
  box-shadow:var(--coastal-shadow)!important;
}
body.gs-tideglass input,
body.gs-tideglass select,
body.gs-tideglass textarea{
  background:#fff!important;
  border-color:rgba(8,113,124,.20)!important;
  color:var(--coastal-ink)!important;
}
body.gs-tideglass input:focus,
body.gs-tideglass select:focus,
body.gs-tideglass textarea:focus{border-color:var(--coastal-teal)!important;box-shadow:0 0 0 4px rgba(8,113,124,.10)!important}
body.gs-tideglass label{color:#31585a!important}

/* Blog and article accents */
body.gs-tideglass .topic-chips span,
body.gs-tideglass .article-meta-strip span{background:#eaf7f4!important;color:var(--coastal-teal)!important;border-color:rgba(8,113,124,.12)!important}
body.gs-tideglass .trend-label{background:rgba(3,46,54,.88)!important;color:#dff7f4!important}
body.gs-tideglass .article-note{background:#f0faf7!important;border-color:rgba(8,113,124,.18)!important}

/* Footer and floating actions */
body.gs-tideglass .footer{
  background:
    radial-gradient(circle at 80% 0,rgba(103,214,211,.13),transparent 32%),
    linear-gradient(145deg,#021f26,#063f49 58%,#032e36)!important;
}
body.gs-tideglass .footer a:hover{color:var(--coastal-aqua)!important}
body.gs-tideglass .float-action.call{background:linear-gradient(145deg,#075864,#032e36)!important}
body.gs-tideglass .float-action.whatsapp{background:linear-gradient(145deg,#20a866,#0d7746)!important}
body.gs-tideglass .float-action .float-label{border-color:rgba(8,113,124,.18)!important}
body.gs-tideglass .float-action .float-label:after{border-color:rgba(8,113,124,.18)!important}
body.gs-tideglass .site-loader{background:radial-gradient(circle at center,#08717c 0,#063f49 38%,#021f26 100%)!important}

/* Responsive consistency */
@media (max-width:980px){
  body.gs-tideglass .main-nav{background:linear-gradient(180deg,#f9fcfb,#eaf7f4)!important;border-left-color:rgba(8,113,124,.14)!important}
  body.gs-tideglass .main-nav>a:not(.btn){border-bottom-color:rgba(8,113,124,.10)!important}
  body.gs-tideglass .mobile-nav-footer a{background:#eef9f6!important;border-color:rgba(8,113,124,.14)!important;color:var(--coastal-deep)!important}
}
@media (max-width:680px){
  body.gs-tideglass .section{padding-block:72px}
  body.gs-tideglass .rooms-showcase-v2,
  body.gs-tideglass .luxury-rooms{background:linear-gradient(180deg,#f8fcfb,#eaf7f4 62%,#f7f1e8)!important}
  body.gs-tideglass .room-v2-card,
  body.gs-tideglass .premium-room-card{border-radius:20px!important}
  body.gs-tideglass .room-v2-card .premium-room-link{min-height:46px!important}
}
