@charset "UTF-8";
/* ============================================================
   ATTRACTION CPT SINGLE
   ============================================================ */

/* ── CSS Custom Properties ────────────────────────────────────────────────── */

:root {
	--omio-bg:            #ffffff!important;
	--omio-surface:       #f7f8fa!important;
	--omio-border:        #e3e6eb!important;
	--omio-border-strong: #c8cdd6!important;

	--omio-text-primary:   #1a1c21!important;
	--omio-text-secondary: #4a5060!important;
	--omio-text-muted:     #7a8090!important;

	--omio-accent:        #132968!important;
	--omio-accent-hover:  #FA6B6B!important;
	--omio-accent-light:  #eff4ff!important;

	--omio-green:         #057a55!important;
	--omio-green-bg:      #f0fdf4!important;
	--omio-amber:         #92400e!important;
	--omio-amber-bg:      #fffbeb!important;

	--omio-radius:        8px!important;
	--omio-radius-sm:     4px!important;
	--omio-shadow:        0 1px 4px rgba(0, 0, 0, 0.08)!important;
	--omio-shadow-md:     0 4px 16px rgba(0, 0, 0, 0.10)!important;

	--omio-font:          inherit!important;
	--omio-font-mono:     'SFMono-Regular', Consolas, 'Liberation Mono', monospace!important;
}   

