/* PiazMiaz — shared site styles.
   Most layout lives inline on each page; this file holds the pieces that
   change with screen size or state (menu, sticky button, form), plus basics. */

:root {
  --cream: #FCF7F0;
  --sand: #F6ECDF;
  --ink: #2B211A;
  --muted: #6B5A4C;
  --accent: #9A5B1E;
  --line: #EADFCF;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); }
img, video { max-width: 100%; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
summary { list-style: none; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; margin-left: auto; padding-left: 16px; font-size: 22px; font-weight: 400; color: var(--accent); }
details[open] > summary::after { content: "–"; }

.skip-link {
  position: absolute; left: 12px; top: -60px; z-index: 100;
  background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 8px; text-decoration: none;
}
.skip-link:focus { top: 12px; }

/* Navigation: full links on desktop, menu button on phones */
.nav-links { display: flex; }
.nav-toggle { display: none; }
.mobile-menu { display: none; overflow-y: auto; }
.fab-wrap { display: none; }

@media (max-width: 760px) {
  .nav-links { display: none; }
  .nav-toggle { display: inline-flex; }
  body.past-hero .fab-wrap { display: block; }
  body.menu-open { overflow: hidden; }
  body.menu-open .mobile-menu { display: flex; }
  body.menu-open .fab-wrap { display: none; }
}

/* Inquiry form */
.form-progress { display: flex; }
.form-bar { display: flex; }
.svc-option[aria-pressed="true"] { border-color: var(--ink) !important; background: #FBF1E3 !important; }
.svc-option[aria-pressed="true"] .svc-dot { background: var(--ink) !important; }
.svc-option:hover { border-color: #D6C5AE !important; }
label:has(> input[type="radio"]:checked), label:has(> input[type="checkbox"]:checked) {
  border-color: var(--ink) !important; background: #FBF1E3;
}
[data-step-bar] { transition: width 0.3s ease; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
button[disabled] { opacity: 0.6; cursor: wait; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-step-bar] { transition: none; }
}
