/* Layout C only (index.html + legal pages). Loaded after styles.css + b.css.
   Design: site1.jpg (2026-10-31), measured in toolatelab-ops/site-tasarim/fark-raporu.md; px values below are at 1440 wide. */
.topbar { gap: 16px 32px; }
.brand { display: flex; align-items: center; gap: 37px; min-width: 0; flex: 0 1 auto; }
/* Badge: white field 75 × 134 hanging from the page top, 23px below the 111px bar; logo 90% of its old size, at the bottom. */
.badge-top {
  flex: none; align-self: flex-start;
  width: 75px; height: 134px; margin-bottom: -23px;
  display: flex; align-items: flex-end; justify-content: center;
}
.badge-top img { height: 102.6px; width: auto; }
.topbar nav { flex: none; }
.tagline { font: 20px/1.2 var(--label); color: var(--text); }
.br-phone { display: none; } /* tagline breaks after "Apps," on phones only */

/* Hero slider: slides are listed in index.html; dots are made by the script there, one per slide. */
.showcase { margin-top: 45px; }
.slider {
  position: relative; overflow: hidden;
  aspect-ratio: 1152 / 505;
  background: #0A0A0C;
}
.slider::before { z-index: 2; } /* gradient stroke (styles.css) over the slides */
.slide {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: top;
  opacity: 0; transition: opacity .6s;
}
.slide.is-active { opacity: 1; }
/* Lighter band along the bottom edge (~140px): #0A0A0C → #404040, lightens only what is darker. */
.slider::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 27.7%;
  background: linear-gradient(to top, #404040, rgb(64 64 64 / 0));
  mix-blend-mode: lighten; pointer-events: none;
}
.dots { position: absolute; left: 0; right: 0; bottom: 10%; z-index: 1; display: flex; justify-content: center; gap: 13.5px; }
.dot { width: 20px; height: 20px; padding: 0; border: 0; border-radius: 50%; background: #5E5E61; cursor: pointer; }
.dot[aria-current] { background: #fff; }
.dot:focus-visible::after { border-radius: 50%; }

/* Dividers stop 10px inside the content box; no line under the header. */
.ruled { position: relative; }
.ruled::before {
  content: ""; position: absolute; top: 0; height: 1px; background: var(--line);
  left: calc(var(--gutter) + 10px); right: calc(var(--gutter) + 10px);
}

.section-label { font-size: 26px; line-height: 1; text-align: center; }

#plugins { margin-top: 26px; padding-top: 66px; padding-bottom: 60px; }
#plugins .grid { margin-top: 62px; }
#plugins .formats { margin-top: 32px; }

.beta { row-gap: 40px; padding-top: 80px; padding-bottom: 75px; }
.beta > .section-label { grid-column: 1 / -1; }
.beta-title { font-weight: 700; } /* was Medium 500; D-DIN has none, Bold chosen by the user (2026-10-31) */

.footer { padding-top: 28.5px; padding-bottom: 0; } /* badge sits on the page bottom */
.foot-left { column-gap: 18px; }

@media (max-width: 600px) {
  .topbar { flex-wrap: wrap; padding-bottom: 20px; }
  .brand { flex-direction: column; align-items: flex-start; gap: 16px; }
  .badge-top { margin-bottom: 0; }
  .br-phone { display: inline; }
  #plugins { padding-top: 56px; padding-bottom: 80px; }
  #plugins .grid { margin-top: 24px; }
  .beta { row-gap: 48px; padding-top: 80px; padding-bottom: 80px; }
  .footer { padding-top: 32px; padding-bottom: 48px; }
}

/* Legal pages (terms / privacy / refund): plain reading text, homepage fonts, colours and sizes. */
.legal { max-width: 760px; padding-top: 80px; padding-bottom: 120px; overflow-wrap: break-word; }
.legal h1 { font-size: clamp(36px, 5vw, 60px); line-height: 1.05; } /* = .beta-title */
.legal .label { margin-top: 16px; font-size: 14px; }
.legal h2 { margin-top: 48px; font-size: 28px; line-height: 1.2; } /* = .card h2 */
.legal p, .legal ul { margin-top: 16px; color: var(--muted); font-size: 18px; } /* = .beta-text */
.legal ul { margin-bottom: 0; padding-left: 20px; }
.legal li + li { margin-top: 8px; }
.legal a, .legal b { color: var(--text); }
.legal b { font-weight: 400; } /* D-DIN has no bold: run-in headings by colour only */
@media (max-width: 600px) {
  .legal { padding-top: 56px; padding-bottom: 80px; }
}
