/*
 * Onder Yazilim - Fiori (Horizon) skin. D-037.
 *
 * Kurallar:
 *  - Renkler yalniz SAP tema parametrelerinden (var(--sap...)); boylece
 *    sap_horizon / sap_horizon_dark arasinda ek kural gerekmez.
 *  - Floorplan'lar (DynamicPage / ObjectPageLayout) kendi icinde kayar; sayfa
 *    genisligi --oyGutter ile ortalanir (genis ekranda 76rem okuma alani).
 *  - Sinif onekleri: oyShell/oyHeader (kabuk), oyPage (floorplan), oyCard,
 *    oySection, oyFooter, oyArticle (makale bloklari).
 */

:root {
    --oyMaxWidth: 76rem;
    --oyGutter: max(2rem, calc((100vw - var(--oyMaxWidth)) / 2));
    --oyRadius: var(--sapTile_BorderCornerRadius, 1rem);
    --oyRadiusSm: var(--sapElement_BorderCornerRadius, 0.75rem);
    --oyTint: color-mix(in srgb, var(--sapBrandColor) 8%, var(--sapBackgroundColor));
    --oyTintStrong: color-mix(in srgb, var(--sapBrandColor) 14%, var(--sapTile_Background));
}

@media (max-width: 37.5rem) {
    :root {
        --oyGutter: 1rem;
    }
}

/* ===================================================================
 * Kabuk (ToolPage + ToolHeader)
 * =================================================================== */
html,
body {
    height: 100%;
}

/* D-038: on-render kopyasi dururken uygulama gizli ve ayni yerde cizilir (akisi itmez);
   BaseController#revealApp kopyayi kaldirinca kural kendiliginden duser. ComponentSupport
   data-sap-ui-component ozniteligini kaldirdigi icin data-name'e baglanir. */
#static-fallback ~ [data-name="onderyazilim.fiori"] {
    visibility: hidden;
    position: fixed;
    inset: 0;
}

/* D-038: on-render sayfada secilen tema CSS'i inene kadar (boot.js); stilsiz boyama/kayma olmasin */
.oyThemePending body {
    visibility: hidden;
}

/* D-038 (A11Y-02): "Icerige gec" linki yalniz klavye odaginda gorunur */
.oySkipLink.sapMLnk {
    position: absolute;
    left: -100vw;
    z-index: 10;
}

.oySkipLink.sapMLnk:focus {
    left: 0.5rem;
    top: 0.5rem;
}

/* D-038 (GUV-05): honeypot alani ekran disinda (display:none olsa botlar atlar) */
.oyHoneypot {
    position: absolute !important;
    left: -100vw;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.oyArticle__tableWrap {
    overflow-x: auto;
}

.oyShell .sapTntToolPageMainContentWrapper {
    background: var(--sapBackgroundColor);
}

.oyHeader.sapTntToolHeader {
    padding-inline: calc(var(--oyGutter) - 0.5rem);
    box-shadow: var(--sapContent_HeaderShadow, var(--sapContent_Shadow0));
    position: relative;
    z-index: 5;
}

.oyHeader__logo {
    cursor: pointer;
    margin-inline-end: 0.5rem;
}

.oyHeader__brand.sapMLnk {
    font-family: var(--sapFontHeaderFamily);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--sapTextColor);
    margin-inline-end: 1.5rem;
    white-space: nowrap;
}

.oyHeader__brand.sapMLnk:hover {
    color: var(--sapTextColor);
    text-decoration: none;
}

/* D-038: ust menu gercek linkler; aktif oge alt cizgiyle (Horizon sekme vurgusu gibi) */
.oyHeader__nav {
    display: flex;
    align-items: stretch;
    align-self: stretch;
    gap: 0.25rem;
}

.oyHeader__navLink.sapMLnk {
    display: inline-flex;
    align-items: center;
    padding-inline: 0.75rem;
    color: var(--sapTextColor);
    font-family: var(--sapFontSemiboldDuplexFamily, var(--sapFontFamily));
    border-bottom: 0.1875rem solid transparent;
    white-space: nowrap;
}

.oyHeader__navLink.sapMLnk:hover {
    color: var(--sapLinkColor);
    text-decoration: none;
}

.oyHeader__navLink--active.sapMLnk {
    color: var(--sapSelectedColor);
    border-bottom-color: var(--sapSelectedColor);
}

