/* Shared card layout for the Zen Echo product detail pages. */
.wym-card-page .p1-main { padding-bottom: 28px; }
.wym-card-page .p1-main > section {
  width: 100%;
  min-height: 0;
  margin: 0 0 20px;
  padding: clamp(28px, 4vw, 48px);
  overflow: hidden;
  border: 1px solid var(--p1-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 32px rgba(23, 45, 56, .045);
}
.wym-card-page .p1-main > section:last-child { margin-bottom: 0; }
.wym-card-page .wym-section-heading { margin-bottom: 28px; }
.wym-card-page .wym-index { margin-bottom: 14px; }
.wym-card-page .wym-section-heading h2,
.wym-card-page .wym-editorial h2,
.wym-card-page .wym-gift h2 { margin-bottom: 16px; }
.wym-card-page .wym-hero,
.wym-card-page .wym-editorial,
.wym-card-page .wym-gift { gap: clamp(24px, 4vw, 48px); }
.wym-card-page .wym-hero h1 { white-space: normal; }
.wym-card-page .wym-hero-copy,
.wym-card-page .wym-editorial-copy,
.wym-card-page .wym-gift-copy { padding: 0; }
.wym-card-page .wym-hero-note { margin-top: 30px; }
.wym-card-page .wym-hero-image,
.wym-card-page .wym-editorial figure,
.wym-card-page .wym-gift figure { overflow: hidden; border-radius: 14px; }
.wym-card-page .wym-hero-image { display: block; height: auto; align-self: center; }
.wym-card-page .wym-hero-image img { height: auto; max-height: none; object-fit: contain; }
.wym-card-page .wym-editorial figure,
.wym-card-page .wym-gift figure { display: block; height: auto; min-height: 0; align-self: center; padding: 0; }
.wym-card-page .wym-editorial img,
.wym-card-page .wym-gift img { height: auto; max-height: none; object-fit: contain; }
.wym-card-page .wym-mind-grid article { padding-top: 20px; padding-bottom: 20px; }
.wym-card-page .wym-moments { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); border-bottom: 1px solid var(--p1-line); }
.wym-card-page .wym-moments > .zsf-split { grid-column: 1 / -1; }
.wym-card-page .wym-moments-image img,
.wym-card-page .wym-photo-grid img,
.wym-card-page .wym-specs figure img { border-radius: 12px; }
.wym-card-page .wym-photo-grid { height: 640px; }
.wym-card-page .zsf-split { gap: clamp(24px, 4vw, 48px); min-height: 0; background: transparent; }
.wym-card-page .cxj-story .zsf-split,
.wym-card-page .cxj-story:nth-of-type(even) .zsf-split { min-height: 0; background: transparent; }
.wym-card-page .zsf-split-copy { min-width: 0; padding: 0; }
.wym-card-page .zsf-split-copy h2,
.wym-card-page .zsf-split-copy h3 { margin-bottom: 16px; font-size: clamp(30px, 3.2vw, 42px); }
.wym-card-page .zsf-split-image,
.wym-card-page .cxj-story .zsf-split-image { align-self: center; overflow: hidden; border-radius: 14px; background: transparent; }
.wym-card-page .zsf-split .zsf-split-image img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
.wym-card-page .p1-main figure,
.wym-card-page .wym-specs-media { position: relative; }
.wym-card-page .p1-main figure > img,
.wym-card-page .wym-specs figure .wym-specs-media > img { border-radius: 14px; }
.wym-card-page .p1-main figure > figcaption,
.wym-card-page .wym-specs-media > figcaption {
  position: absolute;
  right: 20px;
  bottom: 18px;
  z-index: 1;
  max-width: calc(100% - 40px);
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: 12px;
  letter-spacing: .12em;
  line-height: 1.5;
  text-align: right;
  text-shadow: 0 1px 5px #000, 0 0 12px #000;
}
.wym-card-page .wym-intro > .zsf-split,
.wym-card-page .wym-comparison > .zsf-split,
.wym-card-page .wym-details > .zsf-split { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--p1-line); }
.wym-card-page .comparison-source { overflow: visible; border-radius: 0; background: transparent; }
.wym-card-page .cxj-story .zsf-split-copy { align-self: center; }
.wym-card-page .cxj-story .zsf-split-copy h2 { font-size: clamp(30px, 3.2vw, 42px); }
.wym-card-page .xy-photo-pair img,
.wym-card-page .lb-photo-pair img { border-radius: 12px; }
.wym-card-page .wym-specs-layout { gap: clamp(28px, 5vw, 60px); }
.wym-card-page .p1-main > .wym-cta { color: #fff; border-color: var(--p1-brand); background: var(--p1-brand); }
.wym-card-page .wym-cta::before { content: none; }

@media (max-width: 700px) {
  .wym-card-page .p1-main { padding-bottom: 16px; }
  .wym-card-page .p1-main > section { margin-bottom: 14px; padding: 22px; border-radius: 16px; }
  .wym-card-page .wym-section-heading { margin-bottom: 24px; }
  .wym-card-page .wym-hero,
  .wym-card-page .wym-editorial,
  .wym-card-page .wym-gift,
  .wym-card-page .wym-moments { grid-template-columns: 1fr; gap: 24px; }
  .wym-card-page .zsf-split { grid-template-columns: 1fr; gap: 20px; }
  .wym-card-page .zsf-split-copy { padding: 0; }
  .wym-card-page .cxj-story { padding: 22px; }
  .wym-card-page .wym-hero-image { height: auto; }
  .wym-card-page .wym-editorial figure,
  .wym-card-page .wym-gift figure { height: auto; }
  .wym-card-page .wym-mind-grid article,
  .wym-card-page .wym-mind-grid article:nth-child(even) { padding: 20px 0; }
  .wym-card-page .wym-photo-grid { height: auto; }
  .wym-card-page .p1-main figure > figcaption,
  .wym-card-page .wym-specs-media > figcaption { right: 16px; bottom: 14px; max-width: calc(100% - 32px); }
  .wym-card-page .wym-cta { padding: 30px 22px; }
}
