:root{
  --sm-bg:#fbfaf8;--sm-surface:#fff;--sm-text:#141414;--sm-muted:#6f6f6f;
  --sm-border:rgba(20,20,20,.10);--sm-accent:#b08c57;
  --sm-radius:18px;--sm-shadow:0 10px 30px rgba(0,0,0,.06);
}
html{min-height:100%}
body{
  background:radial-gradient(1200px 700px at 20% -10%, rgba(176,140,87,.10), transparent 55%),
             radial-gradient(900px 600px at 110% 20%, rgba(0,0,0,.06), transparent 55%),
             var(--sm-bg);
  color:var(--sm-text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
h1,h2,h3,h4{font-family:"Playfair Display",Georgia,serif;letter-spacing:-.02em}
.sm-muted{color:var(--sm-muted)}
.sm-kicker{letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;color:var(--sm-muted)}
.sm-container{padding-top:1.25rem}

.sm-navbar{
  background:rgba(251,250,248,.82);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--sm-border);
}
.sm-brand{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:1.25rem}
.sm-brand-sub{font-weight:500;color:var(--sm-muted);margin-left:.35rem;font-size:.95rem}
.navbar .nav-link{color:var(--sm-text);opacity:.9}
.navbar .nav-link:hover{opacity:1;color:var(--sm-text)}

.sm-btn{
  border:1px solid var(--sm-accent);
  background:linear-gradient(180deg, rgba(176,140,87,1), rgba(150,115,70,1));
  color:#fff;border-radius:999px;padding:.55rem 1.1rem;
  transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;
}
.sm-btn:hover{transform:translateY(-1px);filter:brightness(.98);box-shadow:0 14px 28px rgba(0,0,0,.10);color:#fff}
.sm-btn-outline{
  border:1px solid rgba(20,20,20,.16);
  background:rgba(255,255,255,.65);
  color:var(--sm-text);
  border-radius:999px;padding:.5rem 1rem;
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;
}
.sm-btn-outline:hover{transform:translateY(-1px);border-color:rgba(20,20,20,.26);box-shadow:0 10px 20px rgba(0,0,0,.06)}

.sm-card{
  border:1px solid var(--sm-border);
  background:rgba(255,255,255,.78);
  border-radius:var(--sm-radius);
  overflow:hidden;
  box-shadow:var(--sm-shadow);
}
.sm-card-soft{
  border:1px solid var(--sm-border);
  background:rgba(255,255,255,.55);
  border-radius:var(--sm-radius);
}
.sm-hover{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.sm-hover:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,0,0,.10);border-color:rgba(176,140,87,.28)}
.sm-card-img{width:100%;height:220px;object-fit:cover;background:#eee}

.sm-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.28rem .62rem;border-radius:999px;
  border:1px solid rgba(20,20,20,.12);
  background:rgba(255,255,255,.72);
  font-size:.82rem;
}
.sm-nav-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:22px;height:22px;padding:0 7px;border-radius:999px;
  background:rgba(176,140,87,.16);
  border:1px solid rgba(176,140,87,.28);
  font-size:.8rem;margin-left:.4rem;
}

/* Hero */
.sm-section{padding:3.8rem 0}
.sm-hero{
  border-radius:22px;overflow:hidden;border:1px solid var(--sm-border);
  background:#111;position:relative;min-height:62vh;display:grid;align-items:end;
}
.sm-hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(1200px 700px at 20% 10%, rgba(176,140,87,.45), transparent 55%),
    radial-gradient(900px 600px at 110% 20%, rgba(255,255,255,.08), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.8));
}
.sm-hero-content{position:relative;z-index:2;padding:2.4rem;color:#fff}
.sm-hero-title{font-size:clamp(2.2rem,5vw,3.7rem);line-height:1.05}
.sm-hero-subtitle{max-width:55ch;color:rgba(255,255,255,.86)}

.sm-footer{border-top:1px solid var(--sm-border);background:rgba(255,255,255,.55);margin-top:3rem}
.sm-footer-brand{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:1.2rem}
.sm-footer-title{font-weight:600;margin-bottom:.35rem}
.sm-footer-bottom{border-top:1px solid var(--sm-border);padding-top:1rem}

/* Focus */
.btn:focus,.btn:active:focus,.form-control:focus{
  box-shadow:0 0 0 .1rem white,0 0 0 .25rem rgba(176,140,87,.25);
}
/* ===== Menu Filter Pro ===== */
.sm-filterbar{
  position: sticky;
  top: 74px;
  z-index: 10;
  border: 1px solid var(--sm-border);
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(14px);
  border-radius: var(--sm-radius);
  box-shadow: 0 14px 36px rgba(0,0,0,.06);
  padding: .9rem;
}

.sm-filter-top{
  display:flex;
  gap:.6rem;
  align-items:center;
  flex-wrap:wrap;
}

.sm-search{
  flex: 1;
  min-width: 260px;
  position: relative;
}
.sm-search input{
  width:100%;
  border-radius: 999px;
  border: 1px solid rgba(20,20,20,.14);
  background: rgba(255,255,255,.75);
  padding: .62rem 1rem .62rem 2.25rem;
}
.sm-search .sm-search-icon{
  position:absolute;
  left:.85rem;
  top:50%;
  transform: translateY(-50%);
  color: var(--sm-muted);
  font-size: .95rem;
}

.sm-sort{
  min-width: 220px;
}
.sm-sort select{
  border-radius: 999px;
  border: 1px solid rgba(20,20,20,.14);
  background: rgba(255,255,255,.75);
  padding: .62rem 1rem;
}

.sm-chip-row{
  display:flex;
  gap:.5rem;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling: touch;
  padding: .7rem .15rem .15rem .15rem;
  margin-top: .5rem;
  scroll-snap-type: x proximity;
}
.sm-chip-row::-webkit-scrollbar{ height: 0; }

.sm-chip{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding: .48rem .9rem;
  border-radius: 999px;
  border: 1px solid rgba(20,20,20,.12);
  background: rgba(255,255,255,.70);
  color: var(--sm-text);
  text-decoration: none;
  white-space: nowrap;
  scroll-snap-align: start;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.sm-chip:hover{
  transform: translateY(-1px);
  border-color: rgba(176,140,87,.28);
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
  color: var(--sm-text);
  text-decoration:none;
}
.sm-chip-active{
  border-color: rgba(176,140,87,.55);
  background: rgba(176,140,87,.10);
  box-shadow: 0 12px 26px rgba(176,140,87,.10);
}
.sm-chip-emoji{ font-size: 1rem; }

.sm-filter-reset{
  margin-left: auto;
}
@media (max-width: 991px){
  .sm-sort{ min-width: 180px; }
}
/* ===== Order Status Stepper ===== */
.sm-stepper{
  display:flex;
  justify-content:space-between;
  gap:.6rem;
  margin-top:1rem;
}
.sm-step{
  flex:1;
  text-align:center;
  position:relative;
}
.sm-step-line{
  position:absolute;
  top:14px;
  left:50%;
  width:100%;
  height:2px;
  background: rgba(20,20,20,.10);
  z-index:0;
}
.sm-step:last-child .sm-step-line{ display:none; }
.sm-step-dot{
  width:28px;
  height:28px;
  border-radius:999px;
  margin:0 auto;
  display:grid;
  place-items:center;
  border:1px solid rgba(20,20,20,.14);
  background: rgba(255,255,255,.85);
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
  position:relative;
  z-index:1;
  font-size: .95rem;
}
.sm-step-label{
  margin-top:.55rem;
  font-size:.9rem;
  color: var(--sm-muted);
}
.sm-step-done .sm-step-dot{
  border-color: rgba(176,140,87,.45);
  background: rgba(176,140,87,.10);
}
.sm-step-active .sm-step-dot{
  border-color: rgba(176,140,87,.75);
  background: rgba(176,140,87,.18);
  box-shadow: 0 16px 30px rgba(176,140,87,.18);
}
.sm-step-done .sm-step-line{
  background: rgba(176,140,87,.35);
}

/* ===== Admin badges ===== */
.sm-tag{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.28rem .62rem;
  border-radius:999px;
  border:1px solid rgba(20,20,20,.12);
  background: rgba(255,255,255,.70);
  font-size:.82rem;
}
.sm-tag-strong{
  border-color: rgba(176,140,87,.40);
  background: rgba(176,140,87,.12);
}

/* ===== Categories (Menu) ===== */
.sm-cat-grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:14px; margin-top:14px; }
.sm-cat-card{
  grid-column: span 6;
  position:relative;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(20,20,20,.12);
  box-shadow: 0 14px 40px rgba(0,0,0,.08);
  min-height: 170px;
  background: #111;
  color:#fff;
  text-decoration:none;
}
@media (min-width: 992px){ .sm-cat-card{ grid-column: span 4; min-height: 190px; } }
.sm-cat-card:hover{ color:#fff; text-decoration:none; transform: translateY(-2px); transition: .14s ease; }
.sm-cat-card::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(900px 600px at 20% 10%, rgba(176,140,87,.48), transparent 58%),
    radial-gradient(700px 500px at 110% 25%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.78));
  opacity:1;
}
.sm-cat-bg-pizza::after{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(900px 600px at 30% 0%, rgba(255,120,60,.30), transparent 60%);
  mix-blend-mode:screen;
}
.sm-cat-bg-salad::after{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(900px 600px at 30% 0%, rgba(80,220,160,.24), transparent 60%);
  mix-blend-mode:screen;
}
.sm-cat-bg-grill::after{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(900px 600px at 30% 0%, rgba(255,80,80,.22), transparent 60%);
  mix-blend-mode:screen;
}
.sm-cat-bg-pasta::after{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(900px 600px at 30% 0%, rgba(240,200,80,.22), transparent 60%);
  mix-blend-mode:screen;
}
.sm-cat-bg-dessert::after{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(900px 600px at 30% 0%, rgba(200,120,255,.20), transparent 60%);
  mix-blend-mode:screen;
}
.sm-cat-content{
  position:relative; z-index:1;
  padding: 20px;
  display:flex;
  flex-direction:column;
  height:100%;
}
.sm-cat-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.sm-cat-emoji{ font-size: 1.35rem; }
.sm-cat-title{
  font-family:"Playfair Display",Georgia,serif;
  font-weight:700;
  font-size: 1.35rem;
  margin: 0;
}
.sm-cat-sub{ color: rgba(255,255,255,.82); margin-top:6px; max-width: 42ch; }
.sm-cat-cta{
  margin-top:auto;
  display:flex; align-items:center; justify-content:space-between;
  padding-top:14px;
}
.sm-cat-pill{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.38rem .72rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  font-size:.85rem;
}
.sm-cat-arrow{ opacity:.9; }

/* ===== Toast ===== */
.sm-toast-wrap{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.sm-toast{
  width: min(360px, calc(100vw - 36px));
  border-radius: 18px;
  border:1px solid rgba(20,20,20,.12);
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 44px rgba(0,0,0,.14);
  padding: 12px 14px;
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.sm-toast strong{ display:block; }
.sm-toast .sm-muted{ font-size:.9rem; }
.sm-toast-x{
  margin-left:auto;
  border:none;
  background:transparent;
  font-size: 1.05rem;
  opacity:.7;
}
.sm-toast-x:hover{ opacity:1; }


/* ===== Product Details Premium ===== */
.sm-detail-hero{
  border:1px solid rgba(20,20,20,.10);
  border-radius:22px;
  background:
    radial-gradient(900px 420px at 10% 0%, rgba(176,140,87,.36), transparent 62%),
    radial-gradient(700px 420px at 110% 30%, rgba(0,0,0,.08), transparent 60%),
    rgba(255,255,255,.75);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 52px rgba(0,0,0,.08);
  padding: 18px 18px 16px 18px;
}
.sm-breadcrumb{
  display:flex; gap:.55rem; flex-wrap:wrap; align-items:center;
  color: var(--sm-muted);
  font-size: .92rem;
}
.sm-breadcrumb a{ color: inherit; text-decoration:none; }
.sm-breadcrumb a:hover{ text-decoration:underline; }
.sm-dot{ width:4px; height:4px; border-radius:999px; background: rgba(20,20,20,.25); display:inline-block; }

.sm-detail-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap: 1rem; margin-top: 14px; }
@media (max-width: 992px){ .sm-detail-grid{ grid-template-columns: 1fr; } }

.sm-image-card{
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(20,20,20,.10);
  background:#111;
  box-shadow: 0 18px 52px rgba(0,0,0,.10);
  min-height: 360px;
}
.sm-image-card img{ width:100%; height:100%; object-fit:cover; display:block; opacity:.98; }

.sm-sticky{
  position: sticky;
  top: 88px;
}

.sm-buy-box{
  border-radius:22px;
  border:1px solid rgba(20,20,20,.10);
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 52px rgba(0,0,0,.08);
  padding: 18px;
}
.sm-buy-row{ display:flex; justify-content:space-between; align-items:flex-end; gap: 12px; }
.sm-buy-price{ font-size: 1.7rem; font-weight: 800; letter-spacing: -0.02em; }
.sm-buy-muted{ color: var(--sm-muted); font-size:.9rem; }
.sm-buy-badge{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.28rem .62rem; border-radius:999px;
  border:1px solid rgba(176,140,87,.40);
  background: rgba(176,140,87,.12);
  font-size:.85rem;
}

.sm-qty{
  display:flex; gap:.5rem; align-items:center;
}
.sm-qty input{
  width: 90px;
  border-radius: 999px;
  border: 1px solid rgba(20,20,20,.14);
  padding: .55rem .8rem;
}

.sm-info-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 14px;
}
@media (max-width: 992px){ .sm-info-grid{ grid-template-columns: 1fr; } }
.sm-info-card{
  border-radius: 18px;
  border: 1px solid rgba(20,20,20,.10);
  background: rgba(255,255,255,.70);
  padding: 14px;
}
.sm-info-card .t{ font-weight: 800; }
.sm-info-card .d{ color: var(--sm-muted); margin-top: 4px; font-size:.92rem; }

.sm-related-title{ display:flex; justify-content:space-between; align-items:end; gap:1rem; flex-wrap:wrap; margin-top: 22px; }


/* ===== Add-to-cart feedback ===== */
#smCartBadge{
  transition: transform .16s ease, box-shadow .16s ease;
}
.sm-badge-pop{
  transform: scale(1.15);
  box-shadow: 0 14px 30px rgba(176,140,87,.22);
}