/* D-038: href tasiyan buton gorunumlu link (sap.m.Button href desteklemiyor; gezinme <a> olmali) */
.oyBtnLink.sapMLnk {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    box-sizing: border-box;
    min-height: var(--sapElement_Height, 2.25rem);
    padding: 0 0.875rem;
    border: 1px solid var(--sapButton_BorderColor);
    border-radius: var(--sapButton_BorderCornerRadius);
    background: var(--sapButton_Background);
    --oyBtnText: var(--sapButton_TextColor);
    color: var(--oyBtnText);
    font-family: var(--sapFontSemiboldDuplexFamily, var(--sapFontFamily));
    /* Horizon acik tema linklere beyaz text-shadow verir; mavi zeminde beyaz yazinin
       etrafinda bulanik hale olusturup okunurlugu bozuyordu */
    text-shadow: none;
    white-space: nowrap;
}

.oyBtnLink.sapMLnk:hover {
    background: var(--sapButton_Hover_Background);
    border-color: var(--sapButton_Hover_BorderColor);
    --oyBtnText: var(--sapButton_Hover_TextColor);
}

.oyBtnLink.sapMLnk:hover .sapMLnkText,
.oyBtnLink.sapMLnk:hover {
    text-decoration: none;
}

.oyBtnLink--emphasized.sapMLnk {
    background: var(--sapButton_Emphasized_Background);
    border-color: var(--sapButton_Emphasized_BorderColor);
    --oyBtnText: var(--sapButton_Emphasized_TextColor);
}

.oyBtnLink--emphasized.sapMLnk:hover {
    background: var(--sapButton_Emphasized_Hover_Background);
    border-color: var(--sapButton_Emphasized_Hover_BorderColor);
    --oyBtnText: var(--sapButton_Emphasized_Hover_TextColor);
}

/* Renk degisken uzerinden: UI5'in "html.sap-desktop .sapMLnk:...:hover" kurali <a>'nin rengini
   link mavisine cevirir (secicisi daha guclu); mavi butonda yazi zeminle ayni renk olup kayboluyordu.
   Yazi her zaman span.sapMLnkText icinde (LinkRenderer), rengi dogrudan ona verilir. */
.oyBtnLink.sapMLnk .sapUiIcon,
.oyBtnLink.sapMLnk .sapMLnkText {
    color: var(--oyBtnText);
    text-shadow: none;
}

/* Kartin tamami tiklanabilir: basliktaki tek link kartin uzerine genisler */
.oyCard--interactive.sapFCard {
    position: relative;
}

/* UI5 VBox/HBox ogeleri position:relative sarmalayicilara (.sapMFlexItem) koyar; link alani
   en yakin konumlu ataya kadar genisledigi icin kart ile link arasindakiler static olmali */
.oyCard--interactive .sapFCardContent,
.oyCard--interactive .sapMFlexItem,
.oyCard--interactive .oyCard__title.sapMTitle {
    position: static;
}

.oyStretchedLink.sapMLnk {
    color: inherit;
    font: inherit;
}

.oyStretchedLink.sapMLnk::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

.oyStretchedLink.sapMLnk:hover,
.oyStretchedLink.sapMLnk:hover .sapMLnkText {
    text-decoration: none;
}

.oyCard--interactive.sapFCard:hover .oyStretchedLink .sapMLnkText {
    color: var(--sapLinkColor);
}

.oyHeader__lang .sapMBtnContent {
    font-weight: 700;
}

@media (min-width: 48rem) {
    .oyHeader__menuBtn {
        display: none !important;
    }
}

/* D-038 (STR-05): genis ekranda kabuk CTA'si var; sayfa basligindaki ikinci CTA gizlenir */
@media (min-width: 64rem) {
    .sapMLnk.oyCtaNarrowOnly {
        display: none;
    }
}

@media (max-width: 47.99rem) {
    .oyHeader__nav {
        display: none !important;
    }
}

@media (max-width: 63.99rem) {
    .oyHeader__cta {
        display: none !important;
    }
}

@media (max-width: 22rem) {
    .oyHeader__brand {
        display: none !important;
    }
}

.oyMenuPopover .sapTntNL {
    padding-block: 0.5rem;
}

/* ===================================================================
 * Floorplan ortak
 * =================================================================== */
.oyPage {
    background: var(--sapBackgroundColor);
}

/* DynamicPage: icerik dolgusu bizim konteynerlerde (footer kenardan kenara) */
.oyPage.sapFDynamicPage .sapFDynamicPageContent {
    padding: 0 !important;
}

.oyPage.sapFDynamicPage .sapFDynamicPageTitle,
.oyPage.sapFDynamicPage .sapFDynamicPageHeader {
    padding-inline: var(--oyGutter) !important;
}

