/* Punta Cana Tourism branding, routes, pagination, lists and tables — 2026-07-18 */

.pct-header-logo {
  display: block;
  width: clamp(154px, 17vw, 224px);
  max-width: 100%;
  max-height: 54px;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

.pct-footer-logo {
  display: block;
  width: min(282px, 100%);
  max-height: 78px;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

.pct-footer-motto span {
  display: block;
}

.navigation.pagination,
.navigation.wpconvert-pagination,
nav.pagination {
  width: min(1180px, calc(100% - 3rem));
  margin: 1rem auto 4.5rem;
}

.navigation.pagination .nav-links,
.navigation.wpconvert-pagination .nav-links,
nav.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .55rem;
}

.navigation.pagination .page-numbers,
.navigation.wpconvert-pagination .page-numbers,
nav.pagination .page-numbers {
  display: inline-grid;
  min-width: 2.8rem;
  min-height: 2.8rem;
  padding: .65rem .85rem;
  place-items: center;
  border: 1px solid var(--pct-border, #dce9e4);
  border-radius: .8rem;
  color: var(--pct-navy, #0d304a);
  background: #fff;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(13, 48, 74, .06);
}

.navigation.pagination a.page-numbers:hover,
.navigation.wpconvert-pagination a.page-numbers:hover,
nav.pagination a.page-numbers:hover {
  border-color: var(--pct-teal, #07967d);
  color: #fff;
  background: var(--pct-teal, #07967d);
  transform: translateY(-2px);
}

.navigation.pagination .page-numbers.current,
.navigation.wpconvert-pagination .page-numbers.current,
nav.pagination .page-numbers.current {
  border-color: var(--pct-deep, #08243a);
  color: #fff;
  background: var(--pct-deep, #08243a);
}

/* Restore semantic markers where theme resets removed them. */
:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  :where(ul, ol):not(.travelspark-widget ul):not(.travelspark-widget ol):not(.travelspark-tour-helper ul):not(.travelspark-tour-helper ol):not(.pct-sidebar-card ul):not(.pct-sidebar-card ol):not(nav ul):not(nav ol) {
  margin: 1.25rem 0 !important;
  padding-left: 1.65rem !important;
  list-style-position: outside !important;
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  ul:not(.travelspark-widget ul):not(.travelspark-tour-helper ul):not(.pct-sidebar-card ul):not(nav ul) {
  list-style-type: disc !important;
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  ol:not(.travelspark-widget ol):not(.travelspark-tour-helper ol):not(.pct-sidebar-card ol):not(nav ol) {
  list-style-type: decimal !important;
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  :where(ul ul, ol ul) {
  list-style-type: circle !important;
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  :where(ul ul ul, ol ul ul) {
  list-style-type: square !important;
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  li:not(.travelspark-widget li):not(.travelspark-tour-helper li):not(.pct-sidebar-card li) {
  display: list-item !important;
  padding-left: .2rem;
  margin-block: .52rem;
  list-style-type: inherit !important;
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  li::marker {
  color: var(--pct-teal, #07967d);
  font-weight: 800;
}

/* Tables remain full-width on desktop and scroll inside the article on phones. */
:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  :where(.wp-block-table, .pct-table-scroll) {
  width: 100%;
  margin: 1.75rem 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--pct-border, #dce9e4);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 32px rgba(13, 48, 74, .07);
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  table:not(.travelspark-widget table):not(.travelspark-tour-helper table):not(.pct-sidebar-card table) {
  width: 100% !important;
  min-width: 620px;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--pct-ink, #17384d);
  background: #fff;
  font-size: .96rem;
  line-height: 1.5;
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  table thead {
  color: #fff;
  background: var(--pct-deep, #08243a);
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  table :where(th, td) {
  padding: .9rem 1rem !important;
  border: 0 !important;
  border-right: 1px solid #e4eeeb !important;
  border-bottom: 1px solid #e4eeeb !important;
  text-align: left;
  vertical-align: top;
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  table :where(th, td):last-child {
  border-right: 0 !important;
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  table tbody tr:nth-child(even) {
  background: #f4faf8;
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  table tbody tr:last-child td {
  border-bottom: 0 !important;
}

:where(.pct-article-content, .container-prose, .prose-article, main .prose)
  table caption {
  padding: .8rem 1rem;
  color: var(--pct-muted, #607580);
  font-size: .82rem;
  font-style: italic;
  text-align: left;
  caption-side: bottom;
}

@media (max-width: 760px) {
  .pct-header-logo {
    width: 154px;
    max-height: 45px;
  }

  .pct-footer-logo {
    width: min(250px, 88vw);
    max-height: 72px;
  }

  .navigation.pagination,
  .navigation.wpconvert-pagination,
  nav.pagination {
    width: calc(100% - 2rem);
    margin-bottom: 3.5rem;
  }

  :where(.pct-article-content, .container-prose, .prose-article, main .prose)
    :where(ul, ol):not(nav ul):not(nav ol) {
    padding-left: 1.4rem !important;
  }

  :where(.pct-article-content, .container-prose, .prose-article, main .prose)
    table:not(.travelspark-widget table):not(.travelspark-tour-helper table) {
    min-width: 540px;
    font-size: .9rem;
  }

  :where(.pct-article-content, .container-prose, .prose-article, main .prose)
    table :where(th, td) {
    padding: .75rem .8rem !important;
  }
}


/* Footer layout refinement — disclosure above copyright, motto in social slot. */
footer .pct-footer-motto-slot {
  display: block;
  margin-top: 1.35rem;
}

footer .pct-footer-motto {
  max-width: 290px;
  margin: 0;
  color: #fff;
  font-size: clamp(1.28rem, 2vw, 1.72rem);
  line-height: 1.17;
}

footer .pct-footer-recaptcha-row {
  width: 100%;
  padding: 0 2rem 1.2rem;
}

footer .pct-footer-recaptcha-row .pct-recaptcha-notice {
  max-width: 1180px;
  margin: 0 auto;
  color: rgba(247, 241, 231, .58);
  font-size: .68rem;
  line-height: 1.55;
  text-align: right;
}

.pct-footer-signoff:empty {
  display: none !important;
}

@media (max-width: 760px) {
  footer .pct-footer-motto-slot {
    margin-top: 1.15rem;
  }

  footer .pct-footer-motto {
    max-width: none;
    font-size: 1.42rem;
  }

  footer .pct-footer-recaptcha-row {
    padding: 0 1rem 1rem;
  }

  footer .pct-footer-recaptcha-row .pct-recaptcha-notice {
    text-align: left;
  }
}
