/* ==========================================================================
   Biletstore — İçerik sayfaları (CMS sayfaları, Hakkımızda, Alıcı garantisi,
   İletişim, Kariyer, Kariyer detay). Sadece token kullanılır.
   ========================================================================== */

/* Legacy body sınıfı (static-page-detail-page) body'yi scroll container
   yapıp sticky içindekiler kutusunu bozuyordu. */
body.static-page-detail-page { overflow: visible; }

/* Legacy style.css ".col-lg-3 {flex:0 0 50%}" (<1200px) grid'i bozuyor; Bootstrap genişliklerine dön */
@media (max-width: 1199.98px) {
  .bb-content .col-lg-3 { flex: 0 0 auto; max-width: none; }
}

/* --- Sayfa başlığı ------------------------------------------------------- */
.bb-crumbs a { color: var(--text-muted); text-decoration: none; }
.bb-crumbs a:hover { color: var(--text-primary); }
.bb-lead { max-width: 72ch; }
@media (max-width: 575.98px) {
  .bb-content h1 { font-size: 2.25rem; }
  .bb-content h3, .bb-content .h3 { font-size: 1.5rem; }
}

/* --- İçindekiler (Bu sayfada) ------------------------------------------- */
@media (min-width: 992px) {
  .bb-toc { position: sticky; top: 1rem; }
}
.bb-toc a {
  display: flex; align-items: center; gap: .5rem;
  color: var(--text-secondary); text-decoration: none;
}
.bb-toc a::before {
  content: ""; flex: 0 0 auto; width: 2px; height: 16px;
  background: transparent; border-radius: 2px;
}
.bb-toc a:hover { color: var(--text-primary); }
.bb-toc a.active { color: var(--text-primary); }
.bb-toc a.active::before { background: var(--accent-solid); }
.bb-doc section[id], .bb-doc-cms [id] { scroll-margin-top: 1rem; }

/* --- Görseller ----------------------------------------------------------- */
.bb-doc-img {
  display: block; width: 100%; height: auto; max-height: 420px; object-fit: cover;
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
}

/* --- CMS (veritabanı) HTML içeriği -------------------------------------- */
.bb-doc-cms {
  color: var(--text-secondary);
  font-size: 1.0625rem; line-height: 1.7;
  overflow-wrap: anywhere;
}
.bb-doc-cms > :first-child { margin-top: 0 !important; }
.bb-doc-cms > :last-child { margin-bottom: 0 !important; }

/* Editörden gelen satır içi renk/arka plan/font stillerini nötralize et */
.bb-doc-cms [style],
.bb-doc-cms font {
  color: inherit !important;
  background-color: transparent !important;
  background-image: none !important;
  font-family: inherit !important;
  line-height: inherit !important;
}
.bb-doc-cms [bgcolor] { background-color: transparent !important; }

.bb-doc-cms.bb-doc-cms :is(h1, h2, h3, h4, h5, h6) {
  color: var(--text-primary) !important;
  font-weight: 500;
  margin: 2.5rem 0 1rem;
  letter-spacing: 0;
}
.bb-doc-cms h1, .bb-doc-cms h2 { font-size: 1.75rem; line-height: 1.2; }
.bb-doc-cms h3 { font-size: 1.375rem; line-height: 1.3; margin-top: 2rem; }
.bb-doc-cms h4, .bb-doc-cms h5, .bb-doc-cms h6 { font-size: 1.125rem; line-height: 1.4; margin-top: 1.5rem; }
@media (max-width: 575.98px) {
  .bb-doc-cms { font-size: 1rem; }
  .bb-doc-cms h1, .bb-doc-cms h2 { font-size: 1.5rem; }
  .bb-doc-cms h3 { font-size: 1.25rem; }
}