.oyPage.sapFDynamicPage .sapFDynamicPageHeaderContent {
    padding-inline: 0 !important;
    padding-bottom: 1rem;
}

.oyPageContent {
    min-height: 100%;
}

.oyContainer {
    box-sizing: border-box;
    width: 100%;
    padding-inline: var(--oyGutter);
    padding-top: 2rem;
}

.oyPageTitle.sapMTitle {
    font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.oyPageSubtitle.sapMText {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--sapContent_LabelColor);
    max-width: 48rem;
}

.oyEyebrow.sapMText {
    color: var(--sapBrandColor);
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.02em;
}

/* Kelimeler yalniz satira sigmiyorsa bolunur (uzun ABAP/CDS ifadeleri); heceleme yok */
.sapMTitle.sapMTitleWrap,
.oyPageTitle,
.oyHero__title {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: manual;
}

/* ===================================================================
 * Bolum basliklari, aksiyonlar, rozetler, paragraflar
 * =================================================================== */
.oySection {
    margin-top: 3.5rem;
}

.oySection--tight {
    margin-top: 2rem;
}

/* D-038: DynamicPage'e donen sayfalarda (Hakkimda, hizmet detay) bolum = basliksiz VBox + H2 */
.oyContainer > .oySection:first-child {
    margin-top: 0;
}

.oySection > .oySectionHead__title.sapMTitle {
    margin-bottom: 0.75rem;
}

.oySectionHead {
    margin-bottom: 1.25rem;
    gap: 0.75rem;
}

.oySectionHead--center {
    align-items: center;
    text-align: center;
}

.oySectionHead__title.sapMTitle {
    font-size: clamp(1.375rem, 1.15rem + 0.9vw, 1.75rem);
    line-height: 1.25;
    font-weight: 700;
}

.oySectionHead__subtitle.sapMText {
    display: block;
    margin-top: 0.375rem;
    color: var(--sapContent_LabelColor);
    line-height: 1.55;
}

