@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

:root{
    --bg:#0d0f14;
    --bg2:#131720;
    --card:#181d27;
    --gold:#c8a96b;
    --gold2:#e2c58f;
    --text:#f5f7fa;
    --muted:#aeb7c6;
    --line:#252b36;
    --white:#ffffff;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    background:var(--bg);
    color:var(--text);
    line-height:1.7;
}

a{
    text-decoration:none;
    color:inherit;
}

img{
    max-width:100%;
}

.container{
    width:90%;
    max-width:1280px;
    margin:auto;
}

/* HEADER */

header{
    position:sticky;
    top:0;
    z-index:999;
    background:rgba(8,10,14,.72);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(255,255,255,.06);
    box-shadow:0 8px 30px rgba(0,0,0,.35);
}

.navbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:5px 0;
}

.logo img{
    height:64px;
    filter:
    brightness(1.18)
    contrast(1.15)
    drop-shadow(0 0 14px rgba(200,169,107,.18));
    transition:.35s;
}

.logo img:hover{
    transform:scale(1.03);
    filter:
    brightness(1.25)
    contrast(1.2)
    drop-shadow(0 0 20px rgba(200,169,107,.35));
}

.nav-links{
    display:flex;
    gap:30px;
    align-items:center;
}

.nav-links a{
    color:var(--white);
    font-weight:500;
    transition:.3s;
}

.nav-links a:hover,
.nav-links a.active{
    color:var(--gold);
}

.menu-toggle{
    display:none;
    font-size:30px;
    color:white;
    cursor:pointer;
}

/* HERO */

.hero{
    min-height:88vh;
    display:flex;
    align-items:center;
    background:
    linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)),
    url('/assets/images/anasayfa.avif?q=80&w=1600&auto=format&fit=crop') center/cover;
}

.hero-content{
    max-width:760px;
}

.hero h1{
    font-size:64px;
    line-height:1.1;
    margin-bottom:24px;
}

.hero p{
    color:var(--muted);
    font-size:18px;
    margin-bottom:35px;
}

.btn{
    display:inline-block;
    padding:15px 28px;
    border-radius:8px;
    font-weight:600;
    transition:.3s;
}

.btn-primary{
    background:var(--gold);
    color:#111;
}

.btn-primary:hover{
    background:var(--gold2);
}

.btn-outline{
    border:1px solid var(--gold);
    margin-left:12px;
}

.btn-outline:hover{
    background:var(--gold);
    color:#111;
}

/* SECTION */

.section{
    padding:90px 0;
}

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title h2{
    font-size:42px;
    margin-bottom:15px;
}

.section-title p{
    color:var(--muted);
}

/* CARDS */

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:25px;
}

.card{
    background:var(--card);
    padding:35px;
    border-radius:14px;
    border:1px solid var(--line);
    transition:.3s;
}

.card:hover{
    transform:translateY(-6px);
    border-color:var(--gold);
}

.card h3{
    margin-bottom:15px;
    color:var(--gold2);
}

/* ABOUT */

