/* ============================================================
   MAVİ RESTAURANT — page-template.css
   Tüm sayfalarda kullanılabilecek içerik + sidebar şablonu
   ============================================================ */

/* ── PAGE HERO ──────────────────────────────────────────────── */
.pt-hero {
  position:relative;
  min-height:56vh;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  overflow:hidden; background:var(--navy);
  text-align:center;
}
.pt-hero-bg {
  position:absolute; inset:0;
  background:url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?w=1800&q=85') center/cover no-repeat;
  animation:hzoom 18s ease-in-out infinite alternate;
}
.pt-hero-ov {
  position:absolute; inset:0;
  background:linear-gradient(to bottom,rgba(8,15,26,.65) 0%,rgba(8,15,26,.82) 70%,rgba(8,15,26,.95) 100%);
}
.pt-hero-content {
  position:relative; z-index:2;
  padding:10rem 1.5rem 3.5rem;
  max-width:760px;
}

/* Eyebrow — çift çizgili */
.pt-eyebrow {
  display:flex; align-items:center; justify-content:center; gap:16px;
  font-size:.68rem; font-weight:500; letter-spacing:.4em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.4rem;
  opacity:0; animation:fu .9s .3s forwards;
}
.pt-eyebrow span { width:36px; height:1px; background:var(--gold); display:inline-block; flex-shrink:0; }

.pt-hero-title {
  font-family:var(--serif);
  font-size:clamp(2.8rem,6vw,5.2rem);
  font-weight:300; line-height:1.1; color:#fff;
  margin-bottom:1.2rem;
  opacity:0; animation:fu 1s .5s forwards;
}
.pt-hero-title em { font-style:italic; color:var(--foam); }

.pt-hero-sub {
  font-size:1rem; font-weight:300; color:rgba(255,255,255,.62); line-height:1.8;
  opacity:0; animation:fu 1s .7s forwards;
}

/* Breadcrumb */
.pt-breadcrumb {
  position:relative; z-index:2;
  display:flex; align-items:center; justify-content:center; gap:.5rem; flex-wrap:wrap;
  font-size:.68rem; font-weight:500; letter-spacing:.15em; text-transform:uppercase;
  padding-bottom:3rem;
  opacity:0; animation:fu .8s .9s forwards;
}
.pt-breadcrumb a { color:rgba(255,255,255,.4); text-decoration:none; transition:color .3s; }
.pt-breadcrumb a:hover { color:var(--gold); }
.pt-breadcrumb i { color:rgba(255,255,255,.22); font-size:.55rem; }
.pt-breadcrumb span { color:var(--gold); }

.pt-wave { position:absolute; bottom:-2px; left:0; right:0; z-index:3; line-height:0; }

/* ── BODY ───────────────────────────────────────────────────── */
.pt-body { background:var(--warm); padding:5rem 0 6rem; }

/* ── CONTENT SOL ────────────────────────────────────────────── */
.pt-content { padding-right:1rem; }

/* Kapak fotoğrafı */
.pt-cover-img {
  border-radius:var(--radius); overflow:hidden;
  margin-bottom:2.8rem;
  box-shadow:var(--shadow-deep);
}
.pt-cover-img img { width:100%; height:100%; object-fit:cover; display:block; }

/* İçerik başlığı */
.pt-content-header { margin-bottom:2rem; }

/* Prose */
.pt-prose { max-width:100%; }
.pt-lead {
  font-family:var(--serif); font-size:1.22rem; font-weight:300;
  color:var(--navy); line-height:1.78; margin-bottom:1.4rem;
}
.pt-prose p {
  font-size:.97rem; color:var(--text-mid); line-height:1.88; margin-bottom:1.2rem;
}

/* Alıntı */
.pt-blockquote {
  margin:2.5rem 0; padding:1.6rem 1.8rem;
  border-left:3px solid var(--gold);
  background:rgba(201,168,76,.05);
  border-radius:0 var(--radius) var(--radius) 0;
}
.pt-blockquote i { font-size:1.6rem; color:var(--gold); opacity:.45; display:block; margin-bottom:.4rem; }
.pt-blockquote p {
  font-family:var(--serif); font-size:1.12rem; font-style:italic;
  color:var(--navy); line-height:1.75; margin:0 0 .6rem;
}
.pt-blockquote cite {
  font-size:.72rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--teal); font-style:normal;
}

