/*
Theme Name: SiteQ Theme
Author: SiteQ
Description: SiteQ blok teması. Tüm görsel değerler theme.json token'larından gelir (palet, tipografi, köşe, aralık); bu dosya yalnız --wp--preset--* ve --wp--custom--siteq--* değişkenlerine başvurur. Sabit renk, sabit yazı tipi veya müşteri/AI girdisinden üretilmiş CSS yoktur. Müşteri sitesi yalnız kendi markasını taşır.
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: siteq-theme
Tags: block-patterns, full-site-editing, one-column, accessibility-ready, custom-colors, editor-style
*/

/* ------------------------------------------------------------------
   0. Kural: bu dosyada #hex, rgb(), hsl(), url(), @import, @font-face YOK.
      Renk = var(--wp--preset--color--siteq-*), yazı tipi = var(--wp--preset--font-family--siteq-*),
      köşe/yoğunluk/ölçek = var(--wp--custom--siteq--*). Fontlar theme.json fontFace ile gelir.
   ------------------------------------------------------------------ */

/* 1. Temel erişilebilirlik ------------------------------------------ */
:where(html) { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
:where(body) { overflow-wrap: anywhere; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--wp--preset--color--siteq-ink);
  outline-offset: 3px;
  border-radius: 2px;
}
.has-siteq-primary-background-color :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
.siteq-section--hero :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline-color: var(--wp--preset--color--siteq-surface);
}
.skip-link.screen-reader-text:focus {
  background: var(--wp--preset--color--siteq-surface);
  color: var(--wp--preset--color--siteq-ink);
  font-size: var(--wp--preset--font-size--medium);
  padding: 0.75rem 1rem;
  z-index: 100000;
}
:where(.wp-block-button__link, .siteq-btn, .siteq-form__submit) { min-height: var(--wp--custom--siteq--tap); }
@media (prefers-reduced-motion: reduce) {
  :where(html) { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
:where(p, li, dd, td) { max-width: var(--wp--custom--siteq--measure); }
:where(.siteq-section--hero, .siteq-section--contact, table) :where(p, li, td) { max-width: none; }

/* 2. Bölüm sargısı (siteq/section) ----------------------------------- */
.siteq-section {
  padding-top: var(--wp--preset--spacing--60);
  padding-bottom: var(--wp--preset--spacing--60);
}
/* Core aktifken siteq/section <section class="siteq-section"> sargısı kaydedilmiş iç sargıyı da içerir: iç sargı dolgu almaz. */
.siteq-section > .siteq-section,
.siteq-section > .wp-block-siteq-section { padding-top: 0; padding-bottom: 0; }
.siteq-section__eyebrow {
  font-family: var(--wp--preset--font-family--siteq-body);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--siteq-ink);
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  margin: 0 0 var(--wp--preset--spacing--20);
}
/* Vurgu (accent) yüzeyde YALNIZ dekoratif çizgidir — metin rengi olarak kullanılmaz (README kontrast tablosu). */
.siteq-section__eyebrow::before {
  content: "";
  width: 2em;
  height: 2px;
  background: var(--wp--preset--color--siteq-accent);
}

/* 3. Hero --------------------------------------------------------------
   Arka plan primary, metin surface; vurgu (accent) yalnız BU koyu zeminde metin olur (AA ölçüldü). */
.siteq-section--hero {
  background: var(--wp--preset--color--siteq-primary);
  color: var(--wp--preset--color--siteq-surface);
  padding-top: var(--wp--preset--spacing--70);
  padding-bottom: var(--wp--preset--spacing--70);
}
.siteq-section--hero :where(h1, h2, h3, p, .wp-block-heading) { color: var(--wp--preset--color--siteq-surface); }
.siteq-section--hero .siteq-section__eyebrow { color: var(--wp--preset--color--siteq-accent); }
.siteq-section--hero .siteq-section__eyebrow::before { background: var(--wp--preset--color--siteq-accent); }
.siteq-section--hero .siteq-accent-text { color: var(--wp--preset--color--siteq-accent); }
.siteq-hero__grid {
  display: grid;
  grid-template-columns: var(--wp--custom--siteq--hero-columns);
  gap: var(--wp--preset--spacing--50);
  align-items: center;
}
@media (max-width: 781px) { .siteq-hero__grid { grid-template-columns: 1fr; } }
.siteq-hero__panel {
  border: 1px solid var(--wp--preset--color--siteq-accent);
  border-radius: min(var(--wp--custom--siteq--radius), 24px);
  padding: var(--wp--preset--spacing--40);
}
.siteq-section--hero .wp-block-button__link,
.siteq-section--hero .siteq-btn {
  background: var(--wp--preset--color--siteq-surface);
  color: var(--wp--preset--color--siteq-primary);
  border-color: var(--wp--preset--color--siteq-surface);
}
.siteq-section--hero .is-style-outline .wp-block-button__link,
.siteq-section--hero .siteq-btn--outline {
  background: transparent;
  color: var(--wp--preset--color--siteq-surface);
  border-color: var(--wp--preset--color--siteq-surface);
}

/* 4. Kart ---------------------------------------------------------- */
.siteq-card {
  background: var(--wp--preset--color--siteq-surface);
  color: var(--wp--preset--color--siteq-ink);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--siteq-ink) 14%, transparent);
  border-radius: min(var(--wp--custom--siteq--radius), 24px);
  padding: var(--wp--preset--spacing--40);
  box-shadow: var(--wp--preset--shadow--siteq-soft);
}
.siteq-avatar {
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto var(--wp--preset--spacing--30);
  background: var(--wp--preset--color--siteq-primary);
  color: var(--wp--preset--color--siteq-surface);
  font-family: var(--wp--preset--font-family--siteq-heading);
  font-size: var(--wp--preset--font-size--large);
  font-weight: 700;
}