.bb-doc-cms p { margin: 0 0 1rem; }
.bb-doc-cms p, .bb-doc-cms li { max-width: 72ch; }
.bb-doc-cms ul, .bb-doc-cms ol { margin: 0 0 1rem; padding-left: 1.5rem; }
.bb-doc-cms ul { list-style: disc outside; }
.bb-doc-cms ol { list-style: decimal outside; }
.bb-doc-cms li { margin-bottom: .375rem; }
.bb-doc-cms li::marker { color: var(--text-muted); }
.bb-doc-cms.bb-doc-cms :is(strong, b) { font-weight: 500; color: var(--text-primary) !important; }

.bb-doc-cms.bb-doc-cms a {
  color: var(--text-accent) !important;
  text-decoration: underline; text-underline-offset: 2px;
}
.bb-doc-cms.bb-doc-cms a:hover { color: var(--accent-hover) !important; }

.bb-doc-cms img { max-width: 100%; height: auto; border-radius: var(--radius-md); }
.bb-doc-cms hr { border: 0; height: 1px; background: var(--border-subtle); opacity: 1; margin: 2rem 0; }
.bb-doc-cms blockquote {
  margin: 0 0 1rem; padding: .25rem 0 .25rem 1rem;
  border-left: 2px solid var(--accent-solid); color: var(--text-secondary);
}
.bb-doc-cms iframe, .bb-doc-cms video { max-width: 100%; }

.bb-doc-cms table {
  display: block; max-width: 100%; overflow-x: auto;
  border-collapse: collapse; margin: 0 0 1rem;
  font-size: .9375rem; width: max-content !important; height: auto !important;
  border: 0 !important;
}
.bb-doc-cms th, .bb-doc-cms td {
  border: 1px solid var(--border-subtle) !important;
  padding: .5rem .75rem; vertical-align: top; text-align: left;
  color: var(--text-secondary);
}
.bb-doc-cms.bb-doc-cms :is(th, thead td) { color: var(--text-primary) !important; font-weight: 500; background: var(--surface-raised) !important; }

/* Numaralı bölümler (eski CMS sayfalarında h2/h3 CSS sayacıyla numaralanıyordu) */
.bb-doc-numbered { counter-reset: bbsec; }
.bb-doc-numbered h2 { counter-increment: bbsec; counter-reset: bbsub; }
.bb-doc-numbered h2::before { content: counter(bbsec) ". "; }
.bb-doc-numbered h3 { counter-increment: bbsub; }
.bb-doc-numbered h3::before { content: counter(bbsec) "." counter(bbsub) ". "; color: var(--text-muted); }

/* --- Formlar (iletişim, kariyer başvurusu) ------------------------------- */
.bb-form input[type="file"].form-control { padding: .375rem .5rem; }
.bb-form input[type="file"]::file-selector-button {
  background: var(--surface-overlay); color: var(--text-primary);
  border: 0; border-radius: var(--radius-full);
  padding: .375rem .875rem; margin-right: .75rem;
}
.bb-form input[type="file"]:hover::file-selector-button { background: var(--border-default); }
.bb-subcard { border: 1px solid var(--border-subtle); border-radius: var(--radius-md); padding: 1rem; }

/* --- Kariyer listesi ----------------------------------------------------- */
.bb-career-row .bb-row-meta .bb-ico { color: var(--text-accent); }
@media (max-width: 575.98px) {
  .bb-career-row { flex-wrap: wrap; }
  .bb-career-row .bb-row-main { flex-basis: calc(100% - 60px); }
  .bb-career-row .btn { margin-left: 56px; }
}

/* --- SSS akordeonu: Bootstrap'ın mavi ok ikonu yerine token rengi -------- */
.bb-content .accordion-button { font-weight: 500; }
.bb-content .accordion-button::after,
.bb-content .accordion-button:not(.collapsed)::after {
  background-image: none !important;
  background-color: var(--text-muted);
  -webkit-mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e") center / contain no-repeat;
}
.bb-content .accordion-button:not(.collapsed)::after { background-color: var(--text-accent); }
