/**
 * Acadia National Park Tours — shared design system.
 *
 * Design tokens + type wiring shared by every acadia/* block. Per-section
 * styling lives in each block's own style.css (block.json `style`). Loaded
 * on the front end AND inside the editor canvas so blocks render identically.
 *
 * Palette + fonts extracted from layouts/index.html.
 */

:root {
	--acadia-forest:        #22411F; /* deep forest green — text/headings */
	--acadia-spruce:        #356A31; /* spruce green — secondary buttons/links */
	--acadia-terracotta:    #CC4B33; /* primary CTA */
	--acadia-terracotta-dk: #B03E23; /* CTA hover */
	--acadia-sage:          #E4EDD6; /* pale sage — accent backgrounds */
	--acadia-sage-2:        #BFD49E; /* light sage — footer accents */
	--acadia-cream:         #F1EADB;
	--acadia-offwhite:      #F5F6F4; /* off-white section background */
	--acadia-gray:          #5D6163; /* body/muted text */
	--acadia-gray-2:        #7A7E70; /* eyebrow/meta text */
	--acadia-gold:          #F6B73C; /* rating stars */
	--acadia-blue:          #3179A1; /* map accents */
	--acadia-ink-scrim:     rgba(20,38,18,.62);
	--acadia-hairline:      rgba(84,89,90,.30);
	--acadia-hairline-green:rgba(46,90,42,.28);

	--acadia-serif: "Fraunces", Georgia, serif;
	--acadia-sans:  "Libre Franklin", -apple-system, BlinkMacSystemFont, sans-serif;
	--acadia-mono:  "Spline Sans Mono", ui-monospace, monospace;

	--acadia-maxw: 1200px;
	/* Body copy runs the full rail — the same rail as the header and footer — so
	   no section stops short of the page edges. Kept as a token so a narrower
	   measure could be reintroduced in one place if ever wanted. */
	--acadia-measure: none;
	/* For a centred box that sits INSIDE a full-bleed band's own 32px gutter:
	   the band already supplies the gutter, so the inner box has to be the rail
	   minus both gutters to land on the same 152px edge as everything else. */
	--acadia-rail-inner: calc(var(--acadia-maxw, 1200px) - 64px);
}

/* Baseline for every Acadia block wrapper (kept minimal — sections own their look). */
[class*="wp-block-acadia-"] {
	box-sizing: border-box;
	font-family: var(--acadia-sans);
	color: var(--acadia-forest);
}
[class*="wp-block-acadia-"] *,
[class*="wp-block-acadia-"] *::before,
[class*="wp-block-acadia-"] *::after {
	box-sizing: border-box;
}

/* Photo placeholder slot (design .photo-slot) — dashed prop box + caption chip.
   Shared by the About page blocks that ship without real photos. */
