@charset "UTF-8";
/* ==========================================================================
   Rayno v7.2 — "Üç Şerit / Site Geneli Kompakt Fold"
   Stüdyo beyazı kanvas, tek disiplinli matbaa kırmızısı, üç üretim alanının
   kalıcı şerit mimarisi. Tek stil dosyası: yeni ana sayfa bileşenleri +
   v4 katalog bileşenlerinin yeniden görselleştirilmesi.
   v7: iç sayfa başlık bloğu sıkıştırıldı; her katalog/ürün/galeri sayfasında
   ilk ürün satırı ilk ekranda görünür. v4 sınıf adları korunur.
   ========================================================================== */

/* --- 1. Yazı tipleri (SIL Open Font License 1.1, yerel WOFF2) ------------- */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/v6-archivo-n-latin-ext.woff2?v=00c7556b71') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/v6-archivo-n-latin.woff2?v=6b85ac2c89') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/v6-newsreader-i-latin-ext.woff2?v=d261b6cc80') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/v6-newsreader-i-latin.woff2?v=5d4487608a') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* yedek yazı tipi metrikleri: swap anında satır yüksekliği değişmesin (CLS) */
@font-face{font-family:'Archivo Fallback';src:local('Segoe UI'),local('Helvetica Neue'),local('Arial');size-adjust:104%;ascent-override:92%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:'Newsreader Fallback';font-style:italic;src:local('Georgia Italic'),local('Georgia'),local('Times New Roman');size-adjust:96%;ascent-override:96%;descent-override:26%;line-gap-override:0%}

/* --- 2. Tasarım jetonları ------------------------------------------------ */
:root{
  /* kanvas: stüdyo beyazı + tek fildişi ara ton */
  --w:#ffffff;
  --ivory:#faf8f4;
  --ivory-2:#f2efe9;
  --edge:#e6e1d8;
  /* mürekkep: nötr Rayno siyahı */
  --ink:#111214;
  --ink-2:#2b2d31;
  --ink-soft:#55585e;          /* beyaz üstü 7.13:1 */
  --ink-faint:#6c7078;         /* beyaz üstü 4.97:1 */
  --ink-inv:#c9ccd2;           /* mürekkep üstü 11.65:1 */
  /* tek aksan: matbaa kırmızısı (beyaz üstü 6.19:1) */
  --red:#c1122f;
  --red-deep:#97001f;
  --red-tint:#fdeff1;
  --wa:#0b7a52;                /* beyaz metinle 5.36:1 */
  --wa-deep:#075f3f;
  --rule:rgba(17,18,20,.13);
  --rule-strong:rgba(17,18,20,.30);
  --rule-inv:rgba(255,255,255,.20);
  --container:1280px;
  --gutter:clamp(20px,4vw,48px);
  --header-h:76px;
  --bar-h:64px;
  --ease:cubic-bezier(.2,.6,.35,1);
  --lift:0 24px 48px -32px rgba(17,18,20,.45);
  --font:'Archivo','Archivo Fallback','Segoe UI',sans-serif;
  --font-ed:'Newsreader','Newsreader Fallback',Georgia,serif;
}

/* --- 3. Temel ------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{
  margin:0;background:var(--w);color:var(--ink);
  font-family:var(--font);font-size:1.0625rem;line-height:1.6;
  font-synthesis-weight:none;text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,figure,dl,dd,ol{margin:0}
ul{margin:0}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:1px}
::selection{background:var(--ink);color:var(--w)}

.container{width:min(100% - (var(--gutter) * 2),var(--container));margin-inline:auto}
.section{padding:clamp(56px,7.2vw,110px) 0}
.section--ivory{background:var(--ivory);border-block:1px solid var(--edge)}
.section--ink{background:var(--ink);color:var(--w)}
.skip-link{
  position:fixed;top:10px;left:10px;z-index:220;padding:13px 20px;
  background:var(--ink);color:var(--w);font-weight:700;border-radius:2px;
  transform:translateY(-220%);transition:transform .18s var(--ease);
}
.skip-link:focus{transform:translateY(0)}

/* --- 4. Tipografi -------------------------------------------------------- */
h1,h2,h3{font-family:var(--font);font-weight:800;line-height:1.06;letter-spacing:-.032em}
h1{font-size:clamp(2.05rem,5.1vw,3.9rem)}
h2{font-size:clamp(1.7rem,3.1vw,2.6rem);letter-spacing:-.028em;line-height:1.1}
h3{font-size:1.2rem;font-weight:700;letter-spacing:-.018em;line-height:1.25}
.section-kicker,.label,.eyebrow{
  display:inline-block;font-family:var(--font-ed);font-style:italic;font-weight:400;
  font-size:1.02rem;line-height:1.3;color:var(--red);letter-spacing:0;
  margin-bottom:14px;min-height:1.35em;
}
.section--ink .section-kicker,.section--ink .label{color:#ff8f9f}
.lede{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--ink-soft);line-height:1.62}
.rule{height:1px;background:var(--rule);border:0;margin:0}
.tnum{font-variant-numeric:tabular-nums}

/* satır içi ok: yazı tipi alt kümesinde U+2192 bulunmadığı için SVG kullanılır */
.arw{width:1em;height:1em;flex:none;stroke:currentColor;stroke-width:1.8;fill:none;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .16s var(--ease)}
/* metin bağlantılarında dokunma hedefi en az 44 px; alt çizgi metne yakın
   kalsın diye kenarlık yerine text-decoration kullanılır */
.lnk{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding-block:10px;
  font-weight:700;font-size:.95rem;color:var(--ink);
  text-decoration:underline;text-decoration-color:var(--red);
  text-decoration-thickness:2px;text-underline-offset:5px;
  transition:color .16s var(--ease)}
.lnk:hover{color:var(--red)}
.lnk:hover .arw{transform:translateX(3px)}
.section--ink .lnk{color:var(--w);text-decoration-color:#ff8f9f}

/* --- 5. Düğmeler --------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:50px;padding:13px 22px;border:2px solid transparent;border-radius:2px;
  font-weight:700;font-size:.98rem;letter-spacing:-.01em;cursor:pointer;
  transition:background-color .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease);
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--red);border-color:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-deep);border-color:var(--red-deep)}
.btn-ink{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-ink:hover{background:var(--ink-2);border-color:var(--ink-2)}
.btn-outline,.btn-secondary{background:transparent;border-color:var(--rule-strong);color:var(--ink)}
.btn-outline:hover,.btn-secondary:hover{border-color:var(--ink);background:var(--ink);color:#fff}
/* Koyu zeminli her bant: saydam düğmelerin metni mürekkep siyahı kalırsa
   siyah üstü siyah olur. `.page-cta` bandı `.section--ink` sınıfını taşımadığı
   için bu seçici listesinde AYRICA adlandırılmalıdır. Regresyonu
   tools-v7/contrast_audit_v7.js yakalar. */
.section--ink .btn-outline,.section--ink .btn-secondary,
.page-cta .btn-outline,.page-cta .btn-secondary{border-color:var(--rule-inv);color:#fff}
.section--ink .btn-outline:hover,.section--ink .btn-secondary:hover,
.page-cta .btn-outline:hover,.page-cta .btn-secondary:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-whatsapp{background:var(--wa);border-color:var(--wa);color:#fff}
.btn-whatsapp:hover{background:var(--wa-deep);border-color:var(--wa-deep)}
.btn-lg{min-height:58px;padding:16px 28px;font-size:1.04rem}
.btn-sm{min-height:44px;padding:10px 16px;font-size:.9rem}
.btn-block{width:100%}
.ico{width:20px;height:20px;flex:none}
.ico--stroke{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ico--fill{fill:currentColor}

/* --- 6. Başlık ----------------------------------------------------------- */
.site-header{
  position:sticky;top:0;z-index:120;background:var(--w);
  border-bottom:1px solid var(--edge);
}
.navbar{
  width:min(100% - (var(--gutter) * 2),var(--container));margin-inline:auto;
  min-height:var(--header-h);display:flex;align-items:center;gap:clamp(16px,2.4vw,34px);
}
.brand{display:flex;align-items:center;gap:14px;flex:none;min-height:44px}
.brand-logo{width:auto;height:44px}
.brand-lines{display:flex;flex-direction:column;gap:1px;padding-left:14px;border-left:1px solid var(--edge)}
.brand-lines b{font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft);line-height:1.32}
.nav-menu{display:flex;align-items:center;gap:clamp(12px,1.8vw,26px);margin-inline-start:auto}
.nav-menu a{
  display:inline-flex;align-items:center;min-height:44px;
  font-size:.94rem;font-weight:600;color:var(--ink-2);padding:10px 2px;
  border-bottom:2px solid transparent;transition:color .16s var(--ease),border-color .16s var(--ease);
}
.nav-menu a:hover{color:var(--ink);border-bottom-color:var(--red)}
.nav-menu a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.nav-actions{display:flex;align-items:center;gap:14px;flex:none}
.nav-tel{display:flex;flex-direction:column;justify-content:center;min-height:44px;line-height:1.16;text-align:right}
.nav-tel small{font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint)}
.nav-tel strong{font-size:1rem;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.nav-tel:hover strong{color:var(--red)}
.nav-cta{min-height:46px;padding:11px 18px;font-size:.92rem}
.nav-toggle{
  display:none;grid-template-columns:auto auto;align-items:center;gap:0 9px;
  min-height:44px;min-width:44px;padding:9px 12px;background:transparent;
  border:1px solid var(--rule-strong);border-radius:2px;cursor:pointer;
}
.nav-toggle span{display:block;grid-column:1;width:20px;height:2px;background:var(--ink);transition:transform .18s var(--ease),opacity .18s var(--ease)}
.nav-toggle span+span{margin-top:5px}
.nav-toggle em{grid-column:2;grid-row:1 / span 3;font-style:normal;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* --- 7. Hero ------------------------------------------------------------- */
/* Hero yüksekliği bilinçli olarak bütçelenmiştir: 1440x900 ve 390x844'te
   üç şerit ve alt yazıları ilk ekranın içinde kalır (kabul kriteri 3). */
.v7-hero{padding-top:clamp(18px,2.6vw,34px);background:var(--w)}
.hero-copy{width:min(100% - (var(--gutter) * 2),var(--container));margin-inline:auto;max-width:1120px}
.hero-copy h1{max-width:28ch}
.hero-copy h1 .hl{color:var(--red)}
.hero-lede{margin-top:16px;max-width:58ch;font-size:clamp(1rem,1.25vw,1.16rem);color:var(--ink-soft);line-height:1.56}
.hero-lede strong{color:var(--ink);font-weight:700}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.hero-direct{display:flex;flex-wrap:wrap;gap:6px 30px;margin-top:16px}
.hero-direct a{display:flex;flex-direction:column;justify-content:center;min-height:46px;line-height:1.2;font-weight:800;font-size:1.04rem;letter-spacing:-.015em}
.hero-direct a small{font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2px}
.hero-direct a:hover{color:var(--red)}
.hero-bands{
  margin-top:clamp(20px,2.3vw,30px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2px;background:var(--ink);border-block:2px solid var(--ink);
}
.band{position:relative;display:block;overflow:hidden;background:var(--ink-2)}
.band img{width:100%;height:clamp(184px,18vw,272px);object-fit:cover;transition:transform .5s var(--ease)}
.band:hover img{transform:scale(1.035)}
.band-cap{
  position:absolute;inset:auto 0 0 0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  padding:14px clamp(12px,1.6vw,22px);background:var(--ink);color:#fff;
}
.band-cap b{font-size:clamp(1rem,1.35vw,1.3rem);font-weight:800;letter-spacing:-.02em}
.band-cap span{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-inv)}
.band .arw{position:absolute;right:clamp(12px,1.6vw,22px);bottom:18px;width:18px;height:18px;color:#fff;opacity:0;transition:opacity .18s var(--ease),transform .18s var(--ease)}
.band:hover .arw,.band:focus-visible .arw{opacity:1;transform:translateX(3px)}
.band:focus-visible{outline-offset:-4px}

/* --- 8. Bölüm başlıkları ------------------------------------------------- */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:clamp(28px,3.4vw,46px)}
.sec-head h2{max-width:22ch}
.sec-head p{margin-top:12px;max-width:56ch;color:var(--ink-soft);font-size:1.02rem}
.section--ink .sec-head p{color:var(--ink-inv)}
.sec-head-link{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding-block:10px;font-weight:700;font-size:.95rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:5px}
.sec-head-link:hover{color:var(--red)}
.sec-head-link:hover .arw{transform:translateX(3px)}

/* --- 9. Değer şeridi (#neden) ------------------------------------------- */
.value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--edge);border:1px solid var(--edge)}
.value-card{background:var(--w);padding:clamp(22px,2.4vw,32px)}
.value-card b{display:block;font-family:var(--font);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.value-card h3{margin-bottom:10px}
.value-card p{color:var(--ink-soft);font-size:.98rem;line-height:1.58}

/* --- 10. Seçili işler (#isler) ------------------------------------------ */
.works-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.work-card{display:block;border:1px solid var(--edge);background:var(--w);transition:border-color .18s var(--ease)}
.work-card:hover{border-color:var(--ink)}
.work-card figure{margin:0;overflow:hidden;background:var(--ivory-2)}
.work-card img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .5s var(--ease)}
.work-card:hover img{transform:scale(1.04)}
.work-body{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;padding:14px 16px;border-top:1px solid var(--edge)}
.work-body strong{min-width:0;font-size:1rem;font-weight:700;letter-spacing:-.015em}
.work-body span{min-width:0;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
.works-note{margin-top:22px;max-width:74ch;font-size:.9rem;color:var(--ink-faint);line-height:1.6}

/* --- 11. Aileler (#aileler) --------------------------------------------- */
.family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,30px)}
.family-card{display:flex;flex-direction:column;border-top:2px solid var(--ink)}
.family-card>figure{margin:0;overflow:hidden;background:var(--ivory-2)}
.family-card>figure img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .55s var(--ease)}
.family-card:hover>figure img{transform:scale(1.03)}
.family-head{display:flex;align-items:baseline;gap:12px;padding:16px 0 6px}
.family-head b{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--red)}
.family-head h3{font-size:clamp(1.28rem,1.9vw,1.6rem);font-weight:800;letter-spacing:-.025em}
.family-card>p{color:var(--ink-soft);font-size:.98rem;line-height:1.56;margin-bottom:16px}
.family-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.family-links a{
  display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;
  border:1px solid var(--rule);background:var(--w);font-size:.87rem;font-weight:600;
  transition:border-color .16s var(--ease),background-color .16s var(--ease),color .16s var(--ease);
}
.family-links a:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.family-card .lnk{margin-top:auto;align-self:flex-start}

