/* Responsive layout for the compiled design-canvas prototype. */
.mobile-nav { display: none; position: relative; }
.mobile-nav summary {
  list-style: none;
  cursor: pointer;
  color: #1B1F24;
  background: #F5F6F8;
  border-radius: 9px;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 600;
}
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 90;
  width: min(280px, calc(100vw - 36px));
  padding: 10px;
  border: 1px solid #E4E7EB;
  border-radius: 14px;
  background: #FFFFFF;
  box-shadow: 0 18px 45px rgba(27,31,36,.16);
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 4px;
  max-height: calc(100vh - 92px);
  overflow-y: auto;
}
.mobile-nav-section {
  grid-column: 1 / -1;
  padding: 10px 12px 4px;
  color: #2F6B58;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mobile-nav-menu a {
  padding: 11px 12px;
  border-radius: 8px;
  color: #39434D;
  cursor: pointer;
  font-size: 14px;
}
.mobile-nav-menu a:hover { background: #F5F6F8; }

img { max-width: 100%; }

@media (max-width: 1100px) {
  .site-header { padding: 12px 20px !important; }
  .desktop-nav { gap: 14px !important; }
  main section { padding-left: 24px !important; padding-right: 24px !important; }
  h1 { font-size: clamp(44px, 5.5vw, 58px) !important; }

  [style*="grid-template-columns: repeat(4"] {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width: 900px) {
  .desktop-nav,
  .desktop-cta { display: none !important; }
  .mobile-nav { display: block; }
  .header-inner { padding: 10px 14px !important; }

  [style*="grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr)"],
  [style*="grid-template-columns: minmax(0, 1fr) minmax(0, 1fr)"] {
    grid-template-columns: minmax(0,1fr) !important;
  }

  [style*="grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)"],
  [style*="grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)"],
  [style*="grid-template-columns:minmax(0,1fr) auto"] {
    grid-template-columns: minmax(0,1fr) !important;
  }

  [style*="grid-template-columns: repeat(3"] {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  [style*="grid-template-columns: 200px 220px"] {
    grid-template-columns: 170px minmax(0,1fr) !important;
  }

  [style*="grid-column: span 2"] { grid-column: auto !important; }

  .analyzer-overview-grid { grid-template-columns: minmax(0,1fr) !important; }
  .analyzer-overview-grid > div:last-child a { margin-top: 24px !important; }

  footer [style*="justify-content: space-between"] {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .footer-menu { width: 100%; }
  footer [style*="display: flex"][style*="gap: 22px"] { flex-wrap: wrap !important; }
}

@media (max-width: 640px) {
  html, body { overflow-x: hidden; }
  .site-header { padding: 10px 12px !important; }
  .header-inner {
    border-radius: 12px !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
  }
  .header-brand-name { max-width: 120px; line-height: 1.15; }

  main section { padding: 56px 18px 0 !important; }
  main section:first-child { padding-top: 38px !important; }

  h1 {
    font-size: clamp(38px, 11.5vw, 48px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
  }
  h2 { font-size: 30px !important; line-height: 1.14 !important; }

  [style*="grid-template-columns"] {
    grid-template-columns: minmax(0,1fr) !important;
  }
  [style*="grid-column: span"] { grid-column: auto !important; }

  [style*="display: flex"][style*="justify-content: space-between"] {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  [style*="display: flex"][style*="gap: 12px"] { flex-wrap: wrap !important; }

  [style*="padding: 64px 52px"] { padding: 38px 24px !important; }
  [style*="padding: 48px"] { padding: 30px 24px !important; }
  [style*="padding: 34px"] { padding: 25px !important; }
  [style*="padding: 30px"] { padding: 23px !important; }
  [style*="padding: 28px"] { padding: 22px !important; }

  input, textarea { min-width: 0; width: 100% !important; }
  button, a[style*="padding"] { max-width: 100%; }

  [style*="min-height: 230px"],
  [style*="min-height: 200px"],
  [style*="min-height: 190px"] { min-height: 0 !important; }

  [style*="white-space: nowrap"] { white-space: normal !important; }

  footer { margin-top: 64px !important; padding: 36px 18px !important; }
  footer [style*="display: flex"] { flex-wrap: wrap !important; }
  footer [style*="gap: 22px"] { gap: 14px 18px !important; }
  .footer-menu { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }

  .mobile-nav-menu { grid-template-columns: minmax(0,1fr); }
  .header-inner.header-inner {
    flex-direction: row !important;
    align-items: center !important;
  }
}

@media (max-width: 420px) {
  .header-brand-name { display: none; }
  .mobile-nav-menu { width: min(260px, calc(100vw - 28px)); }
  main section { padding-left: 14px !important; padding-right: 14px !important; }
  h1 { font-size: clamp(36px, 11vw, 44px) !important; }
  .footer-menu { grid-template-columns: minmax(0,1fr) !important; }
}
