:root {
  --paper-width: 210mm;
  --paper-height: 297mm;
  --page-padding: 16mm;
  --ink: #111111;
  --muted: #66605a;
  --line: rgba(17, 17, 17, 0.12);
  --sand: #f2ede5;
  --stone: #d8c7ae;
  --panel: #fffdf9;
  --bg: #e7e1d8;
  --accent: #8f6b46;
  --shadow: 0 22px 50px rgba(32, 26, 18, 0.15);
  --blueprint: rgba(143, 107, 70, 0.07);
  --blueprint-strong: rgba(143, 107, 70, 0.12);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.7), transparent 28%),
    linear-gradient(135deg, #e7ddd0 0%, #d7cec1 100%);
  color: var(--ink);
  font-family: "Avenir Next", "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

img {
  display: block;
  max-width: 100%;
}

figure {
  margin: 0;
}

.toolbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 24px;
  backdrop-filter: blur(16px);
  background: rgba(247, 243, 237, 0.9);
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.toolbar__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.language-select {
  position: relative;
}

.language-select select {
  appearance: none;
  border: 1px solid rgba(17, 17, 17, 0.1);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 242, 234, 0.96)),
    white;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: 999px;
  padding: 12px 40px 12px 16px;
  cursor: pointer;
}

.language-select::after {
  content: "▾";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted);
  pointer-events: none;
  font-size: 12px;
}

.toolbar__brand {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.toolbar__brand span {
  letter-spacing: 0.22em;
  font-size: 12px;
  font-weight: 700;
}

.toolbar__brand small {
  color: var(--muted);
  font-size: 12px;
}

.toolbar__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--ink);
  color: white;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s ease, background 0.2s ease;
}

.toolbar__button:disabled,
.toolbar__button[disabled] {
  opacity: 0.65;
  cursor: not-allowed;
  pointer-events: none;
}

/* Print button loading state */
.toolbar__button.is-loading {
  position: relative;
  cursor: not-allowed;
  opacity: 0.75;
  pointer-events: none;
}

.toolbar__button .btn-spinner {
  display: none;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255,255,255,0.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: btn-spin 0.7s linear infinite;
  flex-shrink: 0;
}

.toolbar__button.is-loading .btn-spinner {
  display: block;
}

@keyframes btn-spin {
  to { transform: rotate(360deg); }
}

/* ─── SCROLL TO TOP BUTTON ─── */
.scroll-top {
  position: fixed;
  right: 28px;
  bottom: 32px;
  z-index: 50;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: var(--ink);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(23, 18, 13, 0.22);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition:
    opacity 0.25s ease,
    visibility 0.25s ease,
    transform 0.25s ease,
    background 0.2s ease;
}

.scroll-top:hover {
  background: #3a2c1f;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(23, 18, 13, 0.28);
}

.scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.scroll-top svg {
  width: 20px;
  height: 20px;
}

@media print {
  .scroll-top { display: none !important; }
}

.toolbar__button svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

/* Print butonundaki ikon */
.toolbar__button .btn-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  transition: opacity 0.15s ease;
}

/* Loading sırasında printer ikonu gizle, spinner çıkar */
.toolbar__button.is-loading .btn-icon {
  display: none;
}

/* ─── RESPONSIVE: küçük ekranlarda sadece ikonlar ─── */
@media (max-width: 680px) {
  .toolbar__button .btn-text,
  #whatsapp-text {
    display: none;
  }

  .toolbar__button {
    padding: 10px 12px;
  }
}

.toolbar__button--whatsapp {
  background: #1f8f55;
}

[dir="rtl"] .toolbar,
[dir="rtl"] .lightbox__header,
[dir="rtl"] .lightbox__footer,
[dir="rtl"] .category-header,
[dir="rtl"] .contact-strip,
[dir="rtl"] .contact-grid {
  direction: rtl;
}

[dir="rtl"] .toolbar__brand,
[dir="rtl"] .body-copy,
[dir="rtl"] .section-intro__panel,
[dir="rtl"] .contact-page__panel,
[dir="rtl"] .category-copy,
[dir="rtl"] .lightbox__header > div {
  text-align: right;
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 180ms ease,
    visibility 180ms ease;
}

.lightbox.is-open {
  opacity: 1;
  visibility: visible;
}

