/* Shared styles used by both device builds. */

/* Render text with grayscale antialiasing site-wide so font weights match the Figma
   design — the browser default (subpixel AA) renders noticeably heavier than the mockup. */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ===== Cover image ===== */
/* Real <img> replacement for what used to be an inline `background-image: cover`.
   Drop it in as the FIRST child of a `position: relative; overflow: hidden` box; it
   fills the box and is cropped exactly like background-size:cover. z-index:0 keeps it
   behind sibling gradients/labels/content (which sit at z-index >= 1 or paint later). */
.ll-cover-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  display: block;
}

/* ===== Footer NAP (Name / Address / Phone) — shared, sits on the dark footer ===== */
.ll-footer-nap { font: 400 14px/22px var(--font-owners); color: var(--leadline-white); }
.ll-nap-name { display: block; font-weight: 500; }
.ll-nap-address { display: block; font-style: normal; margin: 4px 0 0; opacity: 0.75; }
.ll-nap-address a { color: inherit; text-decoration: none; }
.ll-nap-address a:hover, .ll-nap-address a:focus-visible { text-decoration: underline; }

/* ===== FAQ (What We Do — visible Q&A behind the FAQPage schema) ===== */
.ll-faq { background: var(--leadline-cream); color: var(--leadline-black, #101820); padding: 80px 0; }
.ll-faq__inner { max-width: 1000px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 80px); }
.ll-faq__title { margin: 0 0 32px; font-family: var(--font-owners-xwide); font-weight: 500; font-size: clamp(32px, 4vw, 48px); line-height: 1.1; text-transform: uppercase; }
.ll-faq__list { margin: 0; }
.ll-faq__item { padding: 24px 0; border-top: 1px solid rgba(16, 24, 32, 0.15); }
.ll-faq__item:last-child { border-bottom: 1px solid rgba(16, 24, 32, 0.15); }
.ll-faq__q { margin: 0 0 8px; font-family: var(--font-owners); font-weight: 700; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.3; }
.ll-faq__a { margin: 0; font: 400 16px/26px var(--font-owners); opacity: 0.85; }

/* Standout run inside a service-section intro, marked **like this** in the ACF field
   (desktop + mobile). Cream so it lifts off the wine Business Results band. */
.ll-intro-em { color: var(--leadline-cream); font-weight: 500; }

/* ===== SocialLinks ===== */
.social-links {
    display: flex;
    gap: var(--social-gap, 24px);
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .social-icon {
    display: inline-block;
    width: var(--icon-size);
    height: var(--icon-size);
  }
  .social-icon svg {
    width: 100%;
    height: 100%;
    display: block;
  }

/* ===== Legal / simple content pages (Privacy Policy, Terms) ===== */
.ll-legal { background: #fff; color: var(--leadline-black); }
.ll-legal__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 64px 24px 96px;
  font: 400 16px/1.7 var(--font-owners);
}
.ll-legal__inner h1 {
  margin: 0 0 8px;
  font: 700 40px/1.15 var(--font-owners-xwide);
  text-transform: uppercase;
}
.ll-legal__inner h2 {
  margin: 40px 0 12px;
  font: 700 22px/1.3 var(--font-owners-xwide);
}
.ll-legal__inner p,
.ll-legal__inner li { margin: 0 0 16px; }
.ll-legal__inner ul { margin: 0 0 16px; padding-left: 22px; }
.ll-legal__inner a { color: var(--leadline-red); text-decoration: underline; }
.ll-legal__inner strong { font-weight: 700; }
.ll-legal__inner hr { margin: 32px 0; border: 0; border-top: 1px solid #e5e5e5; }
@media (max-width: 600px) {
  .ll-legal__inner { padding: 40px 20px 64px; }
  .ll-legal__inner h1 { font-size: 30px; }
  .ll-legal__inner h2 { font-size: 19px; }
}
