/* Purpose: Single CPT page layouts (destination, trek, guide, community). */

/* Generic doc page (legal, etc.) */
.page-doc__head { margin-bottom: var(--space-8); padding-bottom: var(--space-6); border-bottom: var(--border-thin); }
.page-doc__title { font-size: var(--text-4xl); }
.page-doc__meta { margin-top: var(--space-2); font-family: var(--font-mono); font-size: var(--text-sm); color: var(--color-text-muted); }
.page-doc__body { max-width: 70ch; }

/* Guide editorial */
.single-guide .guide__head { padding-block: var(--space-12) var(--space-6); }
.guide__cat a { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-accent-dark); }
.guide__title { font-size: var(--text-4xl); margin: var(--space-3) 0 var(--space-5); }
@media (min-width: 1024px) { .guide__title { font-size: var(--text-5xl); } }
.guide__byline { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); color: var(--color-text-muted); font-size: var(--text-sm); }
.guide__author { display: inline-flex; align-items: center; gap: var(--space-2); font-weight: var(--weight-medium); color: var(--color-text); }
.guide__author-img { width: 28px; height: 28px; border-radius: var(--radius-full); }
.guide__dot { opacity: 0.5; }
.guide__hero { margin-block: var(--space-8); }
.guide__hero-img { width: 100%; max-height: 520px; object-fit: cover; border-radius: var(--radius-xl); }
.guide__content { max-width: 70ch; margin-inline: auto; font-size: var(--text-md); }
.guide__content p { line-height: var(--leading-loose); }
.guide-fig { margin: var(--space-8) 0; }
.guide-fig img { width: 100%; border-radius: var(--radius-lg); max-height: 540px; object-fit: cover; }
.guide-fig figcaption { margin-top: var(--space-2); font-size: var(--text-sm); color: var(--color-text-muted); text-align: center; }
/* Readable bullets on blog/prose */
.prose ul, .prose ol { margin-left: var(--space-5); }
.prose li { font-size: 1em; line-height: var(--leading-normal); padding-left: var(--space-1); }
.prose li::marker { color: var(--color-primary); font-size: 0.9em; }
.guide__content ul, .guide__content ol { margin-bottom: var(--space-5); }

/* Share */
.share { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin: var(--space-12) 0; padding-block: var(--space-6); border-block: var(--border-thin); }
.share__label { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-text-muted); }
.share__links { display: flex; gap: var(--space-2); }
.share__btn { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: var(--radius-full); border: var(--border-thin); color: var(--color-text); transition: background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out); }
.share__btn:hover { background: var(--color-primary); color: var(--color-text-invert); border-color: var(--color-primary); }
.share__btn .hp-icon { width: 1.2rem; height: 1.2rem; }

/* Author bio */
.author-bio { display: flex; gap: var(--space-5); align-items: flex-start; padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-bg-alt); margin-bottom: var(--space-12); }
.author-bio__photo { flex: none; }
.author-bio__img { width: 88px; height: 88px; border-radius: var(--radius-full); object-fit: cover; }
.author-bio__eyebrow { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-text-muted); }
.author-bio__name { font-size: var(--text-xl); margin-top: var(--space-1); }
.author-bio__role { font-size: var(--text-sm); color: var(--color-accent-dark); font-weight: var(--weight-medium); margin-bottom: var(--space-2); }
.author-bio__text { color: var(--color-text-muted); }

