/* =====================================================================
   Gençbayraktar Gayrimenkul — Paylaşılan Tasarım Sistemi
   (tasarım prototipindeki :root ve ortak kurallar — birebir korunur)
   ===================================================================== */
:root{
  --indigo:#d81f26; --indigo-d:#a3121a; --violet:#ec3b3b; --teal:#7a1418;
  --gold:#c89b2e; --emerald:#0f9d58; --ink:#1a1416; --muted:#7a7073;
  --bg:#faf6f6; --card:#fff; --line:#ecdfe0;
  --grad:linear-gradient(135deg,#ec3b3b,#d81f26,#a3121a);
  --grad-dark:linear-gradient(150deg,#a3121a,#7a1418);
  --r:14px; --r-lg:20px;
  --shadow:0 2px 10px rgba(26,20,22,.06),0 1px 3px rgba(26,20,22,.05);
  --shadow-lg:0 18px 50px rgba(122,20,24,.16),0 6px 18px rgba(26,20,22,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);overflow-x:hidden}
a{color:inherit}
/* uzun, boşluksuz metinleri güvenle sar (yatay taşmayı önler) */
h1,h2,h3,h4,h5,h6,p,li,td,th,blockquote{overflow-wrap:anywhere}
.gb-detail span,.gb-spec span{overflow-wrap:anywhere}
.gb-detail,.gb-detail main{min-width:0}
::selection{background:rgba(216,31,38,.16)}
input,select,textarea,button{font-family:inherit}
input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px rgba(216,31,38,.14)!important;border-color:var(--indigo)!important}
.leaflet-container{font-family:inherit;border-radius:var(--r)}

/* hover & etkileşim yardımcıları */
.gb-card-h{transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s}
.gb-card-h:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.gb-tile{transition:transform .18s,border-color .18s}
.gb-tile:hover{transform:translateY(-3px);border-color:var(--indigo)}
.gb-simcard{transition:transform .2s,box-shadow .2s}
.gb-simcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.gb-thumb{transition:border-color .15s,opacity .15s}
.gb-thumb:hover{opacity:.9}
.gb-row-h:hover{background:#fdf9f9}
.gb-navlink:hover{background:var(--bg);color:var(--indigo)}
.gb-cta:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(216,31,38,.34)}

/* scrollbar */
.gb-scroll::-webkit-scrollbar{width:10px}
.gb-scroll::-webkit-scrollbar-thumb{background:#e3d2d3;border-radius:8px;border:3px solid var(--bg)}
.gbw-msgs::-webkit-scrollbar{width:8px}
.gbw-msgs::-webkit-scrollbar-thumb{background:#e3d2d3;border-radius:8px;border:2px solid var(--card)}

/* animasyonlar */
@keyframes gb-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes gb-spin{to{transform:rotate(360deg)}}
@keyframes gb-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
@keyframes gb-confetti{0%{transform:translateY(-12vh) rotate(0);opacity:1}100%{transform:translateY(110vh) rotate(720deg);opacity:.9}}
@keyframes gb-shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
@keyframes gbw-slide{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes gbw-fade{from{opacity:0}to{opacity:1}}
@keyframes gbw-pop{0%{transform:scale(.5);opacity:0}100%{transform:scale(1);opacity:1}}
.gb-skel{background:linear-gradient(90deg,#f2e9ea 25%,#f8f1f2 50%,#f2e9ea 75%);background-size:800px 100%;animation:gb-shimmer 1.3s infinite linear}

/* toast */
.gb-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:9000;background:var(--ink);color:#fff;padding:13px 22px;border-radius:12px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;animation:gbw-pop .3s ease}

/* responsive (tüm sayfalardan toplandı) */
@media (max-width:860px){.gb-brand{display:none!important}.gb-split{grid-template-columns:1fr!important}}
@media (max-width:900px){
  .gb-dash{grid-template-columns:1fr!important}.gb-side{display:none!important}
  .gb-stats{grid-template-columns:1fr 1fr!important}
  .gb-rowgrid{grid-template-columns:64px 1fr auto!important}.gb-rowgrid .gb-hidecol{display:none!important}
  .gb-hero{grid-template-columns:1fr!important}.gb-hero-img{display:none!important}
  .gb-grid3{grid-template-columns:1fr 1fr!important}.gb-tiles{grid-template-columns:repeat(3,1fr)!important}
  .gb-detail{grid-template-columns:1fr!important}.gb-aside{position:static!important}
  .gb-spec{grid-template-columns:1fr!important}.gb-sim{grid-template-columns:1fr 1fr!important}
  .gb-edit{grid-template-columns:1fr!important}.gb-epv{position:static!important}.gb-eform{grid-template-columns:1fr!important}
  .gb-navlinks{display:none!important}
}
@media (max-width:1023px){
  #gb-cols{grid-template-columns:1fr!important}
  #gb-aside{display:none!important}
  #gb-stepper-track{overflow-x:auto}
}
@media (max-width:520px){.gbw-drawer{width:100vw!important}}

/* ===================== TAKVİM / ETKİNLİKLER ===================== */
.cal-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;animation:gb-fade .3s ease}
.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.cal-nav{display:flex;align-items:center;gap:6px}
.cal-navbtn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;color:#3d3437;transition:.15s}
.cal-navbtn:hover{background:var(--bg);border-color:var(--indigo);color:var(--indigo)}
.cal-title{font-family:'Plus Jakarta Sans';font-weight:800;font-size:19px;min-width:165px;text-align:center;letter-spacing:-.3px}
.cal-grid-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg);border-bottom:1px solid var(--line)}
.cal-grid-head span{padding:10px;text-align:center;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-day{min-height:112px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 7px 5px;cursor:pointer;transition:background .15s;display:flex;flex-direction:column;gap:4px}
.cal-day:nth-child(7n){border-right:none}
.cal-day:hover{background:#fdfafa}
.cal-day.other{background:#fbf8f8}
.cal-day.other .cal-daynum{color:#cabcbe}
.cal-daynum{font-size:12.5px;font-weight:700;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#3d3437}
.cal-day.today .cal-daynum{background:var(--grad);color:#fff;box-shadow:0 3px 8px rgba(216,31,38,.3)}
.cal-ev{font-size:11px;font-weight:600;padding:3px 7px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-left:3px solid;transition:transform .12s,box-shadow .12s}
.cal-ev:hover{transform:translateX(2px);box-shadow:0 1px 4px rgba(0,0,0,.1)}
.cal-ev.done{opacity:.55;text-decoration:line-through}
.cal-more{font-size:10.5px;color:var(--muted);font-weight:700;padding:1px 4px;cursor:pointer}
.cal-legend{display:flex;gap:16px;padding:13px 20px;flex-wrap:wrap;border-top:1px solid var(--line)}
.cal-legend span{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:600}
.cal-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}
.cal-modal{position:fixed;inset:0;z-index:700;background:rgba(26,20,22,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:gb-fade .2s ease}
.cal-card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:92vh;overflow-y:auto;animation:gb-pop .32s cubic-bezier(.2,.8,.3,1)}
.cal-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card);z-index:2}
.cal-card-body{padding:20px 22px}
.cal-field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}
.cal-field>label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.cal-field input,.cal-field select,.cal-field textarea{padding:11px 13px;border-radius:10px;border:1.5px solid var(--line);background:var(--card);font-size:14px;color:var(--ink);outline:none;font-family:inherit}
.cal-field input:focus,.cal-field select:focus,.cal-field textarea:focus{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(216,31,38,.12)}
.cal-types{display:flex;gap:8px;flex-wrap:wrap}
.cal-typebtn{flex:1;min-width:96px;border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:10px 8px;font-size:12.5px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:7px;justify-content:center;transition:.15s;color:var(--ink)}
.cal-typebtn .dot{width:11px;height:11px;border-radius:3px}
.cal-typebtn.on{border-color:var(--indigo);background:#fdeeee;color:var(--indigo-d)}
@media(max-width:760px){.cal-day{min-height:76px}.cal-daynum{width:22px;height:22px;font-size:11.5px}}

/* =====================================================================
   MOBİL — mobil uygulama / dar ekran uyumu (inline grid'leri ezer)
   ===================================================================== */
/* genel responsive grid yardımcıları */
@media (max-width:760px){
  .gb-r2,.gb-r3{grid-template-columns:1fr!important}
  .gb-r4{grid-template-columns:1fr 1fr!important}
  .gb-search-grid{grid-template-columns:1fr!important}
  .gb-adminrow{grid-template-columns:1fr!important;gap:10px!important}
  .gb-adminrow .gb-adminact{justify-content:flex-start!important}
}
@media (max-width:480px){ .gb-r4{grid-template-columns:1fr!important} }

@media (max-width:900px){
  /* üst nav: marka alt yazısını gizle, paddingi azalt */
  .gb-topnav{padding:0 16px!important;height:64px!important}
  .gb-brand-sub{display:none!important}

  /* PANELİM: kenar menüyü gizleme → yatay kaydırmalı yap */
  .gb-dash{grid-template-columns:1fr!important;gap:16px!important;padding:18px 14px!important}
  .gb-side{display:block!important;position:static!important;border-radius:14px!important}
  .gb-side>div:first-child{display:none!important}   /* kullanıcı kartı (nav'da var) */
  .gb-side>div:last-child{display:none!important}    /* çıkış (nav'da var) */
  .gb-side nav{display:flex!important;flex-direction:row!important;overflow-x:auto;gap:8px;padding:10px;-webkit-overflow-scrolling:touch}
  .gb-side nav>div{display:none!important}            /* "Değerleme" bölüm başlığı */
  .gb-side nav button{width:auto!important;white-space:nowrap;flex:0 0 auto}
}

@media (max-width:760px){
  /* hero / büyük başlıklar */
  .gb-hero{padding:36px 18px 40px!important;gap:26px!important}
  .gb-hero h1{font-size:32px!important}
  /* sayfa bölümleri yan boşluğu azalt */
  section[style*="32px"]{padding-left:16px!important;padding-right:16px!important}
  /* ilan detay/gövde paddingleri */
  .gb-detail{gap:20px!important}
  /* admin tablo: aksiyonlar alt satıra */
  .gb-adminrow{padding:13px 14px!important}
  /* takvim araç çubuğu sığsın */
  .cal-toolbar{padding:12px 14px!important}
  .cal-title{font-size:16px!important;min-width:120px!important}
  .cal-ev{font-size:10px!important}
  /* sohbet paneli tam genişlik */
  .chat-panel,.gbw-drawer{width:100vw!important;max-width:100vw!important}
}

/* dokunmatik: form alanları okunur + iOS focus zoom engeli (inputlar ≥16px) */
@media (max-width:760px){
  input,select,textarea{font-size:16px!important}
}