/* Toast (richer) */
.sm-toast-wrap{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.sm-toast{
  width: min(380px, calc(100vw - 36px));
  border-radius: 18px;
  border:1px solid rgba(20,20,20,.12);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(14px);
  box-shadow: 0 22px 60px rgba(0,0,0,.14);
  padding: 12px 14px;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.sm-toast-ico{
  width: 34px; height: 34px;
  border-radius: 999px;
  display:grid; place-items:center;
  background: rgba(176,140,87,.14);
  border: 1px solid rgba(176,140,87,.35);
  font-size: 1.05rem;
}
.sm-toast strong{ display:block; }
.sm-toast .sm-muted{ font-size:.9rem; }
.sm-toast-actions{
  display:flex;
  gap:8px;
  margin-top: 8px;
}
.sm-toast-x{
  margin-left:auto;
  border:none;
  background:transparent;
  font-size: 1.05rem;
  opacity:.7;
}
.sm-toast-x:hover{ opacity:1; }

/* ===== Mini cart drawer ===== */
.sm-mini-cart .offcanvas-header{
  border-bottom: 1px solid rgba(20,20,20,.10);
}
.sm-mini-cart .offcanvas-body{
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(14px);
}
.sm-mini-item{
  border:1px solid rgba(20,20,20,.10);
  background: rgba(255,255,255,.75);
  border-radius: 16px;
  padding: 12px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 10px;
}
.sm-mini-item b{ display:block; }
.sm-mini-total{
  border-top: 1px solid rgba(20,20,20,.10);
  padding-top: 12px;
  margin-top: 12px;
}

.sm-search-wrap{
  display:flex;
  align-items:center;
  gap:.6rem;
  border:1px solid rgba(20,20,20,.12);
  background: rgba(255,255,255,.78);
  border-radius: 999px;
  padding: .65rem .9rem;
}
.sm-search-ico{ opacity:.65; }
.sm-search-input{
  border:none;
  outline:none;
  background:transparent;
  flex:1;
  font-size: 1rem;
}
.sm-search-count{ color: var(--sm-muted); font-size: .9rem; }

.sm-chip-row{ display:flex; flex-wrap:wrap; gap:.55rem; }
.sm-chip{
  border-radius:999px;
  border:1px solid rgba(20,20,20,.12);
  background: rgba(255,255,255,.72);
  padding:.42rem .75rem;
  font-size:.9rem;
}
.sm-chip:hover{ border-color: rgba(176,140,87,.40); }
.sm-chip.active{
  border-color: rgba(176,140,87,.55);
  background: rgba(176,140,87,.12);
}
/* ===== Add-to-cart FX ===== */
.sm-fly-img{
  position: fixed;
  z-index: 9999;
  pointer-events:none;
  border-radius: 16px;
  box-shadow: 0 22px 60px rgba(0,0,0,.16);
  overflow:hidden;
}
.sm-added-glow{
  box-shadow: 0 0 0 2px rgba(176,140,87,.35), 0 18px 48px rgba(176,140,87,.16) !important;
}

#smCartBadge{
  transition: transform .16s ease, box-shadow .16s ease;
}
.sm-badge-pop{
  transform: scale(1.18);
  box-shadow: 0 18px 40px rgba(176,140,87,.22);
}

/* Toast (premium) */
.sm-toast-wrap{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.sm-toast{
  width: min(420px, calc(100vw - 36px));
  border-radius: 18px;
  border:1px solid rgba(20,20,20,.12);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(14px);
  box-shadow: 0 22px 60px rgba(0,0,0,.14);
  padding: 12px 14px;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.sm-toast-ico{
  width: 34px; height: 34px;
  border-radius: 999px;
  display:grid; place-items:center;
  background: rgba(176,140,87,.14);
  border: 1px solid rgba(176,140,87,.35);
  font-size: 1.05rem;
}
.sm-toast strong{ display:block; }
.sm-toast .sm-muted{ font-size:.9rem; }
.sm-toast-actions{ display:flex; gap:8px; margin-top: 8px; flex-wrap:wrap; }
.sm-toast-x{
  margin-left:auto;
  border:none;
  background:transparent;
  font-size: 1.05rem;
  opacity:.7;
}
.sm-toast-x:hover{ opacity:1; }



/* Top bar */
.sm-topbar{
  padding: .55rem 0;
  border-bottom: 1px solid rgba(20,20,20,.08);
  background: rgba(255,255,255,.62);
  backdrop-filter: blur(14px);
}

/* Mode toggle */
.sm-mode{
  display:flex;
  gap:8px;
  padding: 6px;
  border-radius: 999px;
  border:1px solid rgba(20,20,20,.10);
  background: rgba(255,255,255,.68);
}
.sm-mode-btn{
  border:none;
  border-radius: 999px;
  padding: .42rem .75rem;
  background: transparent;
  font-weight: 900;
  color: #111;
  font-size: .92rem;
}
.sm-mode-btn.active{
  background: rgba(176,140,87,.16);
  border:1px solid rgba(176,140,87,.42);
}



.sm-phone-pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.48rem .78rem;
  border-radius:999px;
  border:1px solid rgba(20,20,20,.10);
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(14px);
  text-decoration:none;
  color:#111;
  font-weight:900;
  font-size:.92rem;
}
.sm-phone-pill:hover{ color:#111; border-color: rgba(176,140,87,.40); }
.sm-topbar-hours{ color: var(--sm-muted); font-size:.92rem; }



.sm-cartbar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9980;
  padding: 10px 0;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(14px);
  border-top: 1px solid rgba(20,20,20,.10);
  box-shadow: 0 -18px 40px rgba(0,0,0,.10);
}
.sm-cartbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
.sm-cartbar-title{
  font-weight: 1000;
  letter-spacing: -0.02em;
}
.sm-cartbar-sub{
  color: var(--sm-muted);
  font-size: .92rem;
}
.sm-cartbar-actions{
  display:flex;
  gap: 10px;
  align-items:center;
}
@media (min-width: 992px){
  .sm-cartbar{ display:none; }
}



/* Premium Date Strip */
.sm-date-strip{
  display:flex;
  gap:10px;
  overflow:auto;
  padding: 6px 2px;
  scroll-snap-type: x mandatory;
}
.sm-date-pill{
  scroll-snap-align: start;
  min-width: 98px;
  border-radius: 18px;
  border:1px solid rgba(20,20,20,.12);
  background: rgba(255,255,255,.72);
  padding: .55rem .7rem;
  display:flex;
  flex-direction:column;
  gap:.15rem;
  align-items:flex-start;
  transition: .12s ease;
}
.sm-date-pill:hover{ border-color: rgba(176,140,87,.42); }
.sm-date-pill.active{
  border-color: rgba(176,140,87,.60);
  background: rgba(176,140,87,.14);
}
.sm-date-dow{ font-weight: 900; opacity:.75; text-transform: capitalize; }
.sm-date-day{ font-weight: 1000; letter-spacing: -.02em; }
.sm-date-more{ min-width: 120px; align-items:center; text-align:center; }



/* Google Reviews */
.sm-reviews{ margin-top: 28px; }
.sm-review-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 992px){ .sm-review-grid{ grid-template-columns: 1fr; } }

.sm-review{
  border-radius: 22px;
  border:1px solid rgba(20,20,20,.10);
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 52px rgba(0,0,0,.08);
  padding: 14px;
}
.sm-review-top{ display:flex; gap: 12px; align-items:flex-start; }
.sm-review-avatar{
  width: 44px; height: 44px;
  border-radius: 999px;
  overflow:hidden;
  display:grid; place-items:center;
  background: rgba(176,140,87,.12);
  border: 1px solid rgba(176,140,87,.35);
  font-weight: 1000;
}
.sm-review-avatar img{ width: 100%; height: 100%; object-fit: cover; }
.sm-review-meta{ flex:1; min-width: 0; }
.sm-review-name{
  font-weight: 1000;
  text-decoration:none;
  color:#111;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sm-review-stars{ display:flex; gap:2px; font-size: 1.05rem; }
.sm-review-stars .on{ color: rgba(176,140,87,1); }
.sm-review-stars .off{ color: rgba(0,0,0,.18); }
.sm-review-text{
  color:#1a1a1a;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow:hidden;
}



.sm-hero {
  border-radius: 28px;
  border: 1px solid rgba(20,20,20,.10);
  background:
    radial-gradient(1200px 600px at 10% 20%, rgba(176,140,87,.20), transparent 60%),
    radial-gradient(900px 500px at 90% 0%, rgba(0,0,0,.08), transparent 55%),
    rgba(255,255,255,.78);
  box-shadow: 0 26px 70px rgba(0,0,0,.10);
  padding: 28px;
  overflow: hidden;
}

@media (min-width: 992px) {
  .sm-hero { padding: 44px; }
}

.sm-hero-inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 18px;
  align-items: center;
}

@media (max-width: 992px) {
  .sm-hero-inner { grid-template-columns: 1fr; }
}

.sm-hero-copy h1 {
  color: #111;
  letter-spacing: -0.02em;
}

.sm-hero-sub {
  color: rgba(0,0,0,.68);
  max-width: 60ch;
  font-size: 1.05rem;
  line-height: 1.55;
}

.sm-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.sm-hero-panel {
  border-radius: 22px;
  border: 1px solid rgba(20,20,20,.10);
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(12px);
  padding: 16px;
}

.sm-hero-links {
  display: grid;
  gap: 10px;
}

.sm-hero-link {
  display: block;
  border-radius: 14px;
  padding: 12px 14px;
  text-decoration: none;
  font-weight: 900;
  color: #111;
  border: 1px solid rgba(20,20,20,.10);
  background: rgba(255,255,255,.82);
  transition: .12s ease;
}

.sm-hero-link:hover {
  transform: translateY(-1px);
  border-color: rgba(176,140,87,.45);
}

.sm-quote {
  font-size: 1.05rem;
  line-height: 1.6;
}


.sm-home-hero{
  border-radius: 28px;
  border: 1px solid rgba(20,20,20,.10);
  background:
    radial-gradient(1200px 600px at 10% 20%, rgba(176,140,87,.22), transparent 60%),
    radial-gradient(900px 500px at 90% 0%, rgba(0,0,0,.10), transparent 55%),
    rgba(255,255,255,.78);
  box-shadow: 0 26px 70px rgba(0,0,0,.10);
  padding: 28px;
  overflow:hidden;
}
@media (min-width: 992px){ .sm-home-hero{ padding: 44px; } }

.sm-home-hero__inner{
  display:grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 18px;
  align-items: center;
}
@media (max-width: 992px){ .sm-home-hero__inner{ grid-template-columns:1fr; } }

.sm-home-hero__sub{
  color: rgba(0,0,0,.68);
  max-width: 62ch;
  font-size: 1.05rem;
  line-height: 1.55;
}

.sm-home-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.sm-home-hero__cards{
  display:grid;
  gap: 12px;
}
.sm-home-card{
  border-radius: 22px;
  border: 1px solid rgba(20,20,20,.10);
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(12px);
  padding: 16px;
}
.sm-home-card__title{
  font-weight: 1000;
  letter-spacing: -.02em;
  margin-bottom: 6px;
}


.sm-hero-ufo{
  position: relative;
  border-radius: 28px;
  border: 1px solid rgba(20,20,20,.10);
  overflow:hidden;
  min-height: 520px;
  padding: 28px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 26px 70px rgba(0,0,0,.10);
}
@media (min-width: 992px){ .sm-hero-ufo{ padding: 44px; min-height: 560px; } }

.sm-hero-ufo__bg{
  position:absolute; inset:0;
  background-image:
    radial-gradient(1200px 700px at 20% 20%, rgba(176,140,87,.30), transparent 60%),
    radial-gradient(900px 600px at 80% 0%, rgba(0,0,0,.18), transparent 55%),
    url("/images/sanmarco/hero/hero-1.webp");
  background-size: cover;
  background-position: center;
  filter: saturate(1.05) contrast(1.05);
  transform: scale(1.05);
  animation: smHeroSwap 16s infinite ease-in-out;
}
@keyframes smHeroSwap{
  0%, 33%{
    background-image:
      radial-gradient(1200px 700px at 20% 20%, rgba(176,140,87,.30), transparent 60%),
      radial-gradient(900px 600px at 80% 0%, rgba(0,0,0,.18), transparent 55%),
      url("/images/sanmarco/hero/hero-1.webp");
  }
  34%, 66%{
    background-image:
      radial-gradient(1200px 700px at 20% 20%, rgba(176,140,87,.30), transparent 60%),
      radial-gradient(900px 600px at 80% 0%, rgba(0,0,0,.18), transparent 55%),
      url("/images/sanmarco/hero/hero-2.webp");
  }
  67%, 100%{
    background-image:
      radial-gradient(1200px 700px at 20% 20%, rgba(176,140,87,.30), transparent 60%),
      radial-gradient(900px 600px at 80% 0%, rgba(0,0,0,.18), transparent 55%),
      url("/images/sanmarco/hero/hero-3.webp");
  }
}
.sm-hero-ufo__grain{
  position:absolute; inset:-20%;
  background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 3px 3px;
  mix-blend-mode: overlay;
  opacity: .55;
  transform: rotate(8deg);
  pointer-events:none;
}
.sm-hero-ufo__inner{
  position: relative;
  display:grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 18px;
  align-items: center;
}
@media (max-width: 992px){ .sm-hero-ufo__inner{ grid-template-columns: 1fr; } }
.sm-hero-ufo__copy{
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.40);
  backdrop-filter: blur(14px);
  border-radius: 22px;
  padding: 18px;
}
@media (min-width: 992px){ .sm-hero-ufo__copy{ padding: 22px; } }
.sm-hero-ufo__actions{ display:flex; flex-wrap:wrap; gap:10px; }
.sm-hero-ufo__stats{ display:flex; flex-wrap:wrap; gap:12px; }
.sm-stat{
  border-radius: 18px;
  border: 1px solid rgba(20,20,20,.10);
  background: rgba(255,255,255,.70);
  padding: 12px 14px;
}
.sm-stat__num{ font-weight: 1000; letter-spacing: -.02em; }
.sm-hero-ufo__mosaic{
  display:grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 160px 160px;
  gap: 10px;
}
@media (min-width: 992px){
  .sm-hero-ufo__mosaic{ grid-template-rows: 190px 190px; }
}
.sm-mosaic{
  border-radius: 22px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.35);
  box-shadow: 0 18px 40px rgba(0,0,0,.15);
}
.sm-mosaic img{
  width:100%; height:100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform .35s ease;
  filter: saturate(1.05) contrast(1.05);
}
.sm-mosaic:hover img{ transform: scale(1.08); }

.sm-inline-photo{
  border-radius: 24px;
  overflow:hidden;
  border: 1px solid rgba(20,20,20,.10);
  box-shadow: 0 18px 50px rgba(0,0,0,.12);
}
.sm-inline-photo img{ width:100%; height: 360px; object-fit: cover; }
@media (min-width: 992px){ .sm-inline-photo img{ height: 420px; } }

.sm-preview-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
}
.sm-preview{
  border-radius: 22px;
  overflow:hidden;
  border: 1px solid rgba(20,20,20,.10);
  background: rgba(255,255,255,.75);
  box-shadow: 0 18px 50px rgba(0,0,0,.10);
  grid-column: span 4;
  min-height: 160px;
}
@media (max-width: 992px){ .sm-preview{ grid-column: span 6; } }
@media (max-width: 576px){ .sm-preview{ grid-column: span 12; } }
.sm-preview img{ width:100%; height:100%; object-fit: cover; transform: scale(1.02); transition: transform .35s ease; }
.sm-preview:hover img{ transform: scale(1.08); }

.sm-preview--cta{ display:flex; }
.sm-preview__cta{ padding: 18px; display:flex; flex-direction:column; justify-content:flex-end; width:100%; }
.sm-preview__title{ font-weight: 1000; letter-spacing: -.02em; font-size: 1.25rem; }

.sm-gallery-grid{ column-count: 3; column-gap: 14px; }
@media (max-width: 992px){ .sm-gallery-grid{ column-count: 2; } }
@media (max-width: 576px){ .sm-gallery-grid{ column-count: 1; } }
.sm-gallery-item{
  display:block;
  margin: 0 0 14px 0;
  break-inside: avoid;
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(20,20,20,.10);
  box-shadow: 0 16px 40px rgba(0,0,0,.10);
}
.sm-gallery-item img{ width:100%; height:auto; display:block; transform: scale(1.01); transition: transform .35s ease; }
.sm-gallery-item:hover img{ transform: scale(1.07); }

.sm-lightbox{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  display:none;
  align-items:center;
  justify-content:center;
  padding: 18px;
  z-index: 2000;
}
.sm-lightbox.is-open{ display:flex; }
.sm-lightbox__img{
  max-width: min(1100px, 94vw);
  max-height: 86vh;
  border-radius: 18px;
  box-shadow: 0 30px 90px rgba(0,0,0,.50);
}
.sm-lightbox__close{
  position:absolute;
  top: 18px;
  right: 18px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(0,0,0,.35);
  color: #fff;
  font-size: 18px;
}
.sm-reveal{ opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
.sm-reveal.is-in{ opacity: 1; transform: translateY(0); }

.sm-hero-blend{position:relative;border-radius:28px;overflow:hidden;min-height:560px;border:1px solid rgba(20,20,20,.10);background:#0b0b0b;box-shadow:0 26px 70px rgba(0,0,0,.10)}
@media (max-width: 992px){.sm-hero-blend{min-height:620px}}
.sm-hero-blend__layer{position:absolute;inset:0;background-position:center;background-size:cover;filter:saturate(1.05) contrast(1.08);transform:scale(1.06);opacity:0;transition:opacity 1.2s ease;will-change:opacity}
.sm-hero-blend__a{background-image:radial-gradient(1200px 700px at 20% 20%, rgba(176,140,87,.34), transparent 62%),radial-gradient(900px 600px at 80% 10%, rgba(0,0,0,.30), transparent 58%),url("/images/sanmarco/hero/hero-1.webp");opacity:1;animation:smBlendA 18s infinite ease-in-out}
.sm-hero-blend__b{background-image:radial-gradient(1200px 700px at 20% 20%, rgba(176,140,87,.34), transparent 62%),radial-gradient(900px 600px at 80% 10%, rgba(0,0,0,.30), transparent 58%),url("/images/sanmarco/hero/hero-2.webp");mix-blend-mode:screen;animation:smBlendB 18s infinite ease-in-out}
.sm-hero-blend__c{background-image:radial-gradient(1200px 700px at 20% 20%, rgba(176,140,87,.28), transparent 62%),radial-gradient(900px 600px at 80% 10%, rgba(0,0,0,.34), transparent 58%),url("/images/sanmarco/hero/hero-3.webp");mix-blend-mode:soft-light;animation:smBlendC 18s infinite ease-in-out}
@keyframes smBlendA{0%,34%{opacity:1}35%,100%{opacity:.20}}
@keyframes smBlendB{0%,34%{opacity:0}35%,67%{opacity:.85}68%,100%{opacity:0}}
@keyframes smBlendC{0%,67%{opacity:0}68%,100%{opacity:.80}}
.sm-hero-blend__grain{position:absolute;inset:-25%;background-image:radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);background-size:3px 3px;opacity:.55;transform:rotate(9deg);mix-blend-mode:overlay;pointer-events:none}
.sm-hero-blend__content{position:relative;height:100%;padding:34px;display:flex;align-items:flex-end}
@media (min-width: 992px){.sm-hero-blend__content{padding:44px}}
.sm-hero-blend__glass{width:min(720px,100%);background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.35);border-radius:24px;backdrop-filter:blur(16px);padding:18px}
@media (min-width: 992px){.sm-hero-blend__glass{padding:22px}}
.sm-hero-blend__actions{display:flex;flex-wrap:wrap;gap:10px}
.sm-hero-blend__meta{display:flex;flex-wrap:wrap;gap:10px}
.sm-meta-pill{border-radius:999px;border:1px solid rgba(20,20,20,.10);background:rgba(255,255,255,.75);padding:10px 14px;font-weight:700;font-size:.95rem}
.sm-home-collage{position:relative;border-radius:24px;overflow:hidden;border:1px solid rgba(20,20,20,.10);box-shadow:0 18px 50px rgba(0,0,0,.12);background:rgba(255,255,255,.70);min-height:360px}
.sm-home-collage__main{width:100%;height:100%;object-fit:cover;transform:scale(1.02);filter:saturate(1.05) contrast(1.06)}
.sm-home-collage__side{position:absolute;right:14px;bottom:14px;width:min(46%,240px);height:160px;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.35);box-shadow:0 18px 40px rgba(0,0,0,.22);filter:saturate(1.05) contrast(1.06)}
.sm-gallery-grid{column-count:3;column-gap:14px}
@media (max-width: 992px){.sm-gallery-grid{column-count:2}}
@media (max-width: 576px){.sm-gallery-grid{column-count:1}}
.sm-gallery-item{display:block;margin:0 0 14px 0;break-inside:avoid;border-radius:18px;overflow:hidden;border:1px solid rgba(20,20,20,.10);box-shadow:0 16px 40px rgba(0,0,0,.10)}
.sm-gallery-item img{width:100%;height:auto;display:block;transform:scale(1.01);transition:transform .35s ease}
.sm-gallery-item:hover img{transform:scale(1.07)}
.sm-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;padding:18px;z-index:2000}
.sm-lightbox.is-open{display:flex}
.sm-lightbox__img{max-width:min(1100px,94vw);max-height:86vh;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.50)}
.sm-lightbox__close{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.35);color:#fff;font-size:18px}
.sm-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s ease}
.sm-reveal.is-in{opacity:1;transform:translateY(0)}

:root{
  --sm-bg: #0c0d10;
  --sm-text: rgba(255,255,255,.92);
  --sm-muted: rgba(255,255,255,.72);
  --sm-glass: rgba(18, 18, 22, .45);
  --sm-glass2: rgba(255,255,255,.10);
  --sm-stroke: rgba(255,255,255,.18);
  --sm-gold: #b79253;
}

/* HERO */
.sm-hero{
  position: relative;
  min-height: calc(100vh - 84px);
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 22px;
  margin: 18px auto 0;
  max-width: min(1320px, calc(100% - 24px));
  background: var(--sm-bg);
}

.sm-hero-media{
  position: absolute;
  inset: 0;
}