.lightbox__backdrop {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(244, 239, 232, 0.92), rgba(236, 229, 220, 0.86)),
    radial-gradient(circle at top right, rgba(143, 107, 70, 0.12), transparent 26%);
  backdrop-filter: blur(10px);
}

.lightbox__dialog {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 18px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 252, 246, 0.97), rgba(247, 241, 233, 0.99)),
    radial-gradient(circle at top right, rgba(143, 107, 70, 0.1), transparent 24%);
  box-shadow: 0 24px 80px rgba(55, 41, 27, 0.18);
}

.lightbox__header,
.lightbox__footer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.lightbox__eyebrow {
  display: inline-block;
  margin-bottom: 6px;
  color: rgba(111, 93, 73, 0.88);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 10px;
  font-weight: 700;
}

.lightbox__title {
  margin: 0;
  color: #17120d;
  font-family: "Didot", "Bodoni MT", "Times New Roman", serif;
  font-size: 28px;
  line-height: 1.1;
  font-weight: 600;
}

.lightbox__close,
.lightbox__nav {
  border: 0;
  color: #17120d;
  cursor: pointer;
}

.lightbox__close {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(23, 18, 13, 0.06);
  font-size: 28px;
  line-height: 1;
}

.lightbox__stage {
  min-height: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}

.lightbox__figure {
  min-width: 0;
  min-height: 0;
  height: auto;
  display: grid;
  place-items: center;
  padding: 10px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.74), rgba(250, 245, 238, 0.92)),
    rgba(255, 255, 255, 0.42);
}

.lightbox__figure img {
  max-width: min(100%, 960px);
  max-height: calc(100vh - 220px);
  width: auto !important;
  height: auto !important;
  box-shadow: 0 18px 45px rgba(34, 24, 15, 0.12);
}

.lightbox__figure.is-portrait img {
  width: auto !important;
  height: auto !important;
}

.lightbox__figure.is-landscape img,
.lightbox__figure.is-square img {
  width: auto !important;
  height: auto !important;
}

.lightbox__nav {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: rgba(23, 18, 13, 0.06);
  font-size: 36px;
  line-height: 1;
}

.lightbox__counter {
  color: rgba(255, 248, 240, 0.76);
}

#lightbox-counter {
  color: rgba(111, 93, 73, 0.88);
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#catalog {
  width: min(100%, calc(var(--paper-width) + 40px));
  margin: 28px auto 60px;
}

.sheet {
  position: relative;
  width: var(--paper-width);
  min-height: var(--paper-height);
  margin: 0 auto 24px;
  padding: var(--page-padding);
  background:
    linear-gradient(90deg, transparent 24mm, rgba(143, 107, 70, 0.045) 24mm, rgba(143, 107, 70, 0.045) 24.4mm, transparent 24.4mm),
    linear-gradient(var(--blueprint) 1px, transparent 1px),
    linear-gradient(90deg, var(--blueprint) 1px, transparent 1px),
    radial-gradient(circle at 14% 18%, rgba(143, 107, 70, 0.08), transparent 18%),
    radial-gradient(circle at top right, rgba(214, 191, 164, 0.22), transparent 28%),
    radial-gradient(circle at bottom left, rgba(143, 107, 70, 0.08), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 252, 246, 0.98)),
    var(--panel);
  background-size:
    100% 100%,
    18mm 18mm,
    18mm 18mm,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%;
  box-shadow: var(--shadow);
  overflow: hidden;
  page-break-after: always;
  break-after: page;
}

.sheet:last-child {
  page-break-after: auto;
  break-after: auto;
}

.sheet::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(17, 17, 17, 0.08);
  pointer-events: none;
}

.sheet::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 28%;
  background:
    linear-gradient(180deg, transparent, rgba(216, 199, 174, 0.18)),
    linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(143, 107, 70, 0.05), rgba(255, 255, 255, 0)),
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 22mm,
      rgba(143, 107, 70, 0.045) 22mm,
      rgba(143, 107, 70, 0.045) 22.2mm
    );
  pointer-events: none;
}

