/* ============================================================
   TASTY.LEBANON — section layouts
   One block per page section, in document order.
   ============================================================ */

/* ---------- HERO ---------- */
.hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;
  color:#fff;overflow:hidden;background:var(--ink);
}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.08);animation:heroDrift 24s ease-in-out infinite alternate}
@keyframes heroDrift{from{transform:scale(1.08) translateY(0)}to{transform:scale(1.14) translateY(-2.5%)}}
.hero-veil{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(20,17,13,.55) 0%,rgba(20,17,13,.18) 40%,rgba(20,17,13,.88) 92%)}
.hero-inner{position:relative;z-index:2;padding:120px 5vw 90px;max-width:1200px}
.hero-kicker{
  display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500;letter-spacing:.08em;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(10px);padding:9px 16px;border-radius:999px;margin-bottom:26px;
}
.hero h1{
  font-family:var(--disp);font-weight:800;
  font-size:clamp(42px,8vw,104px);
  line-height:.95;letter-spacing:-.03em;text-transform:uppercase;
}
.hero h1 .num{color:var(--cheddar)}
.rotator{display:inline-block;min-width:5.2em;color:var(--cheddar);position:relative}
.rotator span{display:inline-block;animation:wordIn .3s cubic-bezier(.2,.9,.3,1.2)}
@keyframes wordIn{from{opacity:0;transform:translateY(.5em) rotate(3deg)}to{opacity:1;transform:none}}
.hero-sub{
  margin-top:24px;font-size:clamp(15px,1.6vw,19px);max-width:560px;line-height:1.55;color:rgba(255,255,255,.85);
}
.hero-ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero-stats{display:flex;gap:clamp(18px,4vw,54px);margin-top:40px;flex-wrap:wrap}
.stat .v{font-family:var(--disp);font-weight:800;font-size:clamp(26px,3.4vw,44px);letter-spacing:-.02em}
.stat .l{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:2px}