.sm-hero-slide{
  position: absolute;
  inset: 0;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  transform: scale(1.03);
  opacity: 0;
  transition: opacity .9s ease, transform 7s ease;
  filter: saturate(1.05) contrast(1.05);
}

.sm-hero-slide.is-active{
  opacity: 1;
  transform: scale(1.08);
}

.sm-hero-vignette{
  position: absolute;
  inset: 0;
  background:
          radial-gradient(1200px 700px at 12% 35%, rgba(0,0,0,.15), rgba(0,0,0,.65)),
          linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.25), rgba(0,0,0,.70));
  mix-blend-mode: multiply;
}

.sm-hero-content{
  position: relative;
  z-index: 2;
  padding: 56px 24px 44px;
  color: var(--sm-text);
}

.sm-hero-kicker{
  letter-spacing: .22em;
  font-size: .78rem;
  opacity: .75;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.sm-hero-title{
  font-family: "Playfair Display", serif;
  font-weight: 700;
  font-size: clamp(2.2rem, 4.1vw, 4.0rem);
  line-height: 1.02;
  margin: 0;
  text-shadow: 0 18px 48px rgba(0,0,0,.55);
}

.sm-hero-accent{
  color: var(--sm-gold);
}

.sm-hero-lead{
  margin-top: 14px;
  max-width: 58ch;
  font-size: 1.08rem;
  color: var(--sm-muted);
  text-shadow: 0 18px 48px rgba(0,0,0,.55);
}

.sm-hero-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.sm-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid var(--sm-stroke);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform .12s ease, background .2s ease, border-color .2s ease;
  user-select: none;
}

.sm-cta-primary{
  background: linear-gradient(180deg, rgba(183,146,83,.95), rgba(141,106,49,.95));
  color: rgba(0,0,0,.85);
  border-color: rgba(255,255,255,.15);
  box-shadow: 0 18px 45px rgba(0,0,0,.45);
}

.sm-cta-ghost{
  background: var(--sm-glass);
  color: var(--sm-text);
}

.sm-cta:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.28);
}

.sm-hero-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.sm-meta-pill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.25);
  color: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-size: .95rem;
}

.sm-meta-link{
  text-decoration: none;
  color: rgba(255,255,255,.92);
}

.sm-dot{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3bd671;
  box-shadow: 0 0 0 6px rgba(59,214,113,.12);
}

.sm-hero-next{
  margin-top: 26px;
  background: transparent;
  border: none;
  color: rgba(255,255,255,.85);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sm-hero-next .sm-arrow{
  display: inline-block;
  transform: translateY(-1px);
  opacity: .9;
}

/* HOME CARDS */
.sm-home-sections{
  padding: 18px 0 40px;
}

.sm-home-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}

.sm-home-card{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 190px;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 18px 50px rgba(0,0,0,.12);
  grid-column: span 4;
}

.sm-home-card-bg{
  position: absolute;
  inset: 0;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
  transition: transform .8s ease;
}

.sm-home-card-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.65));
}

.sm-home-card-body{
  position: relative;
  z-index: 2;
  padding: 18px 18px 16px;
  color: rgba(255,255,255,.92);
}

.sm-home-card-kicker{
  font-size: .78rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .80;
}

.sm-home-card-title{
  margin-top: 6px;
  font-size: 1.35rem;
  font-weight: 800;
  font-family: "Playfair Display", serif;
}

.sm-home-card-sub{
  margin-top: 6px;
  color: rgba(255,255,255,.78);
  max-width: 40ch;
}

.sm-home-card-cta{
  margin-top: 12px;
  display: inline-flex;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.22);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-weight: 700;
}

.sm-home-card:hover .sm-home-card-bg{
  transform: scale(1.07);
}

