/* ===========================================================
   CHEF ANTYO: PUBLIC SITE, SHARED PARTS
   Loaded by the public pages only, after site.css and components.css.
   Tokens come from site.css; nothing here uses a hand-typed brand colour.
   1. "Book a free 20-minute call" (header, footer, buttons)
   =========================================================== */

/* ---------- 1. Book a free 20-minute call ---------- */
/* the second button beside a page's main one: gold outline, never red (red stays the one main action) */
.btn-call{border:1px solid rgba(201,168,76,.6);color:var(--gold-soft);background:rgba(201,168,76,.07)}
.btn-call:hover{border-color:var(--gold);background:rgba(201,168,76,.16);color:var(--gold-soft);transform:translateY(-2px)}
.btn-call:focus-visible,.site-nav .links a.book-call:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* header (computers): a gold link before Client Login. Short wording ("Book a free call") unless there is room for all of it:
   a wide screen with no seasonal link (site.js adds .promo-glow while a promotion is open). */
.site-nav .links a.book-call{color:var(--gold-soft);font-weight:600}
.site-nav .links a.book-call:hover{color:var(--gold)}
@media(max-width:1340px){.site-nav .links{gap:13px}.site-nav .links a.book-call{font-size:.74rem}}
/* while the seasonal Thanksgiving link is showing there is one more item: tighten a little so nothing runs past the header */
.site-nav .links:has(.promo-glow){gap:11px}
@media(max-width:1180px){.site-nav .links:has(.promo-glow) a:not(.call):not(.portal-link):not(.promo-glow){font-size:.74rem}}

/* footer: under the one-line description */
.site-footer .fcall{margin-top:16px}
.site-footer .fcall .btn{padding:10px 18px;font-size:.7rem}
.site-footer .fcall small{display:block;margin-top:8px;font-size:.78rem;color:var(--muted)}

/* service-page hero: the breadcrumb is quiet grey so it does not stack a second red line over the eyebrow */
header.hero .crumb a{color:var(--muted);text-decoration:underline;text-decoration-color:rgba(168,160,153,.4);text-underline-offset:3px}
header.hero .crumb a:hover{color:var(--gold-soft)}

/* the call under a page's own main button (service pages), and on pages that use the older .hbtn buttons (Reviews, FAQ) */
.or-call{display:flex;flex-direction:column;align-items:center;gap:12px;margin:16px 0 0}
.or-call span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.or-call .btn{width:100%}
.hbtn.call{border:1px solid rgba(201,168,76,.6);color:var(--gold-soft);background:rgba(201,168,76,.07)}
.hbtn.call:hover{border-color:var(--gold);background:rgba(201,168,76,.16);color:var(--gold-soft);transform:translateY(-3px)}

/* ---------- 2. Phone bottom bar: Call and Book ---------- */
/* Phones only. Two buttons, always in reach of a thumb. Text joins them when texting is live.
   It never covers anything: the footer makes room for it, it steps aside while the phone menu is open, it is left off pages
   with forms or step-by-step tools (they have their own buttons at the bottom), and Site Control's floating buttons sit above it. */
.callbar{display:none}
@media(max-width:760px){
  .callbar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:90;
    padding:9px 14px calc(9px + env(safe-area-inset-bottom,0px));
    background:rgba(18,16,15,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(0,0,0,.35)}
  .callbar a{flex:1 1 0;min-width:0;min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;
    border-radius:46px;font-size:.84rem;font-weight:700;letter-spacing:0;white-space:nowrap}
  .callbar .cb-call{flex:0 0 auto;padding:0 20px}
  .callbar .cb-book{flex:1 1 auto;padding:0 12px}
  .callbar svg{width:17px;height:17px;flex:none}
  .callbar .cb-call{border:1px solid rgba(201,168,76,.6);color:var(--gold-soft);background:rgba(201,168,76,.07)}
  .callbar .cb-book{background:var(--gold);color:var(--char)}
  .callbar a:active{transform:scale(.98)}
  .callbar a:focus-visible{outline:2px solid var(--cream);outline-offset:2px}
  body:has(.callbar){padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .callbar ~ .site-footer{padding-bottom:46px}
  .mobile-menu.open ~ .callbar{display:none}
  .callbar ~ .se-float-btn{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .callbar ~ .se-wg-bubble{bottom:calc(88px + env(safe-area-inset-bottom,0px) + var(--i,0) * 58px)}
  .callbar ~ .se-wg-float{bottom:calc(148px + env(safe-area-inset-bottom,0px) + var(--i,0) * 58px)}
}
@media(max-width:340px){.callbar a{font-size:.76rem}.callbar svg{display:none}}
@media print{.callbar{display:none}}

/* ---------- 3. Service pages: rating, how it works, reviews, questions ---------- */
/* Used inside the service pages' own layout (their .sec-label / .sec-title headings stay as they are). */
.svc-rating{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;margin-top:22px;font-size:.92rem;color:var(--cream)}
.svc-rating .stars,.svc-review .stars,.svc-more .stars{color:var(--gold);letter-spacing:.14em}
.svc-rating a,.svc-more a,.svc-faq-more a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}
.svc-rating a:hover,.svc-more a:hover,.svc-faq-more a:hover{color:var(--gold)}
.svc-hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}
.svc-block{margin-top:56px}

