/* ==========================================================================
   Ranedo Rezerwacje — home page. Hero structure and type scale follow the
   restaurant home (restauracja: assets/ranedo/pages/home.css, revision 3);
   instead of the restaurant photo the hero shows an illustrative booking
   calendar built in HTML/CSS (sample data, not a screenshot).
   ========================================================================== */
.hero{position:relative;isolation:isolate;color:#fff;overflow:hidden;background:radial-gradient(90% 120% at 85% 10%,#0b3564 0%,#012348 48%,#06142a 100%)}
.hero::after{content:'';position:absolute;inset:auto -10% -40% 40%;height:70%;background:radial-gradient(closest-side,#fbbf2422,transparent);z-index:-1}
.hero-inner{min-height:min(860px,100svh);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;padding-top:calc(var(--header-h) + 64px);padding-bottom:84px}
.hero-copy{max-width:640px}
.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid #ffffff26;border-radius:30px;background:#ffffff16;font-size:10px;letter-spacing:.18em;margin-bottom:30px;color:#f0eee2}
.hero .eyebrow span{width:7px;height:7px;border-radius:50%;background:var(--yellow)}
.hero h1{font-size:clamp(40px,4.9vw,64px);line-height:1.08;letter-spacing:-.03em;font-weight:600}
.hero-accent{color:#fbbf24;background:linear-gradient(to right,#fbbf248c,#fbbf2426) 0 88% / 100% .14em no-repeat}
.hero-lead{font-size:18px;line-height:1.7;color:#ffffffbf;max-width:560px;margin-top:26px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:36px}
.hero-actions .button{padding:17px 30px;min-height:58px;font-size:15px}
.hero-note{margin-top:18px;font-size:12px;color:#ffffffa6;max-width:520px}

/* Illustrative calendar. */
.cal{background:#fff;color:var(--ink);border-radius:20px;box-shadow:0 40px 80px -30px #00000080;overflow:hidden;font-size:12px}
.cal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #e7ebee}
.cal-top strong{font-size:15px;letter-spacing:-.02em}
.cal-top span{color:var(--muted)}
.cal-grid{display:grid;grid-template-columns:44px repeat(3,minmax(0,1fr));position:relative}
.cal-head{padding:10px 8px;border-bottom:1px solid #eef1f3;font-weight:600;font-size:11px;color:#4f606d;display:flex;align-items:center;gap:6px;min-width:0}
.cal-head i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:10px;flex:none}
.cal-times{display:grid;grid-template-rows:repeat(6,52px);color:#8a96a0;font-size:10px}
.cal-times span{padding:4px 6px;border-top:1px solid #f1f3f5}
.cal-col{display:grid;grid-template-rows:repeat(12,26px);border-left:1px solid #f1f3f5;padding:0 4px;background:repeating-linear-gradient(to bottom,transparent 0 51px,#f1f3f5 51px 52px)}
.cal-ev{border-radius:8px;padding:5px 7px;font-size:10px;line-height:1.3;overflow:hidden;min-width:0;margin:2px 0}
.cal-ev b{display:block;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-ev span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.ev-a{background:#fff4cf;color:#5e4700;border-left:3px solid #fbbf24}
.ev-b{background:#e6eef7;color:#0b3564;border-left:3px solid #347aba}
.ev-c{background:#e7f0e8;color:#2f5b37;border-left:3px solid #4d9a5b}
.ev-gap{background:repeating-linear-gradient(135deg,#f5f6f7 0 6px,#fff 6px 12px);color:#6f7982;border:1px dashed #cfd8df}
.cal-foot{display:flex;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid #e7ebee;background:#fafbfc;color:#4f606d}
.cal-foot .icon{width:18px;height:18px;color:#2f6b3a;flex:none}
.hero-figure{position:relative}
.hero-toast{position:absolute;left:-28px;bottom:-22px;display:flex;gap:12px;align-items:center;background:#fff;color:var(--ink);border-radius:14px;padding:12px 16px;box-shadow:0 20px 40px -18px #00000080;font-size:12px;max-width:270px}
.hero-toast .card-icon{width:34px;height:34px;margin:0;border-radius:10px}
.hero-toast strong{display:block;font-size:13px}

/* Proof strip under the hero. */
.proof{background:#fff;border-bottom:1px solid #e7eaed}
.proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:30px 0;margin:0}
.proof-grid div{display:flex;flex-direction:column;gap:2px}
.proof-grid dt{font-size:22px;font-weight:600;letter-spacing:-.03em;color:var(--navy)}
.proof-grid dd{margin:0;font-size:12px;color:var(--muted)}

@media(max-width:1100px){
  .hero-inner{grid-template-columns:1fr;gap:48px}
  .hero-figure{max-width:560px}
}
@media(max-width:640px){
  .hero-inner{padding-top:calc(var(--header-h) + 40px);padding-bottom:56px;gap:40px}
  .hero h1{font-size:clamp(34px,9.4vw,46px);line-height:1.12}
  .hero .eyebrow{font-size:9px;letter-spacing:.1em;padding:8px 12px;margin-bottom:24px}
  .hero-lead{font-size:16px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .button{min-height:52px;padding:15px 16px;font-size:14px}
  .hero-toast{position:static;margin-top:14px;max-width:none}
  .cal-grid{grid-template-columns:36px repeat(3,minmax(0,1fr))}
  .proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:24px 0}
  .proof-grid dt{font-size:18px}
}
