/* Erisilebilirlik menusu: sag arac cubugu butonu, paneldeki erisilebilirlik gorunumu ve
   <html> uzerindeki a11y-* tercih siniflari (_AccessibilityHead ve main.a11y.js ekler). */

/* ---------- Arac cubugu butonu ---------- */
.aeroland__toolbar .inner .a11y-toolbar-btn {
    display: block;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 4px 0 0 0;
    background: #a70301;
    color: #fff;
    font-size: 22px;
    line-height: 40px;
    cursor: pointer;
}

    .aeroland__toolbar .inner .a11y-toolbar-btn:hover,
    .aeroland__toolbar .inner .a11y-toolbar-btn[aria-expanded="true"] {
        background: #7a0201;
    }

    .aeroland__toolbar .inner .a11y-toolbar-btn:focus-visible {
        outline: 3px solid #f5c000 !important;
        outline-offset: -3px !important;
    }

/* Kapali panel ekran disinda olsa da icindeki ogeler klavyeyle odaklanabiliyordu; kayma bitince gizlenir. */
.demo-option-container .demo-option-wrapper {
    visibility: hidden;
    transition: visibility 0s linear .5s;
}

.demo-option-container.open .demo-option-wrapper {
    visibility: visible;
    transition-delay: 0s;
}

/* Fotograf goruntuleyici (lightGallery) modal pencere; sag arac cubugu onun ustunde kaliyordu, acikken gizlenir. */
body.lg-on .demo-option-container {
    display: none;
}

/* ---------- Panel gorunumleri ---------- */
.a11y-panel {
    display: none;
    padding: 30px 24px;
}

.demo-option-container[data-active-view="a11y"] .a11y-panel {
    display: block;
}

/* Portal icerigindeki bazi bloklarda satir ici display:block var, bu yuzden !important. */
.demo-option-container[data-active-view="a11y"] .demo-option-wrapper > :not(.a11y-panel) {
    display: none !important;
}

.a11y-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 24px;
}

/* Baslik h2; birim CSS'lerinin mobil blogundaki "h2 { font-size: 1.1em !important }" kurali buyutmesin diye !important. */
.a11y-panel__title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 18px !important;
}

    .a11y-panel__title i {
        color: #a70301;
        font-size: 24px;
    }

    .a11y-panel__title:focus {
        outline: none !important;
        box-shadow: none;
    }

.a11y-panel__close {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 50%;
    background: #fff;
    color: #333;
    font-size: 18px;
    line-height: 34px;
    cursor: pointer;
}

    .a11y-panel__close:hover {
        border-color: #a70301;
        color: #a70301;
    }

.a11y-panel__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.a11y-option {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 92px;
    padding: 14px 8px;
    border: 2px solid #eee;
    border-radius: 8px;
    background: #fff;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    cursor: pointer;
}

    .a11y-option i {
        font-size: 24px;
    }

    .a11y-option:hover {
        border-color: #a70301;
    }

    .a11y-option[aria-pressed="true"] {
        border-color: #a70301;
        background: #fdf1f1;
        color: #a70301;
    }

    .a11y-option--reset {
        grid-column: 1 / -1;
        flex-direction: row;
        min-height: 0;
        border-style: dashed;
    }

.a11y-panel__close:focus-visible,
.a11y-option:focus-visible {
    outline: 3px solid #a70301 !important;
    outline-offset: 2px !important;
}

.a11y-option__steps {
    display: flex;
    gap: 4px;
}

    .a11y-option__steps span {
        width: 16px;
        height: 4px;
        border-radius: 2px;
        background: #ddd;
    }

.a11y-option[data-level="1"] .a11y-option__steps span:nth-child(-n+1),
.a11y-option[data-level="2"] .a11y-option__steps span:nth-child(-n+2),
.a11y-option[data-level="3"] .a11y-option__steps span {
    background: #a70301;
}

/* Kademeli seceneklerde secili kademenin adi */
.a11y-option__value {
    display: none;
    font-size: 12px;
    font-weight: 400;
}

.a11y-option[data-level="1"] .a11y-option__value[data-level-label="1"],
.a11y-option[data-level="2"] .a11y-option__value[data-level-label="2"],
.a11y-option[data-level="3"] .a11y-option__value[data-level-label="3"] {
    display: block;
}

/* Deger isletim sistemi ayarindan geliyorsa */
.a11y-option__auto {
    display: none;
    position: absolute;
    top: 6px;
    right: 6px;
    padding: 1px 6px;
    border-radius: 8px;
    background: #f5c000;
    color: #000;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
}

