/* ============================================================
   SolidCabin FAQ v1.0
   File-based English FAQ + Umbraco-managed non-English fallback
   ============================================================ */

.sc-faq {
  background:#f6f2e9;
  color:#332d27;
}

.sc-faq-hero {
  padding:54px 0 48px;
  background:#efe4cf;
  border-bottom:1px solid #d7c5a5;
}

.sc-faq-hero .container,
.sc-faq-shell .container {
  max-width:1180px;
}

.sc-faq-eyebrow,
.sc-faq-label {
  margin:0 0 12px;
  color:#8a5c27;
  font-size:13px;
  font-weight:800;
  letter-spacing:.11em;
}

.sc-faq-hero h1 {
  max-width:900px;
  margin:0;
  color:#352b22;
  font-family:'Raleway',sans-serif;
  font-size:clamp(38px,5vw,62px);
  line-height:1.05;
  font-weight:800;
}

.sc-faq-deck {
  max-width:820px;
  margin:22px 0 0;
  color:#5d5145;
  font-size:20px;
  line-height:1.6;
}

.sc-faq-hero-links {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:28px;
}

.sc-faq-hero-links a {
  padding:9px 13px;
  border:1px solid #cdb790;
  border-radius:6px;
  background:rgba(255,255,255,.48);
  color:#5d4027;
  font-size:14px;
  font-weight:750;
  text-decoration:none;
}

.sc-faq-hero-links a:hover {
  background:#fff;
}

.sc-faq-shell {
  padding:48px 0 84px;
}

.sc-faq-layout {
  display:grid;
  grid-template-columns:260px minmax(0,790px);
  gap:52px;
  justify-content:center;
  align-items:start;
}

.sc-faq-nav {
  position:sticky;
  top:105px;
}

.sc-faq-nav-card,
.sc-faq-project-card {
  border:1px solid #e0d6c7;
  border-radius:10px;
  box-shadow:0 8px 28px rgba(62,47,31,.06);
}

.sc-faq-nav-card {
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:20px;
  background:#fff;
}

.sc-faq-nav-card a {
  padding:7px 8px;
  border-radius:5px;
  color:#685b4e;
  font-size:13px;
  line-height:1.35;
  text-decoration:none;
}

.sc-faq-nav-card a:hover {
  background:#f4ead9;
  color:#7a4c21;
}

.sc-faq-project-card {
  display:flex;
  flex-direction:column;
  gap:9px;
  margin-top:18px;
  padding:20px;
  background:#5a3c24;
  color:#fff;
}

.sc-faq-project-card span {
  color:#eadfce;
  font-size:14px;
  line-height:1.55;
}