/* İçerik içi fotoğraf */
.pt-inline-img {
  margin:2.2rem 0; border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow-soft);
}
.pt-inline-img img { width:100%; display:block; object-fit:cover; max-height:420px; }
.pt-img-caption {
  font-size:.75rem; color:var(--text-light); text-align:center;
  padding:.6rem 1rem; background:var(--sand);
  margin:0; font-style:italic;
}

/* Liste */
.pt-list {
  list-style:none; padding:0; margin:1.4rem 0 1.6rem;
  display:flex; flex-direction:column; gap:.7rem;
}
.pt-list li {
  display:flex; align-items:flex-start; gap:.75rem;
  font-size:.95rem; color:var(--text-mid); line-height:1.6;
  padding:.6rem .9rem; background:rgba(46,139,139,.05);
  border-left:2px solid var(--teal); border-radius:0 var(--radius) var(--radius) 0;
}
.pt-list li::before {
  content:'\bi-check-lg'; font-family:'bootstrap-icons';
  color:var(--teal); font-size:.9rem; flex-shrink:0; margin-top:1px;
}

/* Etiketler */
.pt-tags {
  display:flex; flex-wrap:wrap; gap:.5rem;
  margin-top:2.5rem; padding-top:1.5rem;
  border-top:1px solid rgba(0,0,0,.08);
}
.pt-tags span {
  font-size:.68rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  color:var(--text-mid); border:1px solid rgba(0,0,0,.14);
  padding:.3rem .85rem; border-radius:2px;
  transition:all .3s; cursor:default;
}
.pt-tags span:hover { background:var(--navy); border-color:var(--navy); color:#fff; }

/* ── SIDEBAR ────────────────────────────────────────────────── */
.pt-sidebar { position:relative; }

/* Sticky sidebar */
@media(min-width:992px) {
  .pt-sidebar-inner { position:sticky; top:100px; }
}

/* Widget genel */
.pt-widget {
  background:#fff;
  border:1px solid rgba(0,0,0,.07);
  border-radius:var(--radius);
  padding:1.6rem 1.5rem;
  margin-bottom:1.5rem;
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  position:relative;
}
.pt-widget::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--teal), transparent);
}
.pt-widget--dark {
  background:linear-gradient(145deg, var(--navy) 0%, var(--deep) 100%);
  border:none;
}
.pt-widget--dark::before {
  background:linear-gradient(90deg, var(--gold), transparent);
}
.pt-widget-title {
  font-family:var(--sans); font-size:.68rem; font-weight:600;
  letter-spacing:.28em; text-transform:uppercase; color:var(--teal);
  margin-bottom:1.2rem; padding-bottom:.7rem;
  border-bottom:1px solid rgba(0,0,0,.07);
}
.pt-wt-light { color:var(--gold) !important; border-bottom-color:rgba(255,255,255,.1) !important; }
.pt-widget-icon { font-size:2rem; color:var(--gold); margin-bottom:.8rem; display:block; }
.pt-widget-sub { font-size:.85rem; color:rgba(255,255,255,.52); line-height:1.65; margin-bottom:1.3rem; }
.pt-widget-more {
  display:inline-flex; align-items:center; gap:.3rem;
  font-size:.72rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase;
  color:var(--teal); text-decoration:none; margin-top:1rem;
  transition:gap .3s;
}
.pt-widget-more:hover { gap:.6rem; color:var(--ocean); }
.pt-widget-link {
  display:block; text-align:center; margin-top:1rem;
  font-size:.78rem; color:rgba(255,255,255,.45); text-decoration:none;
  transition:color .3s;
}
.pt-widget-link:hover { color:var(--foam); }

