/* Destination and excursion pages (index and detail). Mobile first.
   Loaded after content.css and charter.css; overrides the legacy grid shims inside body.pg. */

/* Hero */
.pg-hero { position: relative; display: flex; align-items: flex-end; min-height: min(70svh, 600px); min-height: min(70vh, 600px); color: var(--white); background: var(--sea-900); overflow: hidden; isolation: isolate; }
.pg-hero__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.pg-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(6, 26, 32, .55) 0%, rgba(6, 26, 32, 0) 32%, rgba(6, 26, 32, .1) 55%, rgba(6, 26, 32, .8) 100%); }
.pg-hero__in { width: 100%; max-width: var(--container); margin: 0 auto; padding: 120px var(--gutter) 40px; }
body.cc .pg-hero h1 { margin: 0; max-width: 16ch; color: var(--white); font: 500 clamp(42px, 12vw, 96px)/1 var(--font-serif); letter-spacing: -.02em; text-wrap: balance; }
@media (prefers-reduced-motion: no-preference) {
  .pg-hero__img { animation: yc-zoom 2.4s var(--ease) both; }
  .pg-hero h1 { animation: yc-rise 1s var(--ease) .15s both; }
}

/* Breadcrumb bar */
body.pg .breadcrumb-sec { background: var(--white); }
body.pg .breadcrumb-sec .breadcrumb { max-width: var(--container); padding-left: var(--gutter); padding-right: var(--gutter); }