.pm-attraction-main {
  background: var(--pm-paper);
  color: var(--pm-body);
}
.pm-attraction-hero {
  padding: 34px 0 46px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--pm-red-soft) 56%, transparent), transparent 42%),
    var(--pm-paper);
}
.pm-attraction-hero .pm-breadcrumb { margin-bottom: 24px; }
.pm-attraction-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .78fr);
  gap: 34px;
  align-items: stretch;
}
.pm-attraction-hero-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pm-attraction-title {
  font-family: var(--pm-display);
  font-size: clamp(42px, 6vw, 82px);
  line-height: .94;
  letter-spacing: 0;
  color: var(--pm-ink);
  margin: 16px 0 18px;
}
.pm-attraction-dek {
  font-size: clamp(18px, 2vw, 20px);
  line-height: 1.45;
  color: var(--pm-slate);
  max-width: 760px;
  margin: 0;
}
.pm-attraction-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0 0;
}
.pm-attraction-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 12px;
  background: var(--pm-card);
  border: 1px solid var(--pm-line);
  border-radius: var(--pm-r-sm);
  color: var(--pm-ink);
  font-size: 14px;
  font-weight: 800;
  box-shadow: var(--pm-shadow-sm);
}
.pm-attraction-meta svg { color: var(--pm-red); flex: 0 0 auto; }
.pm-attraction-chips,
.pm-attraction-pill-grid,
.pm-attraction-topic-list {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.pm-attraction-chips { margin-top: 18px; }
.pm-attraction-chips span,
.pm-attraction-pill-grid span,
.pm-attraction-topic-list a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--pm-red-soft);
  color: var(--pm-red-ink);
  border: 1px solid var(--pm-red-line);
  font-size: 13px;
  font-weight: 800;
}
.pm-attraction-hero-card {
  position: relative;
  overflow: hidden;
  min-height: 440px;
  border-radius: var(--pm-r-lg);
  background: var(--pm-line-2);
  box-shadow: var(--pm-shadow-lg);
}
.pm-attraction-hero-card > img {
  width: 100%;
  height: 100%;
  min-height: 440px;
  object-fit: cover;
}
.pm-attraction-quickbook {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 16px;
  align-items: center;
  padding: 16px;
  border-radius: var(--pm-r);
  background: color-mix(in srgb, var(--pm-card) 92%, transparent);
  border: 1px solid color-mix(in srgb, var(--pm-white) 70%, transparent);
  box-shadow: var(--pm-shadow);
  backdrop-filter: blur(12px);
}
.pm-attraction-quickbook span {
  color: var(--pm-faint);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pm-attraction-quickbook strong {
  grid-column: 1;
  color: var(--pm-ink);
  font-size: 16px;
  line-height: 1.3;
}
.pm-attraction-quickbook .pm-btn {
  grid-row: 1 / span 2;
  grid-column: 2;
  white-space: nowrap;
}
.pm-attraction-booking,
.pm-attraction-gallery-section,
.pm-attraction-related,
.pm-attraction-widget,
.pm-attraction-disclaimer {
  padding: 42px 0;
}
.pm-attraction-booking-panel,
.pm-attraction-disclaimer-inner,
.pm-attraction-widget-inner {
  background: var(--pm-card);
  border: 1px solid var(--pm-line);
  border-radius: var(--pm-r-lg);
  box-shadow: var(--pm-shadow-sm);
}
.pm-attraction-booking-panel {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(360px, 1.2fr);
  gap: 28px;
  align-items: center;
  padding: 28px;
}
.pm-attraction-booking-panel h2,
.pm-attraction-section h2,
.pm-attraction-related h2,
.pm-attraction-disclaimer h2,
.pm-attraction-verdict h2 {
  font-family: var(--pm-display);
  color: var(--pm-ink);
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.05;
  margin: 8px 0 12px;
}
.pm-attraction-booking-panel p {
  margin: 0;
  color: var(--pm-slate);
}
.pm-attraction-booking-panel p strong { color: var(--pm-ink); }
.pm-attraction-cta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.pm-attraction-cta-grid.is-stack { grid-template-columns: 1fr; }
.pm-affiliate-cta,
.pm-attraction-affiliate {
  --pm-affiliate-bg: var(--pm-red);
  --pm-affiliate-bg-hover: var(--pm-red-deep);
  --pm-affiliate-fg: var(--pm-white);
  --pm-affiliate-fg-hover: var(--pm-white);
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 13px 18px;
  border: 0;
  border-radius: 99px;
  background: var(--pm-affiliate-bg);
  color: var(--pm-affiliate-fg) !important;
  font-weight: 900;
  box-shadow: 0 4px 12px color-mix(in srgb, var(--pm-affiliate-bg) 26%, transparent);
  transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
}
.pm-affiliate-cta:hover,
.pm-attraction-affiliate:hover {
  background: var(--pm-affiliate-bg-hover);
  color: var(--pm-affiliate-fg-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--pm-affiliate-bg) 36%, transparent);
}
.pm-affiliate-cta:active,
.pm-attraction-affiliate:active {
  transform: translateY(0);
}
.pm-affiliate-cta span,
.pm-attraction-affiliate span {
  color: inherit;
}
.pm-affiliate-cta img,
.pm-attraction-affiliate img {
  width: auto;
  max-width: 98px;
  height: 23px;
  object-fit: contain;
}
.pm-affiliate-viator {
  --pm-affiliate-bg: var(--pm-viator);
  --pm-affiliate-bg-hover: var(--pm-viator-hover);
}
.pm-affiliate-getyourguide {
  --pm-affiliate-bg: var(--pm-getyourguide);
  --pm-affiliate-bg-hover: var(--pm-getyourguide-hover);
}
.pm-affiliate-tripcom {
  --pm-affiliate-bg: var(--pm-tripcom);
  --pm-affiliate-bg-hover: var(--pm-tripcom-hover);
}
.pm-affiliate-klook {
  --pm-affiliate-bg: var(--pm-klook);
  --pm-affiliate-bg-hover: var(--pm-klook-hover);
}
.pm-affiliate-gocity {
  --pm-affiliate-bg: var(--pm-gocity);
  --pm-affiliate-bg-hover: var(--pm-gocity-hover);
}
.pm-affiliate-discovercars {
  --pm-affiliate-bg: var(--pm-discovercars);
  --pm-affiliate-bg-hover: var(--pm-discovercars-hover);
}
.pm-affiliate-rentalcars {
  --pm-affiliate-bg: var(--pm-rentalcars);
  --pm-affiliate-bg-hover: var(--pm-rentalcars-hover);
}
.pm-affiliate-wegotrip {
  --pm-affiliate-bg: var(--pm-wegotrip);
  --pm-affiliate-bg-hover: var(--pm-wegotrip-hover);
}
.pm-affiliate-kkdayjp {
  --pm-affiliate-bg: var(--pm-kkdayjp);
  --pm-affiliate-bg-hover: var(--pm-kkdayjp-hover);
}
.pm-affiliate-kkday {
  --pm-affiliate-bg: var(--pm-kkday);
  --pm-affiliate-bg-hover: var(--pm-kkday-hover);
}
.pm-affiliate-pelago {
  --pm-affiliate-bg: var(--pm-pelago);
  --pm-affiliate-bg-hover: var(--pm-pelago-hover);
}
.pm-affiliate-ninjawifi {
  --pm-affiliate-bg: var(--pm-ninjawifi);
  --pm-affiliate-bg-hover: var(--pm-ninjawifi-hover);
  --pm-affiliate-fg: var(--pm-ink);
  --pm-affiliate-fg-hover: var(--pm-ink);
}
.pm-affiliate-bookingcom {
  --pm-affiliate-bg: var(--pm-bookingcom);
  --pm-affiliate-bg-hover: var(--pm-bookingcom-hover);
}
.pm-affiliate-agoda {
  --pm-affiliate-bg: var(--pm-agoda);
  --pm-affiliate-bg-hover: var(--pm-agoda-hover);
}
.pm-affiliate-expedia {
  --pm-affiliate-bg: var(--pm-expedia);
  --pm-affiliate-bg-hover: var(--pm-expedia-hover);
}
.pm-affiliate-yesim {
  --pm-affiliate-bg: var(--pm-yesim);
  --pm-affiliate-bg-hover: var(--pm-yesim-hover);
}
.pm-affiliate-traveloka {
  --pm-affiliate-bg: var(--pm-traveloka);
  --pm-affiliate-bg-hover: var(--pm-traveloka-hover);
}
.pm-affiliate-airalo {
  --pm-affiliate-bg: var(--pm-airalo);
  --pm-affiliate-bg-hover: var(--pm-airalo-hover);
}
.pm-affiliate-12go {
  --pm-affiliate-bg: var(--pm-12go);
  --pm-affiliate-bg-hover: var(--pm-12go-hover);
}
.pm-affiliate-visitorscoverage {
  --pm-affiliate-bg: var(--pm-visitorscoverage);
  --pm-affiliate-bg-hover: var(--pm-visitorscoverage-hover);
}
.pm-affiliate-getrentacar {
  --pm-affiliate-bg: var(--pm-getrentacar);
  --pm-affiliate-bg-hover: var(--pm-getrentacar-hover);
}
.pm-affiliate-radicalstorage {
  --pm-affiliate-bg: var(--pm-radicalstorage);
  --pm-affiliate-bg-hover: var(--pm-radicalstorage-hover);
}
.pm-affiliate-saily {
  --pm-affiliate-bg: var(--pm-saily);
  --pm-affiliate-bg-hover: var(--pm-saily-hover);
  --pm-affiliate-fg: var(--pm-ink);
  --pm-affiliate-fg-hover: var(--pm-ink);
}
.pm-attraction-gallery-swiper,
.pm-related-attractions-swiper {
  overflow: hidden;
  padding: 4px 0;
}
.pm-attraction-gallery-swiper .swiper-slide,
.pm-related-attractions-swiper .swiper-slide { height: auto; }
.pm-attraction-gallery-slide {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: var(--pm-r);
  background: var(--pm-line-2);
  box-shadow: var(--pm-shadow-sm);
  position: relative;
}
.pm-attraction-gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}
.pm-attraction-gallery-slide:hover img { transform: scale(1.04); }