/* ── Rezervasyon widget ──────────────────────────────────────── */
.pt-res-form { display:flex; flex-direction:column; gap:.75rem; }
.pt-res-field { display:flex; flex-direction:column; gap:.35rem; }
.pt-res-field label {
  font-size:.62rem; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--foam);
}
.pt-res-field input,
.pt-res-field select {
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius); padding:.6rem .85rem;
  font-family:var(--sans); font-size:.88rem; color:#fff;
  outline:none; transition:border-color .3s, background .3s;
  -webkit-appearance:none;
}
.pt-res-field input::placeholder { color:rgba(255,255,255,.3); }
.pt-res-field input:focus,
.pt-res-field select:focus { border-color:var(--gold); background:rgba(255,255,255,.15); }
.pt-res-field select option { background:var(--navy); color:#fff; }
.pt-res-row { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.pt-res-btn {
  width:100%; padding:.8rem; margin-top:.3rem;
  font-family:var(--sans); font-size:.72rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  background:var(--gold); color:var(--navy);
  border:none; border-radius:var(--radius); cursor:pointer;
  transition:background .3s;
}
.pt-res-btn:hover { background:var(--gold-l); }

/* ── Son duyurular widget ───────────────────────────────────── */
.pt-news-list { display:flex; flex-direction:column; gap:.6rem; }
.pt-news-item {
  display:flex; align-items:center; gap:.85rem;
  text-decoration:none; padding:.5rem;
  border-radius:var(--radius); transition:background .2s;
}
.pt-news-item:hover { background:rgba(0,0,0,.03); }
.pt-news-img {
  width:58px; height:58px; border-radius:var(--radius);
  overflow:hidden; flex-shrink:0;
}
.pt-news-img img { width:100%; height:100%; object-fit:cover; }
.pt-news-tag {
  font-size:.58rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:var(--teal); display:block; margin-bottom:.2rem;
}
.pt-news-title {
  font-size:.84rem; font-weight:500; color:var(--navy);
  line-height:1.35; margin:0 0 .25rem;
}
.pt-news-date { font-size:.7rem; color:var(--text-light); display:flex; align-items:center; gap:.2rem; }

/* ── Çalışma saatleri widget ────────────────────────────────── */
.pt-hours { display:flex; flex-direction:column; gap:.1rem; margin-bottom:1rem; }
.pt-hour-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:.55rem .7rem; border-radius:var(--radius); font-size:.87rem;
}
.pt-hour-row:nth-child(odd) { background:rgba(0,0,0,.025); }
.pt-hour-row span:first-child { color:var(--text-mid); }
.pt-hour-row span:last-child { font-weight:500; color:var(--navy); }

.pt-status {
  display:flex; align-items:center; gap:.6rem;
  padding:.65rem .9rem; border-radius:var(--radius);
  background:rgba(46,139,139,.08); border:1px solid rgba(46,139,139,.2);
  font-size:.82rem; font-weight:500; color:var(--teal);
}
.pt-status.closed { background:rgba(220,53,69,.06); border-color:rgba(220,53,69,.18); color:#dc3545; }
.pt-status-dot {
  width:9px; height:9px; border-radius:50%; background:var(--teal); flex-shrink:0;
  animation:pulse-dot 2s infinite;
}
.pt-status.closed .pt-status-dot { background:#dc3545; animation:none; }
@keyframes pulse-dot {
  0%,100% { box-shadow:0 0 0 3px rgba(46,139,139,.2); }
  50%      { box-shadow:0 0 0 6px rgba(46,139,139,.06); }
}

/* ── İletişim widget ────────────────────────────────────────── */
.pt-contact-list { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1.2rem; }
.pt-contact-item {
  display:flex; align-items:center; gap:.75rem;
  padding:.55rem .7rem; border-radius:var(--radius);
  font-size:.87rem; color:var(--text-mid); text-decoration:none;
  transition:background .2s, color .2s;
}
.pt-contact-item:hover { background:rgba(46,139,139,.07); color:var(--navy); }
.pt-contact-item i { color:var(--teal); font-size:1rem; flex-shrink:0; width:18px; text-align:center; }
.pt-contact-addr { cursor:default; }
.pt-contact-addr:hover { background:transparent; color:var(--text-mid); }

.pt-social-row { display:flex; gap:.5rem; padding-top:.8rem; border-top:1px solid rgba(0,0,0,.06); }
.pt-social {
  width:36px; height:36px; border-radius:var(--radius);
  border:1px solid rgba(0,0,0,.12);
  display:flex; align-items:center; justify-content:center;
  color:var(--text-mid); font-size:.9rem; text-decoration:none;
  transition:all .3s;
}
.pt-social:hover { background:var(--navy); border-color:var(--navy); color:#fff; }

/* ── Galeri önizleme widget ─────────────────────────────────── */
.pt-gallery-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:5px; margin-bottom:.5rem;
}
.pt-gal-item { aspect-ratio:1; overflow:hidden; border-radius:3px; display:block; }
.pt-gal-item img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s var(--ease), filter .4s;
  filter:brightness(.92);
}
.pt-gal-item:hover img { transform:scale(1.1); filter:brightness(1); }

/* ── Responsive ─────────────────────────────────────────────── */
@media(max-width:991px) {
  .pt-content { padding-right:0; }
  .pt-body { padding:4rem 0 5rem; }
}
@media(max-width:767px) {
  .pt-hero { min-height:50vh; }
  .pt-hero-title { font-size:clamp(2.2rem,9vw,3.2rem); }
}