.sheet__plan {
  position: absolute;
  inset: 14mm 10mm auto auto;
  width: 54mm;
  height: 54mm;
  opacity: 0.35;
  pointer-events: none;
  background:
    linear-gradient(var(--blueprint-strong), var(--blueprint-strong)) 8mm 8mm / 1px 38mm no-repeat,
    linear-gradient(90deg, var(--blueprint-strong), var(--blueprint-strong)) 8mm 8mm / 38mm 1px no-repeat,
    linear-gradient(var(--blueprint-strong), var(--blueprint-strong)) 22mm 8mm / 1px 26mm no-repeat,
    linear-gradient(90deg, var(--blueprint-strong), var(--blueprint-strong)) 8mm 20mm / 14mm 1px no-repeat,
    linear-gradient(90deg, var(--blueprint-strong), var(--blueprint-strong)) 22mm 34mm / 16mm 1px no-repeat,
    linear-gradient(var(--blueprint-strong), var(--blueprint-strong)) 38mm 20mm / 1px 15mm no-repeat,
    radial-gradient(circle at 38mm 20mm, transparent 0 4mm, var(--blueprint-strong) 4mm 4.7mm, transparent 4.7mm),
    radial-gradient(circle at 22mm 34mm, transparent 0 3.6mm, var(--blueprint-strong) 3.6mm 4.2mm, transparent 4.2mm);
}

.sheet__ornament {
  position: absolute;
  inset: 0 auto auto 0;
  width: 60%;
  height: 24%;
  background:
    linear-gradient(120deg, rgba(143, 107, 70, 0.16), transparent 70%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.5), transparent);
  clip-path: polygon(0 0, 100% 0, 72% 100%, 0 68%);
  pointer-events: none;
}

.sheet__page-number {
  position: absolute;
  right: 16mm;
  bottom: 12mm;
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 0.2em;
}

.cover {
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, rgba(255, 255, 255, 0.9), rgba(244, 238, 230, 0.96)),
    linear-gradient(135deg, rgba(143, 107, 70, 0.08), transparent 60%);
}

.cover__content {
  display: grid;
  justify-items: center;
  gap: 14mm;
}

.cover img {
  width: min(68%, 118mm);
}

.cover__tagline {
  margin: 0;
  max-width: 110mm;
  text-align: center;
  font-family: "Didot", "Bodoni MT", "Times New Roman", serif;
  font-size: 28px;
  line-height: 1.35;
  letter-spacing: 0.05em;
  color: #3a2c1f;
}

.profile,
.section-intro,
.contact-page {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
}

.eyebrow {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 11px;
  font-weight: 700;
}

.eyebrow::before {
  content: "";
  width: 42px;
  height: 1px;
  background: currentColor;
}

.title {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 140mm;
  font-family: "Didot", "Bodoni MT", "Times New Roman", serif;
  font-size: 34px;
  line-height: 1.04;
  font-weight: 600;
}

.lead,
.body-copy p,
.section-copy,
.contact-grid p {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: #241f1a;
}

.body-copy {
  display: grid;
  gap: 14px;
  max-width: 146mm;
}

.stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.stat {
  position: relative;
  z-index: 1;
  padding: 16px;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid var(--line);
}

.stat strong {
  display: block;
  margin-bottom: 6px;
  font-size: 22px;
  font-family: "Didot", "Bodoni MT", "Times New Roman", serif;
  font-weight: 700;
}

.stat span {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.5;
}

.contact-strip {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.contact-strip div,
.contact-grid div {
  display: grid;
  gap: 6px;
}

.contact-strip span,
.contact-grid span {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--muted);
}

.contact-strip a,
.contact-grid a {
  color: var(--ink);
  text-decoration: none;
  font-size: 14px;
}

.section-intro__panel {
  position: relative;
  z-index: 1;
  padding: 18px 20px;
  background: rgba(255, 255, 255, 0.72);
  border-left: 3px solid var(--accent);
  max-width: 152mm;
}

.category-page {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 12px;
}

.category-page--interior {
  padding: 7mm 4mm 6mm;
}

.category-page--interior .category-copy {
  max-width: none;
  font-size: 11px;
  line-height: 1.45;
}

.category-header {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: end;
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
}

.category-page--interior .category-header {
  padding-bottom: 6px;
}

.category-page--interior .category-header h2 {
  font-size: 22px;
}

.category-page--interior .category-header span {
  font-size: 9px;
}

.category-header h2 {
  margin: 0;
  font-family: "Didot", "Bodoni MT", "Times New Roman", serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.05;
}

.category-header span {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
}

.category-copy {
  position: relative;
  z-index: 1;
  max-width: 160mm;
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
}

