/* =========================================================
   CARDAPIO.CSS — Landing do Cardápio Digital
   Hero · Nav Categorias · Cards de Produto · CTA
   ========================================================= */

/* ─── HERO CARDÁPIO ──────────────────────────────────────── */
.cardapio-hero {
  background: var(--espresso);
  padding: calc(var(--nav-height) + var(--space-16)) 0 var(--space-20);
  position: relative;
  overflow: hidden;
  text-align: center;
}

.cardapio-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--dynamic-hero-bg, var(--hero-blur-bg, none));
  background-size: cover;
  background-position: center;
  opacity: 0.15;
  transition: background-image 0.6s ease-in-out;
}

.cardapio-hero__inner {
  position: relative;
  z-index: 1;
}

.cardapio-hero__tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--size-xs);
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--caramelo);
  margin-bottom: var(--space-5);
}

.cardapio-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(var(--size-3xl), 6vw, var(--size-5xl));
  font-weight: 700;
  color: var(--marfim);
  line-height: 1.1;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
  margin-bottom: var(--space-4);
}

.cardapio-hero__subtitle {
  font-size: var(--size-md);
  color: rgba(245, 236, 215, 0.85);
  max-width: 50ch;
  margin: 0 auto var(--space-8);
  line-height: 1.6;
  font-weight: 400;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
  text-align: center;
  
}

.cardapio-hero__cta {
  display: flex;
  gap: var(--space-4);
  justify-content: center;
  flex-wrap: wrap;
}

/* ─── NAVEGAÇÃO DE CATEGORIAS (STICKY) ───────────────────── */
.cat-nav {
  position: sticky;
  top: var(--nav-height);
  z-index: 50;
  background: rgba(250, 246, 238, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--bege);
  box-shadow: 0 2px 16px var(--sombra);
}

.cat-nav__inner {
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.cat-nav__inner::-webkit-scrollbar { display: none; }

.cat-nav__btn {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: 0 var(--space-5);
  min-height: 48px;
  font-family: var(--font-sans);
  font-size: var(--size-sm);
  font-weight: 500;
  color: var(--texto-claro);
  white-space: nowrap;
  border-bottom: 3px solid transparent;
  transition: color var(--transition-fast), border-color var(--transition-fast), transform 0.15s ease;
  background: none;
  cursor: pointer;
  border-top: none;
  border-left: none;
  border-right: none;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
}

.cat-nav__btn:active {
  transform: scale(0.96);
}

@media (hover: hover) {
  .cat-nav__btn:hover {
    color: var(--caramelo);
  }
}

.cat-nav__btn.active {
  color: var(--caramelo);
  border-bottom-color: var(--caramelo);
  font-weight: 600;
}

.cat-nav__icon {
  font-size: var(--size-base);
}

/* ─── SEÇÃO DE CATEGORIA ─────────────────────────────────── */
.cat-section {
  padding: var(--space-20) 0;
}

.cat-section + .cat-section {
  padding-top: 0;
  border-top: 1px solid var(--bege);
}

.cat-section:nth-child(even) {
  background: var(--creme);
}

.cat-section__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-10);
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--bege);
  gap: var(--space-2);
  text-align: center;
}

.cat-section__icon {
  font-size: var(--size-3xl);
  margin-bottom: var(--space-2);
  line-height: 1;
  text-align: center;
}

.cat-section__title {
  font-family: var(--font-serif);
  font-size: clamp(var(--size-2xl), 3.5vw, var(--size-3xl));
  color: var(--espresso);
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
}

.cat-section__description {
  font-size: var(--size-sm);
  color: var(--texto-claro);
  margin-bottom: 0;
  max-width: 50ch;
  text-align: center;
  margin-inline: auto;
}

/* ─── PRODUTO GRID ───────────────────────────────────────── */
.produto-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-6);
}

/* ─── CARD DE PRODUTO ────────────────────────────────────── */
.produto-card {
  background: var(--marfim);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 2px 12px var(--sombra);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(212, 196, 160, 0.4);
  touch-action: manipulation;
}

.produto-card:active {
  transform: scale(0.985);
}

@media (hover: hover) {
  .produto-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 40px var(--sombra-forte);
  }
}

.produto-card__image-wrap {
  position: relative;
  overflow: hidden;
  height: 200px;
  background: var(--bege);
}

.produto-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

@media (hover: hover) {
  .produto-card:hover .produto-card__image { transform: scale(1.06); }
}

