/* Ortak cihaz değerleme sayfası tabanı. Tüm *-ne-kadar-eder sayfaları bu dosyayı kullanır. */
:root {
            --c-primary: #0d61cf;
            --c-success: #198754;
            --c-warning: #ffc107;
            --c-danger: #dc3545;
            --c-info: #0dcaf0;
            --c-text: #1a1a1a;
            --c-dark: #0f172a;
            --c-light: #f8fafc;
            --c-border: #e5e7eb;
            --c-muted: #555;
            --focus-ring: 0 0 0 3px rgba(13, 97, 207, .35)
        }

        body {
            margin: 0;
            font: 16px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial;
            color: var(--c-text);
            background: var(--kb-surface)
        }

        a {
            color: var(--c-primary);
            text-decoration: none
        }

        a:hover {
            text-decoration: underline
        }

        a:focus-visible {
            outline: none;
            box-shadow: var(--focus-ring);
            border-radius: 4px
        }

        img {
            display: block;
            max-width: 100%;
            height: auto
        }

        .mxp-container {
            max-width: 1180px;
            margin: 0 auto;
            padding: 0 20px
        }

        .mxp-section {
            padding: 46px 0
        }

        .mxp-section.light {
            background: var(--c-light)
        }

        .mxp-center {
            text-align: center
        }

        .mxp-title {
            margin: 0 0 14px;
            font-size: 28px;
            font-weight: 800;
            color: var(--c-dark);
            line-height: 1.25
        }

        .mxp-subtitle {
            max-width: 980px;
            margin: 0 auto 18px;
            font-size: 17px;
            color: var(--c-muted)
        }

        .hero {
            position: relative;
            border-radius: 16px;
            overflow: hidden;
            min-height: 340px
        }

        @media(max-width:768px) {
            .hero {
                min-height: 240px
            }
        }

        .hero img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        /* Gradient overlay — görseli karartmaz, sadece alt kısım için okunabilirlik sağlar */
        .hero::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(10,37,64,0.55) 0%, rgba(10,37,64,0.75) 100%);
            z-index: 0
        }

        .hero-inner {
            position: relative;
            z-index: 1;
            padding: 60px 26px;
            color: #fff
        }

        @media(max-width:768px) {
            .hero-inner {
                padding: 30px 18px
            }
        }

        @media(min-width:900px) {
            .hero-inner {
                padding: 92px 70px
            }
        }

        .hero h1 {
            color: #fff;
            font-size: clamp(1.45rem, 5vw, 2.2rem);
            margin: 0 0 18px;
            font-weight: 800;
            line-height: 1.2
        }

        .hero p {
            color: #f1f5f9;
            font-size: clamp(.95rem, 2.5vw, 1.1rem);
            margin: 0 0 24px;
            line-height: 1.5
        }

        .btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: .75rem 1.15rem;
            border: 1px solid transparent;
            border-radius: 10px;
            font-weight: 700;
            cursor: pointer;
            background: transparent;
            transition: .18s;
            font-size: 15px
        }

        .btn.success {
            background: var(--c-success);
            color: #fff
        }

        .btn.info {
            background: var(--c-info);
            color: #052e3b
        }

        .btn:hover {
            text-decoration: none;
            filter: saturate(1.1)
        }

        .btn.outline {
            background: rgba(255,255,255,.12);
            color: #fff;
            border: 1.5px solid rgba(255,255,255,.4)
        }

        .btn.outline:hover {
            background: rgba(255,255,255,.22);
            border-color: rgba(255,255,255,.6)
        }

        .hero-btns {
            display: flex;
            gap: 12px;
            flex-wrap: wrap
        }

        .steps {
            display: grid;
            gap: 16px;
            grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
            margin-top: 26px
        }

        .step {
            background: var(--kb-surface);
            border: 1px solid var(--c-border);
            border-radius: 12px;
            padding: 16px;
            display: flex;
            flex-direction: column;
            min-height: 190px
        }

        .step-num {
            font-size: 26px;
            font-weight: 800;
            color: var(--c-primary);
            margin-bottom: 8px
        }

        .checklist {
            list-style: none;
            margin: 0;
            padding: 0;
            display: grid;
            gap: 10px
        }

        @media(min-width:760px) {
            .checklist {
                grid-template-columns: 1fr 1fr
            }
        }

        .checklist li {
            position: relative;
            padding: 10px 12px 10px 38px;
            border: 1px dashed var(--c-border);
            border-radius: 12px;
            background: var(--kb-surface);
            font-size: 15px
        }

        .checklist li:before {
            content: "";
            position: absolute;
            left: 12px;
            top: 12px;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: linear-gradient(135deg, #0d9488, #0f766e)
        }


        .faq details {
            border: 1px solid var(--c-border);
            border-radius: 10px;
            background: var(--kb-surface);
            margin-bottom: 12px
        }

        .faq summary {
            list-style: none;
            cursor: pointer;
            padding: 12px 16px;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px
        }

        .faq summary::-webkit-details-marker {
            display: none
        }

        .faq .body {
            padding: 12px 16px 18px;
            border-top: 1px solid var(--c-border);
            background: var(--c-light);
            font-size: 15px
        }

        .dir {
            display: grid;
            gap: 20px;
            grid-template-columns: 1fr
        }

        @media(min-width:980px) {
            .dir {
                grid-template-columns: 1.1fr .9fr
            }
        }

        .map {
            width: 100%;
            min-height: 340px;
            border: 0;
            border-radius: 14px;
            box-shadow: 0 1px 2px rgba(0, 0, 0, .06)
        }

        .footer-cta {
            text-align: center;
            margin-top: 32px
        }

        /* Calculator */
        .calculator-card {
            background: var(--kb-surface);
            border: 1px solid var(--c-border);
            border-radius: 16px;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .07);
            overflow: hidden;
        }

        .calculator-header {
            background: var(--c-primary);
            color: #fff;
            padding: 1rem 1.25rem;
            font-weight: 700;
        }

        .calculator-body {
            padding: 1.5rem;
        }

        .form-grid {
            display: grid;
            gap: 1.25rem;
            grid-template-columns: 1fr;
        }

        @media(min-width:768px) {
            .form-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media(min-width:1024px) {
            .form-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        .form-grid .full-width {
            grid-column: 1 / -1;
        }

        /* Kategori Sekmeleri */
        .category-tabs {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            margin-bottom: 1rem;
        }

        .cat-btn {
            flex: 1;
            min-width: 100px;
            padding: 0.75rem 1rem;
            border: 2px solid var(--c-primary);
            background: var(--kb-surface);
            color: var(--c-primary);
            border-radius: 8px;
            cursor: pointer;
            font-weight: 600;
            font-size: 0.9rem;
            transition: all 0.2s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
        }

        .cat-btn:hover {
            background: var(--c-light);
        }

        .cat-btn.active {
            background: var(--c-primary);
            color: #fff;
        }

        .cat-btn i {
            font-size: 1.1rem;
        }

        @media(max-width:600px) {
            .cat-btn {
                min-width: calc(50% - 0.25rem);
                font-size: 0.8rem;
                padding: 0.6rem 0.5rem;
            }
        }

        /* Cihaz Formları */
        .device-form {
            display: none;
            grid-column: 1 / -1;
        }

        .device-form.active {
            display: contents;
        }

        .device-form>div {
            margin-bottom: 0;
        }

        .form-label {
            display: block;
            font-weight: 600;
            margin-bottom: .5rem;
            color: var(--c-dark);
        }

        .form-control,
        .form-select {
            width: 100%;
            padding: .6rem .9rem;
            border: 1px solid var(--c-border);
            border-radius: 8px;
            background: var(--kb-surface);
            font-size: 1rem;
            transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
        }

        .form-control:focus,
        .form-select:focus {
            border-color: var(--c-primary);
            outline: 0;
            box-shadow: var(--focus-ring);
        }

        .btn-group {
            display: flex;
        }

        .btn-group .btn-label {
            flex: 1;
            border: 1px solid var(--c-border);
            padding: .5rem;
            transition: all .2s;
            background: var(--kb-surface);
            color: var(--c-text);
            border-radius: 0;
            cursor: pointer;
            text-align: center;
        }

        .btn-group .btn-label:first-child {
            border-top-left-radius: 8px;
            border-bottom-left-radius: 8px;
        }

        .btn-group .btn-label:last-child {
            border-top-right-radius: 8px;
            border-bottom-right-radius: 8px;
            border-left-width: 0;
        }

        .btn-check {
            position: absolute;
            clip: rect(0, 0, 0, 0);
            pointer-events: none;
        }

        .btn-check:checked+.btn-label {
            background-color: var(--c-success);
            color: #fff;
            border-color: var(--c-success);
        }

        .btn-check:checked+.btn-label.danger {
            background-color: var(--c-danger);
            color: #fff;
            border-color: var(--c-danger);
        }

        .btn-check:checked+.btn-label.warning {
            background-color: var(--c-warning);
            color: var(--kb-heading);
            border-color: var(--c-warning);
        }

        .btn-check:checked+.btn-label.secondary {
            background-color: var(--c-muted);
            color: #fff;
            border-color: var(--c-muted);
        }

        .btn-check:checked+.btn-label.info {
            background-color: var(--c-info);
            color: var(--kb-heading);
            border-color: var(--c-info);
        }

        .result-area {
            margin-top: 1.5rem;
            padding: 1.5rem;
            border: 1px dashed var(--c-border);
            border-radius: 12px;
            background: var(--c-light);
        }

        .price-alert {
            padding: 1rem;
            border-radius: 8px;
            border: 1px solid;
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .price-alert.success {
            background-color: #d1e7dd;
            border-color: #badbcc;
            color: #0f5132;
        }

        .price-alert.warning {
            background-color: #fff3cd;
            border-color: #ffecb5;
            color: #664d03;
        }

        .price-alert h3 {
            font-size: 1.1rem;
            font-weight: 700;
            margin: 0;
        }

        .price-alert p {
            margin: 0;
            font-size: 1.5rem;
            font-weight: 800;
            color: var(--c-dark);
        }

        .d-none {
            display: none;
        }