/* About page */
.about-hero { padding-block: var(--space-20) var(--space-12); background: radial-gradient(900px 380px at 78% -20%, var(--color-accent-soft), transparent 60%), linear-gradient(180deg, var(--color-bg), var(--color-bg-alt)); }
.about-hero__inner { max-width: var(--container-lg); display: grid; gap: var(--space-5); }
.about-hero__title { font-size: var(--text-4xl); max-width: 16ch; }
@media (min-width: 1024px) { .about-hero__title { font-size: var(--text-5xl); } }
.about-hero__lead { font-size: var(--text-md); color: var(--color-text-muted); max-width: 64ch; }
.about-founder__inner { display: grid; gap: var(--space-10); align-items: center; }
@media (min-width: 768px) { .about-founder__inner { grid-template-columns: 320px 1fr; } }
.about-founder__img { width: 100%; border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); }
.about-founder__name { font-size: var(--text-3xl); margin-top: var(--space-2); }
.about-founder__role { color: var(--color-accent-dark); font-weight: var(--weight-medium); margin: var(--space-1) 0 var(--space-4); }
.about-founder__text { color: var(--color-text-muted); max-width: 60ch; margin-bottom: var(--space-6); }

/* Contact page */
.contact-grid { display: grid; gap: var(--space-5); grid-template-columns: 1fr; margin-bottom: var(--space-10); }
@media (min-width: 768px) { .contact-grid { grid-template-columns: repeat(3, 1fr); } }
.contact-card { display: grid; gap: var(--space-2); padding: var(--space-8); border: var(--border-thin); border-radius: var(--radius-lg); background: var(--color-surface); transition: transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out); }
.contact-card:not(.contact-card--static):hover { transform: translateY(-4px); border-color: var(--color-accent); }
.contact-card__icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: var(--radius-full); background: var(--color-accent-soft); color: var(--color-accent-dark); }
.contact-card__icon .hp-icon { width: 1.5rem; height: 1.5rem; }
.contact-card__label { font-family: var(--font-mono); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: var(--tracking-wide); color: var(--color-text-muted); }
.contact-card__val { font-family: var(--font-heading); font-weight: var(--weight-semibold); font-size: var(--text-lg); }
.contact-card__note { font-size: var(--text-sm); color: var(--color-text-muted); }
.contact-biz { padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-bg-alt); font-size: var(--text-sm); color: var(--color-text-muted); display: grid; gap: var(--space-2); }
.contact-biz a { color: var(--color-primary); font-weight: var(--weight-semibold); }
.contact-layout { display: grid; gap: var(--space-8); align-items: start; }
@media (min-width: 900px) { .contact-layout { grid-template-columns: 1.4fr 1fr; } }
.contact-form { display: grid; gap: var(--space-4); padding: var(--space-8); border: var(--border-thin); border-radius: var(--radius-lg); background: var(--color-surface); }
.contact-form__title { font-size: var(--text-xl); }
.contact-form__row { display: grid; gap: var(--space-4); }
@media (min-width: 560px) { .contact-form__row { grid-template-columns: 1fr 1fr; } }
.contact-form label { display: grid; gap: var(--space-1); font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--color-text-muted); }
.contact-form input, .contact-form textarea { width: 100%; padding: var(--space-3) var(--space-4); border: var(--border-thin); border-radius: var(--radius-md); background: var(--color-surface); font: inherit; color: var(--color-text); }
.contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: var(--color-primary); box-shadow: var(--shadow-focus); }
.contact-form__hp { position: absolute; left: -9999px; }
.contact-form__foot { display: flex; align-items: center; gap: var(--space-4); flex-wrap: wrap; }
.contact-form__msg { font-size: var(--text-sm); color: var(--color-text-muted); }
.contact-form__msg.is-ok { color: var(--color-success); font-weight: var(--weight-medium); }