.oyActions {
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.oyParagraph.sapMText {
    display: block;
    line-height: 1.7;
    margin-top: 0.75rem;
}

.oyBadge {
    align-self: flex-start;
    margin-bottom: 0.75rem;
}

/* ===================================================================
 * Kartlar
 * =================================================================== */
.oyCard.sapFCard {
    height: 100%;
    border-radius: var(--oyRadius);
    overflow: hidden;
}

.oyCard.sapFCard > .sapFCardContent,
.oyCard .sapFCardContent {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.oyCard--interactive.sapFCard {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.oyCard--interactive.sapFCard:hover {
    transform: translateY(-2px);
    box-shadow: var(--sapContent_Shadow2);
}

.oyCard__body {
    box-sizing: border-box;
    flex: 1 1 auto;
    padding: 1.5rem;
    gap: 0.5rem;
}

.oyCard__icon.sapUiIcon {
    width: 3rem;
    height: 3rem;
    line-height: 3rem;
    font-size: 1.375rem;
    text-align: center;
    border-radius: var(--oyRadiusSm);
    color: var(--sapBrandColor);
    background: var(--oyTintStrong);
    margin-bottom: 0.5rem;
}

.oyCard__title.sapMTitle {
    font-size: 1.125rem;
    line-height: 1.35;
    font-weight: 700;
}

.oyCard__text.sapMText {
    color: var(--sapContent_LabelColor);
    line-height: 1.6;
}

.oyCard__more {
    margin-top: auto;
    padding-top: 0.75rem;
    gap: 0.375rem;
    color: var(--sapLinkColor);
}

.oyCard__more .sapMText,
.oyCard__more .sapUiIcon {
    color: inherit;
    font-weight: 600;
}

.oyCard__list {
    margin-top: 0.25rem;
}

/* Gorseller: sabit en-boy orani + cover; kartta kenara yaslanan medya */
.oyMedia {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: var(--oyRadiusSm);
    background: var(--sapField_Background);
}

.oyMedia--16x9 {
    aspect-ratio: 16 / 9;
}

.oyMedia--4x3 {
    aspect-ratio: 4 / 3;
}

.oyPostCard__inner {
    height: 100%;
}

.oyPostCard__media {
    border-radius: 0;
}

.oyPostCard__meta {
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

.oyPostCard__date.sapMText {
    color: var(--sapContent_LabelColor);
    font-size: 0.8125rem;
}

/* Gorsel + metin bolmesi */
.sapMFlexBox.oySplit {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 2.5rem;
    align-items: center;
    padding: 1.5rem;
}

.sapMFlexBox.oySplit[data-reverse="true"] > :first-child {
    order: 2;
}

.oySplit__text {
    padding-block: 0.5rem;
}

@media (max-width: 56rem) {
    .sapMFlexBox.oySplit {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.25rem;
        padding: 1rem;
    }

    .sapMFlexBox.oySplit[data-reverse="true"] > :first-child {
        order: 0;
    }
}

/* Onay isaretli madde listesi */
.oyCheckList {
    gap: 0.5rem;
    margin-top: 1rem;
}

.oyCheckList__item {
    gap: 0.625rem;
}

.oyCheckList__item .sapUiIcon {
    color: var(--sapPositiveElementColor, var(--sapPositiveColor));
    margin-top: 0.2rem;
}

.oyCheckList__item .sapMText {
    line-height: 1.55;
}

/* Etiket bulutu */
.oyTags {
    gap: 0.5rem;
}

.oyTag.sapMObjStatus {
    font-weight: 600;
}

/* ===================================================================
 * Ana sayfa
 * =================================================================== */
.oyHero {
    background:
        radial-gradient(60rem 30rem at 85% -10%, color-mix(in srgb, var(--sapBrandColor) 16%, transparent), transparent 70%),
        linear-gradient(180deg, var(--oyTint), var(--sapBackgroundColor));
    border-bottom: 1px solid var(--sapGroup_TitleBorderColor);
}

.sapMFlexBox.oyHero__inner {
    display: grid;
    grid-template-columns: minmax(0, 52rem) minmax(12rem, auto);
    justify-content: space-between;
    gap: 3rem;
    align-items: center;
    box-sizing: border-box;
    padding: 4rem var(--oyGutter) 3.5rem;
}

.oyHero__title.sapMTitle {
    margin-top: 0.75rem;
    font-size: clamp(1.875rem, 1.2rem + 2.4vw, 3rem);
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.015em;
}

.oyHero__subtitle.sapMText {
    display: block;
    margin-top: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.65;
    color: var(--sapContent_LabelColor);
    max-width: 42rem;
}

.oyHero .oyActions {
    margin-top: 2rem;
}

@media (max-width: 56rem) {
    .sapMFlexBox.oyHero__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
}

/* D-038 (STR-03): hero istatistikleri - genis ekranda sag sutun, dar ekranda satir */
.oyStats.sapMVBox {
    gap: 1.5rem;
    padding-inline-start: 2rem;
    border-inline-start: 1px solid var(--sapGroup_TitleBorderColor);
}

.oyStats__value.sapMText {
    display: block;
    font-family: var(--sapFontHeaderFamily);
    font-size: clamp(1.75rem, 1.2rem + 1.4vw, 2.5rem);
    font-weight: 800;
    line-height: 1.1;
    color: var(--sapTextColor);
}

.oyStats__label.sapMText {
    display: block;
    margin-top: 0.25rem;
    color: var(--sapContent_LabelColor);
}

@media (max-width: 56rem) {
    .oyStats.sapMVBox {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1.25rem 2rem;
        padding-inline-start: 0;
        padding-top: 1.5rem;
        border-inline-start: 0;
        border-top: 1px solid var(--sapGroup_TitleBorderColor);
    }
}

/* Referans logolari: beyaz zemin (logolar acik zemine gore tasarlanmis) */
.oyLogos__item {
    height: 5.5rem;
    padding: 1rem 1.25rem;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid var(--sapTile_BorderColor);
    border-radius: var(--oyRadiusSm);
}

.oyLogos__img {
    width: 100%;
    height: 2.5rem;
    object-fit: contain;
    filter: grayscale(1);
    opacity: 0.75;
    transition: filter 0.2s ease, opacity 0.2s ease;
}

.oyLogos__item:hover .oyLogos__img {
    filter: none;
    opacity: 1;
}

/* ===================================================================
 * ObjectPage ortak: tum katmanlar --oyGutter ile ayni hizada
 * =================================================================== */

/* Bolumler beyaz panel degil: kartlar dogrudan sayfa zemininde (ic ice kart yok) */

/* Footer alt bolumu: kenardan kenara */

/* ===================================================================
 * Footer (her sayfanin sonunda) + CTA bandi
 * =================================================================== */
.oyFooter {
    margin-top: 4.5rem;
}

.oyCtaBand {
    padding-inline: var(--oyGutter);
    margin-bottom: 3rem;
}

.oyCtaBand__inner {
    box-sizing: border-box;
    gap: 1.5rem;
    padding: 2rem 2.5rem;
    border-radius: var(--oyRadius);
    background:
        radial-gradient(40rem 16rem at 100% 0%, color-mix(in srgb, var(--sapBrandColor) 18%, transparent), transparent 70%),
        var(--oyTintStrong);
    border: 1px solid color-mix(in srgb, var(--sapBrandColor) 22%, transparent);
}

.oyCtaBand__text {
    flex: 1 1 22rem;
}

.oyCtaBand__title.sapMTitle {
    font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.625rem);
    font-weight: 700;
}

.oyCtaBand__body.sapMText {
    display: block;
    margin-top: 0.5rem;
    color: var(--sapContent_LabelColor);
}

.oyCtaBand__actions {
    gap: 0.75rem;
}

@media (max-width: 37.5rem) {
    .oyCtaBand__inner {
        padding: 1.5rem 1.25rem;
    }
}

.oyFooter__main {
    box-sizing: border-box;
    padding: 3rem var(--oyGutter) 2rem;
    background: var(--sapTile_Background);
    border-top: 1px solid var(--sapGroup_TitleBorderColor);
}

.sapMFlexBox.oyFooter__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
    gap: 2rem;
}

.oyFooter__col {
    gap: 0.5rem;
}

.oyFooter__brand {
    gap: 0.625rem;
    margin-bottom: 0.5rem;
}

.oyFooter__brandName.sapMTitle {
    font-size: 1.125rem;
    font-weight: 700;
}

.oyFooter__desc.sapMText {
    line-height: 1.6;
    color: var(--sapContent_LabelColor);
    max-width: 22rem;
}

.oyFooter__muted.sapMText {
    color: var(--sapContent_LabelColor);
    font-size: 0.875rem;
}

.oyFooter__heading.sapMTitle {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--sapContent_LabelColor);
    margin-bottom: 0.25rem;
}

.oyFooter__contactRow {
    gap: 0.5rem;
}

.oyFooter__icon.sapUiIcon {
    color: var(--sapContent_IconColor);
}

.oyFooter__bottom {
    margin-top: 2.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--sapGroup_TitleBorderColor);
    gap: 1rem;
}