.image-grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 4px;
  height: 100%;
  min-height: 0;
  align-content: stretch;
}

.image-grid--showcase {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.image-grid--showcase .image-card:first-child {
  grid-row: span 2;
}

.image-grid--gallery {
  grid-template-columns: repeat(2, 1fr);
}

.image-grid--gallery.layout-4 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.image-grid--gallery.layout-5 {
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.image-grid--gallery.layout-5 .image-card:first-child,
.image-grid--gallery.layout-5 .image-card:nth-child(2) {
  grid-column: span 3;
}

.image-grid--gallery.layout-5 .image-card:nth-child(n + 3) {
  grid-column: span 2;
}

.image-grid--gallery.layout-3 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.image-grid--gallery.layout-3 .image-card:first-child {
  grid-column: span 2;
}

.image-grid--gallery.layout-2 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: minmax(0, 1fr);
}

.image-grid--gallery.layout-1 {
  grid-template-columns: 1fr;
  grid-template-rows: minmax(0, 1fr);
}

.image-card {
  position: relative;
  height: 100%;
  overflow: hidden;
  background: #ded7cf;
  cursor: zoom-in;
}

.category-page--interior .image-grid {
  gap: 2px;
}

.category-page--interior .image-card {
  border: 1px solid rgba(17, 17, 17, 0.04);
}

.category-page--interior .image-grid--editorial {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  grid-auto-flow: row;
}

.category-page--interior .image-grid--editorial .image-card {
  grid-column: span 1;
  grid-row: span 1;
}

.category-page--interior .image-grid--editorial .image-card--portrait {
  grid-row: span 1;
}

.category-page--interior .image-grid--editorial .image-card--square {
  grid-row: span 1;
}

.category-page--interior .image-grid--editorial .image-card--landscape {
  grid-column: span 1;
  grid-row: span 1;
}

.category-page--interior .image-grid--editorial.layout-1 .image-card {
  grid-column: 1 / -1;
  grid-row: 1 / -1;
}

.category-page--interior .image-grid--editorial.layout-2 .image-card {
  grid-row: 1 / -1;
}

.category-page--interior .image-grid--editorial.layout-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: 1fr;
}

.category-page--interior .image-grid--editorial.layout-3 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: 1.1fr 0.9fr;
}

.category-page--interior .image-grid--editorial.layout-3 .image-card:first-child {
  grid-column: 1 / -1;
  grid-row: 1;
}

.category-page--interior .image-grid--editorial.layout-3 .image-card:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}

.category-page--interior .image-grid--editorial.layout-3 .image-card:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

.category-page--interior .image-grid--editorial.layout-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, 1fr);
}

.category-page--interior .gallery-note {
  display: none;
}

.image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 36%;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.22));
  pointer-events: none;
}

.gallery-note {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.contact-page__panel {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  max-width: 150mm;
}

.contact-page__top {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58mm;
  gap: 18px;
  align-items: start;
}

.qr-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--line);
  justify-items: start;
}

.qr-card__label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--muted);
}

.qr-card__code {
  width: 100%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  padding: 8px;
  background: #ffffff;
  border: 1px solid rgba(17, 17, 17, 0.1);
}