.gallery-hover-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(2px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 2;
}

.pm-attraction-gallery-slide:hover .gallery-hover-overlay {
  opacity: 1;
}

.gallery-hover-overlay svg {
  width: 24px;
  height: 24px;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transform: scale(0.8);
}

.pm-attraction-gallery-slide:hover .gallery-hover-overlay svg {
  transform: scale(1);
}

.pm-attraction-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 44px;
  align-items: start;
  padding: 34px 0 20px;
}
.pm-attraction-content { min-width: 0; }
.pm-attraction-section,
.pm-attraction-verdict {
  padding: 34px 0;
  border-top: 1px solid var(--pm-line);
}
.pm-attraction-section:first-child { border-top: 0; padding-top: 0; }
.pm-attraction-extra-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height .25s ease;
}
.pm-attraction-extra-content.is-open { max-height: none; }
.pm-attraction-readmore {
  position: relative;
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--pm-red);
  font: 900 16px/1 var(--pm-sans);
  padding: 10px 28px 10px 0;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0;
  animation: pm-readmore-pulse 2.6s ease-in-out infinite;
}
.pm-attraction-readmore::before {
  content: "";
  position: absolute;
  left: 0;
  right: 28px;
  bottom: 3px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: left;
  transition: transform .2s ease;
}
.pm-attraction-readmore::after {
  content: "\2192";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-52%);
  transition: transform .2s ease;
}
.pm-attraction-readmore:hover {
  color: var(--pm-red-deep);
  animation-play-state: paused;
}
.pm-attraction-readmore:hover::before {
  transform: scaleX(.82);
}
.pm-attraction-readmore:hover::after {
  transform: translate(4px, -52%);
}
@keyframes pm-readmore-pulse {
  0%, 100% {
    text-shadow: 0 0 0 color-mix(in srgb, var(--pm-red) 0%, transparent);
  }
  50% {
    text-shadow: 0 0 14px color-mix(in srgb, var(--pm-red) 34%, transparent);
  }
}
@media (prefers-reduced-motion: reduce) {
  .pm-attraction-readmore {
    animation: none;
  }
}
.pm-attraction-list-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.pm-attraction-list-item {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 16px;
  background: var(--pm-card);
  border: 1px solid var(--pm-line);
  border-radius: var(--pm-r);
  box-shadow: var(--pm-shadow-sm);
}
.pm-attraction-list-item svg {
  width: 30px;
  height: 30px;
  padding: 7px;
  border-radius: 50%;
  background: var(--pm-red-soft);
  color: var(--pm-red);
}
.pm-attraction-list-item span {
  color: var(--pm-body);
  line-height: 1.55;
  font-size: .95rem;
}
.pm-attraction-verdict {
  padding: 28px;
  background: var(--pm-card);
  border: 1px solid var(--pm-line);
  border-radius: var(--pm-r-lg);
  box-shadow: var(--pm-shadow-sm);
}
.pm-attraction-score {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  margin: 18px 0;
  color: var(--pm-red);
}
.pm-attraction-score svg {
    width: 24px;
    height: 24px;
    fill: #DF9755;
}
.pm-attraction-score strong {
  color: var(--pm-ink);
  font-family: var(--pm-display);
  font-size: 36px;
  line-height: 1;
}
.pm-attraction-score span { color: var(--pm-faint); font-weight: 800; }
.pm-attraction-aside {
  position: sticky;
  top: calc(var(--pm-header-h) + 24px);
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.pm-attraction-aside hr {
  margin: 15px auto!important;
  background: linear-gradient(to right, transparent, var(--pm-line-2) 18%, var(--pm-line-2) 82%, transparent)!important;
}
.pm-attraction-panel {
  padding: 20px;
  background: var(--pm-card);
  border: 1px solid var(--pm-line);
  border-radius: var(--pm-r);
  box-shadow: var(--pm-shadow-sm);
}
.pm-attraction-panel h3 {
  font-family: var(--pm-display);
  color: var(--pm-ink);
  font-size: 18px;
  line-height: 1.15;
  margin: 0 0 16px;
}
.pm-attraction-detail-list,
.pm-attraction-contact-list {
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.pm-attraction-detail-list > div,
.pm-attraction-detail-row {
  display: grid;
  gap: 3px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--pm-line-2);
}
.pm-attraction-detail-list > div:last-child,
.pm-attraction-detail-row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.pm-attraction-detail-list > div > span,
.pm-attraction-detail-row > span {
  color: var(--pm-faint);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.pm-attraction-detail-list > div > strong,
.pm-attraction-detail-list > div > p,
.pm-attraction-detail-row > strong,
.pm-attraction-detail-row > p {
  color: var(--pm-ink);
  font-size: 14px;
  line-height: 1.45;
  margin: 0;
}
.pm-attraction-detail-row--prose {
  gap: 9px;
}
.pm-attraction-widget-prose {
  color: var(--pm-body);
  font-size: 14.5px;
  line-height: 1.62;
}
.pm-attraction-widget-prose > *:first-child { margin-top: 0; }
.pm-attraction-widget-prose > *:last-child { margin-bottom: 0; font-size: 13px;}
.pm-attraction-widget-prose p {
  margin: 0 0 12px;
}
.pm-attraction-widget-prose h2,
.pm-attraction-widget-prose h3,
.pm-attraction-widget-prose h4 {
  font-family: var(--pm-display);
  color: var(--pm-ink);
  line-height: 1.18;
  letter-spacing: 0;
}
.pm-attraction-widget-prose h2 {
  margin: 22px 0 10px;
  font-size: 21px;
}
.pm-attraction-widget-prose h3 {
  margin: 20px 0 9px;
  font-size: 18px;
}
.pm-attraction-widget-prose h4 {
  margin: 18px 0 8px;
  font-size: 15px;
  font-weight: 900;
  text-transform: uppercase;
}
.pm-attraction-widget-prose strong {
  color: var(--pm-ink);
  font-weight: 800;
}
.pm-attraction-widget-prose em {
  color: var(--pm-body);
}
.pm-attraction-widget-prose a {
  color: var(--pm-red);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  text-decoration-color: var(--pm-red-line);
}
.pm-attraction-widget-prose a:hover {
  text-decoration-color: var(--pm-red);
}
.pm-attraction-widget-prose ul,
.pm-attraction-widget-prose ol {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 0 0 14px;
  padding-left: 4px;
}
.pm-attraction-widget-prose li {
  position: relative;
  padding-left: 24px;
  font-size: 14px;
}
.pm-attraction-widget-prose ul li::before {
  content: "";
  position: absolute;
  left: 6px;
  top: .68em;
  width: 7px;
  height: 7px;
  border-radius: 2px;
  background: var(--pm-red);
  transform: rotate(45deg);
}
.pm-attraction-widget-prose ol {
  counter-reset: attraction-widget-list;
}
.pm-attraction-widget-prose ol li {
  counter-increment: attraction-widget-list;
}
.pm-attraction-widget-prose ol li::before {
  content: counter(attraction-widget-list);
  position: absolute;
  left: 0;
  top: .1em;
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  background: var(--pm-red-soft);
  color: var(--pm-red-ink);
  font-size: 11px;
  font-weight: 900;
}
.pm-attraction-widget-prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.4;
}
.pm-attraction-widget-prose th,
.pm-attraction-widget-prose td {
  padding: 7px 0;
  border-bottom: 1px solid var(--pm-line-2);
  text-align: left;
  vertical-align: top;
}
.pm-attraction-widget-prose th {
  color: var(--pm-faint);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.pm-attraction-widget-prose th:last-child,
.pm-attraction-widget-prose td:last-child {
  color: var(--pm-ink);
  font-weight: 700;
  text-align: right;
}
.pm-attraction-widget-prose tr:last-child th,
.pm-attraction-widget-prose tr:last-child td {
  border-bottom: 0;
}
.pm-attraction-widget-prose blockquote {
  margin: 16px 0;
  padding: 2px 0 2px 16px;
  border-left: 4px solid var(--pm-red);
  color: var(--pm-body);
  font-weight: 600;
}
.pm-attraction-widget-prose hr {
  border: 0;
  border-top: 1px solid var(--pm-line);
  margin: 16px 0;
}
.pm-attraction-contact-list a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--pm-body);
  font-weight: 800;
  overflow-wrap: anywhere;
}
.pm-attraction-contact-list a:hover { color: var(--pm-red); }
.pm-attraction-contact-list svg { color: var(--pm-red); flex: 0 0 auto; }
.pm-attraction-map-frame {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: var(--pm-r-sm);
  background: var(--pm-line-2);
  margin-bottom: 14px;
}
.pm-attraction-map-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.pm-attraction-topic-list a:hover {
  background: var(--pm-red);
  color: var(--pm-white);
  border-color: var(--pm-red);
}
.pm-attraction-mini-card {
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  background: var(--pm-card);
  border: 1px solid var(--pm-line);
  border-radius: var(--pm-r-lg, 12px);
  box-shadow: var(--pm-shadow-sm);
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.4s ease, border-color 0.4s ease;
  font-family: var(--pm-sans, sans-serif);
}
.pm-attraction-mini-card a {
  text-decoration: none !important;
  color: inherit !important;
}
.pm-attraction-mini-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--pm-shadow-lg);
  border-color: var(--pm-red-line, var(--pm-line));
}
.pm-attraction-mini-card .thumb {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--pm-line-2);
  position: relative;
}
.pm-attraction-mini-card .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.pm-attraction-mini-card:hover .thumb img { transform: scale(1.05); }
.pm-attraction-mini-card .body {
  padding: 18px;
}
.pm-attraction-mini-card h3 {
  margin: 0 0 10px;
  font-family: var(--pm-display, inherit);
  color: var(--pm-ink);
  font-size: 19px;
  line-height: 1.25;
  transition: color 0.2s;
}
.pm-attraction-mini-card h3 a {
  color: var(--pm-ink) !important;
}
.pm-attraction-mini-card:hover h3 a,
.pm-attraction-mini-card h3 a:hover {
  color: var(--pm-red) !important;
}
.pm-attraction-mini-card p {
  color: var(--pm-slate);
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.5;
  font-family: var(--pm-sans, inherit);
}
.pm-attraction-mini-card .price {
  color: var(--pm-red);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--pm-sans, inherit);
}
.pm-attraction-more {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}
.pm-attraction-article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.pm-attraction-widget-inner {
  padding: 18px;
  overflow: hidden;
}
.pm-attraction-disclaimer { padding-top: 18px; }
.pm-attraction-disclaimer-inner {
  max-width: 100%;
  padding: 24px;
}
.pm-attraction-disclaimer h2 {
  font-size: 22px;
  margin: 0 0 12px;
}
.pm-attraction-disclaimer p {
  color: var(--pm-slate);
  font-size: 13.5px;
  line-height: 1.6;
  margin: 0 0 10px;
}
.pm-attraction-disclaimer p:last-child { margin-bottom: 0; }

