/*
 * components.css — bileşen katmanı.
 * İçerik: header, navigasyon, hero (+ hero floating card), güven kartları,
 * hizmetler, arıza seçici, sık karşılaşılan arızalar, hakkımızda, süreç adımları,
 * galeri, Google değerlendirme, müşteri yorumları, markalar, hizmet bölgeleri,
 * iletişim, CTA, SSS, footer, mobil alt bar.
 * Not: Bir bileşene sıkı sıkıya bağlı küçük @media kuralları (ör. hero floating
 * card'ın 420px altı ayarları) kasıtlı olarak ilgili bileşenin yanında tutulmuştur;
 * sayfa geneline yayılan breakpoint uyarlamaları responsive.css içindedir.
 */
  /* ---------- Header ---------- */
  header.site-header{
    background:#fff;
    border-bottom:1px solid var(--color-border);
    position:sticky;
    top:0;
    z-index:100;
  }
  .header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 20px;
    gap:16px;
  }
  .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--color-primary-dark);}
  .brand-mark{
    flex:none;
    width:42px;height:42px;
    border-radius:10px;
    background:var(--color-primary-dark);
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:1.1rem;
  }
  .brand-text{display:flex;flex-direction:column;}
  .brand-name{font-size:1.4rem;font-weight:800;letter-spacing:-0.02em;}
  .brand-tagline{font-size:.83rem;color:var(--color-text-light);font-weight:600;}
  nav.main-nav{display:none;}
  nav.main-nav ul{list-style:none;display:flex;gap:30px;margin:0;padding:0;}
  nav.main-nav a{text-decoration:none;font-weight:600;font-size:1rem;color:var(--color-text);padding:8px 0;}
  nav.main-nav a:hover{color:var(--color-primary);}
  .header-actions{display:flex;align-items:center;gap:12px;}
  .header-phone{display:none;flex-direction:column;text-decoration:none;color:var(--color-primary-dark);line-height:1.2;}
  .header-phone .label{font-size:.76rem;color:var(--color-text-light);font-weight:600;}
  .header-phone .number{font-size:1.12rem;font-weight:800;}
  .header-call-btn{padding:14px 20px;font-size:1rem;min-height:52px;white-space:nowrap;}
  .hamburger{
    display:inline-flex;align-items:center;justify-content:center;
    width:52px;height:52px;border-radius:8px;
    border:2px solid var(--color-border);background:#fff;cursor:pointer;
  }
  .hamburger svg{width:26px;height:26px;}
  .mobile-nav{display:none;flex-direction:column;background:#fff;border-top:1px solid var(--color-border);padding:8px 20px 18px 20px;}
  .mobile-nav.open{display:flex;}
  .mobile-nav a{text-decoration:none;color:var(--color-text);font-weight:600;font-size:1.12rem;padding:14px 4px;border-bottom:1px solid var(--color-border);}
  .mobile-nav a:last-child{border-bottom:none;}

  /* ---------- Hero ---------- */
  .hero{
    background:linear-gradient(180deg,#f5f8fb 0%,#ffffff 100%);
    padding:44px 0 48px 0;
    overflow:hidden;
  }
  .hero-inner{display:flex;flex-direction:column;gap:40px;}
  .hero-copy .lead{font-size:1.16rem;color:var(--color-text-light);max-width:540px;}
  .hero-checks{list-style:none;margin:22px 0 0 0;padding:0;display:flex;flex-direction:column;gap:10px;}
  .hero-checks li{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.98rem;color:var(--color-text);}
  .hero-checks svg{flex:none;width:20px;height:20px;color:var(--color-whatsapp);}
  @media (max-width:420px){
    .hero .cta-group .btn,
    .cta-band .cta-group .btn,
    .contact-card .cta-group .btn{width:100%;}
  }
  .hero-visual{display:flex;justify-content:center;}
  .hero-photo-wrap{position:relative;width:100%;max-width:440px;}
  .hero-photo-wrap::before{
    content:'';position:absolute;top:-22px;right:-22px;
    width:88%;height:88%;
    background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary-dark));
    opacity:.14;border-radius:var(--radius-lg);z-index:0;
  }
  .hero-photo{
    position:relative;z-index:1;
    width:100%;aspect-ratio:4/5;object-fit:cover;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-md);
    background:var(--color-bg-alt);
  }
  .hero-floating-card{
    position:relative;z-index:2;
    margin:-46px auto 0 auto;
    width:calc(100% - 32px);
    max-width:300px;
    background:#fff;
    border-radius:16px;
    box-shadow:0 10px 24px rgba(15,47,77,.14), 0 2px 6px rgba(15,47,77,.06);
    padding:14px 18px;
    display:flex;align-items:center;gap:12px;
  }
  .hero-floating-icon{
    flex:none;width:40px;height:40px;border-radius:50%;
    background:var(--color-whatsapp);color:#fff;
    display:flex;align-items:center;justify-content:center;
    line-height:0;
  }
  .hero-floating-icon svg{
    display:block;width:20px;height:20px;
    overflow:visible;
  }
  .hero-floating-text{min-width:0;}
  .hero-floating-card strong{display:block;font-size:.95rem;line-height:1.3;color:var(--color-primary-dark);}
  .hero-floating-card span{display:block;font-size:.83rem;line-height:1.3;margin-top:2px;color:var(--color-text-light);}
  @media (max-width:420px){
    .hero-floating-card{padding:12px 14px;gap:10px;border-radius:14px;}
    .hero-floating-icon{width:36px;height:36px;}
    .hero-floating-icon svg{width:18px;height:18px;}
    .hero-floating-card strong{font-size:.9rem;}
    .hero-floating-card span{font-size:.78rem;}
  }

  /* ---------- Trust bar ---------- */
  .trust-grid{display:grid;grid-template-columns:1fr;gap:18px;}
  .trust-item{
    display:flex;align-items:flex-start;gap:16px;
    background:#fff;border-radius:var(--radius);
    box-shadow:var(--shadow-sm);
    padding:22px;
  }
  .trust-icon{
    flex:none;width:50px;height:50px;border-radius:50%;
    background:var(--color-primary-dark);color:#fff;
    display:flex;align-items:center;justify-content:center;
  }
  .trust-icon svg{width:24px;height:24px;}
  .trust-item h3{margin-bottom:5px;font-size:1.08rem;}
  .trust-item p{margin:0;color:var(--color-text-light);font-size:.98rem;}

  /* ---------- Services ---------- */
  .services-grid{
    display:grid;
    grid-template-columns:1fr;
    grid-auto-flow:dense;
    align-items:stretch;
    gap:22px;
  }
  .service-card{
    background:#fff;
    border:1px solid var(--color-border);
    border-radius:var(--radius);
    padding:26px 24px;
    text-align:left;
    display:flex;flex-direction:column;gap:10px;
    box-shadow:var(--shadow-sm);
    height:100%;
    transition:box-shadow .18s ease, border-color .18s ease;
  }
  .service-card:hover{box-shadow:var(--shadow-md);border-color:#d5dee6;}
  .service-icon{
    flex:none;
    width:54px;height:54px;border-radius:12px;
    background:var(--color-bg-alt);
    display:flex;align-items:center;justify-content:center;
    color:var(--color-primary);margin-bottom:4px;
  }
  .service-icon svg{width:28px;height:28px;}
  .service-card h3{margin-bottom:4px;}
  .service-card p{color:var(--color-text-light);font-size:1rem;margin-bottom:12px;flex:1 1 auto;}
  .service-link{
    text-decoration:none;font-weight:700;color:var(--color-primary);
    display:inline-flex;align-items:center;gap:6px;font-size:.98rem;
    margin-top:auto;
  }
  .service-link svg{width:18px;height:18px;}

  /* ---------- Sık karşılaşılan arızalar (SEO içerik kartları) ---------- */
  .issue-grid{display:grid;grid-template-columns:1fr;gap:22px;align-items:stretch;}
  .issue-card{
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);
    padding:26px 24px;box-shadow:var(--shadow-sm);
    display:flex;flex-direction:column;gap:10px;height:100%;
    transition:box-shadow .18s ease, border-color .18s ease;
  }
  .issue-card:hover{box-shadow:var(--shadow-md);border-color:#d5dee6;}
  .issue-card h3{margin-bottom:2px;}
  .issue-card p{color:var(--color-text-light);font-size:1rem;flex:1 1 auto;margin-bottom:12px;}
  @media (min-width:640px){.issue-grid{grid-template-columns:1fr 1fr;}}
  @media (min-width:860px){.issue-grid{grid-template-columns:repeat(3,1fr);}}

  .service-card--featured{
    position:relative;
    min-height:300px;
    color:#fff;
    justify-content:flex-end;
    border:none;
    background-color:var(--color-primary);
    background-size:cover;
    background-position:center;
    padding:30px;
  }
  .service-card--featured::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(8,27,46,.15) 0%,rgba(8,27,46,.92) 100%);
    border-radius:inherit;
  }
  .service-card--featured > *{position:relative;z-index:1;}
  .service-card--featured .service-badge{
    display:inline-block;
    background:var(--color-accent);
    color:#fff;font-size:.76rem;font-weight:700;
    letter-spacing:.6px;text-transform:uppercase;
    padding:5px 12px;border-radius:100px;
    margin-bottom:12px;width:fit-content;
  }
  .service-card--featured h3{color:#fff;font-size:1.5rem;}
  .service-card--featured p{color:#dce6ef;}
  .service-card--featured .service-link{color:#fff;}

  /* ---------- Fault finder ---------- */
  .fault-grid{display:grid;grid-template-columns:1fr;gap:14px;}
  .fault-btn{
    display:flex;align-items:center;gap:14px;
    background:#fff;border:2px solid var(--color-border);
    border-radius:var(--radius);padding:18px 18px;
    text-decoration:none;color:var(--color-text);
    font-weight:700;font-size:1.05rem;
    transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
  }
  .fault-btn:hover{border-color:var(--color-primary);background:#f7fafc;box-shadow:var(--shadow-sm);}
  .fault-icon{
    flex:none;width:42px;height:42px;border-radius:50%;
    background:#fdeee5;color:var(--color-accent);
    display:flex;align-items:center;justify-content:center;
  }
  .fault-icon svg{width:22px;height:22px;}
  .fault-btn .fault-arrow{margin-left:auto;flex:none;width:20px;height:20px;color:var(--color-text-light);}
  .fault-help{text-align:center;margin-top:30px;color:var(--color-text-light);font-size:1.02rem;}
  .fault-help a{color:var(--color-primary);font-weight:700;text-decoration:underline;}

  /* ---------- Split (Neden Uzman Elektronik) ---------- */
  .split{display:flex;flex-direction:column;gap:36px;align-items:center;}
  .split-media{width:100%;position:relative;}
  .split-media img{
    width:100%;aspect-ratio:4/3;object-fit:cover;
    border-radius:var(--radius-lg);box-shadow:var(--shadow-md);
    background:var(--color-bg-alt);
  }
  .split-copy{width:100%;}
  .why-list{list-style:none;margin:22px 0 26px 0;display:flex;flex-direction:column;gap:14px;}
  .why-list li{display:flex;align-items:flex-start;gap:12px;font-weight:600;font-size:1.02rem;}
  .why-list svg{flex:none;width:24px;height:24px;color:var(--color-whatsapp);margin-top:1px;}

  /* ---------- Process steps ---------- */
  .steps{
    display:grid;grid-template-columns:1fr;gap:20px;
    position:relative;
  }
  .step-card{
    background:#fff;border:1px solid var(--color-border);
    border-radius:var(--radius);padding:26px 22px;
    box-shadow:var(--shadow-sm);
  }
  .step-number{
    display:inline-flex;align-items:center;justify-content:center;
    width:44px;height:44px;border-radius:50%;
    background:var(--color-primary-dark);color:#fff;
    font-weight:800;font-size:1rem;margin-bottom:14px;
  }
  .step-card h3{margin-bottom:6px;font-size:1.08rem;}
  .step-card p{color:var(--color-text-light);font-size:.97rem;margin:0;}

  /* ---------- Google review ---------- */
  .google-box{
    max-width:640px;margin:0 auto;text-align:center;
  }
  .google-stars{display:flex;justify-content:center;gap:6px;margin:6px 0 14px 0;}
  .google-stars svg{width:26px;height:26px;color:#f2a97e;}
  .google-note{color:#c3d3e2;font-size:.95rem;margin-bottom:28px;}
  .google-btn{background:#fff;color:var(--color-primary-dark);}
  .google-btn:hover{background:#eef2f6;}

  /* ---------- Brands ---------- */
  .brand-chips{
    display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:22px;
  }
  .brand-chip{
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);
    padding:18px 10px;text-align:center;
    font-weight:800;color:var(--color-text-light);font-size:1rem;letter-spacing:.02em;
    display:flex;align-items:center;justify-content:center;min-height:64px;
  }
  .brand-disclaimer{text-align:center;max-width:640px;margin:0 auto;color:var(--color-text-light);font-size:.9rem;}

  /* ---------- Service area ---------- */
  .area-chips{
    display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px;
  }
  .area-chip{
    background:#fdeee5;color:var(--color-accent-dark);
    border-radius:var(--radius);padding:14px 10px;font-weight:700;font-size:.98rem;
    text-align:center;
  }
  .area-note{text-align:center;max-width:640px;margin:0 auto;color:var(--color-text-light);font-size:.95rem;}

  /* ---------- Servisimizden görüntüler (galeri) — asimetrik grid ---------- */
  .gallery-grid{display:grid;grid-template-columns:1fr;gap:18px;}
  .gallery-item{
    margin:0;
    border-radius:var(--radius);overflow:hidden;
    box-shadow:var(--shadow-sm);background:var(--color-bg-alt);
    display:flex;flex-direction:column;
  }
  .gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--color-bg-alt);flex:1;}
  .gallery-caption{
    padding:12px 16px;font-weight:700;font-size:.95rem;line-height:1.3;
    color:var(--color-primary-dark);background:#fff;
    display:flex;align-items:center;min-height:52px;
  }
  /* Masonry düzeni yalnızca tablet+ genişliklerde; mobilde tek sütun */
  @media (min-width:640px){
    .gallery-grid{
      grid-template-columns:repeat(4,1fr);
      grid-template-rows:180px 180px;
      grid-template-areas:
        "big big small1 small2"
        "wide wide wide wide";
      gap:16px;
    }
    .gallery-item{height:100%;}
    .gallery-item img{aspect-ratio:auto;height:100%;}
    .gallery-item.g-big{grid-area:big;}
    .gallery-item.g-small1{grid-area:small1;}
    .gallery-item.g-small2{grid-area:small2;}
    .gallery-item.g-wide{grid-area:wide;}
  }
  @media (min-width:860px){
    .gallery-grid{grid-template-rows:280px 200px;}
  }

  /* ---------- Müşteri yorumları: yıldız satırı ---------- */
  .testimonial-stars{display:flex;gap:3px;margin-bottom:10px;}
  .testimonial-stars svg{width:16px;height:16px;color:var(--color-border);}

  /* Telefon numarası görünen metni — SITE_CONFIG.phoneDisplay ile JS üzerinden güncellenir */
  .phone-display{font-variant-numeric:tabular-nums;}

  /* ---------- Müşteri yorumları (yer tutucu) ---------- */
  .testimonial-grid{display:grid;grid-template-columns:1fr;gap:20px;}
  .testimonial-card{
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);
    padding:24px;box-shadow:var(--shadow-sm);
  }
  .testimonial-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
  .testimonial-avatar{flex:none;width:44px;height:44px;border-radius:50%;background:var(--color-bg-alt);}
  .testimonial-lines{flex:1;display:flex;flex-direction:column;gap:6px;}
  .skeleton-bar{height:10px;border-radius:6px;background:var(--color-bg-alt);}
  .skeleton-bar.w-60{width:60%;}
  .skeleton-bar.w-35{width:35%;}
  .skeleton-bar.w-100{width:100%;}
  .skeleton-bar.w-90{width:90%;}
  .skeleton-bar.w-70{width:70%;}
  .testimonial-card .google-mini{
    display:inline-flex;align-items:center;gap:6px;margin-top:16px;
    font-size:.85rem;font-weight:700;color:var(--color-text-light);
  }
  .testimonial-note{text-align:center;max-width:600px;margin:26px auto 0 auto;color:var(--color-text-light);font-size:.95rem;}

  /* ---------- Harita ve iletişim ---------- */
  .contact-split{display:flex;flex-direction:column;gap:28px;}
  .map-placeholder{
    width:100%;min-height:280px;border-radius:var(--radius-lg);
    background:
      linear-gradient(rgba(15,47,77,.05),rgba(15,47,77,.05)),
      repeating-linear-gradient(0deg, transparent, transparent 27px, rgba(15,47,77,.08) 28px),
      repeating-linear-gradient(90deg, transparent, transparent 27px, rgba(15,47,77,.08) 28px);
    background-color:var(--color-bg-alt);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
    border:1px solid var(--color-border);
    text-align:center;padding:24px;
  }
  .map-placeholder svg{width:44px;height:44px;color:var(--color-accent);}
  .map-placeholder strong{color:var(--color-primary-dark);font-size:1.05rem;}
  .map-placeholder span{color:var(--color-text-light);font-size:.92rem;max-width:280px;}
  .contact-card{
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);
    padding:32px 28px;box-shadow:var(--shadow-sm);
  }
  .contact-rows{list-style:none;margin:20px 0 26px 0;display:flex;flex-direction:column;gap:16px;}
  .contact-rows li{display:flex;align-items:flex-start;gap:14px;}
  .contact-rows .contact-icon{
    flex:none;width:42px;height:42px;border-radius:50%;
    background:var(--color-bg-alt);color:var(--color-primary);
    display:flex;align-items:center;justify-content:center;
  }
  .contact-rows .contact-icon svg{width:20px;height:20px;}
  .contact-rows a{font-weight:700;color:var(--color-primary-dark);text-decoration:none;}
  .contact-rows .contact-label{display:block;font-size:.82rem;color:var(--color-text-light);font-weight:600;margin-bottom:2px;}

  /* ---------- SSS / FAQ ---------- */
  .faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
  .faq-item{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:4px 22px;}
  .faq-item summary{
    cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:18px 0;font-weight:700;font-size:1.05rem;color:var(--color-primary-dark);
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-icon{
    flex:none;width:30px;height:30px;border-radius:50%;
    background:var(--color-bg-alt);color:var(--color-primary);
    display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;line-height:1;
    transition:transform .15s ease, background-color .15s ease, color .15s ease;
  }
  .faq-item[open] .faq-icon{transform:rotate(45deg);background:var(--color-accent);color:#fff;}
  .faq-item p{color:var(--color-text-light);padding-bottom:18px;margin:0;font-size:1rem;}

  /* ---------- About short ---------- */
  .about-box{max-width:780px;margin:0 auto;text-align:center;}
  .about-box p{font-size:1.12rem;color:var(--color-text-light);}

  /* ---------- CTA band ---------- */
  .cta-band{background:var(--color-primary-dark);color:#fff;text-align:center;}
  .cta-band h2{color:#fff;}
  .cta-band p{color:#cfe0ef;font-size:1.14rem;max-width:600px;margin:0 auto 28px auto;}
  .cta-band .cta-group{justify-content:center;}

  /* ---------- Footer ---------- */
  footer.site-footer{background:var(--color-bg-dark);color:#c9d6e3;padding:52px 0 24px 0;}
  .footer-grid{display:grid;grid-template-columns:1fr;gap:34px;margin-bottom:34px;}
  .footer-col h3{color:#fff;font-size:1.02rem;margin-bottom:16px;}
  .footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
  .footer-brand-mark{
    flex:none;width:38px;height:38px;border-radius:9px;
    background:#fff;color:var(--color-primary-dark);
    display:flex;align-items:center;justify-content:center;font-weight:800;
  }
  .footer-brand-name{font-size:1.22rem;font-weight:800;color:#fff;}
  .footer-col ul{list-style:none;margin:0;padding:0;}
  .footer-col li{margin-bottom:11px;font-size:.98rem;}
  .footer-col a{color:#c9d6e3;text-decoration:none;}
  .footer-col a:hover{color:#fff;}
  .footer-google-link{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-weight:700;color:#fff;text-decoration:none;font-size:.92rem;}
  .footer-hours dt{color:#8ba0b6;font-size:.85rem;margin-top:8px;}
  .footer-hours dd{margin:0;font-size:.98rem;}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.12);
    padding-top:20px;font-size:.88rem;color:#8ba0b6;text-align:center;
  }

  /* ---------- Mobile sticky contact bar ---------- */
  .mobile-contact-bar{
    position:fixed;left:0;right:0;bottom:0;display:flex;
    background:#fff;border-top:1px solid var(--color-border);
    box-shadow:0 -2px 10px rgba(0,0,0,.08);z-index:200;
  }
  .mobile-contact-bar a{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    padding:10px 4px 12px 4px;text-decoration:none;font-size:.76rem;font-weight:700;
    color:var(--color-text);border-right:1px solid var(--color-border);
  }
  .mobile-contact-bar a:last-child{border-right:none;}
  .mobile-contact-bar svg{width:23px;height:23px;}
  .mobile-contact-bar a.call{color:var(--color-accent-dark);}
  .mobile-contact-bar a.whatsapp{color:var(--color-whatsapp-dark);}
  .mobile-contact-bar a.location{color:var(--color-primary);}
  body{padding-bottom:78px;}