/* Destination hero */
.dest-hero { position: relative; min-height: 52vh; display: flex; align-items: flex-end; color: var(--color-text-invert); overflow: hidden; }
.dest-hero__media, .dest-hero__overlay { position: absolute; inset: 0; }
.dest-hero__img { width: 100%; height: 100%; object-fit: cover; }
.dest-hero__overlay { background: linear-gradient(180deg, rgba(20,32,27,0.1) 30%, rgba(20,32,27,0.8)); }
.dest-hero__inner { position: relative; padding-block: var(--space-12); display: grid; gap: var(--space-3); }
.dest-hero__crumbs { font-size: var(--text-sm); display: flex; gap: var(--space-2); align-items: center; color: color-mix(in srgb, var(--color-text-invert) 85%, transparent); }
.dest-hero__crumbs a:hover { color: var(--color-accent); }
.dest-hero__title { font-size: var(--text-5xl); color: var(--color-text-invert); }
.dest-hero__meta { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.dest-hero__meta .card__wish { position: static; }

/* Body grid (main + sidebar) */
.single-dest__body { display: grid; gap: var(--space-12); padding-block: var(--space-16); align-items: start; }
@media (min-width: 1024px) { .single-dest__body { grid-template-columns: minmax(0,1fr) 320px; } }
.single-dest__main, .single-comm__main { min-width: 0; } /* prevent grid blowout from wide children */
.single-dest, .single-comm, .single-guide { overflow-x: clip; }
.single-dest__body, .single-comm__body { padding-inline: var(--container-pad); box-sizing: border-box; }

/* Quick facts */
.factgrid { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, 1fr); margin-bottom: var(--space-10); }
@media (min-width: 768px) { .factgrid { grid-template-columns: repeat(3, 1fr); } }
.fact { display: grid; gap: var(--space-1); padding: var(--space-4); border: var(--border-thin); border-radius: var(--radius-md); background: var(--color-surface); }
.fact__icon { color: var(--color-primary); } .fact__icon .hp-icon { width: 1.3rem; height: 1.3rem; }
.fact__label { font-size: var(--text-xs); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: var(--tracking-wide); }
.fact__value { font-weight: var(--weight-semibold); }
.fact--ok { background: rgba(46,158,91,0.08); border-color: rgba(46,158,91,0.25); }
.fact--warn { background: rgba(224,165,46,0.12); border-color: rgba(224,165,46,0.35); }
.prose--safety { padding: var(--space-6); border-left: 3px solid var(--color-warning); background: rgba(224,165,46,0.07); border-radius: var(--radius-md); }

/* Map */
.single-dest__map { margin-bottom: var(--space-12); }
.single-dest__map h2, .single-dest__places h2 { font-size: var(--text-2xl); margin-bottom: var(--space-4); }
.single-dest__map iframe { width: 100%; height: 360px; border: 0; border-radius: var(--radius-lg); }
.single-dest__places { margin-bottom: var(--space-12); }

/* Anchor scroll offset under the sticky header */
#nearby, #related-itineraries, #organized-trip { scroll-margin-top: calc(var(--header-h) + var(--space-6)); }

/* Group enquiry CTA */
.group-cta {
  display: grid; gap: var(--space-8); margin-bottom: var(--space-12);
  padding: var(--space-8); border-radius: var(--radius-xl);
  background: var(--color-primary-dark); color: var(--color-text-invert);
}
@media (min-width: 768px) { .group-cta { grid-template-columns: 1.5fr 1fr; align-items: center; } }
.group-cta__eyebrow { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-accent); }
.group-cta__title { font-size: var(--text-2xl); color: var(--color-text-invert); margin: var(--space-2) 0 var(--space-3); }
.group-cta__lead { color: color-mix(in srgb, var(--color-text-invert) 80%, transparent); }
.group-cta__incl { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: var(--space-4) 0; }
.group-cta__incl li { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); }
.group-cta__incl .hp-icon { width: 1rem; height: 1rem; color: var(--color-accent); }
.group-cta__note { font-size: var(--text-sm); color: color-mix(in srgb, var(--color-text-invert) 65%, transparent); }
.group-cta__action { display: grid; gap: var(--space-3); background: color-mix(in srgb, var(--color-text-invert) 8%, transparent); padding: var(--space-6); border-radius: var(--radius-lg); }
.group-cta__price { font-family: var(--font-heading); font-size: var(--text-3xl); font-weight: var(--weight-bold); color: var(--color-accent); }
.group-cta__price span { font-family: var(--font-body); font-size: var(--text-sm); font-weight: var(--weight-regular); color: color-mix(in srgb, var(--color-text-invert) 70%, transparent); }
.group-cta__price--soft { font-size: var(--text-xl); }
.group-cta__action .btn .hp-icon { width: 1.1rem; height: 1.1rem; }