@media (max-width: 1050px) {
  .pm-attraction-hero-grid,
  .pm-attraction-layout,
  .pm-attraction-booking-panel {
    grid-template-columns: 1fr;
  }
  .pm-attraction-aside {
    position: static;
  }
  .pm-attraction-hero-card,
  .pm-attraction-hero-card > img {
    min-height: 360px;
  }
}

@media (max-width: 760px) {
  .pm-attraction-hero {
    padding: 26px 0 34px;
  }
  .pm-attraction-hero-grid {
    gap: 24px;
  }
  .pm-attraction-title {
    font-size: clamp(38px, 13vw, 54px);
  }
  .pm-attraction-dek {
    font-size: 17px;
  }
  .pm-attraction-hero-card,
  .pm-attraction-hero-card > img {
    min-height: 300px;
  }
  .pm-attraction-quickbook {
    position: static;
    grid-template-columns: 1fr;
    margin: 0;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
  }
  .pm-attraction-quickbook .pm-btn {
    grid-row: auto;
    grid-column: auto;
    justify-content: center;
  }
  .pm-attraction-booking,
  .pm-attraction-gallery-section,
  .pm-attraction-related,
  .pm-attraction-widget,
  .pm-attraction-disclaimer {
    padding: 30px 0;
  }
  .pm-attraction-booking-panel {
    padding: 22px;
  }
  .pm-attraction-cta-grid,
  .pm-attraction-list-grid,
  .pm-attraction-article-grid {
    grid-template-columns: 1fr;
  }
  .pm-attraction-layout {
    gap: 26px;
    padding-top: 20px;
  }
  .pm-attraction-section,
  .pm-attraction-verdict {
    padding: 28px 0;
  }
  .pm-attraction-verdict {
    padding: 22px;
  }
}

