/*
 * Roasted Root: WordPress additions.
 * Loaded after the designer stylesheet on every page. Only covers things the static
 * mockups did not need: working mobile menu, admin bar, linked tiles, GHL embeds,
 * generic page content, and admin-only notices. Uses the designer's color tokens.
 */

/* Anchor links land below the sticky header */
html { scroll-padding-top: 100px; }

/* WordPress admin bar (logged-in users) + sticky header */
.admin-bar .header { top: 32px; }
@media (max-width: 782px) {
  .admin-bar .header { top: 46px; }
}
@media (max-width: 600px) {
  .admin-bar .header { top: 0; }
}

/* Mobile menu: the designer hid .nav below 1080px (1180px on Groups) with no open state */
@media (max-width: 1180px) {
  .rr-nav-open .header .nav {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px 24px 20px;
    background: var(--cream, #F8F3EA);
    border-bottom: 1px solid rgba(48, 31, 24, .10);
    box-shadow: 0 18px 40px rgba(48, 31, 24, .12);
  }
  .rr-nav-open .header .nav a {
    padding: 14px 0;
    border-bottom: 1px solid rgba(48, 31, 24, .08);
  }
  .rr-nav-open .header .nav a:last-child { border-bottom: 0; }
}

/* Current page in nav */
.nav a[aria-current="page"] { color: var(--rufous, #C0612E); }

/* Buttons rendered as links */
a.button { text-decoration: none; }

/* Order tiles on the location home: whole tile is clickable */
.order-tile { position: relative; }
.order-tile a.tile-cta { color: inherit; text-decoration: none; }
.order-tile a.tile-cta::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.order-tile a.tile-cta:focus-visible { outline: none; }
.order-tile:focus-within { outline: 3px solid var(--gold, #CB9333); outline-offset: 3px; }

/* GoHighLevel form embeds */
.rr-ghl-form { width: 100%; }
.rr-ghl-form iframe { display: block; width: 100%; min-height: 420px; background: transparent; }
.rr-ghl-form--signup iframe { min-height: 110px; }
.rr-signup-slot { width: 100%; }

/* Map iframes fill their card */
.map-card iframe { display: block; width: 100%; }

/* Admin-only setup notices (never shown to visitors) */
.rr-admin-notice {
  padding: 16px 18px;
  border: 2px dashed var(--rufous, #C0612E);
  border-radius: 14px;
  background: rgba(192, 97, 46, .08);
  color: var(--espresso, #301F18);
  font-family: var(--font-archivo, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.5;
}
.rr-admin-notice a { color: var(--rufous-dark, #733A1C); text-decoration: underline; }
.footer .rr-admin-notice { color: var(--cream, #F8F3EA); background: rgba(248, 243, 234, .08); }
.footer .rr-admin-notice a { color: var(--gold-soft, #EDDFC2); }

/* Generic pages (page.php, index.php, 404.php) */
.rr-page-hero .container { position: relative; z-index: 2; padding: 96px 0 84px; }
.rr-prose { max-width: 760px; font-family: var(--font-archivo, Arial, sans-serif); font-size: 17px; line-height: 1.7; color: var(--espresso-text, #312824); }
.rr-prose h2, .rr-prose h3 { font-family: var(--font-archivo-narrow, "Arial Narrow", sans-serif); line-height: 1.15; margin: 1.6em 0 .5em; }
.rr-prose a { color: var(--rufous-dark, #733A1C); text-decoration: underline; }
.rr-prose img { max-width: 100%; height: auto; border-radius: 18px; }
.rr-prose ul, .rr-prose ol { padding-left: 1.3em; }
.rr-post-summary { padding: 0 0 28px; margin: 0 0 28px; border-bottom: 1px solid rgba(48, 31, 24, .10); }
.rr-post-summary h2 { margin-top: 0; }
.rr-post-summary h2 a { text-decoration: none; color: inherit; }