/* --- 12. Süreç (#surec) ------------------------------------------------- */
.flow-shell{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(28px,4vw,64px);align-items:start}
.flow-media{margin:0;position:relative}
.flow-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.flow-media .stamp{
  position:absolute;left:0;bottom:0;padding:11px 18px;background:var(--red);color:#fff;
  font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
}
.flow-list{list-style:none;padding:0;margin:22px 0 0;counter-reset:adim}
.flow-list li{display:flex;gap:20px;padding:22px 0;border-top:1px solid var(--rule-inv)}
.section--ink .flow-list li{border-top-color:var(--rule-inv)}
.flow-list li::before{
  counter-increment:adim;content:"0" counter(adim);flex:none;width:44px;
  font-size:.9rem;font-weight:800;letter-spacing:.05em;color:#ff8f9f;padding-top:4px;
}
.flow-list h3{margin-bottom:8px;font-size:1.14rem}
.flow-list p{color:var(--ink-inv);font-size:.99rem;line-height:1.58}
.flow-foot{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* --- 13. İletişim (#iletisim) ------------------------------------------- */
.contact-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:clamp(30px,4vw,66px);align-items:start}
.contact-copy h2{max-width:18ch}
.contact-copy>p{margin-top:16px;max-width:52ch;color:var(--ink-soft)}
.channel-list{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--edge);border:1px solid var(--edge)}
.channel-list a{display:flex;flex-direction:column;gap:4px;min-height:82px;padding:16px 18px;background:var(--w);justify-content:center;transition:background-color .16s var(--ease),color .16s var(--ease)}
.channel-list small{font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}
.channel-list strong{font-size:1.04rem;font-weight:800;letter-spacing:-.015em}
.channel-list a:hover{background:var(--ivory)}
.channel-list .is-primary{background:var(--red);color:#fff}
.channel-list .is-primary small{color:rgba(255,255,255,.86)}
.channel-list .is-primary:hover{background:var(--red-deep)}
.channel-list .is-wa strong{color:var(--wa)}
.channel-list .is-wa:hover strong{color:var(--wa-deep)}
.contact-address{margin-top:22px;font-style:normal;font-size:.95rem;line-height:1.62;color:var(--ink-soft)}
.contact-address .lnk{margin-top:10px;font-size:.9rem}

.quote-card{border:2px solid var(--ink);background:var(--w);padding:clamp(22px,2.6vw,34px)}
.quote-card h3{font-size:1.3rem;margin-bottom:8px}
.quote-card .hint{font-size:.92rem;color:var(--ink-soft);margin-bottom:20px;line-height:1.55}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.field input,.field select{min-width:0;width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--rule-strong);border-radius:2px;background:var(--w)}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 49%,var(--ink) 50%),linear-gradient(-45deg,transparent 49%,var(--ink) 50%);background-size:7px 7px;background-position:right 18px center,right 11px center;background-repeat:no-repeat;padding-right:38px}
.field input:focus,.field select:focus{outline:3px solid var(--red);outline-offset:1px;border-color:var(--ink)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.quote-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.quote-disclosure{margin-top:16px;font-size:.82rem;line-height:1.55;color:var(--ink-faint)}

/* --- 14. SSS (#sss) ------------------------------------------------------ */
.faq-list{max-width:920px;border-top:1px solid var(--rule)}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-item summary{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  min-height:64px;padding:18px 0;cursor:pointer;list-style:none;
  font-size:clamp(.98rem,1.4vw,1.16rem);font-weight:700;letter-spacing:-.018em;
  line-height:1.32;overflow-wrap:anywhere;
}
.faq-item summary::-webkit-details-marker{display:none}
/* Ok işareti döndürülür; döndürülmüş kutu kaydırma alanına eklendiği için
   yatay taşma yaratmasın diye kutu küçültülüp yanlarına pay bırakıldı. */
.faq-item summary::after{
  content:"";flex:none;width:11px;height:11px;margin:0 5px;
  border-right:2px solid var(--red);border-bottom:2px solid var(--red);
  transform:rotate(45deg) translate(-2px,-2px);
  transition:transform .18s var(--ease);
}
.faq-item[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.faq-item summary:hover{color:var(--red)}
.faq-item p{padding:0 0 22px;max-width:74ch;color:var(--ink-soft);font-size:1rem;line-height:1.64}

/* --- 15. Kurumsal özet --------------------------------------------------- */
.about-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px);align-items:start}
.about-shell p{margin-top:16px;color:var(--ink-soft);max-width:56ch}
.about-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--edge);border:1px solid var(--edge);margin:0}
.facts div{background:var(--w);padding:clamp(18px,2vw,26px)}
.facts dt{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.facts dd{margin:8px 0 0;font-size:.86rem;color:var(--ink-soft);line-height:1.45}

/* --- 16. Alt bilgi ------------------------------------------------------- */
.site-footer{background:var(--ink);color:var(--w);padding:clamp(46px,5.4vw,78px) 0 0;margin-top:clamp(40px,5vw,80px)}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:clamp(26px,3.4vw,54px)}
.footer-brand{display:inline-block;margin-bottom:18px}
.footer-brand .brand-logo{height:40px;filter:invert(1) brightness(1.9)}
.footer-grid p{color:var(--ink-inv);font-size:.95rem;line-height:1.6;max-width:42ch}
.footer-col h2{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#ff8f9f;margin-bottom:16px}
.footer-col ul{list-style:none;padding:0;display:flex;flex-direction:column}
.footer-col li a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;color:var(--w);font-size:.96rem;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}
.footer-col li a:hover{text-decoration-color:#ff8f9f}
.footer-address{display:flex;flex-direction:column;font-style:normal;color:var(--w);font-size:.96rem}
.footer-address a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}
.footer-address a:hover{text-decoration-color:#ff8f9f}
.footer-address strong{font-size:1.1rem;font-weight:800;letter-spacing:-.02em}
.footer-address span{color:var(--ink-inv);line-height:1.55;padding:8px 0}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:clamp(34px,4vw,58px);padding:8px 0;border-top:1px solid var(--rule-inv);font-size:.86rem;color:var(--ink-inv)}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;color:var(--w)}
.footer-bottom a:hover{color:#ff8f9f}

/* --- 17. Kalıcı iletişim katmanı ---------------------------------------- */
.contact-rail{
  position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:110;
  display:flex;flex-direction:column;gap:1px;background:var(--rule-strong);
  border:1px solid var(--rule-strong);border-right:0;
}
.contact-rail a{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  min-width:64px;min-height:60px;padding:10px 8px;background:var(--w);
  font-size:.66rem;font-weight:700;letter-spacing:.04em;
  transition:background-color .16s var(--ease),color .16s var(--ease);
}
.contact-rail a:hover{background:var(--ink);color:#fff}
.contact-rail .ico{width:19px;height:19px}
.contact-rail .is-primary{background:var(--red);color:#fff}
.contact-rail .is-primary:hover{background:var(--red-deep)}
.contact-rail{transition:opacity .2s var(--ease),visibility .2s var(--ease)}
/* Hero görünürken ray gizlenir: ilk ekranda dört kanal zaten metin olarak
   duruyor ve ray tam kenara oturan şerit fotoğrafının üstünü kapatmıyor.
   Hero ekrandan çıkınca ray geri gelir. JS yoksa ray hep görünür kalır. */
body.rail-off .contact-rail{opacity:0;visibility:hidden;pointer-events:none}

.action-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:115;display:none;
  background:var(--w);border-top:1px solid var(--rule-strong);
}
.action-bar a{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  min-height:var(--bar-h);padding:8px 6px;font-size:.7rem;font-weight:700;
  border-left:1px solid var(--rule);
}
.action-bar a:first-child{border-left:0}
.action-bar .ico{width:20px;height:20px}
.action-bar .is-wa{color:var(--wa)}
.action-bar .is-primary{background:var(--red);color:#fff}
body.has-action-bar{padding-bottom:0}
/* Lightbox açıkken kalıcı iletişim katmanı tamamen kaldırılır; büyütme
   kontrollerinin (kapat / ileri / geri) üstüne binmesi mümkün olmaz. */
body.rayno-overlay-open .action-bar,
body.rayno-overlay-open .contact-rail{display:none!important}
.floating-whatsapp{display:none!important}

/* --- 18. v4 katalog bileşenleri ----------------------------------------- */
.breadcrumb{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:18px}
.breadcrumb:hover{color:var(--red)}
.section-heading{margin-bottom:clamp(10px,1.4vw,18px)}
/* 32ch: uzun iç sayfa başlıkları (ör. blog girişi) üç yerine iki satıra iner */
.section-heading h1,.section-heading h2{max-width:32ch}
.section-heading .section-kicker{margin-bottom:6px}
.section-intro{margin-top:8px;max-width:70ch;color:var(--ink-soft);font-size:1.02rem;line-height:1.5}

/* --- v7: ilk ekran bütçesi -----------------------------------------------
   v6'da iç sayfa başlık bandı 390x844'te ~600 px yer kaplıyor, ilk ürün
   satırı ekrana girmiyordu. Ölçülen israf üç yerdeydi: (a) kırıntı yolu ve
   bölüm etiketi alt alta iki ayrı bant, (b) iç sayfa h1'inin ana sayfa
   ölçeğinde olması, (c) ızgara bölümünün 56 px üst dolgusu.
   Kural: her katalog/ürün/galeri sayfasında ilk ekranda en az bir tam ürün
   satırı görünür. */
.blog-hero,.about-page-section,.detail-hero,.catalog-index-hero,.catalog-category-hero,
.catalog-gallery-hero,.product-category-hero,.product-listing-hero{
  padding:clamp(16px,2vw,30px) 0 clamp(10px,1.4vw,18px);background:var(--ivory);border-bottom:1px solid var(--edge);
}
/* başlık bandını izleyen ızgara bölümü de yukarı çekilir */
.catalog-index-hero + .section,.catalog-category-hero + .section,
.catalog-gallery-hero + .section,.product-category-hero + .section,
.blog-hero + .section,.detail-hero + .section,.about-page-section + .section{
  padding-top:clamp(18px,2.2vw,32px);
}
/* kırıntı yolu + bölüm etiketi tek satır (apply_v7.py .hero-topline sarar).
   Kırıntı yolunun 44 px'lik dokunma hedefi korunur, yalnızca ikinci bant
   ortadan kalkar. */
.hero-topline{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px;margin-bottom:0}
.hero-topline .breadcrumb{margin-bottom:0}
.hero-topline .section-kicker{margin-bottom:0;min-height:0}
/* iç sayfa h1'i ana sayfa ölçeğinden ayrılır (ana sayfa h1'i değişmez) */
.section-heading h1,.catalog-index-hero h1,.catalog-category-hero h1,
.catalog-gallery-hero h1,.product-category-hero h1,.blog-hero h1,
.about-page-section h1,.detail-hero h1{font-size:clamp(1.55rem,3.2vw,2.65rem);line-height:1.08}
/* v4 kart bağlantı etiketleri: satır içi SVG ok ile hizalanır */
.catalog-group-card strong,.catalog-product-body b,.blog-card-body b{
  display:inline-flex;align-items:center;gap:8px;
}
/* Kırıntı yolu kendi satırında durur; hemen ardından gelen bölüm etiketiyle
   yan yana yapışmasın diye blok seviyesine alınır. */
.breadcrumb{display:flex;width:fit-content}
.hero-mark{display:none}
.catalog-summary{display:flex;flex-wrap:wrap;gap:6px 26px;margin-top:6px;font-size:.92rem;color:var(--ink-soft)}
.catalog-summary strong{color:var(--ink);font-weight:800}

.catalog-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px)}
.catalog-group-card{display:flex;flex-direction:column;border:1px solid var(--edge);background:var(--w);transition:border-color .18s var(--ease)}
.catalog-group-card:hover{border-color:var(--ink)}
.catalog-group-card figure{margin:0;overflow:hidden;background:var(--ivory-2)}
.catalog-group-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s var(--ease)}
.catalog-group-card:hover img{transform:scale(1.03)}
.catalog-group-card>div{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.catalog-group-card small{font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--red)}
.catalog-group-card h2{font-size:1.3rem}
.catalog-group-card p{color:var(--ink-soft);font-size:.95rem;line-height:1.55}
.catalog-group-card strong{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;border-bottom:2px solid var(--red);align-self:flex-start;padding-bottom:2px}