/* Lightbox overlay */
.gallery-lightbox {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.gallery-lightbox:not([hidden]) {
  display: flex;
}

.gallery-lightbox__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(1, 30, 16, 0.95);
}

.gallery-lightbox__close {
  position: absolute;
  top: 24px;
  right: 24px;
  background: none;
  border: none;
  color: var(--pm-white, #fff);
  cursor: pointer;
  z-index: 10;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
}

.gallery-lightbox__close:hover {
  background: rgba(255, 255, 255, 0.1);
}

.gallery-lightbox__stage {
  position: relative;
  z-index: 2;
  max-width: 90%;
  max-height: 80vh;
  text-align: center;
}

.gallery-lightbox__img {
  max-width: 100%;
  max-height: 75vh;
  object-fit: contain;
  border-radius: var(--pm-r-sm, 4px);
  box-shadow: 0 10px 40px rgba(0,0,0,0.5);
}

.gallery-lightbox__counter {
  color: var(--pm-white, #fff);
  font-size: 14px;
  margin-top: 15px;
  font-weight: 500;
  opacity: 0.8;
}

.gallery-lightbox__prev,
.gallery-lightbox__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--pm-white, #fff);
  cursor: pointer;
  z-index: 10;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
}

.gallery-lightbox__prev { left: 24px; }
.gallery-lightbox__next { right: 24px; }

.gallery-lightbox__prev:hover,
.gallery-lightbox__next:hover {
  background: rgba(255, 255, 255, 0.1);
}

@media (max-width: 640px) {
  .gallery-lightbox__prev,
  .gallery-lightbox__next {
    display: none !important;
  }
}

.pm-attraction-main hr {
  border: none;
  margin: 42px auto;
  width: 100%;
  position: relative;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--pm-line) 18%, var(--pm-line) 82%, transparent);
}
@media all{
.omio-routes-wrap{font-family:var(--omio-font)!important;color:var(--omio-text-primary)!important;margin:1.75em 0!important;box-sizing:border-box!important;}
.omio-routes-wrap *,.omio-routes-wrap *::before,.omio-routes-wrap *::after{box-sizing:inherit!important;}
.omio-routes-section-title{font-size:1.25rem!important;font-weight:700!important;color:var(--omio-text-primary)!important;margin:0 0 0.875em!important;padding:0!important;border:none!important;line-height:1.3!important;}
.omio-destination-image{margin-bottom:.5em!important;border-radius:var(--omio-radius)!important;overflow:hidden!important;line-height:0!important;}
.omio-destination-image img{width:100%!important;height:auto!important;object-fit:cover!important;display:block!important;border-radius:var(--omio-radius)!important;}
.omio-table-scroll{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
.omio-routes-table{width:100%!important;border-collapse:collapse!important;font-size:0.9375rem!important;background:var(--omio-bg)!important;border:1px solid var(--omio-border)!important;border-radius:var(--omio-radius)!important;overflow:hidden!important;margin:0 0 10px!important;}
.omio-routes-table thead tr{background:var(--omio-surface)!important;}
.omio-routes-table th{padding:0.7em 1em!important;text-align:left!important;font-size:0.8125rem!important;font-weight:900!important;color:var(--omio-text-secondary)!important;text-transform:uppercase!important;letter-spacing:0.04em!important;border-bottom:2px solid var(--omio-border)!important;white-space:nowrap!important;}
.omio-routes-table td{padding:0.75em 1em!important;border-bottom:1px solid var(--omio-border)!important;vertical-align:middle!important;color:var(--omio-text-primary)!important;line-height:1.45!important;}
.omio-routes-table tbody tr:last-child td{border-bottom:none!important;}
.omio-routes-table tbody tr:hover{background:var(--omio-surface)!important;transition:background 0.12s ease!important;}
.omio-col-origin strong{display:block!important;font-weight:600!important;color:var(--omio-text-primary)!important;}
.omio-country-code{display:inline-block!important;font-size:0.75rem!important;color:var(--omio-text-muted)!important;margin-top:0.125em!important;font-family:var(--omio-font-mono)!important;}
.omio-duration{display:block!important;font-size:0.8125rem!important;color:var(--omio-text-muted)!important;margin-top:0.2em!important;}
.omio-col-book{white-space:nowrap!important;}
.omio-mode-icon{display:inline-block!important;width:1em!important;height:1em!important;margin-right:0.3em!important;vertical-align:middle!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;opacity:0.7!important;}
.omio-icon-train  { background-image: url("../img/icon-train.svg")!important;  }
.omio-icon-bus    { background-image: url("../img/icon-bus.svg")!important;    }
.omio-icon-flight { background-image: url("../img/icon-flight.svg")!important; }
.omio-icon-ferry  { background-image: url("../img/icon-ferry.svg")!important;  }
.omio-cta-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0.5em 1em!important;background:var(--omio-accent)!important;color:#ffffff!important;font-size:0.875rem!important;font-weight:600!important;border-radius:var(--omio-radius-sm)!important;text-decoration:none!important;white-space:nowrap!important;transition:background 0.15s ease, transform 0.1s ease!important;line-height:1.4!important;}
.omio-cta-btn:hover,.omio-cta-btn:focus{background:var(--omio-accent-hover)!important;color:#ffffff!important;transform:translateY(-1px)!important;outline:3px solid var(--omio-accent-light)!important;outline-offset:2px!important;}
.omio-affiliate-note{font-size:0.8125rem!important;color:var(--omio-text-muted)!important;margin:0.625em 0 0!important;line-height:1.5!important;}
@media (max-width: 640px){
.omio-routes-table th,.omio-routes-table td{padding:0.6em 0.65em!important;font-size:0.875rem!important;}
.omio-destination-image img{height:160px!important;}
}
}
@media all{
.pm-attraction-main table{width:100%;border-collapse:collapse;margin:30px 0;font-size:15.5px;line-height:1.5;background:var(--pm-card);border:1px solid var(--pm-line);border-radius:var(--pm-r);overflow:hidden;box-shadow:var(--pm-shadow-sm);}
.pm-attraction-main table th,.pm-attraction-main table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--pm-line-2);}
.pm-attraction-main table th{font-family:var(--pm-display);font-weight:800;font-size:14px;letter-spacing:.02em;text-transform:uppercase;background:var(--pm-red-soft);color:var(--pm-red-ink);border-bottom:2px solid var(--pm-red-line);}
.pm-attraction-main table tr:last-child td{border-bottom:0;}
.pm-attraction-main table tr:nth-child(even){background:color-mix(in srgb, var(--pm-white) 40%, transparent);}
}
/* Summary & Key Takeaways */
@media all{
.summary-keytakeaways{position:relative;overflow:hidden;margin:36px 0;background:var(--pm-card);border:1px solid color-mix(in srgb, var(--pm-red-line) 70%, var(--pm-line));border-left:4px solid var(--pm-red);border-radius:var(--pm-r);box-shadow:var(--pm-shadow-sm);}
.summary-heading{display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:18px 24px;align-items:center;padding:28px clamp(24px, 4vw, 34px);background:linear-gradient(115deg, color-mix(in srgb, var(--pm-red-soft) 44%, var(--pm-card)) 0%, var(--pm-card) 78%);border-bottom:1px solid transparent;}
.summary-keytakeaways:not(.is-collapsed) .summary-heading{border-bottom-color:color-mix(in srgb, var(--pm-red-line) 45%, var(--pm-line-2));}
.summary-heading-main{min-width:0;display:grid;gap:16px;}
.summary-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--pm-red);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;line-height:1;}
.summary-kicker::before{content:"";width:22px;height:2px;border-radius:999px;background:currentColor;}
.summary-title{margin:0;color:var(--pm-ink);font-family:var(--pm-display);font-size:clamp(25px, 2.4vw, 30px);font-weight:800;line-height:1.12;letter-spacing:0;}
.toggle-summary{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;gap:10px;appearance:none;border:1px solid color-mix(in srgb, var(--pm-red) 18%, var(--pm-line));border-radius:999px;padding:8px 10px 8px 18px;background:color-mix(in srgb, var(--pm-red-soft) 82%, var(--pm-card));color:var(--pm-red-ink);font-family:var(--pm-sans);font-size:14px;font-weight:900;line-height:1;cursor:pointer;transition:border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;}
.toggle-summary:hover{border-color:var(--pm-red);background:color-mix(in srgb, var(--pm-red-soft) 72%, var(--pm-card));color:var(--pm-red-deep);box-shadow:var(--pm-shadow-sm);}
.toggle-summary-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--pm-card);color:var(--pm-red);transition:transform .2s ease, background .2s ease, color .2s ease;}
.toggle-summary-icon svg{width:14px;height:14px;}
.summary-keytakeaways:not(.is-collapsed) .toggle-summary-icon{transform:rotate(45deg);background:var(--pm-red);color:var(--pm-white);}
.summary-isi{max-width:860px;padding:24px clamp(24px, 4vw, 34px) 30px;color:var(--pm-body);font-size:16.5px;line-height:1.72;}
.summary-isi > *:first-child{margin-top:0;}
.summary-isi > *:last-child{margin-bottom:0;}
.summary-isi strong{color:var(--pm-ink);font-weight:800;}
.summary-isi ul{list-style:none;display:flex;flex-direction:column;gap:13px;margin:0;padding-left:0;}
.summary-isi li{position:relative;padding-left:30px;}
.summary-isi ul li::before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;border-radius:2px;background:var(--pm-red);transform:rotate(45deg);}
@media (max-width: 720px){
.summary-keytakeaways{margin:30px 0;}
.summary-heading{grid-template-columns:minmax(0, 1fr) auto;align-items:start;gap:14px;padding:22px 20px;}
.summary-heading-main{gap:14px;}
.summary-kicker{font-size:10.5px;gap:8px;}
.summary-kicker::before{width:20px;}
.summary-title{font-size:23px;line-height:1.12;}
.toggle-summary{width:auto;min-height:40px;align-self:start;padding:7px 9px 7px 14px;font-size:13.5px;}
.toggle-summary-icon{width:25px;height:25px;}
.summary-isi{max-width:none;padding:20px 20px 24px;font-size:16px;line-height:1.68;}
.summary-isi ul{gap:14px;}
}
@media (max-width: 380px){
.summary-heading{grid-template-columns:1fr;}
.toggle-summary{width:100%;justify-content:space-between;}
}
}
.pm-prose .summary-keytakeaways + hr { margin: 34px auto 38px; }