:root {
  --legal-shell: min(1080px, calc(100% - 40px));
}
.map-section {
  padding: 0 0 110px;
  background: #f6f7fb;
}
.map-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 26px;
}
.map-heading p {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.74rem;
  font-weight: 800;
  color: #3926d9;
}
.map-heading h2 {
  margin: 0;
  font:
    800 clamp(2.3rem, 5vw, 4.5rem) / 0.95 Manrope,
    sans-serif;
  letter-spacing: -0.05em;
}
.map-frame {
  height: 480px;
  overflow: hidden;
  border-radius: 28px;
  background: #e7ebf6;
  box-shadow: 0 18px 55px rgba(26, 20, 78, 0.1);
}
.map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
@media (max-width: 780px) {
  .map-section {
    padding-bottom: 75px;
  }
  .map-heading {
    display: block;
  }
  .map-heading h2 {
    margin-top: 10px;
  }
  .map-frame {
    height: 360px;
    border-radius: 22px;
  }
}

/* Yasal ve iletişim sayfalarında koyu mavi blok yerine açık zemin ritmi. */
body .legal-hero,
body .map-section {
  background-color: #f4f8ff;
  background-image: linear-gradient(rgba(244,248,255,.64),rgba(244,248,255,.64)), url('../images/doku.svg');
  background-repeat: repeat, repeat;
  background-size: auto, 340px auto;
  color: #17142a;
}
body .legal-content,
body .contact-page {
  background-color: #fff;
  background-image: linear-gradient(rgba(255,255,255,.6),rgba(255,255,255,.6)), url('../images/doku.svg');
  background-repeat: repeat, repeat;
  background-size: auto, 340px auto;
}
body .legal-hero p { color: #1764d3; }
body .legal-hero .legal-summary { color: #5f6677; }
body .site-header:not(.is-scrolled) { color: #17142a; }
body .site-header:not(.is-scrolled) .header-inner { border-bottom-color: #dce5f2; }
body .site-header:not(.is-scrolled) .pill-link,
body .site-header:not(.is-scrolled) .header-back { border-color: #dce5f2; color: #17142a; }
body .site-header:not(.is-scrolled) .brand-logo { filter: none; }
body {
  background: #f6f7fb;
}
.legal-shell {
  width: var(--legal-shell);
  margin: auto;
}
.legal-hero {
  padding: 180px 0 80px;
  background: linear-gradient(135deg, #1e1466, #3d28dc 60%, #1764d3);
  color: #fff;
}
.legal-hero p {
  margin: 0 0 16px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.75rem;
  font-weight: 800;
  color: #78e2ef;
}
.legal-hero h1 {
  max-width: 900px;
  margin: 0;
  font:
    800 clamp(3.3rem, 7vw, 6.5rem) / 0.92 Manrope,
    sans-serif;
  letter-spacing: -0.06em;
}
.legal-hero .legal-summary {
  max-width: 720px;
  margin: 25px 0 0;
  text-transform: none;
  letter-spacing: 0;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.78);
}
.legal-content {
  padding: 85px 0 110px;
}
.legal-card {
  padding: clamp(26px, 5vw, 64px);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(26, 20, 78, 0.08);
}
.legal-card h2 {
  margin: 38px 0 12px;
  font:
    800 clamp(1.5rem, 3vw, 2.1rem) / 1.15 Manrope,
    sans-serif;
  color: #28206d;
}
.legal-card h2:first-child {
  margin-top: 0;
}
.legal-card h3 {
  margin: 28px 0 8px;
  font:
    800 1.15rem Manrope,
    sans-serif;
}
.legal-card p,
.legal-card li {
  color: #5f5b6e;
  line-height: 1.85;
}
.legal-card ul,
.legal-card ol {
  padding-left: 22px;
}
.legal-card a {
  color: #3926d9;
  font-weight: 700;
}
.legal-note {
  margin-top: 35px;
  padding: 22px;
  border-radius: 18px;
  background: #edf3ff;
  color: #34305f;
}
.cookie-table {
  width: 100%;
  border-collapse: collapse;
  margin: 25px 0;
}
.cookie-table th,
.cookie-table td {
  padding: 14px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #e5e5ed;
}
.cookie-table th {
  background: #edf3ff;
  color: #302870;
}
.contact-page {
  padding: 80px 0 110px;
}
.contact-page-grid {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: 32px;
}
.contact-info,
.contact-form-card {
  padding: clamp(25px, 4vw, 44px);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(26, 20, 78, 0.08);
}
.contact-info h2,
.contact-form-card h2 {
  margin: 0 0 25px;
  font:
    800 2rem Manrope,
    sans-serif;
}
.contact-item {
  padding: 18px 0;
  border-top: 1px solid #e7e6ed;
}
.contact-item span,
.contact-item strong {
  display: block;
}
.contact-item span {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #858191;
}
.contact-item strong {
  margin-top: 6px;
  font:
    800 1.05rem Manrope,
    sans-serif;
  color: #27206e;
}
.contact-item a {
  color: #3926d9;
}
.contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.contact-form label {
  display: grid;
  gap: 7px;
  font-size: 0.78rem;
  font-weight: 800;
}
.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 14px 15px;
  border: 1px solid #dedde7;
  border-radius: 13px;
  background: #fafaff;
  font: inherit;
  outline: none;
}
.contact-form input:focus,
.contact-form textarea:focus {
  border-color: #4d35df;
}
.contact-form .full {
  grid-column: 1/-1;
}
.contact-form button {
  display: flex;
  justify-content: space-between;
  padding: 16px 20px;
  border: 0;
  border-radius: 99px;
  background: #3926d9;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
.contact-status {
  margin: 0;
  color: #3926d9;
}
@media (max-width: 780px) {
  :root {
    --legal-shell: calc(100% - 28px);
  }
  .legal-hero {
    padding: 145px 0 65px;
  }
  .legal-content,
  .contact-page {
    padding: 60px 0 75px;
  }
  .contact-page-grid {
    grid-template-columns: 1fr;
  }
  .contact-form {
    grid-template-columns: 1fr;
  }
  .contact-form label {
    grid-column: 1;
  }
  .cookie-table {
    display: block;
    overflow-x: auto;
  }
}