.svc-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 0;padding:0}
.svc-steps li{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 20px 18px}
.svc-steps .n{display:block;font-family:var(--display);font-style:italic;font-size:1.5rem;line-height:1;color:var(--red);margin-bottom:10px}
.svc-steps h3{font-family:var(--display);font-weight:500;font-size:1.08rem;margin-bottom:4px}
.svc-steps p{font-size:.88rem;color:var(--muted)}

.svc-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 0}
.svc-review{display:flex;flex-direction:column;gap:12px;margin:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}
.svc-review .stars{font-size:.84rem}
.svc-review blockquote{margin:0;font-size:.93rem;line-height:1.55;color:var(--cream)}
.svc-review figcaption{margin-top:auto;font-size:.8rem;color:var(--muted)}
.svc-review figcaption b{display:block;font-weight:600;font-size:.9rem;color:var(--cream)}
.svc-more{text-align:center;margin-top:18px;font-size:.9rem;color:var(--muted)}

.svc-faq{display:grid;gap:10px;max-width:680px;margin:28px auto 0}
.svc-faq details{background:var(--panel);border:1px solid var(--line);border-radius:12px}
.svc-faq summary{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:12px 20px;cursor:pointer;list-style:none;
  font-family:var(--display);font-size:1.02rem;color:var(--cream)}
.svc-faq summary::-webkit-details-marker{display:none}
.svc-faq summary::after{content:"+";flex:none;color:var(--gold);font-size:1.4rem;line-height:1}
.svc-faq details[open] summary::after{content:"\2013"}
.svc-faq summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:12px}
.svc-faq details p{padding:0 20px 18px;font-size:.93rem;color:var(--muted)}
.svc-faq-more{text-align:center;margin-top:16px;font-size:.9rem;color:var(--muted)}

/* owner content that is not supplied yet (photos, "starting at" price) and the instant-estimate slot: nothing is drawn until it exists */
.svc-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:34px 0 0}
.svc-photos figure{margin:0}
.svc-photos img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:var(--panel)}
.svc-photos figcaption{margin-top:8px;font-size:.8rem;color:var(--muted);text-align:center}
.svc-from{margin:26px auto 0;max-width:520px;text-align:center;padding:14px 20px;border:1px solid rgba(201,168,76,.45);border-radius:12px;background:rgba(201,168,76,.07);color:var(--gold-soft);font-size:.95rem}
.svc-from b{font-family:var(--display);font-size:1.25rem;font-weight:500;color:var(--cream)}
[data-slot="instant-estimate"]:empty{display:none}

@media(max-width:760px){
  .svc-block{margin-top:44px}
  .svc-steps,.svc-reviews,.svc-photos{grid-template-columns:1fr;gap:10px}
  .svc-steps li{display:grid;grid-template-columns:34px 1fr;column-gap:12px;padding:16px 18px}
  .svc-steps .n{grid-row:1 / span 2;margin:2px 0 0}
  .svc-review{padding:18px}
  .svc-hero-cta .btn{width:100%}
}

/* ---------- 4. Home: rating line and two guest quotes ---------- */
.home-rating{justify-content:flex-start;margin-top:20px}
.home-quotes{padding:8px 0 0}
.svc-reviews.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
@media(max-width:760px){.svc-reviews.two{grid-template-columns:1fr}.home-rating{margin-top:16px}}