.catalog-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px)}
.catalog-product-card{display:flex;flex-direction:column;border:1px solid var(--edge);background:var(--w);transition:border-color .18s var(--ease)}
.catalog-product-card:hover{border-color:var(--ink)}
.catalog-product-card figure{margin:0;overflow:hidden;background:var(--ivory-2)}
.catalog-product-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s var(--ease)}
.catalog-product-card:hover img{transform:scale(1.03)}
.catalog-product-body{padding:18px;display:flex;flex-direction:column;gap:7px;flex:1}
.catalog-product-body span{font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--red)}
.catalog-product-body h2{font-size:1.16rem}
.catalog-product-body p{color:var(--ink-soft);font-size:.93rem;line-height:1.52}
.catalog-product-body b{margin-top:auto;font-size:.88rem;font-weight:700;border-bottom:2px solid var(--red);align-self:flex-start;padding-bottom:2px}

.catalog-toolbar,.gallery-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:14px;margin-bottom:0}
.catalog-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;flex:1 1 100%;margin:0}
.catalog-chip-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.catalog-chip-label{font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);margin-right:2px}
.catalog-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border:1px solid var(--edge);background:var(--w);font:inherit;font-size:.87rem;color:var(--ink-2);cursor:pointer}
.catalog-chip em{font-style:normal;font-size:.74rem;font-weight:700;color:var(--ink-faint)}
.catalog-chip:hover{border-color:var(--rule-strong);color:var(--ink)}
.catalog-chip[aria-pressed="true"]{border-color:var(--red);background:var(--red-tint);color:var(--red);font-weight:700}
.catalog-chip[aria-pressed="true"] em{color:var(--red)}
.catalog-filter-state{margin:0;font-size:.85rem;color:var(--ink-soft)}
.catalog-filter-state:empty{display:none}
.catalog-filter-clear{min-height:36px;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.catalog-filter-clear[hidden]{display:none}
@media (max-width:599.98px){.catalog-chip{min-height:44px}.catalog-filter-clear{min-height:44px}}
.gallery-toolbar{margin-bottom:0}
.catalog-toolbar label{font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft)}
.catalog-search-wrap{display:flex;align-items:center;gap:12px;flex:1;min-width:min(100%,300px)}
.catalog-search-wrap input{flex:1;min-height:46px;padding:11px 14px;border:1px solid var(--rule-strong);border-radius:2px;background:var(--w)}
.catalog-search-wrap input:focus{outline:3px solid var(--red);outline-offset:1px;border-color:var(--ink)}
.catalog-search-wrap span{font-size:.85rem;font-weight:700;color:var(--ink-faint);white-space:nowrap}

/* v7.2: site geneli kompakt iç sayfa masthead'leri. Başlık bandı bilgi
   türüne göre iki sütuna ayrılır; ana sayfanın dönüşüm hero'su kapsam dışı. */
.catalog-category-hero + .catalog-category-grid-section,
.catalog-gallery-hero + .gallery-section,.blog-hero + .blog-section,
.services-page-hero + .services-section{padding-top:clamp(10px,1.4vw,18px)}
.catalog-category-hero .hero-topline .section-kicker,
.catalog-gallery-hero .hero-topline .section-kicker,
.product-listing-hero .hero-topline .section-kicker{display:none}

/* Ürün grupları sayfasında başlık ve açıklama kartların hemen üstünde tek
   satırlık girişe iner; kart ızgarası her zaman tam genişlikte kalır. */
.catalog-index-hero>.container{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(460px,1.2fr);column-gap:clamp(28px,4vw,72px);align-items:end}
.catalog-index-hero .hero-topline,.catalog-index-hero h1{grid-column:1}
.catalog-index-hero>.container>p{grid-column:2;grid-row:1 / span 2;align-self:end;margin-bottom:3px;color:var(--ink-soft);line-height:1.42}
.catalog-index-hero .catalog-group-grid{grid-column:1 / -1;margin-top:12px}
.catalog-index-hero .hero-topline .section-kicker{display:none}

@media (min-width:901px){
  .catalog-category-hero,.catalog-gallery-hero,.blog-hero.services-page-hero{padding:8px 0 10px}
  .catalog-category-hero>.container{
    display:grid;grid-template-columns:minmax(350px,1fr) minmax(300px,.72fr);
    grid-template-areas:"topline summary" "title summary" "lede summary";
    column-gap:clamp(32px,5vw,86px);align-items:center;
  }
  .catalog-category-hero .hero-topline{grid-area:topline;align-self:end}
  .catalog-category-hero h1{grid-area:title;font-size:clamp(1.7rem,2.2vw,2.35rem)}
  .catalog-category-hero>.container>p{grid-area:lede;color:var(--ink-soft);font-size:.96rem;line-height:1.4}
  .catalog-category-hero .catalog-summary{
    grid-area:summary;justify-content:flex-end;align-items:baseline;margin:0;
    padding-left:clamp(24px,3vw,48px);border-left:1px solid var(--edge);
  }

  .catalog-gallery-hero>.container{
    display:grid;grid-template-columns:minmax(320px,.8fr) minmax(500px,1.2fr);
    grid-template-areas:"topline controls" "title controls" "lede controls";
    column-gap:clamp(32px,4vw,72px);align-items:center;
  }
  .catalog-gallery-hero .hero-topline{grid-area:topline;align-self:end}
  .catalog-gallery-hero h1{grid-area:title;font-size:clamp(1.7rem,2.2vw,2.35rem)}
  .catalog-gallery-hero>.container>p{grid-area:lede;color:var(--ink-soft);font-size:.94rem;line-height:1.4}
  .catalog-gallery-hero .gallery-toolbar{grid-area:controls;align-self:start;margin:5px 0 0}
  .catalog-gallery-hero .filter-row{grid-area:controls;align-self:end;margin:0}
  .catalog-gallery-hero .catalog-search-wrap input{min-height:42px;padding:9px 12px}
  .catalog-gallery-hero .filter-btn{min-height:44px;padding:9px 13px}

  .blog-hero:not(.services-page-hero){padding:10px 0 12px}
  .blog-hero .section-heading{
    display:grid;grid-template-columns:minmax(400px,1.1fr) minmax(340px,.9fr);
    grid-template-areas:"kicker intro" "title intro";column-gap:clamp(36px,5vw,90px);
    align-items:center;margin:0;
  }
  .blog-hero .section-kicker{grid-area:kicker;margin:0 0 4px}
  .blog-hero h1{grid-area:title;font-size:clamp(1.65rem,2.25vw,2.35rem);max-width:30ch}
  .blog-hero .section-intro{grid-area:intro;margin:0;font-size:.96rem;line-height:1.45}
}

