/* Supporting pages — one measured rhythm for the house, catalogue and enquiries.
   Loaded after style.css. Product-card artwork and brand assets remain unchanged. */

:root {
  --page-space: clamp(72px, 7vw, 120px);
  --page-gap: clamp(40px, 6vw, 96px);
  --reading-width: 68ch;
}

.editorial-page,
.enquiry-page,
.gift-page,
.luxury-page,
.illustrated-information,
.perfume-page {
  padding-top: 12px;
  padding-bottom: var(--page-space);
}

.editorial-page > .breadcrumbs,
.enquiry-page > .breadcrumbs,
.gift-page > .breadcrumbs,
.luxury-page > .breadcrumbs,
.illustrated-information > .breadcrumbs,
.perfume-page > .breadcrumbs {
  margin: 0 0 48px;
  min-height: 24px;
  align-items: center;
  font-size: 11px;
  line-height: 1.6;
}

.editorial-page > article,
.editorial-next,
.information-opening,
.enquiry-layout,
.gift-introduction,
.perfume-page > .product-detail {
  max-width: 1400px;
  margin-inline: auto;
}

.editorial-page h1,
.enquiry-page h1,
.gift-page h1,
.luxury-page h1,
.illustrated-information h1 {
  font-size: clamp(27px, 2.15vw, 34px);
  line-height: 1.4;
  letter-spacing: -.035em;
  text-wrap: balance;
}

/* House stories: every chapter shares the same heading and reading columns. */
.editorial-opening {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--page-gap);
  align-items: center;
  padding-bottom: var(--page-space);
}

.editorial-intro { max-width: 590px; }
.editorial-intro h1 { margin-top: 18px; }
.editorial-intro .editorial-copy { margin-top: 28px; }
.editorial-copy { font-size: 14px; line-height: 1.95; }
.editorial-copy p + p { margin-top: 20px; }
.editorial-portrait img { aspect-ratio: 3 / 2; }
.editorial-portrait figcaption,
.information-visual figcaption,
.enquiry-image figcaption { font-size: 10px; line-height: 1.7; }

.editorial-chapters { max-width: none; }
.editorial-chapter {
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
  gap: var(--page-gap);
  padding: 58px 0;
  align-items: start;
}
.editorial-chapter-heading > h2 {
  max-width: 340px;
  font-size: 23px;
  line-height: 1.45;
}
.editorial-chapter .editorial-copy { max-width: var(--reading-width); }
.editorial-chapter-visual { width: 100%; max-width: 370px; margin-top: 30px; }
.editorial-chapter-visual img { border-radius: var(--radius); }
.editorial-next {
  margin-top: 12px;
  padding-top: 28px;
  align-items: center;
}
.editorial-next .text-link { font-size: 12px; }

/* Information pages use the same opening as the editorial stories. */
.information-opening {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--page-gap);
  align-items: center;
  margin-top: 0;
  margin-bottom: 0;
}
.information-opening > .prose {
  width: 100%;
  max-width: 590px;
  margin: 0;
  padding: 0;
}
.information-opening > .prose h1 { margin: 0 0 26px; }
.information-opening > .prose p,
.information-opening > .prose li { font-size: 14px; line-height: 1.95; }
.information-opening > .prose .lead { font-size: 15px; }
.information-opening .page-next { margin-top: 28px; }
.information-opening .page-next .text-link { margin-top: 0; min-height: 36px; }
.illustrated-information > .luxury-feature {
  max-width: 1400px;
  margin: var(--page-space) auto 0;
}
.enquiry-privacy-details {
  max-width: 840px;
  margin: var(--page-space) auto 0;
  padding-top: 42px;
  border-top: 1px solid var(--line);
  font-size: 14px;
  line-height: 1.95;
}
.enquiry-privacy-details > h2:first-child { margin-top: 0; }
.enquiry-privacy-details h2 { margin: 38px 0 16px; font-size: 22px; font-weight: 400; }

/* Catalogue: keep four approved cards across, with a clear introduction/filter line. */
.catalogue { padding-top: 12px; padding-bottom: var(--page-space); }
.catalogue .collection-intro { max-width: 700px; margin: 0 0 52px; }
.catalogue .collection-intro h1 { font-size: clamp(27px, 2.15vw, 34px); }
.catalogue .collection-tools {
  align-items: center;
  gap: 24px;
  padding: 24px 0;
  margin-bottom: 32px;
  border-block: 1px solid var(--line);
}
.catalogue .collection-filters { gap: 9px; }
.catalogue .collection-filters [data-filter] { min-height: 44px; padding-inline: 17px; }
.catalogue .catalogue-note { margin: 34px 0 0; max-width: 720px; }
.luxury-introduction {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--page-gap);
  align-items: start;
  padding-bottom: 48px;
}
.luxury-introduction h1 { margin-top: 18px; }
.luxury-introduction-copy { font-size: 14px; line-height: 1.95; padding-top: 3px; }
.luxury-range-meta { padding-top: 24px; margin-bottom: 32px; font-size: 11px; }
.luxury-range-footer { margin: 36px 0 0; padding-top: 26px; align-items: center; }
.luxury-range-footer > p { font-size: 12px; max-width: 670px; }
.luxury-range-footer > .text-link { min-height: 36px; }