/* ---------- TODAY'S BITE ---------- */
.today-card{
  display:grid;grid-template-columns:1.05fr 1fr;background:var(--ink);color:var(--cream);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);min-height:480px;
}
.today-media{position:relative;min-height:340px}
.today-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.today-badge{
  position:absolute;top:20px;left:20px;z-index:2;
  background:var(--tomato);color:#fff;font-family:var(--disp);font-weight:800;
  font-size:13px;letter-spacing:.14em;padding:10px 16px;border-radius:8px;
  animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{0%,100%{transform:none}50%{transform:scale(1.06) rotate(-1.5deg)}}
.today-body{padding:clamp(28px,3.6vw,54px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.today-date{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--cheddar);font-weight:700}
.today-body h3{font-family:var(--disp);font-weight:800;font-size:clamp(26px,3vw,40px);line-height:1.05;letter-spacing:-.02em}
.today-meta{display:flex;gap:10px;flex-wrap:wrap}
.today-body p{line-height:1.65;color:rgba(248,241,228,.82);font-size:16px}
.caps-rating{font-size:20px;letter-spacing:4px}
.today-actions{display:flex;gap:12px;margin-top:6px;flex-wrap:wrap}
.today-actions .btn-ghost{border-color:rgba(248,241,228,.3)}
.bite-count{font-size:13px;color:rgba(248,241,228,.55)}
@media(max-width:840px){.today-card{grid-template-columns:1fr}}

/* ---------- FEED ---------- */
.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}

/* ---------- TASTE MAP ---------- */
.map-wrap{background:var(--ink);border-radius:var(--r-lg);padding:clamp(30px,4.5vw,64px);color:var(--cream)}
.map-wrap .sec-head h2{color:var(--cream)}
.map-wrap .sec-head p{color:rgba(248,241,228,.7)}
.map-wrap .sec-tag{background:var(--cheddar);color:var(--ink)}
.regions{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.region{
  border:1.5px solid rgba(248,241,228,.18);border-radius:var(--r-md);padding:24px;
  transition:all .25s;position:relative;overflow:hidden;
}
.region:hover{border-color:var(--cheddar);transform:translateY(-4px);background:rgba(255,184,36,.06)}
.region .emoji{font-size:30px;margin-bottom:12px;display:block}
.region h4{font-family:var(--disp);font-weight:800;font-size:21px;letter-spacing:-.01em}
.region .spec{color:var(--cheddar);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:6px 0 10px}
.region p{font-size:14px;line-height:1.55;color:rgba(248,241,228,.72)}

/* ---------- FOODIE 101 ---------- */
.gloss{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.term{
  background:var(--paper);border:2px solid var(--ink);border-radius:var(--r-md);padding:24px;
  transition:transform .2s;position:relative;
}
.term:hover{transform:translateY(-4px) rotate(.5deg)}
.term:nth-child(4n+1):hover{box-shadow:6px 6px 0 var(--cheddar)}
.term:nth-child(4n+2):hover{box-shadow:6px 6px 0 var(--tomato)}
.term:nth-child(4n+3):hover{box-shadow:6px 6px 0 var(--sea)}
.term:nth-child(4n+4):hover{box-shadow:6px 6px 0 var(--acai)}
.term .ar-word{font-family:var(--ar);font-size:26px;position:absolute;top:18px;right:20px;opacity:.32}
.term h4{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:-.01em}
.term .say{font-size:12.5px;color:var(--tomato);font-weight:700;letter-spacing:.06em;margin:4px 0 10px}
.term p{font-size:14.5px;line-height:1.6;color:rgba(20,17,13,.75)}

/* ---------- SPOTLIGHTS ---------- */
.section-bleed{max-width:none;padding-left:0;padding-right:0}
.section-bleed > .bleed-inner{max-width:1280px;margin:0 auto;padding:0 5vw}
.spot-scroll{
  display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:10px 5vw 26px;margin:0 -5vw;
  scrollbar-width:none;
}
.spot-scroll::-webkit-scrollbar{display:none}

/* ---------- BUSINESS COLLAB ---------- */
.collab-card{
  display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(26px,4vw,60px);
  background:var(--paper);border:2.5px solid var(--ink);border-radius:var(--r-lg);
  padding:clamp(30px,4.5vw,64px);box-shadow:10px 10px 0 var(--cheddar);
}
.collab-copy .sec-tag{background:var(--tomato);color:#fff}
.collab-copy h2{
  font-family:var(--disp);font-weight:800;font-size:clamp(30px,4.6vw,56px);
  letter-spacing:-.025em;line-height:1.02;text-transform:uppercase;margin-bottom:16px;
}
.collab-copy p{font-size:16.5px;line-height:1.65;color:rgba(20,17,13,.75);max-width:520px}
.collab-chips{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 26px}
.cchip{
  font-size:13.5px;font-weight:700;padding:9px 16px;border-radius:999px;
  border:2px solid var(--ink);background:var(--cream);
}
.collab-note{margin-top:18px;font-size:13.5px;color:rgba(20,17,13,.55)}
.collab-stats{
  display:flex;flex-direction:column;gap:14px;justify-content:center;
  border-left:2px dashed var(--line);padding-left:clamp(20px,3vw,44px);
}
.cstat .v{font-family:var(--disp);font-weight:800;font-size:clamp(34px,4vw,52px);letter-spacing:-.02em;color:var(--tomato)}
.cstat .l{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:rgba(20,17,13,.6)}
@media(max-width:840px){
  .collab-card{grid-template-columns:1fr}
  .collab-stats{border-left:none;padding-left:0;border-top:2px dashed var(--line);padding-top:22px;flex-direction:row;gap:30px;flex-wrap:wrap}
}

/* ---------- FOLLOW ---------- */
.follow{
  background:linear-gradient(135deg,var(--tomato),var(--acai) 130%);
  border-radius:var(--r-lg);padding:clamp(40px,6vw,90px);text-align:center;color:#fff;
  position:relative;overflow:hidden;
}
.follow::before{
  content:"🧢";position:absolute;font-size:280px;opacity:.1;right:-40px;top:-60px;transform:rotate(18deg);
}
.follow .cap-line{font-family:var(--ar);font-size:clamp(24px,3vw,36px);opacity:.95;margin-bottom:10px}
.follow h2{
  font-family:var(--disp);font-weight:800;font-size:clamp(34px,6vw,72px);
  text-transform:uppercase;letter-spacing:-.02em;line-height:.98;
}
.follow p{margin:20px auto 0;max-width:520px;font-size:16.5px;line-height:1.6;opacity:.92}
.follow .btn-solid{background:#fff;color:var(--ink);box-shadow:0 10px 30px -8px rgba(0,0,0,.4)}
.follow .hero-ctas{justify-content:center}
.follow .mail{display:block;margin-top:26px;font-size:14px;opacity:.85;text-decoration:none}
.follow .mail:hover{text-decoration:underline}

/* ---------- FOOTER ---------- */
footer{
  background:var(--ink);color:rgba(248,241,228,.65);padding:46px 5vw;
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font-size:13.5px;
}
footer .cap-badge{font-size:11px}
footer .nav-logo{text-decoration:none}
footer .nav-logo img{width:26px;height:26px}
footer .nav-logo small{color:rgba(248,241,228,.65)}
footer a{color:var(--cheddar);text-decoration:none}
footer a:hover{text-decoration:underline}
