/* ==========================================================================
   İDA HALI YIKAMA — PAGE-SPECIFIC LAYOUT
   (service pages, region pages, about, contact)
   ========================================================================== */

/* ---- Service detail page --------------------------------------------------*/
.service-detail-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center; }
@media(max-width:900px){ .service-detail-grid{ grid-template-columns:1fr; } }
.service-detail-visual{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/3; }
.service-detail-visual svg{ width:100%; height:100%; }
.service-detail-visual img{ width:100%; height:100%; object-fit:cover; display:block; }
.service-detail-grid.reverse .service-detail-visual{ order:2; }
@media(max-width:900px){ .service-detail-grid.reverse .service-detail-visual{ order:0; } }

.detail-list{ display:flex; flex-direction:column; gap:1.1rem; margin-top:1.6rem; }
.detail-list li{ display:flex; gap:.85rem; align-items:flex-start; font-size:.96rem; color:var(--c-ink-soft); }
.detail-list svg{ width:22px; height:22px; color:var(--c-aqua-deep); flex-shrink:0; margin-top:1px; }

.step-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
@media(max-width:860px){ .step-strip{ grid-template-columns:repeat(2,1fr); } }
.step-card{ background:var(--c-mist); border-radius:var(--radius-md); padding:1.5rem; }
.step-card .idx{ font-family:var(--font-display); font-weight:800; font-size:1.6rem; color:var(--c-aqua-deep); }
.step-card h4{ font-family:var(--font-display); font-weight:700; margin-top:.6rem; font-size:1rem; }
.step-card p{ font-size:.86rem; color:var(--c-slate); margin-top:.4rem; }

.related-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
@media(max-width:780px){ .related-services{ grid-template-columns:1fr; } }
.related-card{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.2rem 1.4rem; border-radius:var(--radius-md); border:1px solid var(--c-fog);
  transition:border-color var(--dur-fast), transform var(--dur-fast), box-shadow var(--dur-fast);
}
.related-card:hover{ border-color:var(--c-aqua); transform:translateY(-3px); box-shadow:var(--shadow-sm); }
.related-card h4{ font-family:var(--font-display); font-size:1rem; }
.related-card svg{ width:18px; height:18px; color:var(--c-aqua-deep); }

