/*
Theme Name: Espresso Bros
Theme URI: https://espressobros.com.au
Author: Espresso Bros
Description: Custom lead-generation WordPress theme for Espresso Bros self-service coffee bar hire.
Version: 1.0.0
Text Domain: espresso-bros
*/

:root {
  --eb-black: #080808;
  --eb-charcoal: #161616;
  --eb-white: #ffffff;
  --eb-cream: #f4f0e8;
  --eb-gold: #c89a31;
  --eb-gold-light: #e0bd63;
  --eb-text: #171717;
  --eb-muted: #6d6d6d;
  --eb-line: #dedbd4;
  --eb-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--eb-text);
  background: var(--eb-white);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.55;
}
img { max-width: 100%; height: auto; }
a { color: inherit; }
.eb-shell {
  width: min(var(--eb-max), calc(100% - 40px));
  margin-inline: auto;
}
.eb-site-header {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 20;
  color: var(--eb-white);
}
.eb-header-inner {
  min-height: 92px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.eb-brand {
  text-decoration: none;
  font-weight: 900;
  line-height: .84;
  letter-spacing: -.05em;
}
.eb-brand span { display: block; }
.eb-brand-main { font-size: 1.35rem; }
.eb-brand-accent { color: var(--eb-gold-light); font-size: 1.1rem; }
.eb-nav ul {
  display: flex;
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.eb-nav a { color: #fff; text-decoration: none; font-weight: 700; font-size: .88rem; }
.eb-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 54px;
  padding: 14px 26px;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(135deg, var(--eb-gold), var(--eb-gold-light));
  color: var(--eb-black);
  text-decoration: none;
  font-weight: 900;
  font-size: .86rem;
  letter-spacing: .02em;
  cursor: pointer;
  transition: .2s ease;
}
.eb-button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(200,154,49,.25); }
.eb-button-small { min-height: 44px; padding: 10px 18px; font-size: .75rem; }
.eb-hero {
  min-height: 790px;
  color: #fff;
  background:
    radial-gradient(circle at 80% 35%, rgba(200,154,49,.22), transparent 28%),
    linear-gradient(115deg, #050505 0%, #151515 55%, #2c2416 100%);
  background-position: center;
  background-size: cover;
}
.eb-hero-inner { padding: 190px 0 95px; max-width: 800px; }
.eb-eyebrow,
.eb-kicker {
  margin: 0 0 18px;
  color: var(--eb-gold);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.eb-hero h1,
.eb-section h2,
.eb-section h3 {
  margin-top: 0;
  line-height: 1.02;
  letter-spacing: -.045em;
}
.eb-hero h1 {
  margin-bottom: 28px;
  font-size: clamp(3.5rem, 8.5vw, 7.4rem);
  font-weight: 900;
}
.eb-hero h1 span { color: var(--eb-gold-light); }
.eb-lead { max-width: 700px; color: rgba(255,255,255,.86); font-size: clamp(1.05rem,2vw,1.35rem); }
.eb-hero-actions { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; margin-top: 36px; }
.eb-text-link { color: #fff; font-weight: 900; font-size: .82rem; letter-spacing: .09em; text-underline-offset: 6px; }
.eb-proof-row { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 45px; color: rgba(255,255,255,.74); font-size: .88rem; }
.eb-proof-row span::before { content: "✓"; margin-right: 8px; color: var(--eb-gold-light); font-weight: 900; }

.eb-section { padding: 100px 0; }
.eb-section h2 { font-size: clamp(2.2rem, 5vw, 4.25rem); margin-bottom: 24px; }
.eb-two-col { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: start; }
.eb-dark { background: var(--eb-black); color: #fff; }
.eb-centered { max-width: 800px; margin: 0 auto 44px; text-align: center; }

.eb-calculator-wrap { display: grid; grid-template-columns: .8fr minmax(420px,1.2fr); gap: 70px; align-items: center; }
.eb-calculator { padding: 34px; border-radius: 24px; background: #fff; color: #111; box-shadow: 0 24px 70px rgba(0,0,0,.34); }
.eb-slider-label { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 14px; font-weight: 900; }
#eb-guests { width: 100%; accent-color: var(--eb-gold); }
.eb-cost-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 28px; }
.eb-cost-card { padding: 28px 18px; border: 1px solid var(--eb-line); border-radius: 16px; text-align: center; }
.eb-cost-card span { display: block; min-height: 54px; font-size: .92rem; font-weight: 800; line-height: 1.25; }
.eb-cost-card strong { display: block; margin-top: 15px; font-size: clamp(2rem,4vw,3rem); line-height: 1; }
.eb-cost-card.featured { border-color: rgba(200,154,49,.65); background: #fffaf0; }
.eb-saving { margin-top: 16px; padding: 24px; border-radius: 16px; background: linear-gradient(135deg,var(--eb-gold),var(--eb-gold-light)); text-align: center; }
.eb-saving span, .eb-saving strong { display: block; }
.eb-saving span { font-size: 1.15rem; font-weight: 900; }
.eb-saving strong { margin-top: 6px; font-size: 2.25rem; }
.eb-disclaimer { margin: 15px 4px 0; color: var(--eb-muted); font-size: .72rem; text-align: center; }

.eb-event-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.eb-event-card { overflow: hidden; border: 1px solid var(--eb-line); border-radius: 20px; background: #fff; }
.eb-event-image { min-height: 270px; background: linear-gradient(145deg,rgba(0,0,0,.15),rgba(0,0,0,.68)), radial-gradient(circle at 30% 30%,rgba(224,189,99,.8),transparent 23%), linear-gradient(135deg,#302719,#0b0b0b); background-position:center; background-size:cover; }
.eb-event-copy { padding: 26px; }
.eb-event-copy h3 { margin-bottom: 12px; font-size: 1.55rem; }
.eb-event-copy p { margin: 0; color: var(--eb-muted); }

.eb-gold-band { background: var(--eb-cream); }
.eb-three-col { display: grid; grid-template-columns: repeat(3,1fr); gap: 45px; }
.eb-step { display: inline-flex; width: 48px; height: 48px; margin-bottom: 20px; justify-content:center; align-items:center; border-radius:50%; background:var(--eb-black); color:var(--eb-gold-light); font-weight:900; }

.eb-inclusions ul { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.eb-inclusions li { padding:17px 20px 17px 48px; border:1px solid var(--eb-line); border-radius:12px; position:relative; }
.eb-inclusions li::before { content:"✓"; position:absolute; left:20px; color:var(--eb-gold); font-weight:900; }

.eb-faq-section { background:#f8f7f4; }
.eb-faqs { max-width:900px; }
.eb-faqs details { border-bottom:1px solid var(--eb-line); }
.eb-faqs summary { padding:24px 0; font-size:1.12rem; font-weight:900; cursor:pointer; }
.eb-faqs details p { padding:0 0 24px; color:var(--eb-muted); }

.eb-quote-section { color:#fff; background: radial-gradient(circle at 15% 15%,rgba(200,154,49,.2),transparent 25%), var(--eb-black); }
.eb-quote-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; align-items:start; }
.eb-quote-points { display:grid; gap:10px; margin-top:30px; }
.eb-quote-points span::before { content:"✓"; margin-right:10px; color:var(--eb-gold-light); font-weight:900; }
.eb-form { padding:32px; border-radius:22px; background:#fff; color:#111; }
.eb-form label { display:grid; gap:7px; margin-bottom:17px; font-size:.82rem; font-weight:800; }
.eb-form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.eb-form input,.eb-form select,.eb-form textarea { width:100%; min-height:50px; padding:12px 13px; border:1px solid #cfcfcf; border-radius:8px; background:#fff; color:#111; font:inherit; }
.eb-form textarea { resize:vertical; }
.eb-form input:focus,.eb-form select:focus,.eb-form textarea:focus { border-color:var(--eb-gold); outline:2px solid rgba(200,154,49,.18); }
.eb-consent { display:flex!important; align-items:flex-start; gap:10px!important; font-weight:500!important; }
.eb-consent input { width:18px; min-height:18px; margin-top:3px; }
.eb-submit { width:100%; }
.eb-form-note { margin:13px 0 0; color:var(--eb-muted); font-size:.72rem; text-align:center; }

.eb-site-footer { padding:45px 0; background:#050505; color:rgba(255,255,255,.72); }
.eb-footer-inner { display:flex; justify-content:space-between; gap:30px; align-items:center; }
.eb-footer-inner p { margin:0; font-size:.84rem; }

.eb-basic-page { padding:150px 0 90px; min-height:70vh; }
.eb-basic-page h1 { font-size:clamp(2.5rem,6vw,5rem); }

@media (max-width: 900px) {
  .eb-nav { display:none; }
  .eb-two-col,.eb-calculator-wrap,.eb-quote-grid { grid-template-columns:1fr; gap:38px; }
  .eb-event-grid,.eb-three-col { grid-template-columns:1fr; }
  .eb-event-image { min-height:230px; }
}
@media (max-width: 620px) {
  .eb-shell { width:min(100% - 26px,var(--eb-max)); }
  .eb-section { padding:70px 0; }
  .eb-hero { min-height:680px; }
  .eb-hero-inner { padding:150px 0 62px; }
  .eb-hero h1 { font-size:clamp(3rem,15vw,5rem); }
  .eb-cost-grid,.eb-form-row { grid-template-columns:1fr; }
  .eb-calculator,.eb-form { padding:22px; }
  .eb-footer-inner { flex-direction:column; align-items:flex-start; }
}
