/* Kusuma Agrowisata — Hortensia restaurant page (extends styles.css) */

  .nav-links a.active { color: var(--g600); }

  /* Photo placeholder — shown until a photo is uploaded from admin */
  .resto-ph { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.45rem; padding: 1rem; text-align: center; color: rgba(255,255,255,0.8); background: linear-gradient(135deg, var(--g800) 0%, var(--t600) 100%); }
  .resto-ph::before { content: ''; position: absolute; inset: 0.75rem; border: 1px dashed rgba(255,255,255,0.35); border-radius: 0.75rem; pointer-events: none; }
  .resto-ph svg { opacity: 0.85; margin-bottom: 0.2rem; }
  .resto-ph-label { font-family: var(--ff-d); font-size: 1.2rem; font-weight: 400; color: white; line-height: 1.1; }
  .resto-ph-size { font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.6); }

  /* Hero */
  .resto-hero-media { position: absolute; inset: 0; }
  .resto-hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .resto-hero-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(13,30,4,0.55) 0%, rgba(13,30,4,0) 40%); pointer-events: none; }
  .resto-hero-media .img-label { z-index: 3; }
  .resto-hero-actions { display: flex; align-items: center; gap: 1.75rem; flex-wrap: wrap; }
  .resto-hero-actions .btn-search { display: inline-block; text-decoration: none; }
  .resto-facts { gap: 3rem; }

  /* Menu */
  .resto-menu-cta { margin-top: 2.5rem; text-align: center; }
  .resto-menu-cta .btn-search { display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; text-decoration: none; }
  .resto-empty { font-size: 0.9rem; color: var(--gr600); }

  /* Menu PDF viewer (/resto/menu) */
  .rooms-section.resto-menu-viewer { min-height: 100vh; padding-top: 8rem; }
  .resto-menu-viewer .sec-header { max-width: 900px; margin: 0 auto 2rem; }
  .resto-menu-download { display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; text-decoration: none; white-space: nowrap; }
  .resto-pdf { max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 1.25rem; }
  .resto-pdf-page { background: white; border: 0.5px solid var(--gr100); border-radius: 0.75rem; overflow: hidden; box-shadow: 0 6px 28px rgba(39,80,10,0.08); }
  .resto-pdf-page canvas { display: block; width: 100%; height: auto; }
  .resto-pdf-status { display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 4rem 1rem; font-size: 0.9rem; color: var(--gr600); text-align: center; }
  .resto-pdf-status a { color: var(--g800); font-weight: 500; }

  /* Gallery */
  .resto-gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 1rem; }
  .resto-gallery-item { position: relative; overflow: hidden; border-radius: 1rem; border: none; padding: 0; background: var(--g900); cursor: pointer; box-shadow: 0 6px 28px rgba(39,80,10,0.08); }
  div.resto-gallery-item { cursor: default; }
  .resto-gallery-item:first-child { grid-column: span 2; grid-row: span 2; }
  .resto-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
  .resto-gallery-item:hover img { transform: scale(1.06); }
  .resto-gallery-item .img-label { z-index: 2; text-shadow: 0 1px 6px rgba(0,0,0,0.5); }
  .resto-gallery-item:focus-visible { outline: 2px solid var(--t600); outline-offset: 3px; }

  /* Lightbox */
  .resto-lightbox { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 2rem; background: rgba(13,28,4,0.85); backdrop-filter: blur(8px); opacity: 0; pointer-events: none; transition: opacity 0.3s; }
  .resto-lightbox.open { opacity: 1; pointer-events: all; }
  .resto-lightbox figure { max-width: min(1100px, 100%); text-align: center; }
  .resto-lightbox img { max-width: 100%; max-height: 82vh; border-radius: 1rem; display: block; margin: 0 auto; box-shadow: 0 32px 80px rgba(0,0,0,0.4); }
  .resto-lightbox figcaption { margin-top: 1rem; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.8); }
  .resto-lightbox figcaption:empty { display: none; }

  /* ---------- Responsive ---------- */
  @media (max-width: 900px) {
    .rooms-section.resto-menu-viewer { padding-top: 6rem; }
    .resto-gallery { grid-auto-rows: 180px; }
  }

  @media (max-width: 600px) {
    .resto-gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; gap: 0.75rem; }
    .resto-facts { gap: 1.5rem; }
    .resto-lightbox { padding: 1rem; }
    .resto-pdf { gap: 0.75rem; }
    .resto-pdf-page { border-radius: 0.5rem; }
  }