.oyFooter__legal {
    gap: 1.25rem;
}

@media (max-width: 56rem) {
    .sapMFlexBox.oyFooter__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 37.5rem) {
    .sapMFlexBox.oyFooter__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.5rem;
    }
}

/* ===================================================================
 * Cerez bandi (ekranin altinda yuzen serit)
 * =================================================================== */
.oyCookie {
    position: fixed;
    z-index: 50;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    max-width: 60rem;
    margin-inline: auto;
    box-sizing: border-box;
    padding: 0.875rem 1rem 0.875rem 1.25rem;
    gap: 0.75rem 1.5rem;
    background: var(--sapTile_Background);
    border: 1px solid var(--sapTile_BorderColor);
    border-radius: var(--oyRadius);
    box-shadow: var(--sapContent_Shadow3);
}

.oyCookie__text {
    flex: 1 1 24rem;
    gap: 0.75rem;
}

.oyCookie__icon.sapUiIcon {
    font-size: 1.25rem;
    color: var(--sapBrandColor);
    flex-shrink: 0;
}

.oyCookie__text .sapMText {
    line-height: 1.5;
}

.oyCookie__buttons {
    gap: 0.5rem 0.75rem;
    margin-inline-start: auto;
}

/* ===================================================================
 * ObjectPage basligi (profil, hizmet, makale)
 * =================================================================== */
.oyOpTitle.sapMTitle {
    font-size: 1.375rem;
    font-weight: 700;
}

.oyOpSnapped {
    gap: 0.75rem;
}

.oyOpRole.sapMText {
    color: var(--sapContent_LabelColor);
}

.sapMFlexBox.oyOpHeader {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding-block: 0.5rem 1rem;
}

.oyOpHeader__avatar {
    flex-shrink: 0;
    box-shadow: 0 0 0 4px var(--sapTile_Background), 0 0 0 6px var(--sapBrandColor);
}

.oyOpHeader__text {
    gap: 0.75rem;
    min-width: 0;
}

.oyOpHeader__facts {
    gap: 0.5rem 1.5rem;
    margin-top: 0.25rem;
}

.oyOpFact .sapMObjStatusText,
.oyOpFact .sapMObjStatusIcon {
    color: var(--sapContent_LabelColor);
    white-space: normal;
}

@media (max-width: 37.5rem) {
    .sapMFlexBox.oyOpHeader {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.25rem;
    }
}

/* ObjectPage bolum icerikleri */
.oyProse {
    max-width: 52rem;
}

.oyBlockLead.sapMText {
    margin: 0 0 1.25rem;
}

.oyBlockTitle.sapMTitle {
    margin: 1.75rem 0 0.75rem;
    font-size: 1.125rem;
    font-weight: 700;
}