/* ---- Communities archive ---- */
.comm-archive__hero { padding-block: var(--space-16) var(--space-10); background: radial-gradient(900px 380px at 80% -20%, color-mix(in srgb, var(--color-secondary) 22%, transparent), transparent 60%), linear-gradient(180deg, var(--color-bg), var(--color-bg-alt)); }
.comm-archive__inner { max-width: var(--container-lg); display: grid; gap: var(--space-5); }
.comm-archive__title { font-size: var(--text-4xl); max-width: 18ch; }
@media (min-width: 1024px) { .comm-archive__title { font-size: var(--text-5xl); } }
.comm-archive__sub { font-size: var(--text-md); color: var(--color-text-muted); max-width: 62ch; }
.comm-archive__stats { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); margin-top: var(--space-2); }
.comm-stat { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); font-weight: var(--weight-medium); }
.comm-stat .hp-icon { width: 1.1rem; height: 1.1rem; color: var(--color-primary); }

/* ---- Community single ---- */
.comm-hero { position: relative; min-height: 40vh; display: flex; align-items: flex-end; color: var(--color-text-invert); overflow: hidden; }
.comm-hero__media, .comm-hero__overlay { position: absolute; inset: 0; }
.comm-hero__img { width: 100%; height: 100%; object-fit: cover; }
.comm-hero__overlay { background: linear-gradient(180deg, rgba(20,32,27,0.2), rgba(20,32,27,0.85)); }
.comm-hero__inner { position: relative; padding-block: var(--space-10); display: grid; gap: var(--space-3); }
.comm-hero__title { font-size: var(--text-4xl); color: var(--color-text-invert); }
.comm-hero__meta { display: inline-flex; align-items: center; gap: var(--space-2); color: color-mix(in srgb, var(--color-text-invert) 85%, transparent); }
.comm-hero__meta .hp-icon { width: 1.2rem; height: 1.2rem; }
.comm-hero__cta { margin-top: var(--space-2); }

.single-comm__body { display: grid; gap: var(--space-12); padding-block: var(--space-16); align-items: start; }
@media (min-width: 1024px) { .single-comm__body { grid-template-columns: minmax(0,1fr) 320px; } }
.comm-benefits { margin-bottom: var(--space-12); }
.comm-benefits h2, .comm-discuss h2, .comm-members h2, .comm-events h2 { font-size: var(--text-2xl); margin-bottom: var(--space-5); }

/* Members */
.comm-members { margin-bottom: var(--space-12); }
.comm-members__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-5); }
.comm-members__head h2 { margin-bottom: 0; }
.comm-members__count { font-size: var(--text-sm); color: var(--color-text-muted); }
.comm-members__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: var(--space-4); list-style: none; padding: 0; margin: 0; }
.comm-member { display: grid; gap: var(--space-1); justify-items: center; text-align: center; padding: var(--space-4); border: var(--border-thin); border-radius: var(--radius-lg); background: var(--color-surface); }
.comm-member__avatar img { width: 56px; height: 56px; border-radius: var(--radius-full); margin-bottom: var(--space-1); }
.comm-member__name { font-weight: var(--weight-semibold); font-size: var(--text-sm); }
.comm-member__track { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-primary); }

/* Activities & meetups */
.comm-events { margin-bottom: var(--space-12); }
.comm-events__list { display: grid; gap: var(--space-4); }
.comm-event { display: flex; gap: var(--space-4); padding: var(--space-5); border: var(--border-thin); border-radius: var(--radius-lg); background: var(--color-surface); }
.comm-event__icon { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--radius-full); background: var(--color-accent-soft); }
.comm-event__icon .hp-icon { width: 1.3rem; height: 1.3rem; color: var(--color-accent-dark); }
.comm-event__title { font-size: var(--text-md); margin-bottom: var(--space-1); }
.comm-event__meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); font-size: var(--text-sm); color: var(--color-text-muted); margin-bottom: var(--space-1); }
.comm-event__meta span { display: inline-flex; align-items: center; gap: var(--space-1); }
.comm-event__meta .hp-icon { width: 1rem; height: 1rem; color: var(--color-primary); }
.comm-event__desc { color: var(--color-text-muted); font-size: var(--text-sm); }

