/* Compact the two requested browsing grids without concealing copy or
   constraining content height. Small screens and zoom remain normal pages. */

/* Future-photo placeholders are a quiet strip, not half of every card.
   Keep the slot, caption and original link intact for later photographs. */
.photo-page-stretching .library-section .photo-placeholder--card {
  min-height: 0;
  padding: 8px 12px;
  text-align: left;
}
.photo-page-stretching .library-section .photo-placeholder__frame {
  flex-direction: row;
  flex: none;
  justify-content: flex-start;
  gap: 6px;
  padding: 0;
  font-size: .48rem;
  line-height: 1.3;
  letter-spacing: .12em;
}
.photo-page-stretching .library-section .photo-placeholder__mark {
  width: 18px;
  height: 18px;
  flex: none;
  font-size: .85rem;
}
.photo-page-stretching .library-section .photo-placeholder--card figcaption {
  max-width: none;
  margin: 4px 0 0;
  font-size: .68rem;
  line-height: 1.3;
}
.photo-page-stretching .library-section .library-grid { gap: 14px; }
.photo-page-stretching .library-section .library-card__body { padding: 16px; }
.photo-page-stretching .library-section .library-card__body .chapter { margin-bottom: 8px; }
.photo-page-stretching .library-section .library-card h3 {
  font-size: 1.5rem !important;
  margin-bottom: 8px;
}
.photo-page-stretching .library-section .library-card p:not(.chapter) {
  font-size: 1rem;
  line-height: 1.45;
  margin-bottom: 12px;
}
.photo-page-stretching .library-section .card-action {
  padding-top: 8px;
  font-size: .75rem;
  line-height: 1.5;
}
.photo-page-stretching .library-section > .library-heading { margin-bottom: 20px; gap: 32px; }
.photo-page-stretching .library-section > .library-heading h2 { font-size: clamp(2rem, 3vw, 2.6rem) !important; }
.photo-page-stretching .library-section > .library-heading .eyebrow { margin-bottom: 10px; }

/* The five add-ons share one wide-screen row. Full descriptions and the
   booking explanation remain visible; actions use short, equal labels. */
.photo-page-services .enhancements { margin-top: 32px; padding-top: 24px; }
.photo-page-services .enhancements-intro { max-width: none; }
.photo-page-services .enhancements-intro h2 {
  font-size: clamp(2rem, 3vw, 2.6rem) !important;
  margin-bottom: 12px;
}
.photo-page-services .enhancements-intro .eyebrow { margin-bottom: 10px; }
.photo-page-services .enhancements-intro > p:last-child { margin-bottom: 0; }
.photo-page-services .enhancement-grid { gap: 14px; margin: 20px 0 16px; }
.photo-page-services .enhancement-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 16px;
}
.photo-page-services .enhancement-card h3 {
  font-size: 1.4rem !important;
  margin-bottom: 12px;
  overflow-wrap: break-word;
}
.photo-page-services .enhancement-card p {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 16px;
}
.photo-page-services .enhancement-card .text-link {
  margin-top: auto;
  align-self: stretch;
  justify-content: center;
  padding-inline: 12px;
  min-height: var(--button-min-height);
  text-align: center;
}
.photo-page-services .enhancements > .small-note { margin-top: 10px; line-height: 1.5; }

@media (min-width: 901px) {
  .photo-page-stretching .library-section { padding-top: 24px; }
  .photo-page-stretching .library-all-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .photo-page-services .enhancements-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    column-gap: 32px;
    align-items: center;
  }
  .photo-page-services .enhancements-intro > .eyebrow { grid-column: 1; grid-row: 1; }
  .photo-page-services .enhancements-intro > h2 { grid-column: 1; grid-row: 2; margin-bottom: 0; }
  .photo-page-services .enhancements-intro > p:last-child { grid-column: 2; grid-row: 1 / span 2; }
}
@media (min-width: 1001px) {
  .photo-page-services .services-shell { max-width: 1440px; }
  .photo-page-services .enhancement-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .photo-page-services .enhancement-card { padding: 20px; }
  .photo-page-stretching .library-section > .library-heading { gap: 20px; }
}

/* Each ten-guide group uses the same browsing surface. Five columns make
   two complete desktop rows; body copy remains 16 px and cards grow naturally. */
.photo-page-stretching .library-all-grid { gap: 12px; }
@media (min-width: 1101px) {
  .photo-page-stretching .library-all-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .photo-page-stretching .library-all-grid .photo-placeholder--card { padding: 6px 10px; }
  .photo-page-stretching .library-all-grid .photo-placeholder__mark { width: 14px; height: 14px; font-size: .7rem; }
  .photo-page-stretching .library-all-grid .photo-placeholder__frame { font-size: .44rem; letter-spacing: .08em; }
  .photo-page-stretching .library-all-grid .photo-placeholder--card figcaption { line-height: 1.2; }
  .photo-page-stretching .library-all-grid .library-card__body { padding: 12px; }
  .photo-page-stretching .library-all-grid .library-card__body .chapter {
    margin-bottom: 6px;
    font-size: .62rem;
    line-height: 1.35;
    letter-spacing: .04em;
  }
  .photo-page-stretching .library-all-grid .library-card h3 { font-size: 1.35rem !important; margin-bottom: 6px; }
  .photo-page-stretching .library-all-grid .library-card p:not(.chapter) { line-height: 1.4; margin-bottom: 8px; }
  .photo-page-stretching .library-all-grid .card-action { padding-top: 6px; line-height: 1.4; }
}

/* Two matching library groups, each with ten complete, linked guides. */
.photo-page-stretching .library-care-section { border-top: 1px solid var(--line); }
.photo-page-stretching .library-card__preview {
  padding: 8px 12px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(32,61,43,.65), rgba(10,34,23,.85));
  color: var(--muted);
}
.photo-page-stretching .library-card__preview > span {
  font-family: Arial, sans-serif;
  font-size: .48rem;
  line-height: 1.3;
  letter-spacing: .12em;
}
.photo-page-stretching .library-card__preview > p {
  font-size: .68rem !important;
  line-height: 1.3 !important;
  margin: 4px 0 0 !important;
}
.photo-page-stretching .library-reference-note {
  max-width: 960px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.photo-page-stretching .library-reference-note > p:first-child { margin-bottom: 8px; }
.photo-page-stretching .library-reference-note .source-note { margin-top: 0; }
.photo-page-stretching .library-card__link:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.photo-page-stretching #between-sessions,
.photo-page-stretching #gentle-stretches { scroll-margin-top: calc(var(--site-header-height, 150px) + 20px); }
@media (min-width: 1101px) {
  .photo-page-stretching .library-card__preview { padding: 6px 10px; }
  .photo-page-stretching .library-card__preview > span { font-size: .44rem; letter-spacing: .08em; }
  .photo-page-stretching .library-card__preview > p { line-height: 1.2 !important; }
}
@media print {
  .photo-page-stretching .library-grid { display: block; }
  .photo-page-stretching .library-card { margin-bottom: 12px; }
}