/* v7.1'de başlayan ürün listeleme masthead'i site standardına dâhil. */
.product-listing-hero + .product-list-showcase-section{padding-top:clamp(10px,1.4vw,18px)}
@media (min-width:901px){
  .product-listing-hero{padding:8px 0 10px}
  .product-listing-hero>.container{
    display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);
    grid-template-areas:"topline toolbar" "heading toolbar";
    align-items:center;column-gap:clamp(28px,3vw,56px);
  }
  .product-listing-hero .hero-topline{grid-area:topline;align-self:end}
  .product-listing-hero .hero-topline .breadcrumb{font-size:.72rem}
  .product-listing-hero .section-heading{grid-area:heading;align-self:start;margin:0}
  .product-listing-hero .section-heading h1{font-size:clamp(1.55rem,2vw,2.15rem)}
  .product-listing-hero .section-intro{
    max-width:none;margin-top:3px;overflow:hidden;text-overflow:ellipsis;
    white-space:nowrap;font-size:.92rem;line-height:1.35;
  }
  /* 14 Eylül kabul düzeltmesi (2. tur): burada ÖNCEDEN
     `grid-template-columns:auto minmax(0,1fr)` vardı. Araç çubuğunun ÜÇ
     çocuğu var (label · arama · çipler); otomatik yerleşim çipleri 2.
     satırın 1. SÜTUNUNA koyuyordu ve o sütun `auto` olduğu için sütun
     genişliğini geniş çip satırı belirliyordu. Aramaya artan pay kalıyor,
     1280'de kutu 122 px'e düşüyordu. Izgara yerine esnek satır: label ile
     arama aynı satırda, çipler kendi satırında sarar.
     `grid-area:toolbar` KORUNUR — o, üst ızgaradaki yerleşimdir. */
  .product-listing-hero .catalog-toolbar{
    grid-area:toolbar;display:flex;flex-wrap:wrap;align-items:center;
    gap:8px 14px;margin:0;min-width:0;
  }
  .product-listing-hero .catalog-toolbar label{flex:0 0 auto}
  .product-listing-hero .catalog-search-wrap{
    flex:1 1 320px;min-width:0;max-width:min(100%,460px);
  }
  .product-listing-hero .catalog-filters{flex:1 1 100%;min-width:0}
  .product-listing-hero .catalog-search-wrap input{min-height:42px;padding:9px 12px}
  .product-listing-hero + .product-list-showcase-section .showcase-count{margin-bottom:8px}
}
.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.filter-btn{
  min-height:44px;padding:10px 16px;border:1px solid var(--rule-strong);border-radius:2px;
  background:var(--w);font-size:.9rem;font-weight:700;cursor:pointer;
  transition:background-color .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease);
}
.filter-btn:hover{border-color:var(--ink)}
.filter-btn.active{background:var(--ink);border-color:var(--ink);color:#fff}

.product-showcase-layout{display:grid;grid-template-columns:minmax(0,290px) minmax(0,1fr);gap:clamp(20px,2.6vw,40px);align-items:start}
.product-list-column{display:flex;flex-direction:column;gap:1px;background:var(--edge);border:1px solid var(--edge);position:sticky;top:calc(var(--header-h) + 18px)}
.product-list-item{
  display:flex;flex-direction:column;gap:3px;min-height:60px;padding:13px 16px;
  background:var(--w);border:0;text-align:left;cursor:pointer;
  transition:background-color .16s var(--ease),color .16s var(--ease);
}
.product-list-item span{font-size:.66rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint)}
.product-list-item strong{font-size:.99rem;font-weight:700;letter-spacing:-.015em}
.product-list-item em{font-style:normal;font-size:.8rem;color:var(--ink-faint)}
.product-list-item:hover{background:var(--ivory)}
.product-list-item.active{background:var(--ink);color:#fff}
.product-list-item.active span,.product-list-item.active em{color:var(--ink-inv)}
.product-showcase-panel{display:none}
.product-showcase-panel.active{display:block}
.product-showcase-copy{margin-bottom:14px}
.product-showcase-copy span{display:block;font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.product-showcase-copy h2{font-size:clamp(1.3rem,2vw,1.75rem);margin-bottom:6px}
.product-showcase-copy p{color:var(--ink-soft);max-width:70ch;font-size:.98rem;line-height:1.5}
/* v7: tek gruplu ürün sayfalarında panel başlığı h1'i birebir tekrar ediyordu;
   apply_v7.py bu bloğu tek satırlık sayaca indiriyor. */
.showcase-count{margin:0 0 12px;font-size:.72rem;font-weight:800;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-soft)}
/* v7: tek sekmeli sayfalarda seçim sunmayan liste sütunu ürünleri aşağı
   itiyordu; sütun gizlenir, ızgara tam genişliğe yayılır. */
.product-showcase-layout.is-single{grid-template-columns:minmax(0,1fr)}
.product-showcase-layout.is-single .product-list-column{display:none}
/* v8.4: fotoğraf kapsamı gözlemi (audit/final-visual-copy-decision-1400.md).
   Cümle eskiden giriş metninin kuyruğundaydı ve 901px üstünde
   `.product-listing-hero .section-intro` nowrap+ellipsis kuralıyla tek
   satıra kırpılıyordu — ekran okuyucuda var, gözle görünmüyordu. Kendi
   bloğuna alındı: fotoğrafın hemen üstünde, satır sayısı serbest.
   BİLEREK hiçbir dar ekran kuralına bağlanmadı; `.product-showcase-copy p`
   gibi ≤1080px'te gizlenirse hata yeniden doğardı. */
.photo-scope-note{margin:0 0 clamp(10px,1.2vw,14px);max-width:70ch;
  color:var(--ink-soft);font-size:.95rem;line-height:1.5}
.product-showcase-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:clamp(12px,1.4vw,18px)}
.catalog-panel-empty::after{content:"Aramanıza uyan görsel yok.";display:block;padding:26px 0;color:var(--ink-faint);font-size:.98rem}
.detail-gallery-card{margin:0;border:1px solid var(--edge);background:var(--w);overflow:hidden;transition:border-color .18s var(--ease)}
.detail-gallery-card:hover{border-color:var(--ink)}
.detail-gallery-card img{width:100%;aspect-ratio:1/1;object-fit:cover;cursor:zoom-in;transition:transform .5s var(--ease)}
.detail-gallery-card:hover img{transform:scale(1.04)}
.detail-gallery-card figcaption{padding:11px 13px;border-top:1px solid var(--edge);font-size:.82rem;color:var(--ink-soft);line-height:1.42}
.detail-gallery-card figcaption .card-sizes{display:block;margin-top:3px;font-size:.72rem;letter-spacing:.05em;color:var(--ink-soft);opacity:.8}
.catalog-hidden{display:none!important}

.gallery-section{padding-top:clamp(30px,3.4vw,48px)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:clamp(12px,1.5vw,20px)}
.gallery-card{border:1px solid var(--edge);background:var(--w);overflow:hidden;transition:border-color .18s var(--ease)}
.gallery-card:hover{border-color:var(--ink)}
.gallery-card figure{margin:0;overflow:hidden;background:var(--ivory-2)}
.gallery-card img{width:100%;aspect-ratio:1/1;object-fit:cover;cursor:zoom-in;transition:transform .5s var(--ease)}
.gallery-card:hover img{transform:scale(1.04)}
.gallery-meta{padding:12px 14px;border-top:1px solid var(--edge);display:flex;flex-direction:column;gap:4px}
.gallery-meta span{font-size:.92rem;font-weight:700;letter-spacing:-.01em}
.gallery-meta small{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
.gallery-meta a{display:flex;flex-direction:column;gap:4px;min-height:44px;justify-content:center}
.gallery-meta a:hover span{color:var(--red)}
.gallery-card.is-hidden{display:none}
.gallery-actions{display:flex;justify-content:center;margin-top:clamp(26px,3vw,40px)}
/* --ink-faint fildişi zemin üstünde 4,33:1'de kalıyordu (AA sınırı 4,5) */
.empty-gallery-note,.category-placeholder{padding:30px;border:1px dashed var(--rule-strong);color:var(--ink-soft);font-size:.98rem}

.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,30px)}
.blog-card{display:flex;flex-direction:column;border:1px solid var(--edge);background:var(--w);transition:border-color .18s var(--ease)}
.blog-card:hover{border-color:var(--ink)}
.blog-card figure{margin:0;overflow:hidden;background:var(--ivory-2)}
.blog-card img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .5s var(--ease)}
.blog-card:hover img{transform:scale(1.03)}
.blog-card-body{padding:20px;display:flex;flex-direction:column;gap:9px;flex:1}
.blog-card-body small{font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--red)}
.blog-card-body h3,.blog-card-body h2{font-size:1.16rem;font-weight:700;letter-spacing:-.018em;line-height:1.25}
.blog-card-body p{color:var(--ink-soft);font-size:.94rem;line-height:1.55}
.blog-card-body b{margin-top:auto;font-size:.88rem;font-weight:700;border-bottom:2px solid var(--red);align-self:flex-start;padding-bottom:2px}

.detail-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(26px,3.6vw,56px);align-items:center}
.detail-copy p{margin-top:16px;color:var(--ink-soft);max-width:56ch}
.detail-hero-image{margin:0;overflow:hidden}
.detail-hero-image img{width:100%;object-fit:cover}
.article-content{max-width:74ch}
.article-content h2{margin:clamp(30px,3.4vw,46px) 0 14px;font-size:clamp(1.4rem,2.2vw,1.85rem)}
.article-content p{margin-bottom:16px;color:var(--ink-soft);font-size:1.04rem;line-height:1.7}
.article-content ul{margin:0 0 20px;padding-left:22px;color:var(--ink-soft)}
.article-content li{margin-bottom:9px;line-height:1.6}
.article-cta{margin-top:clamp(34px,4vw,56px);padding:clamp(24px,3vw,38px);background:var(--ivory);border:1px solid var(--edge)}
.article-cta h2,.article-cta h3{font-size:1.4rem;margin-bottom:10px}
.article-cta p{color:var(--ink-soft);margin-bottom:20px;max-width:60ch}
.related-section{padding-top:0}
.mini-link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:clamp(12px,1.5vw,20px)}
.mini-link{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid var(--edge);background:var(--w);transition:border-color .18s var(--ease)}
.mini-link:hover{border-color:var(--ink)}
.mini-link img{width:56px;height:56px;object-fit:cover;flex:none}
.mini-link span{font-size:.93rem;font-weight:700;letter-spacing:-.01em}