.cta-band{
  background:linear-gradient(165deg, #0b1a30 0%, #10233d 52%, #0d2c34 100%);
  color:#fff; border-radius:var(--radius-lg);
  padding:clamp(2.4rem,5.5vw,4.6rem); text-align:center;
  position:relative; overflow:hidden; isolation:isolate;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.container > .cta-band:not(:first-child){ margin-top:2.6rem; }
.cta-band .flow-gradient{ opacity:.18; z-index:0; }
.cta-band::before{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(70% 80% at 50% 45%, rgba(8,16,28,.08), rgba(8,16,28,.42));
}
.cta-band .container-narrow{ position:relative; z-index:2; }
.cta-band .eyebrow{
  color:var(--c-gold-light); justify-content:center;
  text-shadow:0 1px 10px rgba(0,0,0,.35);
}
.cta-band .eyebrow::before{ background:var(--c-gold-light); }
.cta-band h2{
  color:#fff; margin-top:.75rem;
  text-shadow:0 10px 32px rgba(0,0,0,.45);
}
.cta-band .lead{
  color:rgba(255,255,255,.94); margin-top:1.05rem; margin-inline:auto;
  max-width:44ch; text-shadow:0 6px 22px rgba(0,0,0,.4);
}
.cta-band-actions{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-top:1.8rem; }
.cta-band .btn-ghost{
  border-color:rgba(255,255,255,.55); color:#fff; background:rgba(255,255,255,.1);
}
.btn-cta{
  position:relative; isolation:isolate; overflow:hidden;
  background:linear-gradient(105deg, #1c9080 0%, #157a6c 46%, #0f5a50 100%);
  color:#fff; border:1px solid rgba(212,188,122,.55);
  padding:1.12rem 1.5rem 1.12rem 1.85rem;
  box-shadow:0 14px 34px rgba(15,90,80,.34), inset 0 1px 0 rgba(255,255,255,.22);
}
a.btn-cta{ color:#fff; }
.btn-cta::before{
  content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(115deg, transparent 36%, rgba(255,255,255,.38) 50%, transparent 64%);
  transform:translateX(-130%);
  mix-blend-mode:overlay;
}
.btn-cta:hover::before{ animation:shine-sweep .95s var(--ease-out); }
.btn-cta::after{
  content:''; width:16px; height:16px; position:relative; z-index:1; flex-shrink:0;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.btn-cta:hover{
  transform:translateY(-2px);
  border-color:var(--c-gold-light);
  box-shadow:0 18px 42px rgba(15,90,80,.42), 0 0 24px rgba(212,188,122,.3);
}
@media (prefers-reduced-motion: reduce){
  .btn-cta:hover::before{ animation:none; }
}

/* ---- Region page -----------------------------------------------------------*/
.region-hero-stats{ display:flex; flex-wrap:wrap; gap:1.5rem; margin-top:2rem; }
.region-hero-stats .chip{ background:rgba(255,255,255,.08); color:#dcecef; border:1px solid rgba(255,255,255,.14); }
.region-content-grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:3rem; }
@media(max-width:900px){ .region-content-grid{ grid-template-columns:1fr; } }
.region-content-grid .lead{ margin-top:0; }
.region-content-grid p + p{ margin-top:1.1rem; }
.region-sidebar{ display:flex; flex-direction:column; gap:1.2rem; }
.region-sidebar .info-card{ background:#fff; border:1px solid var(--c-fog); }
.other-regions{ display:flex; flex-wrap:wrap; gap:.6rem; }
.other-regions a{
  padding:.6rem 1.05rem; border-radius:var(--radius-full); background:var(--c-mist);
  font-size:.85rem; font-weight:700; color:var(--c-slate); transition:background var(--dur-fast), color var(--dur-fast);
}
.other-regions a:hover{ background:var(--c-ink); color:#fff; }

/* ---- About page ------------------------------------------------------------*/
.value-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media(max-width:860px){ .value-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .value-grid{ grid-template-columns:1fr; } }
.value-card{ padding:1.8rem; border-radius:var(--radius-md); border:1px solid var(--c-fog); }
.value-card .icon{ width:48px; height:48px; border-radius:14px; background:var(--c-mist); display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.value-card .icon svg{ width:24px; height:24px; color:var(--c-aqua-deep); }

.timeline-simple{ position:relative; padding-left:2rem; border-left:2px solid var(--c-fog); display:flex; flex-direction:column; gap:2rem; }
.timeline-simple li{ position:relative; }
.timeline-simple li::before{ content:''; position:absolute; left:-2.42rem; top:.2rem; width:14px; height:14px; border-radius:50%; background:var(--grad-aqua); border:3px solid #fff; box-shadow:0 0 0 2px var(--c-fog); }
.timeline-simple .yr{ font-family:var(--font-display); font-weight:800; color:var(--c-aqua-deep); font-size:.9rem; }
.timeline-simple h4{ font-family:var(--font-display); margin-top:.3rem; }
.timeline-simple p{ margin-top:.4rem; color:var(--c-slate); font-size:.92rem; }

/* ---- Contact page -----------------------------------------------------------*/
.contact-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:3rem; align-items:start; }
.contact-grid > *{ min-width:0; }
@media(max-width:940px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-info-list{ display:flex; flex-direction:column; gap:1rem; margin-top:1.6rem; }

/* ---- Hizmetler index cards (hizmetler landing area on home uses .service-grid) */
.legal-note{ font-size:.78rem; color:var(--c-slate-light); margin-top:2.5rem; max-width:70ch; }