.a11y-option[data-auto="true"] .a11y-option__auto {
    display: block;
}

/* Klavyeyle gelen icin sayfanin ilk odak noktasi; arac cubugu DOM'da footer'dan sonra kaliyor. */
.a11y-skip {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 100001;
    padding: 10px 16px;
    border: 0;
    border-radius: 4px;
    background: #a70301;
    color: #fff;
    font-weight: 700;
    transform: translateY(-200%);
}

    .a11y-skip:hover {
        color: #fff;
    }

    .a11y-skip:focus {
        transform: none;
        outline: 3px solid #f5c000 !important;
        transition: none;
    }

/* ---------- Genel sayfa duzeltmeleri ---------- */

/* Tema tum odak cercevelerini kaldiriyor (style.css: *:focus { outline: none !important; }).
   Klavyeyle gezinene geri verilir; fare tiklamasinda :focus-visible eslesmez.
   Beyaz golge, cerceve koyu zeminde (hero gorseli, kirmizi menu) de secilsin diye.
   Temadaki "transition: all .7s" cerceveyi geciktirmesin diye odakli ogede gecis kapali. */
html :focus-visible {
    outline: 3px solid #a70301 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #fff;
    transition: none !important;
}

/* "Icerige gec" hedefi. main'in kendi cercevesi konumlu cocuklarinin (slider, kartlar) altinda kaliyor ve ana
   sayfada kaydirilacak yer olmadigi icin atlama hic gorunmuyordu. Klavyeyle gelince gorunur alan, baslik altindan
   itibaren sabit bir katmanla cevrelenir; fareyle icerige tiklayinca da odak main'e gectigi icin :focus-visible.
   --a11y-skip-top'u main.a11y.js tiklama aninda yazar. */
#main-content:focus {
    outline: none !important;
    box-shadow: none;
}

#main-content:focus-visible::before {
    content: "";
    position: fixed;
    top: var(--a11y-skip-top, 0);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99990;
    box-shadow: inset 0 0 0 3px #a70301, inset 0 0 0 5px #fff;
    pointer-events: none;
}

html.a11y-contrast #main-content:focus-visible::before {
    box-shadow: inset 0 0 0 3px #ff0;
}

html.a11y-contrast-light #main-content:focus-visible::before {
    box-shadow: inset 0 0 0 3px #0000c8;
}

/* Mobil menu ac/kapat, arama kapat ve alt menu acma ogeleri div/span'den button'a cevrildi; tarayici dugme
   gorunumu sifirlanir. */
button.mobile-navigation-icon,
button.mobile-navigation-close-icon,
button.menu-expand {
    padding: 0;
    border: 0;
    background: transparent;
}

/* Tema ikon cizgisine (i, position:absolute) left vermiyor. div'de sorun degildi; button icerigi ortaladigi
   icin cizgi 12px saga kayip dar ekranda sayfa disina tasiyordu (375px'te 5px yatay kaydirma). */
button.mobile-navigation-icon i {
    left: 0;
}

/* Arama katmani beyaz zeminli ama tema yazi rengini beyaz veriyor; odak kutudan cikinca metin kayboluyordu. */
.search-overlay__form input {
    color: #333;
}

/* Sayfa basliklari h2/h3'ten h1'e cevrildi. Tema h1'i daha buyuk ciziyor; eski boyutlar korunur.
   Duyuru/etkinlik detayinda kategori adi (p) h1 degil, sayfanin h1'i duyurunun kendi basligi. */
p.breadcrumb-title {
    margin: 0;
    color: #fff;
    font-family: "CerebriSans";
    font-weight: 700;
    line-height: 1.41;
}

h1.breadcrumb-title,
p.breadcrumb-title {
    font-size: 48px;
}

