/* Active Tahoe — content-page components that the homepage system does not cover.
   Rewritten 2026-09-23: the original file reused homepage class names (.at-hero,
   .at-card, .at-price, .at-steps, .at-cta…) with different meanings and the two
   stylesheets fought. Only non-colliding components remain here. */

.at-sec {
	--at-amber: #92610C; /* 5.3:1 on white */
	--at-card: #ffffff;
	--at-shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 8px 24px rgba(0, 45, 30, .08);
}

/* ---------- rating line + stars ---------- */
.at-ratingline {
	display: inline-flex; align-items: center; gap: .6rem;
	background: var(--at-card); border: 1px solid var(--at-line); border-radius: 999px;
	padding: .55rem 1.1rem; margin: 0; color: var(--at-ink); font-weight: 600; font-size: .95rem;
	max-width: none;
}
.at-stars { color: var(--at-amber); letter-spacing: .1em; font-size: 1.15rem; line-height: 1; }
p.at-stars { margin: 0 0 .6rem !important; }
.at-review p.at-stars, .at-ratingline .at-stars { color: var(--at-amber); }

/* ---------- reviews ---------- */
.at-reviews__grid { display: grid; grid-template-columns: 1fr; gap: 14px; align-items: start; }
.at-reviews__grid > * { margin-block: 0 !important; }
@media (min-width: 782px) { .at-reviews__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
.at-review {
	background: var(--at-card); border: 1px solid var(--at-line); border-radius: var(--at-radius);
	padding: clamp(1.1rem, 2.8vw, 1.6rem); color: var(--at-ink);
}
.at-review > * { margin-block: 0 !important; }
.at-review__quote { font-size: clamp(1.02rem, 1.5vw, 1.15rem); line-height: 1.45; font-weight: 600; color: var(--at-ink); margin: 0 !important; text-wrap: pretty; }
.at-review__who { margin: .6rem 0 .5rem !important; font-weight: 600; color: var(--at-ink-soft); font-size: .92rem; }
.at-review p { color: var(--at-ink); }

/* ---------- details / accordions ---------- */
.at-details summary {
	cursor: pointer; display: flex; align-items: center; min-height: 44px;
	font-weight: 600; color: var(--at-green); list-style: none;
}
.at-details summary::-webkit-details-marker { display: none; }
.at-details summary::before { content: "＋"; margin-inline-end: .5rem; font-weight: 700; line-height: 1; }
.at-details[open] summary::before { content: "－"; }
.at-details > *:not(summary) { color: var(--at-ink); }
.at-details p { font-size: .95rem; line-height: 1.55; margin-block: .25rem .75rem !important; }
.at-details--faq {
	background: var(--at-card); border: 1px solid var(--at-line); border-radius: 12px;
	padding: .15rem 1.1rem 0; margin-block: 0 !important;
}
.at-details--faq[open] { padding-bottom: .5rem; }
.at-faq__list { display: grid; gap: 10px; }
.at-faq__list > * { margin-block: 0 !important; }
.at-faq .at-details--faq p { max-width: 68ch; }

/* ---------- booking page ---------- */
.at-book__frame {
	background: var(--at-card); border: 1px solid var(--at-line); border-radius: var(--at-radius);
	padding: 6px; overflow: hidden;
}
.at-book__frame iframe { display: block; width: 100%; min-height: 780px; border: 0; border-radius: calc(var(--at-radius) - 6px); }
@media (max-width: 781px) { .at-book__frame iframe { min-height: 780px; } }
.at-book__after { display: flex; flex-wrap: wrap; gap: .5rem 2rem; font-size: .95rem; }
.at-book__after > * { margin: 0 !important; }
.at-book__after strong { color: var(--at-ink); }