.comm-postbox { display: grid; gap: var(--space-3); padding: var(--space-5); border: var(--border-thin); border-radius: var(--radius-lg); background: var(--color-surface); margin-bottom: var(--space-8); }
.comm-postbox__title, .comm-postbox__body { width: 100%; padding: var(--space-3) var(--space-4); border: var(--border-thin); border-radius: var(--radius-md); background: var(--color-surface); font: inherit; }
.comm-postbox__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.comm-postbox__msg { font-size: var(--text-sm); color: var(--color-success); }
.comm-loginprompt { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; justify-content: space-between; padding: var(--space-5); border: var(--border-thin); border-radius: var(--radius-lg); background: var(--color-surface-alt); margin-bottom: var(--space-8); }

.comm-thread { display: grid; gap: var(--space-4); }
.comm-post { display: flex; gap: var(--space-4); padding: var(--space-5); border: var(--border-thin); border-radius: var(--radius-lg); background: var(--color-surface); }
.comm-post__avatar img { width: 44px; height: 44px; border-radius: var(--radius-full); }
.comm-post__title { font-size: var(--text-md); }
.comm-post__text { color: var(--color-text-muted); margin: var(--space-1) 0; }
.comm-post__by { font-size: var(--text-sm); color: var(--color-text-muted); }

.single-comm__aside { display: grid; gap: var(--space-5); align-content: start; }
@media (min-width: 1024px) { .single-comm__aside { position: sticky; top: calc(var(--header-h) + var(--space-5)); } }
.aside-card__title { font-size: var(--text-md); margin-bottom: var(--space-3); }
.prose--rules ul { margin-left: var(--space-5); }
.aside-card--join { background: var(--color-bg-alt); }

/* Sidebar */
.single-dest__aside { display: grid; gap: var(--space-5); align-content: start; }
@media (min-width: 1024px) { .single-dest__aside { position: sticky; top: calc(var(--header-h) + var(--space-5)); } }
.aside-card { padding: var(--space-6); border: var(--border-thin); border-radius: var(--radius-lg); background: var(--color-surface); display: grid; gap: var(--space-3); }
.aside-card .btn--block, .aside-card--join .btn { white-space: normal; height: auto; min-height: 3rem; text-align: center; }
.aside-card--score { align-items: center; text-align: center; }

/* Trips page extra bands */
.trips-curated { margin-top: var(--space-16); }
.trips-custommaps { margin-top: var(--space-12); }
.aside-card__note { font-size: var(--text-sm); color: var(--color-text-muted); }

/* ---------------------------------------------------------------------
   COMMUNITY — audience, creator, locked gate, members buttons, replies
   --------------------------------------------------------------------- */
.comm-hero__meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); align-items: center; }
.comm-hero__audience { display: inline-flex; align-items: center; gap: var(--space-1); }
.comm-hero__audience--women { color: var(--color-error); }
.comm-hero__creator { margin-top: var(--space-2); color: var(--color-text-invert); opacity: 0.9; font-size: var(--text-sm); }
.comm-hero__creatorname, .comm-member__name, .comm-member__avatar, .comm-post__avatar, .comm-post__byname, .comm-reply__name {
  background: none; border: 0; padding: 0; cursor: pointer; font: inherit; color: inherit;
}
.comm-hero__creatorname { text-decoration: underline; font-weight: var(--weight-semibold); color: var(--color-text-invert); }
.comm-member__name:hover, .comm-post__byname:hover, .comm-reply__name:hover, .comm-hero__creatorname:hover { color: var(--color-primary); }