@media (max-width: 992px){
  .sm-hero{ min-height: calc(88vh - 72px); border-radius: 18px; }
  .sm-home-card{ grid-column: span 12; }
}
body.is-home .sm-navbar{
  background: rgba(8, 24, 18, .22) !important;
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

body.is-home .sm-navbar .nav-link,
body.is-home .sm-brand,
body.is-home .sm-brand-sub{
  color: rgba(0,0,0,.72);
}

:root{
  --sm-gold: #b79253;
  --sm-ink: rgba(10,10,12,.92);
  --sm-white: rgba(255,255,255,.92);
  --sm-glass: rgba(18, 18, 22, .38);
  --sm-stroke: rgba(255,255,255,.18);
}

/* FULL WIDTH HERO */
.sm-hero-full{
  border-radius: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  min-height: calc(100vh - 64px);
}

.sm-hero-full .sm-hero-media,
.sm-hero-full .sm-hero-slide,
.sm-hero-full .sm-hero-vignette{
  border-radius: 0 !important;
}

.sm-hero-vignette{
  background:
    radial-gradient(1200px 800px at 18% 35%, rgba(0,0,0,.10), rgba(0,0,0,.62)),
    linear-gradient(to bottom, rgba(0,0,0,.62), rgba(0,0,0,.28), rgba(0,0,0,.72));
}

.sm-hero-grain{
  position:absolute;
  inset:0;
  background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 3px 3px;
  opacity:.12;
  mix-blend-mode: overlay;
  pointer-events:none;
}

/* HOME NAV SHOULD BLEND WITH HERO */
body.is-home .sm-navbar{
  background: rgba(10,10,12,.25) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

body.is-home .sm-navbar .nav-link,
body.is-home .sm-brand,
body.is-home .sm-brand-sub{
  color: rgba(255,255,255,.88) !important;
}

body.is-home .sm-navbar .nav-link:hover{
  color: rgba(255,255,255,.98) !important;
}

/* HERO TEXT + BUTTONS */
.sm-hero-content{
  padding: 76px 24px 56px;
}

.sm-hero-title{
  text-shadow: 0 22px 55px rgba(0,0,0,.60);
}

.sm-hero-lead{
  color: rgba(255,255,255,.78);
}

.sm-cta{
  border: 1px solid rgba(255,255,255,.18);
  background: var(--sm-glass);
  color: rgba(255,255,255,.92);
}

.sm-cta-primary{
  background: linear-gradient(180deg, rgba(183,146,83,.98), rgba(141,106,49,.98));
  color: rgba(0,0,0,.86);
  border-color: rgba(255,255,255,.10);
}

.sm-meta-pill{
  background: rgba(0,0,0,.26);
  border-color: rgba(255,255,255,.16);
}

.sm-hero-scroll{
  margin-top: 26px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.86);
  user-select: none;
}

.sm-hero-scroll .sm-arrow{
  display:inline-block;
  opacity:.9;
  transform: translateY(-1px);
}

/* HERO GREEN TUNING (OVERRIDES) */
:root{
  --sm-gold: #b79253;
  --sm-forest: rgba(10, 38, 26, 1);
  --sm-forest-soft: rgba(10, 38, 26, .28);
  --sm-glass-green: rgba(10, 38, 26, .22);
  --sm-stroke-soft: rgba(255,255,255,.14);
}

body.is-home .sm-navbar{
  background: rgba(8, 24, 18, .22) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

body.is-home .sm-navbar .nav-link,
body.is-home .sm-brand,
body.is-home .sm-brand-sub{
  color: rgba(255,255,255,.90) !important;
}

.sm-hero-vignette{
  background:
    radial-gradient(1200px 800px at 18% 35%, rgba(15, 55, 35, .08), rgba(0,0,0,.22)),
    linear-gradient(to bottom, rgba(8, 24, 18, .40), rgba(8, 24, 18, .12), rgba(8, 24, 18, .46));
}

.sm-hero-grain{
  opacity: .10;
}

.sm-hero-title{
  text-shadow: 0 18px 48px rgba(0,0,0,.42);
}

.sm-hero-lead{
  color: rgba(255,255,255,.82);
}

.sm-cta{
  background: rgba(10, 38, 26, .20);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 18px 45px rgba(0,0,0,.25);
}

.sm-cta:hover{
  background: rgba(10, 38, 26, .28);
  border-color: rgba(255,255,255,.22);
}

.sm-cta-primary{
  background: linear-gradient(180deg, rgba(183,146,83,.98), rgba(146,112,52,.98));
  color: rgba(0,0,0,.86);
  box-shadow: 0 18px 55px rgba(0,0,0,.28);
}

.sm-meta-pill{
  background: rgba(10, 38, 26, .18);
  border-color: rgba(255,255,255,.16);
}

.sm-meta-link{
  background: rgba(10, 38, 26, .22) !important;
}

.sm-dot{
  background: #57d17a;
  box-shadow: 0 0 0 5px rgba(87, 209, 122, .14);
}

.sm-hero-scroll{
  color: rgba(255,255,255,.88);
}


/* === HOME HERO: PHOTO BLEND (OVERRIDES) ===
   Цел: сайтът да се слива със снимката (без бяла страница и без тежко черно),
   само hero-window.jpg като заглавна снимка, и glass UI върху нея.
=== */

body.is-home{
  background: #0c1b13;
}

/* Header да е "стъкло" върху снимката (не плътен цвят) */
body.is-home .sm-topstrip{
  background: rgba(12,27,19,.28) !important;
  color: rgba(255,255,255,.86) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
}

body.is-home .sm-navbar{
  background: rgba(12,27,19,.22) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.18) !important;
  backdrop-filter: blur(16px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
}

body.is-home .sm-navbar .nav-link,
body.is-home .sm-brand,
body.is-home .sm-brand-sub{
  color: rgba(255,255,255,.88) !important;
}

body.is-home .sm-navbar .nav-link:hover{
  color: rgba(255,255,255,.98) !important;
}

/* HERO да стане full-bleed (без рамка/карта) */
body.is-home .sm-hero{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  border-radius: 0 !important;
  overflow: hidden;
  min-height: 78vh;
  background-image: url('/images/sanmarco/hero-window.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  position: relative;
}

/* Overlay: зеленикав, светъл горе, по-тъмен долу за четимост (без “черна лента”) */
body.is-home .sm-hero-vignette{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 520px at 18% 38%, rgba(255,255,255,.16), rgba(255,255,255,0)),
    radial-gradient(1100px 650px at 70% 45%, rgba(40, 140, 95, .16), rgba(0,0,0,0)),
    linear-gradient(to bottom,
      rgba(12,27,19,.18) 0%,
      rgba(12,27,19,.24) 32%,
      rgba(12,27,19,.38) 66%,
      rgba(12,27,19,.46) 100%
    );
}

/* По-малко grain */
body.is-home .sm-hero-grain{ opacity: .05; }

/* Текст – “слепен” със снимката (без тежки сенки) */
body.is-home .sm-hero-kicker{
  color: rgba(255,255,255,.86);
  letter-spacing: .14em;
}

body.is-home .sm-hero-title{
  color: rgba(255,255,255,.96);
  text-shadow: 0 10px 26px rgba(0,0,0,.22);
}

body.is-home .sm-hero-lead{
  color: rgba(255,255,255,.84);
  text-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* Glass бутони – по-елегантни и “върху” снимката */
body.is-home .sm-cta{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.20);
  color: rgba(255,255,255,.92);
  box-shadow: 0 18px 55px rgba(0,0,0,.18);
  backdrop-filter: blur(10px) saturate(120%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
}

body.is-home .sm-cta:hover{
  background: rgba(255,255,255,.20);
  border-color: rgba(255,255,255,.26);
  transform: translateY(-1px);
}

body.is-home .sm-cta-primary{
  background: linear-gradient(180deg, rgba(199,168,108,.98), rgba(167,132,70,.98));
  color: rgba(0,0,0,.86);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 24px 70px rgba(0,0,0,.20);
}

/* Метa “пилчета” – пак glass */
body.is-home .sm-meta-pill,
body.is-home .sm-meta-link{
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  color: rgba(255,255,255,.90) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.16);
  backdrop-filter: blur(10px) saturate(120%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
}

body.is-home .sm-dot{
  background: #57d68a;
  box-shadow: 0 0 0 7px rgba(87, 214, 138, .14);
}

/* Плавен преход към светлите секции след hero */
body.is-home .sm-after-hero{
  background: linear-gradient(to bottom, rgba(12,27,19,0) 0%, rgba(245,243,238,.96) 40%, rgba(245,243,238,1) 100%);
}

/* Ако някъде има “frame/card” върху hero – махаме */
body.is-home .sm-hero-frame,
body.is-home .sm-hero-card{
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Mobile баланс */
@media (max-width: 768px){
  body.is-home .sm-hero{ min-height: 72vh; }
  body.is-home .sm-topstrip{ background: rgba(12,27,19,.34) !important; }
  body.is-home .sm-navbar{ background: rgba(12,27,19,.30) !important; }
}

/* === END HOME HERO: PHOTO BLEND === */


/* === GLOBAL LUX THEME PACK === */

:root{
  --sm-bg: #f6f3ee;
  --sm-ink: #141614;
  --sm-muted: rgba(20,22,20,.70);
  --sm-line: rgba(12,27,19,.10);

  --sm-green: #0c1b13;
  --sm-green-2: #10261b;

  --sm-gold: #c7a86c;
  --sm-gold-2: #a78446;

  --sm-glass: rgba(255,255,255,.14);
  --sm-glass-2: rgba(255,255,255,.08);
}

body{
  background: var(--sm-bg);
  color: var(--sm-ink);
}

h1,h2,h3,h4{
  letter-spacing: -.02em;
}

.sm-container{
  max-width: 1180px;
}

.sm-card{
  border-radius: 22px;
  border: 1px solid var(--sm-line);
  background: rgba(255,255,255,.80);
  box-shadow: 0 18px 60px rgba(10,20,14,.07);
}

.sm-muted{ color: var(--sm-muted) !important; }

a.sm-link, .sm-link{
  color: rgba(12,27,19,.82);
  text-decoration: none;
  border-bottom: 1px solid rgba(12,27,19,.18);
}
a.sm-link:hover, .sm-link:hover{
  color: rgba(12,27,19,.95);
  border-bottom-color: rgba(12,27,19,.30);
}

.sm-btn{
  border-radius: 999px;
  border: 0;
  padding: .65rem 1.05rem;
  background: linear-gradient(180deg, var(--sm-gold) 0%, var(--sm-gold-2) 100%);
  color: rgba(0,0,0,.86) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.15);
}
.sm-btn:hover{ transform: translateY(-1px); filter: brightness(1.02); }

.sm-btn-outline{
  border-radius: 999px;
  padding: .62rem 1.02rem;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(12,27,19,.18);
  color: rgba(12,27,19,.88) !important;
  box-shadow: 0 14px 40px rgba(10,20,14,.06);
  backdrop-filter: blur(10px) saturate(120%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
}
.sm-btn-outline:hover{
  background: rgba(255,255,255,.22);
  transform: translateY(-1px);
}

.form-control, .form-select, .input-group-text{
  border-radius: 16px !important;
  border: 1px solid rgba(12,27,19,.18) !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 10px 26px rgba(10,20,14,.05);
}
.form-control:focus, .form-select:focus{
  border-color: rgba(167,132,70,.55) !important;
  box-shadow: 0 0 0 .2rem rgba(199,168,108,.22) !important;
}

.table{
  border-collapse: separate;
  border-spacing: 0;
}
.table thead th{
  position: sticky;
  top: 0;
  z-index: 1;
  background: rgba(245,243,238,.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(12,27,19,.14) !important;
}
.table tbody tr{
  background: rgba(255,255,255,.70);
}
.table tbody tr:hover{
  background: rgba(255,255,255,.86);
}
.table td, .table th{
  border-color: rgba(12,27,19,.10) !important;
}

/* Page hero (за всички страници без Home/Index) — Little-Athens vibe */
.sm-page-hero{
  position: relative;
  margin: 0 0 18px 0;
  min-height: 240px;
  background-image: var(--pageHero);
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid rgba(12,27,19,.10);
}
.sm-page-hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 380px at 18% 40%, rgba(255,255,255,.12), rgba(0,0,0,0)),
    linear-gradient(to bottom, rgba(12,27,19,.18) 0%, rgba(12,27,19,.30) 55%, rgba(12,27,19,.40) 100%);
}
.sm-page-hero-inner{
  position: relative;
  padding: 56px 0 44px 0;
}
.sm-breadcrumb{
  display:flex; gap:.5rem; align-items:center;
  color: rgba(255,255,255,.78);
  font-size: .9rem;
}
.sm-breadcrumb a{
  color: rgba(255,255,255,.86);
  text-decoration:none;
  border-bottom: 1px solid rgba(255,255,255,.22);
}
.sm-page-title{
  margin-top: 10px;
  font-family: "Playfair Display", serif;
  font-size: clamp(2.0rem, 3.6vw, 3.1rem);
  line-height: 1.02;
  color: rgba(255,255,255,.96);
  text-shadow: 0 14px 34px rgba(0,0,0,.20);
}
.sm-page-subtitle{
  margin: 12px 0 0 0;
  max-width: 64ch;
  color: rgba(255,255,255,.84);
  text-shadow: 0 10px 22px rgba(0,0,0,.18);
}

/* Section spacing */
.sm-section{
  padding: 26px 0;
}

/* Footer по-луксозен */
.sm-footer{
  background: linear-gradient(180deg, rgba(12,27,19,1) 0%, rgba(10,22,15,1) 100%);
  color: rgba(255,255,255,.80);
  border-top: 1px solid rgba(255,255,255,.08);
}
.sm-footer .sm-footer-brand{ color: rgba(255,255,255,.92); }
.sm-footer .sm-footer-title{ color: rgba(255,255,255,.88); }
.sm-footer .sm-link{
  color: rgba(255,255,255,.82);
  border-bottom-color: rgba(255,255,255,.22);
}
.sm-footer .sm-link:hover{
  color: rgba(255,255,255,.96);
  border-bottom-color: rgba(255,255,255,.34);
}

/* По-елегантни badge-ове */
.sm-badge{
  border-radius: 999px;
  padding: .35rem .65rem;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(12,27,19,.16);
  color: rgba(12,27,19,.86);
}

/* Home: по-чист преход след hero */
body.is-home .sm-after-hero{
  border-top: 1px solid rgba(255,255,255,.08);
}

/* === END GLOBAL LUX THEME PACK === */


/* === NAV SCROLL POLISH === */
.sm-navbar.sm-nav-scrolled{
  background: rgba(245,243,238,.86) !important;
  backdrop-filter: blur(16px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  box-shadow: 0 18px 45px rgba(0,0,0,.10) !important;
}
body.is-home .sm-navbar.sm-nav-scrolled{
  background: rgba(12,27,19,.34) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.16) !important;
}
/* === END NAV SCROLL POLISH === */

:root{
  --sm-champagne-1:#F3E8D6;
  --sm-champagne-2:#E8D6B8;
  --sm-olive:#1B2A1E;
  --sm-olive-2:#223528;
  --sm-gold:#C9A46A;
  --sm-ink:#101412;
  --sm-card:rgba(255,255,255,.58);
  --sm-card-2:rgba(255,255,255,.75);
}

html,body{
  background:
    radial-gradient(1200px 700px at 55% -10%, rgba(27,42,30,.26), transparent 58%),
    linear-gradient(180deg, var(--sm-champagne-1), var(--sm-champagne-2));
  color:var(--sm-ink);
}

.sm-topbar{
  background:rgba(27,42,30,.08);
  color:rgba(16,20,18,.82);
}

.sm-navbar{
  background:
    radial-gradient(900px 180px at 30% 0%, rgba(201,164,106,.18), transparent 62%),
    linear-gradient(180deg, rgba(27,42,30,.90), rgba(27,42,30,.72));
  border-bottom:1px solid rgba(255,255,255,.10);
}

.sm-brand,.navbar .nav-link{
  color:#F7F0E3 !important;
  text-shadow:0 2px 18px rgba(0,0,0,.35);
}

.navbar .nav-link:hover{
  color:#FFFFFF !important;
}

.sm-card{
  background:var(--sm-card);
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 18px 60px rgba(16,20,18,.12);
  backdrop-filter: blur(8px);
}

.sm-btn{
  background:linear-gradient(180deg, #D6B77B, #C39B5C);
  color:#1B2A1E;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 14px 30px rgba(16,20,18,.18);
}

.sm-btn:hover{
  filter:brightness(1.03);
}

.sm-btn-outline{
  background:rgba(255,255,255,.38);
  border:1px solid rgba(255,255,255,.62);
  color:#1B2A1E;
}

.sm-btn-outline:hover{
  background:rgba(255,255,255,.56);
}


.sm-hero,
.sm-hero-wrap,
.sm-hero-media,
.sm-hero-frame,
.sm-hero-card{
  border:none !important;
  outline:0 !important;
}

.sm-hero-frame{
  box-shadow:none !important;
}

.sm-hero::before,.sm-hero::after,
.sm-hero-wrap::before,.sm-hero-wrap::after,
.sm-hero-media::before,.sm-hero-media::after,
.sm-hero-frame::before,.sm-hero-frame::after,
.sm-hero-card::before,.sm-hero-card::after{
  content:none !important;
  display:none !important;
}

.sm-hero-lines,
.sm-hero-border,
.sm-hero-outline,
.sm-hero-guides{
  display:none !important;
}

.sm-hero-media img{
  outline:0 !important;
  border:0 !important;
  box-shadow:none !important;
}


:root{
  --sm-lux-ink:#06140e;
  --sm-lux-forest:#0b2417;
  --sm-lux-leaf:#1f5a33;
  --sm-lux-gold:#c8a86b;
  --sm-lux-champ:#f3ead7;
}

body.sm-home{
  background: transparent !important;
  color: rgba(255,255,255,.92);
}

body.sm-home::before{
  content:"";
  position: fixed;
  inset:-40px;
  background-image: url('/images/sanmarco/hero-window.webp');
  background-size: cover;
  background-position: center;
  filter: blur(26px) saturate(1.35) contrast(1.05) brightness(.78);
  transform: scale(1.08);
  z-index: -2;
}

body.sm-home::after{
  content:"";
  position: fixed;
  inset:0;
  background:
    radial-gradient(900px 700px at 20% 12%, rgba(255,255,255,.18), rgba(255,255,255,0) 62%),
    radial-gradient(900px 700px at 78% 18%, rgba(255,255,255,.10), rgba(255,255,255,0) 65%),
    linear-gradient(180deg, rgba(6,20,14,.78), rgba(6,20,14,.55) 40%, rgba(6,20,14,.35) 70%, rgba(6,20,14,.15));
  z-index: -1;
  pointer-events: none;
}

body.sm-home .sm-container{
  background: transparent !important;
}

body.sm-home .sm-hero{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.sm-home .sm-hero-frame,
body.sm-home .sm-hero-card,
body.sm-home .sm-hero-media{
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.sm-home .sm-hero-frame::before,
body.sm-home .sm-hero-frame::after{
  display:none !important;
}

body.sm-home .sm-hero-frame{
  box-shadow: 0 28px 90px rgba(0,0,0,.35) !important;
}

body.sm-home .sm-btn,
body.sm-home .btn.sm-btn{
  background: linear-gradient(180deg, rgba(200,168,107,.98), rgba(165,132,70,.98));
  border: 0;
  color: #1a1409;
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
}

body.sm-home .sm-btn:hover,
body.sm-home .btn.sm-btn:hover{
  filter: brightness(1.03);
}

body.sm-home .sm-btn-outline{
  border: 1px solid rgba(255,255,255,.30);
  color: rgba(255,255,255,.92);
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
}

body.sm-home .sm-kicker,
body.sm-home .sm-muted{
  color: rgba(255,255,255,.78) !important;
}

:root{
  --sm-ink:#07130d;
  --sm-forest:#0b2417;
  --sm-leaf:#1f5a33;
  --sm-gold:#c8a86b;
  --sm-gold-2:#a88746;
  --sm-champ:#f3ead7;
  --sm-glass: rgba(10, 24, 16, .42);
  --sm-glass-2: rgba(6, 20, 14, .26);
  --sm-line: rgba(255,255,255,.14);
  --sm-soft: rgba(255,255,255,.78);
}

body.is-home{
  background: transparent !important;
  color: rgba(255,255,255,.92);
}

/* Ambient background (image if exists, fallback gradients) */
body.is-home::before{
  content:"";
  position: fixed;
  inset:-60px;
  z-index:-3;
  background:
    radial-gradient(900px 700px at 18% 18%, rgba(200,168,107,.35), rgba(200,168,107,0) 62%),
    radial-gradient(900px 700px at 78% 22%, rgba(31,90,51,.32), rgba(31,90,51,0) 64%),
    radial-gradient(700px 600px at 40% 78%, rgba(255,255,255,.12), rgba(255,255,255,0) 62%),
    linear-gradient(180deg, rgba(7,19,13,.82), rgba(7,19,13,.45) 55%, rgba(7,19,13,.22));
  filter: saturate(1.15) contrast(1.02);
  transform: scale(1.02);
}

body.is-home.has-bokeh::before{
  background-image: url('/images/sanmarco/lux-bokeh.webp?v=20260222042005');
  background-size: cover;
  background-position: center;
  filter: blur(2px) saturate(1.08) contrast(1.02) brightness(.94);
}

body.is-home::after{
  content:"";
  position: fixed;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(1100px 820px at 22% 14%, rgba(255,255,255,.16), rgba(255,255,255,0) 60%),
    linear-gradient(180deg, rgba(7,19,13,.55), rgba(7,19,13,.15) 70%, rgba(7,19,13,0));
  pointer-events:none;
}

/* Remove container “frame” feeling on home */
body.is-home .sm-container{
  background: transparent !important;
}

/* Navbar – glass, greenish, gold accent */
.sm-navbar{
  background: linear-gradient(180deg, rgba(7,19,13,.72), rgba(7,19,13,.28)) !important;
  border-bottom: 1px solid rgba(200,168,107,.18);
  backdrop-filter: blur(14px);
}

/* HERO full-bleed (no white borders) */
.sm-hero-full{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.sm-hero-media,
.sm-hero-slide{
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.sm-hero-media{
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.sm-hero-slide{
  position:absolute;
  inset:0;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  transform: scale(1.03);
  filter: saturate(1.12) contrast(1.03) brightness(.92);
}

/* Make the overlay “green/gold luxury”, not heavy black */
.sm-hero-vignette{
  position:absolute;
  inset:0;
  background:
    radial-gradient(1200px 800px at 30% 28%, rgba(255,255,255,.10), rgba(255,255,255,0) 58%),
    radial-gradient(900px 700px at 68% 26%, rgba(200,168,107,.18), rgba(200,168,107,0) 60%),
    linear-gradient(180deg, rgba(7,19,13,.55), rgba(7,19,13,.20) 55%, rgba(7,19,13,.08));
}

.sm-hero-grain{
  position:absolute;
  inset:0;
  opacity:.16;
  mix-blend-mode: overlay;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.06), rgba(255,255,255,.06) 1px, rgba(255,255,255,0) 2px, rgba(255,255,255,0) 3px);
}

/* Hero content spacing + glass text plate */
.sm-hero-content{
  position: relative;
  min-height: 86vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top: 120px;
  padding-bottom: 90px;
}

.sm-hero-kicker{
  letter-spacing: .24em;
  font-size: .78rem;
  color: rgba(255,255,255,.78);
  text-transform: uppercase;
}

.sm-hero-title{
  font-family: "Playfair Display", serif;
  font-weight: 700;
  font-size: clamp(2.3rem, 4.6vw, 4.1rem);
  line-height: 1.02;
  margin: .55rem 0 .65rem;
  text-shadow: 0 18px 40px rgba(0,0,0,.35);
}

.sm-hero-accent{
  background: linear-gradient(180deg, rgba(243,234,215,1), rgba(200,168,107,1));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.sm-hero-lead{
  max-width: 58ch;
  font-size: 1.08rem;
  color: rgba(255,255,255,.86);
  text-shadow: 0 12px 30px rgba(0,0,0,.30);
}

/* Buttons – gold primary + glass ghost */
.sm-hero-actions{
  display:flex;
  gap: .7rem;
  flex-wrap: wrap;
  margin-top: 1.15rem;
}

.sm-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: .72rem 1.05rem;
  border-radius: 999px;
  font-weight: 600;
  text-decoration:none;
  transition: transform .15s ease, filter .15s ease;
}

.sm-cta-primary{
  background: linear-gradient(180deg, rgba(200,168,107,.98), rgba(168,135,70,.98));
  color:#1a1409;
  box-shadow: 0 16px 34px rgba(0,0,0,.28);
  border: 0;
}

.sm-cta-ghost{
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.26);
  backdrop-filter: blur(12px);
}

.sm-cta:hover{ transform: translateY(-1px); filter: brightness(1.03); }

/* Meta pills – consistent, luxe */
.sm-hero-meta{
  display:flex;
  gap:.6rem;
  flex-wrap: wrap;
  margin-top: 1.1rem;
}

.sm-meta-pill{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding: .55rem .85rem;
  border-radius: 999px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  color: rgba(255,255,255,.88);
  text-decoration:none;
}

.sm-meta-link{ cursor:pointer; }
.sm-dot{
  width: .55rem; height: .55rem; border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.90), rgba(255,255,255,0) 55%),
              linear-gradient(180deg, rgba(31,90,51,1), rgba(15,48,28,1));
  box-shadow: 0 0 0 4px rgba(31,90,51,.18);
}

/* Scroll hint */
.sm-hero-scroll{
  margin-top: 1.6rem;
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  color: rgba(255,255,255,.70);
  text-transform: uppercase;
  letter-spacing:.16em;
  font-size:.8rem;
}

/* Home cards section – premium, no “basic” */
.sm-home-sections{
  padding: 42px 0 60px;
}

.sm-home-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

@media (max-width: 992px){
  .sm-home-grid{ grid-template-columns: 1fr; }
}

.sm-home-card{
  position: relative;
  border-radius: 18px;
  overflow:hidden;
  min-height: 220px;
  text-decoration:none;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.16);
  backdrop-filter: blur(10px);
  box-shadow: 0 22px 60px rgba(0,0,0,.22);
  transform: translateZ(0);
}

.sm-home-card-bg{
  position:absolute; inset:0;
  background-image: var(--bg);
  background-size: cover;
  background-position:center;
  filter: saturate(1.08) contrast(1.03) brightness(.86);
  transform: scale(1.05);
}

.sm-home-card-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(110deg, rgba(7,19,13,.78), rgba(7,19,13,.30) 55%, rgba(7,19,13,.12)),
    radial-gradient(700px 420px at 30% 30%, rgba(200,168,107,.18), rgba(200,168,107,0) 62%);
}

.sm-home-card-body{
  position: relative;
  padding: 22px 22px 20px;
  color: rgba(255,255,255,.92);
}

.sm-home-card-kicker{
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:.74rem;
  color: rgba(255,255,255,.72);
}

.sm-home-card-title{
  margin-top:.45rem;
  font-family:"Playfair Display", serif;
  font-weight:700;
  font-size: 1.55rem;
  line-height:1.05;
}

.sm-home-card-sub{
  margin-top:.55rem;
  color: rgba(255,255,255,.82);
  max-width: 40ch;
}

.sm-home-card-cta{
  margin-top: 1.05rem;
  display:inline-flex;
  padding: .5rem .8rem;
  border-radius: 999px;
  background: rgba(200,168,107,.22);
  border: 1px solid rgba(200,168,107,.26);
  color: rgba(255,255,255,.92);
}

.sm-home-card:hover .sm-home-card-bg{ transform: scale(1.08); }
.sm-home-card:hover{ border-color: rgba(200,168,107,.28); }

/* Remove any “white frame lines” that might exist from earlier styles */
.sm-hero,
.sm-hero *{
  outline: none;
}


body.is-home { background: #07140d; }
body.is-home .sm-container { max-width: 100%; padding-left: 0; padding-right: 0; }
body.is-home main { padding-bottom: 0; }

body.is-home .sm-navbar-hero {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1030;
  background: rgba(7, 20, 13, .30);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.10);
}

body.is-home .sm-navbar-hero .navbar-brand,
body.is-home .sm-navbar-hero .nav-link,
body.is-home .sm-navbar-hero .dropdown-toggle {
  color: rgba(255,255,255,.92) !important;
}

body.is-home .sm-navbar-hero .nav-link:hover { color: #fff !important; }

body.is-home .sm-hero-full {
  min-height: 100svh;
  height: 100svh;
  margin: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.is-home .sm-hero-media { position: absolute; inset: 0; }
body.is-home .sm-hero-slide {
  background-size: cover;
  background-position: center;
  transform: scale(1.03);
  filter: saturate(1.06) contrast(1.03);
}

body.is-home .sm-hero-vignette {
  position: absolute; inset: 0;
  background:
    radial-gradient(80% 60% at 35% 35%, rgba(0,0,0,.04), rgba(0,0,0,.52) 70%, rgba(0,0,0,.72) 100%),
    linear-gradient(180deg, rgba(10, 32, 20, .16), rgba(7, 20, 13, .38));
}

body.is-home .sm-hero-grain {
  position: absolute; inset: 0;
  opacity: .22;
  mix-blend-mode: soft-light;
  background-image:
    url('/images/sanmarco/luxe-bg.jpg'),
    radial-gradient(circle at 18% 22%, rgba(255,210,120,.32), rgba(255,210,120,0) 42%),
    radial-gradient(circle at 78% 28%, rgba(120,200,150,.26), rgba(120,200,150,0) 44%),
    radial-gradient(circle at 70% 78%, rgba(255,220,160,.22), rgba(255,220,160,0) 46%),
    radial-gradient(circle at 28% 78%, rgba(120,190,140,.20), rgba(120,190,140,0) 48%);
  background-size: cover, auto, auto, auto, auto;
  background-position: center, center, center, center, center;
}

body.is-home .sm-hero-content {
  position: relative;
  z-index: 1;
  padding-top: clamp(120px, 14vh, 180px);
  padding-bottom: clamp(80px, 14vh, 160px);
}

body.is-home .sm-hero-title { text-shadow: 0 10px 30px rgba(0,0,0,.55); }
body.is-home .sm-hero-lead  { text-shadow: 0 8px 22px rgba(0,0,0,.45); }


html.sm-noscroll, html.sm-noscroll body { overflow: hidden; }

body.is-gallery,
body.is-contact { background: #07140d; }

body.is-gallery .sm-container,
body.is-contact .sm-container { padding-left: 0; padding-right: 0; }

.sm-g-hero, .sm-c-hero {
  position: relative;
  min-height: 70svh;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.sm-g-hero-bg, .sm-c-hero-bg {
  position: absolute; inset: 0;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  transform: scale(1.03);
  filter: saturate(1.07) contrast(1.04);
}

.sm-g-hero-vignette, .sm-c-hero-vignette {
  position: absolute; inset: 0;
  background:
    radial-gradient(70% 55% at 35% 35%, rgba(0,0,0,.06), rgba(0,0,0,.62) 72%, rgba(0,0,0,.78) 100%),
    linear-gradient(180deg, rgba(10,32,20,.20), rgba(7,20,13,.48));
}

.sm-g-hero-content, .sm-c-hero-content {
  position: relative;
  z-index: 1;
  padding-top: clamp(120px, 14vh, 180px);
  padding-bottom: clamp(60px, 10vh, 120px);
  color: rgba(255,255,255,.96);
  max-width: 980px;
}

.sm-g-kicker, .sm-c-kicker {
  letter-spacing: .18em;
  font-size: .78rem;
  opacity: .85;
}

.sm-g-title, .sm-c-title {
  font-size: clamp(2.2rem, 5vw, 4rem);
  margin-top: .65rem;
  text-shadow: 0 10px 30px rgba(0,0,0,.55);
}

.sm-g-lead, .sm-c-lead {
  margin-top: .85rem;
  font-size: 1.05rem;
  max-width: 58ch;
  opacity: .92;
  text-shadow: 0 8px 22px rgba(0,0,0,.45);
}

.sm-g-actions, .sm-c-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.2rem;
}

.sm-g-wrap, .sm-c-wrap {
  padding: 32px 0 64px;
}

.sm-g-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
  padding: 0 16px;
}

.sm-g-item {
  position: relative;
  border: 0;
  padding: 0;
  cursor: pointer;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 44px rgba(0,0,0,.35);
  transform: translateZ(0);
}

.sm-g-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.01);
  transition: transform .45s ease, filter .45s ease;
  filter: saturate(1.03) contrast(1.02);
}

.sm-g-item:hover img {
  transform: scale(1.06);
  filter: saturate(1.10) contrast(1.05);
}

.sm-g-shine {
  position: absolute; inset: 0;
  background: radial-gradient(60% 40% at 30% 25%, rgba(255,220,160,.20), rgba(255,220,160,0) 55%);
  opacity: .9;
  pointer-events: none;
}

.sm-g-item:nth-child(1) { grid-column: span 7; min-height: 340px; }
.sm-g-item:nth-child(2) { grid-column: span 5; min-height: 340px; }
.sm-g-item:nth-child(3) { grid-column: span 4; min-height: 280px; }
.sm-g-item:nth-child(4) { grid-column: span 4; min-height: 280px; }
.sm-g-item:nth-child(5) { grid-column: span 4; min-height: 280px; }
.sm-g-item:nth-child(6) { grid-column: span 12; min-height: 360px; }

@media (max-width: 992px) {
  .sm-g-item:nth-child(1),
  .sm-g-item:nth-child(2),
  .sm-g-item:nth-child(3),
  .sm-g-item:nth-child(4),
  .sm-g-item:nth-child(5),
  .sm-g-item:nth-child(6) { grid-column: span 12; }
}

.sm-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(3, 10, 6, .82);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.sm-lightbox.is-open { display: flex; }

.sm-lb-img {
  max-width: min(1080px, 92vw);
  max-height: 82vh;
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(0,0,0,.55);
}

.sm-lb-close {
  position: fixed;
  top: 18px; right: 18px;
  width: 44px; height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  font-size: 18px;
  cursor: pointer;
}

.sm-lb-nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 52px; height: 52px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  font-size: 28px;
  cursor: pointer;
}

.sm-lb-prev { left: 18px; }
.sm-lb-next { right: 18px; }

.sm-c-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
  padding: 0 16px;
}

