/* Greenline Lawn Co. theme. Loads after styles.css. The home is the engine's big photo page (desktop.css,
   desktopLayout "hero"): a forest green field, cream type, the name huge in Bebas Neue, lime for the prices and the
   small words, Archivo for the text. This file holds the fonts, the colours and the inner page look; every page
   sits on the same green field. */
@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:block;src:url("../assets/fonts/bebas-neue-400.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400;font-display:block;src:url("../assets/fonts/archivo-400.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:600;font-display:block;src:url("../assets/fonts/archivo-600.woff2") format("woff2")}

:root{
  --bg:#f3f7ea;
  --panel:#ffffff;
  --panel-2:#e9f0dd;
  --line:rgba(22,61,31,.14);
  --text:#163d1f;
  --muted:#5a6b55;
  --accent:#9ccc65;
  --accent-2:#86b857;
  --on-accent:#163d1f;   /* lime buttons with forest text: the mid green failed contrast on the dark field */
  --good:#3e8a3a;
  --good-2:#2f6b2c;
  --bad:#c0392b;
  --warn:#c98a00;
  --cream:#f3f7ea;
  --lime:#9ccc65;
  --forest:#163d1f;
  --deep:#1b4a26;
  --mid:#2f6b2c;
  --radius:6px;
  --head-font:"Bebas Neue",Impact,"Arial Narrow",sans-serif;
  --body-font:"Archivo","Helvetica Neue",Arial,sans-serif;
  --head-weight:400;
  --head-transform:none;
  --head-spacing:.02em;
}
html{background:var(--bg)}
body{background:var(--bg)}
.home-wrap,.page{position:relative;z-index:1}

/* ---------- The big photo home (every rule carries html.hero-site body so it outranks desktop.css, which loads last): Greenline's own touches on the engine's page ---------- */
/* the accent on the green field is the mid green, too close to it for buttons and bands: lime for the big button and the prices, the mid green for the bands */
html.hero-site body .desk-hero-btn:not(.ghost),html.hero-site body .desk-book,html.hero-site body .desk-nav-foot .desk-hero-btn,html.hero-site body .desk-bar .desk-hero-btn:not(.ghost){background:var(--lime);color:var(--forest)}
html.hero-site body .desk-hero h1 .w.mark i,html.hero-site body .desk-more,html.hero-site body .desk-hours-big span,html.hero-site body .desk-point .n,html.hero-site body .desk-kicker,html.hero-site body .desk-list-cat,html.hero-site body .desk-deal-price,html.hero-site body .desk-list-side .p{color:var(--lime)}
html.hero-site body .desk-beam{background:var(--lime)}
html.hero-site body .desk-marq{background:var(--lime);color:var(--forest)}
html.hero-site body .desk-steps{background:var(--mid);color:var(--cream)}
html.hero-site body .desk-hero h1,html.hero-site body .desk-h2,html.hero-site body .desk-hours-big,html.hero-site body .desk-tile h3,html.hero-site body .desk-nav-links a,html.hero-site body .desk-step .n,html.hero-site body .desk-foot-brand{letter-spacing:.02em}
html.hero-site body .desk-hero-btn,html.hero-site body .desk-book,html.hero-site body .desk-more,html.hero-site body .desk-marq-track{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.9rem}
html.hero-site body .desk-hero-btn{border-radius:6px}
html.hero-site body .desk-tile{border-radius:6px}
html.hero-site body .desk-area-places span{border-color:rgba(243,247,234,.35)}
html.hero-site body .desk-faq-it summary{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:600}
html.hero-site body .desk-list-main b,html.hero-site body .desk-hours-cta b,html.hero-site body .desk-point h3,html.hero-site body .desk-step h3{font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;font-weight:400;letter-spacing:.03em;font-size:1.6rem}