/* Locked gate (non-members) */
.comm-locked {
  text-align: center; padding: var(--space-12) var(--space-6);
  border: 2px dashed var(--color-border-strong); border-radius: var(--radius-lg);
  background: var(--color-surface-alt); display: grid; gap: var(--space-3); justify-items: center;
  margin-bottom: var(--space-12);
}
.comm-locked__icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: var(--radius-full); background: var(--color-accent-soft); }
.comm-locked__icon .hp-icon { width: 1.5rem; height: 1.5rem; color: var(--color-accent-dark); }
.comm-locked__title { font-size: var(--text-xl); max-width: 30ch; }
.comm-locked__text { color: var(--color-text-muted); max-width: 50ch; }
.comm-locked__cta { margin-top: var(--space-2); }
.comm-locked__msg { color: var(--color-error); font-size: var(--text-sm); min-height: 1.2em; }
.comm-locked__hint { font-size: var(--text-sm); color: var(--color-text-muted); }

/* Members grid (buttons) */
.comm-member__avatar img { width: 56px; height: 56px; border-radius: var(--radius-full); object-fit: cover; margin-bottom: var(--space-1); }
.comm-member__name { font-weight: var(--weight-semibold); font-size: var(--text-sm); }

/* Discussion avatar button + replies */
.comm-post__avatar img { width: 44px; height: 44px; border-radius: var(--radius-full); object-fit: cover; }
.comm-replies { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
.comm-reply { display: flex; gap: var(--space-3); }
.comm-reply__avatar { width: 32px; height: 32px; border-radius: var(--radius-full); object-fit: cover; flex: none; }
.comm-reply__name { font-weight: var(--weight-semibold); font-size: var(--text-sm); }
.comm-reply__time { font-size: var(--text-xs); color: var(--color-text-muted); }
.comm-reply__text { font-size: var(--text-sm); margin-top: 2px; }
.comm-replybox { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; margin-top: var(--space-3); }
.comm-replybox__input { flex: 1; min-width: 0; padding: var(--space-2) var(--space-3); border: var(--border-thin); border-radius: var(--radius-md); background: var(--color-surface); font: inherit; font-size: var(--text-sm); }
.comm-replybox__msg { width: 100%; font-size: var(--text-xs); color: var(--color-error); }

/* Communities archive — create CTA */
.comm-archive__actions { margin-top: var(--space-6); }

/* ---------------------------------------------------------------------
   COMMUNITY — stats, picks board, add-pick modal
   --------------------------------------------------------------------- */
.comm-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); margin-bottom: var(--space-10); }
@media (min-width: 600px) { .comm-stats { grid-template-columns: repeat(4, 1fr); } }
.comm-stat-box { text-align: center; padding: var(--space-5) var(--space-3); border: var(--border-thin); border-radius: var(--radius-lg); background: var(--color-surface); }
.comm-stat-box__n { display: block; font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: var(--weight-bold); color: var(--color-primary); }
.comm-stat-box__l { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: var(--tracking-wide); color: var(--color-text-muted); font-family: var(--font-mono); }

.comm-picks { margin-bottom: var(--space-12); }
.comm-picks__head { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; justify-content: space-between; margin-bottom: var(--space-5); }
.comm-picks__head h2 { font-size: var(--text-2xl); }
.comm-picks__sub { color: var(--color-text-muted); font-size: var(--text-sm); }
.comm-picks__grid { align-items: stretch; }
/* Equal-height picks: wrapper fills the grid row, card stretches, byline pinned below. */
.pick { display: flex; flex-direction: column; gap: var(--space-2); height: 100%; }
.pick > .card { flex: 1 1 auto; }
.pick__by { margin-top: var(--space-1); display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-4); font-size: var(--text-xs); color: var(--color-text-muted); }
.pick__byname { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; color: var(--color-primary); }
.pick__byname:hover { text-decoration: underline; }
.pick--place .card__media { aspect-ratio: 3 / 2; }
.comm-event__join { margin-top: var(--space-3); }
.comm-event__soon { margin-top: var(--space-3); font-size: var(--text-sm); color: var(--color-text-muted); display: inline-flex; align-items: center; gap: var(--space-1); }
.comm-event__soon .hp-icon { width: 1rem; height: 1rem; }
.pick__link { display: inline-flex; align-items: center; gap: var(--space-1); font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--color-primary); margin-top: var(--space-1); }
.pick__link .hp-icon { width: 1rem; height: 1rem; }