.sc-faq-project-card a {
  color:#fff;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

.sc-faq-content {
  min-width:0;
}

.sc-faq-summary {
  margin-bottom:30px;
  padding:28px 30px;
  background:#f2d896;
  border:1px solid #d9b65e;
  border-radius:12px;
  box-shadow:0 10px 30px rgba(93,65,29,.08);
}

.sc-faq-summary h2 {
  margin:0 0 12px;
  color:#412f1e;
  font-size:27px;
  line-height:1.25;
}

.sc-faq-summary p:last-child {
  margin:0;
  color:#4b4035;
  font-size:17px;
  line-height:1.75;
}

.sc-faq-category {
  scroll-margin-top:105px;
  margin-bottom:28px;
  padding:32px 34px 36px;
  background:#fff;
  border:1px solid #e1d8cb;
  border-radius:12px;
  box-shadow:0 12px 38px rgba(55,42,28,.06);
}

.sc-faq-category-heading {
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:21px;
}

.sc-faq-category-heading > span {
  display:flex;
  flex:0 0 34px;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#efe4cf;
  color:#74491f;
  font-size:14px;
  font-weight:800;
}

.sc-faq-category-heading h2 {
  margin:1px 0 0;
  color:#3e2e20;
  font-size:29px;
  line-height:1.22;
  font-weight:800;
}

.sc-faq-accordion {
  --bs-accordion-border-color:#e2d8ca;
  --bs-accordion-border-radius:8px;
  --bs-accordion-inner-border-radius:7px;
  --bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(138,92,39,.16);
  --bs-accordion-active-color:#51351d;
  --bs-accordion-active-bg:#f6eee0;
}

.sc-faq-accordion .accordion-item {
  overflow:hidden;
  background:#fff;
}

.sc-faq-accordion .accordion-button {
  padding:18px 20px;
  color:#493a2d;
  font-size:17px;
  font-weight:750;
  line-height:1.4;
}

.sc-faq-accordion .accordion-button:not(.collapsed) {
  box-shadow:inset 0 -1px 0 #e2d8ca;
}

.sc-faq-accordion .accordion-body {
  padding:19px 20px 21px;
  color:#50483f;
  font-size:16px;
  line-height:1.75;
}

.sc-faq-accordion .accordion-body p:last-child {
  margin-bottom:0;
}

.sc-faq-accordion .accordion-body a {
  color:#8a4e19;
  font-weight:650;
  text-underline-offset:3px;
}

.sc-faq-contact {
  margin-top:38px;
  padding:32px 34px;
  background:#5a3c24;
  border-radius:12px;
  color:#fff;
  box-shadow:0 12px 38px rgba(55,42,28,.12);
}

.sc-faq-contact .sc-faq-label {
  color:#efd59c;
}

.sc-faq-contact h2 {
  margin:0 0 12px;
  color:#fff;
  font-size:30px;
  line-height:1.2;
}

.sc-faq-contact p {
  max-width:680px;
  margin:0;
  color:#eadfce;
  font-size:16px;
  line-height:1.7;
}

.sc-faq-primary-cta {
  display:inline-block;
  margin-top:21px;
  padding:13px 17px;
  border-radius:7px;
  background:#f2d896;
  color:#412f1e;
  font-weight:800;
  text-decoration:none;
}

.sc-faq-primary-cta:hover {
  background:#fff0bf;
  color:#412f1e;
}

.sc-faq-resources {
  margin-top:28px;
  padding:30px 34px;
  background:#efe4cf;
  border:1px solid #dbc6a5;
  border-radius:12px;
}

.sc-faq-resources__heading h2 {
  margin:0 0 10px;
  color:#49321e;
  font-size:27px;
  line-height:1.25;
}

.sc-faq-resources__heading p:last-child {
  margin:0;
  color:#625345;
  font-size:15px;
  line-height:1.65;
}

.sc-faq-resources__links {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:21px;
}

.sc-faq-resources__links a {
  display:flex;
  align-items:center;
  min-height:48px;
  padding:12px 14px;
  border:1px solid #d5bd96;
  border-radius:7px;
  background:rgba(255,255,255,.62);
  color:#65401f;
  font-size:14px;
  font-weight:750;
  line-height:1.4;
  text-decoration:none;
}

.sc-faq-resources__links a:hover {
  background:#fff;
}

.sc-faq-legacy {
  width:min(100%,920px);
  margin:0 auto 70px;
}

.sc-faq-legacy .accordion-button {
  font-weight:700;
}

@media (max-width:991.98px) {
  .sc-faq-hero {
    padding:38px 0 35px;
  }

  .sc-faq-deck {
    font-size:18px;
  }

  .sc-faq-shell {
    padding-top:28px;
  }

  .sc-faq-layout {
    grid-template-columns:1fr;
    gap:20px;
  }

  .sc-faq-nav {
    position:static;
  }

  .sc-faq-nav-card {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .sc-faq-nav-card .sc-faq-label {
    grid-column:1/-1;
  }

  .sc-faq-project-card {
    display:none;
  }
}

@media (max-width:575.98px) {
  .sc-faq-hero {
    padding:29px 0 27px;
  }

  .sc-faq-hero h1 {
    font-size:36px;
  }

  .sc-faq-deck {
    margin-top:16px;
    font-size:17px;
    line-height:1.55;
  }

  .sc-faq-hero-links {
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    margin-top:21px;
  }

  .sc-faq-hero-links a {
    padding:10px 12px;
  }

  .sc-faq-shell {
    padding:22px 0 54px;
  }

  .sc-faq-nav-card {
    grid-template-columns:1fr;
    padding:16px;
  }

  .sc-faq-summary {
    padding:22px 20px;
  }

  .sc-faq-summary h2 {
    font-size:23px;
  }

  .sc-faq-summary p:last-child {
    font-size:16px;
    line-height:1.65;
  }

  .sc-faq-category {
    padding:24px 20px 27px;
    border-radius:9px;
  }

  .sc-faq-category-heading {
    gap:11px;
  }

  .sc-faq-category-heading h2 {
    font-size:25px;
  }

  .sc-faq-category-heading > span {
    flex-basis:31px;
    width:31px;
    height:31px;
  }

  .sc-faq-accordion .accordion-button {
    padding:16px;
    font-size:16px;
  }

  .sc-faq-accordion .accordion-body {
    padding:17px 16px 19px;
    font-size:15px;
    line-height:1.7;
  }

  .sc-faq-contact {
    padding:26px 21px;
  }

  .sc-faq-contact h2 {
    font-size:25px;
  }

  .sc-faq-primary-cta {
    display:block;
    text-align:center;
  }

  .sc-faq-resources {
    padding:25px 20px;
  }

  .sc-faq-resources__links {
    grid-template-columns:1fr;
  }
}