/* 5. Hizmet + fiyat listesi (siteq/price-list) ----------------------- */
.siteq-price-list { list-style: none; margin: 0; padding: 0; }
.siteq-price-list__item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  align-items: baseline;
  padding: var(--wp--preset--spacing--30) 0;
  border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--siteq-ink) 14%, transparent);
}
.siteq-price-list__title { font-weight: 600; margin: 0; }
.siteq-price-list__text, .siteq-price-list__duration {
  grid-column: 1;
  font-size: var(--wp--preset--font-size--small);
  margin: 0;
}
.siteq-price-list__price {
  grid-column: 2;
  grid-row: 1;
  font-family: var(--wp--preset--font-family--siteq-heading);
  font-size: var(--wp--preset--font-size--large);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* 6. Çalışma saatleri (siteq/hours) — Core: div.siteq-hours > table.siteq-hours__table; yedek: table.siteq-hours */
table.siteq-hours, .siteq-hours__table { width: 100%; border-collapse: collapse; }
.siteq-hours th, .siteq-hours td {
  text-align: left;
  padding: var(--wp--preset--spacing--20) 0;
  border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--siteq-ink) 14%, transparent);
}
.siteq-hours td:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.siteq-hours__closed { font-style: italic; }
.siteq-hours__today th, .siteq-hours__today td { font-weight: 700; }
.siteq-hours__note { font-size: var(--wp--preset--font-size--small); margin-top: var(--wp--preset--spacing--20); }

/* 7. İletişim eylemleri (siteq/contact-actions) — Core: div.wp-block-buttons.siteq-actions > a.wp-block-button__link.siteq-action--<kind> */
.siteq-actions, .siteq-contact-actions { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); margin: 0; padding: 0; list-style: none; }
.siteq-actions-row { gap: var(--wp--preset--spacing--20); }
.siteq-action { display: inline-flex; align-items: center; gap: 0.5em; text-decoration: none; }
address.siteq-brand--address { font-style: normal; }
.siteq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  padding: 0.8em 1.4em;
  border: 2px solid var(--wp--preset--color--siteq-primary);
  border-radius: var(--wp--custom--siteq--radius);
  background: var(--wp--preset--color--siteq-primary);
  color: var(--wp--preset--color--siteq-surface);
  font-family: var(--wp--preset--font-family--siteq-body);
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}
.siteq-btn:hover, .siteq-btn:focus-visible {
  background: var(--wp--preset--color--siteq-ink);
  border-color: var(--wp--preset--color--siteq-ink);
  color: var(--wp--preset--color--siteq-surface);
}
.siteq-btn--outline { background: transparent; color: var(--wp--preset--color--siteq-primary); }
.siteq-btn__icon { width: 1.1em; height: 1.1em; fill: currentColor; flex: none; }
.siteq-contact__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--wp--preset--spacing--20); }
.siteq-contact__list dt, .siteq-contact__label { font-weight: 700; }