.acadia-photoslot {
	position: relative;
	width: 100%;
	background-color: #EFF2F0;
	background-image: repeating-linear-gradient(135deg, rgba(46, 90, 42, 0.1) 0px, rgba(46, 90, 42, 0.1) 11px, rgba(46, 90, 42, 0) 11px, rgba(46, 90, 42, 0) 22px);
	border: 1px dashed rgba(84, 89, 90, 0.65);
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}
.acadia-photoslot--5x4 { aspect-ratio: 5 / 4; }
.acadia-photoslot--4x5 { aspect-ratio: 4 / 5; }
.acadia-photoslot--4x3 { aspect-ratio: 4 / 3; }
.acadia-photoslot__chip {
	margin: 13px;
	padding: 6px 10px;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(84, 89, 90, 0.45);
	font-family: var(--acadia-mono, "Spline Sans Mono", monospace);
	font-size: 11px;
	letter-spacing: 0.01em;
	color: #5D6163;
	display: flex;
	gap: 8px;
	align-items: center;
	max-width: calc(100% - 26px);
}
.acadia-photoslot__icon { font-size: 12px; line-height: 1; color: #356A31; flex: 0 0 auto; }

/* Homepage full-bleed sections sit flush — remove the theme's inter-block gap. */
.wp-block-post-content > [class*="wp-block-acadia-"],
.wp-block-post-content > .wp-block-polaris-faq-block,
.entry-content > [class*="wp-block-acadia-"],
.entry-content > .wp-block-polaris-faq-block {
	margin-top: 0;
	margin-bottom: 0;
}

/* Shared, reusable primitives (blocks may use or override these). */
.acadia-wrap {
	max-width: var(--acadia-maxw);
	margin: 0 auto;
	padding-left: 32px;
	padding-right: 32px;
}
.acadia-eyebrow {
	font-family: var(--acadia-sans);
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--acadia-gray-2);
	font-weight: 600;
}
@media (max-width: 640px) {
	.acadia-wrap { padding-left: 20px; padding-right: 20px; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   Polaris FAQ block — Acadia skin (is-style-acadia).
   Reused plugin, restyled to the design .common-questions / .faq accordion.
   ═══════════════════════════════════════════════════════════════════════════ */
.polaris-faq.is-style-acadia {
	background: var(--polaris-faq-bg, transparent);
	padding: 56px 32px;
	color: #22411F;
	font-family: var(--acadia-sans);
}
/* Full-bleed gray band variant (e.g. homepage): break out of sectionWidth + hairlines. */
.polaris-faq.is-style-acadia.alignfull {
	max-width: none !important;
	width: auto;
	border-top: 1px solid rgba(84, 89, 90, 0.22);
	border-bottom: 1px solid rgba(84, 89, 90, 0.22);
	padding: 70px 32px;
}
/* Constrained variant (inner pages): center the block. */
.polaris-faq.is-style-acadia:not(.alignfull) {
	margin-left: auto;
	margin-right: auto;
}
/* Header alignment follows the block's Content-align (Polaris inline text-align). */
.polaris-faq.is-style-acadia .polaris-faq__header {
	max-width: var(--acadia-rail-inner, 1136px);
	margin: 0 auto 34px;
}
/* Left variant (e.g. cruise page): pin header + items to the left.
   Extra .is-style-acadia in the selector so it beats the base `margin:0 auto`
   on .polaris-faq__items regardless of source order. */
.polaris-faq.is-style-acadia.acadia-faq-left .polaris-faq__header,
.polaris-faq.is-style-acadia.acadia-faq-left .polaris-faq__items { margin-left: 0; }
.polaris-faq.is-style-acadia.acadia-faq-left .polaris-faq__header { text-align: left; }
/* Left-pinned, so run the rows the full rail like the page skin — centred at
   820px they stopped well short of the sections above. */
.polaris-faq.is-style-acadia.acadia-faq-left .polaris-faq__items { max-width: none; }
.polaris-faq.is-style-acadia .polaris-faq__eyebrow {
	color: #7A7E70;
	font-family: var(--acadia-sans);
	font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-weight: 600;
}
.polaris-faq.is-style-acadia .polaris-faq__heading {
	font-family: var(--acadia-serif);
	font-weight: 600;
	font-size: 38px;
	color: #22411F;
	margin: 10px 0 0;
	line-height: 1.1;
}
.polaris-faq.is-style-acadia .polaris-faq__subheading {
	color: #5D6163;
	font-family: var(--acadia-sans);
}
/* Full width: rows run the whole rail so the question rules end level with every
   other section. Answer copy keeps its own measure (see __answer-inner). */
.polaris-faq.is-style-acadia .polaris-faq__items {
	max-width: var(--acadia-rail-inner, 1136px);
	margin: 0 auto;
	border-top: 1px solid rgba(46, 90, 42, 0.3);
	gap: 0;
}
.polaris-faq.is-style-acadia .polaris-faq__item {
	border: 0;
	border-bottom: 1px solid rgba(46, 90, 42, 0.3);
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	padding: 0;
	background: transparent;
}
.polaris-faq.is-style-acadia .polaris-faq__question {
	font-family: var(--acadia-serif);
	font-size: 19px;
	font-weight: 500;
	color: #22411F;
	line-height: 1.3;
	padding: 20px 2px;
	gap: 24px;
	background: transparent;
	border: 0;
	text-align: left;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
}
.polaris-faq.is-style-acadia .polaris-faq__icon { display: none; }
.polaris-faq.is-style-acadia .polaris-faq__question::after {
	content: "+";
	font-family: var(--acadia-sans);
	font-size: 26px;
	font-weight: 400;
	color: #356A31;
	line-height: 1;
	width: 24px;
	text-align: center;
	flex: 0 0 auto;
}
.polaris-faq.is-style-acadia .polaris-faq__item.is-open .polaris-faq__question::after { content: "\2013"; }
.polaris-faq.is-style-acadia .polaris-faq__answer-inner {
	font-family: var(--acadia-sans);
	font-size: 16px;
	line-height: 1.65;
	color: #5D6163;
	padding: 0 2px 22px;
	max-width: none;
}
@media (max-width: 640px) {
	.polaris-faq.is-style-acadia { padding: 48px 20px; }
	.polaris-faq.is-style-acadia .polaris-faq__heading { font-size: 29px; }
}

/* Polaris FAQ — Acadia "page" skin: contained, left-aligned category (FAQ page). */
.polaris-faq.is-style-acadia-page {
	/* Site rail: the header and items are pinned left in this skin, so a 1000px
	   box put the whole accordion 100px inboard of every other section. */
	max-width: var(--acadia-maxw, 1200px) !important;
	width: auto;
	margin: 0 auto;
	padding: 28px 32px;
	background: transparent;
	color: #22411F;
	font-family: var(--acadia-sans);
}
.polaris-faq.is-style-acadia-page .polaris-faq__header { text-align: left; max-width: none; margin: 0 0 18px; }
.polaris-faq.is-style-acadia-page .polaris-faq__eyebrow { display: none; }
.polaris-faq.is-style-acadia-page .polaris-faq__heading {
	font-family: var(--acadia-serif);
	font-weight: 600;
	font-size: 28px;
	color: #22411F;
	margin: 0;
	line-height: 1.2;
}
/* Full width: the accordion rows run the whole rail, so the question rules line
   up with every other section's right edge instead of stopping 316px short. The
   answer copy keeps its own measure (see __answer-inner) for readability. */
.polaris-faq.is-style-acadia-page .polaris-faq__items {
	max-width: none;
	margin: 0;
	border-top: 1px solid rgba(46, 90, 42, 0.3);
	gap: 0;
}
.polaris-faq.is-style-acadia-page .polaris-faq__item {
	border: 0;
	border-bottom: 1px solid rgba(46, 90, 42, 0.3);
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	padding: 0;
	background: transparent;
}
.polaris-faq.is-style-acadia-page .polaris-faq__question {
	font-family: var(--acadia-serif);
	font-size: 19px;
	font-weight: 500;
	color: #22411F;
	line-height: 1.3;
	padding: 20px 2px;
	gap: 24px;
	background: transparent;
	border: 0;
	text-align: left;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
}
.polaris-faq.is-style-acadia-page .polaris-faq__icon { display: none; }
.polaris-faq.is-style-acadia-page .polaris-faq__question::after {
	content: "+";
	font-family: var(--acadia-sans);
	font-size: 26px;
	font-weight: 400;
	color: #356A31;
	line-height: 1;
	width: 24px;
	text-align: center;
	flex: 0 0 auto;
}
.polaris-faq.is-style-acadia-page .polaris-faq__item.is-open .polaris-faq__question::after { content: "\2013"; }
.polaris-faq.is-style-acadia-page .polaris-faq__answer-inner {
	font-family: var(--acadia-sans);
	font-size: 16px;
	line-height: 1.65;
	color: #5D6163;
	padding: 0 2px 22px;
	max-width: none;
}

/* Full-bleed gray band around the page-skin FAQ (tour-detail pages). */
.polaris-faq.is-style-acadia-page.is-band {
	max-width: none !important;
	background: #F5F6F4;
	border-top: 1px solid rgba(84, 89, 90, 0.22);
	border-bottom: 1px solid rgba(84, 89, 90, 0.22);
	padding: 64px 32px;
}
.polaris-faq.is-style-acadia-page.is-band .polaris-faq__header,
.polaris-faq.is-style-acadia-page.is-band .polaris-faq__items {
	max-width: var(--acadia-rail-inner, 1136px);
	margin-left: auto;
	margin-right: auto;
}
.polaris-faq.is-style-acadia-page.is-band .polaris-faq__heading { font-size: 34px; }

/* ── FAQ, Private Tours V2 measurements ──────────────────────────────────
   The shared .is-band skin is tuned for the Classic/Premium/Private pages;
   the V2 design sets its own measure, padding and heading size. Scoped to an
   extra class on the block so those pages keep the values they were built to. */
.polaris-faq.is-style-acadia-page.is-band.is-faq-v2 { padding: 70px 32px; }
.polaris-faq.is-style-acadia-page.is-band.is-faq-v2 .polaris-faq__header,
.polaris-faq.is-style-acadia-page.is-band.is-faq-v2 .polaris-faq__items {
	max-width: var(--acadia-rail-inner, 1136px);
	margin-left: auto;
	margin-right: auto;
}
.polaris-faq.is-style-acadia-page.is-band.is-faq-v2 .polaris-faq__header { margin-bottom: 26px; }
.polaris-faq.is-style-acadia-page.is-band.is-faq-v2 .polaris-faq__heading { font-size: 38px; }
@media (max-width: 640px) {
	.polaris-faq.is-style-acadia-page.is-band.is-faq-v2 { padding: 48px 20px; }
	.polaris-faq.is-style-acadia-page.is-band.is-faq-v2 .polaris-faq__heading { font-size: 26px; }
}
