body {
  min-height: 100vh;
  background: #f4f6f8;
  color: #212529;
}

.site-header {
  width: 100%;
  background: linear-gradient(135deg, #181a1f, #22252c);
  color: #fff;
}

.site-title {
  font-size: 26px;
  font-weight: 500;
  letter-spacing: -1px;
  margin: 0;
  line-height: 1.2;
  color: #ffffffc7;
}

.navbar-toggler {
  border-color: #ffffff40;
  box-shadow: none !important;
}

.navbar-toggler:focus {
  box-shadow: none;
}

.header-menu {
  gap: .5rem;
}

.header-menu .nav-link {
  color: #ffffffc7;
  font-weight: 500;
  padding-left: .85rem;
  padding-right: .85rem;
}

.header-menu .nav-link:hover,
.header-menu .nav-link:focus {
  color: #fff;
  background: #ffffff14;
}

.hero-card {
  border: 1px solid #e6e8ec;
  overflow: hidden;
}

.hero-card-header {
  background: #fff;
  border-bottom: 1px solid #e6e8ec;
}

.form-select,
.alert,
.postal-card,
.about-card,
.content-card {
}

.postal-code-badge {
  font-size: 1.45rem;
  letter-spacing: .5px;
  color: #111827;
}

.place-list {
  max-height: 240px;
  overflow-y: auto;
}

.place-list li {
  margin-bottom: .25rem;
}

.postal-card {
  border: 1px solid #e6e8ec;
  background: #fff;
  transition: transform .15s ease, box-shadow .15s ease;
}

.postal-card:hover {
  box-shadow: 0 .75rem 1.5rem #11182714;
}

.about-card {
  border: 1px solid #e6e8ec;
}

.content-card {
  border: 1px solid #e6e8ec;
}

.breadcrumb-nav {
  --bs-breadcrumb-divider-color: #6c757d;
  font-size: .925rem;
}

.breadcrumb-nav a {
  color: #495057;
  text-decoration: none;
}

.breadcrumb-nav a:hover,
.breadcrumb-nav a:focus {
  color: #111827;
  text-decoration: underline;
}

.accordion-button {
  font-weight: 600;
}

.accordion-button:focus {
  box-shadow: none;
}

.site-footer {
  width: 100%;
  background: #181a1f;
  color: #ffffffb8;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-links a {
  color: #ffffffc7;
  text-decoration: none;
  font-size: .925rem;
}

.footer-links a:hover,
.footer-links a:focus {
  color: #fff;
  text-decoration: underline;
}

.form-select-lg {
  font-size: 16px;
}



.install-app-link {
  border: 1px solid #ffffff26;
  background: #ffffff12;
  color: #ffffffd9 !important;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

.install-app-link:hover,
.install-app-link:focus {
  color: #ffffff !important;
  background: #ffffff1f;
  border-color: #ffffff3d;
}

.install-app-link[disabled] {
  cursor: default;
  opacity: .68;
}

.install-app-icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.install-app-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  display: block;
}

@media (max-width: 991.98px) {
  .header-navbar-row {
    flex-wrap: wrap;
  }

  .site-logo {
    flex: 0 0 auto;
  }

  .site-title {
    flex: 1 1 auto;
    min-width: 0;
  }

  .navbar-toggler {
    flex: 0 0 auto;
  }

  .navbar-collapse {
    flex: 0 0 100%;
    width: 100%;
    margin-top: 1rem;
    padding: .75rem;
    background: #ffffff0f;
    border: 1px solid #ffffff1a;
  }

  .header-menu {
    width: 100%;
  }

  .header-menu .nav-link {
    padding: .75rem .85rem;
  }
}

/* Hesap makinesi entegrasyonu */
.calculator-shell {
  border: 1px solid #e6e8ec;
  overflow: hidden;
}
.calc-header { gap: 1rem; margin-bottom: 1rem; }
.calc-title-h1 { margin: 0; font-size: 1.75rem; line-height: 1.25; font-weight: 700; color: #111827; }
.share-buttons { gap: .5rem; }
.share-btn:hover, .share-btn:focus { background: #eef2f7; color: #111827; border-color: #cbd5e1; }
.share-btn svg { width: 18px; height: 18px; fill: currentColor; }
.share-btn .share-icon { display:flex; align-items:center; justify-content:center; width:18px; height:18px; }
.share-btn .share-icon-check { position:absolute; inset:0; width:100%; height:100%; opacity:0; visibility:hidden; transition:opacity .2s ease, visibility .2s ease; }
.share-btn .share-icon-copy { opacity:1; visibility:visible; transition:opacity .2s ease, visibility .2s ease; }
.share-btn.copied .share-icon-copy { opacity:0; visibility:hidden; }
.share-btn.copied .share-icon-check { opacity:1; visibility:visible; }
.share-btn.copied { background:#dcfce7; border-color:#86efac; color:#166534; }
.mini { min-height: 24px; font-size: .95rem; color: #a7b0be; text-align:right; word-break: break-all; }
.screen { min-height: 44px; font-size: 2.25rem; line-height:1.2; font-weight: 800; color:#fff; text-align:right; word-break: break-all; }
.keys { display:grid; grid-template-columns: repeat(4, 1fr); gap: .65rem; }
.btn-calc:hover, .btn-calc:focus { background:#eef2f7; box-shadow: 0 .5rem 1rem #1118270f; }
.btn-calc:active { transform: translateY(1px); }
.btn-fn { background:#f1f5f9; color:#334155; }
.btn-op { background:#e0f2fe; color:#075985; }
.btn-eq { background:#181a1f; color:#fff; grid-column: span 2; }
.btn-zero { grid-column: span 2; }
.calc-content p, .calc-content li { color:#6c757d; line-height:1.75; }
.calc-content ul { margin-bottom:0; }
@media (max-width:480px) { .calc-header { align-items:flex-start !important; flex-direction:column; } .share-buttons { margin-left:0 !important; } .calc-title-h1 { font-size:1.45rem; } .screen { font-size:1.9rem; } .btn-calc { height:58px; } .share-btn { width:38px; height:38px; } }


/* İnternet hız testi entegrasyonu */
.speedtest-page .speed-hero {
  background: linear-gradient(135deg, #ffffff, #f8fafc);
}

.speed-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .45rem .75rem;
  margin-bottom: 1rem;
  border: 1px solid #e6e8ec;
  background: #f8fafc;
  color: #495057;
  font-size: .925rem;
  font-weight: 700;
}

.speed-panel,
.results-panel {
  border: 1px solid #e6e8ec;
}

.speed-ring {
  width: 132px;
  height: 132px;
  background: linear-gradient(135deg, #181a1f, #22252c);
  color: #fff;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 .75rem 1.5rem #1118271a;
  flex: 0 0 auto;
}

.speed-ring span {
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -1px;
}

.speed-ring small {
  margin-top: .35rem;
  color: #ffffffb8;
  font-weight: 700;
}

.status-box {
  border: 1px solid #e6e8ec;
  background: #f8fafc;
  padding: 1rem;
  color: #495057;
}

.status-box strong {
  color: #111827;
}

.speed-progress {
  height: 12px;
  background: #e9ecef;
  overflow: hidden;
}

.speed-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(135deg, #181a1f, #3a3f4b);
  transition: width .25s ease;
}

.speed-start-button {
  min-height: 48px;
  font-weight: 800;
}

.speed-detail {
  border: 1px solid #e6e8ec;
  background: #fff;
  padding: 1rem;
}

.speed-detail p {
  color: #6c757d;
  line-height: 1.7;
}

.result-card {
  border: 1px solid #e6e8ec;
  background: #f8fafc;
  padding: 1.15rem;
}

.result-label {
  display: block;
  color: #6c757d;
  font-weight: 700;
  margin-bottom: .45rem;
}

.result-card strong {
  color: #111827;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: -1.5px;
}

.result-card small {
  color: #6c757d;
  font-weight: 700;
}

@media (max-width: 767.98px) {
  .speed-ring {
    width: 112px;
    height: 112px;
  }

  .speed-ring span {
    font-size: 2rem;
  }

  .result-card strong {
    font-size: 2.45rem;
  }
}

/* Profesyonel keskin hız testi düzeni */
*,
*::before,
*::after {
}

.speedtest-page {
  background: #eef2f6;
}

.speedtest-page > .container > .row > .col-12 {
  max-width: 1280px;
}

.speed-tool-shell {
  border: 1px solid #c7d0dd;
  background: #ffffff;
  box-shadow: 0 22px 55px rgba(15, 23, 42, .10);
}

.speed-tool-shell .col-lg-7,
.speed-tool-shell .col-lg-5 {
  display: flex;
}

.speed-panel,
.results-panel {
  width: 100%;
  border: 0 !important;
  box-shadow: none !important;
  background: #ffffff;
}

.results-panel {
  border-left: 1px solid #c7d0dd !important;
  background: #f8fafc;
}

.speed-heading {
  margin: -1.5rem -1.5rem 2rem;
  padding: 2rem;
  background: linear-gradient(135deg, #181a1f, #22252c);
  border: 1px solid #0f172a;
  color: #ffffff;
}

.speed-heading h1 {
  margin: 0 0 .75rem;
  color: #ffffff;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -1.6px;
}

.speed-heading p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, .76);
  font-size: 1.05rem;
  line-height: 1.65;
}

.speed-panel h2,
.results-panel h2,
.content-card h2 {
  color: #111827;
  font-weight: 800;
  letter-spacing: -.35px;
}

.speed-ring {
  border: 1px solid #111827;
  background: #181a1f;
  box-shadow: none;
}

.status-box {
  border: 1px solid #cbd5e1;
  background: #f8fafc;
}

.speed-progress {
  height: 14px;
  background: #e2e8f0;
}

.speed-progress span {
  background: #2563eb;
}

.form-select,
.form-select-lg,
.btn,
.accordion-button,
.accordion-item {
  box-shadow: none !important;
}

.form-select {
  border: 1px solid #cbd5e1;
  background-color: #f8fafc;
  min-height: 54px;
}

.speed-start-button {
  min-height: 58px;
  font-weight: 900;
  letter-spacing: -.25px;
}

.speed-start-button {
  background: #2563eb;
  border-color: #2563eb;
}

.speed-start-button:hover,
.speed-start-button:focus {
  background: #1d4ed8;
  border-color: #1d4ed8;
}

.speed-detail {
  border: 1px solid #cbd5e1;
  background: #ffffff;
}

.results-panel .card-body {
  justify-content: center;
}

.result-card {
  border: 1px solid #cbd5e1;
  background: #ffffff;
  padding: 1.45rem;
}

.result-label {
  color: #475569;
  font-size: .95rem;
  text-transform: uppercase;
  letter-spacing: .35px;
}

.result-card strong {
  color: #0f172a;
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 900;
}

.result-card small {
  color: #475569;
}

.content-card {
  border: 1px solid #c7d0dd;
  box-shadow: 0 16px 42px rgba(15, 23, 42, .07) !important;
}

.accordion-item {
  border-color: #cbd5e1;
}

.accordion-button:not(.collapsed) {
  background: #f1f5f9;
  color: #111827;
}

@media (min-width: 768px) {
  .speed-heading {
    margin: -3rem -3rem 2.25rem;
    padding: 2.4rem 3rem;
  }
}

@media (max-width: 991.98px) {
  .results-panel {
    border-left: 0 !important;
    border-top: 1px solid #c7d0dd !important;
  }
}

/* Son düzenlemeler: seçim kaldırıldı, mavi gösterge, tam genişlik buton */
.speed-ring {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
}

.speed-ring small {
  color: rgba(255, 255, 255, .88) !important;
}

.start-action {
  width: 100%;
}

.start-action .speed-start-button {
  display: block;
  width: 100%;
}

.results-panel .card-body {
  justify-content: flex-start;
}
