/* Responsive overrides for main.css */
.hero-title { text-align: center; }
.hero-btn { margin-bottom: 15px; }
.hero-link {
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    display: inline-block;
    margin-top: 15px;
    word-wrap: break-word;
}
.quick-contract .quick-title { font-size: 27px; word-wrap: break-word; }
.split-title { font-size: 200% !important; }
.text-center-xs { text-align: center; }
.kvk-link { color: #fff; font-size: 18px; text-align: center; display: inline-block; }
.proposal-benefit-title { font-size: 24px; display: block; margin: 10px 0; }
img, input[type="image"] { max-width: 100%; height: auto; }

/* Form responsive styles */
.form-group { width: 100% !important; margin-bottom: 15px !important; }
.form-control {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
textarea,
select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
}

.form-group label:not(.radio-inline) {
    display: block !important;
    margin-bottom: 6px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}

.form-group-small .form-control {
    padding: 8px 10px !important;
    font-size: 13px !important;
}

/* Select2 dropdown fix */
.select2-container--default .select2-selection--single {
    width: 100% !important;
    height: auto !important;
    padding: 6px !important;
    box-sizing: border-box !important;
}

.select2-container--default.select2-container--open .select2-selection--single {
    border-color: #0069b3 !important;
}

/* Tree input (gün inputları) - tüm ekran boyutlarında: label kendi satırında,
   input normal genişlikte, "+" butonları hemen yanında sabit kare.
   main.css'teki float + calc(1/3) düzenini ezer. */
.form-group.tree-input {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Label tüm satırı kaplasın (input ve butonlar alt satıra geçsin) */
.form-group.tree-input > label {
    flex: 0 0 100% !important;
    width: 100% !important;
    margin-bottom: 6px !important;
}

.form-group.tree-input input.form-control,
.form-group.tree-input .custom-field {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    float: none !important;
    margin-right: 0 !important;
}

/* "+" ekle butonları - sabit kare boyut, input ile hizalı */
.form-group.tree-input > a.add {
    flex: 0 0 55px !important;
    width: 55px !important;
    height: 55px !important;
    float: none !important;
    margin-right: 0 !important;
}

@media (max-width: 991px) {
    .landing-home h2, .hero-title { font-size: 34px; }
    .landing-split .left .split-padding { padding: 50px 15px; }
    .landing-split .left .split-padding h1, .split-title { font-size: 28px !important; }
    .quick-contract .title, .quick-contract .quick-title { float: none; width: 100%; font-size: 24px; }
    .quick-contract form { float: none; width: 100%; }
    .quick-contract form .form-control { float: none; margin-right: 0; width: 100%; }
    .quick-contract form .btn { float: none; }
}

@media (max-width: 767px) {
    .landing-home { padding: 30px 0 120px 0; }
    .landing-home h2, .hero-title { font-size: 26px; line-height: 1.3; }
    .landing-home p { font-size: 15px; line-height: 1.5; }
    .hero-link { font-size: 18px; }
    .btn-lg { font-size: 16px; padding: 12px 15px; }
    .quick-contract { padding: 20px 15px; margin: 20px 0; }
    .quick-contract .title, .quick-contract .quick-title { font-size: 20px; }
    .landing-split .left .split-padding { padding: 30px 0; }
    .landing-split .left .split-padding h1, .split-title { font-size: 22px !important; }
    .landing-split .left::before { width: 100%; }
    .landing-split .left .split-padding::before,
    .landing-split .left .split-padding::after,
    .landing-home .arrow-skew::before,
    .landing-home .arrow-skew::after { display: none; }
    .landing-home .arrow-skew { display: none; }
    .landing-split + section { padding-top: 30px; margin-bottom: 0; }
    html, body, .main-wrapper { overflow-x: hidden; width: 100%; max-width: 100%; }
    .live-support {
        width: 40px;
        height: 100px;
        margin-top: -50px;
        opacity: 0.9;
    }
    footer.footer { max-height: none; height: auto; margin-top: 30px; padding: 15px; }
    footer.footer .container { display: flex; align-items: center; justify-content: space-between; }
    footer.footer #ETBIS { float: none !important; }
    footer.footer .logo { float: none; height: 32px; }
    .header .logo { height: 36px; }

    /* Form container padding for mobile */
    .content,
    .form-legend,
    .form-legend .content,
    .quick-contract {
        padding: 20px 15px !important;
    }

    .form-group { width: 100% !important; margin-bottom: 20px !important; }
    .form-control {
        width: 100% !important;
        max-width: calc(100vw - 30px) !important;
        box-sizing: border-box !important;
        padding: 10px 12px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="tel"],
    input[type="number"],
    textarea,
    select {
        width: 100% !important;
        max-width: calc(100vw - 30px) !important;
        box-sizing: border-box !important;
        padding: 10px 12px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .form-group label:not(.radio-inline) {
        display: block !important;
        margin-bottom: 8px !important;
        font-weight: 600 !important;
        font-size: 13px !important;
        text-align: left !important;
    }

    .tree-input {
        display: flex !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
    }

    .tree-input .form-control {
        flex: 1 !important;
        min-width: 0 !important;
    }

    .select2-container--default .select2-selection--single {
        width: 100% !important;
        max-width: calc(100vw - 30px) !important;
        height: 44px !important;
        padding: 8px 12px !important;
        box-sizing: border-box !important;
    }

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 28px !important;
        padding: 0 !important;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        position: absolute !important;
        right: 10px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 16px !important;
        height: 16px !important;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow b {
        border-width: 4px 3px 0 !important;
        margin-left: 2px !important;
    }

    /* Radio button and checkbox - mobile sizing */
    input[type="radio"],
    input[type="checkbox"] {
        width: 18px !important;
        height: 18px !important;
        margin: 0 10px 0 0 !important;
        vertical-align: middle !important;
        cursor: pointer !important;
        accent-color: #0069b3 !important;
    }

    /* Radio inline labels */
    .form-group label.radio-inline,
    label.radio-inline {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        position: relative !important;
        padding: 0 !important;
        margin: 0 20px 10px 0 !important;
        font-weight: normal !important;
        font-size: 15px !important;
        line-height: 18px !important;
        cursor: pointer !important;
        white-space: nowrap !important;
        text-indent: 0 !important;
        overflow: visible !important;
    }

    label.radio-inline input[type="radio"],
    label.radio-inline input[type="checkbox"] {
        -webkit-appearance: radio !important;
        appearance: radio !important;
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        clip: auto !important;
        transform: none !important;
        flex-shrink: 0 !important;
        width: 18px !important;
        height: 18px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    label.radio-inline::before,
    label.radio-inline::after {
        display: none !important;
        content: none !important;
    }

    /* Tree input (gün inputları + ekle butonları) - split controls */
    .tree-input {
        display: flex !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
        align-items: center !important;
    }

    .tree-input > label {
        flex: 0 0 100% !important;
        width: 100% !important;
        margin-bottom: 6px !important;
    }

    .tree-input .form-control,
    .tree-input select {
        flex: 1 !important;
        min-width: 0 !important;
        width: auto !important;
        box-sizing: border-box !important;
    }

    .tree-input > a.add {
        flex: 0 0 55px !important;
        width: 55px !important;
        height: 55px !important;
        float: none !important;
        margin-right: 0 !important;
    }

    .row { display: flex !important; flex-wrap: wrap !important; }
    .submit-panel { display: block !important; width: 100% !important; }
    .submit-panel .g-recaptcha { display: flex !important; justify-content: center !important; }
    .submit-panel #create-offer-button { display: block !important; width: 100% !important; min-width: 0 !important; }

    /* Info pages (KVKInfo, OKSInfo) - centered text and padding */
    .center { text-align: center !important; padding: 15px 15px !important; }
    h3.center { font-size: 18px !important; line-height: 1.4 !important; margin: 15px 0 !important; }
    .col-xs-12 { width: 100% !important; }
    .col-xs-5 { width: 100% !important; }
    .col-xs-4 { width: 100% !important; }
    .col-xs-3 { width: 100% !important; }
    .col-xs-6 { width: 100% !important; }
    .col-xs-offset-1 { margin-left: 0% !important; }
    .col-xs-offset-2 { margin-left: 0% !important; }
    .col-xs-offset-3 { margin-left: 0% !important; }
    [class*="col-sm-"] { width: 100% !important; }
    [class*="col-md-"] { width: 100% !important; }
}