/* Add-pick modal */
.pick-modal { position: fixed; inset: 0; z-index: var(--z-modal); display: none; align-items: center; justify-content: center; padding: var(--space-4); }
.pick-modal[aria-hidden="false"] { display: flex; }
.pick-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.5); }
.pick-modal__panel { position: relative; z-index: 1; width: 100%; max-width: 540px; max-height: 90vh; overflow-y: auto; background: var(--color-surface); border-radius: var(--radius-lg); padding: var(--space-8); box-shadow: var(--shadow-xl); }
.pick-modal__close { position: absolute; top: var(--space-3); right: var(--space-4); font-size: var(--text-2xl); line-height: 1; background: none; border: 0; cursor: pointer; color: var(--color-text-muted); }
.pick-modal__title { margin-bottom: var(--space-4); }
.pick-tabs { display: flex; gap: var(--space-2); border-bottom: var(--border-thin); margin-bottom: var(--space-5); }
.pick-tab { background: none; border: 0; border-bottom: 2px solid transparent; padding: var(--space-2) var(--space-3); cursor: pointer; font: inherit; color: var(--color-text-muted); font-weight: var(--weight-medium); }
.pick-tab.is-active { color: var(--color-text); border-bottom-color: var(--color-accent); }
.pick-pane { display: none; }
.pick-pane.is-active { display: block; }
.js-pick-place-form.is-active { display: grid; gap: var(--space-3); }
.pick-search { width: 100%; padding: var(--space-3) var(--space-4); border: var(--border-thin); border-radius: var(--radius-md); background: var(--color-surface); font: inherit; }
.pick-results { display: grid; gap: var(--space-2); margin-top: var(--space-4); max-height: 360px; overflow-y: auto; }
.pick-result { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2); border: var(--border-thin); border-radius: var(--radius-md); background: var(--color-surface); cursor: pointer; text-align: left; }
.pick-result:hover { border-color: var(--color-primary); }
.pick-result img, .pick-result__ph { width: 48px; height: 48px; border-radius: var(--radius-md); object-fit: cover; flex: none; background: var(--color-surface-alt); }
.pick-result__meta { flex: 1; min-width: 0; display: grid; }
.pick-result__eyebrow { font-family: var(--font-mono); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: var(--tracking-wide); color: var(--color-text-muted); }
.pick-result__title { font-weight: var(--weight-semibold); font-size: var(--text-sm); }
.pick-result__add { font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--color-primary); }
.pick-result.is-added { opacity: 0.6; }
.pick-results__empty { color: var(--color-text-muted); font-size: var(--text-sm); }
.js-pick-place-form label { display: grid; gap: var(--space-1); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.js-pick-place-form input, .js-pick-place-form textarea, .js-pick-place-form select { width: 100%; padding: var(--space-3) var(--space-4); border: var(--border-thin); border-radius: var(--radius-md); background: var(--color-surface); font: inherit; font-weight: var(--weight-regular); }
.pick-modal__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-2); }
.pick-modal__msg { font-size: var(--text-sm); color: var(--color-error); }

.hp-actpager { margin-top: var(--space-8); }
/* AJAX pager buttons styled identically to the archive .page-numbers links */
.hp-actpager .pagination__item .page-numbers { cursor: pointer; font-family: inherit; color: var(--color-text); }
.hp-actpager .pagination__item .page-numbers:hover { border-color: var(--color-primary); color: var(--color-primary); }

