/* =====================================================================
   Pink City Trails - interior pages (Phase 5). Loaded on every page except the homepage.
   ===================================================================== */

/* full-bleed shell for pages built from a shortcode (same trick as the homepage) */
.pct-page-wrap{padding-left:0 !important;padding-right:0 !important}
.pct-page-wrap > *{margin-block:0}
:where(.pg) :where(h1,h2,h3){margin:0}
.pg .ds-eyebrow{margin:0 0 var(--ds-s4)}
.pg .ds-lead{margin-top:var(--ds-s5)}
.pg-num{display:block;font-family:var(--ds-serif);font-style:italic;font-size:1.25rem;color:var(--ds-saffron);margin-bottom:16px}

/* ---------- Our guides ---------- */
.pg-hero{padding-top:clamp(40px, 5vw, 88px)}
.pg-hero__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px, 6vw, 110px);align-items:center}
.pg-hero__copy .ds-h1{max-width:13ch}
.pg-hero__media{aspect-ratio:4/5;overflow:hidden;border-radius:var(--ds-r-md);box-shadow:var(--ds-shadow-1)}
.pg-hero__img{width:100%;height:100%;object-fit:cover;display:block}

.pg-facts__head{max-width:46rem;margin-bottom:clamp(36px, 4vw, 64px)}
.pg-facts__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:clamp(24px, 3vw, 56px)}
.pg-facts__list li{padding-top:24px;border-top:1px solid rgba(246,241,233,.22)}
.pg-facts__list h3{font-family:var(--ds-serif);font-size:var(--ds-fs-h4);line-height:1.2;margin:0 0 12px;color:var(--ds-on-dark)}
.pg-facts__list p{margin:0;line-height:1.65;color:var(--ds-on-dark-muted)}

.pg-how__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px, 6vw, 110px);align-items:center}
.pg-how__media{aspect-ratio:4/5;overflow:hidden;border-radius:var(--ds-r-md);box-shadow:var(--ds-shadow-1)}
.pg-how__img{width:100%;height:100%;object-fit:cover;display:block}
.pg-how__copy h2{margin-bottom:clamp(24px, 3vw, 40px)}
.pg-steps{list-style:none;margin:0;padding:0}
.pg-steps li{display:grid;grid-template-columns:minmax(120px, 170px) 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--ds-line-strong)}
.pg-steps li:last-child{border-bottom:1px solid var(--ds-line-strong)}
.pg-steps__when{font-size:var(--ds-fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ds-accent);padding-top:.3em}
.pg-steps p{margin:0;color:var(--ds-ink-soft)}

.pg-close .ds-lead,.pg-honest .ds-lead{margin-inline:auto}
.pg-close .ds-lead{color:var(--ds-on-dark-muted)}