.about{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.about img{
    border-radius:18px;
}

/* FOOTER */

footer{
    background:#090b10;
    border-top:1px solid var(--line);
    margin-top:80px;
}

.footer-top{
    padding:70px 0;
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:40px;
}

.footer-logo img{
    height:70px;
    margin-bottom:20px;
}

.footer-links a{
    display:block;
    margin-bottom:14px;
    color:var(--muted);
    transition:.3s;
}

.footer-links a:hover{
    color:var(--gold);
}

.socials{
    display:flex;
    gap:12px;
    margin-top:20px;
}

.socials a{
    width:42px;
    height:42px;
    border-radius:50%;
    background:var(--card);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.3s;
}

.socials a:hover{
    background:var(--gold);
    color:#111;
}

.footer-bottom{
    border-top:1px solid var(--line);
    padding:20px 0;
    text-align:center;
    color:var(--muted);
}

.socials a i{
    font-size:18px;
}

.socials a{
    color:var(--gold);
    border:1px solid rgba(200,169,107,0.25);
}

.socials a:hover{
    background:var(--gold);
    color:#111;
    transform:translateY(-3px);
    box-shadow:0 10px 25px rgba(200,169,107,.35);
}

/* PAGE HERO */

.page-hero{
    padding:70px 0 70px;
    background:linear-gradient(135deg,#111722,#0d0f14);
    text-align:center;
}

.page-hero h1{
    font-size:52px;
}

/* CONTACT */

.contact-section{
    padding-top:95px;
}

.contact-grid{
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:40px;
    align-items:stretch;
}

.contact-box{
    background:linear-gradient(145deg,rgba(24,29,39,.98),rgba(17,23,34,.98));
    padding:44px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.06);
    box-shadow:0 22px 60px rgba(0,0,0,.22);
}

.contact-box h2{
    font-size:30px;
    line-height:1.25;
    margin-bottom:22px;
    letter-spacing:-.02em;
}

.contact-info-list{
    display:grid;
    gap:28px;
}

.contact-info-list p{
    margin:0;
    font-size:19px;
    line-height:1.75;
    color:var(--text);
}

.contact-info-list strong{
    display:block;
    color:var(--gold);
    font-size:14px;
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:8px;
}

.contact-info-list a,
.contact-info-list span{
    color:#f5f7fa;
}

.contact-form-intro{
    color:var(--muted);
    font-size:17px;
    line-height:1.7;
    margin:-8px 0 24px;
}

.form-group{
    margin-bottom:18px;
}

.form-group label{
    display:block;
    font-size:15px;
    line-height:1.3;
    font-weight:700;
    color:#f5f7fa;
    margin-bottom:9px;
}

.form-group label span{
    color:var(--gold2);
}

.form-group label small{
    color:var(--muted);
    font-size:13px;
    font-weight:500;
    margin-left:6px;
}

.contact-form input,
.contact-form textarea{
    width:100%;
    padding:17px 18px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:10px;
    background:#0f131b;
    color:white;
    font-size:16px;
    line-height:1.4;
    outline:none;
    transition:border-color .25s, box-shadow .25s, background .25s;
}

.contact-form textarea{
    resize:vertical;
    min-height:150px;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
    color:rgba(245,247,250,.5);
}

.contact-form input:focus,
.contact-form textarea:focus{
    border-color:rgba(200,169,107,.72);
    box-shadow:0 0 0 4px rgba(200,169,107,.12);
    background:#101722;
}

.security-inline{
    display:grid;
    grid-template-columns:auto minmax(120px,180px);
    align-items:center;
    gap:12px;
}

.security-inline span{
    display:inline-flex;
    align-items:center;
    min-height:54px;
    padding:0 18px;
    border-radius:10px;
    background:rgba(200,169,107,.12);
    border:1px solid rgba(200,169,107,.24);
    color:var(--gold2);
    font-size:18px;
    font-weight:800;
}

.contact-form button,
.contact-submit-btn{
    border:none;
    cursor:pointer;
    font-size:16px;
    min-width:140px;
}
/* RESPONSIVE */

@media(max-width:991px){

    .hero h1{
        font-size:48px;
    }

    .about,
    .contact-grid,
    .footer-top{
        grid-template-columns:1fr;
    }

    .nav-links{
        position:absolute;
        top:90px;
        left:0;
        width:100%;
        background:#111722;
        flex-direction:column;
        padding:25px 0;
        display:none;
    }

    .nav-links.active{
        display:flex;
    }

    .menu-toggle{
        display:block;
    }
}

.page-404{
    min-height:70vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:80px 20px;
}

.error-code{
    font-size:120px;
    font-weight:800;
    color:#c7a46c;
    line-height:1;
    margin-bottom:20px;
}

.page-404 h1{
    font-size:42px;
    margin-bottom:20px;
}

.page-404 p{
    max-width:600px;
    margin:auto;
    margin-bottom:35px;
    opacity:.8;
}

.hidden-field{
    display:none;
}
/* Contact form status and accessibility helpers */
.form-alert{
    margin-bottom:22px;
    padding:16px 18px;
    border-radius:12px;
    line-height:1.6;
    font-size:16px;
    font-weight:600;
}

.form-alert-success{
    background:rgba(46, 204, 113, .14);
    border:1px solid rgba(46, 204, 113, .32);
    color:#d9ffe8;
}

.form-alert-error{
    background:rgba(231, 76, 60, .14);
    border:1px solid rgba(231, 76, 60, .32);
    color:#ffe2de;
}

.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

@media(max-width:640px){
    .contact-box{
        padding:28px 22px;
    }

    .contact-box h2{
        font-size:26px;
    }

    .contact-info-list p{
        font-size:17px;
    }

    .security-inline{
        grid-template-columns:1fr;
    }

    .security-inline input{
        max-width:100%;
    }
}

/* Contact page refined UI/UX overrides */
.contact-section{
    padding-top:72px;
}

.contact-grid{
    gap:36px;
    align-items:stretch;
}

.contact-box{
    position:relative;
    overflow:hidden;
    padding:48px 50px;
    border-radius:22px;
    background:
        radial-gradient(circle at 18% 0%, rgba(200,169,107,.08), transparent 32%),
        linear-gradient(145deg, rgba(24,29,39,.98), rgba(16,22,32,.98));
    border:1px solid rgba(255,255,255,.075);
    box-shadow:0 24px 70px rgba(0,0,0,.26);
}

.contact-box::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    border-radius:inherit;
    background:linear-gradient(135deg, rgba(255,255,255,.055), transparent 38%);
    opacity:.6;
}