.produto-card__badges {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.produto-card__body {
  padding: var(--space-5) var(--space-5) var(--space-6);
  flex: 1;
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
}

.produto-card__name {
  font-family: var(--font-serif);
  font-size: var(--size-xl);
  color: var(--espresso);
  margin-bottom: var(--space-2);
  line-height: 1.2;
  text-align: center;
}

.produto-card__desc {
  font-size: var(--size-sm);
  color: var(--texto-suave);
  line-height: 1.6;
  max-width: none;
  margin-bottom: 0;
  flex: 1;
  text-align: center;
  
}

.produto-card__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 1px solid var(--bege);
}

.produto-card__price {
  font-family: var(--font-serif);
  font-size: var(--size-xl);
  font-weight: 500;
  color: var(--caramelo);
  line-height: 1;
}

.produto-card__price-label {
  font-family: var(--font-sans);
  font-size: var(--size-xs);
  color: var(--texto-claro);
  margin-right: 2px;
}

/* Placeholder de imagem */
.produto-card__image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  color: var(--texto-claro);
  font-size: var(--size-sm);
  background: var(--bege);
  text-align: center;
}

.produto-card__image-placeholder .placeholder-icon {
  font-size: var(--size-3xl);
  opacity: 0.4;
}

/* ─── COMBO CARD (layout diferente) ─────────────────────── */
.combo-card {
  background: var(--espresso);
  border-radius: var(--radius-md);
  padding: var(--space-8);
  display: flex;
  align-items: center;
  gap: var(--space-8);
  box-shadow: 0 8px 32px var(--sombra-forte);
  transition: transform var(--transition-base);
  border: 1px solid rgba(245, 236, 215, 0.08);
  text-align: center;
}

.combo-card:hover { transform: translateY(-4px); }

.combo-card__icon {
  font-size: 3rem;
  flex-shrink: 0;
  background: rgba(245, 236, 215, 0.08);
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
}

.combo-card__content {
  flex: 1;
  text-align: center;
}

.combo-card__name {
  font-family: var(--font-serif);
  font-size: var(--size-xl);
  color: var(--marfim);
  margin-bottom: var(--space-2);
  text-align: center;
}

.combo-card__items {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
  margin-bottom: var(--space-3);
  justify-content: center;
}

.combo-card__item-tag {
  font-size: var(--size-xs);
  padding: 3px 10px;
  background: rgba(245, 236, 215, 0.1);
  border: 1px solid rgba(245, 236, 215, 0.15);
  border-radius: var(--radius-full);
  color: var(--bege-escuro);
}

.combo-card__desc {
  font-size: var(--size-sm);
  color: rgba(237, 224, 196, 0.65);
  max-width: none;
  margin-bottom: 0;
  text-align: center;
  
}

.combo-card__price-wrap {
  text-align: center;
  flex-shrink: 0;
}

.combo-card__price {
  font-family: var(--font-serif);
  font-size: var(--size-2xl);
  color: var(--caramelo-light);
  line-height: 1;
}

.combo-card__savings {
  font-size: var(--size-xs);
  color: rgba(212, 169, 106, 0.7);
  margin-top: var(--space-1);
  text-align: center;
}

.combo-grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

/* ─── ESPECIAL CARD ──────────────────────────────────────── */
.especial-card {
  background: linear-gradient(135deg, var(--cafe) 0%, var(--espresso) 100%);
  border-radius: var(--radius-md);
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 32px var(--sombra-forte);
  transition: transform var(--transition-base);
  border: 1px solid rgba(212, 169, 106, 0.2);
  text-align: center;
}

.especial-card:hover { transform: translateY(-5px); }

.especial-card__image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  opacity: 0.7;
}

.especial-card__body {
  padding: var(--space-5) var(--space-6) var(--space-6);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.especial-card__name {
  font-family: var(--font-serif);
  font-size: var(--size-xl);
  color: var(--marfim);
  margin-bottom: var(--space-2);
  text-align: center;
}

.especial-card__desc {
  font-size: var(--size-sm);
  color: rgba(237, 224, 196, 0.7);
  max-width: none;
  margin-bottom: var(--space-5);
  text-align: center;
  
}

.especial-card__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.especial-card__price {
  font-family: var(--font-serif);
  font-size: var(--size-2xl);
  color: #D4A96A;
  text-align: center;
}

/* ─── CTA FINAL ──────────────────────────────────────────── */
.cardapio-cta {
  background: var(--creme);
  text-align: center;
  padding: var(--space-24) 0;
}

.cardapio-cta__actions {
  display: flex;
  gap: var(--space-4);
  justify-content: center;
  flex-wrap: wrap;
  margin-top: var(--space-8);
}

/* ─── RESPONSIVIDADE CARDÁPIO ────────────────────────────── */
@media (max-width: 1024px) {
  .produto-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }

  .combo-card {
    flex-direction: column;
    text-align: center;
  }

  .combo-card__price-wrap { text-align: center; }
}

