/* ===== Responsive fixes ===== */
@media(max-width:1100px){.container{padding:0 18px}}
@media(max-width:780px){
 .topbar .container{justify-content:center;text-align:center;flex-wrap:wrap;gap:6px}
 .hero-ctas .btn{padding:.7rem 1.1rem;font-size:.88rem}
 .review{padding:18px}
}
@media print{
 .site-header,.site-footer,.wa-float,.up-float,.sabby-offcanvas,.sabby-offcanvas-overlay{display:none}
 body{background:#fff;color:#000}
}

/* ===== Mobile Off-Canvas Menu ===== */
.sabby-offcanvas-overlay{
 position:fixed;inset:0;background:rgba(10,15,25,.55);backdrop-filter:blur(4px);
 opacity:0;visibility:hidden;transition:.35s ease;z-index:998;
}
.sabby-offcanvas-overlay.show{opacity:1;visibility:visible}

.sabby-offcanvas{
 position:fixed;top:0;right:-100%;width:88%;max-width:380px;height:100vh;height:100dvh;
 background:linear-gradient(160deg,#0e1726 0%,#1a253b 60%,#0e1726 100%);
 color:#f7f5ef;z-index:999;display:flex;flex-direction:column;
 transition:right .4s cubic-bezier(.4,0,.2,1);
 box-shadow:-10px 0 40px rgba(0,0,0,.4);
 overflow-y:auto;overscroll-behavior:contain;
}
.sabby-offcanvas.open{right:0}

.sabby-offcanvas .oc-head{
 display:flex;align-items:center;justify-content:space-between;
 padding:18px 20px;border-bottom:1px solid rgba(201,162,76,.25);
 background:rgba(0,0,0,.2);
}
.sabby-offcanvas .brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.sabby-offcanvas .brand .logo{
 width:42px;height:42px;border-radius:50%;
 background:linear-gradient(135deg,#c9a24c,#e6c178);
 color:#0e1726;display:grid;place-items:center;font-weight:800;font-size:1.2rem;
 box-shadow:0 4px 14px rgba(201,162,76,.4);
}
.sabby-offcanvas .brand .name{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:#fff}
.sabby-offcanvas .brand .tag{font-size:.7rem;color:#c9a24c;letter-spacing:.05em;text-transform:uppercase}

.sabby-offcanvas .oc-close{
 background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
 color:#fff;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
 cursor:pointer;transition:.2s;font-size:1rem;
}
.sabby-offcanvas .oc-close:hover{background:#c9a24c;color:#0e1726;transform:rotate(90deg)}

.sabby-offcanvas .oc-nav{flex:1;padding:14px 12px}
.sabby-offcanvas .oc-nav ul{list-style:none;margin:0;padding:0}
.sabby-offcanvas .oc-nav li{opacity:0;transform:translateX(20px);transition:.4s ease}
.sabby-offcanvas.open .oc-nav li{opacity:1;transform:none}
.sabby-offcanvas.open .oc-nav li:nth-child(1){transition-delay:.05s}
.sabby-offcanvas.open .oc-nav li:nth-child(2){transition-delay:.08s}
.sabby-offcanvas.open .oc-nav li:nth-child(3){transition-delay:.11s}
.sabby-offcanvas.open .oc-nav li:nth-child(4){transition-delay:.14s}
.sabby-offcanvas.open .oc-nav li:nth-child(5){transition-delay:.17s}
.sabby-offcanvas.open .oc-nav li:nth-child(6){transition-delay:.20s}
.sabby-offcanvas.open .oc-nav li:nth-child(7){transition-delay:.23s}
.sabby-offcanvas.open .oc-nav li:nth-child(8){transition-delay:.26s}
.sabby-offcanvas.open .oc-nav li:nth-child(9){transition-delay:.29s}
.sabby-offcanvas.open .oc-nav li:nth-child(10){transition-delay:.32s}
.sabby-offcanvas.open .oc-nav li:nth-child(11){transition-delay:.35s}

.sabby-offcanvas .oc-nav a{
 display:flex;align-items:center;gap:14px;
 padding:13px 16px;margin:3px 0;border-radius:10px;
 color:#e8e2d0;text-decoration:none;font-weight:500;font-size:.98rem;
 transition:.2s;border:1px solid transparent;position:relative;
}
.sabby-offcanvas .oc-nav a i{
 width:32px;height:32px;border-radius:8px;display:grid;place-items:center;
 background:rgba(201,162,76,.12);color:#c9a24c;font-size:.95rem;
 transition:.2s;flex-shrink:0;
}
.sabby-offcanvas .oc-nav a:hover,.sabby-offcanvas .oc-nav a:focus{
 background:rgba(201,162,76,.10);border-color:rgba(201,162,76,.3);
 color:#fff;transform:translateX(4px);
}
.sabby-offcanvas .oc-nav a:hover i{background:#c9a24c;color:#0e1726;transform:scale(1.08)}

.sabby-offcanvas .oc-cta{
 padding:16px 18px;display:flex;flex-direction:column;gap:10px;
 border-top:1px solid rgba(255,255,255,.08);
}
.sabby-offcanvas .oc-cta .btn{
 display:flex;align-items:center;justify-content:center;gap:8px;
 padding:12px 16px;border-radius:10px;font-weight:600;font-size:.95rem;text-decoration:none;
 transition:.2s;border:none;cursor:pointer;
}
.sabby-offcanvas .btn-gold{background:linear-gradient(135deg,#c9a24c,#e6c178);color:#0e1726;box-shadow:0 4px 14px rgba(201,162,76,.3)}
.sabby-offcanvas .btn-dark{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.15)}
.sabby-offcanvas .btn-wa{background:#25d366;color:#fff}
.sabby-offcanvas .oc-cta .btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.3)}

.sabby-offcanvas .oc-foot{
 padding:14px 20px 22px;border-top:1px solid rgba(255,255,255,.08);text-align:center;
}
.sabby-offcanvas .oc-social{display:flex;justify-content:center;gap:12px;margin-bottom:10px}
.sabby-offcanvas .oc-social a{
 width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
 background:rgba(255,255,255,.06);color:#c9a24c;border:1px solid rgba(201,162,76,.2);
 transition:.25s;text-decoration:none;
}
.sabby-offcanvas .oc-social a:hover{background:#c9a24c;color:#0e1726;transform:translateY(-3px)}
.sabby-offcanvas .oc-addr{font-size:.78rem;color:#a8b0c0;margin:0}
.sabby-offcanvas .oc-addr i{color:#c9a24c;margin-right:5px}

/* lock body scroll when open */
body.sabby-oc-open{overflow:hidden}

/* Desktop only Book button hidden on small screens */
@media(max-width:980px){
 .head-cta .desk-only{display:none}
 /* Hide the old slide-down nav — we use off-canvas now */
 .main-nav{display:none !important}
 .menu-toggle{display:grid !important;background:linear-gradient(135deg,#c9a24c,#e6c178);color:#0e1726;border:none;box-shadow:0 4px 12px rgba(201,162,76,.3)}
 .menu-toggle:hover{transform:scale(1.05)}
}
@media(min-width:981px){
 .sabby-offcanvas,.sabby-offcanvas-overlay{display:none !important}
}