.contact-box > *{
    position:relative;
    z-index:1;
}

.contact-box h2{
    font-size:31px;
    line-height:1.15;
    margin-bottom:26px;
    letter-spacing:-.035em;
}

.contact-form-box h2{
    margin-bottom:28px;
}

.contact-info-list{
    gap:18px;
}

.contact-info-list p{
    display:grid;
    grid-template-columns:92px 1fr;
    align-items:start;
    gap:16px;
    margin:0;
    padding:17px 0;
    border-bottom:1px solid rgba(255,255,255,.065);
    font-size:18px;
    line-height:1.65;
}

.contact-info-list p:last-child{
    border-bottom:0;
}

.contact-info-list strong{
    display:block;
    margin:3px 0 0;
    color:var(--gold2);
    font-size:14px;
    line-height:1.25;
    letter-spacing:.04em;
    text-transform:none;
}

.contact-info-list a,
.contact-info-list span{
    color:#f5f7fa;
    font-weight:600;
    word-break:break-word;
}

.contact-info-list a{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    align-items:center;
    border-bottom:1px solid rgba(200,169,107,.28);
    transition:color .25s, border-color .25s;
}

.contact-info-list a:hover{
    color:var(--gold2);
    border-color:rgba(226,197,143,.8);
}

.form-group{
    margin-bottom:21px;
}

.form-group label{
    display:flex;
    align-items:baseline;
    gap:6px;
    font-size:18px;
    line-height:1.25;
    font-weight:700;
    color:#f5f7fa;
    margin-bottom:10px;
}

.form-group label .required-mark,
.form-group label span{
    color:rgba(226,197,143,.68);
    font-size:13px;
    font-weight:700;
    line-height:1;
}

.form-group label small{
    color:rgba(174,183,198,.68);
    font-size:12px;
    font-weight:600;
    margin-left:2px;
}

.contact-form input,
.contact-form textarea{
    min-height:58px;
    padding:18px 20px;
    border-radius:12px;
    background:#0d1119;
    color:#fff;
    font-size:17px;
    font-weight:500;
}

.contact-form textarea{
    min-height:145px;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
    color:rgba(245,247,250,.58);
    font-size:16px;
    font-weight:500;
}

.form-security-group{
    margin-top:6px;
}

.security-inline{
    display:grid;
    grid-template-columns:auto minmax(160px, 240px);
    align-items:center;
    gap:14px;
}

.security-inline span{
    min-height:58px;
    padding:0 20px;
    border-radius:12px;
    font-size:19px;
}

.security-inline input{
    max-width:240px;
}

.contact-form button,
.contact-submit-btn{
    margin-top:2px;
    min-width:150px;
    padding:16px 30px;
    border-radius:10px;
    font-size:17px;
    font-weight:800;
}

.field-error{
    margin-top:8px;
    color:#ffd5cf;
    font-size:13px;
    line-height:1.45;
    font-weight:600;
}

.contact-form input.is-invalid,
.contact-form textarea.is-invalid{
    border-color:rgba(231,76,60,.72);
    box-shadow:0 0 0 4px rgba(231,76,60,.12);
}

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

@media(max-width:640px){
    .contact-section{
        padding-top:52px;
    }

    .contact-box{
        padding:30px 22px;
        border-radius:18px;
    }

    .contact-box h2{
        font-size:27px;
    }

    .contact-info-list p{
        grid-template-columns:1fr;
        gap:6px;
        font-size:16px;
    }

    .security-inline{
        grid-template-columns:auto minmax(110px, 1fr);
    }

    .security-inline input{
        max-width:100%;
    }
}


/* İletişim v4 - konum, okunabilirlik ve UI/UX son rötuşları */
.contact-info-box{
    min-height:auto;
}