@media (max-width: 768px) {
  .cat-nav {
    background: rgba(250, 246, 238, 0.98);
    box-shadow: 0 4px 20px rgba(28, 16, 8, 0.08);
  }

  .cat-nav__inner {
    padding: var(--space-3) var(--space-4);
    gap: var(--space-2);
  }

  .cat-nav__btn {
    padding: 6px 16px;
    min-height: 38px;
    font-size: var(--size-xs);
    font-weight: 600;
    color: var(--texto-suave);
    background: rgba(28, 16, 8, 0.04);
    border: 1px solid rgba(212, 196, 160, 0.3);
    border-radius: var(--radius-full);
    transition: all var(--transition-fast);
    border-bottom: 1px solid rgba(212, 196, 160, 0.3);
  }

  .cat-nav__btn.active {
    color: var(--marfim) !important;
    background: var(--caramelo) !important;
    border-color: var(--caramelo) !important;
    border-bottom-color: var(--caramelo) !important;
    box-shadow: 0 4px 12px rgba(139, 94, 60, 0.25);
  }

  .cat-section__header {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .cat-section__description { text-align: center;  }

  .produto-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-4);
  }
}

@media (max-width: 480px) {
  .produto-grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .produto-card {
    flex-direction: row;
    align-items: stretch;
    min-height: 120px;
    border-radius: var(--radius-md);
    background: var(--marfim);
  }

  .produto-card__image-wrap {
    width: 110px;
    height: auto;
    min-height: 110px;
    flex-shrink: 0;
    border-radius: var(--radius-md) 0 0 var(--radius-md);
  }

  .produto-card__image {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }

  .produto-card__badges {
    top: var(--space-2);
    left: var(--space-2);
    gap: 2px;
  }

  .produto-card__badges .badge {
    padding: 2px 6px;
    font-size: 8px;
  }

  .produto-card__body {
    padding: var(--space-3) var(--space-4);
    text-align: left;
    align-items: flex-start;
    justify-content: center;
  }

  .produto-card__name {
    font-size: var(--size-base);
    text-align: left;
    margin-bottom: 4px;
  }

  .produto-card__desc {
    font-size: var(--size-xs);
    text-align: left;
    margin-bottom: var(--space-2);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .produto-card__footer {
    margin-top: auto;
    padding-top: var(--space-2);
    border-top: none;
    justify-content: flex-start;
  }

  .produto-card__price {
    font-size: var(--size-md);
  }

  /* Ajustes dos Cards de Combos */
  .combo-card {
    padding: var(--space-5);
    gap: var(--space-4);
  }

  .combo-card__icon {
    width: 64px;
    height: 64px;
    font-size: 2.2rem;
  }

  .combo-card__name {
    font-size: var(--size-lg);
  }

  .combo-card__desc {
    font-size: var(--size-xs);
  }

  .combo-card__items {
    gap: 4px;
  }

  .combo-card__item-tag {
    font-size: 10px;
    padding: 2px 8px;
  }

  /* Ajustes dos Cards Especiais */
  .especial-card__image {
    height: 160px;
  }

  .especial-card__body {
    padding: var(--space-4) var(--space-5);
  }

  .especial-card__name {
    font-size: var(--size-lg);
  }

  .especial-card__desc {
    font-size: var(--size-xs);
    margin-bottom: var(--space-4);
  }

  /* Ajustes de Seção e Cabeçalho */
  .cat-section {
    padding: var(--space-12) 0;
  }

  .cat-section__header {
    margin-bottom: var(--space-6);
    padding-bottom: var(--space-4);
  }

  .cat-section__icon {
    font-size: var(--size-2xl);
  }

  .cat-section__title {
    font-size: var(--size-xl);
  }

  /* Ajustes do Hero Cardápio */
  .cardapio-hero {
    padding: calc(var(--nav-height) + var(--space-4)) 0 var(--space-10);
  }

  .cardapio-hero__title {
    font-size: clamp(var(--size-xl), 8vw, var(--size-3xl));
  }

  .cardapio-hero__subtitle {
    font-size: var(--size-sm);
    margin-bottom: var(--space-4);
  }

  /* Ajustes do CTA Final no Cardápio */
  .cardapio-cta__actions {
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
  }

  .cardapio-cta__actions .btn {
    width: 100%;
    max-width: 320px;
  }
}



/* =========================================================
   PDF FLIPBOOK — Seção Pública do Cardápio Interativo
   ========================================================= */

/* ─── SEÇÃO CONTAINER ────────────────────────────────────── */
.pdf-viewer-section {
  background: linear-gradient(180deg, var(--espresso) 0%, var(--cafe) 100%);
  padding: var(--space-20) 0 var(--space-24);
  position: relative;
  overflow: hidden;
}

/* ─── CONTAINER DO MODAL / FULLSCREEN ────────────────────── */
.pdf-viewer-modal { position: relative; width: 100%; }

.pdf-viewer-modal.is-fullscreen {
  position: fixed;
  inset: 0;
  top: var(--fs-top-offset, 0);
  width: 100vw;
  height: calc(100dvh - var(--fs-top-offset, 0));
  z-index: 9999;
  background: #080603;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  display: flex;
  flex-direction: column;
  animation: fsModalIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.pdf-viewer-modal.is-fullscreen.is-closing {
  animation: fsModalOut 0.2s ease-in forwards;
}

@keyframes fsModalIn {
  from { opacity: 0; transform: scale(0.94); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes fsModalOut {
  from { opacity: 1; }
  to   { opacity: 0; transform: scale(0.96); }
}

.pdf-viewer-modal.is-fullscreen .pdf-modal-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

/* Esconder controles inline no FS */
.pdf-viewer-modal.is-fullscreen .pdf-controls--top { display: none; }

body.pdf-fs-open {
  overflow: hidden !important;
  touch-action: none;
  position: fixed;
  width: 100%;
  height: 100%;
}

/* ─── CABEÇALHO DO MODAL (FS) ────────────────────────────── */
.pdf-modal-header {
  background: rgba(8,6,3,0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  z-index: 30;
  border-bottom: 1px solid rgba(250,246,238,0.06);
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.pdf-viewer-modal.is-fullscreen .pdf-modal-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.pdf-modal-header.auto-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-100%);
}

.pdf-modal-header__center {
  flex: 1;
  display: flex;
  justify-content: center;
}

.pdf-modal-header__right {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.pdf-page-indicator-modal {
  font-size: var(--size-sm);
  color: rgba(250,246,238,0.5);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.05em;
}

.pdf-modal-close {
  background: rgba(250,246,238,0.08);
  border: 1px solid rgba(250,246,238,0.1);
  color: var(--marfim);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.15s ease;
  flex-shrink: 0;
}

.pdf-modal-close:hover { background: rgba(192,57,43,0.25); border-color: rgba(192,57,43,0.4); }
.pdf-modal-close:active { transform: scale(0.92); }

/* ─── BOTÃO DE NAVEGAÇÃO (SETA) ──────────────────────────── */
.pdf-nav-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(250,246,238,0.15);
  background: rgba(250,246,238,0.06);
  color: var(--marfim);
  font-size: 1.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
  flex-shrink: 0;
  line-height: 1;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
}

.pdf-nav-btn:hover {
  background: rgba(201,162,39,0.15);
  border-color: rgba(201,162,39,0.4);
  color: var(--caramelo-light);
}

.pdf-nav-btn:active { transform: scale(0.9); }

.pdf-nav-btn:disabled {
  opacity: 0.2;
  cursor: not-allowed;
  transform: none;
}

/* ─── FULLSCREEN OVERRIDES ───────────────────────────────── */
.pdf-viewer-modal.is-fullscreen .pdf-fallback-wrap,
.pdf-viewer-modal.is-fullscreen .pdf-flipbook-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

/* ─── CABEÇALHO DA SEÇÃO ─────────────────────────────────── */
.pdf-viewer-header { text-align: center; margin-bottom: var(--space-12); }

.pdf-viewer-title {
  font-family: var(--font-serif);
  font-size: clamp(var(--size-2xl), 4vw, var(--size-4xl));
  font-weight: 300;
  color: var(--marfim);
  margin-bottom: var(--space-3);
  line-height: 1.1;
}

.pdf-viewer-subtitle {
  font-size: var(--size-md);
  color: rgba(250,246,238,0.55);
  max-width: 44ch;
  margin: 0 auto;
  line-height: 1.6;
  text-align: center;
  
}

/* ─── ESTADOS ────────────────────────────────────────────── */
.pdf-state { text-align: center; padding: var(--space-20) var(--space-6); color: var(--marfim); }
.pdf-state--loading { display: flex; flex-direction: column; align-items: center; gap: var(--space-5); }
.pdf-state--loading p { color: rgba(250,246,238,0.55); font-size: var(--size-sm); max-width: none; }

.pdf-spinner {
  width: 44px; height: 44px;
  border: 3px solid rgba(201,162,39,0.2);
  border-top-color: var(--caramelo);
  border-radius: 50%;
  animation: pdfSpin 0.8s linear infinite;
}

@keyframes pdfSpin { to { transform: rotate(360deg); } }

.pdf-state__icon { font-size: 3rem; margin-bottom: var(--space-4); opacity: 0.7; }
.pdf-state__title { font-family: var(--font-serif); font-size: var(--size-xl); color: var(--marfim); margin-bottom: var(--space-2); }
.pdf-state__sub { font-size: var(--size-sm); color: rgba(250,246,238,0.5); margin-bottom: var(--space-8); max-width: none; }
.pdf-state__actions { display: flex; gap: var(--space-4); justify-content: center; flex-wrap: wrap; }

/* ─── CONTROLES SUPERIORES (inline) ──────────────────────── */
.pdf-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-4);
  gap: var(--space-4);
}

.pdf-controls__nav {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.pdf-page-indicator {
  font-size: var(--size-sm);
  font-weight: 500;
  color: rgba(250,246,238,0.6);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.05em;
  min-width: 50px;
  text-align: center;
}

.pdf-ctrl-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  font-size: var(--size-sm);
  font-weight: 500;
  color: rgba(250,246,238,0.75);
  border: 1px solid rgba(250,246,238,0.15);
  border-radius: var(--radius-full);
  background: rgba(250,246,238,0.05);
  backdrop-filter: blur(8px);
  transition: all var(--transition-fast);
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
}

.pdf-ctrl-btn:hover {
  background: rgba(250,246,238,0.12);
  border-color: rgba(250,246,238,0.3);
  color: var(--marfim);
}

/* ─── HINT "TOQUE PARA EXPANDIR" ─────────────────────────── */
.pdf-tap-hint {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(8,6,3,0.75);
  backdrop-filter: blur(8px);
  padding: 8px 20px;
  border-radius: var(--radius-full);
  border: 1px solid rgba(201,162,39,0.2);
  color: rgba(250,246,238,0.7);
  font-size: var(--size-xs);
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: none;
  opacity: 0;
  animation: hintFadeIn 0.6s 1.5s ease forwards;
  z-index: 5;
  white-space: nowrap;
}

.pdf-tap-hint__icon { font-size: 1rem; animation: hintPulse 2s ease-in-out infinite; }

@keyframes hintFadeIn {
  from { opacity: 0; transform: translateX(-50%) translateY(8px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

@keyframes hintPulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.15); }
}

.pdf-viewer-modal.is-fullscreen .pdf-tap-hint { display: none; }

/* ─── FLIPBOOK STAGE ─────────────────────────────────────── */
.pdf-flipbook-wrap { position: relative; width: 100%; }

.pdf-book-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.pdf-flipbook-container {
  display: flex;
  justify-content: center;
  filter: drop-shadow(0 32px 64px rgba(0,0,0,0.5)) drop-shadow(0 8px 24px rgba(0,0,0,0.3));
}

.pdf-viewer-modal.is-fullscreen .pdf-book-stage { width: 100%; height: 100%; }

.pdf-page-leaf { overflow: hidden; background: var(--marfim); }
.pdf-page-leaf img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* ─── FALLBACK ───────────────────────────────────────────── */
.pdf-fallback-wrap { width: 100%; position: relative; }

.pdf-fallback-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.pdf-viewer-modal.is-fullscreen .pdf-fallback-stage {
  height: 100%;
}

.pdf-fallback-canvas-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 480px;
  margin: 0 auto;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 24px 56px rgba(0,0,0,0.45);
}

.pdf-viewer-modal.is-fullscreen .pdf-fallback-canvas-wrap {
  max-width: none; 
  box-shadow: none; 
  border-radius: 0;
  margin: auto;
  height: 100%;
  width: 100%;
}

.pdf-fallback-canvas-wrap canvas { display: block; max-width: 100%; height: auto; border-radius: var(--radius-md); margin: auto; }
.pdf-viewer-modal.is-fullscreen .pdf-fallback-canvas-wrap canvas { border-radius: 0; margin: auto; object-fit: contain; }

/* ─── BARRA DE NAVEGAÇÃO INFERIOR (FS MOBILE) ────────────── */
.pdf-fs-bottom-bar {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 25;
  background: linear-gradient(0deg, rgba(8,6,3,0.92) 0%, rgba(8,6,3,0.7) 70%, transparent 100%);
  padding: 32px 20px 20px;
  padding-bottom: max(20px, env(safe-area-inset-bottom, 20px));
  align-items: center;
  justify-content: center;
  gap: 20px;
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.pdf-viewer-modal.is-fullscreen .pdf-fs-bottom-bar {
  display: flex;
}

.pdf-fs-bottom-bar.auto-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(100%);
}

.pdf-fs-bottom-bar .pdf-nav-btn {
  width: 52px;
  height: 52px;
  font-size: 1.6rem;
  background: rgba(250,246,238,0.1);
  border: 1px solid rgba(250,246,238,0.18);
}

.pdf-fs-bottom-bar .pdf-nav-btn:active {
  background: rgba(201,162,39,0.25);
  transform: scale(0.92);
}

.pdf-fs-bottom-bar .pdf-page-indicator-bottom {
  font-size: var(--size-base);
  color: rgba(250,246,238,0.7);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.08em;
  font-weight: 500;
  min-width: 60px;
  text-align: center;
}

/* ─── PROGRESSO VISUAL (mini dots) ───────────────────────── */
.pdf-fs-progress {
  display: flex;
  gap: 5px;
  align-items: center;
  justify-content: center;
  padding-top: 6px;
}

.pdf-fs-progress-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(250,246,238,0.2);
  transition: all 0.25s ease;
}

