/* Marka paleti: #23045C · #34007E · #F7D149 */
:root,
[data-bs-theme="light"] {
  --gr-teal: #23045C;
  --gr-deep: #34007E;
  --gr-gold: #f7d149;
  --gr-gold-hover: #e8c43f;
  --gr-body: #eef1ef;

  --bs-primary: #23045C;
  --bs-primary-rgb: 35, 4, 92;
  --bs-link-color: #23045C;
  --bs-link-hover-color: #34007E;
  --bs-heading-color: #34007E;
  --bs-focus-ring-color: rgba(247, 209, 73, 0.55);
}

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.1rem #fff, 0 0 0 0.25rem rgba(247, 209, 73, 0.45);
}

html {
  position: relative;
  min-height: 100%;
}

/* Yönetim şablonu: flex kolon — içerik ile footer iç içe binmez */
body.layout-admin {
  margin-bottom: 0;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

body.layout-admin > header {
  flex-shrink: 0;
}

body.layout-admin > .admin-main-wrap {
  flex: 1 0 auto;
  min-width: 0;
}

body.layout-admin > footer.layout-admin-footer {
  flex-shrink: 0;
  margin-top: auto;
}

body.identity-body {
  margin-bottom: 0;
}

body.bg-body-tertiary {
  background-color: var(--gr-body) !important;
}

/* Müşteri: footer viewport altına yapışık */
html.h-100,
body.layout-home {
  height: 100%;
}

.layout-home-shell {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

.layout-home-shell > main {
  flex: 1 0 auto;
}

.layout-home-shell > footer {
  flex-shrink: 0;
}

.identity-login-card {
  border: 1px solid rgba(35, 4, 92, 0.1) !important;
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Üst bar (müşteri) ve yönetim navbar */
.site-top-header {
  background-color: var(--gr-deep) !important;
  border-color: rgba(247, 209, 73, 0.22) !important;
}

.gr-navbar {
  background-color: var(--gr-deep) !important;
  border-color: rgba(247, 209, 73, 0.2) !important;
}

.gr-navbar .nav-link {
  color: rgba(255, 255, 255, 0.88) !important;
}

.gr-navbar .nav-link:hover,
.gr-navbar .nav-link:focus {
  color: var(--gr-gold) !important;
}

.gr-navbar .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.35);
}

/* Vurgu butonu (Siteye git) */
.btn-gr-accent {
  --bs-btn-color: #34007E;
  --bs-btn-bg: #f7d149;
  --bs-btn-border-color: #f7d149;
  --bs-btn-hover-color: #34007E;
  --bs-btn-hover-bg: #e8c43f;
  --bs-btn-hover-border-color: #e8c43f;
  --bs-btn-active-color: #34007E;
  --bs-btn-active-bg: #d4b238;
  --bs-btn-active-border-color: #d4b238;
  --bs-btn-disabled-color: #34007E;
  --bs-btn-disabled-bg: #f7d149;
  --bs-btn-disabled-border-color: #f7d149;
  font-weight: 600;
}

.install-hero {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--bs-primary);
  color: #fff;
  font-weight: 600;
  flex-shrink: 0;
}

.platform-card {
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.platform-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 0.6rem 1.25rem rgba(52, 0, 126, 0.2) !important;
}

.platform-card-ios {
  background: linear-gradient(160deg, #34007E 0%, #23045C 55%, #0c322b 100%);
  border-color: rgba(247, 209, 73, 0.45) !important;
  color: #fff !important;
}

.platform-card-ios:hover {
  border-color: rgba(247, 209, 73, 0.75) !important;
}

.platform-card-ios .platform-card-title {
  color: #f7d149;
}

.platform-card-ios .platform-card-sub {
  color: rgba(255, 255, 255, 0.78) !important;
}

.platform-card-android {
  background: linear-gradient(160deg, #23045C 0%, #34007E 45%, #1a4540 100%);
  border-color: rgba(247, 209, 73, 0.4) !important;
  color: #fff !important;
}

.platform-card-android:hover {
  border-color: rgba(247, 209, 73, 0.7) !important;
}

.platform-card-android .platform-card-title {
  color: #f7d149;
}

.platform-card-android .platform-card-sub {
  color: rgba(255, 255, 255, 0.78) !important;
}

.platform-img {
  object-fit: contain;
  max-height: 120px;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.2));
}