.about-text-layout{display:grid;gap:clamp(26px,3.4vw,50px)}
.about-text-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,46px)}
.about-text-columns article h2{font-size:1.35rem;margin-bottom:12px}
.about-text-columns article p{color:var(--ink-soft);margin-bottom:12px}

.services-section{padding-top:clamp(40px,5vw,72px)}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--edge);border:1px solid var(--edge)}
.service-card{background:var(--w);padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;gap:10px}
.service-card span{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--red)}
.service-card h3,.service-card h2{font-size:1.3rem;font-weight:700;letter-spacing:-.018em;line-height:1.25}
.service-card p{color:var(--ink-soft);font-size:.97rem;line-height:1.56}
.service-card p:last-child{margin-top:auto}

.integrated-process-section{background:var(--ivory);border-block:1px solid var(--edge)}
.integrated-process-section h2{max-width:20ch}
.integrated-process-section .section-intro{margin-bottom:clamp(24px,3vw,38px)}
.process-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px)}
.process-card{background:var(--w);border:1px solid var(--edge);padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:9px}
.process-card span{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--red)}
.process-card h3{font-size:1.16rem}
.process-card p{color:var(--ink-soft);font-size:.95rem;line-height:1.55}

/* dönüşüm bandı (iç sayfalar) */
.page-cta{background:var(--ink);color:var(--w);padding:clamp(44px,5vw,76px) 0}
.page-cta .section-kicker{color:#ff8f9f}
.page-cta-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);gap:clamp(26px,3.6vw,56px);align-items:center}
.page-cta h2{max-width:18ch}
.page-cta p{margin-top:14px;color:var(--ink-inv);max-width:52ch}
.page-cta-actions{display:flex;flex-wrap:wrap;gap:12px}