.qr-card__code img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.qr-card__message {
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
  color: #241f1a;
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 24px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

@media (max-width: 900px) {
  .toolbar {
    padding: 14px 16px;
  }

  .lightbox {
    padding: 12px;
  }

  .lightbox__dialog {
    width: min(100vw - 24px, 1120px);
    max-height: calc(100vh - 24px);
    padding: 16px;
    gap: 12px;
  }

  .lightbox__title {
    font-size: 22px;
  }

  .lightbox__stage {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .lightbox__figure {
    order: 1;
    height: auto;
  }

  .lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
  }

  .lightbox__nav--prev {
    left: 12px;
  }

  .lightbox__nav--next {
    right: 12px;
  }

  #catalog {
    width: 100%;
    margin: 12px 0 40px;
  }

  .sheet {
    width: 100%;
    min-height: auto;
    aspect-ratio: 210 / 297;
    margin-bottom: 12px;
    padding: 5.5vw;
  }

  .sheet.profile,
  .sheet.section-intro,
  .sheet.contact-page {
    aspect-ratio: auto;
    min-height: auto;
  }

  .category-page--interior {
    padding: 4vw 2vw;
  }

  .title {
    font-size: 19px;
    line-height: 1.1;
    max-width: 100%;
  }

  .cover__content {
    gap: 7vw;
  }

  .cover img {
    width: min(58%, 88mm);
  }

  .cover__tagline {
    max-width: 78mm;
    font-size: 18px;
    line-height: 1.28;
  }

  .eyebrow {
    margin-bottom: 8px;
    font-size: 9px;
    letter-spacing: 0.16em;
  }

  .eyebrow::before {
    width: 28px;
  }

  .lead,
  .body-copy p,
  .section-copy,
  .contact-grid p,
  .contact-strip a,
  .contact-grid a {
    font-size: 10px;
    line-height: 1.6;
  }

  .body-copy {
    gap: 8px;
  }

  .stat {
    padding: 10px;
  }

  .stat strong {
    font-size: 16px;
    margin-bottom: 4px;
  }

  .stat span,
  .contact-strip span,
  .contact-grid span,
  .qr-card__label {
    font-size: 8px;
    letter-spacing: 0.12em;
  }

  .stats {
    gap: 8px;
  }

  .contact-strip,
  .contact-grid {
    gap: 10px;
  }

  .contact-page__panel {
    gap: 10px;
  }

  .qr-card {
    gap: 8px;
    padding: 8px;
  }

  .qr-card__message {
    font-size: 9px;
    line-height: 1.4;
  }

  .qr-card__code {
    padding: 6px;
  }

  .stats,
  .contact-strip,
  .contact-grid,
  .contact-page__top {
    grid-template-columns: 1fr;
  }

  .image-grid--gallery {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 24vw;
    height: auto;
  }

  .image-grid--showcase {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 24vw;
    height: auto;
  }

  .category-page--interior .image-grid--editorial {
    height: auto;
  }

  .image-grid--showcase .image-card:first-child,
  .image-grid--gallery.layout-5 .image-card:first-child,
  .image-grid--gallery.layout-5 .image-card:nth-child(2),
  .image-grid--gallery.layout-5 .image-card:nth-child(n + 3) {
    grid-column: auto;
    grid-row: auto;
  }
}