/* Discussion title row + remove control */
.comm-post__top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); }
.comm-post__top .comm-post__title { margin: 0; }
.comm-reply__body .hp-del { margin-left: var(--space-2); }
.comm-event__date { font-weight: var(--weight-semibold); color: var(--color-text); }

/* About — founders grid (sole proprietorship; co-founder shown as team) */
.about-team { }
.about-team__grid { display: grid; gap: var(--space-6); grid-template-columns: 1fr; }
@media (min-width: 768px) { .about-team__grid { grid-template-columns: repeat(2, 1fr); } }
.founder-card { display: grid; gap: var(--space-5); grid-template-columns: 120px 1fr; align-items: start; padding: var(--space-6); border: var(--border-thin); border-radius: var(--radius-lg); background: var(--color-surface); }
@media (max-width: 479px) { .founder-card { grid-template-columns: 1fr; } }
.founder-card__img { width: 120px; height: 120px; border-radius: var(--radius-lg); object-fit: cover; box-shadow: var(--shadow-md); }
.founder-card__name { font-size: var(--text-xl); }
.founder-card__role { color: var(--color-accent-dark); font-weight: var(--weight-medium); margin: 2px 0 var(--space-2); }
.founder-card__text { color: var(--color-text-muted); }
.about-team__cta { margin-top: var(--space-8); }

/* ---------------------------------------------------------------------
   AUTH — branded login / register pages
   --------------------------------------------------------------------- */
.auth__wrap { display: grid; place-items: center; }
.auth-card { width: 100%; max-width: 440px; padding: var(--space-8); border: var(--border-thin); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-md); }
.auth-card--wide { max-width: 560px; }
.auth-card__title { font-size: var(--text-2xl); margin: var(--space-2) 0 var(--space-1); }
.auth-card__sub { color: var(--color-text-muted); margin-bottom: var(--space-6); }
.auth-msg { padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); font-size: var(--text-sm); margin-bottom: var(--space-5); }
.auth-msg--err { background: rgba(210,74,61,0.10); color: var(--color-error); }
.auth-form { display: grid; gap: var(--space-4); }
.auth-grid { display: grid; gap: var(--space-4); grid-template-columns: 1fr; align-items: start; }
@media (min-width: 520px) { .auth-grid { grid-template-columns: 1fr 1fr; } }
/* label / control / hint rows so the control aligns across both columns. */
.auth-field { display: grid; gap: var(--space-1); grid-template-rows: auto auto 1fr; font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.auth-field--full { grid-column: 1 / -1; }
.auth-field em { color: var(--color-error); font-style: normal; }
.auth-field input, .auth-field select { width: 100%; height: 3rem; padding: 0 var(--space-4); border: var(--border-thin); border-radius: var(--radius-md); background: var(--color-surface); font: inherit; font-weight: var(--weight-regular); -webkit-appearance: none; appearance: none; box-sizing: border-box; }
/* Custom dropdown chevron with right margin (replaces the flush native arrow). */
.auth-field select { padding-right: var(--space-9); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B5E48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right var(--space-4) center; background-size: 1.05rem; }
.auth-field input:focus, .auth-field select:focus { outline: none; border-color: var(--color-primary); box-shadow: var(--shadow-focus); }
.auth-field small { font-weight: var(--weight-regular); color: var(--color-text-muted); font-size: var(--text-xs); }
.auth-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }
.auth-check { display: flex; align-items: flex-start; gap: var(--space-2); font-size: var(--text-sm); font-weight: var(--weight-regular); color: var(--color-text-muted); }
.auth-check input { margin-top: 3px; }
.auth-link { font-size: var(--text-sm); color: var(--color-primary); font-weight: var(--weight-semibold); }
.auth-alt { margin-top: var(--space-5); text-align: center; font-size: var(--text-sm); color: var(--color-text-muted); }
.auth-alt a { color: var(--color-primary); font-weight: var(--weight-semibold); }
.auth-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