/* Detail pages: legacy markup restyled */
.pg main > section:not(.pg-hero):not(.pg-more):not(.pg-cta):not(.pg-list) { padding-top: clamp(40px, 8vw, 88px); padding-bottom: 0; }
.pg main > section.padb-100, .pg main > section.padb-100:last-of-type { padding-top: clamp(32px, 6vw, 56px); padding-bottom: clamp(56px, 10vw, 110px); }
.pg main > section.cc-container { max-width: var(--container); padding-left: var(--gutter); padding-right: var(--gutter); }
.pg main > section > .cc-container { max-width: var(--container); padding-left: var(--gutter); padding-right: var(--gutter); }
.pg main h2.text-green { margin-bottom: 8px; color: var(--sea-900); font-size: clamp(34px, 8.6vw, 64px); text-align: left; }
.pg main .row { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: start; margin: 0; padding-top: 0; }
.pg main .row.padt-20, .pg main .row.padt-40, .pg main .row.pad-20 { padding-top: 12px; }
.pg main .row > [class*="col-"] { width: auto; max-width: none; padding: 0; }
.pg main .row > .col-md-3:empty { display: none; }
.pg main .row:has(> .col-md-3) { max-width: none; margin: 0; }
.pg main h4 { margin: 0 0 18px; font: italic 500 clamp(26px, 6.4vw, 36px)/1.22 var(--font-serif); color: var(--teal-700); text-wrap: balance; }
.pg main p { margin: 0 0 1.1em; font-size: 17px; line-height: 1.75; color: #3d4f55; max-width: 62ch; }
.pg main p strong { color: var(--sea-900); }
.pg main .mt60 { margin-top: clamp(28px, 5vw, 48px); }
.pg main .pad-60 { padding: clamp(28px, 5vw, 48px) 0 0; }

.pg-img { margin: 0 calc(var(--gutter) * -1); }
.pg-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* Info card: what to see */
.pg main .loinfobox { padding: 30px 24px; border-radius: 18px; background: var(--sand-50); box-shadow: none; border: 0; }
.pg main .loinfobox h3 { margin: 0 0 18px; font-size: clamp(28px, 7vw, 38px); line-height: 1.1; }
.pg main .loinfobox ul { margin: 0; padding: 0; list-style: none; columns: 1; }
.pg main .loinfobox li { position: relative; padding: 9px 0 9px 24px; border-bottom: 1px solid var(--sand-200); break-inside: avoid; }
.pg main .loinfobox li::before { content: ""; position: absolute; left: 0; top: 20px; width: 8px; height: 8px; border-radius: 50%; background: var(--sun-deep); }
.pg main .row.loinfobox, .pg main .row > .loinfobox { padding: 30px 24px; }

/* Gallery */
.pg-gallery-wrap { margin-top: clamp(48px, 8vw, 96px); }
.pg-gallery-wrap .yc-rule { margin-bottom: clamp(24px, 4vw, 40px); }
.pg-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.pg-gallery a { display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 12px; background: var(--sand-100); }
.pg-gallery a:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
.pg-gallery a:last-child:nth-child(even) { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
.pg-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.pg-gallery a:hover img { transform: scale(1.05); }

/* Listing cards (index pages) */
.pg-list { padding: clamp(56px, 10vw, 120px) 0; }
.pg-list__head { max-width: 860px; margin-bottom: clamp(32px, 6vw, 64px); }
.pg-cards { display: grid; gap: 28px 24px; grid-template-columns: 1fr; }
body.cc a.pg-card { display: flex; flex-direction: column; overflow: hidden; border-radius: 18px; background: var(--white); color: var(--sea-900); box-shadow: 0 1px 0 var(--sand-200), 0 30px 50px -40px rgba(6, 26, 32, .4); }
.pg-card__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.pg-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.pg-card:hover .pg-card__img img { transform: scale(1.05); }
.pg-card__body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 24px 22px 26px; }
body.cc .pg-card h3 { font-size: clamp(32px, 8.4vw, 42px); line-height: 1.04; text-transform: capitalize; }
.pg-card__tag { font: italic 500 20px/1.25 var(--font-serif); color: var(--teal-700); text-transform: none; }
.pg-card__desc { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; font-size: 15.5px; line-height: 1.65; color: #4a5c62; }
.pg-card .yc-place__link { margin-top: auto; padding-top: 6px; }
.pg-card:hover .yc-arrow { transform: translateX(5px); }

/* More + call to action */
.pg-more { padding: clamp(56px, 10vw, 110px) 0; background: var(--sand-50); }
.pg-cta { padding: clamp(72px, 12vw, 130px) 0; background: var(--sea-900); color: var(--white); }
body.cc .pg-cta .yc-title { max-width: 16ch; color: var(--white); }
body.cc .pg-cta .yc-title em { color: var(--sun); }
.pg-cta .yc-lede { margin-top: 22px; max-width: 34ch; color: rgba(255, 255, 255, .86); }
body.cc .pg-cta .yc-hero__cta .cc-btn { flex: 1 1 auto; justify-content: center; }

@media (min-width: 640px) {
  .pg main .loinfobox ul { columns: 2; column-gap: 32px; }
  .pg-cards { grid-template-columns: repeat(2, 1fr); }
  body.cc .pg-cta .yc-hero__cta .cc-btn { flex: 0 0 auto; }
}
@media (min-width: 768px) {
  .pg-img { margin: 0; }
  .pg-img img { border-radius: 18px; }
  .pg main .row.loinfobox, .pg main .row > .loinfobox { padding: 40px; }
  .pg main .row.loinfobox { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
  .pg main .row.loinfobox > [class*="col-"] { background: none; }
  .pg-hero__in { padding-bottom: 64px; }
}
@media (min-width: 960px) {
  .pg main .row { grid-template-columns: 1.05fr 1fr; gap: 80px; }
  .pg main .row:has(> .col-md-3:empty) { grid-template-columns: 1fr; max-width: none; margin: 0; }
  .pg main .row.loinfobox { grid-template-columns: 1fr 1fr; }
  .pg main .row .pg-img { position: sticky; top: 100px; }
  .pg main .mt60, .pg main .pad-60 { column-count: 2; column-gap: 72px; }
  .pg main .mt60 p, .pg main .pad-60 p { max-width: none; break-inside: avoid-column; }
  .pg-gallery { grid-template-columns: repeat(6, 1fr); gap: 12px; }
  .pg-gallery a { grid-column: span 2; border-radius: 14px; }
  .pg-gallery a:first-child { grid-column: span 4; grid-row: span 2; aspect-ratio: auto; min-height: 380px; }
  .pg-gallery a:last-child:nth-child(even) { grid-column: span 2; aspect-ratio: 4 / 3; }
  .pg-cards { grid-template-columns: repeat(3, 1fr); gap: 32px 28px; }
}

/* Space between the last content block and the sections that follow */
.pg main > section:not(.pg-hero):not(.pg-more):not(.pg-cta):not(.pg-list):has(+ .pg-more) { padding-bottom: clamp(56px, 10vw, 110px); }

.pg-hero picture { position: absolute; inset: 0; z-index: -2; display: block; }
.pg-hero picture .pg-hero__img { position: static; z-index: auto; }
