@import url('./portal-shell.css?v=20260907-platform-2');
@import url('./portal-pages.css?v=20260907-platform-2');

/* Member-platform integration */
.member-platform {
  min-height: 100vh;
  background: var(--wine, #471414);
}
.member-platform > #nav,
.member-platform > .site-footer,
.member-platform > .mobile-dock {
  display: none !important;
}
.member-platform #main {
  min-height: 100vh;
}
.member-platform.portal-route #main {
  min-height: calc(100vh - var(--portal-shell-topbar-height, 56px));
}
body.portal-route.portal-shell-route-house,
body.portal-route.portal-shell-route-events,
body.portal-route.portal-shell-route-films,
body.portal-route.portal-shell-route-dining,
body.portal-route.portal-shell-route-venues,
body.portal-route.portal-shell-route-gallery,
body.portal-route.portal-shell-route-program-calendar {
  padding-top: 0;
}
.portal-boot-state {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 20px;
  min-height: 100vh;
  color: var(--gold, #cfb48b);
  font-family: var(--body, system-ui, sans-serif);
  font-size: .72rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.portal-boot-state img {
  width: 76px;
  height: auto;
  animation: portal-boot-pulse 1.8s ease-in-out infinite;
}
@keyframes portal-boot-pulse {
  50% { opacity: .55; transform: translateY(-3px); }
}
.member-card-code [data-house-member-qr] {
  display: grid;
  place-items: center;
  min-width: 72px;
  min-height: 72px;
  overflow: hidden;
  border-radius: 3px;
}
.member-card-code [data-house-member-qr] canvas,
.member-card-code [data-house-member-qr] img {
  display: block;
  width: 72px !important;
  height: 72px !important;
}
.house-member-points {
  border-color: rgb(233 217 183 / 32%);
  color: var(--gold, #cfb48b);
}
.house-portal-diary {
  margin-top: 30px;
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid var(--house-edge, rgb(233 217 183 / 27%));
  border-radius: var(--house-radius, 21px);
  background: rgb(47 10 12 / 24%);
}
.house-portal-diary-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}
.house-portal-diary-heading .eyebrow {
  margin: 0 0 7px;
  color: var(--gold, #cfb48b);
  font-size: .7rem;
  letter-spacing: .18em;
}
.house-portal-diary-heading h2 {
  margin: 0;
  font-family: var(--display, Georgia, serif);
  font-size: clamp(2rem, 2.8vw, 3rem);
  font-weight: 400;
}
.house-portal-diary-heading > a {
  color: var(--gold, #cfb48b);
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.house-portal-diary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.house-portal-visit {
  display: flex;
  min-width: 0;
  min-height: 154px;
  flex-direction: column;
  padding: 20px;
  border: 1px solid rgb(233 217 183 / 15%);
  border-radius: 12px;
  background: rgb(71 20 20 / 58%);
  color: var(--paper, #f1e9da);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}
.house-portal-visit-type {
  color: var(--gold, #cfb48b);
  font-size: .65rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.house-portal-visit h3 {
  margin: 14px 0 8px;
  font-family: var(--display, Georgia, serif);
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1.05;
}
.house-portal-visit p {
  margin: 0 0 16px;
  color: var(--muted, #c5b8ad);
  font-size: .78rem;
}
.house-portal-visit .status-label {
  align-self: flex-start;
  margin-top: auto;
}
@media (hover:hover) and (pointer:fine) {
  .house-portal-visit:hover {
    transform: translateY(-2px);
    border-color: rgb(233 217 183 / 34%);
    background: rgb(71 20 20 / 76%);
  }
}
@media (max-width: 900px) {
  .house-portal-diary-grid { grid-template-columns: 1fr; }
  .house-portal-visit { min-height: 132px; }
}
@media (max-width: 700px) {
  .house-portal-diary { margin-top: 22px; padding: 22px 18px; }
  .house-portal-diary-heading { align-items: start; flex-direction: column; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .portal-boot-state img { animation: none; }
}