/* --- 19. Lightbox -------------------------------------------------------- */
.rayno-lightbox{
  position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;
  padding:clamp(18px,4vw,54px);background:rgba(17,18,20,.94);
}
.rayno-lightbox.open{display:flex}
.rayno-lightbox__figure{margin:0;max-width:min(100%,1120px);display:flex;flex-direction:column;gap:14px;align-items:center}
.rayno-lightbox__figure img{max-width:100%;max-height:78vh;object-fit:contain;background:var(--ink-2)}
.rayno-lightbox__figure figcaption{color:var(--ink-inv);font-size:.92rem;text-align:center;max-width:70ch;line-height:1.5}
.rayno-lightbox__close,.rayno-lightbox__arrow{
  position:absolute;min-width:52px;min-height:52px;display:flex;align-items:center;justify-content:center;
  background:var(--w);color:var(--ink);border:0;border-radius:2px;font-size:1.7rem;line-height:1;cursor:pointer;
  transition:background-color .16s var(--ease),color .16s var(--ease);
}
.rayno-lightbox__close:hover,.rayno-lightbox__arrow:hover{background:var(--red);color:#fff}
/* Tek fotoğraflı grupta gezinme okları GERÇEKTEN gizlenmeli. Yukarıdaki
   display:flex, [hidden] özniteliğinin varsayılan display:none kuralını
   ezdiği için düğmeler görünür ve erişilebilirlik ağacında tıklanabilir
   kalıyordu (Codex 08:00 bulgusu). */
.rayno-lightbox__arrow[hidden]{display:none}
.rayno-lightbox__close{top:clamp(12px,2.4vw,26px);right:clamp(12px,2.4vw,26px)}
.rayno-lightbox__prev{left:clamp(8px,2vw,26px);top:50%;transform:translateY(-50%)}
.rayno-lightbox__next{right:clamp(8px,2vw,26px);top:50%;transform:translateY(-50%)}

/* --- 20. Hareket --------------------------------------------------------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.rise{opacity:1}
html.rayno-ready .rise{animation:v6rise .58s var(--ease) both}
html.rayno-ready .rise-1{animation-delay:.02s}
html.rayno-ready .rise-2{animation-delay:.08s}
html.rayno-ready .rise-3{animation-delay:.14s}
html.rayno-ready .rise-4{animation-delay:.20s}
html.rayno-ready .rise-5{animation-delay:.26s}
html.rayno-ready .hero-bands .band{animation:v6rise .6s var(--ease) both}
html.rayno-ready .hero-bands .band:nth-child(1){animation-delay:.24s}
html.rayno-ready .hero-bands .band:nth-child(2){animation-delay:.30s}
html.rayno-ready .hero-bands .band:nth-child(3){animation-delay:.36s}
@keyframes v6rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
  html.rayno-ready .rise,html.rayno-ready .hero-bands .band{animation:none}
}

/* --- 21. Duyarlı ayarlar ------------------------------------------------- */
@media (min-width:1560px){
  :root{--container:1400px}
}
@media (max-width:1180px){
  .catalog-category-hero,.catalog-gallery-hero,.blog-hero.services-page-hero{padding:10px 0}
  .product-listing-hero{padding:10px 0}
  .product-listing-hero .section-heading{margin-bottom:4px}
  .product-listing-hero .section-intro{margin-top:3px;line-height:1.4}
  .product-listing-hero .catalog-toolbar{margin-top:8px}
  .value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .works-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .footer-grid>div:first-child{grid-column:1 / -1}
}
@media (max-width:1080px){
  .nav-menu{
    display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    align-items:stretch;gap:0;padding:8px var(--gutter) 18px;background:var(--w);
    border-bottom:1px solid var(--edge);box-shadow:var(--lift);
  }
  .nav-menu.open{display:flex}
  .nav-menu a{min-height:52px;display:flex;align-items:center;font-size:1.04rem;border-bottom:1px solid var(--rule)}
  .nav-menu a:hover{border-bottom-color:var(--rule)}
  /* alt eylem çubuğu görünür hâle geldiği için hero'nun dikey bütçesi daralır */
  .v7-hero{padding-top:16px}
  .hero-bands{margin-top:16px}
  .nav-toggle{display:grid}
  .nav-actions{margin-inline-start:auto;order:2}
  .nav-toggle{order:3;margin-inline-start:0}
  .nav-cta{display:none}
  .site-header{position:sticky}
  .contact-rail{display:none}
  .action-bar{display:flex}
  body.has-action-bar{padding-bottom:var(--bar-h)}
  .flow-shell,.contact-shell,.about-shell,.detail-hero-grid,.page-cta-shell{grid-template-columns:1fr}
  .product-showcase-layout{grid-template-columns:1fr}
  /* v7: dar ekranda alt grup listesi sarmalanan çip satırına iner.
     v6'da dikey listeydi; 8 gruplu `usb.html`'de tek başına ~480 px yer
     kaplayıp ilk ürün satırını ekranın dışına itiyordu. Yatay kaydırıcı da
     denenmişti, orada da gruplar keşfedilemiyordu. Çipler sarmalandığı için
     tüm gruplar görünür kalır ve yükseklik ~3'te 1'ine iner. */
  .product-list-column{
    position:static;flex-direction:row;flex-wrap:wrap;gap:6px;
    background:transparent;border:0;margin-bottom:14px;
  }
  .product-list-item{
    flex-direction:row;align-items:center;gap:8px;min-height:44px;
    padding:8px 12px;border:1px solid var(--rule-strong);border-radius:2px;
  }
  .product-list-item span,.product-list-item em{display:none}
  .product-list-item strong{font-size:.88rem}
  .product-list-item.active{border-color:var(--ink)}
  /* Etkin grubun adı zaten çipte yazıyor; panel üstündeki etiket ve açıklama
     hero girişini tekrar ediyor. Dar ekranda ikisi de gizlenir, başlık kalır. */
  .product-showcase-copy{margin-bottom:10px}
  .product-showcase-copy span,.product-showcase-copy p{display:none}
  .product-showcase-copy h2{font-size:1.1rem;margin-bottom:0}
  .catalog-group-grid,.catalog-product-grid,.blog-grid,.process-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* üç ögeli hizmet ızgarası iki sütuna inince boş hücre kenarlık rengini
     gösteriyordu; tek sütuna alınıyor */
  .service-grid{grid-template-columns:minmax(0,1fr)}
  .family-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .family-card{border-top:1px solid var(--edge);padding-bottom:26px}
  .family-card:first-child{border-top:2px solid var(--ink)}
}
@media (max-width:900px){
  :root{--header-h:64px}
  .catalog-index-hero>.container{display:block}
  .catalog-index-hero>.container>p{margin-top:4px;line-height:1.42}
  .catalog-index-hero .catalog-group-grid{margin-top:10px}
  .catalog-category-hero>.container>p,.catalog-gallery-hero>.container>p{margin-top:3px;line-height:1.4}
  .catalog-category-hero .catalog-summary{margin-top:5px}
  .catalog-gallery-hero .gallery-toolbar{margin-top:8px}
  .catalog-gallery-hero .filter-row{margin-top:7px}
  .blog-hero .section-heading{display:block;margin-bottom:0}
  .blog-hero .section-intro{margin-top:4px;line-height:1.42}
  .brand-logo{height:36px}
  .brand-lines{display:none}
  .navbar{gap:12px}
  .nav-tel small{display:none}
  .nav-tel strong{font-size:.94rem}
  .sec-head{flex-direction:column;align-items:flex-start;gap:16px}
  .works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-text-columns{grid-template-columns:1fr}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  body{font-size:1rem}
  .blog-hero:not(.services-page-hero) .section-intro{display:none}
  .catalog-gallery-hero>.container>p{display:none}
  .catalog-gallery-hero .gallery-toolbar label{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
    clip:rect(0,0,0,0);white-space:nowrap;border:0;
  }
  .value-grid{grid-template-columns:1fr}
  .catalog-group-grid,.catalog-product-grid,.blog-grid,.service-grid,.process-cards{grid-template-columns:1fr}
  .channel-list{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .hero-actions{gap:10px}
  .hero-actions .btn{width:100%;min-height:52px;padding:13px 20px}
  .hero-lede{margin-top:14px}
  .hero-lede .lede-more{display:none}
  .hero-direct{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin-top:14px}
  .hero-direct a{font-size:.94rem}
  .band img{height:clamp(170px,46vw,210px)}
  .band-cap{padding:9px 10px;gap:1px;flex-direction:column;align-items:flex-start}
  .band-cap b{font-size:.88rem}
  .band-cap span{font-size:.6rem}
  .band .arw{display:none}
  .nav-toggle em{display:none}
  .nav-toggle{padding:9px 13px}
  .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .product-showcase-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .footer-grid{grid-template-columns:1fr}
  .rayno-lightbox__prev{left:6px}
  .rayno-lightbox__next{right:6px}
  .rayno-lightbox__figure img{max-height:66vh}
}
@media (max-width:400px){
  .band-cap span{display:none}
}

@media print{
  .site-header,.contact-rail,.action-bar,.rayno-lightbox,.nav-toggle{display:none!important}
  body{color:#000;background:#fff}
  .section{padding:18px 0}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em;color:#444}
}

/* Rayno v8.2 katmanı — kaynak: tools-v8/authored/v8-additions.css */
:root{--catnav-w:250px;--catnav-gap:clamp(22px,2.6vw,40px)}.gallery-grid,.product-showcase-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1023.98px){.gallery-grid,.product-showcase-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:599.98px){.gallery-grid,.product-showcase-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}.catalog-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1023.98px){.catalog-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:599.98px){.catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.product-showcase-layout,.product-showcase-layout.is-single{grid-template-columns:minmax(0,var(--catnav-w)) minmax(0,1fr);gap:var(--catnav-gap)}.product-side-column{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,32px)}.product-side-column .product-list-column{margin:0}.catalog-grid-column,.gallery-column{min-width:0}.catalog-index-aside{display:flex;flex-direction:column;gap:18px;min-width:0}@media (min-width:1024px){.catalog-index-hero>.container{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(440px,1.22fr);column-gap:clamp(26px,3.4vw,60px);align-items:start}.catalog-index-hero .catalog-group-grid{grid-column:2;margin-top:0}.catalog-index-hero .catalog-index-aside{grid-column:1;grid-row:1}}@media (max-width:1023.98px){.catalog-index-aside{gap:12px}}.product-side-column>.cat-nav{position:sticky;top:calc(var(--header-h) + 14px)}.cat-nav{align-self:start}.cat-nav-disclosure{border:0}.cat-nav-disclosure>summary{display:none}.cat-nav-disclosure::-webkit-details-marker{display:none}.cat-nav-title{margin:0 0 12px;font-size:1.06rem;font-weight:800;letter-spacing:-.01em;color:var(--ink);padding-bottom:10px;position:relative}.cat-nav-title::after{content:"";position:absolute;left:0;bottom:0;width:46px;height:3px;background:var(--red)}.cat-nav-list,.cat-nav-children{list-style:none;margin:0;padding:0}.cat-nav-row{display:flex;align-items:stretch;gap:2px}.cat-nav-link{display:block;flex:1 1 auto;min-height:44px;padding:11px 10px 11px 14px;font-size:.96rem;font-weight:600;color:var(--ink-2);text-decoration:none;border-left:3px solid transparent;line-height:1.32;transition:color .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease)}.cat-nav-link:hover{color:var(--red);background:var(--ivory)}.cat-nav-link--all{font-weight:800;color:var(--ink);border-bottom:1px solid var(--edge);margin-bottom:6px}.cat-nav-link--parent{font-weight:700}.cat-nav-link--child{font-size:.92rem;font-weight:500;color:var(--ink-soft);padding-left:26px;min-height:44px;padding-top:11px;padding-bottom:11px}.cat-nav-children{margin:0 0 4px;padding-left:14px;border-left:1px solid var(--edge)}.cat-nav-children[hidden]{display:none}.cat-nav-link.is-active,.cat-nav-link[aria-current="page"]{color:var(--red);font-weight:800;border-left-color:var(--red);background:var(--red-tint)}.cat-nav-link--child.is-active{font-weight:700}.cat-nav-toggle{flex:0 0 auto;width:44px;min-height:44px;display:grid;place-items:center;background:none;border:0;cursor:pointer;color:var(--ink-faint)}.cat-nav-toggle:hover{color:var(--ink)}.cat-nav-chev{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease)}.cat-nav-toggle[aria-expanded="true"] .cat-nav-chev{transform:rotate(180deg)}.cat-nav-link--cross{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.cat-nav-cross-note{font-size:.72rem;font-weight:600;color:var(--ink-faint);border:1px solid var(--edge);padding:1px 6px;white-space:nowrap}@media (max-width:1023.98px){.cat-nav{position:static;margin-bottom:clamp(18px,2.2vw,26px)}.product-showcase-layout,.product-showcase-layout.is-single{grid-template-columns:minmax(0,1fr);gap:0}.cat-nav-disclosure>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:11px 14px;border:1px solid var(--rule-strong);background:var(--w);cursor:pointer;font-size:.95rem;list-style:none}.cat-nav-summary-label{font-weight:700;color:var(--ink)}.cat-nav-summary-current{margin-left:auto;font-weight:600;color:var(--red);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52%}.cat-nav-disclosure>summary .cat-nav-chev{flex:none;color:var(--ink-faint)}.cat-nav-disclosure[open]>summary .cat-nav-chev{transform:rotate(180deg)}.cat-nav-body{border:1px solid var(--edge);border-top:0;padding:14px 8px 10px;max-height:min(62vh,520px);overflow:auto;overscroll-behavior:contain}.cat-nav-title{display:none}}.rayno-ready :is(img[data-lightbox],.catalog-product-card img,.catalog-group-card img){opacity:0;transition:opacity .34s var(--ease)}.rayno-ready :is(img[data-lightbox],.catalog-product-card img,.catalog-group-card img).is-loaded,.rayno-ready :is(img[data-lightbox],.catalog-product-card img,.catalog-group-card img).is-broken{opacity:1}:is(.gallery-card figure,.detail-gallery-card,.catalog-product-card figure,.catalog-group-card figure){position:relative;isolation:isolate}.rayno-ready :is(.gallery-card figure,.detail-gallery-card,.catalog-product-card figure,.catalog-group-card figure)::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ivory-2);background-image:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.72) 42%,transparent 64%);background-size:220% 100%;animation:rayno-shim 1.35s linear infinite}.rayno-ready :is(.gallery-card figure,.detail-gallery-card,.catalog-product-card figure,.catalog-group-card figure).is-settled::before{animation:none;background-image:none;opacity:0;transition:opacity .3s var(--ease)}@keyframes rayno-shim{from{background-position:120% 0}to{background-position:-120% 0}}img.is-broken{background:var(--ivory-2);font-size:.78rem;color:var(--ink-faint);object-fit:contain;padding:10px}@media (prefers-reduced-motion:reduce){.rayno-ready :is(img[data-lightbox],.catalog-product-card img,.catalog-group-card img){transition:none}.rayno-ready :is(.gallery-card figure,.detail-gallery-card,.catalog-product-card figure,.catalog-group-card figure)::before{animation:none;background-image:none}}.convert-strip{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);flex-wrap:wrap;padding:9px 14px;border:1px solid var(--edge);background:var(--ivory);margin:0 0 clamp(12px,1.4vw,18px)}.convert-strip p{margin:0;flex:1 1 260px;min-width:0;color:var(--ink-soft);font-size:.9rem;line-height:1.4}.convert-strip p b{color:var(--ink);font-weight:700}.convert-strip-actions{display:flex;align-items:center;gap:14px;flex:0 0 auto}.convert-strip .btn-sm{min-height:38px;padding:8px 14px;font-size:.86rem}.convert-strip .lnk{font-size:.88rem;white-space:nowrap}@media (max-width:1279.98px){.convert-strip-more{display:none}}@media (max-width:1023.98px){.product-showcase-column,.gallery-column,.catalog-grid-column{display:flex;flex-direction:column}.convert-strip{order:9;margin:clamp(16px,2.4vw,24px) 0 0}.product-side-column{gap:12px}}@media (max-width:599.98px){.convert-strip{padding:10px 12px;gap:10px}.convert-strip p{font-size:.88rem;flex-basis:100%}.convert-strip-actions{width:100%;justify-content:space-between}.convert-strip .btn-sm{min-height:44px;flex:1 1 auto;justify-content:center}.convert-strip .lnk{min-height:44px;display:inline-flex;align-items:center}}@media (max-width:1439.98px){.contact-rail{display:none}}@media (max-width:1080px){body.has-action-bar{padding-bottom:calc(var(--bar-h) + 4px)}}.rayno-plate img,.rayno-plate.detail-gallery-card img,.rayno-plate.gallery-card img{object-fit:contain;background:var(--ivory-2);padding:6px}.yag-specs{margin-top:clamp(26px,3vw,40px);padding-top:clamp(22px,2.6vw,32px);border-top:1px solid var(--edge)}.yag-specs h3{font-size:1.06rem;font-weight:800;margin:0 0 16px;letter-spacing:-.01em}.yag-specs dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--edge);border:1px solid var(--edge);margin:0}.yag-specs dl>div{background:var(--w);padding:13px 16px}.yag-specs dt{font-size:.78rem;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.045em;margin-bottom:4px}.yag-specs dd{margin:0;font-size:.94rem;color:var(--ink-2);line-height:1.45}.yag-specs-note{margin:14px 0 0;font-size:.86rem;color:var(--ink-soft);line-height:1.55;max-width:70ch}@media (max-width:719.98px){.yag-specs dl{grid-template-columns:minmax(0,1fr)}}.v8-hero{padding:clamp(26px,3.2vw,46px) 0 clamp(30px,3.6vw,52px);background:linear-gradient(180deg,var(--ivory) 0%,var(--w) 78%);border-bottom:1px solid var(--edge)}.v8-hero-shell{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(28px,3.8vw,64px);align-items:center}.v8-hero-copy .section-kicker{margin-bottom:12px;display:block}.v8-hero-copy h1{font-size:clamp(2rem,3.5vw,3.05rem);line-height:1.07;letter-spacing:-.025em;margin:0 0 16px;max-width:15ch}.v8-hero-copy h1 em{font-style:normal;color:var(--red)}.v8-hero-lede{font-size:clamp(1.01rem,1.25vw,1.14rem);color:var(--ink-soft);line-height:1.6;margin:0 0 22px;max-width:46ch}.v8-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-bottom:20px}.v8-hero-actions .btn{min-height:50px}.v8-hero-assure{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:16px 0 0;border-top:1px solid var(--edge);list-style:none}.v8-hero-assure li{display:flex;align-items:center;gap:7px;font-size:.87rem;font-weight:600;color:var(--ink-soft)}.v8-hero-assure .ico{width:16px;height:16px;flex:none;color:var(--red)}.v8-hero-mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr);gap:clamp(8px,.9vw,13px);aspect-ratio:7/6}.v8-hero-tile{position:relative;overflow:hidden;background:var(--ivory-2);border:1px solid var(--edge);margin:0}.v8-hero-tile>a{display:block;width:100%;height:100%;position:relative}.v8-hero-tile img{width:100%;height:100%;object-fit:cover;display:block;opacity:1;transition:opacity .34s var(--ease),transform .7s var(--ease)}.v8-hero-tile.is-changing img{opacity:0;transform:scale(1.015)}.v8-hero-tile>a::after{content:"";position:absolute;inset:0;background:var(--ink);opacity:0;transition:opacity .28s var(--ease)}.v8-hero-tile>a:hover::after{opacity:.08}.v8-hero-tile figcaption{position:absolute;left:0;bottom:0;z-index:2;padding:6px 11px;background:var(--ink);color:#fff;font-size:.73rem;font-weight:700;letter-spacing:.02em}.v8-hero-tile--a{grid-column:1/4;grid-row:1/5}.v8-hero-tile--b{grid-column:4/7;grid-row:1/4}.v8-hero-tile--c{grid-column:1/4;grid-row:5/7}.v8-hero-tile--d{grid-column:4/7;grid-row:4/7}.v8-hero-tile--c figcaption{background:var(--red)}@media (max-width:1023.98px){.v8-hero-shell{grid-template-columns:minmax(0,1fr);gap:clamp(16px,2.4vw,24px)}.v8-hero-copy{display:contents}.v8-hero-copy>.section-kicker{order:1}.v8-hero-copy>h1{order:2;max-width:19ch;margin-bottom:12px}.v8-hero-lede{order:3;margin-bottom:16px}.v8-hero-actions{order:4;margin-bottom:2px}.v8-hero-mosaic{order:5;aspect-ratio:8/7}.v8-hero-assure{order:6;margin-top:2px}}@media (max-width:599.98px){.v8-hero{padding-top:clamp(16px,3vw,22px)}.v8-hero-copy h1{font-size:clamp(1.72rem,7.4vw,2.1rem)}.v8-hero-lede{margin-bottom:16px}.v8-hero-actions{gap:9px}.v8-hero-actions .btn{flex:1 1 100%;justify-content:center}.v8-hero-mosaic{aspect-ratio:1/1;gap:7px}.v8-hero-tile figcaption{font-size:.66rem;padding:4px 8px}.v8-hero-assure{gap:6px 14px}.v8-hero-assure li{font-size:.81rem}}@media (prefers-reduced-motion:reduce){.v8-hero-tile img{transition:none}}

/* v8.3: kart -> kalıcı ürün adresi bağlantısı. Tasarım değişmez; anchor
   yalnız düzen taşıyıcısıdır ve mevcut görsel kurallarını bozmaz. */
.card-link{display:block;line-height:0;color:inherit;text-decoration:none}
.card-link:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.card-caption-link{color:inherit;text-decoration:none}
.card-caption-link:hover{color:var(--red)}
.card-caption-link:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.gallery-card .card-link,.detail-gallery-card .card-link{width:100%}
/* v8.3: ana sayfa hero katalog araması + tüm kategoriler dizini.
   Mevcut hero düzeni korunur; kutu ana eylemlerin altında akar.
   Not: input ve buton AYNI yükseklikte olmalı. type=search tarayıcı
   varsayılanları (appearance, box-sizing, font) açıkça sıfırlanmazsa
   input ~32px kalıp butonla uyumsuz görünüyordu. */
.hero-search{margin:0 0 18px;max-width:min(100%,620px)}
.hero-search *,.hero-search *::before,.hero-search *::after{box-sizing:border-box}
.hero-search-label{display:block;font-size:.82rem;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.045em;margin-bottom:7px}
.hero-search-row{display:flex;gap:8px;align-items:stretch}
.hero-search-input{-webkit-appearance:none;appearance:none;flex:1 1 auto;min-width:0;height:52px;padding:0 14px;border:1px solid var(--rule-strong);border-radius:0;background:var(--w);font:inherit;font-size:1rem;line-height:normal;color:var(--ink)}
.hero-search-input::-webkit-search-decoration,.hero-search-input::-webkit-search-cancel-button{-webkit-appearance:none}
.hero-search-input::placeholder{color:var(--ink-faint);opacity:1}
.hero-search-input:focus-visible{outline:2px solid var(--red);outline-offset:1px}
.hero-search-btn{flex:0 0 auto;height:52px;min-height:52px;padding:0 24px;white-space:nowrap}
.hero-search-hint{margin:7px 0 0;font-size:.83rem;color:var(--ink-soft)}
.hero-search-results{position:relative;margin-top:10px;background:var(--w);border:1px solid var(--edge);max-height:min(58vh,460px);overflow:auto;overscroll-behavior:contain;z-index:5}
.hero-search-results[hidden]{display:none}
.hero-search-msg{margin:0;padding:12px 14px;font-size:.88rem;color:var(--ink-soft)}
.hero-search-list{list-style:none;margin:0;padding:0}
.hero-search-list li+li{border-top:1px solid var(--edge)}
.hero-search-list a{display:flex;gap:11px;align-items:center;padding:9px 12px;text-decoration:none;color:inherit;min-height:56px}
.hero-search-list a:hover,.hero-search-list a:focus-visible{background:var(--ivory)}
.hero-search-list img{flex:none;width:48px;height:48px;object-fit:contain;background:var(--ivory-2)}
.hero-search-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.hero-search-text strong{font-size:.92rem;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-search-text small{font-size:.76rem;color:var(--ink-faint)}
.hero-search-legacy{font-style:normal;font-size:.7rem;font-weight:700;color:var(--ink-faint);border:1px solid var(--edge);padding:1px 5px;align-self:flex-start;margin-top:2px}
.hero-search-more{display:block;width:100%;min-height:48px;padding:12px;border:0;border-top:1px solid var(--edge);background:var(--ivory);font:inherit;font-size:.9rem;font-weight:700;color:var(--ink);cursor:pointer}
.hero-search-more:hover{color:var(--red)}
@media (min-width:1024px){.hero-search{max-width:min(100%,660px)}}
@media (max-width:599.98px){.hero-search{max-width:none}.hero-search-row{flex-wrap:wrap}.hero-search-input{flex:1 1 100%}.hero-search-btn{flex:1 1 100%;justify-content:center}}
.cat-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,38px)}
.cat-index-col h3{margin:0 0 12px;font-size:1.02rem;font-weight:800;letter-spacing:-.01em;padding-bottom:9px;border-bottom:1px solid var(--edge)}
.cat-index-col h3 a{color:inherit;text-decoration:none}
.cat-index-col h3 a:hover{color:var(--red)}
.cat-index-col ul{list-style:none;margin:0;padding:0;columns:1}
.cat-index-col li{margin:0 0 2px}
.cat-index-col a{display:block;padding:7px 0;font-size:.92rem;color:var(--ink-2);text-decoration:none;min-height:32px}
.cat-index-col a:hover{color:var(--red)}
@media (max-width:899.98px){.cat-index-grid{grid-template-columns:minmax(0,1fr)}}
.color-sample-cta{display:inline-block;margin-top:6px;font-size:.82rem;font-weight:600}

