:root{
  --sh-primary:#557338; --sh-brown:#594712; --sh-orange:#F29D52;
  --sh-cream:#F2F0EA; --sh-mist:#D6DFD1;
}
body.sh-body{font-family:'Poppins',sans-serif;color:#2b2b2b;background:var(--sh-cream);}
.sh-serif{font-family:'Playfair Display',serif;}
.text-sh-primary{color:var(--sh-primary)!important;}
.btn-sh{

background:var(--sh-primary);
border:none;
border-radius:50px;
padding:14px 32px;
font-weight:600;
transition:.35s;
box-shadow:0 8px 20px rgba(85,115,56,.35);

}

.btn-sh:hover{

background:#6d9147;
transform:translateY(-3px);
box-shadow:0 18px 35px rgba(85,115,56,.45);

}

.btn-sh-outline{

border:2px solid rgba(255,255,255,.85);
color:#fff;
border-radius:50px;
padding:14px 32px;
transition:.35s;

}

.btn-sh-outline:hover{

background:#fff;
color:var(--sh-primary);

}
.sh-navbar{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1030;
    padding:12px 0;
    transition:all .35s ease;

    background:rgba(16, 16, 16, 0.338);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);

    border-bottom:1px solid rgba(255,255,255,.08);
}

.sh-navbar.scrolled{
    background:rgb(16, 16, 16);
    padding:8px 0;
    box-shadow:0 12px 35px rgba(0,0,0,.25);
}

.sh-navbar .navbar-brand img.logo{
    height:68px;
    width:auto;
    transition:.3s;
}

.sh-navbar.scrolled .navbar-brand img.logo{
    height:58px;
}

.sh-navbar .nav-link{
    color:#fff;
    font-weight:500;
    margin:0 .65rem;
    transition:.3s;
}

.sh-navbar .nav-link:hover{
    color:var(--sh-orange);
}

.sh-navbar .nav-link.active{
    color:var(--sh-orange);
}

@media(max-width:768px){

.sh-navbar{
padding:10px 0;
}

.sh-navbar .navbar-brand img.logo{
height:50px;
}

}

@media (max-width: 768px) {
    .navbar-brand img.logo {
        height: 50px;
    }
}
.sh-hero{position:relative;min-height:100dvh;display:flex;align-items:center;color:#fff;overflow:hidden;}
.sh-hero-fallback{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.sh-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.sh-hero-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
    90deg,
    rgba(0,0,0,.65),
    rgba(0,0,0,.35),
    rgba(0,0,0,.18)
    );
    z-index:2;
}
.sh-hero-content{
    position:relative;
    z-index:3;
    max-width:650px;
}

.sh-hero-content h1{
    font-family:'Playfair Display',serif;
    font-size:clamp(3rem,6vw,5.2rem);
    font-weight:700;
    line-height:1.05;
    margin-bottom:1rem;
}