/* Individual fragrances: a generous image stage and a quieter, readable story. */
.perfume-page > .product-detail {
  grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
  gap: var(--page-gap);
  align-items: center;
  margin-bottom: 0;
}
.perfume-page .product-portrait {
  width: 100%;
  max-width: 620px;
  justify-self: center;
  aspect-ratio: 1 / 1.12;
}
.perfume-page .product-portrait > .bottle-cutout { width: 50%; max-width: 340px; }
.perfume-page .product-detail > .product-description { max-width: 550px; padding: 28px 0; }
.perfume-page .product-description > h1 { font-size: clamp(28px, 2.3vw, 36px); line-height: 1.4; }
.perfume-page .product-story { margin-top: 34px; padding-top: 28px; }
.perfume-page .product-story h2 { font-size: 20px; }
.perfume-page .product-story p { font-size: 14px; line-height: 1.95; }
.perfume-page .product-notes { margin-top: 26px; }
.perfume-page .product-notes summary { min-height: 30px; }
.perfume-page .product-description > .text-link,
.perfume-page .luxury-back-link .text-link { min-height: 36px; }
.perfume-page .luxury-product-visual { max-width: 520px; }

/* Gift presentation: retain every view without squeezing the thumbnail controls. */
.gift-introduction {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: var(--page-gap);
  align-items: center;
}
.gift-page-copy { max-width: 470px; padding: 20px 0; }
.gift-page-copy h1 { margin-top: 18px; }
.gift-editorial { margin-top: 26px; font-size: 14px; }
.gift-gallery-main figcaption { padding: 18px 22px; font-size: 11px; }
.gift-gallery-views { gap: 8px; margin-top: 15px; }
.gift-gallery-views > a { min-height: 44px; }
.gift-gallery-views span { font-size: 10px; }
.gift-preview-note { max-width: none; margin-top: 30px; padding-top: 22px; }
.gift-closing { max-width: 720px; margin: var(--page-space) auto 0; padding-top: 42px; }
.gift-closing h2 { font-size: 24px; }

/* Enquiry pages: a stable introduction/image column beside the working form. */
.enquiry-layout {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  grid-template-rows: auto 1fr;
  column-gap: var(--page-gap);
  row-gap: 34px;
}
.enquiry-introduction { padding-top: 0; max-width: 500px; }
.enquiry-introduction h1 { margin-top: 18px; }
.enquiry-introduction-copy { font-size: 14px; margin-top: 26px; }
.enquiry-image { width: 100%; max-width: 500px; }
.enquiry-panel { padding: clamp(28px, 3vw, 46px); box-shadow: none; }
.enquiry-panel h2 { font-size: 23px; }
.enquiry-other-routes { gap: 9px; }
.enquiry-other-routes a { min-height: 38px; }
.enquiry-field > label,
.enquiry-checks > legend { font-size: 12px; }
.enquiry-optional > summary { min-height: 42px; }

@media (min-width: 1600px) {
  .editorial-copy,
  .information-opening > .prose p,
  .information-opening > .prose li,
  .enquiry-introduction-copy { font-size: 15px; }
}

@media (max-width: 1100px) {
  .editorial-chapter { grid-template-columns: minmax(210px, .85fr) minmax(0, 1.15fr); }
  .enquiry-panel { padding: 28px; }
  .enquiry-fields { column-gap: 16px; }
  .gift-gallery-main figcaption > span:last-child { display: none; }
}

@media (max-width: 980px) {
  .enquiry-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
    grid-template-rows: auto auto;
    gap: 40px;
    max-width: 820px;
  }
  .enquiry-introduction { grid-column: 1; grid-row: 1; }
  .enquiry-image { grid-column: 2; grid-row: 1; align-self: center; }
  .enquiry-panel { grid-column: 1 / -1; grid-row: 2; width: 100%; padding: 38px; }
  .enquiry-check-options { grid-template-columns: 1fr 1fr; }
  .gift-introduction { grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: 36px; }
  .gift-gallery-views { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gift-gallery-views > a { max-width: 100px; }
}