/* v8.4: ürün detayında görünür tam sayfa yolu (SEO briefi §1). */
.crumbs{margin:6px 0 0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;font-size:.82rem;color:var(--ink-faint)}
.crumbs li{display:flex;align-items:center;gap:6px}
.crumbs li+li::before{content:"›";color:var(--ink-faint)}
.crumbs a{color:var(--ink-soft);text-decoration:none}
.crumbs a:hover{color:var(--red)}
.crumbs [aria-current="page"]{color:var(--ink);font-weight:600}
.related-products{padding-top:0}
/* v8.5: eski ürün ailelerinde gerçek varyant (renk/model) seçici. */
.variant-picker{margin:0 0 clamp(12px,1.4vw,18px)}
.variant-picker-label{display:block;font-size:.78rem;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.045em;margin-bottom:8px}
.variant-picker ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.variant-picker a{display:flex;flex-direction:column;gap:1px;padding:8px 13px;min-height:44px;justify-content:center;border:1px solid var(--rule-strong);background:var(--w);color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600}
.variant-picker a:hover,.variant-picker a:focus-visible{border-color:var(--red);color:var(--red)}
.variant-picker a small{font-size:.72rem;font-weight:500;color:var(--ink-faint)}

/* --- v8.6 galeri sayfalama --------------------------------------------
   Galeri artik sayfa basina 60 kart yayimliyor. Ozet satiri ve sayfalama
   gezinmesi mevcut belirteclerle (--rule-strong, --red, --ink-faint)
   kuruldu; yeni renk veya tipografi olcegi eklenmedi. */
.gallery-summary{margin:0 0 clamp(14px,1.6vw,22px);font-size:.9rem;color:var(--ink-soft)}
.gallery-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:clamp(22px,2.6vw,34px)}
.gallery-pagination__list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.gallery-pagination a,.gallery-pagination__step{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--rule-strong);background:var(--w);color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600}
.gallery-pagination a:hover,.gallery-pagination a:focus-visible{border-color:var(--red);color:var(--red)}
.gallery-pagination a[aria-current="page"]{border-color:var(--red);color:var(--red);background:var(--paper,transparent);font-weight:800}
.gallery-pagination__step.is-off{color:var(--ink-faint);border-style:dashed;cursor:default}
@media (max-width:640px){.gallery-pagination__list{max-width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}}


/* --- v8.7 [hidden] SEMANTIGI -------------------------------------------
   Bilesen kurallari (.btn{display:inline-flex}, .gallery-pagination{display:flex})
   tarayicinin [hidden] icin verdigi display:none kuralini eziyordu; JS
   `element.hidden = true` dedigi halde dugme ekranda ve erisilebilirlik
   agacinda kaliyordu (Codex 18:00 bulgusu; ayni hata daha once lightbox
   oklarinda cikmisti ve nokta yamayla kapatilmisti).
   Bu genel kural ayni hatanin UCUNCU kez cikmasini engeller: hidden
   YAZILDIYSA eleman gorunmez. Nokta yamalari korunur, zarar vermez. */
[hidden]{display:none!important}


/* --- v8.8 urun iletisim eylemleri --------------------------------------
   Fotografin altinda amaca ozgu eylemler. Mevcut .btn olceginin ustune
   yeni renk/tipografi eklenmedi; yalnizca yerlesim ve adet alani. */
.product-actions{margin:clamp(18px,2.2vw,28px) 0 0;padding:clamp(16px,2vw,22px);border:1px solid var(--rule-strong);background:var(--w)}
.product-actions__title{margin:0 0 12px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}
.product-actions__row{display:flex;flex-wrap:wrap;gap:10px}
.product-actions__quantity{margin-top:14px;padding-top:14px;border-top:1px dashed var(--rule-strong)}
.product-actions__label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:600;color:var(--ink-soft)}
.product-actions__quantity-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.product-actions__input{min-height:50px;min-width:132px;padding:12px 14px;border:1px solid var(--rule-strong);background:var(--w);color:var(--ink);font-size:1rem;font-weight:600}
.product-actions__input:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.product-actions__status{margin:10px 0 0;font-size:.9rem;color:var(--ink-soft);min-height:1.2em}
.product-actions__phone{margin:14px 0 0;font-size:.95rem;font-weight:600}
.product-actions__phone a{color:var(--red);text-decoration:none}
.product-actions__phone a:hover,.product-actions__phone a:focus-visible{text-decoration:underline}
@media (max-width:640px){.product-actions__row .btn,.product-actions__quantity-row .btn{flex:1 1 100%}.product-actions__input{flex:1 1 100%}}


/* --- v8.9 ana sayfa vitrinleri -----------------------------------------
   Masaustu 4 sutun (4x2 = 8 urun), tablet 3, mobil 2. Kart olculeri
   HTML'de gercek dosyadan yaziliyor; aspect-ratio ile yer onceden
   ayrilir, gorsel gec yuklense de layout kaymaz. Yeni renk/tipografi
   olcegi eklenmedi. */
