/* PALMA ROTAN — Catalog color + photo restoration only. */
.catalog {
  background: linear-gradient(135deg, #eee3d3 0%, #f7f1e7 52%, #e6d8c6 100%);
  color: #3f3024;
}
.catalog .catalogIntro h2 { color: #4a3526; }
.catalog .catalogIntro .eyebrow { color: #9a7755; }
.catalog .catalogIntro p { color: #756657; }
.catalog .catalogCard {
  background-color: rgba(255,252,247,.88);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-color: #d2c0aa;
  color: #fff;
  isolation: isolate;
}
.catalog .catalogCard:nth-child(1) {
  background-image: linear-gradient(180deg, rgba(38,27,19,.12) 0%, rgba(38,27,19,.78) 100%), url('../assets/hero-collection.png');
}
.catalog .catalogCard:nth-child(2) {
  background-image: linear-gradient(180deg, rgba(38,27,19,.08) 0%, rgba(38,27,19,.70) 100%), url('../assets/hero-vase.png');
}
.catalog .catalogCard:nth-child(3) {
  background-image: linear-gradient(180deg, rgba(38,27,19,.08) 0%, rgba(38,27,19,.70) 100%), url('../assets/grand-opening.png');
}
.catalog .catalogCard > * { position: relative; z-index: 2; }
.catalog .catalogCard:before { z-index: 3; }
.catalog .catalogPrimary { color:#fff; }
.catalog .catalogPrimary .catalogDesc { color:#eadfd3; }
.catalog .catalogCard:not(.catalogPrimary) .catalogNo,
.catalog .catalogCard:not(.catalogPrimary) .catalogLink { color:#fff; }
.catalog .catalogCard:not(.catalogPrimary) .catalogDesc { color:rgba(255,255,255,.84); }
.catalog .catalogCard:not(.catalogPrimary) .catalogLabel { color:#fff; }

/* Journal heading is presentation text, not a selectable input. */
#journal .sectionHead h2,
#journal .journal article h3 {
  user-select: none;
  -webkit-user-select: none;
}

/* Mobile Journal: three cards stay aligned in one horizontal track.
   Each card owns its full text area so the next image can never cover the title. */
@media (max-width: 620px) {
  #journal .journal {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(78vw, 78vw);
    gap: 16px;
    margin-top: 28px;
    padding: 0 0 14px;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  #journal .journal article {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-self: start;
    scroll-snap-align: start;
    overflow: visible;
  }

  #journal .journal article img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    flex: 0 0 auto;
  }

  #journal .journal article small {
    display: block;
    margin: 14px 0 0;
    line-height: 1.4;
    min-height: 1.4em;
  }

  #journal .journal article h3 {
    display: block;
    margin: 7px 0 0;
    font: 600 27px/1.08 var(--serif);
    white-space: normal;
    overflow: visible;
    height: auto;
    min-height: 0;
    max-height: none;
    word-break: normal;
    overflow-wrap: break-word;
  }
}

/* Mobile page-end guard: neutralize the temporary inline root-height clamp and
   prevent iOS-style overscroll from exposing a blank tail below the footer. */
@media (max-width: 767px) {
  html {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: none !important;
  }
  body {
    height: auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    overscroll-behavior-y: none !important;
  }
  footer#contact {
    margin-bottom: 0 !important;
  }
}