@media (max-width: 1100px){
	.pg-facts__list{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width: 781px){
	.pg-hero__grid,.pg-how__grid{grid-template-columns:1fr}
	.pg-hero__media,.pg-how__media{aspect-ratio:4/3}
	.pg-how__media{order:-1}
	.pg-facts__list{grid-template-columns:1fr}
	.pg-steps li{grid-template-columns:1fr;gap:6px}
	.pg-close .ds-row .ds-btn{flex:0 0 auto}
}

/* Phase 5 shortcode pages: no template title, no top spacer (the page builds its own hero) */
.pct-page-v2 .wp-block-post-title{display:none}
.pct-page-v2 main > .wp-block-spacer:first-child{display:none}
.pct-page-v2 main,
.pct-page-v2 .wp-block-post-content{margin-top:0 !important;padding-top:0 !important}

/* =====================================================================
   Phase 5b - the older editorial pages (About, Contact, Travel guide, legal, journal)
   brought onto the design system. Overrides only; nothing in style.css is removed.
   ===================================================================== */

/* 1. less dead space under the header on ordinary pages */
body.page:not(.home) main.wp-block-group{padding-top:clamp(28px, 3.2vw, 56px) !important}
body.page:not(.home) main > .wp-block-spacer:first-child,
body.page:not(.home) main > .wp-block-group > .wp-block-spacer:first-child{height:0 !important;margin:0 !important}

/* 2. editorial typography */
.pct-editorial .pct-eyebrow,.pct-lead .pct-eyebrow,.pct-dhero .pct-eyebrow,.pct-notdo .pct-eyebrow{
	font-size:var(--ds-fs-xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ds-accent)}
.pct-lead h1{font-size:clamp(2.25rem, 1.4rem + 2.6vw, 4rem);line-height:1.04;letter-spacing:-.015em}
.pct-lead__text{font-size:clamp(1.0625rem, 1rem + .35vw, 1.3125rem);line-height:1.6;color:var(--ds-ink-soft)}
.pct-split__body h2,.pct-notdo h2,.pct-cta h2{font-family:var(--ds-serif);font-size:clamp(2rem, 1.5rem + 1.6vw, 3rem);line-height:1.08;letter-spacing:-.01em}
.pct-split__body h2{margin-bottom:clamp(16px, 1.6vw, 24px)}
.pct-split__body p:not(.pct-eyebrow){font-size:clamp(1rem, .96rem + .2vw, 1.125rem);line-height:1.72;color:var(--ds-ink-soft);max-width:36em}

/* 3. pictures: soft corners, quiet shadow; the small inset stays inside its own column */
.pct-split__media > img:not(.pct-split__inset),.pct-figure img,.pct-dhero__media img{border-radius:var(--ds-r-md)}
.pct-split__media > img:not(.pct-split__inset){box-shadow:var(--ds-shadow-1)}
.pct-split__media{margin-bottom:clamp(24px, 4vw, 64px)}
:root .pct-split__inset{right:clamp(-40px, -2.5vw, -16px);left:auto;bottom:clamp(-56px, -3.6vw, -24px);top:auto;
	width:clamp(150px, 16vw, 260px);height:auto;border:6px solid var(--ds-ivory);border-radius:var(--ds-r-sm);box-shadow:var(--ds-shadow-2);z-index:2}
:root .pct-split--flip .pct-split__inset{left:clamp(-40px, -2.5vw, -16px);right:auto}
.pct-split{column-gap:clamp(48px, 7vw, 120px) !important}

/* 4. stats: a confident row of facts */
.pct-stats{border-radius:var(--ds-r-md);padding:clamp(8px, 1.2vw, 16px) 0 !important;overflow:hidden}
.pct-stats dt{font-size:var(--ds-fs-xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ds-accent)}
.pct-stats dd{font-family:var(--ds-serif);font-size:clamp(1.375rem, 1.1rem + .8vw, 1.875rem);line-height:1.15;margin:8px 0 0;overflow-wrap:normal;word-break:normal;hyphens:none}

/* 5. quote */
.pct-quote p{font-family:var(--ds-serif);font-size:clamp(1.5rem, 1.1rem + 1.4vw, 2.5rem);line-height:1.25;color:var(--ds-ink)}
.pct-quote cite,.pct-quote footer{font-size:var(--ds-fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--ds-accent);font-style:normal}

/* 6. "four things we do not do" on sand, with numbered serif titles */
.pct-notdo{background:var(--ds-sand);border-radius:var(--ds-r-md);padding:clamp(32px, 5vw, 80px) !important;
	display:grid;grid-template-columns:minmax(0, .75fr) minmax(0, 1.25fr);grid-template-rows:auto 1fr;gap:12px clamp(24px, 5vw, 96px);align-items:start}
.pct-notdo > .pct-eyebrow{grid-column:1;grid-row:1;margin:0}
.pct-notdo > h2{grid-column:1;grid-row:2;margin:0}
.pct-notdo > ul{grid-column:2;grid-row:1 / span 2;list-style:none;margin:0;padding:0;counter-reset:nd;
	display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1px;background:var(--ds-line-strong);border-radius:var(--ds-r-sm);overflow:hidden}
.pct-notdo li{counter-increment:nd;margin:0 !important;padding:clamp(22px, 2.4vw, 34px) !important;background:var(--ds-ivory);border:0;
	font-size:.9688rem;line-height:1.65;color:var(--ds-ink-soft);max-width:none !important;width:auto !important}
.pct-notdo li::before{content:counter(nd, decimal-leading-zero);display:block;margin-bottom:12px;font-family:var(--ds-serif);font-style:italic;font-size:1.125rem;color:var(--ds-saffron)}
.pct-notdo li b{display:block;font-family:var(--ds-serif);font-weight:400;font-size:clamp(1.1875rem, 1.05rem + .45vw, 1.4375rem);line-height:1.25;color:var(--ds-ink);margin-bottom:8px}

/* 7. closing call-to-action as a peacock band */
.pct-cta{background:var(--ds-peacock);color:var(--ds-on-dark);border-radius:var(--ds-r-md);padding:clamp(40px, 6vw, 96px) clamp(24px, 4vw, 64px) !important;text-align:center}
.pct-cta h2{color:var(--ds-on-dark)}
.pct-cta p{color:var(--ds-on-dark-muted);margin-inline:auto;font-size:1.0625rem}
.pct-cta .pct-cta__links{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:center;align-items:center;margin-top:28px}
.pct-cta .pct-btn{background:var(--ds-ivory) !important;color:var(--ds-ink) !important;border-color:var(--ds-ivory) !important}
.pct-cta .pct-btn:hover{background:#fff !important}
.pct-cta .pct-linkline{color:var(--ds-on-dark) !important;border-bottom-color:rgba(246,241,233,.5) !important}

/* 8. buttons in the old markup use the design-system look */
.pct-btn{font-family:var(--ds-sans);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:999px !important;
	padding:14px 26px !important;min-height:48px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}

/* 9. destination cards */
.pct-dcard{transition:transform .35s ease, box-shadow .35s ease}
.pct-dcard img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pct-dcard:hover{transform:translateY(-4px);box-shadow:var(--ds-shadow-2)}
.pct-dcard:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion: reduce){.pct-dcard,.pct-dcard img{transition:none}.pct-dcard:hover,.pct-dcard:hover img{transform:none}}

/* 10. contact / destination heroes */
.pct-dhero h1{font-size:clamp(2.25rem, 1.4rem + 2.6vw, 4rem);line-height:1.04;letter-spacing:-.015em}

@media (max-width: 899px){
	:root .pct-split__inset{right:-8px;bottom:-28px;width:132px;border-width:4px}
	:root .pct-split--flip .pct-split__inset{left:-8px}
	.pct-split__media{margin-bottom:40px}
	.pct-notdo{grid-template-columns:1fr;padding:28px 22px !important}
	.pct-notdo{grid-template-rows:auto}
	.pct-notdo > .pct-eyebrow,.pct-notdo > h2,.pct-notdo > ul{grid-column:1;grid-row:auto}
	.pct-notdo > h2{margin-bottom:16px}
	.pct-notdo > ul{grid-template-columns:1fr}
	.pct-cta{padding:44px 22px !important;border-radius:var(--ds-r-sm)}
}

/* Phase 5c - follow-ups from the browser check */
body.page:not(.home) main > .wp-block-post-content{margin-block-start:0 !important}
.pct-glead{padding-top:clamp(8px, 1.6vw, 28px) !important}
.pct-lead h1{font-size:clamp(2.25rem, 1.4rem + 2.2vw, 3.5rem)}
.pct-split--flip .pct-split__media > img:not(.pct-split__inset){object-position:50% 75%}
.pct-cta .pct-btn{margin:0}
.pct-cta .pct-btn ~ .pct-btn{background:transparent !important;color:var(--ds-on-dark) !important;border:1px solid rgba(246,241,233,.55) !important}
.pct-cta .pct-btn ~ .pct-btn:hover{background:rgba(246,241,233,.1) !important}
.pct-cta:not(:has(.pct-cta__links)) .pct-btn{margin:6px}
/* legal pages: the "last updated" note */
body.page .wp-block-post-content > .pct-card.has-global-padding{padding:16px 22px !important;background:var(--ds-sand);border:0;border-left:3px solid var(--ds-accent);border-radius:var(--ds-r-sm);box-shadow:none}
body.page .wp-block-post-content > .pct-card.is-layout-constrained > *{margin-left:0 !important;margin-right:0 !important;max-width:none !important}
body.page .wp-block-post-content > .pct-card p{margin:0;font-size:.875rem;color:var(--ds-ink-soft)}
/* stats: one sand panel, facts sit on it directly; 2 x 2 on phones */
.pct-stats > div{background:transparent !important}
@media (max-width: 899px){.pct-stats{grid-template-columns:repeat(2, minmax(0, 1fr)) !important}.pct-stats > div{border:0 !important;padding:16px 18px !important}.pct-stats dd{font-size:1.25rem}}
@media (max-width: 480px){.pct-stats{grid-template-columns:1fr !important}.pct-stats > div{padding:12px 20px !important}}

/* Phase 6 - every tour's main picture is the same shape (3:2 desktop, 4:3 phone), cropped to fill */
.single-product .woocommerce-product-gallery__image{aspect-ratio:3/2;overflow:hidden;border-radius:var(--ds-r-md)}
.single-product .woocommerce-product-gallery__image > a{display:block;width:100%;height:100%}
.single-product .woocommerce-product-gallery__image img{display:block;width:100% !important;height:100% !important;max-height:none !important;object-fit:cover;object-position:50% 50%}
@media (max-width: 781px){.single-product .woocommerce-product-gallery__image{aspect-ratio:4/3;border-radius:var(--ds-r-sm)}}
