/* LugarCerto — red & white, neutral greys (redbus-like palette) */
:root {
  --brand: #d84e55; --brand-d: #b5363d; --brand-l: #fdeeee;
  --accent: #f7b733; --accent-l: #fff4d6;
  --ink: #1f2124; --muted: #6b7079; --bg: #f4f5f7; --line: #e2e4e8;
  --good: #1e8e4a;
}

/* Red hero with a white search box */
.thero { background: linear-gradient(135deg, #d84e55 0%, #c43c43 55%, #a92f36 100%); color: #fff; }
.thero h1 { color: #fff; }
.thero h1 em { color: #fff; background: none; text-decoration: underline; text-decoration-color: var(--accent);
  text-decoration-thickness: .14em; text-underline-offset: .12em; }
.thero .lead { color: rgba(255, 255, 255, .92); }
.thero .eyebrow { background: rgba(255, 255, 255, .16); color: #fff; }
.thero .hero-card { border: 0; box-shadow: 0 18px 50px rgba(60, 10, 12, .28); color: var(--ink); }
.thero .mode { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .35); color: #fff; }
.thero .mode.on { background: #fff; color: var(--brand-d); border-color: #fff; }
.thero .capulana { display: none; }

.topbar { background: #fff; }
.rating.good { background: var(--good); color: #fff; }
.seatsleft { color: var(--good); }
.offer { border-color: var(--brand); background: #fff; }
.offer .code { background: var(--brand); color: #fff; }
.offer.alt { border-color: var(--good); background: #f1faf4; }
.route { border-left-color: var(--brand); }
.occasions { background: #fff; color: var(--ink); border-block: 1px solid var(--line); }
.occasions h2 { color: var(--ink); }
.occasions .sub.light { color: var(--muted); }
.occasions .occ { background: var(--bg); border-color: var(--line); }
.occasions a.occ:hover { background: var(--brand-l); }
.how { background: var(--bg); }
.steps b { background: var(--brand); color: #fff; }
.trip { border-radius: 14px; }
.trip:hover { border-color: var(--brand); }
.datestrip a.on { background: var(--brand); border-color: var(--brand); color: #fff; }
.datestrip a.on small { color: rgba(255, 255, 255, .85); }
