/* Vinç firması için güvenli tema iyileştirmeleri.
   Renkler PHP tarafında panel değerlerinden CSS değişkenlerine aktarılır. */
:root {
    --vm-primary: #0b4b84;
    --vm-primary-contrast: #fff;
    --vm-surface: #fff;
    --vm-soft: #f4f7fa;
    --vm-text: #233446;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
img { max-width: 100%; }
.vm-service-whatsapp {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 10px;
    padding: 11px 18px;
    background: #25d366;
    color: #fff !important;
    font: 700 13px/1.2 "Open Sans", Arial, sans-serif;
    text-decoration: none !important;
}
.services-page-content {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}
.services-page-content > .service-image-box,
.services-page-content > .service-icon-1-box,
.services-page-content > .service-icon-2-box {
    width: 100% !important;
    max-width: none !important;
    min-height: 100%;
    margin: 0 !important;
    padding: 18px !important;
    border: 1px solid rgba(15,43,76,.10);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(16,36,58,.08);
    box-sizing: border-box;
}
.services-page-content > .service-image-box img { width: 100%; height: 235px; object-fit: cover; border-radius: 11px; }
.services-page-content > nav,
.services-page-content > .alert { grid-column: 1 / -1; }

/* Yüksek logonun header alanını gereksiz büyütmesini engeller. */
.header-main-in,
.header-main-left-table,
.header-main-right-table { min-height: 86px !important; }
.header-main-left-table-ic img {
    width: auto !important;
    max-width: 210px !important;
    max-height: 76px !important;
    margin: 5px 0 !important;
    object-fit: contain;
}
.header-2-main-in { padding-top: 8px !important; padding-bottom: 8px !important; }
.header-2-logo { display: flex; align-items: center; height: 78px !important; }
.header-2-logo img { width: auto !important; max-width: 250px !important; max-height: 76px !important; object-fit: contain; }
.header-main-right-table-ic { vertical-align: middle !important; }
.vm-home .swiper-container { width: 100% !important; }

/* Logo yanındaki görünür telefon alanları */
.vm-desktop-header-phone,
.vm-mobile-header-phone a {
    align-items: center;
    gap: 9px;
    border-radius: 13px;
    background: var(--vm-primary);
    box-shadow: 0 8px 22px rgba(12, 39, 65, .20);
    color: #fff !important;
    text-decoration: none !important;
}
.vm-desktop-header-phone {
    display: inline-flex;
    margin-right: 14px;
    padding: 8px 13px 8px 9px;
    vertical-align: middle;
    text-align: left;
}
.vm-phone-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(255,255,255,.17);
    color: #fff;
    font-size: 17px;
}
.vm-phone-copy { display: flex; flex-direction: column; white-space: nowrap; }
.vm-phone-copy small { margin-bottom: 2px; color: rgba(255,255,255,.78); font: 600 10px/1 "Open Sans", Arial, sans-serif; letter-spacing: .04em; }
.vm-phone-copy strong { color: #fff; font: 800 16px/1.1 "Open Sans", Arial, sans-serif; letter-spacing: .01em; }
.vm-header-2-phone { flex: 0 0 auto; margin-left: 0; }

/* Masaüstü WhatsApp hızlı iletişim düğmesi */
.vm-desktop-whatsapp { display: none; }
@media (min-width: 1101px) {
    .vm-desktop-whatsapp {
        position: fixed;
        z-index: 9997;
        left: 22px;
        bottom: 22px;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        min-height: 52px;
        padding: 7px 18px 7px 8px;
        border-radius: 15px;
        background: #25d366;
        color: #fff !important;
        box-shadow: 0 12px 32px rgba(14, 94, 45, .28);
        text-decoration: none !important;
        transition: transform .2s ease, box-shadow .2s ease;
    }
    .vm-desktop-whatsapp:hover { transform: translateY(-2px); box-shadow: 0 15px 36px rgba(14, 94, 45, .34); }
    .vm-desktop-whatsapp span { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 11px; background: rgba(255,255,255,.18); font-size: 22px; }
    .vm-desktop-whatsapp strong { font: 800 13px/1.2 "Open Sans", Arial, sans-serif; }
}

@media (min-width: 1101px) and (max-width: 1250px) {
    .vm-desktop-header-phone { padding-right: 10px; margin-right: 8px; gap: 7px; }
    .vm-desktop-header-phone .vm-phone-icon { width: 30px; height: 30px; flex-basis: 30px; }
    .vm-desktop-header-phone .vm-phone-copy small { display: none; }
    .vm-desktop-header-phone .vm-phone-copy strong { font-size: 14px; }
}

/* Ana sayfada slider, masaüstü header ve menü alanı bittikten sonra başlar. */
@media (min-width: 1101px) {
    .vm-home header {
        position: relative;
        z-index: 30;
        width: 100%;
    }
    .vm-home .header-main {
        position: relative;
        z-index: 30;
        margin-right: auto;
        margin-left: auto;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible;
    }
    .vm-home .header-main-in {
        position: relative;
        min-height: 164px !important;
        overflow: visible;
    }
    .vm-home .header-main-left {
        position: relative;
        z-index: 33;
        width: 175px !important;
        min-height: 164px;
        overflow: visible;
    }
    .vm-home .header-main-left-table {
        position: relative;
        top: 5px;
        width: 164px !important;
        min-height: 164px !important;
        overflow: visible;
    }
    .vm-home .header-main-left-table-ic img {
        width: 154px !important;
        height: 154px !important;
        max-width: 154px !important;
        max-height: 154px !important;
        margin: 0 !important;
        object-fit: contain;
        filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .2));
    }
    .vm-home .header-main-right {
        width: calc(100% - 175px) !important;
    }
    .vm-home .header-main-right-table {
        min-height: 164px !important;
    }
    .vm-home .header-main-menu-div > .top-level-menu > li > a > span,
    .vm-home .header-2-menu-main-div-in > .top-level-menu > li > a > span {
        text-shadow: 0 1px 6px rgba(0, 0, 0, .24);
    }
    .vm-home .header-2-main-in {
        position: relative;
        min-height: 108px;
        padding-top: 7px !important;
        padding-bottom: 0 !important;
        overflow: visible;
    }
    .vm-home .header-2-logo {
        position: relative;
        z-index: 33;
        align-self: flex-start;
        width: 175px !important;
        height: 164px !important;
        overflow: visible;
    }
    .vm-home .header-2-logo img {
        width: 154px !important;
        height: 154px !important;
        max-width: 154px !important;
        max-height: 154px !important;
        object-fit: contain;
        filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .2));
    }
    .vm-home .header-2-menu-main-div {
        position: relative;
        z-index: 31;
        top: auto;
        left: auto;
        margin-bottom: 0 !important;
        border-top: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    .vm-home .swiper-container { position: relative; z-index: 1; }
}

