/* Páginas internas: cabeçalho, acomodações, carrossel. */

.ap-page-hero { padding-block: var(--ap-space-9) var(--ap-space-8); }
.ap-page-hero h1 { margin: var(--ap-space-3) 0 var(--ap-space-4); color: var(--ap-creme-natural); font-size: var(--ap-fs-h2); }
.ap-page-hero__lead { max-width: 36rem; margin: 0 auto; }

.ap-card__link { display: block; }
.ap-card__body h3 a { color: inherit; text-decoration: none; }
.ap-card__body h3 a:hover { text-decoration: underline; }
.ap-card__actions { display: flex; flex-wrap: wrap; gap: var(--ap-space-3); }

.ap-acomodacao__desc {
  font-family: var(--ap-font-display);
  font-size: var(--ap-fs-h3);
  line-height: 1.3;
  color: var(--ap-verde-floresta);
}
.ap-tags--dark li { border-color: var(--ap-line); color: var(--ap-verde-araucaria); }

/* Carrossel */
.ap-carousel { position: relative; min-width: 0; }
.ap-carousel__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.ap-carousel__track::-webkit-scrollbar { display: none; }
.ap-carousel__slide { flex: 0 0 100%; scroll-snap-align: center; }
.ap-carousel__slide img { display: block; width: 100%; height: auto; }
.ap-carousel__nav { display: flex; gap: var(--ap-space-3); justify-content: flex-end; margin-top: var(--ap-space-4); }
.ap-carousel__btn {
  display: grid; place-items: center;
  width: 2.75rem; height: 2.75rem;
  border: 1px solid var(--ap-verde-araucaria);
  background: transparent; color: var(--ap-verde-araucaria);
  cursor: pointer;
}
.ap-carousel__btn:hover { background: var(--ap-verde-araucaria); color: var(--ap-creme-natural); }
.ap-carousel__btn svg { width: 1.25rem; height: 1.25rem; }

/* Experiências */
.ap-exp { display: grid; gap: var(--ap-space-7); grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.ap-exp__item h2 { margin: var(--ap-space-4) 0 var(--ap-space-2); font-size: var(--ap-fs-h3); }
.ap-exp__item p { margin: 0; }
.ap-exp__note { margin: var(--ap-space-8) 0 0; font-family: var(--ap-font-display); font-size: var(--ap-fs-h3); color: var(--ap-verde-floresta); }

/* Galeria */
.ap-grid { display: grid; gap: var(--ap-space-4); grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; list-style: none; }
@media (min-width: 48rem) { .ap-grid { grid-template-columns: repeat(3, 1fr); } }
.ap-grid__btn { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.ap-grid__btn:hover .ap-ph { filter: brightness(1.08); }

.ap-lightbox {
  width: min(92vw, 44rem);
  max-height: 92vh;
  padding: var(--ap-space-5);
  border: 0;
  background: var(--ap-verde-araucaria);
  color: var(--ap-creme-natural);
}
.ap-lightbox::backdrop { background: rgb(41 43 37 / .85); }
.ap-lightbox__stage .ap-ph { max-height: 78vh; margin-inline: auto; }
.ap-lightbox__close,
.ap-lightbox__nav {
  position: absolute;
  display: grid; place-items: center;
  width: 2.75rem; height: 2.75rem;
  border: 1px solid var(--ap-creme-natural);
  background: var(--ap-verde-araucaria); color: var(--ap-creme-natural);
  cursor: pointer; z-index: 1;
}
.ap-lightbox__close { top: var(--ap-space-3); right: var(--ap-space-3); }
.ap-lightbox__nav { top: 50%; transform: translateY(-50%); }
.ap-lightbox__nav--prev { left: var(--ap-space-3); }
.ap-lightbox__nav--next { right: var(--ap-space-3); }
.ap-lightbox svg { width: 1.25rem; height: 1.25rem; }

/* Blog */
.ap-posts { display: grid; gap: var(--ap-space-7); grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); }
.ap-post-card h2 { margin: var(--ap-space-2) 0; font-size: var(--ap-fs-h3); }
.ap-post-card h2 a { color: inherit; text-decoration: none; }
.ap-post-card__media { display: block; margin-bottom: var(--ap-space-4); }
.ap-post-card__media img { display: block; width: 100%; height: auto; }
.ap-pagination { margin-top: var(--ap-space-8); text-align: center; }
.ap-pagination .page-numbers { display: inline-block; padding: .5rem .9rem; color: var(--ap-verde-araucaria); text-decoration: none; }
.ap-pagination .current { border-bottom: 1px solid var(--ap-verde-araucaria); }
.ap-empty { max-width: 32rem; margin-inline: auto; }
.ap-empty h2 { margin: 0 0 var(--ap-space-4); }

/* Texto corrido (post, privacidade) */
.ap-prose h2 { margin: var(--ap-space-7) 0 var(--ap-space-3); font-size: var(--ap-fs-h3); }
.ap-prose h2:first-child { margin-top: 0; }
.ap-prose p, .ap-prose li { max-width: 42rem; }

/* 404 */
.ap-404 { padding-block: var(--ap-space-9); }
.ap-404 h1 { margin: var(--ap-space-3) 0 var(--ap-space-4); color: var(--ap-creme-natural); font-size: var(--ap-fs-h2); }
.ap-404 p { margin: 0 auto var(--ap-space-6); max-width: 32rem; }