/* ---------- Inner pages (every rule carries html.hero-site body so it outranks the wide screen rules in desktop.css, which loads last) (the engine keeps them on the green field; these are Greenline's shapes and colours) ---------- */
html.hero-site body .page-title{font-family:var(--head-font);font-weight:400;font-size:clamp(1.9rem,7vw,2.8rem);letter-spacing:.02em}
html.hero-site body .seg{background:var(--panel);border-color:var(--line)}
html.hero-site body .seg a{font-family:var(--head-font);font-weight:400;font-size:1.1rem;letter-spacing:.04em;padding:8px}
html.hero-site body .seg a.active{background:var(--lime);color:var(--forest)}
html.hero-site body .seg a.specials{color:var(--lime)}
html.hero-site body .seg a.specials.active{background:var(--lime);color:var(--forest)}
html.hero-site body .btn.primary{background:var(--lime);color:var(--forest)}
html.hero-site body .btn.good{background:var(--mid);color:var(--cream)}
html.hero-site body .chip{background:var(--panel)}
html.hero-site body .chip.active{background:var(--lime);color:var(--forest)}
html.hero-site body .chip.active b{color:inherit}   /* the count on the active chip takes the chip's own text colour (a11y check) */
html.hero-site body .chip b{color:var(--lime)}
html.hero-site body .card{background:var(--panel);border-color:var(--line);box-shadow:0 6px 16px rgba(0,0,0,.12)}
html.hero-site body .card .name{font-family:var(--head-font);font-weight:400;font-size:1.35rem;letter-spacing:.02em}
html.hero-site body .card .price{color:var(--lime);font-family:var(--head-font);font-weight:400;font-size:1.3rem}
html.hero-site body .card.featured{border-color:var(--lime);box-shadow:0 0 0 2px var(--lime) inset,0 6px 16px rgba(0,0,0,.12)}
html.hero-site body .card.featured .name{color:var(--lime)}   /* the accent green fails contrast on the dark card (a11y check) */
html.hero-site body .feat-tag{background:var(--lime);color:var(--forest);letter-spacing:.14em}
html.hero-site body .cat-head{font-family:var(--head-font);font-weight:400;font-size:1.6rem;border-bottom:3px solid var(--lime)}
html.hero-site body .badge.good{background:rgba(156,204,101,.25);color:#cfe9b0}
html.hero-site body .badge.accent{background:rgba(156,204,101,.25);color:#cfe9b0}
html.hero-site body .viewer .v-info{background:var(--panel)}
html.hero-site body .viewer .v-name{font-family:var(--head-font);font-weight:400;font-size:1.8rem}
html.hero-site body .viewer .v-price{color:var(--lime)}
html.hero-site body .special{border-color:rgba(156,204,101,.5);background:var(--panel)}
html.hero-site body .special-price{color:var(--lime);font-family:var(--head-font);font-weight:400;font-size:1.5rem}
html.hero-site body .post{background:var(--panel)}
html.hero-site body .post.pinned{border-color:var(--lime)}
html.hero-site body .post h3{font-family:var(--head-font);font-weight:400;font-size:1.4rem;letter-spacing:.02em}
html.hero-site body .rich{background:var(--panel)}
html.hero-site body .rich h1,html.hero-site body .rich h2,html.hero-site body .rich h3{font-family:var(--head-font);font-weight:400;color:var(--lime);letter-spacing:.02em}
html.hero-site body .rich h2{font-size:1.7rem}
html.hero-site body .rich a{color:var(--lime)}
html.hero-site body .letter{color:var(--lime);font-family:var(--head-font);font-weight:400;font-size:1.6rem}
html.hero-site body .modal{background:var(--panel)}
html.hero-site body .modal h2{font-family:var(--head-font);font-weight:400;font-size:1.7rem}
html.hero-site body .toast{background:var(--lime);color:var(--forest)}
html.hero-site body .gate{background:var(--forest)}
html.hero-site body .gate h1{font-family:var(--head-font);font-weight:400;color:var(--cream);font-size:2.6rem}
html.hero-site body .gate p{color:var(--lime)}
html.hero-site body .gate img{border:3px solid var(--lime)}
html.hero-site body .steps li{background:var(--panel)}
html.hero-site body .steps li::before{background:var(--lime);color:var(--forest);font-family:var(--head-font)}
html.hero-site body .install-note{background:rgba(156,204,101,.2);border-color:rgba(156,204,101,.7)}
html.hero-site body .empty{background:var(--panel)}

/* hours and booking */
html.hero-site body .open-now{background:var(--panel);border-color:var(--line);font-family:var(--head-font);font-weight:400;font-size:1.35rem;letter-spacing:.04em}
html.hero-site body .open-now.on{color:var(--lime);border-color:rgba(156,204,101,.5)}
html.hero-site body .open-now.on i{background:var(--lime);box-shadow:0 0 0 4px rgba(156,204,101,.18)}
html.hero-site body .hours-list{background:var(--panel);border-color:var(--line)}
html.hero-site body .hours-list .d{font-family:var(--head-font);font-weight:400;font-size:1.3rem;letter-spacing:.03em}
html.hero-site body .hours-list .part b{font-family:var(--head-font);font-weight:400;font-size:1.1rem;letter-spacing:.04em}
html.hero-site body .hours-list .part em{color:var(--lime);font-weight:600}
html.hero-site body .hours-list li.today{background:transparent;box-shadow:inset 3px 0 0 var(--lime)}   /* today is marked by a lime edge, not a tint: the muted words failed contrast on a tint */
html.hero-site body .hours-list li.today .closed-word{color:var(--text)}
html.hero-site body .hours-list li.today .d,html.hero-site body .hours-list li.today .d::after{color:var(--lime)}
html.hero-site body .closures-head{font-family:var(--head-font);font-weight:400;font-size:1.3rem;letter-spacing:.04em;text-transform:none}
html.hero-site body .big-cta{font-family:var(--head-font);font-weight:400;font-size:1.6rem;letter-spacing:.06em;border-radius:6px;box-shadow:0 8px 20px rgba(0,0,0,.3)}
html.hero-site body .book-step{font-family:var(--head-font);font-weight:400;font-size:1.5rem;letter-spacing:.03em;text-transform:none}
html.hero-site body .step-n{background:var(--lime);color:var(--forest);font-family:var(--body-font);font-weight:600}
html.hero-site body .day-chip{background:var(--panel);border-color:var(--line)}
html.hero-site body .day-chip .dom{font-family:var(--head-font);font-weight:400;font-size:1.6rem}
html.hero-site body .day-chip.active{background:var(--lime);color:var(--forest)}
html.hero-site body .day-chip.active .dow,html.hero-site body .day-chip.active .mon{color:var(--forest)}
html.hero-site body .slot{background:var(--panel);border-color:var(--line);font-family:var(--head-font);font-weight:400;font-size:1.3rem;letter-spacing:.05em}
html.hero-site body .slot.active{background:var(--lime);color:var(--forest)}
html.hero-site body .slot small{color:var(--lime)}
html.hero-site body .book-form{background:var(--panel);border-color:var(--line)}
html.hero-site body .book-done{background:rgba(156,204,101,.2);border-color:rgba(156,204,101,.5)}
html.hero-site body .book-done .tick{background:var(--lime);color:var(--forest)}
html.hero-site body .req{background:var(--panel)}
html.hero-site body .req-time{color:var(--lime);font-family:var(--head-font);font-weight:400;font-size:1.2rem}
html.hero-site body .req.confirmed{border-color:rgba(156,204,101,.5)}
html.hero-site body .admin-box input{background:var(--panel)}
html.hero-site body .dash-link{background:var(--panel)}
html.hero-site body .dash-link b{font-family:var(--head-font);font-weight:400;font-size:1.3rem}