/* İletişim sayfası */
.vm-contact-shell {
    width: min(1280px, 92%);
    margin: 48px auto 80px;
    display: grid;
    grid-template-columns: minmax(290px, .85fr) minmax(0, 1.35fr);
    gap: 28px;
    align-items: start;
}
.vm-contact-card {
    background: var(--vm-surface);
    border: 1px solid rgba(20, 43, 66, .09);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(21, 45, 69, .09);
    overflow: hidden;
}
.vm-contact-info { padding: 30px; background: linear-gradient(145deg, var(--vm-primary), #172b3f); color: #fff; }
.vm-contact-info h2,
.vm-contact-form h2 { margin: 0 0 12px; font: 800 27px/1.25 "Open Sans", Arial, sans-serif; }
.vm-contact-info > p { margin: 0 0 24px; color: rgba(255,255,255,.78); font: 400 14px/1.7 "Open Sans", Arial, sans-serif; }
.vm-contact-list { display: grid; gap: 12px; }
.vm-contact-row { display: flex; gap: 13px; align-items: flex-start; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.vm-contact-row:last-child { border-bottom: 0; }
.vm-contact-row i { width: 35px; height: 35px; flex: 0 0 35px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.13); font-size: 16px; }
.vm-contact-row a,
.vm-contact-row span { color: #fff; font: 500 14px/1.55 "Open Sans", Arial, sans-serif; text-decoration: none; }
.vm-contact-social { display: flex; gap: 8px; margin-top: 22px; }
.vm-contact-social a { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.13); color: #fff; }
.vm-contact-form { padding: 32px; }
.vm-contact-form > p { margin: 0 0 24px; color: #657587; font: 400 14px/1.65 "Open Sans", Arial, sans-serif; }
.vm-contact-form .form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
.vm-contact-form .form-group { max-width: none; width: auto; margin: 0 0 17px; padding: 0; }
.vm-contact-form .form-group.vm-full { grid-column: 1 / -1; }
.vm-contact-form label { display: block; margin: 0 0 7px; color: #314255; font: 700 13px/1.3 "Open Sans", Arial, sans-serif; }
.vm-contact-form .form-control {
    width: 100%;
    min-height: 49px;
    border: 1px solid #d9e1e8;
    border-radius: 10px;
    background: #fbfcfd;
    box-shadow: none;
    padding: 11px 13px;
    color: var(--vm-text);
    font: 400 14px/1.4 "Open Sans", Arial, sans-serif;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.vm-contact-form textarea.form-control { min-height: 145px; resize: vertical; }
.vm-contact-form .form-control:focus { border-color: var(--vm-primary); background: #fff; box-shadow: 0 0 0 3px rgba(25, 82, 130, .12); }
.vm-contact-submit { min-height: 50px; border: 0; border-radius: 10px; padding: 12px 24px; background: var(--vm-primary); color: var(--vm-primary-contrast); font: 800 14px/1.2 "Open Sans", Arial, sans-serif; cursor: pointer; }
.vm-contact-map { width: min(1280px, 92%); height: 350px; margin: 35px auto 0; overflow: hidden; border-radius: 18px; box-shadow: 0 16px 42px rgba(21,45,69,.10); }
.vm-contact-map iframe { width: 100% !important; height: 100% !important; border: 0; }

/* Mobil header telefonu ve alt iletişim çubuğu */
.vm-mobile-header-phone { display: none; }
.vm-mobile-actions { display: none; }
@media (max-width: 1100px) {
    .header-mobile-main {
        min-height: 68px;
        display: grid !important;
        grid-template-columns: minmax(92px, 1fr) auto auto;
        align-items: center;
        gap: 8px;
        padding: 8px 10px !important;
        box-sizing: border-box;
        overflow: visible !important;
        text-align: initial !important;
    }
    .header-mobile-logo {
        width: auto !important;
        min-width: 0;
        margin: 0 !important;
        overflow: visible !important;
        display: block !important;
    }
    .header-mobile-logo img { width: auto !important; max-width: 145px !important; max-height: 58px !important; object-fit: contain; }
    .vm-mobile-header-phone { display: block; }
    .vm-mobile-header-phone a { display: inline-flex; padding: 6px 9px 6px 6px; }
    .vm-mobile-header-phone .vm-phone-icon { width: 31px; height: 31px; flex-basis: 31px; font-size: 15px; }
    .vm-mobile-header-phone .vm-phone-copy strong { font-size: 14px; }
    .vm-mobile-header-phone .vm-phone-copy small { font-size: 9px; }
    .header-mobile-right {
        width: auto !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        overflow: visible !important;
    }
    .header-mobile-right-cart,
    .header-mobile-right-bars { width: auto !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
    .header-mobile-right-bars { padding-left: 6px !important; }
    .opening-mobile-menu-div { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
    body { padding-bottom: 69px; }
    .vm-mobile-actions {
        position: fixed;
        z-index: 9998;
        left: 10px;
        right: 10px;
        bottom: 9px;
        height: 52px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        padding: 6px;
        border: 1px solid rgba(15, 38, 60, .10);
        border-radius: 15px;
        background: rgba(255,255,255,.95);
        box-shadow: 0 10px 30px rgba(8,31,52,.18);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }
    .vm-mobile-actions a { display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 10px; color: #fff !important; font: 800 13px/1 "Open Sans", Arial, sans-serif; text-decoration: none !important; }
    .vm-mobile-actions .vm-contact-action { background: var(--vm-primary); }
    .vm-mobile-actions .vm-whatsapp-action { background: #25d366; }
    .vm-contact-shell { width: calc(100% - 20px); margin: 25px auto 45px; grid-template-columns: 1fr; gap: 15px; }
    .vm-contact-info, .vm-contact-form { padding: 23px 18px; }
    .vm-contact-info h2, .vm-contact-form h2 { font-size: 22px; }
    .vm-contact-form .form-row { grid-template-columns: 1fr; gap: 0; }
    .vm-contact-form .form-group.vm-full { grid-column: auto; }
    .vm-contact-map { width: calc(100% - 20px); height: 260px; margin-top: 15px; border-radius: 13px; }
    .services-page-content { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .services-page-content > .service-image-box,
    .services-page-content > .service-icon-1-box,
    .services-page-content > .service-icon-2-box { padding: 10px !important; border-radius: 11px; }
    .services-page-content > .service-image-box img { height: 120px; }
    .services-page-content .vm-service-whatsapp { width: 100%; padding: 8px 5px; font-size: 10px; }
}

@media (max-width: 374px) {
    .header-mobile-main { grid-template-columns: minmax(82px, 1fr) auto auto; gap: 5px; padding-right: 7px !important; padding-left: 7px !important; }
    .header-mobile-logo img { max-width: 105px !important; max-height: 52px !important; }
    .vm-mobile-header-phone a { gap: 5px; padding-right: 7px; }
    .vm-mobile-header-phone .vm-phone-icon { width: 28px; height: 28px; flex-basis: 28px; }
    .vm-mobile-header-phone .vm-phone-copy small { display: none; }
    .vm-mobile-header-phone .vm-phone-copy strong { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *:before, *:after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}