/* 8. Randevu TALEP formu (siteq/appointment-form) ---------------------
   Metin ve doğrulama Core'dadır; tema yalnız görünüm verir.
   Core yapısı: form.siteq-form#siteq-appointment > p > label + input|textarea; p.siteq-form__hp; p.siteq-form__hint; p.siteq-form__msg--ok|--err */
.siteq-form { display: grid; gap: var(--wp--preset--spacing--30); scroll-margin-top: var(--wp--preset--spacing--50); }
.siteq-form > p { display: grid; gap: 0.35rem; margin: 0; max-width: none; }
.siteq-form label { font-weight: 600; }
.siteq-form__msg { padding: var(--wp--preset--spacing--30); border-left: 4px solid var(--wp--preset--color--siteq-accent); background: color-mix(in srgb, var(--wp--preset--color--siteq-primary) 6%, var(--wp--preset--color--siteq-surface)); }
.siteq-form__msg--err { border-left-color: var(--wp--preset--color--siteq-ink); font-weight: 600; }
.siteq-form__field { display: grid; gap: 0.35rem; }
.siteq-form__label { font-weight: 600; }
.siteq-form__hint { font-size: var(--wp--preset--font-size--small); }
.siteq-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  width: 100%;
  min-height: var(--wp--custom--siteq--tap);
  padding: 0.6em 0.9em;
  border: 2px solid color-mix(in srgb, var(--wp--preset--color--siteq-ink) 40%, transparent);
  border-radius: min(var(--wp--custom--siteq--radius), 12px);
  background: var(--wp--preset--color--siteq-surface);
  color: var(--wp--preset--color--siteq-ink);
  font: inherit;
}
.siteq-form :where(input, select, textarea):focus-visible { border-color: var(--wp--preset--color--siteq-primary); }
.siteq-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.siteq-form__submit { justify-self: start; }
.siteq-form__notice {
  padding: var(--wp--preset--spacing--30);
  border-left: 4px solid var(--wp--preset--color--siteq-accent);
  background: color-mix(in srgb, var(--wp--preset--color--siteq-primary) 6%, var(--wp--preset--color--siteq-surface));
}
.siteq-form__error { border-left-color: var(--wp--preset--color--siteq-ink); font-weight: 600; }

/* 9. Üst / alt bölüm ------------------------------------------------- */
.siteq-header { border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--siteq-ink) 12%, transparent); }
.siteq-header__row { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--30); flex-wrap: wrap; }
.siteq-brand-lockup { display: flex; align-items: center; gap: var(--wp--preset--spacing--20); }
.siteq-header--centered .siteq-header__row { flex-direction: column; justify-content: center; text-align: center; }
.siteq-footer {
  background: var(--wp--preset--color--siteq-primary);
  color: var(--wp--preset--color--siteq-surface);
  padding-top: var(--wp--preset--spacing--60);
  padding-bottom: var(--wp--preset--spacing--50);
}
.siteq-footer :where(h2, h3, h4, p, a, li, td, th) { color: var(--wp--preset--color--siteq-surface); }
.siteq-footer .siteq-section__eyebrow { color: var(--wp--preset--color--siteq-accent); }
.siteq-footer .siteq-hours th, .siteq-footer .siteq-hours td { border-bottom-color: color-mix(in srgb, var(--wp--preset--color--siteq-surface) 20%, transparent); }
.siteq-footer .wp-block-social-links .wp-social-link { background: var(--wp--preset--color--siteq-surface); color: var(--wp--preset--color--siteq-primary); }
.siteq-footer__legal { font-size: var(--wp--preset--font-size--small); border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--siteq-surface) 20%, transparent); padding-top: var(--wp--preset--spacing--30); margin-top: var(--wp--preset--spacing--40); }
.siteq-footer--minimal { padding-top: var(--wp--preset--spacing--40); padding-bottom: var(--wp--preset--spacing--40); }

/* 10. Küçük ekran --------------------------------------------------- */
@media (max-width: 599px) {
  .siteq-section { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
  .siteq-section--hero { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
  .siteq-price-list__item { grid-template-columns: 1fr; }
  .siteq-price-list__price { grid-column: 1; grid-row: auto; }
  .siteq-btn, .siteq-form__submit { width: 100%; }
}