@media (max-width: 760px) {
  :root { --page-space: 72px; --page-gap: 34px; }
  .editorial-page,
  .enquiry-page,
  .gift-page,
  .luxury-page,
  .illustrated-information,
  .perfume-page,
  .catalogue { padding-top: 4px; }
  .editorial-page > .breadcrumbs,
  .enquiry-page > .breadcrumbs,
  .gift-page > .breadcrumbs,
  .luxury-page > .breadcrumbs,
  .illustrated-information > .breadcrumbs,
  .perfume-page > .breadcrumbs { margin-bottom: 30px; font-size: 10px; }
  .editorial-page h1,
  .enquiry-page h1,
  .gift-page h1,
  .luxury-page h1,
  .illustrated-information h1 { font-size: 27px; }
  .editorial-opening,
  .information-opening,
  .luxury-introduction,
  .gift-introduction,
  .perfume-page > .product-detail { grid-template-columns: minmax(0, 1fr); }
  .editorial-opening { padding-bottom: 48px; }
  .editorial-intro,
  .information-opening > .prose { max-width: none; }
  .editorial-intro .editorial-copy { margin-top: 24px; }
  .editorial-copy { font-size: 14px; line-height: 1.9; }
  .editorial-chapter { grid-template-columns: minmax(0, 1fr); gap: 23px; padding: 38px 0; }
  .editorial-chapter-heading > h2 { font-size: 22px; max-width: 420px; }
  .editorial-chapter-visual { max-width: 100%; margin-top: 24px; }
  .editorial-next { align-items: flex-start; gap: 14px; margin-top: 10px; padding-top: 24px; }
  .editorial-next .text-link { font-size: 11px; }
  .information-opening { margin: 0; }
  .information-opening > .prose h1 { margin-bottom: 24px; }
  .information-opening > .prose .lead { font-size: 14px; }
  .information-opening .page-next { margin-top: 24px; }
  .enquiry-privacy-details { padding-top: 32px; }
  .enquiry-privacy-details h2 { font-size: 21px; }
  .catalogue .collection-intro { margin-bottom: 30px; }
  .catalogue .collection-tools { padding-block: 19px; margin-bottom: 26px; }
  .catalogue .collection-filters { gap: 8px; }
  .catalogue .collection-filters [data-filter] { padding-inline: 13px; }
  .catalogue .collection-tools > [data-result-count] { margin-top: 17px; font-size: 11px; }
  .catalogue .catalogue-note { margin-top: 28px; font-size: 11px; }
  .luxury-introduction { gap: 24px; padding-bottom: 34px; }
  .luxury-introduction-copy { padding: 0; font-size: 13px; }
  .luxury-range-meta { margin-bottom: 25px; }
  .luxury-range-footer { margin-top: 30px; gap: 20px; align-items: flex-start; }
  .luxury-range-footer > p { font-size: 11px; }
  .perfume-page .product-detail > .product-description { max-width: none; padding: 0; }
  .perfume-page .product-description > h1 { font-size: 29px; }
  .perfume-page .product-portrait { max-width: 500px; }
  .perfume-page .product-portrait > .bottle-cutout { width: 50%; }
  .perfume-page .product-story { margin-top: 28px; padding-top: 24px; }
  .perfume-page .luxury-product-visual { max-width: 420px; }
  .gift-page-copy { max-width: none; padding: 0; }
  .gift-editorial { margin-top: 24px; font-size: 14px; }
  .gift-gallery-main figcaption { padding: 15px 18px; font-size: 10px; }
  .gift-gallery-views { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
  .gift-gallery-views > a { max-width: none; }
  .gift-gallery-views span { font-size: 9px; }
  .gift-closing { padding-top: 34px; }
  .gift-closing h2 { font-size: 23px; }
  .enquiry-layout { display: flex; flex-direction: column; gap: 30px; }
  .enquiry-introduction { max-width: none; }
  .enquiry-introduction-copy { font-size: 14px; margin-top: 24px; }
  .enquiry-panel { padding: 26px 22px; }
  .enquiry-panel h2 { font-size: 22px; }
  .enquiry-image { max-width: none; margin-top: 5px; }
  .enquiry-fields { grid-template-columns: minmax(0, 1fr); }
  .enquiry-field input:not([type=checkbox]),
  .enquiry-field select,
  .enquiry-field textarea { font-size: 16px; }
}

@media (max-width: 420px) {
  .gift-gallery-views { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
  .gift-gallery-main figcaption { padding-inline: 14px; }
  .enquiry-panel { padding: 25px 17px; }
  .enquiry-check-options { grid-template-columns: minmax(0, 1fr); }
  .luxury-range-meta { flex-wrap: wrap; gap: 8px; }
  .enquiry-privacy-details { overflow-wrap: anywhere; }
}