.oyStrip.sapMMsgStrip {
    margin-top: 1.25rem;
}

.sapMFlexBox.oySplit--flat {
    padding: 0;
    align-items: start;
}

/* Hakkimda > Hikayem: metin agirlikli; gorsel daha dar, metinle dikeyde ortali */
.sapMFlexBox.oySplit--story {
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
    align-items: center;
    gap: 3rem;
}

.oySplit--story .oySplit__text {
    padding-block: 0;
}

.oySplit--story .oySplit__text .sapMVBox > .sapMFlexItem:first-child > .oyParagraph.sapMText {
    margin-top: 0;
}

@media (max-width: 56rem) {
    .sapMFlexBox.oySplit--story {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.5rem;
    }

    .oySplit--story .oyMedia {
        max-width: 32rem;
    }
}

/* ===================================================================
 * Liste sayfalari (Hizmetler, Urunler)
 * =================================================================== */
.oyIntro {
    gap: 1.25rem;
    padding: 1.5rem;
    margin-bottom: 2rem;
    border-radius: var(--oyRadius);
    background: var(--oyTintStrong);
    border: 1px solid color-mix(in srgb, var(--sapBrandColor) 20%, transparent);
}

.oyIntro .oyCard__icon {
    margin: 0;
    background: var(--sapTile_Background);
    flex-shrink: 0;
}

.oyIntro__text {
    gap: 0.375rem;
}

.oyStack {
    gap: 1.5rem;
}

.oyIntro--cta {
    margin: 2rem 0 0;
}

.oyIntro--cta .oyIntro__text {
    flex: 1 1 24rem;
    gap: 1rem;
}

.oyProduct__head {
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.oyProduct__titles {
    gap: 0.25rem;
    min-width: 0;
}

.oyProduct__avatar {
    flex-shrink: 0;
}

/* Hizmet detay: baslik icerigindeki teknoloji yigini */
.oyOpTech {
    gap: 0.5rem;
    padding-bottom: 0.5rem;
}

.oyOpTech__label.sapMLabel {
    font-weight: 600;
    color: var(--sapContent_LabelColor);
}

/* SSS */
.oyFaq {
    gap: 0.75rem;
    max-width: 56rem;
}

.oyFaq__item.sapMPanel {
    border-radius: var(--oyRadiusSm);
    overflow: hidden;
    box-shadow: var(--sapContent_Shadow0);
    background: var(--sapTile_Background);
}

.oyFaq__item .sapMPanelHdr,
.oyFaq__item .sapMPanelWrappingDiv {
    font-weight: 600;
}

.oyFaq__answer.sapMText {
    line-height: 1.65;
}

/* Ilgili icerik listesi */
.oyLinkList {
    gap: 0.75rem;
    max-width: 56rem;
    margin-bottom: 1.5rem;
}

.oyLinkList__link .sapMLnkIcon {
    margin-inline-end: 0.5rem;
}

/* ===================================================================
 * Makale sayfalari (blog, urun dokumani, KVKK) - SectionFactory.populateArticle
 * D-038 (FIO-01): baslikla ayni sol hizada 46rem okuma sutunu + 16rem yapiskan
 * Icindekiler; dar ekranda Icindekiler govdenin ustunde katlanir panel.
 * =================================================================== */
.oyArticlePage .oyPageContent {
    background: var(--sapTile_Background);
}

.oyArticleLayout {
    display: flex;
    align-items: flex-start;
    gap: 3rem;
    box-sizing: border-box;
    padding: 2rem var(--oyGutter) 3rem;
}

.oyArticleLayout > .sectionArticle {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 46rem;
}

.oyArticleLayout > .sectionArticle--wide {
    max-width: none;
}

.oyArticleLayout__toc {
    flex: 0 0 16rem;
    position: sticky;
    top: 1rem;
}

@media (max-width: 63.99rem) {
    .oyArticleLayout {
        flex-direction: column;
        gap: 1.5rem;
        padding-top: 1.5rem;
    }

    .oyArticleLayout > .sectionArticle {
        max-width: none;
        width: 100%;
    }

    .oyArticleLayout__toc {
        order: -1;
        position: static;
        flex-basis: auto;
        width: 100%;
    }

    /* On-render kopyasi masaustu genisliginde (panel acik) yakalanir; dar ekranda uygulama paneli
       kapali cizer. Kopya da kapali gorunsun: aksi halde devralmada makale yukari kayip LCP gecikir. */
    #static-fallback .oyArticleLayout__toc .sapMPanelContent {
        display: none;
    }
}