.sm-c-card {
  grid-column: span 4;
  border-radius: 18px;
  padding: 18px 18px 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
  color: rgba(255,255,255,.92);
}

.sm-c-card-wide { grid-column: span 12; }

.sm-c-card-k { opacity: .78; letter-spacing: .14em; font-size: .72rem; }
.sm-c-card-v { margin-top: .55rem; font-size: 1.15rem; font-weight: 600; }
.sm-c-card-s { margin-top: .35rem; opacity: .78; }

.sm-c-link { color: rgba(255,255,255,.92); text-decoration: none; }
.sm-c-link:hover { text-decoration: underline; }

@media (max-width: 992px) {
  .sm-c-card { grid-column: span 12; }
}

/* === LUXE NAV (REFERENCE-LIKE) === */
.sm-navbar.sm-navbar-luxe{
  background: rgba(10, 16, 12, .62) !important;
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid rgba(255,255,255,.10);
}

body.is-home .sm-navbar.sm-navbar-luxe{
  background: rgba(10, 16, 12, .52) !important;
}

/* Brand */
.sm-navbar-luxe .navbar-brand{
  color: rgba(255,255,255,.92) !important;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 700;
  font-size: .92rem;
  display: flex;
  align-items: baseline;
  gap: .5rem;
}
.sm-navbar-luxe .sm-brand-sub{
  color: rgba(255,255,255,.70);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 500;
  font-size: .70rem;
}

/* Center nav like the reference */
.sm-navbar-luxe .navbar-collapse{
  position: relative;
}
.sm-navbar-luxe .navbar-nav{
  align-items: center;
  gap: 0;
}
.sm-navbar-luxe .navbar-nav .nav-link{
  color: rgba(255,255,255,.86) !important;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 600;
  font-size: .78rem;
  padding: .85rem 1.05rem !important;
  line-height: 1;
}
.sm-navbar-luxe .navbar-nav .nav-link:hover{
  color: #fff !important;
  opacity: 1;
}

/* thin separators between items */
.sm-navbar-luxe .navbar-nav .nav-item{
  position: relative;
}
.sm-navbar-luxe .navbar-nav .nav-item + .nav-item::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 18px;
  background: rgba(255,255,255,.14);
}

/* Dropdown */
.sm-navbar-luxe .dropdown-menu{
  background: rgba(10, 14, 11, .95);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.sm-navbar-luxe .dropdown-item{
  color: rgba(255,255,255,.88);
}
.sm-navbar-luxe .dropdown-item:hover{
  background: rgba(255,255,255,.08);
  color: #fff;
}

/* Right side buttons/links */
.sm-navbar-luxe .sm-btn,
.sm-navbar-luxe .sm-btn-outline,
.sm-navbar-luxe .btn{
  border-radius: 999px !important;
}

.sm-navbar-luxe .sm-btn-outline{
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.46) !important;
  color: rgba(255,255,255,.92) !important;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 700;
  font-size: .76rem;
  padding: .55rem 1.05rem !important;
}
.sm-navbar-luxe .sm-btn-outline:hover{
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.62) !important;
}

/* Make login/register links match the nav */
.sm-navbar-luxe a,
.sm-navbar-luxe .nav-link{
  color: rgba(255,255,255,.86) !important;
}
.sm-navbar-luxe a:hover{
  color: #fff !important;
}

/* Toggler icon visibility */
.sm-navbar-luxe .navbar-toggler{
  border-color: rgba(255,255,255,.22);
}
.sm-navbar-luxe .navbar-toggler-icon{
  filter: invert(1);
}

/* Top worktime strip (if you have one of these classes) */
.sm-topstrip, .sm-topbar, .sm-worktime-bar{
  background: rgba(10, 16, 12, .45);
  color: rgba(255,255,255,.80);
  border-bottom: 1px solid rgba(255,255,255,.10);
}

/* === HEADER FIXES V2 === */

/* keep header above the hero so Cart + Admin dropdown are clickable/visible */
.sm-navbar.sm-navbar-luxe{
  position: sticky;
  top: 0;
  z-index: 1200;
}

/* hero layers should never block clicks */
.sm-hero-media,
.sm-hero-vignette,
.sm-hero-grain{
  pointer-events: none;
}

/* dropdown must appear above hero */
.sm-navbar-luxe .dropdown-menu{
  z-index: 3000;
}

/* right side never wraps */
.sm-navbar-luxe .sm-nav-right{
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: .55rem !important;
}

/* make phone pill luxe + no wrap */
.sm-navbar-luxe a[href^="tel:"]{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .95rem;
  border-radius: 999px;
  white-space: nowrap;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 10px 30px rgba(0,0,0,.22);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  color: rgba(255,255,255,.92) !important;
  text-decoration: none;
}
.sm-navbar-luxe a[href^="tel:"]::before{
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.35), rgba(255,255,255,.08));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
.sm-navbar-luxe a[href^="tel:"]:hover{
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.28);
}

/* cart nav link stays clickable and clean */
.sm-navbar-luxe .nav-link{
  position: relative;
  z-index: 2;
}

/* small screens: tighten pills so they fit */
@media (max-width: 992px){
  .sm-navbar-luxe a[href^="tel:"]{
    padding: .5rem .85rem;
  }
}

/* === CART + HOME FINISH === */

/* cart page */
.sm-cart-page{ padding: 2.2rem 0 3.5rem; }
.sm-cart-thumb{
  width: 64px; height: 64px;
  border-radius: 14px;
  background-size: cover;
  background-position: center;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.10);
}
.sm-cart-table thead th{
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  opacity: .72;
}
.sm-qty{
  display:inline-flex;
  min-width: 52px;
  justify-content:center;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.sm-cart-remove{
  border-radius: 999px;
  border-color: rgba(255,255,255,.20) !important;
}
.sm-cart-summary{
  background: linear-gradient(90deg, rgba(18,40,26,.55), rgba(15,15,15,.25));
  border-top: 1px solid rgba(255,255,255,.10);
}
.sm-cart-total{
  font-size: 1.4rem;
  font-weight: 900;
}


/* --- footer minimal --- */
.sm-footer.sm-footer-min{
  background: rgba(8, 14, 10, .55);
  border-top: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}
.sm-footer.sm-footer-min .sm-link{
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.25);
}
.sm-footer.sm-footer-min .sm-link:hover{
  border-bottom-color: rgba(255,255,255,.55);
}


/* cart trigger */
.sm-cart-trigger.btn.btn-link{
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-decoration: none;
  font: inherit;
}
.sm-cart-trigger.btn.btn-link:hover{ opacity: .9; }


.sm-mega-nav .dropdown-menu{margin-top:.65rem}
.sm-mega-menu{
  width:min(980px, calc(100vw - 2rem));
  border-radius:var(--sm-radius);
  border:1px solid var(--sm-border);
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(16px);
  box-shadow:0 24px 70px rgba(0,0,0,.16);
}
.sm-mega-cols{display:grid;grid-template-columns:240px 1fr;gap:1rem}
@media (max-width: 991px){
  .sm-mega-menu{width:calc(100vw - 2rem)}
  .sm-mega-cols{grid-template-columns:1fr}
}
.sm-mega-title{font-family:"Playfair Display",Georgia,serif;font-weight:700;margin-bottom:.5rem}
.sm-mega-catlist{display:flex;flex-direction:column;gap:.25rem;max-height:380px;overflow:auto;padding-right:.25rem}
.sm-mega-cat{
  display:flex;align-items:center;justify-content:space-between;
  padding:.48rem .65rem;border-radius:12px;
  text-decoration:none;color:var(--sm-text);
  border:1px solid rgba(20,20,20,.08);
  background:rgba(255,255,255,.62);
}
.sm-mega-cat:hover{border-color:rgba(176,140,87,.28);box-shadow:0 10px 20px rgba(0,0,0,.06)}
.sm-mega-arrow{color:rgba(20,20,20,.45)}
.sm-mega-all{display:inline-flex;gap:.4rem;align-items:center;margin-top:.6rem;text-decoration:none;color:var(--sm-text);opacity:.86}
.sm-mega-all:hover{opacity:1}

.sm-mega-prodgrid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:.75rem}
@media (max-width: 991px){.sm-mega-prodgrid{grid-template-columns:1fr}}
.sm-mega-prod{
  display:flex;gap:.65rem;align-items:center;
  padding:.5rem;border-radius:14px;
  border:1px solid rgba(20,20,20,.10);
  background:rgba(255,255,255,.62);
  text-decoration:none;color:var(--sm-text);
}
.sm-mega-prod:hover{border-color:rgba(176,140,87,.28);box-shadow:0 10px 20px rgba(0,0,0,.06)}
.sm-mega-img{width:54px;height:42px;border-radius:12px;object-fit:cover;background:#eee;flex:0 0 auto}
.sm-mega-meta{min-width:0}
.sm-mega-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
.sm-mega-price{color:var(--sm-muted);font-weight:700}
.sm-mega-foot{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;margin-top:.9rem}

/* Cards grid inside Menu page */
.sm-mega-gridcards{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:1rem}
@media (max-width: 1200px){.sm-mega-gridcards{grid-template-columns:repeat(3, minmax(0,1fr));}}
@media (max-width: 992px){.sm-mega-gridcards{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width: 560px){.sm-mega-gridcards{grid-template-columns:1fr;}}
.sm-mega-card{display:block;color:inherit;text-decoration:none}

/* Admin forms/tables slight polish */
.sm-admin .form-control,.sm-admin .form-select{border-radius:14px}
.sm-admin .table thead th{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-muted)}
.sm-admin .btn{border-radius:999px}

.sm-admin .form-control:focus,
.sm-admin .form-select:focus{
  border-color: rgba(176,140,87,.45);
  box-shadow: 0 0 0 .2rem rgba(176,140,87,.18);
}
.sm-admin .table tbody tr:hover{
  background: rgba(176,140,87,.06);
}

.sm-mega-searchwrap{margin-bottom:.75rem}
.sm-mega-search{
  border-radius:999px;
  border:1px solid rgba(20,20,20,.12);
  background:rgba(255,255,255,.72);
  padding:.65rem 1rem;
}
.sm-mega-search:focus{
  border-color: rgba(176,140,87,.45);
  box-shadow: 0 0 0 .2rem rgba(176,140,87,.18);
}

.sm-badge-discount{
  position:absolute; top:10px; left:10px;
  background:rgba(0,0,0,.78);
  color:#fff;
  padding:.25rem .55rem;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.02em;
}
.sm-mega-prod{position:relative}

.is-home .sm-hero-actions,
.is-home .sm-hero-cta,
.is-home .sm-home-actions,
.is-home .sm-home-hero-actions{
  display:none !important;
}

.sm-topnav-wrap{position:relative; z-index:1050}
.sm-topnav{
  position:fixed; top:0; left:0; right:0;
  height:74px;
  background: rgba(0,0,0,.38);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.28);
}
.sm-topnav-inner{
  height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.sm-topnav-brand{
  display:flex;
  align-items:baseline;
  gap:18px;
  text-decoration:none;
  color:#fff;
  letter-spacing:.18em;
  text-transform:uppercase;
  white-space:nowrap;
}
.sm-topnav-brand-main{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  font-weight:600;
  font-size:1.05rem;
  opacity:.95;
}
.sm-topnav-brand-sub{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  font-weight:500;
  font-size:.95rem;
  opacity:.75;
}

.sm-topnav-links{
  display:flex;
  align-items:center;
  gap:0;
}
.sm-topnav-link{
  color:#fff;
  text-decoration:none;
  font-family:"Inter", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:0 22px;
  opacity:.9;
}
.sm-topnav-link:hover{opacity:1}

.sm-topnav-link + .sm-topnav-link,
.sm-topnav-link + .sm-topnav-cta,
.sm-topnav-link + .sm-topnav-user,
.sm-topnav-cta + .sm-topnav-user{
  border-left:1px solid rgba(255,255,255,.25);
}

.sm-topnav-cta{
  margin-left:0;
  color:#fff;
  text-decoration:none;
  font-family:"Inter", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:11px 18px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background: rgba(255,255,255,.06);
  margin-right:0;
  margin-left:22px;
}
.sm-topnav-cta:hover{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.55);
}

.sm-topnav-user{
  margin-left:22px;
  width:38px;
  height:38px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.08);
  color:#fff;
  text-decoration:none;
}
.sm-topnav-user span{font-size:22px; line-height:1; opacity:.9}

.sm-has-topnav{padding-top:74px;}
.sm-has-topnav.is-home{padding-top:0;} /* overlay on home like screenshot */

/* Mobile */
@media (max-width: 992px){
  .sm-topnav{height:66px}
  .sm-topnav-inner{height:66px}
  .sm-topnav-link{padding:0 12px; letter-spacing:.12em}
  .sm-topnav-cta{padding:10px 14px; letter-spacing:.14em}
  .sm-has-topnav{padding-top:66px;}
  .sm-has-topnav.is-home{padding-top:0;}
}

/* Luxury palette + thicker lines + matched colors */
:root{
  --sm-nav-paper: rgba(255,255,255,.96);
  --sm-nav-ink: #141414;
  --sm-nav-muted: rgba(20,20,20,.68);
  --sm-nav-gold: #b08c57;
  --sm-nav-gold-2: #d1b27a;
  --sm-nav-line: rgba(176,140,87,.38);
}

/* top bar itself */
.sm-topnav{
  background: var(--sm-nav-paper) !important;
  border-bottom: 2px solid var(--sm-nav-line) !important;   /* thicker */
  box-shadow: 0 14px 36px rgba(0,0,0,.10) !important;
}

/* brand */
.sm-topnav-brand{
  color: var(--sm-nav-ink) !important;
  opacity: 1 !important;
}
.sm-topnav-brand-main{
  color: var(--sm-nav-ink) !important;
  letter-spacing: .20em !important;
}
.sm-topnav-brand-sub{
  color: var(--sm-nav-muted) !important;
}

/* links */
.sm-topnav-link{
  color: var(--sm-nav-ink) !important;
  opacity: .88 !important;
  font-weight: 600 !important;
  position: relative;
}
.sm-topnav-link:hover{
  color: var(--sm-nav-gold) !important;
  opacity: 1 !important;
}

/* elegant underline on hover */
.sm-topnav-link::after{
  content:"";
  position:absolute;
  left:22px; right:22px;
  bottom:-18px;
  height:2px;                           /* thicker */
  background: transparent;
  border-radius: 999px;
  transition: background .18s ease, transform .18s ease;
  transform: translateY(2px);
}
.sm-topnav-link:hover::after{
  background: linear-gradient(90deg, transparent, var(--sm-nav-gold), transparent);
  transform: translateY(0);
}

/* separators (thicker + gold-ish) */
.sm-topnav-link + .sm-topnav-link,
.sm-topnav-link + .sm-topnav-cta,
.sm-topnav-link + .sm-topnav-user,
.sm-topnav-cta + .sm-topnav-user{
  border-left: 2px solid var(--sm-nav-line) !important;     /* thicker */
}

/* CTA */
.sm-topnav-cta{
  color: #1a1a1a !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  border: 2px solid rgba(176,140,87,.55) !important;        /* thicker */
  background: linear-gradient(180deg, rgba(209,178,122,.58), rgba(176,140,87,.38)) !important;
  box-shadow: 0 10px 22px rgba(176,140,87,.16) !important;
}
.sm-topnav-cta:hover{
  background: linear-gradient(180deg, rgba(209,178,122,.78), rgba(176,140,87,.48)) !important;
  border-color: rgba(176,140,87,.78) !important;
}

/* user circle */
.sm-topnav-user{
  border: 2px solid rgba(176,140,87,.35) !important;        /* thicker */
  background: rgba(176,140,87,.10) !important;
  color: var(--sm-nav-ink) !important;
}
.sm-topnav-user:hover{
  background: rgba(176,140,87,.16) !important;
  border-color: rgba(176,140,87,.55) !important;
}

/* keep image directly under the menu */
.sm-has-topnav{ padding-top:0 !important; }
.sm-topnav{ position: sticky !important; top:0 !important; }

/* mobile tuning */
@media (max-width: 992px){
  .sm-topnav{ height:66px !important; }
  .sm-topnav-inner{ height:66px !important; }
  .sm-topnav-link{ padding:0 14px !important; letter-spacing:.14em !important; }
  .sm-topnav-link::after{ left:14px; right:14px; bottom:-16px; }
  .sm-topnav-cta{ padding:10px 14px !important; letter-spacing:.14em !important; }
}

/* HOME ONLY: transparent top nav overlay like Little Athens */
.sm-has-topnav.is-home{ padding-top:0 !important; }

.is-home .sm-topnav-wrap{ position:relative; z-index:2000; }

/* overlay over hero image */
.is-home .sm-topnav{
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;

  background: transparent !important;
  backdrop-filter: none !important;

  border-bottom: 2px solid rgba(255,255,255,.30) !important; /* clean line */
  box-shadow: none !important;
}

/* white text + premium spacing */
.is-home .sm-topnav-brand,
.is-home .sm-topnav-link{
  color: rgba(255,255,255,.92) !important;
  text-shadow: 0 10px 28px rgba(0,0,0,.55) !important;
}