.contact-info-list p{
    grid-template-columns:160px minmax(0, 1fr);
    align-items:flex-start;
    gap:22px;
    padding:24px 0;
}

.contact-info-list strong{
    font-size:1.12rem;
    line-height:1.35;
    letter-spacing:.7px;
    color:#d8bd7d;
}

.contact-info-list a,
.contact-info-list span{
    font-size:1.28rem;
    line-height:1.65;
    letter-spacing:.6px;
}

.contact-info-list a{
    width:max-content;
    max-width:100%;
}

.contact-map-block{
    margin-top:28px;
    padding-top:26px;
    border-top:1px solid rgba(255,255,255,.10);
}

.contact-map-block h3{
    margin:0 0 10px;
    color:#f4f6fb;
    font-size:1.35rem;
    line-height:1.2;
    letter-spacing:.4px;
}

.contact-map-link{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    margin-bottom:16px;
    color:#d8bd7d;
    font-weight:800;
    font-size:1rem;
    text-decoration:none;
    border-bottom:1px solid rgba(216,189,125,.45);
}

.contact-map-link:hover{
    color:#f2d994;
    border-bottom-color:#f2d994;
}

.contact-map-frame{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.10);
    background:#0b1018;
    box-shadow:0 20px 60px rgba(0,0,0,.24);
    height:260px;
}

.contact-map-frame iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
    filter:grayscale(1) invert(.92) contrast(.9) brightness(.8);
}

@media (max-width: 900px){
    .contact-info-list p{
        grid-template-columns:1fr;
        gap:8px;
        padding:20px 0;
    }

    .contact-info-list strong{
        font-size:1rem;
    }

    .contact-info-list a,
    .contact-info-list span{
        font-size:1.08rem;
        line-height:1.55;
    }

    .contact-map-frame{
        height:240px;
    }
}


/* İletişim v5 - site geneliyle font dengesi ve konum satırı */
.page-hero{
    padding:70px 0 70px;
}

.contact-box h2{
    font-size:30px;
    line-height:1.18;
    margin-bottom:28px;
}

.contact-info-list p{
    grid-template-columns:150px minmax(0, 1fr);
    gap:20px;
    padding:20px 0;
    font-size:1.12rem;
    line-height:1.62;
}

.contact-info-list strong{
    font-size:1.12rem;
    line-height:1.35;
    color:#d8bd7d;
    letter-spacing:.35px;
}

.contact-info-list a,
.contact-info-list span{
    font-size:1.12rem;
    line-height:1.62;
    letter-spacing:.25px;
    font-weight:600;
}

.contact-form-box h2{
    margin-bottom:30px;
}

.form-group label{
    font-size:1.12rem;
    line-height:1.3;
    margin-bottom:9px;
}

.form-group label .required-mark,
.form-group label span{
    font-size:.78rem;
    color:rgba(216,189,125,.68);
    transform:translateY(-1px);
}

.form-group label small{
    font-size:.78rem;
    color:rgba(174,183,198,.66);
    font-weight:600;
}

.contact-form input,
.contact-form textarea{
    font-size:1.06rem;
    line-height:1.45;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
    font-size:1.02rem;
}

.security-inline{
    grid-template-columns:auto minmax(160px, 220px);
    width:max-content;
    max-width:100%;
}

.contact-form button,
.contact-submit-btn{
    font-size:1.08rem;
}

.contact-map-block{
    margin-top:0;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.065);
}

.contact-map-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}

.contact-map-head strong{
    color:#d8bd7d;
    font-size:1.12rem;
    line-height:1.35;
    letter-spacing:.35px;
}

.contact-map-link{
    margin:0;
    color:#d8bd7d;
    font-size:.98rem;
    line-height:1.35;
    font-weight:800;
    white-space:nowrap;
}

.contact-map-frame{
    height:245px;
}

@media (max-width: 900px){
    .contact-info-list p{
        grid-template-columns:1fr;
        gap:7px;
        font-size:1.06rem;
    }

    .contact-info-list strong,
    .contact-info-list a,
    .contact-info-list span,
    .contact-map-head strong{
        font-size:1.06rem;
    }
}

@media (max-width: 640px){
    .contact-map-head{
        align-items:flex-start;
    }

    .contact-map-link{
        font-size:.92rem;
    }

    .security-inline{
        width:100%;
        grid-template-columns:auto minmax(120px, 1fr);
    }
}
