* { margin: 0; padding: 0; box-sizing: border-box; }

:root{
  --bg-light:#f8f9fa; --bg-white:#fff;
  --text-dark:#1a202c; --text-gray:#4a5568; --text-light:#718096;
  --accent:#d4af37; --border:#e2e8f0;
  --shadow:0 4px 6px rgba(0,0,0,.05); --shadow-lg:0 10px 25px rgba(0,0,0,.1);
}

body{
  font-family:'Inter',sans-serif;
  background:var(--bg-light); color:var(--text-dark);
  line-height:1.6; scroll-behavior:smooth; padding-top:70px; /* sticky bar alanÄ± */
}

/* ===== STICKY TOP BAR (tek) ===== */
.sticky-top-bar{
  position:fixed; inset:0 0 auto 0; height:70px;
  background:rgba(15,15,15,.95); backdrop-filter:blur(15px);
  border-bottom:1px solid rgba(212,175,55,.3); z-index:1000;
  transition:transform .3s ease;
}
.sticky-top-bar.hidden{ transform:translateY(-100%); }

.top-bar-container{
  max-width:100%; height:100%; margin:0 auto; padding:0 2rem;
  display:flex; align-items:center; justify-content:space-between;
}
.top-bar-brand{ display:flex; align-items:center; gap:12px; color:#fff; }
.top-bar-brand img{ height:36px; width:auto; filter:brightness(0) invert(1); }
.top-bar-brand-text{ font-family:'Playfair Display',serif; font-size:1.1rem; font-weight:600; }

.top-bar-middle{ display:flex; align-items:center; gap:20px; }
.top-bar-page-info{
  background:var(--accent); color:var(--text-dark);
  padding:8px 16px; border-radius:20px; font-weight:600; font-size:.9rem;
}
.top-bar-progress{ width:120px; height:4px; background:rgba(255,255,255,.2); border-radius:2px; overflow:hidden; }
.top-bar-progress-fill{ height:100%; background:linear-gradient(90deg,var(--accent),#f0c674); width:0%; transition:width .3s ease; }
.top-bar-actions{ display:flex; align-items:center; }
.top-bar-controls{ display:flex; align-items:center; gap:15px; }
.top-bar-btn{
  background:rgba(255,255,255,.1); border:none; color:#fff;
  padding:8px 12px; border-radius:6px; cursor:pointer; transition:all .2s ease; font-size:.9rem;
}
.top-bar-btn:hover{ background:rgba(255,255,255,.2); }
.top-bar-btn.active{ background:var(--accent); color:var(--text-dark); }

/* ===== Dil SeÃ§ici (tek tanÄ±m) ===== */
.language-selector{
  background:rgba(255,255,255,.1); backdrop-filter:blur(10px);
  border-radius:8px; padding:.3rem; border:1px solid rgba(212,175,55,.3); position:relative;
}
.lang-toggle{
  background:none; border:none; color:#fff; padding:.5rem .8rem; cursor:pointer;
  border-radius:6px; transition:all .2s ease; font-size:.85rem; font-weight:500;
  display:flex; align-items:center; gap:.5rem;
}
.lang-toggle:hover{ background:rgba(255,255,255,.1); }
.lang-toggle.active{ background:var(--accent); color:var(--text-dark); }
.lang-dropdown{
  position:absolute; top:100%; right:0; margin-top:.5rem; min-width:120px;
  background:rgba(15,15,15,.95); backdrop-filter:blur(15px); border-radius:8px;
  opacity:0; visibility:hidden; transform:translateY(-10px); transition:all .3s ease;
  border:1px solid rgba(212,175,55,.2); box-shadow:0 8px 25px rgba(0,0,0,.3); z-index:1001;
}
.lang-dropdown.show{ opacity:1; visibility:visible; transform:translateY(0); }
.lang-option{
  display:flex; align-items:center; gap:.5rem; width:100%;
  padding:.8rem; background:none; border:none; color:#fff; text-align:left; cursor:pointer;
  transition:all .2s ease; font-size:.85rem; text-decoration:none;
}
.lang-option:hover{ background:rgba(212,175,55,.2); }
.lang-option:first-child{ border-radius:8px 8px 0 0; }
.lang-option:last-child{ border-radius:0 0 8px 8px; }
.lang-flag{ font-size:1rem; }

/* ===== Loading / AJAX overlay ===== */
.loading{
  position:fixed; inset:0; background:var(--bg-light);
  display:flex; align-items:center; justify-content:center; z-index:9999;
  transition:opacity .5s ease, visibility .5s ease;
}
.loading.hidden{ opacity:0; visibility:hidden; }
.spinner{
  width:40px; height:40px; border:3px solid var(--border); border-top:3px solid var(--accent);
  border-radius:50%; animation:spin 1s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }

.ajax-loading{
  position:fixed; inset:0; background:rgba(0,0,0,.5);
  display:flex; align-items:center; justify-content:center; z-index:9999;
  opacity:0; visibility:hidden; transition:all .3s ease;
}
.ajax-loading.show{ opacity:1; visibility:visible; }
.ajax-spinner{
  background:#fff; padding:2rem; border-radius:12px; text-align:center; box-shadow:0 10px 30px rgba(0,0,0,.3);
}
.ajax-spinner .spinner{ width:30px; height:30px; margin:0 auto 1rem; }

/* ===== Catalog / Page ===== */
.catalog{ width:100%; margin:0; background:var(--bg-light); min-height:100vh; padding:2rem; }

.page{
  background:var(--bg-white); margin:2rem auto; padding:0;
  box-shadow:var(--shadow-lg); border-radius:16px; position:relative;
  aspect-ratio:16/9; max-width:100%; width:100%; overflow:hidden; border:1px solid var(--border);
}
.page:first-of-type{ margin-top:1rem; }

.page-number{
  position:absolute; bottom:1rem; left:50%; transform:translateX(-50%);
  background:rgba(0,0,0,.1); backdrop-filter:blur(10px);
  padding:.5rem 1rem; border-radius:20px; font-size:.8rem; color:var(--text-dark); font-weight:500;
}

/* ===== Covers ===== */
.cover-page{ background:linear-gradient(135deg,var(--text-dark) 0%, #2d3748 100%); color:#fff; }
.cover-page .page-number{ display:none; }
.cover-content{ position:relative; width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.cover-background{ position:absolute; inset:0; overflow:hidden; }
.cover-pattern{
  position:absolute; inset:0;
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="20" height="20" patternUnits="userSpaceOnUse"><path d="M 20 0 L 0 0 0 20" fill="none" stroke="rgba(212,175,55,0.1)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');
}
.front-cover .cover-main{ text-align:center; z-index:2; position:relative; max-width:600px; padding:2rem; }
.cover-logo{ margin-bottom:2rem; }
.logo-img{ max-width:200px; height:auto; filter:brightness(0) invert(1); }
.cover-title{
  font-family:'Playfair Display',serif; font-size:3.5rem; margin-bottom:1rem; font-weight:700;
  background:linear-gradient(45deg,#fff,var(--accent)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.cover-subtitle{ font-size:1.3rem; margin-bottom:2rem; opacity:.9; font-weight:300; }
.cover-year{ font-size:1.1rem; color:var(--accent); font-weight:600; margin-bottom:3rem; }

.back-cover{ background:linear-gradient(135deg,#2d3748 0%, var(--text-dark) 100%); color:#fff; }
.back-cover-main{ display:grid; grid-template-rows:1fr auto auto; height:100%; padding:3rem; gap:2rem; z-index:2; position:relative; }
.contact-section{text-align:center;}
.contact-title{ font-family:'Playfair Display',serif; font-size:2.5rem; margin-bottom:2rem; color:var(--accent); }
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; max-width:600px; margin:0 auto; }
.contact-item{
  display:flex; align-items:center; gap:1rem; background:rgba(255,255,255,.1); padding:1.5rem; border-radius:12px;
  backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.1);
}
.contact-item i{ font-size:1.5rem; color:var(--accent); width:30px; flex-shrink:0; }
.contact-info h4{ margin:0 0 .3rem 0; font-size:.9rem; color:var(--accent); font-weight:600; }
.contact-info p{ margin:0; font-size:.95rem; opacity:.9; }

.social-section{text-align:center;}
.social-section h3{ margin-bottom:1rem; font-size:1.2rem; opacity:.9; }
.social-links{ display:flex; justify-content:center; gap:1rem; }
.social-link{
  display:flex; align-items:center; justify-content:center; width:45px; height:45px;
  background:rgba(255,255,255,.1); color:#fff; border-radius:50%; text-decoration:none;
  transition:all .3s ease; backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.1);
}
.social-link:hover{ background:var(--accent); transform:translateY(-3px); box-shadow:0 8px 25px rgba(212,175,55,.3); }
.social-link i{ font-size:1.1rem; }
.back-cover-footer{text-align:center; opacity:.8; }
.back-logo{ margin-bottom:1rem; }
.logo-img-small{ max-width:120px; height:auto; filter:brightness(0) invert(1); }
.back-cover-footer .copyright{ font-size:.9rem; margin:0; }

/* ===== Product Layout ===== */
.product{ display:grid; grid-template-columns:1fr 1fr; height:100%; }
.product-image{
  position:relative; background:linear-gradient(135deg,#f8f9fa 0%, #e9ecef 100%);
  display:flex; align-items:center; justify-content:center; border-radius:16px 0 0 16px;
}
.product-img{
  width:90%; height:90%; object-fit:cover; border-radius:12px; box-shadow:0 20px 40px rgba(0,0,0,.1); user-select:none;
}
.image-overlay{
  position:absolute; top:2rem; left:2rem; background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px); padding:1rem 1.5rem; border-radius:12px; box-shadow:0 8px 25px rgba(0,0,0,.1);
  border:1px solid rgba(255,255,255,.2);
}
.product-category{
  font-size:.75rem; text-transform:uppercase; letter-spacing:1.5px; color:var(--accent);
  margin-bottom:.5rem; font-weight:600;
}
.product-name{
  font-family:'Playfair Display',serif; font-size:1.25rem; font-weight:600; line-height:1.2; margin:0; color:var(--text-dark);
}
.product-details{
  padding: 2rem;
  display:flex;
  flex-direction:column;
  justify-content: flex-start;
  background:var(--bg-white);
  border-radius:0 16px 16px 0;
  border-left:3px solid var(--accent);
}
.product-title{
  font-family:'Playfair Display',serif; font-size:2rem; color:var(--text-dark); margin-bottom:1.5rem; font-weight:600; line-height:1.2; position:relative;
}
.product-title::after{ content:''; position:absolute; bottom:-.5rem; left:0; width:60px; height:3px; background:var(--accent); border-radius:2px; }
.description{ font-size:.95rem; line-height:1.7; color:var(--text-gray); }
.description p{ margin-bottom:1rem; }
.description p:first-child{ font-weight:500; color:var(--text-dark); font-size:1rem; }
.description p:last-child{ margin-bottom:0; }
.description ul,.description ol{margin: .4rem 0;padding-left:1.5rem;}
.description li{/* margin-bottom:.5rem; */}
.description strong,.description b{ color:var(--text-dark); font-weight:600; }
.description em,.description i{ color:var(--text-gray); }

/* ===== Back to Top ===== */
.back-to-top{
  position:fixed; bottom:2rem; right:2rem; width:50px; height:50px;
  background:var(--accent); color:#fff; border:none; border-radius:50%; cursor:pointer;
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-lg);
  opacity:0; transform:translateY(20px); transition:all .3s ease; z-index:1000;
}
.back-to-top.visible{ opacity:1; transform:translateY(0); }
.back-to-top:hover{ transform:translateY(-3px); box-shadow:0 15px 35px rgba(212,175,55,.4); }

/* ===== Footer ===== */
.footer{
  background:var(--text-dark); color:#fff; text-align:center; padding:3rem 2rem;
  margin:3rem auto 0; max-width:1200px; border-radius:16px; box-shadow:var(--shadow-lg);
}
.footer h3{ margin-bottom:1rem; font-family:'Playfair Display',serif; }
.footer p{ opacity:.8; margin-bottom:.5rem; }
.footer .copyright{ color:var(--accent); margin-top:1rem; }

/* ===== Error Page ===== */
.error{
  display:flex; align-items:center; justify-content:center; min-height:100vh; text-align:center; background:var(--bg-light);
}
.error-content{
  background:var(--bg-white); padding:3rem; border-radius:16px; box-shadow:var(--shadow-lg); max-width:500px; margin:2rem;
}
.error-icon{ font-size:3rem; margin-bottom:1.5rem; color:var(--accent); }
.error h2{ margin-bottom:1rem; color:var(--text-dark); }
.error p{ margin-bottom:2rem; color:var(--text-gray); }
.retry-btn{
  background:var(--accent); color:#fff; border:none; padding:.8rem 2rem; border-radius:8px; cursor:pointer; font-weight:500; transition:all .2s ease;
}
.retry-btn:hover{ transform:translateY(-2px); box-shadow:0 8px 25px rgba(212,175,55,.3); }

/* ===== Focus gÃ¶rÃ¼nÃ¼rlÃ¼ÄŸÃ¼ (eriÅŸilebilirlik) ===== */
a:focus-visible, button:focus-visible, .lang-toggle:focus-visible, .lang-option:focus-visible, .top-bar-btn:focus-visible, .back-to-top:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px;
}

/* ===== Responsive ===== */
/* Tablet */
@media (max-width: 1024px){
  .catalog{ padding: 1rem; }
  .page{ aspect-ratio: 4/3; border-radius: 12px; }
  .product{
    grid-template-columns: 1fr;      /* tek kolon */
    grid-template-rows: auto auto;   /* Ã¶nce gÃ¶rsel, sonra iÃ§erik */
}
.product-image{
    border-radius: 12px 12px 0 0;
    padding: 1.25rem 0;
}
.product-img{
    width: 88%; height: auto; max-height: 55vh; object-fit: contain;
}
.product-details{
    border-radius: 0 0 12px 12px;
    border-left: none; border-top: 3px solid var(--accent);
    padding: 2rem 1.5rem;
}
.product-title{ font-size: 1.6rem; }
.description{ font-size: 1rem; line-height: 1.7; }
}

/* Mobil */
@media (max-width: 768px){
  .top-bar-container{ padding: 0 1rem; }
  .top-bar-page-info{ font-size: .85rem; padding: 6px 12px; }
  .top-bar-progress{ width: 80px; }

  .catalog{ padding: .5rem; }
  .page{
    aspect-ratio: auto;      /* mobilde serbest yÃ¼kseklik */
    min-height: 70vh;        /* Ã§ok kÄ±sa kalmasÄ±n */
    margin: 1rem auto;
}
.image-overlay{             /* mobilde etiket daha kompakt */
    top: .75rem; left: .75rem; padding: .6rem .8rem;
}
.product-name{ font-size: 1.05rem; }
.product-title{ font-size: 1.4rem; }
.description p{ margin-bottom: .8rem; }
.description ul, .description ol{ margin: .8rem 0; padding-left: 1.25rem; }
.top-bar-middle {display: none!important;}
}

/* ===== Print ===== */
/* YazdÄ±rma kalitesi ve renkleri koru */
*{
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;   /* modern tarayÄ±cÄ±lar */
}

/* A4 yatay, dar fakat temiz kenar boÅŸluklarÄ± */
@page{
  size: A4 landscape;          /* 297mm x 210mm */
  margin: 10mm;                /* dÄ±ÅŸ kenar boÅŸluklarÄ± */
}

/* YazdÄ±rmada sadece iÃ§erik; UI elemanlarÄ±nÄ± gizle */
@media print{
  /* UI ve overlayâ€™leri kapat */
  .sticky-top-bar, .top-bar, .back-to-top, .loading, .ajax-loading{ display:none !important; }

  /* Sayfa: A4 yatay Ã¶lÃ§Ã¼ye oturt, bir Ã¼rÃ¼nÃ¼ bir sayfaya yerleÅŸtir */
  .page{
    /* Ekran gÃ¶lgesini/borderâ€™Ä± kaldÄ±r, beyaz zemin */
    box-shadow: none !important;
    border: none !important;
    background: #fff !important;

    /* A4 iÃ§i yerleÅŸim (marginleri @page belirliyor) */
    width: 277mm;              /* 297 - 2*10mm margin iÃ§inde rahat otursun */
    height: 190mm;             /* 210 - 2*10mm */
    margin: 0 auto 0 auto !important;

    /* EÅŸit / stabil akÄ±ÅŸ */
    display: block;
    break-after: page;         /* her .page sonrasÄ± yeni sayfa */
    page-break-after: always;  /* eski tarayÄ±cÄ± uyumu */
}

/* Numerasyon balonunu istersen gÃ¶sterme (tercih: profesyonel PDFâ€™de kaldÄ±r) */
.page-number{ display: none !important; }

/* ÃœrÃ¼n yerleÅŸimi: solda gÃ¶rsel, saÄŸda metin */
.product{
    display: grid !important;
    grid-template-columns: 48% 52% !important;
    grid-template-rows: 1fr !important;
    align-items: center;
    gap: 0 !important;
    height: 100%;
}

/* GÃ¶rsel alanÄ±: taÅŸmadan bÃ¼yÃ¼k gÃ¶rsel */
.product-image{
    padding: 0 !important;
    display: flex; align-items: center; justify-content: center;
    background: #fff !important;          /* degrade kaldÄ±r; â€œflatâ€ Ã§Ä±ktÄ± */
}
.product-img{
    width: 95% !important;
    height: auto !important;
    max-height: 170mm !important;         /* sayfa yÃ¼ksekliÄŸine gÃ¶re limit */
    object-fit: contain !important;
    border-radius: 6px !important;
    box-shadow: none !important;          /* flat Ã§Ä±ktÄ± */
}

/* Ä°Ã§erik alanÄ±: tipografi ve boÅŸluklar */
.product-details{
    border: none !important;
    padding: 12mm 12mm 12mm 10mm !important; /* iÃ§ boÅŸluklar mm bazÄ±nda */
    background: #fff !important;
}
.product-title{
    font-family: 'Playfair Display', serif;
    font-size: 18pt !important;           /* yazÄ±cÄ± dostu pt */
    color: #000 !important;
    margin: 0 0 8pt 0 !important;
}
.product-title::after{ display: none !important; } /* alt Ã§izgiyi kaldÄ±r, flat */

.description{
    font-size: 11pt !important;
    line-height: 1.5 !important;
    color: #111 !important;
}
.description p{ margin: 0 0 8pt 0 !important; }
.description ul, .description ol{
    margin: 8pt 0 8pt 0 !important;
    padding-left: 16pt !important;
}

/* Sayfalar arasÄ± taÅŸmayÄ± engelle (riskli uzun iÃ§erikte yumuÅŸak kÄ±rÄ±lma) */
.product, .product-details, .description{
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
}

/* Kapak sayfalarÄ± yazdÄ±rÄ±lsÄ±n ama flat */
.cover-page, .back-cover{
    background: #fff !important;
    color: #000 !important;
}
.cover-pattern{ display: none !important; } /* â€œflatâ€ PDF gÃ¶rÃ¼nÃ¼mÃ¼ */
.logo-img, .logo-img-small{ filter: none !important; }
}


/* ===== Reduce Motion ===== */
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

#goog-gt-tt,
.goog-te-banner-frame,
.goog-te-balloon-frame {
  display: none !important;
}

/* Google, banner açıldığında body'ye top ekleyebiliyor; sıfırla */
body {
  top: 0 !important;
}

/* Google'ın otomatik vurgusunu kapat (göz yormasın) */
.goog-text-highlight {
  background: transparent !important;
  box-shadow: none !important;
}

/* Widget'ın kendisini kendi kapsayıcın içinde minimal göster */
.skiptranslate iframe { display: none !important; }