.pdf-fs-progress-dot.active {
  background: var(--caramelo);
  width: 18px;
  border-radius: 3px;
}

/* ─── SWIPE HINT (FS MOBILE) ────────────────────────────── */
.pdf-swipe-hint {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: rgba(250,246,238,0.5);
  font-size: var(--size-sm);
  pointer-events: none;
  opacity: 0;
  animation: swipeHintIn 0.5s 1.2s ease forwards;
  z-index: 30;
}

.pdf-swipe-hint__icon {
  font-size: 2rem;
  animation: swipeAnim 2s ease-in-out infinite;
}

@keyframes swipeHintIn {
  from { opacity: 0; transform: translate(-50%, -50%) scale(0.9); }
  to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@keyframes swipeAnim {
  0%, 100% { transform: translateX(0); }
  25%      { transform: translateX(-12px); }
  75%      { transform: translateX(12px); }
}

/* ─── RESPONSIVIDADE ─────────────────────────────────────── */
@media (max-width: 768px) {
  .pdf-viewer-section { padding: var(--space-16) 0 var(--space-20); }

  /* No FS mobile, hide top header nav buttons — use bottom bar */
  .pdf-viewer-modal.is-fullscreen .pdf-modal-header .pdf-nav-btn {
    display: none;
  }

  .pdf-viewer-modal.is-fullscreen .pdf-modal-header {
    justify-content: center;
    padding: 8px 16px;
    min-height: auto;
  }

  .pdf-viewer-modal.is-fullscreen .pdf-modal-header__center {
    display: none;
  }

  .pdf-viewer-modal.is-fullscreen .pdf-modal-header__right {
    margin-left: auto;
  }

  /* Fullscreen fallback canvas fills screen better */
  .pdf-viewer-modal.is-fullscreen .pdf-fallback-canvas-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .pdf-controls { flex-wrap: wrap; gap: var(--space-3); }
  .pdf-nav-btn { width: 44px; height: 44px; font-size: 1.4rem; }
  .pdf-modal-header { padding: 8px 12px; }

  .pdf-fs-bottom-bar .pdf-nav-btn {
    width: 52px;
    height: 52px;
    font-size: 1.6rem;
  }

  .pdf-ctrl-btn {
    min-height: 44px;
    padding: 8px 18px;
    font-size: var(--size-xs);
  }
}
