/* Yılmazlar v1.0.2 — reference-aligned Kastamonu service map */

.rb-reference-map{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
  isolation:isolate;
}
.rb-reference-map image{
  pointer-events:none;
  user-select:none;
}
.rb-reference-map__region{
  cursor:pointer;
  outline:none;
}
.rb-reference-map__region path{
  fill:transparent;
  stroke:transparent;
  stroke-width:2.5;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  transition:fill .2s ease,stroke .2s ease,filter .2s ease;
}
.rb-reference-map__pin{
  fill:transparent;
  stroke:transparent;
  stroke-width:3;
  vector-effect:non-scaling-stroke;
  transition:fill .2s ease,stroke .2s ease,r .2s ease,filter .2s ease;
}
.rb-reference-map__region:hover path,
.rb-reference-map__region:focus path,
.rb-reference-map__region.is-active path{
  fill:rgba(242,101,34,.24);
  stroke:#f26522;
  filter:drop-shadow(0 8px 12px rgba(242,101,34,.24));
}
.rb-reference-map__region:hover .rb-reference-map__pin,
.rb-reference-map__region:focus .rb-reference-map__pin,
.rb-reference-map__region.is-active .rb-reference-map__pin{
  fill:#f26522;
  stroke:#fff;
  r:9px;
  filter:drop-shadow(0 5px 8px rgba(7,26,49,.28));
}
.rb-reference-map__region:focus-visible path{
  stroke:#071a31;
  stroke-width:4;
}

.rb-region__map--reference{
  background:#071a31;
}
.rb-region__map--reference .rb-reference-map{
  margin:18px 0;
  border-radius:16px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(7,26,49,.08),0 18px 42px rgba(0,0,0,.16);
}
.rb-region__map--reference .rb-reference-map image{
  border-radius:16px;
}
.rb-region__map--reference .rb-region__map-foot{
  padding-top:16px;
}
.rb-region__map--reference .rb-region__map-foot span{
  color:#b9c7d4;
}

.district-map-canvas{
  min-height:0;
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
  border:1px solid #dfe7ef;
  box-shadow:0 28px 70px rgba(7,30,66,.12);
}
.district-map-canvas:after{
  display:none;
}
.district-map-canvas__topline{
  color:#071e42;
}
.district-map-canvas__topline span i{
  color:#f26522;
}
.district-map-canvas__topline small{
  color:#718195;
}
.district-map-svg{
  max-height:650px;
  margin:12px auto 0;
  border-radius:18px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(7,30,66,.06);
}
.district-map-region path{
  fill:transparent;
  stroke:transparent;
  stroke-width:2.6;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  transition:fill .2s ease,stroke .2s ease,filter .2s ease;
}
.district-map-region.status-planned path{
  stroke-dasharray:8 5;
}
.district-map-region:hover path,
.district-map-region:focus path,
.district-map-region.is-active path{
  fill:rgba(242,101,34,.24);
  stroke:#f26522;
  filter:drop-shadow(0 8px 13px rgba(242,101,34,.24));
}
.district-map-region__pin{
  fill:transparent;
  stroke:transparent;
  stroke-width:3;
}
.district-map-region:hover .district-map-region__pin,
.district-map-region:focus .district-map-region__pin,
.district-map-region.is-active .district-map-region__pin{
  fill:#f26522;
  stroke:#fff;
  r:9px;
}
.district-map-region:focus-visible path{
  stroke:#071e42;
  stroke-width:4;
}
.district-map-legend{
  margin-top:14px;
  padding:15px 4px 0;
  border-top:1px solid #dfe7ef;
  color:#5f7082;
}
.district-map-legend span{
  font-weight:750;
}
.district-map-legend i{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#d9e1e8;
  border:1px solid #a8b6c3;
}
.district-map-legend i.is-selected{
  background:#f26522;
  border-color:#f26522;
}
.district-map-legend small{
  margin-left:auto;
  color:#8190a0;
  font-size:11px;
}

@media (max-width:760px){
  .rb-region__map--reference .rb-reference-map{
    margin:14px 0;
    border-radius:12px;
  }
  .district-map-canvas{
    padding:16px 12px 14px;
  }
  .district-map-svg{
    min-width:640px;
    width:640px;
    margin-left:0;
    border-radius:14px;
  }
  .district-map-legend{
    min-width:610px;
    gap:12px;
  }
  .district-map-legend small{
    flex-basis:100%;
    margin-left:0;
  }
}
@media (prefers-reduced-motion:reduce){
  .rb-reference-map__region path,
  .rb-reference-map__pin,
  .district-map-region path,
  .district-map-region__pin{
    transition:none;
  }
}

/* v1.0.5 — İlçe bazlı yerel SEO paneli ve görünür hizmet dizini */
.district-map-shell{
  grid-template-columns:minmax(0,1fr) 430px;
}
.district-map-panel{
  padding:34px;
}
.district-map-panel>small b{
  color:#071e42;
  font-weight:900;
}
.district-map-panel h3{
  font-size:clamp(1.5rem,2vw,2rem);
  line-height:1.12;
  letter-spacing:-.035em;
  margin:10px 0 14px;
}
.district-map-panel>p{
  font-size:.9rem;
  line-height:1.68;
}
.district-map-panel__keywords{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:16px 0 5px;
}
.district-map-panel__keywords span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 9px;
  border:1px solid #d8e1e9;
  background:#f7f9fb;
  color:#29445d;
  font-size:.66rem;
  line-height:1.25;
  font-weight:800;
}
.district-map-panel__features{
  margin-top:18px;
}
.district-map-panel__cta{
  width:100%;
  justify-content:center;
  text-align:center;
}

.district-seo-section{
  padding:100px 0;
  background:#fff;
}
.district-seo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid #dce5ed;
  border-left:1px solid #dce5ed;
}
.district-seo-grid article{
  min-height:330px;
  padding:28px;
  border-right:1px solid #dce5ed;
  border-bottom:1px solid #dce5ed;
  display:flex;
  flex-direction:column;
  background:#fff;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.district-seo-grid article:hover{
  position:relative;
  z-index:2;
  transform:translateY(-4px);
  border-color:#f26522;
  box-shadow:0 22px 45px rgba(7,30,66,.12);
}
.district-seo-grid article>small{
  color:#f26522;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.district-seo-grid h3{
  margin:12px 0 14px;
  color:#071e42;
  font-size:1.12rem;
  line-height:1.35;
  letter-spacing:-.025em;
}
.district-seo-grid p{
  color:#566b7f;
  font-size:.84rem;
  line-height:1.65;
  margin:0;
}
.district-seo-grid__keywords{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:18px 0 20px;
}
.district-seo-grid__keywords span{
  padding:6px 8px;
  background:#f2f6f9;
  color:#40576c;
  font-size:.63rem;
  font-weight:750;
}
.district-seo-grid article>a{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#071e42;
  font-size:.78rem;
  font-weight:900;
}
.district-seo-grid article>a i{
  color:#f26522;
}

@media (max-width:1180px){
  .district-map-shell{grid-template-columns:minmax(0,1fr) 380px}
  .district-seo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .district-map-shell{grid-template-columns:1fr}
  .district-map-panel{min-height:0}
}
@media (max-width:760px){
  .district-seo-section{padding:72px 0}
  .district-seo-grid{grid-template-columns:1fr}
  .district-seo-grid article{min-height:0;padding:24px 20px}
  .district-map-panel h3{font-size:1.55rem}
  .district-map-panel__keywords span{font-size:.64rem}
}