.oyArticleHead {
    gap: 0.625rem;
    padding-bottom: 0.25rem;
}

.oyArticleHead__meta.sapMFT,
.oyArticleHead__meta p {
    margin: 0;
    color: var(--sapContent_LabelColor);
    font-size: 0.875rem;
}

.oyArticle__heading.sapMTitle {
    margin-top: 1.25rem;
    line-height: 1.3;
    font-weight: 700;
}

.oyArticle__heading--h2.sapMTitle {
    margin-top: 0;
    font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.625rem);
}

.oyArticle__heading--h3.sapMTitle {
    font-size: 1.1875rem;
}

.oyArticle__heading--h4.sapMTitle {
    font-size: 1.0625rem;
}

.oyArticle__headingRow {
    gap: 0.75rem;
}

.oyArticle__sourceLink {
    font-size: 0.8125rem;
}

.oyArticle__paragraph.sapMFT,
.oyArticle__list.sapMFT,
.oyArticle__stepBody.sapMFT,
.oyArticle__calloutText.sapMFT {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--sapTextColor);
}

.oyArticle__paragraph p,
.oyArticle__calloutText p,
.oyArticle__tableCell p {
    margin: 0;
}

.oyArticle__list ul,
.oyArticle__list ol {
    margin: 0;
    padding-inline-start: 1.5rem;
}

.oyArticle__list li {
    margin-bottom: 0.375rem;
}

.oyArticle__paragraph code,
.oyArticle__list code,
.oyArticle__tableCell code,
.oyArticle__calloutText code,
.oyArticle__stepBody code {
    background: var(--sapBackgroundColor);
    border: 1px solid var(--sapGroup_TitleBorderColor);
    padding: 0.05rem 0.375rem;
    border-radius: 0.25rem;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.875em;
    overflow-wrap: anywhere;
}

.oyArticle__paragraph a,
.oyArticle__list a,
.oyArticle__calloutText a {
    color: var(--sapLinkColor);
}

/* Vurgu kutusu (callout) */
.oyArticle__callout {
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: var(--oyRadiusSm);
    border: 1px solid var(--sapInformationBorderColor);
    background: var(--sapInformationBackgroundColor);
}

.oyArticle__callout--warning {
    border-color: var(--sapWarningBorderColor);
    background: var(--sapWarningBackgroundColor);
}

.oyArticle__callout--success {
    border-color: var(--sapSuccessBorderColor);
    background: var(--sapSuccessBackgroundColor);
}

.oyArticle__callout--error {
    border-color: var(--sapErrorBorderColor);
    background: var(--sapErrorBackgroundColor);
}

.oyArticle__calloutIcon.sapUiIcon {
    font-size: 1.125rem;
    margin-top: 0.25rem;
    color: var(--sapInformativeElementColor);
    flex-shrink: 0;
}

.oyArticle__callout--warning .oyArticle__calloutIcon {
    color: var(--sapCriticalElementColor);
}

.oyArticle__callout--success .oyArticle__calloutIcon {
    color: var(--sapPositiveElementColor);
}

.oyArticle__callout--error .oyArticle__calloutIcon {
    color: var(--sapNegativeElementColor);
}

.oyArticle__calloutText {
    min-width: 0;
}

/* Kod bloklari + ABAP/CDS renklendirme (tok-*, scripts/extract/code-highlight.js) */
.oyArticle__code {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    border-radius: var(--oyRadiusSm);
    border: 1px solid var(--sapGroup_TitleBorderColor);
    border-inline-start: 0.25rem solid var(--sapBrandColor);
    background: var(--sapBackgroundColor);
}

.oyArticle__code--good {
    border-inline-start-color: var(--sapPositiveElementColor);
}

.oyArticle__code--bad {
    border-inline-start-color: var(--sapNegativeElementColor);
}

.oyArticle__code pre {
    margin: 0;
    padding: 1rem 3rem 1rem 1.25rem;
    overflow-x: auto;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.8125rem;
    line-height: 1.65;
    white-space: pre;
    color: var(--sapTextColor);
}

.oyArticle__code code {
    font-family: inherit;
}

.oyArticle__copy.sapMBtn {
    position: absolute;
    top: 0.25rem;
    right: 0.25rem;
    z-index: 1;
}

.tok-kw { color: var(--sapNegativeTextColor); font-weight: 600; }
.tok-str { color: var(--sapPositiveTextColor); }
.tok-com { color: var(--sapContent_LabelColor); font-style: italic; }
.tok-num,
.tok-bi { color: var(--sapInformativeTextColor); }
.tok-ann { color: var(--sapIndicationColor_7); }
.tok-label { font-weight: 700; }
.oyArticle__code--good .tok-label { color: var(--sapPositiveTextColor); }
.oyArticle__code--bad .tok-label { color: var(--sapNegativeTextColor); }