.home-showcase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:clamp(16px,2vw,26px)}
.home-showcase-card{display:flex;flex-direction:column;border:1px solid var(--edge);background:var(--w)}
.home-showcase-card__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ivory)}
.home-showcase-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.home-showcase-card__title{display:flex;flex-direction:column;gap:4px;padding:12px 14px;min-height:44px;justify-content:center;border-top:1px solid var(--edge);text-decoration:none}
.home-showcase-card__title span{font-size:.92rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.home-showcase-card__title small{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
.home-showcase-card__title:hover span,.home-showcase-card__title:focus-visible span{color:var(--red)}
.home-showcase-more{margin:clamp(14px,1.8vw,22px) 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.home-showcase-shuffle{background:none;border:0;padding:0;font:inherit;cursor:pointer;min-height:44px;display:inline-flex;align-items:center}
.home-showcase-shuffle[hidden]{display:none}
@media (max-width:1023px){.home-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.home-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
/* v8.10 — Setler vitrini ve calisma ani tazeleme.
   Baslik kutusu SABIT yukseklikte ve ad iki satirla sinirli: JS seckiyi
   tazeledi diye kart yuksekligi degismesin. Fotograf kutusu zaten
   aspect-ratio ile ayrilmisti. Bu CLS'i AZALTIR; olculmus bir CLS=0
   iddiasi degildir (tarayici olcumu yapilmadi).
   Rayno bilesimlerinde kart onizlemesi bilesenlerin GERCEK fotograflarini
   AYRI img ogeleriyle CSS izgarasinda gosterir; kolaj gorseli uretilmez. */
.home-showcase-card__title{min-height:66px}
.home-showcase-card__title span{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-set-card__media{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:2px;background:var(--edge)}
.home-set-card__media img{background:var(--ivory)}
.home-set-card__media img:only-child{grid-column:span 2;grid-row:span 2}
.home-set-card__media img:nth-child(3):last-child{grid-column:span 2}
.home-set-card--single .home-set-card__media{display:block}
/* Set detayindaki baglı bilesen listesi. Kurali olmadigi icin ad ve
   kategori satiri yan yana akiyor ve "13 x 21 cmDefter" gibi bitisik
   goruntu olusuyordu (audit/codex-setler-runtime-0200.md §1). */
.set-components{margin-top:clamp(18px,2.4vw,30px)}
.set-components h3{margin:0 0 10px}
.set-components-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.set-components-list>li{border:1px solid var(--edge);background:var(--w)}
.set-components-list>li>a{display:flex;flex-direction:column;gap:4px;padding:12px 14px;text-decoration:none}
.set-components-list>li>a>span{font-size:.94rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.set-components-list>li>a>small{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.set-components-list>li>a:hover>span,.set-components-list>li>a:focus-visible>span{color:var(--red)}
.set-components-plain{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.set-components-plain>li{border:1px solid var(--edge);background:var(--w);padding:8px 12px;font-size:.9rem;font-weight:600}
@media (max-width:640px){.set-components-list{grid-template-columns:1fr}}

/* v8.12: alt kategori sayfalarindaki kaynakli secim bilgisi blogu
   (audit/seo-final-content-acceptance-0300.md §2). Deger listesi
   dogrulanmis manifest alanlarindan uretilir; her deger o degeri tasiyan
   gercek bir urun sayfasina gider. */
.category-guide{padding-top:clamp(28px,3.2vw,46px);padding-bottom:clamp(28px,3.2vw,46px);background:var(--ivory);border-top:1px solid var(--edge)}
.category-guide .section-heading{max-width:78ch;margin-bottom:clamp(18px,2.2vw,26px)}
.category-guide h2{font-size:clamp(1.22rem,1.8vw,1.6rem);letter-spacing:-.02em;margin:8px 0 10px}
.category-guide p{margin:0;font-size:.95rem;color:var(--ink-soft);line-height:1.6}
.category-facets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--edge);border:1px solid var(--edge);margin:0}
.category-facets>div{background:var(--w);padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.category-facets dt{font-size:.78rem;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.045em}
.category-facets dd{margin:0;font-size:.93rem;color:var(--ink-2);line-height:1.7}
.category-facet-count{font-size:.74rem;font-weight:700;color:var(--ink-faint)}
.category-facet-more{font-size:.82rem;color:var(--ink-faint)}
.category-guide-note{margin-top:14px!important;font-size:.86rem;max-width:70ch}
@media (max-width:719.98px){.category-facets{grid-template-columns:minmax(0,1fr)}}

/* v8.13: ANA SAYFA kompakt aralik katmani (audit/homepage-spacing-brief.md).
   Kullanici 13 Eylul 2026: ana sayfadaki bolum bosluklari asiri genis.
   Kurallar YALNIZ `body.home-page` altinda tanimlidir; satir 70'teki genel
   `.section` ritmi ile katalog/urun/galeri/blog sayfalari degismez. Hedef:
   masaustu bolumler arasi ~48px, mobil ~28px, baslik -> icerik 16-22px.
   Yalnizca padding/margin ve hero hizasi degisir; mutlak konum, yukseklik
   kirpma veya gizleme kullanilmaz. */
body.home-page main>.section{padding:clamp(14px,2.2vw,24px) 0}
body.home-page main .sec-head{margin-bottom:clamp(16px,1.6vw,22px)}
body.home-page .home-showcase-grid{margin-top:clamp(16px,1.6vw,22px)}

/* Hero: `align-items:center` metin sutunu daha uzun oldugu icin mozaigi
   asagi itiyor ve header altinda olu bosluk birakiyordu. Mozaik kendi
   `aspect-ratio` olcusuyle boyutlanir, bu yuzden `start` onu kirpmaz;
   fotograf kutusunun beyaz zemini oldugu gibi kalir. */
body.home-page .v8-hero{padding:clamp(12px,1.6vw,22px) 0 clamp(14px,1.8vw,24px)}
body.home-page .v8-hero-shell{align-items:start}

/* Footer ve iletisim: son bolum ile footer arasindaki ~80px bosluk azaltilir. */
body.home-page .site-footer{margin-top:clamp(18px,2.2vw,30px);padding-top:clamp(26px,3vw,44px)}

/* <=1080px'te flow/contact/about izgarasi tek sutuna dusuyor; yatay icin
   ayarlanmis 28-66px'lik bosluk orada dikey bosluga donusuyordu. */
@media (max-width:1080px){
  body.home-page .flow-shell,
  body.home-page .contact-shell,
  body.home-page .about-shell{gap:clamp(20px,2.6vw,30px)}
}
@media (max-width:599.98px){
  body.home-page .v8-hero{padding-top:clamp(10px,2vw,16px)}
}

/* Rayno v8.8 katmani -- alt tur giris ekrani ----------------------------
   Kategori ana sayfasi hash yokken alt tur kartlarini gosterir
   (tools/catalog/subtype_entry.py + main-v8.js). Kart izgarasi MEVCUT
   .catalog-product-grid / .catalog-product-card bilesenidir; burada yalniz
   secim ekranina ozgu birkac kural var. [hidden] BILEREK acikca yaziliyor:
   v8.7 notunda oldugu gibi bilesen display kurallari tarayicinin
   [hidden] varsayilanini ezebiliyor. */
.subtype-chooser[hidden],.subtype-back[hidden],.breadcrumb-sub[hidden]{display:none}
.catalog-product-body h3{font-size:1.16rem}
.subtype-all-row{margin:clamp(16px,2vw,24px) 0 0}
.subtype-all-row em{font-style:normal;opacity:.75}
.subtype-back{display:flex;align-items:center;justify-content:space-between;
  gap:10px 18px;flex-wrap:wrap;margin:0 0 clamp(12px,1.6vw,18px)}
.subtype-back-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;
  padding:0;background:none;border:0;font:inherit;color:inherit;cursor:pointer;
  font-weight:700;font-size:.9rem}
.subtype-back-link .arw{width:18px;height:18px;flex:none}
.subtype-back-link:hover{color:var(--red)}
.subtype-count{margin:0;color:var(--ink-soft);font-size:.93rem}
.breadcrumb-sub{font-size:.72rem;font-weight:800;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-faint)}
.breadcrumb-sub::before{content:"/";margin-right:8px;opacity:.6}

/* --- kabul düzeltmesi 14 Eylül: taşma + kompakt ana sayfa (tek blok) --- */
.catalog-toolbar{width:100%;min-width:0;box-sizing:border-box}
.catalog-toolbar label{flex:0 0 auto}
.catalog-search-wrap{flex:1 1 240px;min-width:0;max-width:min(100%,460px);box-sizing:border-box}
.catalog-search-wrap input{width:100%;min-width:0;box-sizing:border-box}
.catalog-filters{min-width:0;flex-wrap:wrap}
.catalog-chip-group{min-width:0;max-width:100%}
.catalog-chip{flex:0 0 auto;max-width:100%}
.product-listing-hero .container,.product-showcase-layout{min-width:0}
@media (max-width:599.98px){
.catalog-toolbar{gap:6px 10px}
/* Mobil: etiket kendi satırında, arama TAM satır. Bu iki kural daha önce
   dosyanın EN SONUNDA, hiçbir medya sorgusunun içinde olmadan duruyordu;
   masaüstünü de etkiliyordu. Ait olduğu yere alındı. */
.catalog-toolbar label{flex:0 0 100%;margin-bottom:2px}
.catalog-search-wrap{flex:1 1 100%;max-width:none}
.catalog-search-wrap input{min-height:48px;font-size:1rem}
.catalog-filters{flex:1 1 100%;margin-top:4px}
}
body.home-page .v8-hero{padding:clamp(14px,2vw,26px) 0 clamp(16px,2.2vw,30px)}
body.home-page .v8-hero-copy h1{font-size:clamp(1.6rem,2.5vw,2.2rem);margin-bottom:10px}
body.home-page .v8-hero-lede{font-size:clamp(.95rem,1.05vw,1.03rem);margin-bottom:14px;max-width:52ch}
body.home-page .v8-hero-actions{margin-bottom:12px}
body.home-page .v8-hero-actions .btn{min-height:44px}
body.home-page .v8-hero-mosaic{aspect-ratio:16/9}
body.home-page .hero-search{margin-bottom:10px}
body.home-page .hero-search-input,body.home-page .hero-search-btn{height:46px;min-height:46px}
body.home-page .v8-hero-assure{padding-top:10px;gap:6px 16px}
body.home-page .family-card figure img{height:clamp(150px,15vw,200px);object-fit:cover;width:100%}
body.home-page .family-card p{display:none}
body.home-page .home-showcase-card__media{aspect-ratio:1/1;max-height:190px}
body.home-page .home-showcase-card__title{padding:8px 10px;min-height:auto}
body.home-page .home-showcase-card__title span{font-size:.85rem}
body.home-page main>.section{padding:clamp(12px,1.8vw,20px) 0}
body.home-page .sec-head{margin-bottom:10px}
@media (max-width:599.98px){
body.home-page .v8-hero-mosaic{aspect-ratio:4/3}
body.home-page .family-card figure img{height:150px}
body.home-page .home-showcase-card__media{max-height:150px}
}
