:root{
  --paper:#EFF2F0;
  --tile:#FFFFFF;
  --ink:#12312F;
  --ink-soft:#5C7A77;
  --hair:#DCE3E0;
  --accent:#0E9B9B;
  --accent-soft:#26C6C6;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',system-ui,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.lt-display{font-family:'Bricolage Grotesque','Inter',sans-serif;}
.lt-shell{max-width:1120px;margin:0 auto;padding:0 28px;}

/* ---------- TOP BAR ---------- */
.lt-top{
  border-bottom:1px solid var(--hair);
  background:rgba(239,242,240,0.88);
  backdrop-filter:blur(8px);
  position:sticky;top:0;z-index:30;
}
.lt-top-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:62px;
}
.lt-mark{display:flex;align-items:center;gap:9px;}
.lt-mark img{height:38px;width:auto;display:block;}
.lt-top-actions{display:flex;align-items:center;gap:22px;}
.lt-top-actions a{
  color:var(--ink-soft);text-decoration:none;
  font-size:14px;font-weight:500;
}
.lt-top-actions a:hover{color:var(--ink);}
.lt-top-actions a.lt-wa{
  color:#FFFFFF;background:var(--ink);
  padding:9px 17px;border-radius:8px;font-weight:600;
}
.lt-top-actions a.lt-wa:hover{background:#0A2422;color:#FFFFFF;}

/* ---------- HERO ---------- */
.lt-hero{
  padding:76px 0 40px;
  position:relative;
  overflow:hidden;
}
.lt-hero::after{
  content:"";
  position:absolute;inset:0;
  background:repeating-linear-gradient(
    180deg,
    rgba(18,49,47,0.045) 0px,
    rgba(18,49,47,0.045) 1px,
    transparent 1px,
    transparent 7px
  );
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 55%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 55%,transparent 100%);
  pointer-events:none;
}
.lt-hero-inner{position:relative;z-index:1;max-width:640px;}
.lt-hero h1{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(38px,5.4vw,60px);
  font-weight:700;
  line-height:1.02;
  letter-spacing:-0.03em;
  margin-bottom:18px;
}
.lt-hero p{
  font-size:16.5px;
  color:var(--ink-soft);
  max-width:460px;
  line-height:1.55;
}
.lt-count{
  display:inline-flex;align-items:center;gap:9px;
  margin-top:30px;
  font-size:13.5px;font-weight:500;
  color:var(--ink);
  background:var(--tile);
  border:1px solid var(--hair);
  padding:8px 15px;border-radius:999px;
}
.lt-count i{
  width:7px;height:7px;border-radius:50%;
  background:var(--accent-soft);
  box-shadow:0 0 0 3px rgba(38,198,198,0.22);
  display:block;
}

/* ---------- PRODUCTS ---------- */
.lt-products{padding:26px 0 80px;}
.lt-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(232px,1fr));
  gap:34px 26px;
}
.lt-item{display:flex;flex-direction:column;}
.lt-photo{
  aspect-ratio:1/1;
  border-radius:16px;
  background:var(--tile);
  box-shadow:0 14px 26px -16px rgba(18,49,47,0.34);
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;color:rgba(18,49,47,0.28);
  transition:transform .22s ease, box-shadow .22s ease;
}
.lt-item:hover .lt-photo{
  transform:translateY(-4px);
  box-shadow:0 22px 34px -18px rgba(18,49,47,0.42);
}
.lt-photo img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
.lt-info{padding:15px 2px 0;}
.lt-name{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:16px;font-weight:600;
  letter-spacing:-0.012em;
  line-height:1.25;
  margin-bottom:6px;
}
.lt-desc{
  font-size:13.5px;color:var(--ink-soft);line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin-bottom:9px;
}
.lt-meta{
  display:flex;align-items:center;gap:9px;
  font-size:12.5px;color:var(--ink-soft);
  margin-bottom:14px;
}
.lt-meta i{
  width:6px;height:6px;border-radius:50%;
  background:var(--accent-soft);display:block;flex:none;
}
.lt-meta em{font-style:normal;opacity:0.45;}
.lt-reserve{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:100%;
  background:transparent;
  color:var(--ink);
  border:1.5px solid var(--ink);
  font-family:'Inter',sans-serif;
  font-size:13.5px;font-weight:600;
  padding:10px 14px;border-radius:9px;
  text-decoration:none;
  transition:background .16s ease,color .16s ease;
}
.lt-reserve svg{width:15px;height:15px;flex:none;}
.lt-reserve:hover{background:var(--ink);color:#FFFFFF;}

/* ---------- EMPTY STATE ---------- */
.lt-empty{
  font-size:15px;
  color:var(--ink-soft);
  max-width:420px;
  margin:0 auto 22px;
  text-align:center;
  line-height:1.55;
}
.lt-empty-actions{
  display:flex;
  justify-content:center;
}
.lt-empty-actions .lt-reserve{
  width:auto;
  padding:10px 20px;
}

/* ---------- FOOTER ---------- */
.lt-foot{
  background:var(--ink);
  color:#DCE9E7;
  padding:56px 0 34px;
}
.lt-foot-top{
  display:flex;flex-wrap:wrap;gap:34px;
  justify-content:space-between;align-items:flex-start;
  padding-bottom:32px;
  border-bottom:1px solid rgba(255,255,255,0.11);
}
.lt-foot h2{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:26px;font-weight:600;letter-spacing:-0.02em;
  color:#FFFFFF;margin-bottom:7px;
}
.lt-foot-top p{font-size:14.5px;color:#9FBCB9;max-width:320px;}
.lt-contacts{display:flex;flex-direction:column;gap:13px;}
.lt-contacts a{
  display:flex;align-items:center;gap:11px;
  color:#DCE9E7;text-decoration:none;font-size:14.5px;font-weight:500;
}
.lt-contacts a svg{width:17px;height:17px;color:var(--accent-soft);flex:none;}
.lt-contacts a:hover{color:#FFFFFF;}
.lt-foot-bottom{
  padding-top:22px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  font-size:12.5px;color:#7C9C99;
}

@media (max-width:640px){
  .lt-shell{padding:0 20px;}
  .lt-hero{padding:52px 0 32px;}
  .lt-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:26px 16px;}
  .lt-top-actions a:not(.lt-wa){display:none;}
}

/* Foco visível de teclado */
.lt-top-actions a:focus-visible,
.lt-reserve:focus-visible,
.lt-contacts a:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