/* iOS /launch talimat kutusu */
.platform-launch-card {
  background: linear-gradient(155deg, #34007E 0%, #23045C 50%, #0a2e28 100%);
  border: 1px solid rgba(247, 209, 73, 0.38);
  color: #fff;
}

.platform-launch-card h1 {
  color: #f7d149;
}

.platform-launch-card .text-secondary,
.platform-launch-card .text-muted {
  color: rgba(255, 255, 255, 0.78) !important;
}

.platform-launch-card code {
  color: #f7d149;
  background: rgba(0, 0, 0, 0.2);
  padding: 0.1rem 0.25rem;
  border-radius: 0.25rem;
}

/* Android kurulum kutusu */
.platform-install-card.platform-install-android {
  background: linear-gradient(155deg, #23045C 0%, #34007E 55%, #173d38 100%);
  border: 1px solid rgba(247, 209, 73, 0.35);
  color: #fff;
}

.platform-install-android h1 {
  color: #f7d149;
}

.platform-install-android .text-secondary,
.platform-install-android .text-muted {
  color: rgba(255, 255, 255, 0.76) !important;
}

.platform-install-android .btn-primary {
  border-color: rgba(247, 209, 73, 0.5);
}

/* Müşteri footer: mobilde 6×6 ızgara, her hücre 2×2; masaüstünde 3 sütun */
.footer-custom {
  background: linear-gradient(180deg, rgba(35, 4, 92, 0.04) 0%, #fff 40%) !important;
  border-color: rgba(35, 4, 92, 0.15) !important;
}

.footer-link-mosaic {
  display: grid;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

.footer-mosaic-inner {
  background: rgba(35, 4, 92, 0.07);
  border: 1px solid rgba(35, 4, 92, 0.16);
  padding: 0.5rem 0.35rem;
}

.footer-mosaic-inner--empty {
  background: rgba(35, 4, 92, 0.03);
  border-style: dashed;
  border-color: rgba(35, 4, 92, 0.1);
  min-height: 2.25rem;
}

.footer-mosaic-link {
  color: #34007E;
  word-break: break-word;
}

.footer-mosaic-link:hover {
  color: #23045C;
  text-decoration: underline !important;
}

.footer-mosaic-copy {
  border-color: rgba(35, 4, 92, 0.12) !important;
  color: rgba(52, 0, 126, 0.72);
}

@media (max-width: 767.98px) {
  .footer-link-mosaic {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: repeat(6, minmax(1.75rem, auto));
    gap: 0.3rem;
  }

  .footer-mosaic-cell:nth-child(1) { grid-column: 1 / 3; grid-row: 1 / 3; }
  .footer-mosaic-cell:nth-child(2) { grid-column: 3 / 5; grid-row: 1 / 3; }
  .footer-mosaic-cell:nth-child(3) { grid-column: 5 / 7; grid-row: 1 / 3; }
  .footer-mosaic-cell:nth-child(4) { grid-column: 1 / 3; grid-row: 3 / 5; }
  .footer-mosaic-cell:nth-child(5) { grid-column: 3 / 5; grid-row: 3 / 5; }
  .footer-mosaic-cell:nth-child(6) { grid-column: 5 / 7; grid-row: 3 / 5; }
  .footer-mosaic-cell:nth-child(7) { grid-column: 1 / 3; grid-row: 5 / 7; }
  .footer-mosaic-cell:nth-child(8) { grid-column: 3 / 5; grid-row: 5 / 7; }
  .footer-mosaic-cell:nth-child(9) { grid-column: 5 / 7; grid-row: 5 / 7; }

  .footer-mosaic-inner {
    min-height: 2.6rem;
    font-size: 0.7rem;
    line-height: 1.2;
    padding: 0.35rem 0.2rem;
  }
}

@media (min-width: 768px) {
  .footer-link-mosaic {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    gap: 0.65rem 1.25rem;
    max-width: none;
  }

  .footer-mosaic-cell:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
  }

  .footer-mosaic-inner {
    min-height: 0;
    padding: 0;
    background: transparent;
    border: none;
    display: block;
    text-align: start;
  }

  .footer-mosaic-inner--empty {
    min-height: 1.35rem;
    border: none;
    background: transparent;
  }

  .footer-mosaic-link {
    font-weight: 500;
  }
}

.site-logo {
  max-height: 44px;
  width: auto;
  object-fit: contain;
}

.site-logo--nav {
  max-height: 36px;
}

.site-top-header .site-logo {
  max-height: 40px;
}

footer.footer.text-muted,
footer.layout-admin-footer.text-muted {
  color: rgba(52, 0, 126, 0.68) !important;
  border-color: rgba(35, 4, 92, 0.12) !important;
  white-space: normal;
}