.sh-tag{
    font-size:1.2rem;
    letter-spacing:.4px;
}
.sh-page-hero{padding:10rem 0 5rem;background-size:cover;background-position:center;color:#fff;position:relative;}
.sh-page-hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45);}
.sh-page-hero .container{position:relative;z-index:1;}
.sh-page-hero h1{font-size:clamp(2rem,5vw,4rem);}
.sh-section{padding:5rem 0;}
.sh-section-alt{background:var(--sh-mist);}
.sh-section-cream{background:var(--sh-cream);}
.sh-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:var(--sh-orange);font-weight:600;}
.sh-heading{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,3rem);margin-top:.5rem;}
.sh-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.06);height:100%;transition:.3s;}
.sh-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.12);}
.sh-card-img{aspect-ratio:16/10;overflow:hidden;}
.sh-card-img img{width:100%;height:100%;object-fit:cover;transition:.6s;}
.sh-card:hover .sh-card-img img{transform:scale(1.05);}
.sh-card-body{padding:1.25rem;}
.sh-tariff-card{background:#fff;border-radius:16px;padding:2rem;text-align:center;height:100%;box-shadow:0 6px 24px rgba(0,0,0,.06);}
.sh-tariff-card.featured{background:var(--sh-primary);color:#fff;transform:scale(1.03);}
.sh-tariff-card ul{list-style:none;padding:0;text-align:left;}
.sh-tariff-card li{padding:.4rem 0;}
.sh-tariff-card li i{color:var(--sh-orange);margin-right:.5rem;}
.sh-tariff-card.featured li i{color:#fff;}
.sh-price{font-size:2rem;font-weight:700;color:var(--sh-orange);font-family:'Playfair Display',serif;}
.sh-tariff-card.featured .sh-price{color:#fff;}
.sh-masonry{column-count:3;column-gap:1rem;}
@media(max-width:768px){.sh-masonry{column-count:2;}}
@media(max-width:480px){.sh-masonry{column-count:1;}}
.sh-masonry a{display:block;margin:0 0 1rem;border-radius:12px;overflow:hidden;break-inside:avoid;}
.sh-masonry img{width:100%;display:block;transition:.4s;}
.sh-masonry a:hover img{transform:scale(1.05);}
.sh-quote{background:#fff;padding:2rem;border-radius:16px;border-left:4px solid var(--sh-orange);}
.sh-form .form-control{border-radius:10px;padding:.7rem 1rem;}
.sh-lead{font-size:1.05rem;line-height:1.75;}
.sh-footer{background:var(--sh-brown);color:#f2f0ea;padding:3rem 0 2rem;}
.sh-footer h4 span,.sh-footer h5{color:var(--sh-orange);}
.sh-footer a{color:#f2f0ea;text-decoration:none;}
.sh-whatsapp{position:fixed;bottom:24px;right:24px;background:#25D366;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;z-index:1050;box-shadow:0 6px 20px rgba(0,0,0,.2);}
.sh-book-fab{position:fixed;bottom:104px;right:24px;background:#f29d52;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;z-index:1050;box-shadow:0 6px 20px rgba(0,0,0,.2);}
.sh-reveal{opacity:0;transform:translateY(30px);transition:.8s;}
.sh-reveal.visible{opacity:1;transform:none;}

/* ---- Hero, booking form & misc (added) ---- */
.sh-hero{position:relative;overflow:hidden;min-height:100vh;min-height:100dvh;display:flex;align-items:center;color:#fff}
.sh-hero > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.sh-hero .sh-hero-fallback{position:absolute;inset:0;background:linear-gradient(180deg,rgb(255, 255, 255),rgb(255, 255, 255));z-index:1}
.sh-hero > .container{position:relative;z-index:2;padding-top:6rem;padding-bottom:4rem}
.sh-hero-eyebrow{display:inline-block;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;color:var(--sh-orange);margin-bottom:.75rem}
.sh-hero h1{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(2.4rem,5vw,4rem);line-height:1.1;margin-bottom:1rem;text-shadow:0 4px 24px rgba(0,0,0,.35)}

.sh-tag span{color:var(--sh-orange);margin:0 .35rem}

.sh-booking{background:rgba(255,255,255,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.25);border-radius:22px;padding:1.75rem;box-shadow:0 20px 50px rgba(0,0,0,.25);color:#fff}
.sh-booking h3{font-family:'Playfair Display',serif;margin-bottom:1.1rem;color:#fff}
.sh-booking .form-label{font-size:.85rem;margin-bottom:.25rem;color:rgba(255,255,255,.9)}
.sh-booking .form-control,.sh-booking .form-select{border:0;border-radius:10px;padding:.55rem .75rem}
.sh-booking .form-control:focus,.sh-booking .form-select:focus{box-shadow:0 0 0 .2rem rgba(242,157,82,.35)}
.sh-booking{

background:rgba(255,255,255,.12);

backdrop-filter:blur(2px);
-webkit-backdrop-filter:blur(24px);

border:1px solid rgba(255,255,255,.20);

border-radius:28px;

padding:34px;

box-shadow:
0 30px 70px rgba(0,0,0,.35);

}

.sh-booking h3{

font-size:2.3rem;
margin-bottom:24px;

}

.sh-booking .form-control,
.sh-booking .form-select{

height:52px;

border:none;

border-radius:14px;

background:rgba(255,255,255,.92);

}

.sh-booking textarea{

min-height:120px;

}

.sh-booking .form-control:focus,
.sh-booking .form-select:focus{

border:none;

box-shadow:
0 0 0 4px rgba(242,157,82,.28);

}
.sh-card{

border:none;

border-radius:22px;

overflow:hidden;

transition:.35s;

box-shadow:
0 12px 30px rgba(0,0,0,.08);

}

.sh-card:hover{

transform:translateY(-8px);

box-shadow:
0 30px 55px rgba(0,0,0,.18);

}
.sh-card img{

transition:.6s;

}

.sh-card:hover img{

transform:scale(1.08);

}
.sh-footer{

background:#283522;

padding:80px 0 30px;

}

.sh-footer a:hover{

color:var(--sh-orange);

}
.sh-whatsapp{

width:62px;
height:62px;

font-size:30px;
text-decoration:none;
box-shadow:
0 15px 35px rgba(0,0,0,.35);

transition:.3s;

}

.sh-whatsapp:hover{

transform:scale(1.08);

}
.sh-book-fab{

width:62px;
height:62px;

font-size:12px;
text-decoration:none;
line-height:1;
font-weight:600;
align-items:center;
text-align:center;

box-shadow:
0 15px 35px rgba(0,0,0,.35);

transition:.3s;

}

.sh-book-fab:hover{

transform:scale(1.08);

}
html{

scroll-behavior:smooth;

}

section{

scroll-margin-top:50px;

}
@media (max-width:991.98px){.sh-hero{min-height:auto}.sh-hero > .container{padding-top:7rem}}

/* Gallery category tabs */
.sh-gallery-tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}
.sh-gallery-tabs .sh-tab{border:1px solid var(--sh-mist,#D6DFD1);background:#fff;color:var(--sh-brown,#594712);
  border-radius:999px;padding:.5rem 1.15rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:.2s}
.sh-gallery-tabs .sh-tab:hover{border-color:var(--sh-primary,#557338)}
.sh-gallery-tabs .sh-tab.active{background:var(--sh-primary,#557338);border-color:var(--sh-primary,#557338);color:#fff}
.sh-masonry .sh-gitem.is-hidden{display:none}
.sh-lead img.float-left {
    float: left;

    max-width: 45%;
    height: auto;
    margin: 25px 25px 15px 0;
    border-radius: 10px;
}

.sh-lead img.float-right {
    float: right;
    
    max-width: 45%;
    height: auto;
    margin: 25px 0 15px 25px;
    border-radius: 10px;
}

.sh-lead::after {
    content: "";
    display: block;
    clear: both;
}
/* Booking enquiry live estimate */
.sh-booking-summary{
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.14);
  border-radius:14px;padding:14px 16px;
}
.sh-booking-solid .sh-booking-summary{
  border:1px solid rgba(0,0,0,.08);
  background:var(--sh-cream,#F2F0EA);
  color:#222;
}
.sh-booking-summary hr{opacity:.25;}