@media print {
  @page {
    size: A4 portrait;
    margin: 0;
  }

  html, body {
    width: 210mm;
    height: 297mm;
    background: white !important;
    color: #111111;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .toolbar {
    display: none !important;
  }

  .lightbox {
    display: none !important;
  }

  #catalog {
    width: 210mm !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .sheet {
    width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    padding: 16mm !important;
    box-shadow: none !important;
    background: #fffdf9 !important;
    border: none !important;
    overflow: hidden !important;
    page-break-after: always !important;
    break-after: page !important;
    /* Flex layout: section-intro, profile, contact-page dahil tüm sayfa türleri için genel */
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 16px !important;
  }

  /* category-page sayfaları: image-grid kalan alanı kaplasın */
  .sheet.category-page,
  .sheet.category-page--interior {
    display: grid !important;
    flex-direction: unset !important;
    justify-content: unset !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  /* Cover sayfası: içeriği tam ortala (dikey + yatay) */
  .sheet.cover {
    display: grid !important;
    place-items: center !important;
    flex-direction: unset !important;
    justify-content: unset !important;
    gap: 0 !important;
    padding: 16mm !important;
  }

  /* Interior sayfaları için azaltılmış padding */
  .sheet.category-page--interior {
    padding: 7mm 8mm 6mm !important;
  }

  .sheet:last-child {
    page-break-after: auto !important;
    break-after: auto !important;
  }

  .sheet::before { display: none !important; }
  .sheet::after  { display: none !important; }

  /* ─── DEKORATIF ELEMANLAR ─── */
  .sheet__ornament {
    background: linear-gradient(120deg, rgba(143, 107, 70, 0.14), rgba(255, 255, 255, 0)) !important;
    opacity: 1;
  }

  .sheet__plan { opacity: 0.22; }

  .section-intro__panel,
  .stat {
    background: #f8f4ee !important;
    border: 1px solid rgba(17, 17, 17, 0.12) !important;
  }

  /* Keep stats as 3-column grid in print */
  .stats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* Keep contact-strip as 3-column grid in print */
  .contact-strip {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .contact-strip,
  .category-header,
  .gallery-note,
  .sheet__plan { opacity: 0.22; }

  /* ─── TYPOGRAPHY & LINK COLORS ─── */
  .title {
    font-size: 28px !important;
  }

  /* Link renkleri print'te miras alınsın (browser extension etkisini minimize et) */
  a, a:visited, a:link {
    color: inherit !important;
    text-decoration: none !important;
  }

  .eyebrow,
  .category-header span,
  .gallery-note,
  .sheet__page-number,
  .contact-strip span,
  .contact-grid span,
  .stat span {
    color: #6f5d49 !important;
  }

  .title,
  .category-header h2,
  .lead,
  .body-copy p,
  .section-copy,
  .category-copy,
  .contact-strip a,
  .contact-grid a,
  .stat strong {
    color: #111111 !important;
  }

  /* ─── STAT / PANEL KUTULARI ─── */
  .section-intro__panel,
  .stat {
    background: #f8f4ee !important;
    border: 1px solid rgba(17, 17, 17, 0.12) !important;
  }

  /* ─── GRID DÜZELTMELERI: mobil CSS'in 1-sütun yapmasını engelle ─── */
  .stats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .contact-strip {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .contact-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px 24px !important;
  }

  .contact-page__top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 58mm !important;
    gap: 18px !important;
    align-items: start !important;
  }

  .qr-card {
    background: #f8f4ee !important;
    border: 1px solid rgba(17, 17, 17, 0.12) !important;
    padding: 10px !important;
  }

  .qr-card__message {
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  /* ─── CATEGORY-PAGE LAYOUT ─── */
  .category-page {
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .category-page--interior .category-copy {
    font-size: 11px !important;
    line-height: 1.45 !important;
    max-height: 28mm !important;
    overflow: hidden !important;
  }

  /* ─── FURNITURE GALLERY: image-grid (layout-N, max 4 resim/sayfa) ─── */
  .image-grid--gallery {
    display: grid !important;
    height: 100% !important;
    min-height: 0 !important;
    gap: 3px !important;
  }

  .image-grid--gallery.layout-1 {
    grid-template-columns: 1fr !important;
    grid-template-rows: 1fr !important;
  }

  .image-grid--gallery.layout-2 {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: 1fr !important;
  }

  .image-grid--gallery.layout-3 {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: 1.15fr 0.85fr !important;
  }

  .image-grid--gallery.layout-3 .image-card:first-child {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  .image-grid--gallery.layout-3 .image-card:nth-child(2) {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .image-grid--gallery.layout-3 .image-card:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  /* layout-4: 2×2 simetrik grid — her sayfada en fazla 4 resim */
  .image-grid--gallery.layout-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(2, 1fr) !important;
  }

  /* legacy layout-5 ve layout-6 — artık kullanılmıyor ama uyumluluk için */
  .image-grid--gallery.layout-5,
  .image-grid--gallery.layout-6 {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(2, 1fr) !important;
  }

  /* ─── INTERIOR EDITORIAL GRID ─── */
  .category-page--interior .image-grid--editorial {
    display: grid !important;
    height: 100% !important;
    min-height: 0 !important;
    gap: 2px !important;
  }

  .category-page--interior .image-grid--editorial.layout-1 {
    grid-template-columns: 1fr !important;
    grid-template-rows: 1fr !important;
  }

  .category-page--interior .image-grid--editorial.layout-1 .image-card {
    grid-column: 1 / -1 !important;
    grid-row: 1 / -1 !important;
  }

  .category-page--interior .image-grid--editorial.layout-2 {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: 1fr !important;
  }

  .category-page--interior .image-grid--editorial.layout-2 .image-card {
    grid-row: 1 / -1 !important;
  }

  .category-page--interior .image-grid--editorial.layout-3 {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: 1.1fr 0.9fr !important;
  }

  .category-page--interior .image-grid--editorial.layout-3 .image-card:first-child {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  .category-page--interior .image-grid--editorial.layout-3 .image-card:nth-child(2) {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .category-page--interior .image-grid--editorial.layout-3 .image-card:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .category-page--interior .image-grid--editorial.layout-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(2, 1fr) !important;
  }

  .category-page--interior .image-grid--editorial.layout-4 .image-card {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
  }

  .category-page--interior .gallery-note {
    display: none !important;
  }

  /* ─── IMAGE CARD ─── */
  .image-card {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .image-card::after {
    display: none !important;
  }

  .image-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }
}