.is-home .sm-topnav-brand-sub{
  color: rgba(255,255,255,.70) !important;
}

/* separators thicker + white */
.is-home .sm-topnav-link + .sm-topnav-link,
.is-home .sm-topnav-link + .sm-topnav-cta,
.is-home .sm-topnav-link + .sm-topnav-user,
.is-home .sm-topnav-cta + .sm-topnav-user{
  border-left: 2px solid rgba(255,255,255,.26) !important;
}

/* hover underline (lux) */
.is-home .sm-topnav-link{
  opacity: .92 !important;
  font-weight: 600 !important;
}
.is-home .sm-topnav-link:hover{
  opacity: 1 !important;
}

.is-home .sm-topnav-link::after{
  content:"";
  position:absolute;
  left:22px; right:22px;
  bottom:-18px;
  height:2px;
  background: transparent;
  border-radius:999px;
  transition: background .18s ease, transform .18s ease;
  transform: translateY(2px);
}
.is-home .sm-topnav-link:hover::after{
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.70), transparent);
  transform: translateY(0);
}

/* CTA button: transparent with white border (like LA) */
.is-home .sm-topnav-cta{
  color: rgba(255,255,255,.92) !important;
  background: rgba(255,255,255,.06) !important;
  border: 2px solid rgba(255,255,255,.34) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.22) !important;
}
.is-home .sm-topnav-cta:hover{
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.54) !important;
}

/* user circle to match */
.is-home .sm-topnav-user{
  color: rgba(255,255,255,.92) !important;
  background: rgba(255,255,255,.06) !important;
  border: 2px solid rgba(255,255,255,.26) !important;
}
.is-home .sm-topnav-user:hover{
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.44) !important;
}

/* Mobile tweaks */
@media (max-width: 992px){
  .is-home .sm-topnav-link::after{ left:14px; right:14px; bottom:-16px; }
}


/* HOME: force Little Athens transparent nav overlay (wins over Set 11) */
.is-home .sm-topnav{
  position:absolute !important;
  top:0; left:0; right:0;
  background: transparent !important;
  border-bottom: 2px solid rgba(255,255,255,.28) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.is-home .sm-topnav-brand,
.is-home .sm-topnav-link{
  color: rgba(255,255,255,.92) !important;
  text-shadow: 0 18px 40px rgba(0,0,0,.60) !important;
}
.is-home .sm-topnav-brand-sub{ color: rgba(255,255,255,.70) !important; }
.is-home .sm-topnav-link + .sm-topnav-link,
.is-home .sm-topnav-link + .sm-topnav-cta,
.is-home .sm-topnav-link + .sm-topnav-user,
.is-home .sm-topnav-cta + .sm-topnav-user{
  border-left: 2px solid rgba(255,255,255,.22) !important;
}
.is-home .sm-topnav-cta{
  color: rgba(255,255,255,.92) !important;
  background: rgba(255,255,255,.06) !important;
  border: 2px solid rgba(255,255,255,.34) !important;
}
.is-home .sm-topnav-user{
  color: rgba(255,255,255,.92) !important;
  background: rgba(255,255,255,.06) !important;
  border: 2px solid rgba(255,255,255,.24) !important;
}

/* HERO: spacing + softer vignette (lux) */
.is-home .sm-hero-content{
  padding-top: 148px !important; /* nav overlay safe */
  padding-bottom: 72px !important;
  max-width: 980px;
}
.is-home .sm-hero-vignette{
  background:
    radial-gradient(1100px 760px at 18% 40%, rgba(0,0,0,.10), rgba(0,0,0,.58)),
    radial-gradient(900px 680px at 72% 35%, rgba(176,140,87,.18), transparent 60%),
    linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.18), rgba(0,0,0,.62));
}
.is-home .sm-hero-grain{ opacity:.10; }

.is-home .sm-hero-kicker{
  letter-spacing:.22em;
  opacity:.92;
}
.is-home .sm-hero-title{
  letter-spacing:-.02em;
}
.is-home .sm-hero-accent{
  background: linear-gradient(180deg, #f2e2c3, #b08c57);
  -webkit-background-clip:text;
  background-clip:text;
  color: transparent;
}
.is-home .sm-hero-lead{
  max-width: 62ch;
}

/* HERO META pills: cleaner */
.is-home .sm-hero-meta-la{ display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.is-home .sm-meta-pill{
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 12px 16px;
  font-weight: 700;
}
.is-home .sm-meta-link{
  background: rgba(176,140,87,.22);
  border-color: rgba(176,140,87,.32);
}
.is-home .sm-meta-link:hover{
  background: rgba(176,140,87,.32);
  border-color: rgba(176,140,87,.55);
}

/* HOME sections */
.sm-home-luxe{ padding: 56px 0 22px; }
.sm-home-head{ margin-bottom: 18px; }
.sm-home-h2{
  font-family:"Playfair Display", Georgia, serif;
  font-weight: 700;
  margin: .4rem 0 .35rem;
}
.sm-home-lead{ max-width: 68ch; }

/* Popular picks grid */
.sm-home-picks-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}
@media (max-width: 992px){ .sm-home-picks-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px){ .sm-home-picks-grid{ grid-template-columns: 1fr; } }

.sm-home-pick{
  display:block;
  text-decoration:none;
  color: inherit;
  border-radius: 22px;
  overflow:hidden;
  border: 1px solid rgba(20,20,20,.10);
  background: rgba(255,255,255,.78);
  box-shadow: 0 22px 50px rgba(0,0,0,.08);
  transition: transform .18s ease, box-shadow .18s ease;
}
.sm-home-pick:hover{
  transform: translateY(-3px);
  box-shadow: 0 28px 65px rgba(0,0,0,.12);
}
.sm-home-pick-imgwrap{ position:relative; height: 170px; background:#111; }
.sm-home-pick-imgwrap img{ width:100%; height:100%; object-fit:cover; filter:saturate(1.05) contrast(1.04); }
.sm-home-badge{
  position:absolute; top:12px; left:12px;
  background: rgba(0,0,0,.72);
  color:#fff;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: .82rem;
  letter-spacing:.03em;
}
.sm-home-pick-body{ padding: 14px 16px 16px; }
.sm-home-pick-name{ font-weight: 900; }
.sm-home-pick-sub{ color: rgba(20,20,20,.60); font-weight: 700; margin-top:4px; }
.sm-home-pick-price{ margin-top:10px; font-weight: 900; }

/* Split section */
.sm-home-split{ padding: 42px 0 58px; }
.sm-split{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
  align-items: center;
}
@media (max-width: 992px){ .sm-split{ grid-template-columns:1fr; } }

.sm-split-copy{
  border-radius: 26px;
  padding: 22px;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(20,20,20,.10);
  box-shadow: 0 22px 55px rgba(0,0,0,.08);
}
.sm-feature-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  margin-top: 16px;
}
@media (max-width: 992px){ .sm-feature-grid{ grid-template-columns:1fr; } }
.sm-feature{
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(176,140,87,.18);
}
.sm-feature-title{ font-weight: 900; }
.sm-feature-sub{ color: rgba(20,20,20,.62); margin-top:4px; font-weight:700; }

.sm-split-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }

.sm-split-media .sm-mosaic{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  grid-auto-rows: 160px;
  gap: 12px;
}
.sm-mosaic-tile{
  border-radius: 22px;
  border: 1px solid rgba(20,20,20,.10);
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  box-shadow: 0 18px 45px rgba(0,0,0,.10);
}
.sm-mosaic-tile.a{ grid-row: span 2; }
@media (max-width: 992px){
  .sm-split-media .sm-mosaic{ grid-auto-rows: 140px; }
  .sm-mosaic-tile.a{ grid-row: span 1; }
}

/* Final CTA */
.sm-home-cta{ padding: 0 0 70px; }
.sm-home-cta-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 16px;
  border-radius: 26px;
  padding: 22px;
  border: 1px solid rgba(176,140,87,.28);
  background:
    radial-gradient(900px 320px at 20% 10%, rgba(176,140,87,.18), transparent 60%),
    rgba(255,255,255,.78);
  box-shadow: 0 26px 70px rgba(0,0,0,.10);
}
.sm-home-cta-title{
  font-family:"Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: 1.35rem;
  margin-top: .25rem;
}
@media (max-width: 992px){
  .sm-home-cta-card{ flex-direction:column; align-items:flex-start; }
}


/* make hero truly full-bleed and remove any top gap/strip */
.is-home .sm-hero{
  min-height: 100vh !important;
  height: 100vh !important;
  margin-top: -74px !important;   /* pulls image to the very top (kills the strip) */
  background: #000 !important;
}
@media (max-width: 992px){
  .is-home .sm-hero{ margin-top: -66px !important; }
}

.is-home .sm-hero-media{
  position:absolute !important;
  inset:0 !important;
}

.is-home .sm-hero-slide{
  position:absolute !important;
  inset:0 !important;
  background-size: cover !important;
  background-position: center !important;
}

/* ensure header doesn't paint a background band on home */
.is-home .sm-topnav-wrap{ background: transparent !important; }
.is-home .sm-topnav{ background: transparent !important; box-shadow:none !important; }

/* hide any "Открий ↓" / scroll hint leftovers */
.is-home .sm-scroll,
.is-home .sm-scroll-hint,
.is-home .sm-hero-scroll,
.is-home .sm-hero-scrollhint{
  display:none !important;
}

/* nav phone styling (lux) */
.sm-topnav-phone{
  font-weight: 700 !important;
  letter-spacing: .14em !important;
}

/* footer meta spacing */
.sm-footer-meta{
  opacity: .85;
}
.sm-footer-meta .sm-link{
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* if anything still adds padding, kill it */
.sm-has-topnav{ padding-top:0 !important; }

/* Home must be full-bleed (no container side effects) */
.is-home main{ padding:0 !important; margin:0 !important; }
.is-home .sm-container{ padding:0 !important; margin:0 !important; max-width:none !important; }

/* Nav on home: no bottom border (that "strip") */
.is-home .sm-topnav{ border-bottom: 0 !important; }

/* Hero: full viewport + flush to top */
.is-home .sm-hero{
  min-height: 100vh !important;
  height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100vw !important;
}

/* safety: if hero is inside any wrapper, force it to full-bleed */
.is-home .sm-hero{
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

/* Default pages keep space for sticky nav */
.sm-has-topnav{ padding-top:74px; }
@media (max-width: 992px){ .sm-has-topnav{ padding-top:66px; } }

/* HOME: nav overlays hero, so no top padding */
.is-home.sm-has-topnav{ padding-top:0 !important; }

/* Make header not take space on Home (kills the strip) */
.is-home .sm-topnav-wrap{
  position:absolute !important;
  top:0; left:0; right:0;
  z-index:2000;
}
.is-home .sm-topnav{
  position:absolute !important;
  top:0; left:0; right:0;
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow:none !important;
}

/* Ensure Home content starts at very top */
.is-home main{ margin:0 !important; padding:0 !important; }

/* Force hero full height and full width */
.is-home .sm-hero{
  min-height:100vh !important;
  height:100vh !important;
  width:100vw !important;
  margin:0 !important;
  padding:0 !important;
  position:relative;
  left:50%;
  transform:translateX(-50%);
}

/* Remove any leftover scroll hint */
.is-home .sm-scroll,
.is-home .sm-scroll-hint,
.is-home .sm-hero-scroll,
.is-home .sm-hero-scrollhint{
  display:none !important;
}

/* Phone link style */
.sm-topnav-phone{ font-weight:700; letter-spacing:.14em; }

.sm-la-footer{
  background: #0b1210; /* deep green-black */
  color: rgba(255,255,255,.92);
  position: relative;
  overflow: hidden;
}
.sm-la-grid{
  width: 100%;
  border-top: 2px solid rgba(255,255,255,.20);
  border-bottom: 2px solid rgba(255,255,255,.20);
}

.sm-la-row{ display:grid; }
.sm-la-row-top{
  grid-template-columns: 1fr 1fr;
}
.sm-la-row-mid{
  grid-template-columns: 1fr 1fr 1fr;
}
.sm-la-row-social{
  grid-template-columns: 1fr 1fr;
}
.sm-la-row-bottom{
  grid-template-columns: 1fr 1fr 1fr;
}

.sm-la-cell{
  padding: 34px 38px;
  border-right: 2px solid rgba(255,255,255,.18);
  border-bottom: 2px solid rgba(255,255,255,.18);
}
.sm-la-row-top .sm-la-cell{ border-bottom: 2px solid rgba(255,255,255,.18); }
.sm-la-row-mid .sm-la-cell{ border-bottom: 2px solid rgba(255,255,255,.18); }
.sm-la-row-top .sm-la-cell:last-child,
.sm-la-row-mid .sm-la-cell:last-child{ border-right: 0; }

.sm-la-center{ text-align:center; }

.sm-la-title{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  font-weight: 600;
  letter-spacing: .06em;
  opacity: .95;
}

.sm-la-label{
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .86rem;
  opacity: .72;
  margin-bottom: 10px;
}
.sm-la-value{
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.sm-la-link{
  color: rgba(255,255,255,.95);
  text-decoration: none;
}
.sm-la-link:hover{
  text-decoration: underline;
  text-underline-offset: 4px;
}

.sm-la-row-social a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding: 26px 18px;
  border-right: 2px solid rgba(255,255,255,.18);
  border-bottom: 2px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.92);
  text-decoration:none;
  font-weight: 700;
  letter-spacing: .04em;
}
.sm-la-row-social a:last-child{ border-right:0; }
.sm-la-row-social a:hover{
  background: rgba(255,255,255,.04);
}

.sm-la-ico{
  width:46px; height:46px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border: 2px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.92);
}

.sm-la-bottom-left,
.sm-la-bottom-right{
  padding: 26px 38px;
  display:flex;
  gap:18px;
  align-items:center;
  border-right: 2px solid rgba(255,255,255,.18);
}
.sm-la-bottom-right{
  justify-content:flex-end;
  border-right:0;
  opacity:.9;
}
.sm-la-mini{
  color: rgba(255,255,255,.72);
  text-decoration:none;
  font-weight: 600;
}
.sm-la-mini:hover{ color: rgba(255,255,255,.92); text-decoration:underline; text-underline-offset:4px; }

.sm-la-bottom-center{
  padding: 26px 12px;
  text-align:center;
  border-right: 2px solid rgba(255,255,255,.18);
}
.sm-la-mark{
  width:58px; height:58px;
  margin: 0 auto 10px;
  border-radius: 16px;
  border: 2px solid rgba(255,255,255,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  letter-spacing: .10em;
  background: rgba(255,255,255,.03);
}
.sm-la-brand{
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 700;
  opacity: .92;
}

/* Responsive */
@media (max-width: 992px){
  .sm-la-row-top{ grid-template-columns: 1fr; }
  .sm-la-row-mid{ grid-template-columns: 1fr; }
  .sm-la-row-social{ grid-template-columns: 1fr; }
  .sm-la-row-bottom{ grid-template-columns: 1fr; }

  .sm-la-cell{ border-right:0; }
  .sm-la-row-social a{ border-right:0; }
  .sm-la-bottom-left, .sm-la-bottom-center, .sm-la-bottom-right{
    border-right:0;
    justify-content:center;
    text-align:center;
    flex-wrap:wrap;
  }
}


/* =============================
   SM:CSS_FOOTER_SOCIAL_FINDUS
   ============================= */
.ne-footer{
  margin-top:3rem;
  padding:2.6rem 0 1.3rem;
  border-top:1px solid var(--sm-border);
  background:rgba(255,255,255,.62);
  backdrop-filter: blur(14px);
}
.ne-footer-cols{
  display:grid;
  grid-template-columns: 1.25fr .75fr 1fr .85fr;
  gap:1.6rem;
}
.ne-footer-head{
  font-family:"Playfair Display",Georgia,serif;
  font-weight:700;
  letter-spacing:-.02em;
  margin-bottom:.55rem;
}
.ne-footer-muted{color:var(--sm-muted);line-height:1.6}
.ne-footer-link{
  display:block;
  color:rgba(20,20,20,.82);
  text-decoration:none;
  padding:.18rem 0;
}
.ne-footer-link:hover{color:rgba(20,20,20,1)}
.ne-footer-social{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.65rem}
.ne-footer-pill{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.5rem .85rem;
  border-radius:999px;
  border:1px solid rgba(20,20,20,.14);
  background:rgba(255,255,255,.75);
  color:rgba(20,20,20,.92);
  text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.ne-footer-pill:hover{
  transform:translateY(-1px);
  border-color:rgba(176,140,87,.40);
  box-shadow:0 14px 28px rgba(0,0,0,.08);
}
.ne-pill-ico{opacity:.7}
.ne-footer-bottom{
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  border-top:1px solid var(--sm-border);
  margin-top:1.6rem;padding-top:1rem;
}
.ne-footer-bottom-muted{color:var(--sm-muted)}
@media (max-width: 992px){ .ne-footer-cols{grid-template-columns: 1fr 1fr;} }
@media (max-width: 576px){ .ne-footer-cols{grid-template-columns: 1fr;} }

.sm-home-social{padding:3.2rem 0}
.sm-social-card{
  border:1px solid var(--sm-border);
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(900px 520px at 10% 10%, rgba(176,140,87,.18), transparent 55%),
    radial-gradient(800px 520px at 110% 10%, rgba(0,0,0,.06), transparent 55%),
    rgba(255,255,255,.62);
  backdrop-filter: blur(14px);
  box-shadow:0 18px 46px rgba(0,0,0,.08);
  display:grid;
  grid-template-columns: 1.05fr .95fr;
}
.sm-social-copy{padding:2.2rem}
.sm-social-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.1rem}
.sm-social-pill{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.62rem 1rem;
  border-radius:999px;
  border:1px solid rgba(20,20,20,.14);
  background:rgba(255,255,255,.72);
  text-decoration:none;
  color:rgba(20,20,20,.92);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.sm-social-pill:hover{transform:translateY(-1px);border-color:rgba(176,140,87,.40);box-shadow:0 14px 28px rgba(0,0,0,.08)}
.sm-social-ghost{background:transparent}

.sm-social-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap:10px;
  padding:18px;
}
.sm-social-tile{
  display:block;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background: center/cover no-repeat var(--bg);
  position:relative;
  overflow:hidden;
  min-height:120px;
  box-shadow:0 12px 26px rgba(0,0,0,.10);
  transition:transform .16s ease, filter .16s ease;
}
.sm-social-tile::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.35));
  opacity:.85;
}
.sm-social-tile:hover{transform:translateY(-2px);filter:saturate(1.06)}

