/* =========================================================
   GENTREE SKY BLUE + WHITE + SOFT GOLD THEME
   Centralized visual overrides for public and admin pages
   ========================================================= */
:root{
    --primary:#1598E8;
    --primary-light:#58C7F4;
    --primary-dark:#0876C9;
    --sky:#35B8F2;
    --sky-soft:#DFF5FF;
    --sky-pale:#F4FBFF;
    --gold:#D6B25E;
    --gold-dark:#B99037;
    --gold-soft:#F3E4B9;
    --white:#FFFFFF;
    --light:#F4FAFE;
    --dark:#123A5A;
    --text:#35556D;
    --border:#CFEAF7;
    --shadow:0 14px 35px rgba(20,129,190,.12);
}

html,body{background:var(--light);color:var(--text)}
body{background:linear-gradient(180deg,#fff 0%,#f4fbff 46%,#edf8fd 100%)}
h1,h2,h3,h4,h5,h6{color:var(--dark)}
a{color:var(--primary-dark)}
a:hover{color:var(--gold-dark)}

/* Navbar inspired by supplied reference */
.navbar-custom{
    background:linear-gradient(105deg,#ffffff 0%,#f7fcff 35%,#dff5ff 72%,#bcecff 100%)!important;
    border-bottom:1px solid rgba(21,152,232,.18);
    box-shadow:0 8px 25px rgba(23,116,171,.10)!important;
}
.navbar-brand{color:var(--dark)!important}
.navbar-brand:hover{color:var(--primary)!important}
.navbar-nav .nav-link{color:#164B70!important;font-weight:600}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:var(--primary-dark)!important}
.navbar-nav .nav-link::after{background:linear-gradient(90deg,var(--primary),var(--gold))!important}
.navbar-toggler{background:var(--primary);padding:8px 10px;border-radius:10px}

/* Buttons */
.btn-primary,
.btn-warning,
.booking-btn{
    color:#fff!important;
    background:linear-gradient(135deg,var(--gold),#E7C873)!important;
    border-color:var(--gold)!important;
    box-shadow:0 8px 20px rgba(185,144,55,.22);
}
.btn-primary:hover,.btn-warning:hover,.booking-btn:hover{
    color:#fff!important;
    background:linear-gradient(135deg,var(--gold-dark),var(--gold))!important;
    border-color:var(--gold-dark)!important;
    transform:translateY(-2px);
}
.btn-outline-primary{color:var(--primary-dark);border-color:var(--primary)}
.btn-outline-primary:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.btn-info{background:var(--primary-light);border-color:var(--primary-light);color:var(--dark)}

/* Cards, forms, tables, dropdowns */
.card,.card-luxury,.dashboard-card,.modal-content,.dropdown-menu{
    background:#fff;
    border:1px solid rgba(21,152,232,.11)!important;
    box-shadow:var(--shadow)!important;
}
.card-header,.modal-header{background:linear-gradient(105deg,#fff,#e7f8ff);border-color:var(--border)}
.form-control,.form-select,.input-group-text{
    background:#fff;
    border-color:#c9e7f5;
    color:var(--text);
}
.form-control:focus,.form-select:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 .2rem rgba(21,152,232,.18);
}
.table{background:#fff}
.table thead,.table-dark th{
    background:linear-gradient(105deg,var(--primary-dark),var(--primary))!important;
    color:#fff!important;
}
.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:#f1faff}
.badge.bg-primary{background:var(--primary)!important}
.text-primary{color:var(--primary-dark)!important}
.text-warning{color:var(--gold-dark)!important}
.bg-primary{background:var(--primary)!important}
.bg-light{background:var(--sky-pale)!important}

/* General sections and decorative elements */
section:not(.hero-section):not(.event-hero):not(.contact-hero):not(.restaurant-hero){border-color:rgba(21,152,232,.08)}
.section-subtitle,.eyebrow,.subtitle{color:var(--gold-dark)!important}
.icon-box,.feature-icon,.service-icon{
    color:var(--primary-dark)!important;
    background:linear-gradient(145deg,#fff,var(--sky-soft))!important;
    border-color:rgba(21,152,232,.18)!important;
}
hr{border-color:var(--border)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--primary),var(--gold))}

/* Footer */
footer,.footer-section,.site-footer{
    background:linear-gradient(135deg,#0C6EAE 0%,#1598E8 55%,#55C7F3 100%)!important;
    color:#fff!important;
}
footer h1,footer h2,footer h3,footer h4,footer h5,footer h6,
.footer-section h1,.footer-section h2,.footer-section h3,.footer-section h4,.footer-section h5,.footer-section h6{color:#fff!important}
footer a,.footer-section a{color:#fff!important}
footer a:hover,.footer-section a:hover{color:var(--gold-soft)!important}

/* Gallery */
.gt-gallery-hero{background:radial-gradient(circle at 85% 15%,rgba(214,178,94,.24),transparent 28%),linear-gradient(145deg,#fff 0%,#dff5ff 100%)!important}
.gt-gallery-hero:before{background:rgba(21,152,232,.10)!important}
.gt-gallery-hero h1,.gt-gallery-count span,.gt-gallery-empty{color:var(--dark)!important}
.gt-gallery-subtitle{color:var(--gold-dark)!important}
.gt-gallery-page,.home-gallery-pro{background:linear-gradient(180deg,#fff,#eef9ff)!important}
.gt-gallery-filter button{color:var(--dark)!important;border-color:rgba(21,152,232,.18)!important;box-shadow:0 6px 16px rgba(21,152,232,.07)!important}
.gt-gallery-filter button:hover,.gt-gallery-filter button.active{background:linear-gradient(135deg,var(--primary-dark),var(--primary))!important;color:#fff!important;border-color:var(--primary)!important}
.gt-gallery-item{border-color:rgba(21,152,232,.14)!important;box-shadow:0 12px 30px rgba(18,116,174,.14)!important}
.gt-gallery-item:hover{border-color:rgba(214,178,94,.65)!important}
.gt-gallery-category{color:var(--dark)!important}
.gt-video-badge,.home-gallery-card:hover .home-gallery-open{background:var(--gold)!important;border-color:var(--gold)!important}
.gt-lightbox-close:hover,.gt-lightbox-prev:hover,.gt-lightbox-next:hover{background:var(--gold)!important}
.home-gallery-link{color:var(--dark)!important;border-bottom-color:var(--gold)!important}
.home-gallery-link:hover{color:var(--primary)!important}
.home-gallery-grid .home-gallery-card{background:#0d537f!important;border-color:rgba(21,152,232,.18)!important;box-shadow:0 10px 28px rgba(21,152,232,.12)!important}

/* Live chat */
.gt-chat-launcher,.chat-launcher,.chat-header,.admin-chat-header{
    background:linear-gradient(135deg,var(--primary-dark),var(--primary-light))!important;
}
.chat-send,.gt-chat-send{background:linear-gradient(135deg,var(--gold),#ead17d)!important;color:var(--dark)!important}

/* Admin dashboard */
.sidebar{
    background:linear-gradient(180deg,#0876C9 0%,#1598E8 52%,#4FC3F0 100%)!important;
    box-shadow:8px 0 30px rgba(8,118,201,.16);
}
.sidebar-title{color:rgba(255,255,255,.68)!important}
.sidebar a:hover{background:rgba(255,255,255,.17)!important}
.sidebar a.active{
    color:#fff!important;
    background:linear-gradient(135deg,var(--gold-dark),var(--gold))!important;
    box-shadow:0 8px 18px rgba(93,69,18,.18);
}
.main-content{background:linear-gradient(145deg,#f8fdff,#edf8fd)!important}
.topbar{background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--border);box-shadow:0 5px 20px rgba(21,152,232,.08)!important}
.dashboard-card h2{color:var(--primary-dark)!important}
.dashboard-card:hover{box-shadow:0 18px 38px rgba(21,152,232,.16)!important}

/* Common inline green legacy classes */
[style*="#0B3D2E"],[style*="#0b3d2e"],[style*="#064b37"]{border-color:var(--primary)!important}

@media(max-width:991px){
    .navbar-custom .navbar-collapse{background:rgba(255,255,255,.97);margin-top:12px;padding:15px;border-radius:16px;box-shadow:0 12px 30px rgba(21,152,232,.13)}
    .navbar-nav .nav-link{margin-left:0;padding:10px 8px}
}

/* =========================================================
   2026 FULL-PAGE MODERN SKY BLUE REFINEMENT
   Full gradient canvas, alternating sections and motion polish
   ========================================================= */
:root{
    --gt-sky-50:#F7FCFF;
    --gt-sky-100:#EAF7FF;
    --gt-sky-200:#D8F1FF;
    --gt-sky-300:#B9E7FF;
    --gt-sky-400:#7FD2FF;
    --gt-sky-500:#42B8F5;
    --gt-sky-600:#1598E8;
    --gt-sky-700:#0876C9;
    --gt-gold-100:#FFF7DC;
    --gt-gold-300:#F3D98D;
    --gt-gold-500:#D6B25E;
    --gt-ink:#123A5A;
    --gt-muted:#527086;
    --gt-radius:24px;
    --gt-ease:cubic-bezier(.22,1,.36,1);
}

html{background:#dff4ff;scroll-behavior:smooth}
body{
    min-height:100vh;
    color:var(--gt-muted);
    background:
        radial-gradient(circle at 8% 3%,rgba(255,255,255,.95) 0,rgba(255,255,255,0) 28%),
        radial-gradient(circle at 92% 12%,rgba(243,217,141,.22) 0,rgba(243,217,141,0) 24%),
        linear-gradient(145deg,#fafdff 0%,#e8f7ff 32%,#cfeeff 66%,#effaff 100%);
    background-attachment:fixed;
}
body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:
        linear-gradient(rgba(255,255,255,.18),rgba(255,255,255,.04)),
        radial-gradient(circle at 50% 105%,rgba(66,184,245,.16),transparent 36%);
}

main,.site-main,.page-wrapper{position:relative}

/* Clean alternating page sections */
main > section:not(.hero-section):not(.event-hero):not(.contact-hero):not(.restaurant-hero):not(.gt-gallery-hero),
.site-main > section:not(.hero-section):not(.event-hero):not(.contact-hero):not(.restaurant-hero):not(.gt-gallery-hero){
    isolation:isolate;
    border:0!important;
    overflow:hidden;
}
main > section:nth-of-type(odd):not(.hero-section):not(.event-hero):not(.contact-hero):not(.restaurant-hero):not(.gt-gallery-hero),
.site-main > section:nth-of-type(odd):not(.hero-section):not(.event-hero):not(.contact-hero):not(.restaurant-hero):not(.gt-gallery-hero){
    background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,252,255,.94))!important;
}
main > section:nth-of-type(even):not(.hero-section):not(.event-hero):not(.contact-hero):not(.restaurant-hero):not(.gt-gallery-hero),
.site-main > section:nth-of-type(even):not(.hero-section):not(.event-hero):not(.contact-hero):not(.restaurant-hero):not(.gt-gallery-hero){
    background:
        radial-gradient(circle at 90% 8%,rgba(243,217,141,.14),transparent 22%),
        linear-gradient(135deg,rgba(224,246,255,.97),rgba(244,251,255,.96))!important;
}
section.bg-white{background:rgba(255,255,255,.96)!important}
section.bg-light{background:linear-gradient(135deg,#e3f6ff,#f6fcff)!important}

/* Cleaner section rhythm */
section .container,section .container-fluid{position:relative;z-index:1}
.section-tag,.eyebrow,.subtitle{
    letter-spacing:.08em;
    text-transform:uppercase;
}
.section-title,h2.section-title{
    color:var(--gt-ink)!important;
    text-wrap:balance;
}
.section-title::after{
    height:4px!important;
    border-radius:999px;
    background:linear-gradient(90deg,var(--gt-sky-500),var(--gt-gold-500))!important;
}

/* Premium surfaces */
.card,.card-luxury,.feature-card,.package-card,.event-card,.restaurant-card,.gallery-card,.dashboard-card,
.accordion-item,.modal-content,.dropdown-menu{
    border-radius:var(--gt-radius)!important;
    border:1px solid rgba(21,152,232,.13)!important;
    background:rgba(255,255,255,.9)!important;
    box-shadow:0 14px 38px rgba(8,118,201,.10)!important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    transition:transform .42s var(--gt-ease),box-shadow .42s var(--gt-ease),border-color .42s ease,background-color .42s ease!important;
}
.card:hover,.card-luxury:hover,.feature-card:hover,.package-card:hover,.event-card:hover,.restaurant-card:hover,.gallery-card:hover,.dashboard-card:hover{
    transform:translateY(-9px) scale(1.012);
    border-color:rgba(214,178,94,.52)!important;
    box-shadow:0 24px 58px rgba(8,118,201,.18)!important;
    background:#fff!important;
}

/* Images animate without becoming distracting */
.card img,.feature-card img,.package-card img,.event-card img,.restaurant-card img,.gallery-card img,
.home-gallery-card img,.gt-gallery-item img{
    transition:transform .65s var(--gt-ease),filter .45s ease!important;
}
.card:hover img,.feature-card:hover img,.package-card:hover img,.event-card:hover img,.restaurant-card:hover img,.gallery-card:hover img,
.home-gallery-card:hover img,.gt-gallery-item:hover img{
    transform:scale(1.055);
    filter:saturate(1.04) contrast(1.02);
}

/* Smoother buttons and links */
.btn,.booking-btn,.nav-link,.home-gallery-link,.footer a{
    transition:transform .3s var(--gt-ease),box-shadow .3s ease,background .3s ease,color .3s ease,border-color .3s ease,filter .3s ease!important;
}
.btn:hover,.booking-btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(8,118,201,.22)!important}
.btn:active,.booking-btn:active{transform:translateY(-1px) scale(.985)}
.btn-primary,.booking-btn{
    background:linear-gradient(135deg,var(--gt-sky-500),var(--gt-sky-700))!important;
    border-color:transparent!important;
    color:#fff!important;
}
.btn-primary:hover,.booking-btn:hover{
    background:linear-gradient(135deg,var(--gt-sky-600),#0565b3)!important;
    filter:brightness(1.04);
}
.btn-warning{
    background:linear-gradient(135deg,var(--gt-gold-300),var(--gt-gold-500))!important;
    color:var(--gt-ink)!important;
}

/* Icon hover lift */
.icon-box,.feature-icon,.service-icon{
    box-shadow:0 10px 25px rgba(8,118,201,.10);
    transition:transform .4s var(--gt-ease),box-shadow .4s ease,background .4s ease!important;
}
.card:hover .icon-box,.feature-card:hover .feature-icon,.service-card:hover .service-icon{
    transform:translateY(-5px) rotate(-3deg) scale(1.06);
    box-shadow:0 16px 32px rgba(8,118,201,.18);
    background:linear-gradient(145deg,#fff,var(--gt-gold-100))!important;
}

/* Navbar refined */
.navbar-custom{
    background:rgba(255,255,255,.88)!important;
    border-top:4px solid var(--gt-sky-700)!important;
    border-bottom:1px solid rgba(21,152,232,.16)!important;
    box-shadow:0 8px 28px rgba(8,118,201,.12)!important;
    backdrop-filter:blur(18px) saturate(1.2);
    -webkit-backdrop-filter:blur(18px) saturate(1.2);
}
.navbar-custom .nav-link:hover{transform:translateY(-2px)}

/* Footer blends with the page */
footer,.footer-section,.site-footer{
    background:
        radial-gradient(circle at 86% 8%,rgba(243,217,141,.22),transparent 26%),
        linear-gradient(135deg,#075c9d 0%,#1598e8 52%,#55c7f3 100%)!important;
}

/* Respect accessibility preferences */
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

@media(max-width:767.98px){
    body{background-attachment:scroll}
    .card:hover,.card-luxury:hover,.feature-card:hover,.package-card:hover,.event-card:hover,.restaurant-card:hover,.gallery-card:hover,.dashboard-card:hover{
        transform:translateY(-4px);
    }
}
