/* style.css - Gülen İnşaat */

:root {
    --primary-color: #ffffff; /* Beyaz */
    --secondary-color: #f8f9fa; /* Açık gri/krem arka planlar */
    --accent-color: #1a2a40; /* Lacivert / Koyu Füme */
    --gold-color: #cda34f; /* Zarif Altın Tonu */
    --text-color: #333333;
    --text-muted: #777777;
    --transition: all 0.3s ease-in-out;
}

body {
    font-family: 'Jost', sans-serif;
    color: var(--text-color);
    background-color: var(--secondary-color);
    line-height: 1.6;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    color: var(--accent-color);
}

.text-gold {
    color: var(--gold-color) !important;
}
.bg-gold {
    background-color: var(--gold-color) !important;
}

/* Header */
.header {
    background-color: #ffffff;
    transition: var(--transition);
}
.navbar-brand .brand-text {
    line-height: 1;
}
.nav-link {
    color: var(--accent-color) !important;
    position: relative;
    padding-bottom: 5px;
}
.nav-link:hover {
    color: var(--gold-color) !important;
}
.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    left: 50%;
    background-color: var(--gold-color);
    transition: var(--transition);
    transform: translateX(-50%);
}
.nav-link:hover::after {
    width: 100%;
}
.btn-gold {
    background-color: var(--gold-color);
    color: #fff;
    border: none;
    transition: var(--transition);
}
.btn-gold:hover {
    background-color: #b58d3c;
    color: #fff;
    transform: translateY(-2px);
}

/* Hero Slider Area */
.hero-slider {
    position: relative;
    height: 80vh;
    min-height: 600px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
}
.hero-slider::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to right, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0) 100%);
    z-index: 1;
}
.hero-content {
    position: relative;
    z-index: 2;
    max-width: 600px;
}
.hero-badge {
    display: inline-block;
    background: rgba(205, 163, 79, 0.15);
    color: var(--gold-color);
    padding: 6px 15px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 15px;
}

/* Search Box */
.search-box-container {
    margin-top: -60px;
    position: relative;
    z-index: 10;
}
.search-box {
    background: #fff;
    border-radius: 15px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
    padding: 25px;
}
.form-select, .form-control {
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    padding: 10px 15px;
}
.form-select:focus, .form-control:focus {
    border-color: var(--gold-color);
    box-shadow: 0 0 0 0.25rem rgba(205, 163, 79, 0.25);
}

/* Feature / Services Cards */
.feature-card {
    background: #fff;
    border-radius: 12px;
    padding: 30px 20px;
    text-align: center;
    box-shadow: 0 5px 20px rgba(0,0,0,0.03);
    transition: var(--transition);
    height: 100%;
}
.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.08);
}
.feature-icon {
    width: 60px;
    height: 60px;
    background: rgba(205, 163, 79, 0.1);
    color: var(--gold-color);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 20px;
    transition: var(--transition);
}
.feature-card:hover .feature-icon {
    background: var(--gold-color);
    color: #fff;
}

/* Property Cards */
.property-card {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: var(--transition);
    height: 100%;
}
.property-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}
.property-img-wrapper {
    position: relative;
    height: 240px;
    overflow: hidden;
}
.property-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.property-card:hover .property-img-wrapper img {
    transform: scale(1.1);
}
.property-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    background: rgba(26, 42, 64, 0.9);
    color: #fff;
    padding: 5px 12px;
    border-radius: 5px;
    font-size: 0.8rem;
    font-weight: 600;
    z-index: 2;
}
.property-badge.kiralik {
    background: rgba(46, 204, 113, 0.9);
}
.property-fav {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #fff;
    color: #ccc;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: var(--transition);
    cursor: pointer;
}
.property-fav:hover {
    color: #e74c3c;
}
.property-body {
    padding: 20px;
}
.property-title {
    font-size: 1.1rem;
    margin-bottom: 5px;
    color: var(--accent-color);
    text-decoration: none;
    display: block;
}
.property-title:hover {
    color: var(--gold-color);
}
.property-location {
    color: var(--text-muted);
    font-size: 0.9rem;
    margin-bottom: 15px;
}
.property-meta {
    display: flex;
    gap: 15px;
    color: var(--text-muted);
    font-size: 0.9rem;
    margin-bottom: 15px;
}
.property-meta span i {
    color: var(--gold-color);
    margin-right: 5px;
}
.property-price {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--accent-color);
    margin: 0;
}

