/* Responsive Kontrol - Tüm Sayfalara Uygulanabilir */

/* Genel Responsive Kuralları */
* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
}

/* Mobile First Approach */
img,
picture,
video,
canvas,
svg {
    max-width: 100%;
    height: auto;
    display: block;
}

input,
button,
textarea,
select {
    font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
}

/* Grid ve Flex Responsive */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

@media (max-width: 1024px) {
    .container {
        max-width: 960px;
        padding: 0 15px;
    }
}

@media (max-width: 768px) {
    .container {
        max-width: 100%;
        padding: 0 15px;
    }

    body {
        font-size: 14px;
    }

    h1 {
        font-size: 24px;
    }

    h2 {
        font-size: 20px;
    }

    h3 {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 10px;
    }

    body {
        font-size: 13px;
    }

    h1 {
        font-size: 20px;
    }

    h2 {
        font-size: 18px;
    }

    h3 {
        font-size: 14px;
    }

    p {
        line-height: 1.5;
    }
}

/* Grid Responsive */
.grid {
    display: grid;
    gap: 20px;
}

.grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .grid-2 {
        grid-template-columns: 1fr;
    }

    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr;
    }

    .grid {
        gap: 15px;
    }
}

/* Flex Responsive */
.flex {
    display: flex;
    flex-wrap: wrap;
}

.flex-center {
    justify-content: center;
    align-items: center;
}

.flex-between {
    justify-content: space-between;
    align-items: center;
}

/* Spacing Responsive */
@media (max-width: 768px) {
    .p-40 {
        padding: 30px 20px !important;
    }

    .m-40 {
        margin: 30px 0 !important;
    }
}

@media (max-width: 480px) {
    .p-40 {
        padding: 20px 15px !important;
    }

    .m-40 {
        margin: 20px 0 !important;
    }

    .m-80 {
        margin: 40px 0 !important;
    }
}

/* Hidden Elements */
.hide-mobile {
    display: none;
}

.show-mobile {
    display: block;
}

@media (min-width: 769px) {
    .hide-mobile {
        display: block;
    }

    .show-mobile {
        display: none;
    }
}

/* Text Responsive */
.text-center-mobile {
    text-align: left;
}

@media (max-width: 768px) {
    .text-center-mobile {
        text-align: center;
    }
}

/* Overflow Fix */
body {
    overflow-x: hidden;
}

main {
    overflow-x: hidden;
}

/* Touch-friendly buttons */
@media (max-width: 768px) {
    button,
    a.btn,
    input[type="button"],
    input[type="submit"] {
        min-height: 44px;
        min-width: 44px;
    }
}

/* Sticky Header Fix */
header {
    position: sticky;
    top: 0;
}

/* Print Styles */
@media print {
    body {
        font-size: 12pt;
    }

    .no-print {
        display: none !important;
    }
}