/* Tablo, adim kutusu, icindekiler, sunum */
.oyArticle__table.sapMList {
    border: 1px solid var(--sapGroup_TitleBorderColor);
    border-radius: var(--oyRadiusSm);
    overflow: hidden;
}

.oyArticle__tocPanel.sapMPanel,
.oyArticle__stepPanel.sapMPanel,
.oyArticle__presentationPanel.sapMPanel {
    border: 1px solid var(--sapGroup_TitleBorderColor);
    border-radius: var(--oyRadiusSm);
    overflow: hidden;
}

.oyArticle__stepPanel .sapMPanelContent > * + * {
    margin-top: 0.75rem;
}

.oyArticle__tocList {
    gap: 0.375rem;
}

.oyArticle__media {
    gap: 0.5rem;
}

.oyArticle__mediaImage {
    border-radius: var(--oyRadiusSm);
    border: 1px solid var(--sapGroup_TitleBorderColor);
}

.oyArticle__mediaCaption.sapMText {
    font-size: 0.875rem;
    color: var(--sapContent_LabelColor);
    text-align: center;
}

.sapMFlexBox.oyArticle__featureGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 1rem;
}

.oyArticle__presentationBody {
    gap: 1rem;
}

.oyArticle__presentationActions {
    gap: 0.625rem;
}

.oyArticle__ctaBanner {
    box-sizing: border-box;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-radius: var(--oyRadiusSm);
    background: var(--oyTintStrong);
    border: 1px solid color-mix(in srgb, var(--sapBrandColor) 20%, transparent);
}

.oyArticle__ctaText.sapMText {
    flex: 1 1 18rem;
    font-weight: 600;
}

.oyArticle__ctaButtons {
    gap: 0.625rem;
}

.oyArticle__backButton {
    align-self: flex-start;
    margin-top: 0.5rem;
}

/* Clean ABAP rehberi: yan navigasyonlu genis duzen */
.oyArticle__withSidebar {
    gap: 2rem;
    width: 100%;
}

.oyArticle__sidebar {
    flex: 0 0 17rem;
    max-width: 17rem;
    position: sticky;
    top: 1rem;
    gap: 0.5rem;
}

.oyArticle__body {
    flex: 1 1 32rem;
    min-width: 0;
    gap: 1rem;
}

@media (max-width: 56rem) {
    .oyArticle__sidebar {
        position: static;
        flex-basis: 100%;
        max-width: none;
    }
}

/* Blog listesi */
.oyBlogHeader {
    gap: 1rem;
}

.oyBlogSearch.sapMSF {
    max-width: 32rem;
}

.oyBlogCount.sapMTitle {
    margin-bottom: 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--sapContent_LabelColor);
}

/* ===================================================================
 * Iletisim
 * =================================================================== */
.sapMFlexBox.oyContactGrid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
    gap: 1.5rem;
    align-items: start;
}

.oyContactGrid__side {
    gap: 1.5rem;
}

.oyContactTip.oyIntro {
    margin: 0;
}

.oyChannels {
    padding: 0.5rem 1rem 1rem;
    gap: 0.75rem;
}

.oyChannels__row {
    gap: 0.75rem;
}

.oyChannels__icon {
    color: var(--sapContent_IconColor);
    font-size: 1.25rem;
    width: 1.5rem;
}

.oyContactForm {
    padding: 0 1rem 1.25rem;
    gap: 0.75rem;
}

.oyContactForm__form .sapUiFormCLContent,
.oyContactForm__form .sapUiFormCLContainer {
    padding-inline: 0 !important;
}

.oyContactForm__kvkk {
    gap: 0.25rem;
}

.oyContactForm__kvkkText.sapMFT p {
    margin: 0;
    line-height: 1.5;
}

.oyContactForm__actions {
    margin-top: 0.25rem;
}

@media (max-width: 56rem) {
    .sapMFlexBox.oyContactGrid {
        grid-template-columns: minmax(0, 1fr);
    }

    /* D-038 (STR-04): dar ekranda form once (kanal karti ikinci ekranin sonuna itiyordu) */
    .oyContactGrid__form {
        order: -1;
    }
}

/* 404 */
.oyNotFound.sapMIllustratedMessage {
    padding-block: 3rem 1rem;
}

.oyNotFound .sapMIllustratedMessageAdditionalContent {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
}