h1.breadcrumb-title--h3 {
    font-size: 40px;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    h1.breadcrumb-title,
    p.breadcrumb-title {
        font-size: 36px;
    }

    h1.breadcrumb-title--h3 {
        font-size: 32px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    h1.breadcrumb-title,
    p.breadcrumb-title {
        font-size: 36px;
    }

    h1.breadcrumb-title--h3 {
        font-size: 28px;
    }
}

/* Birim CSS'lerinin mobil blogundaki genel "h1 { font-size: 1.2em !important }" kurali (asil hedefi ust kisimdaki
   birim adi) h3/h5'ten cevrilen basliklari kucultmesin diye bu iki boyut !important. */
@media only screen and (max-width: 767px) {
    h1.breadcrumb-title,
    p.breadcrumb-title {
        font-size: 30px;
    }

    h1.breadcrumb-title--h3 {
        font-size: 25px !important;
    }
}

/* Duyuru/etkinlik detayinda asil baslik h5'ten h1'e, "Etkinlik Detaylari" h5'ten h2'ye cevrildi; birim icerik
   sayfalarinda sayfa basligi h3/h4'ten h1'e cevrildi. Sag paneldeki portal basliklari da h5/h6'dan h2/h3'e indi.
   Eski boyutlar korunur; Bootstrap fs-* sinifi olan basliklar eskisi gibi o sinifin boyutunu alir. */
h1.post-title,
.a11y-h5 {
    font-size: 24px;
}

.a11y-h6 {
    font-size: 18px;
}

/* Ana sayfa bolum basliklari h3/h4'ten h2'ye, kart basliklari h5/h6'dan h3'e, altbilgi basliklari h6'dan h2'ye
   cevrildi. a11y-h3/h4 style.css'teki h3/h4 boyutlarini tasir. */
.a11y-h3 {
    font-size: 40px;
}

.a11y-h4 {
    font-size: 34px;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .a11y-h3 {
        font-size: 32px;
    }

    .a11y-h4 {
        font-size: 30px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .a11y-h3,
    .a11y-h4 {
        font-size: 28px;
    }
}

/* Birim CSS'lerinin mobildeki genel "h2 { font-size: 1.1em !important }" kurali h2'ye cevrilenleri kucultmesin. */
@media only screen and (max-width: 767px) {
    .a11y-h3:not([class*="fs-"]) {
        font-size: 25px !important;
    }

    .a11y-h4:not([class*="fs-"]) {
        font-size: 24px !important;
    }

    .a11y-h6:not([class*="fs-"]) {
        font-size: 18px !important;
    }
}

/* Baslik olmayan ama h5/h6 ile yazilmis metinler (alt baslik, tarih, "tumunu gor") div'e cevrildi. Gorunum
   style.css'teki h1-h6 taban kurali gibi; :where ozgullugu sifirlar, elemanin kendi siniflari eskisi gibi ustune yazar. */
:where(.a11y-text-h5, .a11y-text-h6) {
    color: #333333;
    font-family: "CerebriSans";
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.41;
}

:where(.a11y-text-h5) {
    font-size: 24px;
}

:where(.a11y-text-h6) {
    font-size: 18px;
}

h1.post-title.post-title--h3 {
    font-size: 40px;
}

h1.post-title.post-title--h4 {
    font-size: 34px;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    h1.post-title.post-title--h3 {
        font-size: 32px;
    }

    h1.post-title.post-title--h4 {
        font-size: 30px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    h1.post-title.post-title--h3,
    h1.post-title.post-title--h4 {
        font-size: 28px;
    }
}

@media only screen and (max-width: 767px) {
    h1.post-title:not([class*="fs-"]),
    .a11y-h5 {
        font-size: 20px !important;
    }

    :where(.a11y-text-h5) {
        font-size: 20px;
    }

    h1.post-title.post-title--h3:not([class*="fs-"]) {
        font-size: 25px !important;
    }

    h1.post-title.post-title--h4:not([class*="fs-"]) {
        font-size: 24px !important;
    }
}

/* Slayt onclick'li div yerine slaydi kaplayan bir baglantiyla acilir; adi AltText'ten gelir. Swiper kapsayicisi tasani
   kestigi icin odak cercevesi iceri cizilir; beyaz zemin her gorselde secilsin. */
.a11y-slide-link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}

html .a11y-slide-link:focus-visible {
    outline-offset: -5px !important;
    box-shadow: inset 0 0 0 8px #fff;
}

/* Birim slider basliklari h3'ten div'e cevrildi: bolum basligi degiller ve Swiper'in dongu kopyalariyla tekrar ediyorlardi.
   Gorunum style.css'teki h3 ve ".service-hero-text h3" kurallari. */
.service-hero-text .a11y-hero-title {
    color: #ffffff;
    font-family: "CerebriSans";
    font-size: 40px;
    font-weight: 700;
    line-height: 36px;
    margin-top: 0;
    margin-bottom: 20px;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .service-hero-text .a11y-hero-title {
        font-size: 32px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .service-hero-text .a11y-hero-title {
        font-size: 30px;
    }
}

@media only screen and (max-width: 767px) {
    .service-hero-text .a11y-hero-title {
        font-size: 22px;
    }
}

/* Slider basliklari h1'den h2'ye cevrildi (sayfada tek h1 kalsin). Temanin ".service-hero-text h1" kurallari h2'ye
   de uygulanir. :where ozgullugu dusurur; style.custom*.css'teki boyut ve Bootstrap fs-1 eskisi gibi ustune yazar. */
:where(.service-hero-text) h2 {
    color: #fff;
    font-weight: 700;
    font-size: 120px;
    line-height: 1.09;
}

@media only screen and (min-width: 1200px) and (max-width: 1499px) {
    :where(.service-hero-text) h2 {
        font-size: 100px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    :where(.service-hero-text) h2 {
        font-size: 80px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    :where(.service-hero-text) h2 {
        font-size: 60px;
    }
}

@media only screen and (max-width: 767px) {
    :where(.service-hero-text) h2 {
        font-size: 50px;
    }
}

@media only screen and (max-width: 575px) {
    :where(.service-hero-text) h2 {
        font-size: 44px;
    }
}

/* ---------- Tercihler ---------- */

/* main.a11y.js metin boyutunu olcerken kisa sureligine eklenir. */
html.a11y-measuring * {
    transition: none !important;
}

/* Yuksek kontrast. :where ile ozgulluk dusuk tutulur ki asagidaki baglanti ve panel kurallari kazansin. */
html.a11y-contrast body,
html.a11y-contrast body :where(*:not(img, video, iframe, canvas, svg, svg *)) {
    background-color: #000 !important;
    background-image: none !important;
    color: #fff !important;
    border-color: #fff !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

html.a11y-contrast body a,
html.a11y-contrast body a * {
    color: #ff0 !important;
}

html.a11y-contrast .a11y-option[aria-pressed="true"],
html.a11y-contrast .a11y-option[aria-pressed="true"] * {
    color: #ff0 !important;
    border-color: #ff0 !important;
}

html.a11y-contrast .a11y-option__steps span {
    border: 1px solid #fff !important;
}

html.a11y-contrast .a11y-option[data-level="1"] .a11y-option__steps span:nth-child(-n+1),
html.a11y-contrast .a11y-option[data-level="2"] .a11y-option__steps span:nth-child(-n+2),
html.a11y-contrast .a11y-option[data-level="3"] .a11y-option__steps span {
    background-color: #ff0 !important;
}

html.a11y-contrast :focus-visible {
    outline: 3px solid #ff0 !important;
    outline-offset: 2px !important;
}

/* Acik kontrast: beyaz zemin, siyah metin, alti cizili mavi baglanti. */
html.a11y-contrast-light body,
html.a11y-contrast-light body :where(*:not(img, video, iframe, canvas, svg, svg *)) {
    background-color: #fff !important;
    background-image: none !important;
    color: #000 !important;
    border-color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

html.a11y-contrast-light body a,
html.a11y-contrast-light body a * {
    color: #0000c8 !important;
    text-decoration: underline !important;
}

html.a11y-contrast-light .a11y-option[aria-pressed="true"] {
    outline: 2px solid #000 !important;
}

html.a11y-contrast-light .a11y-option__steps span {
    border: 1px solid #000 !important;
}

html.a11y-contrast-light .a11y-option[data-level="1"] .a11y-option__steps span:nth-child(-n+1),
html.a11y-contrast-light .a11y-option[data-level="2"] .a11y-option__steps span:nth-child(-n+2),
html.a11y-contrast-light .a11y-option[data-level="3"] .a11y-option__steps span {
    background-color: #000 !important;
}

html.a11y-contrast-light :focus-visible {
    outline: 3px solid #0000c8 !important;
    outline-offset: 2px !important;
}

/* Gri tonlama. Kok ogeye uygulanir: filter baska ogede fixed konumlu header ve paneli bozar, kokte bozmaz. */
html.a11y-grayscale {
    filter: grayscale(1);
}

/* Baglantilari vurgula */
html.a11y-links body a:not(.aeroland__toolbar *) {
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
    outline: 2px solid #a70301 !important;
    outline-offset: 2px !important;
}

html.a11y-contrast.a11y-links body a:not(.aeroland__toolbar *) {
    outline-color: #ff0 !important;
}

/* Animasyonlari durdur. Sure 0 yerine .01ms: animationend/transitionend bekleyen betikler (Bootstrap, WOW)
   olaysiz kalmasin. Slider'lar haric; onlarin gecis hizini main.a11y.js 0 yapiyor. */
html.a11y-motion,
html.a11y-motion *,
html.a11y-motion *::before,
html.a11y-motion *::after {
    animation-duration: .01ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
}

html.a11y-motion :not([class*="swiper-container"] *),
html.a11y-motion :not([class*="swiper-container"] *)::before,
html.a11y-motion :not([class*="swiper-container"] *)::after {
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
}

/* Panelin gorunurluk gecisi .01ms bile olsa acildigi anda "hidden" okunuyor ve odak basliga gecemiyordu. */
html.a11y-motion .demo-option-container .demo-option-wrapper {
    transition: none !important;
}

/* Okunakli yazi tipi. Ikon fontlari haric. */
html.a11y-font body,
html.a11y-font body :where(*:not(i, .fa, .fab, .fal, .far, .fas, [class*="fa-"])) {
    font-family: Verdana, Tahoma, Arial, sans-serif !important;
}

/* Metin araligi (WCAG 1.4.12 degerleri). Panel sabit kalir. */
html.a11y-spacing body :where(p, li, dd, dt, td, th, label, blockquote, a, span, h1, h2, h3, h4, h5, h6):not(.demo-option-container *) {
    line-height: 1.9 !important;
    letter-spacing: .12em !important;
    word-spacing: .16em !important;
}

/* Buyuk imlec; tiklanabilir ogelerde kirmizi. */
html.a11y-cursor,
html.a11y-cursor * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M6 4v34l9-8 6 14 6-3-6-13h12z' fill='%23000' stroke='%23fff' stroke-width='2.5' stroke-linejoin='round'/%3E%3C/svg%3E") 6 4, auto !important;
}

html.a11y-cursor a,
html.a11y-cursor a *,
html.a11y-cursor button,
html.a11y-cursor button *,
html.a11y-cursor label,
html.a11y-cursor select,
html.a11y-cursor summary,
html.a11y-cursor [role="button"] {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M6 4v34l9-8 6 14 6-3-6-13h12z' fill='%23a70301' stroke='%23fff' stroke-width='2.5' stroke-linejoin='round'/%3E%3C/svg%3E") 6 4, pointer !important;
}

html.a11y-cursor input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"]),
html.a11y-cursor textarea {
    cursor: text !important;
}

/* Sola hizala. Editorden gelen iki yana yasli ve ortali metin dahil (WCAG 1.4.8). */
html.a11y-align body :where(p, li, dd, dt, td, th, blockquote, figcaption, label, h1, h2, h3, h4, h5, h6, [style*="text-align"]):not(.demo-option-container *) {
    text-align: left !important;
}

/* Resimleri gizle. Yer korunur ki sayfa duzeni kaymasin. Satir ici arka plan gorseli olan alanlar
   (slider, icerik) koyu zemine doner; ustlerindeki beyaz metin okunur kalir. */
html.a11y-images body img,
html.a11y-images body picture,
html.a11y-images body video {
    visibility: hidden !important;
}

html.a11y-images body [style*="background-image"] {
    background-image: none !important;
    background-color: #4a4a4a !important;
}

/* Okuma rehberi: imleci izleyen cizgi ya da imlec cevresi disini karartan maske. Konumu main.a11y.js
   --a11y-guide-y ile verir. Renkler kontrast kurallarini ezmek icin !important. */
.a11y-guide > div {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    z-index: 99990;
    pointer-events: none;
}

html.a11y-guide-line .a11y-guide .a11y-guide__line {
    display: block;
    top: calc(var(--a11y-guide-y, 50vh) + 14px);
    height: 14px;
    border-top: 3px solid #f5c000 !important;
    border-bottom: 3px solid #f5c000 !important;
    background-color: #000 !important;
    opacity: .85;
}

html.a11y-guide-mask .a11y-guide .a11y-guide__top,
html.a11y-guide-mask .a11y-guide .a11y-guide__bottom {
    display: block;
    background-color: rgba(0, 0, 0, .6) !important;
}

.a11y-guide .a11y-guide__top {
    top: 0;
    height: max(0px, calc(var(--a11y-guide-y, 50vh) - 50px));
}

.a11y-guide .a11y-guide__bottom {
    top: calc(var(--a11y-guide-y, 50vh) + 50px);
    bottom: 0;
}
