/* Merchandise partners: built on the existing ivory, plum and gold system. */
.merchant-hero { padding: 44px 0 65px; }
.merchant-hero-grid { display: grid; grid-template-columns: 1.12fr 1fr; gap: 70px; align-items: center; }
.merchant-hero h1 { font-size: clamp(48px, 5.5vw, 76px); }
.merchant-hero .lead { max-width: 465px; margin-top: 26px; }
.merchant-hero .button-row { margin-top: 28px; }
.merchant-date { color: var(--muted); font-size: 12px; margin-top: 26px; }
.merchant-date strong { color: var(--plum); font-weight: 600; }
.merchant-visual { background: #f0e4d1; border: 1px solid #c7aa76; padding: 9px; border-radius: 190px 190px 5px 5px; overflow: hidden; }
.merchant-scene { position: relative; height: 420px; overflow: hidden; border-radius: 182px 182px 2px 2px; background: var(--plum); }
.merchant-scene svg { width: 100%; height: 100%; }
.merchant-visual-label { position: absolute; bottom: 20px; left: 20px; background: var(--ivory); color: var(--plum); padding: 8px 12px; font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.merchant-visual figcaption { display: flex; gap: 20px; align-items: end; justify-content: space-between; padding: 22px 16px 15px; }
.merchant-visual figcaption > span { font: 29px/1.15 var(--serif); letter-spacing: -.04em; }
.merchant-visual figcaption em { color: #81677c; }
.merchant-visual figcaption small { font-size: 9px; color: var(--muted); text-align: right; max-width: 100px; }
.merchant-inclusions { border-block: 1px solid var(--line); background: var(--paper); }
.merchant-inclusions .container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding-block: 23px; }
.merchant-inclusions p { font-size: 12px; color: var(--plum); }
.merchant-inclusions span { margin-right: 9px; color: var(--gold-dark); }
.merchant-spaces { background: #fffaf0; }
.merchant-space-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.merchant-space-card { display: flex; flex-direction: column; border: 1px solid #d6c2a3; border-radius: 5px; padding: 38px; background: #f6eee0; }
.merchant-space-top { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 26px; color: var(--gold-dark); }
.merchant-space-card h3 { font-size: 39px; }
.merchant-space-card > p { font-size: 14px; color: var(--muted); margin-top: 20px; max-width: 380px; }
.merchant-space-card ul { list-style: none; padding: 22px 0 0; border-top: 1px solid #dccab0; margin: 25px 0 28px; flex: 1; }
.merchant-space-card li { position: relative; padding-left: 24px; font-size: 13px; line-height: 1.7; margin: 11px 0; }
.merchant-space-card li::before { content: '✓'; position: absolute; left: 0; color: var(--gold-dark); }
.merchant-space-card .button { width: 100%; font-size: 13px; }
.merchant-space-dedicated { background: var(--plum); color: var(--ivory); border-color: var(--plum); }
.merchant-space-dedicated .merchant-space-top, .merchant-space-dedicated .package-tier, .merchant-space-dedicated li::before { color: var(--gold); }
.merchant-space-dedicated > p { color: #dfd1e0; }
.merchant-space-dedicated ul { border-color: #745277; }
.merchant-space-note { font-size: 12px; color: var(--muted); margin-top: 24px; max-width: 760px; }
.merchant-categories { padding-block: 65px; background: var(--paper); border-block: 1px solid var(--line); }
.merchant-categories .container { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: center; }
.merchant-categories h2 { font-size: clamp(34px, 3.5vw, 46px); }
.merchant-categories p:not(.eyebrow) { font-size: 14px; color: var(--muted); }
.merchant-categories ul { list-style: none; display: flex; flex-wrap: wrap; gap: 9px; padding: 0; margin-block: 22px; }
.merchant-categories li { border: 1px solid #d7c5a8; padding: 6px 12px; border-radius: 2px; font-size: 12px; }
.merchant-categories small { color: var(--muted); font-size: 11px; }
.merchant-enquiry .enquiry-grid { grid-template-columns: .85fr 1.15fr; gap: 70px; }
.merchant-enquiry .enquiry-grid > div > p:not(.eyebrow) { font-size: 14px; }
.merchant-enquiry .enquiry-form { min-width: 0; }
.merchant-enquiry .field label { font-size: 12px; }
.merchant-enquiry .field input, .merchant-enquiry .field select, .merchant-enquiry .field textarea { font-size: 15px; padding-block: 13px; }
.merchant-enquiry .field-row { gap: 15px; }
.merchant-enquiry .checkbox-label { font-size: 12px; line-height: 1.7; }
.merchant-email-list { border-block: 1px solid var(--line); padding-block: 22px; margin-block: 26px 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.merchant-email-list > span { color: var(--gold-dark); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.merchant-email-list a { color: var(--plum); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.merchant-payment-note { margin-top: 30px; padding: 23px; border-left: 2px solid var(--gold-dark); background: #f4ecdd; }
.merchant-payment-note .eyebrow { margin-bottom: 10px; }
.merchant-payment-note p { font-size: 14px; }
.merchant-payment-note a { text-decoration: underline; text-underline-offset: 3px; }
.merchant-enquiry .field-help { font-size: 11px; margin-top: 6px; color: var(--muted); }
.merchant-form-note { margin-top: 13px; color: var(--muted); font-size: 11px; }
.merchant-enquiry .enquiry-result p { font-size: 12px; }
.merchant-enquiry .enquiry-result pre { font-size: 12px; }
.merchant-enquiry .result-actions .button { font-size: 12px; }
.merchant-enquiry .text-button { background: transparent; }
.merchant-payment { border-top: 1px solid var(--line); }
.merchandise-page .faq-list details p, .merchandise-page .faq-list summary { font-size: 14px; }
.merchandise-page .faq-list a { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 851px) and (max-width: 1050px) {
  .merchant-hero-grid, .merchant-enquiry .enquiry-grid { gap: 35px; }
  .merchant-hero h1 { font-size: 57px; }
  .merchant-scene { height: 390px; }
  .merchant-space-card { padding: 29px; }
  .merchant-space-card h3 { font-size: 34px; }
  .merchant-space-card .button { padding-inline: 13px; font-size: 12px; gap: 15px; }
}
@media (max-width: 850px) {
  .merchant-hero-grid { gap: 30px; }
  .merchant-hero h1 { font-size: clamp(42px, 6.1vw, 55px); }
  .merchant-hero .lead { font-size: 14px; }
  .merchant-hero .button-row { gap: 15px; }
  .merchant-scene { height: 375px; }
  .merchant-visual figcaption { padding: 17px 8px 10px; }
  .merchant-visual figcaption > span { font-size: 25px; }
  .merchant-inclusions .container { gap: 15px; }
  .merchant-inclusions p { font-size: 11px; }
  .merchant-space-card { padding: 28px; }
  .merchant-space-card h3 { font-size: 33px; }
  .merchant-space-card .button { font-size: 12px; gap: 10px; padding-inline: 12px; }
  .merchant-categories .container { gap: 30px; }
  .merchant-enquiry .enquiry-grid { grid-template-columns: 1fr; gap: 32px; }
  .merchant-enquiry .field-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .merchant-hero { padding-block: 28px 35px; }
  .merchant-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .merchant-hero h1 { font-size: clamp(43px, 11.8vw, 65px); }
  .merchant-hero .lead { margin-top: 22px; }
  .merchant-date { font-size: 12px; }
  .merchant-visual { width: min(100%, 420px); justify-self: center; border-radius: 140px 140px 5px 5px; }
  .merchant-scene { height: 310px; border-radius: 132px 132px 2px 2px; }
  .merchant-visual figcaption > span { font-size: 28px; }
  .merchant-inclusions .container { grid-template-columns: 1fr; gap: 8px; padding-block: 20px; }
  .merchant-inclusions p { font-size: 12px; }
  .merchant-space-grid { grid-template-columns: 1fr; gap: 22px; }
  .merchant-space-card { padding: 27px; }
  .merchant-space-card h3 { font-size: 36px; }
  .merchant-space-card .button { font-size: 12px; }
  .merchant-space-card > p, .merchant-space-card li { font-size: 14px; }
  .merchant-categories { padding-block: 45px; }
  .merchant-categories .container { grid-template-columns: 1fr; gap: 22px; }
  .merchant-categories h2 { font-size: 37px; }
  .merchant-enquiry .field-row { grid-template-columns: 1fr; gap: 0; }
  .merchant-enquiry .field input, .merchant-enquiry .field select, .merchant-enquiry .field textarea { font-size: 16px; }
  .merchant-enquiry .enquiry-form { padding: 22px; }
  .merchant-enquiry #prepare-merchandise { width: 100%; padding-inline: 10px; gap: 10px; }
  .merchant-payment .contact-card { padding-inline: 22px; }
  .merchandise-page .mobile-booking > span { font-size: 7px; }
  .merchandise-page .footer-links { flex-direction: column; gap: 13px; }
}
@media print {
  .merchant-hero-grid { display: block; }
  .merchant-visual, .merchant-enquiry, .merchant-payment .contact-links { display: none; }
  .merchant-space-card { background: white; color: black; break-inside: avoid; padding: 15px; }
  .merchant-space-card * { color: black !important; }
  .merchant-categories, .merchant-hero { padding-block: 20px; }
}