/* Sahibinden Banner */
.sahibinden-banner {
    background-color: var(--accent-color);
    border-radius: 15px;
    color: #fff;
    padding: 40px;
    position: relative;
    overflow: hidden;
}
.sahibinden-logo {
    max-width: 180px;
    margin-bottom: 20px;
}
.btn-white {
    background: #fff;
    color: var(--accent-color);
    font-weight: 600;
}
.btn-white:hover {
    background: #f1f1f1;
    color: var(--accent-color);
}

/* Contact Info Card in Sidebar */
.contact-info-card {
    background: #fff;
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.contact-info-card i {
    width: 25px;
    color: var(--gold-color);
}

/* Footer */
.footer-links a {
    transition: var(--transition);
}
.hover-white:hover {
    color: #fff !important;
    padding-left: 5px;
}
.hover-gold:hover {
    color: var(--gold-color) !important;
}

/* WhatsApp Button */
.whatsapp-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #25d366;
    color: #fff;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    z-index: 1000;
    transition: var(--transition);
    text-decoration: none;
}
.whatsapp-btn:hover {
    background-color: #128c7e;
    color: #fff;
    transform: scale(1.1);
}

/* Animations */
.fade-in {
    animation: fadeIn 0.8s ease-in forwards;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media (max-width: 991px) {
    .contact-header {
        margin-top: 15px;
        flex-direction: column;
        align-items: flex-start !important;
    }
    .hero-slider {
        min-height: 500px;
    }
    .search-box-container {
        margin-top: 20px;
    }
}

/* Ana sayfa: sıcak taş tonları, net tipografi ve geniş görsel alanlar */
:root { --accent-color: #26352f; --gold-color: #b58a51; --secondary-color: #f7f6f2; }
.home-hero { background: #f1efe9; overflow: hidden; }
.home-hero-inner { min-height: 590px; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 5%; padding-top: 50px; padding-bottom: 90px; }
.hero-copy { padding: 30px 0; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: #987442; font-size: .72rem; letter-spacing: .16em; font-weight: 700; }
.eyebrow > span { width: 24px; height: 1px; background: currentColor; }
.hero-copy h1 { font-family: Georgia, serif; font-weight: 400; font-size: clamp(3rem, 5.5vw, 5.25rem); line-height: 1.04; letter-spacing: -.045em; margin: 22px 0; }
.hero-copy h1 em { color: #a27b4c; font-weight: 400; }
.hero-copy > p { max-width: 460px; color: #69716c; font-size: 1.06rem; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; margin-top: 30px; }
.hero-contact { color: var(--accent-color); text-decoration: none; font-weight: 600; }
.hero-contact i { color: #a27b4c; margin-right: 8px; }
.hero-proof { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 38px; color: #69716c; font-size: .84rem; }
.hero-proof i { color: #a27b4c; margin-right: 5px; }
.hero-photo { height: 440px; position: relative; background: url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1400&q=85') center/cover; border-radius: 46% 46% 8px 8px; }
.hero-photo-label { position: absolute; bottom: 22px; left: 22px; right: 22px; background: rgba(255,255,255,.96); border-radius: 12px; padding: 17px 20px; display: flex; align-items: center; gap: 14px; box-shadow: 0 12px 30px #26352f1a; }
.label-mark { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #a27b4c; }
.hero-photo-label strong,.hero-photo-label small { display: block; }.hero-photo-label small { color: #777; margin-top: 3px; }
.home-search { position: relative; z-index: 2; margin-top: -42px; }
.search-panel { display: grid; grid-template-columns: 1.1fr 1fr 1fr 1fr auto; align-items: end; gap: 18px; padding: 24px 28px; background: #fff; border-radius: 14px; box-shadow: 0 18px 55px #26352f12; }
.search-heading strong { display: block; color: var(--accent-color); font-size: 1.05rem; margin-top: 5px; }
.search-panel label > span { display: block; margin-bottom: 7px; color: #777; font-size: .78rem; }
.search-panel .form-control,.search-panel .form-select { background-color: #f7f6f2; border-color: #f0eee8; min-height: 46px; }
.home-section { padding: 94px 0; background: #fff; }
.home-section-muted { background: #f7f6f2; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.section-heading h2 { font-family: Georgia,serif; font-size: clamp(2rem,3.5vw,3rem); font-weight: 400; letter-spacing: -.03em; margin: 8px 0; }
.section-heading p { color: #777; margin: 0; }
.section-link { color: #8d6a3f; font-size: .9rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.section-link i { margin-left: 8px; }
.property-card { border-radius: 10px; box-shadow: 0 5px 24px #26352f0d; }
.property-img-wrapper { display: block; height: 230px; }
.property-img-wrapper img { display: block; }
.property-body { padding: 20px 21px 22px; }
.property-kicker { text-transform: uppercase; color: #a27b4c; font-weight: 700; font-size: .7rem; letter-spacing: .08em; margin-bottom: 7px; }
.property-title { font-weight: 600; font-size: 1.08rem; }
.property-price { font-size: 1.16rem; }
.property-price small { font-size: .78rem; color: #777; font-weight: 400; }
.empty-state { min-height: 190px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; padding: 24px; border: 1px dashed #d7d2c8; border-radius: 12px; color: #777; text-align: center; }
.empty-state i { color: #b58a51; font-size: 1.6rem; }.empty-state p { margin: 0; }
.project-section { background: #fff; }
.project-group + .project-group { margin-top: 50px; }
.project-group > h3 { font-family: Georgia,serif; font-size: 1.5rem; font-weight: 400; margin-bottom: 22px; }
.project-card { height: 100%; border: 1px solid #eeece6; border-radius: 11px; overflow: hidden; background: #fff; }
.project-image { height: 220px; position: relative; overflow: hidden; background: #e9e6df; }
.project-image { display:block; }
.project-image img { width: 100%; height: 100%; object-fit: cover; }
.project-status { position: absolute; left: 15px; top: 15px; background: #f3e8d7; color: #765a34; border-radius: 30px; padding: 7px 12px; font-size: .75rem; font-weight: 700; }
.project-status.complete { background: #e1ede4; color: #41664b; }
.project-body { padding: 22px; }.project-body h4 { font-size: 1.25rem; margin: 0 0 9px; }.project-body > p { color: #777; font-size: .91rem; min-height: 48px; }
.project-progress-label { display: flex; justify-content: space-between; gap: 12px; color: #777; font-size: .78rem; margin: 20px 0 9px; }.project-progress-label strong { color: var(--accent-color); }
.project-card .progress { height: 6px; background: #efeee9; }.project-card .progress-bar { background: #b58a51; border-radius: 10px; }
.project-complete-note { color: #477453; font-weight: 600; font-size: .88rem; padding-top: 12px; }
.project-detail-link { display:inline-block; margin-top:18px; color:#8d6a3f; font-size:.84rem; font-weight:700; text-decoration:none; }
.project-detail-hero { height:440px; position:relative; color:#fff; background:#26352f; }
.project-detail-hero > img { width:100%; height:100%; object-fit:cover; }
.project-detail-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(22,35,31,.82),rgba(22,35,31,.12)); }
.project-detail-heading { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.project-detail-heading h1 { color:#fff; font:400 clamp(2.5rem,5vw,4.5rem) Georgia,serif; margin:20px 0 10px; }
.project-detail-heading p { color:#fff; font-size:1.1rem; }
.project-updates { border-left:1px solid #e2ded5; margin-left:9px; padding-left:30px; }
.project-update { position:relative; margin-bottom:28px; }
.project-update-marker { position:absolute; left:-36px; top:4px; width:12px; height:12px; border-radius:50%; background:#b58a51; border:3px solid #f4eee5; box-sizing:content-box; }
.project-update-card { background:#fff; border:1px solid #eeece6; border-radius:12px; padding:22px; }
.project-update-card time { font-size:.78rem; color:#9a784d; font-weight:700; }
.project-update-card h3 { font-size:1.2rem; margin:8px 0; }
.project-update-card p { color:#737a75; white-space:normal; }
.project-update-card img { width:100%; max-height:420px; object-fit:cover; border-radius:8px; margin-top:8px; }
.listing-gallery { background:#fff; border:1px solid #e9e7e2; border-radius:14px; padding:10px; box-shadow:0 5px 20px rgba(38,53,47,.06); }
.listing-gallery-main { height:clamp(300px,48vw,540px); position:relative; border-radius:10px; background:#f3f2ef; overflow:hidden; touch-action:pan-y; }
.listing-gallery-main > img { width:100%; height:100%; display:block; object-fit:contain; user-select:none; -webkit-user-drag:none; }
.listing-gallery-count { position:absolute; right:14px; bottom:14px; border-radius:20px; background:rgba(25,32,29,.76); color:#fff; font-size:.82rem; padding:6px 11px; }
.gallery-arrow { position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border:0; border-radius:50%; background:rgba(255,255,255,.94); color:#26352f; box-shadow:0 2px 12px rgba(0,0,0,.14); }
.gallery-arrow:hover { background:#fff; color:#a27b4c; }.gallery-prev { left:14px; }.gallery-next { right:14px; }
.listing-gallery-thumbs { display:flex; gap:9px; overflow-x:auto; padding:12px 2px 3px; scrollbar-width:thin; overscroll-behavior-inline:contain; }
.listing-gallery-thumb { flex:0 0 92px; width:92px; height:68px; border:2px solid transparent; border-radius:7px; padding:0; background:#f2f1ed; overflow:hidden; cursor:pointer; }
.listing-gallery-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.listing-gallery-thumb.active { border-color:#b58a51; box-shadow:0 0 0 2px rgba(181,138,81,.15); }
.project-empty { background: #faf9f6; }
.home-cta { background: #26352f; color: #fff; padding: 62px 0; }.home-cta .container { display: flex; justify-content: space-between; align-items: center; gap: 28px; }.home-cta h2 { color: #fff; font-family: Georgia,serif; font-weight: 400; font-size: clamp(1.8rem,3vw,2.7rem); margin: 12px 0 0; }.home-cta .eyebrow { color: #d4b889; }
@media(max-width: 991px) { .home-hero-inner { grid-template-columns: 1fr 1fr; min-height: 500px; }.hero-photo { height: 370px; }.search-panel { grid-template-columns: repeat(2,1fr); }.search-heading { grid-column: 1/-1; } }
@media(max-width: 767px) { .home-hero-inner { display: flex; flex-direction: column; align-items: stretch; gap: 15px; padding-top: 45px; padding-bottom: 75px; }.hero-photo { height: 300px; border-radius: 38% 38% 8px 8px; }.hero-copy { padding: 10px 0; }.hero-proof { margin-top: 24px; }.search-panel { grid-template-columns: 1fr; padding: 22px; }.home-section { padding: 65px 0; }.section-heading { align-items: flex-start; flex-direction: column; }.home-cta .container { align-items: flex-start; flex-direction: column; }.property-img-wrapper { height: 220px; } }

/* Mobilde sayfa genişliğini sabitle ve taşan içerikleri kendi alanında tut. */
@media (max-width: 767px) {
    html, body { width:100%; max-width:100%; overflow-x:hidden; }
    img, video, iframe { max-width:100%; }
    .container { width:100%; max-width:100%; padding-left:16px; padding-right:16px; }
    .row { --bs-gutter-x:1rem; }
    .home-hero-inner { min-width:0; grid-template-columns:minmax(0,1fr); }
    .hero-copy, .hero-photo, .search-panel, .search-panel > *, .section-heading > * { min-width:0; max-width:100%; }
    .hero-copy h1 { font-size:clamp(2.35rem,11vw,3.5rem); overflow-wrap:anywhere; }
    .hero-copy > p, .section-heading p, .project-body > p { overflow-wrap:anywhere; }
    .hero-actions { gap:14px; }
    .hero-proof { gap:10px 16px; }
    .home-search { margin-top:-34px; }
    .search-panel { border-radius:12px; }
    .section-link { white-space:normal; }
    .property-meta { flex-wrap:wrap; }
    .project-detail-hero { height:340px; }
    .project-detail-heading h1 { font-size:clamp(2rem,9vw,3.1rem); overflow-wrap:anywhere; }
    .project-update-card { padding:16px; }
    .listing-gallery { padding:6px; border-radius:11px; }
    .listing-gallery-main { height:min(72vw,390px); min-height:240px; }
    .gallery-arrow { width:36px; height:36px; }
    .gallery-prev { left:9px; }.gallery-next { right:9px; }
    .listing-gallery-thumbs { gap:7px; padding-top:9px; }
    .listing-gallery-thumb { flex-basis:72px; width:72px; height:58px; }
    .project-updates { padding-left:22px; }
    .project-update-marker { left:-28px; }
    .contact-info-card { padding:22px; }
    .footer a, .contact-info-card a, .property-title, .project-detail-heading p { overflow-wrap:anywhere; word-break:break-word; }
    .whatsapp-btn { right:16px; bottom:16px; width:54px; height:54px; }
}

@media (max-width: 380px) {
    .container { padding-left:13px; padding-right:13px; }
    .navbar-brand { gap:7px !important; }
    .navbar-brand .brand-text span:first-child { font-size:1rem !important; }
    .navbar-brand .brand-text span:last-child { letter-spacing:2px !important; }
    .hero-actions .btn { width:100%; }
    .hero-contact { font-size:.9rem; }
}