.sm-find{padding:0 0 3.6rem}
.sm-find-card{
  border:1px solid var(--sm-border);
  border-radius:24px;
  overflow:hidden;
  background:rgba(255,255,255,.62);
  backdrop-filter: blur(14px);
  box-shadow:0 18px 46px rgba(0,0,0,.08);
  display:grid;
  grid-template-columns: 1.05fr .95fr;
}
.sm-find-copy{padding:2.2rem}
.sm-find-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}
.sm-find-note{margin-top:1.1rem;color:var(--sm-muted);font-size:.95rem}
.sm-find-map{min-height:320px;background:#111}
.sm-find-map iframe{width:100%;height:100%;border:0;min-height:320px;display:block;filter:contrast(1.05) saturate(.95)}
.sm-link{color:inherit;text-decoration:none;border-bottom:1px solid rgba(176,140,87,.45)}
.sm-link:hover{border-bottom-color:rgba(176,140,87,.85)}

@media (max-width: 992px){
  .sm-social-card,.sm-find-card{grid-template-columns:1fr}
  .sm-social-grid{padding:14px}
}

/* =============================
   SM:CSS_ACCOUNT_TILES
   ============================= */
.sm-account-wrap{padding:1.25rem 0 3rem}
.sm-account-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:1rem}
.sm-account-tile{
  display:block;width:100%;text-align:left;
  border-radius:20px;
  border:1px solid rgba(20,20,20,.12);
  background:rgba(255,255,255,.72);
  padding:1.15rem 1.2rem;
  text-decoration:none;
  color:var(--sm-text);
  box-shadow:0 14px 34px rgba(0,0,0,.06);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.sm-account-tile:hover{transform:translateY(-2px);border-color:rgba(176,140,87,.34);box-shadow:0 18px 44px rgba(0,0,0,.08)}
.sm-account-tile .t{font-weight:800;letter-spacing:.02em}
.sm-account-tile .d{margin-top:.35rem;color:var(--sm-muted);line-height:1.5}
.sm-account-danger{background:rgba(255,255,255,.62)}
.sm-account-danger .t{color:#8b1c1c}
@media (max-width: 768px){.sm-account-grid{grid-template-columns:1fr}}

/* =============================
   SM:CSS_ADMIN_DD
   ============================= */
.sm-admin-dd{position:relative;display:inline-flex;align-items:center}
.sm-admin-dd-btn{background:transparent;border:0;cursor:pointer}
.sm-admin-caret{opacity:.75;margin-left:.25rem}
.sm-admin-dd-menu{
  position:absolute;top:calc(100% + 10px);right:0;
  min-width:220px;
  padding:.55rem;
  border-radius:18px;
  border:1px solid rgba(20,20,20,.12);
  background:rgba(255,255,255,.86);
  backdrop-filter: blur(14px);
  box-shadow:0 18px 46px rgba(0,0,0,.10);
  display:none;
}
.sm-admin-dd:hover .sm-admin-dd-menu,
.sm-admin-dd:focus-within .sm-admin-dd-menu{display:block}
.sm-admin-dd-item{
  display:block;
  padding:.6rem .75rem;
  border-radius:14px;
  color:rgba(20,20,20,.92);
  text-decoration:none;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.78rem;
}
.sm-admin-dd-item:hover{background:rgba(176,140,87,.14)}

/* =============================
   SM:CSS_STATS
   ============================= */
.sm-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.sm-stat{
  border:1px solid rgba(20,20,20,.10);
  background:rgba(255,255,255,.72);
  border-radius:20px;
  padding:1.1rem 1.15rem;
  box-shadow:0 14px 34px rgba(0,0,0,.06);
}
.sm-stat .k{color:var(--sm-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem}
.sm-stat .v{margin-top:.55rem;font-weight:900;font-size:1.6rem;letter-spacing:-.02em}
@media (max-width: 992px){.sm-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 576px){.sm-stat-grid{grid-template-columns:1fr;}}

/* =============================
   SM:CSS_ACCOUNT_GRID_SINGLE
   ============================= */
.sm-account-grid-single{grid-template-columns:1fr !important;}


/* =============================
   SM:BRAND_VISIBILITY_V1
   Fix: top-left brand too dark on Home hero
   ============================= */
.is-home .sm-topnav-brand{
  padding: 10px 14px !important;
  border-radius: 16px !important;
  background: rgba(0,0,0,.26) !important;        /* subtle badge */
  border: 1px solid rgba(255,255,255,.20) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}
.is-home .sm-topnav-brand-main{
  color: rgba(255,255,255,.98) !important;
  opacity: 1 !important;
  text-shadow:
    0 14px 30px rgba(0,0,0,.62),
    0 2px 10px rgba(0,0,0,.78),
    0 0 1px rgba(0,0,0,.70) !important;
  letter-spacing: .22em !important;
}
.is-home .sm-topnav-brand-sub{
  color: rgba(255,255,255,.78) !important;
  opacity: 1 !important;
  text-shadow: 0 10px 22px rgba(0,0,0,.55) !important;
}


/* =============================
   SM:TOPNAV_RESPONSIVE_V2
   - Smaller brand (SAN MARCO / PERNIK)
   - Proper mobile reorder (phone friendly)
   ============================= */

/* Brand: smaller + tighter */
.sm-topnav-brand{ gap:12px !important; }
.sm-topnav-brand-main{
  font-size:.92rem !important;
  letter-spacing:.18em !important;
}
.sm-topnav-brand-sub{
  font-size:.80rem !important;
  letter-spacing:.14em !important;
}

/* Home (overlay) badge: still visible but smaller */
.is-home .sm-topnav-brand{
  padding:8px 12px !important;
  border-radius:14px !important;
}
.is-home .sm-topnav-brand-main{ font-size:.92rem !important; }
.is-home .sm-topnav-brand-sub{ font-size:.78rem !important; }

/* New wrappers */
.sm-topnav-links{ display:flex !important; align-items:center !important; }
.sm-topnav-primary{ display:flex; align-items:center; }
.sm-topnav-actions{ display:flex; align-items:center; }

/* Desktop: keep spacing clean */
.sm-topnav-actions{ margin-left: 14px; }
.sm-topnav-actions > *{ display:inline-flex; }
.sm-topnav-actions > * + *{ margin-left: 14px; }

/* PHONE / small screens: stack + reorder */
@media (max-width: 820px){
  .sm-topnav{ height:auto !important; }
  .sm-topnav-inner{
    height:auto !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    padding:10px 0 !important;
  }

  /* Row 1: brand left, actions right */
  .sm-topnav-brand{ order:1; }
  .sm-topnav-links{
    order:2;
    width:100%;
    flex-wrap:wrap !important;
    gap:10px !important;
    padding-top:10px !important;
  }

  /* Primary links row */
  .sm-topnav-primary{
    width:100%;
    flex-wrap:wrap !important;
    gap:10px !important;
  }

  /* Actions row: phone + reserve + user (nicely spaced) */
  .sm-topnav-actions{
    width:100%;
    justify-content:space-between !important;
    gap:10px !important;
    padding-top:6px !important;
  }

  /* Make items more compact */
  .sm-topnav-link{
    padding:0 10px !important;
    letter-spacing:.12em !important;
    font-size:.78rem !important;
  }

  .sm-topnav-cta{
    padding:9px 12px !important;
    letter-spacing:.12em !important;
    font-size:.78rem !important;
    margin-left:0 !important;
  }

  .sm-topnav-user{
    width:36px !important;
    height:36px !important;
    margin-left:0 !important;
  }

  /* Remove separators on wrapped layout (looks ugly otherwise) */
  .sm-topnav-link + .sm-topnav-link,
  .sm-topnav-link + .sm-topnav-cta,
  .sm-topnav-link + .sm-topnav-user,
  .sm-topnav-cta + .sm-topnav-user{
    border-left: none !important;
  }
}


/* =============================
   SM:TOPNAV_MOBILE_POLISH_V1
   Fix mobile header positions (no weird centering)
   - Row 2 becomes scrollable chips
   - Row 3: phone left, CTA + user right
   ============================= */

@media (max-width: 820px){

  .sm-topnav{ height:auto !important; }
  .sm-topnav-inner{ height:auto !important; flex-wrap:wrap !important; gap:10px !important; padding:10px 0 !important; }

  /* BRAND: compact */
  .sm-topnav-brand{ order:1 !important; padding:8px 12px !important; border-radius:14px !important; }
  .sm-topnav-brand-main{ font-size:.86rem !important; letter-spacing:.16em !important; }
  .sm-topnav-brand-sub{ font-size:.74rem !important; letter-spacing:.12em !important; }

  /* Links stack */
  .sm-topnav-links{
    order:2 !important;
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
    padding-top:8px !important;
  }

  /* Row 2: scrollable chips */
  .sm-topnav-primary{
    width:100% !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    padding-bottom:2px !important;
  }
  .sm-topnav-primary::-webkit-scrollbar{ display:none !important; }

  .sm-topnav-primary .sm-topnav-link,
  .sm-topnav-primary .sm-admin-dd{ flex:0 0 auto !important; }

  .sm-topnav-primary .sm-topnav-link{
    white-space:nowrap !important;
    padding:9px 12px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    letter-spacing:.12em !important;
    font-size:.78rem !important;
  }

  /* Row 3: actions stable */
  .sm-topnav-actions{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    padding-top:2px !important;
  }

  .sm-topnav-actions .ne-phone{
    padding:9px 12px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    font-size:.80rem !important;
    letter-spacing:.12em !important;
  }

  /* push CTA + user to right */
  .sm-topnav-actions .sm-topnav-cta{
    margin-left:auto !important;
    padding:10px 14px !important;
    font-size:.80rem !important;
    letter-spacing:.12em !important;
    white-space:nowrap !important;
  }
  .sm-topnav-actions .sm-topnav-user{
    margin-left:0 !important;
    width:38px !important;
    height:38px !important;
    flex:0 0 auto !important;
  }

  /* remove separators */
  .sm-topnav-link + .sm-topnav-link,
  .sm-topnav-link + .sm-topnav-cta,
  .sm-topnav-link + .sm-topnav-user,
  .sm-topnav-cta + .sm-topnav-user{
    border-left:none !important;
  }
}


/* =============================
   SM:TOPNAV_BOOTSTRAP_REORDER_V1
   Mobile: stable 2-row header using Bootstrap wrappers
   Fix: CTA + user grouped right, phone left (no clipping)
   ============================= */

@media (max-width: 820px){
  .sm-topnav{ height:auto !important; }
  .sm-topnav-inner{ height:auto !important; padding:10px 0 !important; }

  /* Make nav stack naturally */
  .sm-topnav-links{
    width:100% !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
    padding-top:8px !important;
  }

  /* Row 1 (chips) */
  .sm-topnav-primary{
    padding-right:8px !important;
  }

  /* Row 2 (actions) */
  .sm-topnav-actions{
    gap:10px !important;
  }

  /* IMPORTANT: remove previous "margin-left:auto" from CTA (it caused the bug) */
  .sm-topnav-actions .sm-topnav-cta{
    margin-left:0 !important;
    white-space:nowrap !important;
  }

  /* Right group holds CTA + user */
  .sm-topnav-right{
    margin-left:auto !important;
    white-space:nowrap !important;
  }

  .sm-topnav-actions .sm-topnav-user{
    flex:0 0 auto !important;
  }
}


/* =============================
   SM:TOPNAV_BOOTSTRAP_FINAL_V1
   Fix: brand/phone overlap + perfect mobile layout
   ============================= */

@media (max-width: 820px){
  .sm-topnav{ height:auto !important; }
  .sm-topnav-inner{ height:auto !important; padding:10px 0 !important; gap:10px !important; }

  /* Row 2 chips */
  .sm-topnav-primary{
    padding-right:10px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .sm-topnav-primary::-webkit-scrollbar{ display:none; }

  .sm-topnav-primary .sm-topnav-link{
    white-space:nowrap !important;
    padding:9px 12px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    letter-spacing:.12em !important;
    font-size:.78rem !important;
  }

  /* Mobile phone row */
  .sm-topnav-phone-mobile{
    justify-content:flex-start !important;
    padding:10px 12px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    letter-spacing:.12em !important;
  }

  /* Remove desktop separators that look wrong on chips */
  .sm-topnav-link + .sm-topnav-link,
  .sm-topnav-link + .sm-topnav-cta,
  .sm-topnav-link + .sm-topnav-user,
  .sm-topnav-cta + .sm-topnav-user{
    border-left:none !important;
  }
}


/* =============================
   SM:TOPNAV_PHONE_PILL_FIX_V1
   Fix: phone becomes ugly full-width bar on small screens
   ============================= */
@media (max-width: 820px){
  .sm-topnav-phone-mobile{
    width: fit-content !important;
    max-width: 100% !important;
    display: inline-flex !important;
    align-self: flex-start !important;
  }

  /* if any global rule forces it to look like a bar, kill it */
  .sm-topnav-phone-mobile.ne-phone{
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 999px !important;
    padding: 10px 12px !important;
    line-height: 1 !important;
  }
}


/* =============================
   SM:TOPNAV_FINAL_BALANCED_V1
   Balanced header: left / center / right + perfect mobile
   ============================= */

.sm-topnav-inner{ padding: 12px 0; }
.sm-topnav-bar{ gap: 16px; }

/* Right group spacing */
.sm-topnav-right{ gap: 12px; }

/* Center nav spacing */
.sm-topnav-desktop-nav{ gap: 18px; }
.sm-topnav-sep{
  opacity:.45;
  padding: 0 4px;
}

/* Brand slightly smaller + cleaner */
.sm-topnav-brand-main{ font-size: .92rem; letter-spacing: .18em; }
.sm-topnav-brand-sub{ font-size: .80rem; letter-spacing: .14em; opacity: .8; }

/* MOBILE */
@media (max-width: 820px){
  .sm-topnav{ height:auto !important; }
  .sm-topnav-inner{ height:auto !important; padding: 10px 0 !important; }

  /* Make top row breathe */
  .sm-topnav-bar{ gap: 10px; }

  /* Mobile nav chips row */
  .sm-topnav-mobile-nav{
    margin-top: 10px;
    padding-right: 10px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .sm-topnav-mobile-nav::-webkit-scrollbar{ display:none; }

  .sm-topnav-mobile-nav .sm-topnav-link{
    white-space: nowrap;
    padding: 9px 12px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    font-size: .78rem !important;
    letter-spacing: .12em !important;
  }

  /* Mobile phone pill (NOT full-width bar) */
  .sm-topnav-mobile-phone{
    margin-top: 10px;
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    padding: 10px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    letter-spacing: .12em;
  }
}


/* =============================
   SM:NAV_FINAL_STABLE_V1
   One nav to rule them all (stable desktop + stable mobile)
   ============================= */

/* Kill old nav experiments (hard override) */
.sm-topnav-wrap .sm-topnav-inner{ display:block; } /* neutralize old flex */
.sm-topnav-wrap .sm-topnav-links,
.sm-topnav-wrap .sm-topnav-primary,
.sm-topnav-wrap .sm-topnav-actions{ all: unset; } /* remove old wrappers if still exist visually */

/* GRID layout */
.sm-topnav-wrap .sm-nav-grid{
  display:grid !important;
  grid-template-columns: auto 1fr auto;
  grid-template-areas: "brand nav actions";
  align-items:center;
  gap:16px;
  padding:12px 0;
}

/* Areas */
.sm-topnav-wrap .sm-nav-brand{ grid-area: brand; }
.sm-topnav-wrap .sm-nav-links{
  grid-area: nav;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-width:0;
}
.sm-topnav-wrap .sm-nav-actions{
  grid-area: actions;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  min-width:0;
}
.sm-topnav-wrap .sm-nav-phone-mobile{ display:none; }

/* Fix blue visited phone */
.sm-topnav-wrap .ne-phone,
.sm-topnav-wrap .ne-phone:visited{
  color: rgba(255,255,255,.86) !important;
  text-decoration:none !important;
}

/* Remove any old left borders that make it ugly */
.sm-topnav-wrap .sm-topnav-link + .sm-topnav-link,
.sm-topnav-wrap .sm-topnav-link + .sm-topnav-cta,
.sm-topnav-wrap .sm-topnav-link + .sm-topnav-user,
.sm-topnav-wrap .sm-topnav-cta + .sm-topnav-user{
  border-left:none !important;
}

/* Brand sizing (clean + readable) */
.sm-topnav-wrap .sm-topnav-brand-main{
  font-size:.92rem !important;
  letter-spacing:.18em !important;
}
.sm-topnav-wrap .sm-topnav-brand-sub{
  font-size:.80rem !important;
  letter-spacing:.14em !important;
  opacity:.82 !important;
}

/* MOBILE */
@media (max-width: 820px){
  .sm-topnav-wrap .sm-topnav{ height:auto !important; }

  .sm-topnav-wrap .sm-nav-grid{
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "brand actions"
      "nav nav"
      "phone phone";
    align-items:center;
    gap:10px;
    padding:10px 0;
  }

  /* Top row: brand left, actions right */
  .sm-topnav-wrap .sm-nav-actions{ justify-content:flex-end; }
  .sm-topnav-wrap .sm-topnav-cta{
    padding:10px 14px !important;
    font-size:.80rem !important;
    letter-spacing:.12em !important;
    white-space:nowrap !important;
  }
  .sm-topnav-wrap .sm-topnav-user{
    width:38px !important;
    height:38px !important;
    flex:0 0 auto !important;
  }

  /* Row 2: chips (scroll, premium) */
  .sm-topnav-wrap .sm-nav-links{
    justify-content:flex-start;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:10px;
    padding-right:10px;
  }
  .sm-topnav-wrap .sm-nav-links::-webkit-scrollbar{ display:none; }

  .sm-topnav-wrap .sm-topnav-sep{ display:none !important; }

  .sm-topnav-wrap .sm-nav-links .sm-topnav-link,
  .sm-topnav-wrap .sm-nav-links .sm-admin-dd-btn{
    white-space:nowrap !important;
    padding:9px 12px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    font-size:.78rem !important;
    letter-spacing:.12em !important;
  }

  /* Row 3: phone pill (NOT full-width bar, just sits on its row) */
  .sm-topnav-wrap .sm-nav-phone-mobile{
    display:inline-flex !important;
    width:fit-content !important;
    max-width:100% !important;
    padding:10px 12px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    letter-spacing:.12em !important;
    text-decoration:none !important;
  }
}


/* =============================
   SM:PIZZA_SIZE_OPTIONS_V1
   Pizza cards: small/large options (no duplicates)
   ============================= */
.sm-pizza-sizes{display:flex;flex-direction:column;gap:.6rem}
.sm-pizza-size-row{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.7rem .85rem;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
}
.sm-pizza-size-label{
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.72rem;
  opacity:.9;
}
.sm-pizza-size-actions{display:flex;align-items:center;gap:.7rem}
.sm-pizza-size-price{font-weight:900}
.sm-pizza-add{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);
  color:rgba(255,255,255,.92);
  border-radius:999px;
  padding:.52rem .9rem;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:.72rem;
}
.sm-pizza-add:hover{
  background:rgba(176,140,87,.18);
  border-color:rgba(176,140,87,.35);
}
@media (max-width: 576px){
  .sm-pizza-size-row{flex-direction:column;align-items:flex-start}
  .sm-pizza-size-actions{width:100%;justify-content:space-between}
}


/* =============================
   SM:PIZZA_SIZE_OPTIONS_V2
   Fix contrast for "Добави" button (was too faint)
   ============================= */
.sm-pizza-add{
  border:1px solid rgba(20,20,20,.14) !important;
  background:rgba(20,20,20,.06) !important;
  color:rgba(20,20,20,.92) !important;
}
.sm-pizza-add:hover{
  background:rgba(176,140,87,.20) !important;
  border-color:rgba(176,140,87,.40) !important;
  color:rgba(20,20,20,.98) !important;
}

/* make size row slightly clearer on light pages */
.sm-pizza-size-row{
  border:1px solid rgba(20,20,20,.10) !important;
  background:rgba(255,255,255,.55) !important;
}

/* ===========================================
   NAVBAR — CLEAN v2
   =========================================== */

/* Inner pages: solid white, clearly visible */
nav.sm-nav {
  background: #fff;
  border-bottom: 1px solid rgba(20,20,20,.12);
  box-shadow: 0 2px 14px rgba(0,0,0,.06);
  z-index: 1050;
  min-height: 64px;
}

/* Home page: transparent dark overlay on hero */
body.is-home nav.sm-nav {
  background: rgba(0,0,0,.32);
  border-bottom: 1px solid rgba(255,255,255,.14);
  box-shadow: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Body offset for fixed nav */
.sm-has-topnav { padding-top: 64px !important; }
.sm-has-topnav.is-home { padding-top: 0 !important; }

/* Brand */
.sm-nav-brand {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  text-decoration: none !important;
  gap: 1px;
}
nav.sm-nav .sm-nav-name {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .05em;
  color: var(--sm-text);
}
nav.sm-nav .sm-nav-city {
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sm-muted);
}
body.is-home nav.sm-nav .sm-nav-name { color: #fff !important; }
body.is-home nav.sm-nav .sm-nav-city { color: rgba(255,255,255,.68) !important; }

/* Nav links — dark on inner pages */
nav.sm-nav .sm-nav-link {
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sm-text) !important;
  padding: .5rem .85rem !important;
  border-radius: 999px;
  transition: background .14s;
}
nav.sm-nav .sm-nav-link:hover {
  background: rgba(20,20,20,.07);
  color: var(--sm-text) !important;
}

/* Nav links — white on home hero */
body.is-home nav.sm-nav .sm-nav-link { color: rgba(255,255,255,.88) !important; }
body.is-home nav.sm-nav .sm-nav-link:hover {
  background: rgba(255,255,255,.12);
  color: #fff !important;
}

/* Admin dropdown */
.sm-nav-dd {
  border: 1px solid var(--sm-border);
  border-radius: 14px;
  box-shadow: var(--sm-shadow);
  overflow: hidden;
  padding: .35rem 0;
  min-width: 150px;
}
.sm-nav-dd .dropdown-item {
  font-size: .85rem;
  padding: .5rem 1rem;
  color: var(--sm-text);
}
.sm-nav-dd .dropdown-item:hover { background: rgba(176,140,87,.10); }

/* Phone */
nav.sm-nav .sm-nav-phone {
  font-size: .80rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--sm-text);
  text-decoration: none;
  white-space: nowrap;
}
nav.sm-nav .sm-nav-phone:hover { color: var(--sm-accent); }
body.is-home nav.sm-nav .sm-nav-phone { color: rgba(255,255,255,.82) !important; }

/* CTA button */
.sm-nav-cta {
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .10em;
  text-transform: uppercase;
  padding: .48rem 1.1rem;
  border-radius: 999px;
  border: 1px solid var(--sm-accent);
  background: linear-gradient(180deg, #b08c57, #96733f);
  color: #fff !important;
  text-decoration: none;
  white-space: nowrap;
  transition: filter .14s, transform .14s;
}
.sm-nav-cta:hover { filter: brightness(.9); transform: translateY(-1px); }

/* User icon */
nav.sm-nav .sm-nav-user {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(20,20,20,.18);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--sm-muted);
  flex-shrink: 0;
  transition: border-color .14s, color .14s;
}
nav.sm-nav .sm-nav-user:hover { border-color: var(--sm-accent); color: var(--sm-text); }
body.is-home nav.sm-nav .sm-nav-user {
  border-color: rgba(255,255,255,.32);
  color: rgba(255,255,255,.82);
}

/* Hamburger + mobile menu: moved to MOBILE NAV block at end of file */

/* ===========================================
   CONTACT PAGE — dark theme + full-bleed
   =========================================== */

/* Remove body top padding so hero goes behind nav */
body.is-contact.sm-has-topnav { padding-top: 0 !important; }

/* Nav: dark transparent, same as home hero */
body.is-contact nav.sm-nav {
  background: rgba(0,0,0,.32);
  border-bottom: 1px solid rgba(255,255,255,.14);
  box-shadow: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.is-contact nav.sm-nav .sm-nav-name { color: #fff !important; }
body.is-contact nav.sm-nav .sm-nav-city { color: rgba(255,255,255,.68) !important; }
body.is-contact nav.sm-nav .sm-nav-link { color: rgba(255,255,255,.88) !important; }
body.is-contact nav.sm-nav .sm-nav-link:hover {
  background: rgba(255,255,255,.12);
  color: #fff !important;
}
body.is-contact nav.sm-nav .sm-nav-phone { color: rgba(255,255,255,.82) !important; }
body.is-contact nav.sm-nav .sm-nav-user {
  border-color: rgba(255,255,255,.32);
  color: rgba(255,255,255,.82);
}
/* Contact toggler + mobile menu: moved to MOBILE NAV block at end of file */

/* Contact map section */
.sm-c-map-section {
  width: 100%;
  height: 380px;
  margin-top: 0;
}
.sm-c-map-section iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  filter: contrast(1.05) saturate(.90) brightness(.92);
}
@media (max-width: 576px) {
  .sm-c-map-section { height: 260px; }
}

/* ===========================================
   HOME — tab title / missing
   =========================================== */

/* Home hero lead: better line length on mobile */
@media (max-width: 576px) {
  .sm-hero-lead { font-size: .95rem; }
  .sm-home-h2 { font-size: 1.55rem; }
  .sm-home-cta-title { font-size: 1.15rem; }
  .sm-social-copy, .sm-find-copy { padding: 1.4rem; }
}

/* ===========================================
   NAVBAR — Final targeted fixes
   =========================================== */

/* ---- Brand: stable column layout, no Bootstrap bleed ---- */
nav.sm-nav .sm-nav-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  line-height: 1.25 !important;
  gap: 0 !important;
  white-space: nowrap;
  min-width: 0;
}
nav.sm-nav .sm-nav-name {
  display: block !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  color: #141414 !important; /* hardcoded — var(--sm-text) bleeds white from :root override at line ~1271 */
}
nav.sm-nav .sm-nav-city {
  display: block !important;
  font-size: .65rem !important;
  font-weight: 500 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: rgba(20,20,20,.55) !important; /* hardcoded — same reason */
}
body.is-home nav.sm-nav .sm-nav-name,
body.is-contact nav.sm-nav .sm-nav-name { color: #fff !important; }
body.is-home nav.sm-nav .sm-nav-city,
body.is-contact nav.sm-nav .sm-nav-city { color: rgba(255,255,255,.62) !important; }

/* ---- Nav links: fully readable on dark hero ---- */
body.is-home nav.sm-nav .sm-nav-link,
body.is-contact nav.sm-nav .sm-nav-link {
  color: #fff !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}
body.is-home nav.sm-nav .sm-nav-link:hover,
body.is-contact nav.sm-nav .sm-nav-link:hover {
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
}

/* ---- Kill Bootstrap focus rings on all nav interactive elements ---- */
nav.sm-nav .sm-nav-link:focus,
nav.sm-nav .sm-nav-link:focus-visible,
nav.sm-nav .dropdown-toggle:focus,
nav.sm-nav .dropdown-toggle:focus-visible,
nav.sm-nav .sm-nav-user:focus,
nav.sm-nav .sm-nav-user:focus-visible,
nav.sm-nav .sm-nav-cta:focus,
nav.sm-nav .sm-nav-cta:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* ---- Admin dropdown: override Bootstrap CSS variables at source ---- */
nav.sm-nav ul.sm-nav-dd {
  /* Override BS5 CSS variables so all BS-computed properties are correct */
  --bs-dropdown-min-width: 0px;
  --bs-dropdown-font-size: .84rem;
  --bs-dropdown-bg: #fff;
  --bs-dropdown-border-color: rgba(20,20,20,.10);
  --bs-dropdown-border-radius: 14px;
  --bs-dropdown-border-width: 1px;
  --bs-dropdown-box-shadow: 0 14px 36px rgba(0,0,0,.13), 0 2px 6px rgba(0,0,0,.06);
  --bs-dropdown-link-color: #141414;
  --bs-dropdown-link-hover-color: #141414;
  --bs-dropdown-link-hover-bg: rgba(176,140,87,.10);
  --bs-dropdown-link-active-color: #141414;
  --bs-dropdown-link-active-bg: rgba(176,140,87,.18);
  --bs-dropdown-item-padding-x: 1.1rem;
  --bs-dropdown-item-padding-y: .5rem;
  --bs-dropdown-padding-y: .4rem;

  /* Direct properties as backup */
  min-width: max-content !important;
  width: max-content !important;
  background: #fff !important;
  border: 1px solid rgba(20,20,20,.10) !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.13), 0 2px 6px rgba(0,0,0,.06) !important;
  padding: .4rem 0 !important;
  overflow: hidden !important;
}

nav.sm-nav ul.sm-nav-dd .dropdown-item {
  font-size: .84rem !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  color: #141414 !important;
  padding: .5rem 1.1rem !important;
  white-space: nowrap !important;
  background: transparent !important;
  transition: background .11s ease !important;
}
nav.sm-nav ul.sm-nav-dd .dropdown-item:hover {
  background: rgba(176,140,87,.10) !important;
  color: #141414 !important;
}
nav.sm-nav ul.sm-nav-dd .dropdown-item:active,
nav.sm-nav ul.sm-nav-dd .dropdown-item.active {
  background: rgba(176,140,87,.18) !important;
  color: #141414 !important;
}
nav.sm-nav ul.sm-nav-dd .dropdown-item:focus,
nav.sm-nav ul.sm-nav-dd .dropdown-item:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  background: rgba(176,140,87,.08) !important;
}

/* Dropdown caret: subtle */
nav.sm-nav .dropdown-toggle::after {
  opacity: .5;
  margin-left: .35em;
  vertical-align: .12em;
}
body.is-home nav.sm-nav .dropdown-toggle::after,
body.is-contact nav.sm-nav .dropdown-toggle::after { opacity: .75; }

/* ---- CONTRAST FIX: inner-page nav (Menu and all non-home/contact pages) ---- */
/* Bootstrap sets .navbar .nav-link { opacity:.9 } — override to fully opaque */
nav.sm-nav .sm-nav-link {
  opacity: 1 !important;
  font-weight: 600 !important;
  color: #141414 !important;
}
nav.sm-nav .sm-nav-link:hover {
  opacity: 1 !important;
  color: #141414 !important;
}
/* Dropdown toggle (Админ) same weight + opacity */
nav.sm-nav .dropdown-toggle {
  opacity: 1 !important;
  font-weight: 600 !important;
  color: #141414 !important;
}
/* Dropdown caret: more visible on inner pages */
nav.sm-nav .dropdown-toggle::after { opacity: .65; }

/* User icon: full-strength color on inner pages (not muted gray) */
nav.sm-nav .sm-nav-user {
  color: #141414 !important;
  border-color: rgba(20,20,20,.28) !important;
}
nav.sm-nav .sm-nav-user:hover {
  color: var(--sm-accent) !important;
  border-color: var(--sm-accent) !important;
}

/* Restore home/contact overrides (must come after the rules above) */
body.is-home nav.sm-nav .sm-nav-link,
body.is-contact nav.sm-nav .sm-nav-link {
  color: #fff !important;
  font-weight: 600 !important;
}
body.is-home nav.sm-nav .dropdown-toggle,
body.is-contact nav.sm-nav .dropdown-toggle {
  color: #fff !important;
}
body.is-home nav.sm-nav .sm-nav-user,
body.is-contact nav.sm-nav .sm-nav-user {
  color: rgba(255,255,255,.88) !important;
  border-color: rgba(255,255,255,.38) !important;
}
body.is-home nav.sm-nav .sm-nav-user:hover,
body.is-contact nav.sm-nav .sm-nav-user:hover {
  color: #fff !important;
  border-color: rgba(255,255,255,.75) !important;
}

/* ============================================================
   MOBILE NAV — hamburger fix + open-menu polish
   ============================================================ */

/*
  ROOT CAUSE FIX:
  Bootstrap 5 only defines --bs-navbar-toggler-icon-bg inside .navbar-light
  and .navbar-dark. Our nav has neither class, so the toggler icon SVG is
  undefined → invisible on every page. The old filter:brightness(10) trick
  was a workaround that only works if an icon exists to filter.
  Solution: explicitly set --bs-navbar-toggler-icon-bg on the nav element.
*/

/* Inner pages (white nav) — dark hamburger lines */
nav.sm-nav {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2820%2c20%2c20%2c0.82%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Home + Contact (dark blurred nav) — white hamburger lines */
body.is-home nav.sm-nav,
body.is-contact nav.sm-nav {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2c255%2c255%2c0.92%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Remove the old filter:brightness hacks — no longer needed */
body.is-home .sm-nav .navbar-toggler-icon,
body.is-contact .sm-nav .navbar-toggler-icon { filter: none !important; }

/* ---- Toggler button: all states ---- */
nav.sm-nav .sm-nav-toggler {
  width: 42px;
  height: 42px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px !important;
  border: 1.5px solid rgba(20,20,20,.22) !important;
  background: transparent;
  transition: background .14s, border-color .14s;
  flex-shrink: 0;
}
nav.sm-nav .sm-nav-toggler:hover {
  background: rgba(20,20,20,.07) !important;
  border-color: rgba(20,20,20,.38) !important;
}
nav.sm-nav .sm-nav-toggler:focus,
nav.sm-nav .sm-nav-toggler:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border-color: var(--sm-accent) !important;
}
nav.sm-nav .sm-nav-toggler[aria-expanded="true"] {
  background: rgba(20,20,20,.08) !important;
  border-color: rgba(20,20,20,.34) !important;
}

/* Home/Contact: toggler on dark nav */
body.is-home nav.sm-nav .sm-nav-toggler,
body.is-contact nav.sm-nav .sm-nav-toggler {
  border-color: rgba(255,255,255,.42) !important;
}
body.is-home nav.sm-nav .sm-nav-toggler:hover,
body.is-contact nav.sm-nav .sm-nav-toggler:hover {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.70) !important;
}
body.is-home nav.sm-nav .sm-nav-toggler[aria-expanded="true"],
body.is-contact nav.sm-nav .sm-nav-toggler[aria-expanded="true"] {
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.60) !important;
}

/* ---- Mobile open menu ---- */
@media (max-width: 991px) {

  /* Collapse panel */
  nav.sm-nav .navbar-collapse {
    background: #fff;
    border-top: 1px solid rgba(20,20,20,.09);
    border-radius: 0 0 16px 16px;
    box-shadow: 0 10px 28px rgba(0,0,0,.10);
    padding: .6rem 0 1.1rem;
  }

  /* Nav links: proper tap targets (min 44px) */
  nav.sm-nav .navbar-nav {
    padding: 0 .5rem;
    gap: .1rem;
  }
  nav.sm-nav .sm-nav-link {
    min-height: 44px !important;
    padding: .65rem 1rem !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center;
    font-size: .83rem;
    font-weight: 600 !important;
    color: #141414 !important;
    opacity: 1 !important;
  }
  nav.sm-nav .sm-nav-link:hover {
    background: rgba(20,20,20,.06) !important;
    color: #141414 !important;
  }

  /* Right section (phone + CTA + user) */
  .sm-nav-right {
    padding: .85rem 1rem 0;
    border-top: 1px solid rgba(20,20,20,.09);
    gap: .65rem !important;
    flex-wrap: wrap;
  }
  .sm-nav-right .sm-nav-cta {
    flex: 1;
    text-align: center;
  }
  nav.sm-nav .sm-nav-phone {
    display: inline !important;
    color: var(--sm-text);
  }

  /* HOME — dark open menu */
  body.is-home nav.sm-nav .navbar-collapse {
    background: rgba(12,12,12,.97);
    border-top: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 10px 28px rgba(0,0,0,.35);
  }
  body.is-home nav.sm-nav .sm-nav-link {
    color: rgba(255,255,255,.90) !important;
  }
  body.is-home nav.sm-nav .sm-nav-link:hover {
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
  }
  body.is-home .sm-nav-right {
    border-top-color: rgba(255,255,255,.10);
  }

  /* CONTACT — dark open menu */
  body.is-contact nav.sm-nav .navbar-collapse {
    background: rgba(7,20,13,.98) !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.35) !important;
  }
  body.is-contact nav.sm-nav .sm-nav-link {
    color: rgba(255,255,255,.90) !important;
  }
  body.is-contact nav.sm-nav .sm-nav-link:hover {
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
  }
  body.is-contact .sm-nav-right {
    border-top-color: rgba(255,255,255,.10) !important;
  }
}
