/* Mery Rose Mery — print/PDF identity.
   This file is loaded with media="print" only. It must never affect screen layout. */

@page {
  margin: 19mm 14mm 18mm;
}

html,
body {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

body {
  padding-top: 0 !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

.mrm-print-branding {
  display: block !important;
  position: static !important;
  width: 0 !important;
  height: 0 !important;
  overflow: visible !important;
}

.mrm-print-header,
.mrm-print-footer,
.mrm-print-watermark {
  pointer-events: none !important;
  user-select: none !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

.mrm-print-header {
  display: flex !important;
  position: fixed !important;
  top: -13.5mm !important;
  left: 0 !important;
  right: 0 !important;
  height: 10mm !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8mm !important;
  padding: 0 0 2.1mm !important;
  border-bottom: .35pt solid rgba(18,63,52,.28) !important;
  background: #fff !important;
  z-index: 2147483000 !important;
}

.mrm-print-header img {
  display: block !important;
  width: 30mm !important;
  max-width: 30mm !important;
  height: auto !important;
  max-height: 8mm !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.mrm-print-header span {
  color: #53615c !important;
  font: 700 7pt/1.1 Arial, Helvetica, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.mrm-print-watermark {
  display: block !important;
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  width: 64mm !important;
  transform: translate(-50%,-50%) !important;
  opacity: .035 !important;
  z-index: 0 !important;
}

.mrm-print-watermark img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.mrm-print-footer {
  display: flex !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -11.8mm !important;
  min-height: 8.5mm !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6mm !important;
  padding: 2.2mm 0 0 !important;
  border-top: .35pt solid rgba(18,63,52,.24) !important;
  background: #fff !important;
  color: #5d6964 !important;
  font: 600 6.7pt/1.2 Arial, Helvetica, sans-serif !important;
  letter-spacing: .055em !important;
  z-index: 2147483000 !important;
}

.mrm-print-footer .mrm-print-url {
  color: #123f34 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

/* Keep the document above the watermark. */
body > *:not(.mrm-print-branding) {
  position: relative !important;
  z-index: 1 !important;
}

/* Interactive/navigation elements do not belong in a saved PDF. */
.topbar,
.nav,
.actions,
.cta-row,
.mobile-cta,
.menu-action,
.share-page-button,
.hero-share-status,
.hero-ctas,
.hero-tertiary-link,
.planner-actions,
.site-explore,
.footer,
.ops-hint,
.ops-swipe-pill,
button[onclick*="print"],
a[onclick*="print"] {
  display: none !important;
}

/* General print geometry: remove screen-only widths and scroll containers. */
.wrap,
.hero-grid,
.site-explore-inner {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

section,
.hero,
.final,
#questions,
#questions .wrap,
#planner {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

section {
  padding: 9mm 0 !important;
}

.hero {
  display: block !important;
  min-height: 0 !important;
  padding: 7mm 0 9mm !important;
}

.hero-grid {
  display: block !important;
  padding: 9mm !important;
}

.section-head {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 3mm !important;
  margin-bottom: 6mm !important;
}

.section-head h2 {
  font-size: 27pt !important;
  line-height: 1 !important;
}

.section-head p,
.board-note {
  max-width: none !important;
}

/* Full Day section: no text may overlap adjacent cards. */
.full-day-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 5mm !important;
  align-items: start !important;
}

.fd-feature {
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 5mm !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.fd-feature h3 {
  font-size: 18pt !important;
  line-height: 1.08 !important;
}

.fd-feature p {
  font-size: 9pt !important;
  line-height: 1.48 !important;
}

.allocation {
  display: grid !important;
  grid-template-columns: 1fr !important;
  width: 100% !important;
  overflow: visible !important;
  margin-top: 5mm !important;
}

.allocation > div {
  min-width: 0 !important;
  padding: 4mm 5mm !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

/* The on-screen week board becomes flex/scroll on mobile. Force a real
   two-column document grid in print so Safari cannot clip the following card. */
.week-board {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 5mm !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  overflow-x: visible !important;
  scroll-snap-type: none !important;
  padding: 0 !important;
  margin: 0 0 6mm !important;
  border: 0 !important;
  background: transparent !important;
}

.week-card {
  display: flex !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  scroll-snap-align: none !important;
  border: 1px solid #cdbfae !important;
  border-radius: 4mm !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.week-card .theme {
  min-height: 0 !important;
}

.week-intro {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 4mm !important;
  width: 100% !important;
  overflow: visible !important;
}

.week-intro .mini {
  min-width: 0 !important;
  width: auto !important;
}

.service-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  width: 100% !important;
  overflow: visible !important;
}

.service-box,
.service-box.full {
  min-width: 0 !important;
}

/* Tables must fit the printed sheet, never retain the mobile horizontal scroller. */
.ops-scroll {
  display: block !important;
  overflow: visible !important;
  width: 100% !important;
}

.ops-scroll::after {
  display: none !important;
}

.ops-scroll .ops,
.ops {
  display: table !important;
  table-layout: fixed !important;
  min-width: 0 !important;
  width: 100% !important;
  overflow: visible !important;
}

.ops th,
.ops td {
  min-width: 0 !important;
  padding: 5pt !important;
  font-size: 7.5pt !important;
  overflow-wrap: anywhere !important;
}

/* Collapsible screen-only content: for the PDF keep compact summaries rather
   than letting closed <details> disappear or clip the end of the document. */
.mobile-fold,
.prearrival-fold,
.cuestionario-fold,
.day {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.mobile-fold > summary,
.prearrival-fold > summary,
.cuestionario-fold > summary,
.day > summary {
  display: flex !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.mobile-fold > .fold-body,
.prearrival-fold > .prearrival-body,
.cuestionario-fold > .fold-body,
.day > .day-overview,
.day > .meals {
  display: none !important;
}

#planner,
#planner .grid-2 {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#planner details {
  margin: 0 0 3mm !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

/* Avoid orphaned headings and mid-card page cuts. */
.card,
.form-block,
.notice,
.week-card,
.fd-feature,
.allocation > div {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

h1,h2,h3,h4,
.kicker,.eyebrow,.section-head {
  break-after: avoid !important;
  page-break-after: avoid !important;
}


/* 2026-09-25: print/PDF reliability patch */
/* iOS/Safari-safe print layer. This stylesheet is print-only. */

@page {
  size: A4;
  margin: 22mm 14mm 20mm;
}

html,
body {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

body {
  padding-top: 0 !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* iOS Quartz did not reliably paint fixed children of the old zero-size
   branding wrapper. Make the wrapper itself the repeated fixed page overlay. */
.mrm-print-branding {
  display: block !important;
  visibility: visible !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  pointer-events: none !important;
  user-select: none !important;
  z-index: 2147483000 !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

.mrm-print-header,
.mrm-print-footer,
.mrm-print-watermark {
  display: block !important;
  visibility: visible !important;
  position: absolute !important;
  pointer-events: none !important;
  user-select: none !important;
  opacity: 1 !important;
}

.mrm-print-header {
  top: 4mm !important;
  left: 14mm !important;
  right: 14mm !important;
  height: 11mm !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8mm !important;
  padding: 0 0 2mm !important;
  border-bottom: .35pt solid rgba(18,63,52,.30) !important;
  background: rgba(255,255,255,.96) !important;
  color: #123f34 !important;
  z-index: 3 !important;
}

.mrm-print-header img {
  display: block !important;
  width: 30mm !important;
  max-width: 30mm !important;
  height: auto !important;
  max-height: 8mm !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.mrm-print-header span {
  color: #53615c !important;
  font: 700 7pt/1.1 Arial, Helvetica, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.mrm-print-footer {
  left: 14mm !important;
  right: 14mm !important;
  bottom: 4mm !important;
  min-height: 8mm !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6mm !important;
  padding: 2mm 0 0 !important;
  border-top: .35pt solid rgba(18,63,52,.26) !important;
  background: rgba(255,255,255,.96) !important;
  color: #5d6964 !important;
  font: 600 6.7pt/1.2 Arial, Helvetica, sans-serif !important;
  letter-spacing: .055em !important;
  z-index: 3 !important;
}

.mrm-print-footer .mrm-print-url {
  color: #123f34 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.mrm-print-watermark {
  left: 50% !important;
  top: 48% !important;
  width: 72mm !important;
  transform: translate(-50%,-50%) !important;
  opacity: .045 !important;
  z-index: 2 !important;
}

.mrm-print-watermark img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  opacity: 1 !important;
}

/* Keep document content under the watermark/header overlay but fully visible. */
body > *:not(.mrm-print-branding) {
  position: relative !important;
  z-index: 1 !important;
}

/* Do not manufacture page breaks. The earlier forced breaks produced empty
   sheets in iOS (notably pages 2 and 6). */
#full-day,
#rhythm,
#prearrival,
#plan,
#family,
#pantry,
#team {
  break-before: auto !important;
  page-break-before: auto !important;
  break-after: auto !important;
  page-break-after: auto !important;
}

/* The beforeprint script opens every disclosure. Once open, print all content
   and remove web-only disclosure controls. */
.mobile-fold,
.prearrival-fold,
.questionnaire-fold,
.cuestionario-fold,
.day,
details {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.mobile-fold > .fold-body,
.prearrival-fold > .prearrival-body,
.questionnaire-fold > .fold-body,
.cuestionario-fold > .fold-body,
.day > .day-overview,
.day > .meals,
details[open] > *:not(summary) {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.prearrival-toggle,
.chev,
.mobile-fold > summary::after,
.prearrival-fold > summary::after,
.questionnaire-fold > summary::after,
.cuestionario-fold > summary::after,
.day > summary::after,
#family .mobile-fold > summary::after,
#pantry .mobile-fold > summary::after,
#team .mobile-fold > summary::after {
  display: none !important;
  content: none !important;
}

.mobile-fold > summary,
.prearrival-fold > summary,
.questionnaire-fold > summary,
.cuestionario-fold > summary,
.day > summary {
  cursor: default !important;
  break-after: avoid !important;
  page-break-after: avoid !important;
}

/* Keep the online questionnaire interactive on screen, but omit it from the
   shareable dossier PDF. */
#questions {
  display: none !important;
}

/* Avoid tiny orphan fragments and mid-card splits without forcing whole
   sections onto new pages. */
.section-head,
.notice,
.card,
.fd-feature,
.week-card,
.week-intro .mini,
.allocation > div,
.prearrival-contact,
.prearrival-included,
.stock > *,
.day > summary,
.day > .day-overview,
.small {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

h1,h2,h3,h4,
.kicker,.eyebrow,.section-head {
  break-after: avoid !important;
  page-break-after: avoid !important;
}

.week-board {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 5mm !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 0 6mm !important;
  border: 0 !important;
  background: transparent !important;
}

.week-card {
  min-width: 0 !important;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  border: 1px solid #cdbfae !important;
  border-radius: 4mm !important;
  background: #fffdf8 !important;
  color: #30322f !important;
  opacity: 1 !important;
}

.week-card h4,
.week-card .week-focus strong,
.day summary h3 {
  color: #123f34 !important;
}

.week-card .theme,
.week-card .service-box .value,
.week-card .week-focus,
.day summary .theme,
.day-use p,
.meal p,
.meal .tiny {
  color: #4f5752 !important;
}

.week-card .dayno,
.week-card .service-box .label,
.week-badge,
.day-pattern,
.meal b {
  color: #8b6b32 !important;
}

.service-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  width: 100% !important;
  overflow: visible !important;
}

.day > .meals {
  width: 100% !important;
  overflow: visible !important;
}

.meal {
  min-width: 0 !important;
}

.ops-scroll {
  display: block !important;
  overflow: visible !important;
  width: 100% !important;
}

.ops-scroll::after,
.ops-hint,
.ops-swipe-pill {
  display: none !important;
}

.ops-scroll .ops,
.ops {
  display: table !important;
  table-layout: fixed !important;
  min-width: 0 !important;
  width: 100% !important;
  overflow: visible !important;
}

.ops th,
.ops td {
  min-width: 0 !important;
  padding: 5pt !important;
  font-size: 7.5pt !important;
  overflow-wrap: anywhere !important;
}


/* 2026-09-25 v4: iOS paged-background print branding */
/* Chrome on iOS/WebKit does not reliably repeat fixed print elements.
   Use the fragmented BODY itself as the page template instead. */
@page {
  size: A4;
  margin: 0;
}

html {
  background: #fff !important;
}

body {
  margin: 0 !important;
  width: 210mm !important;
  max-width: 210mm !important;
  padding: 18mm 14mm 16mm !important;
  box-sizing: border-box !important;
  -webkit-box-decoration-break: clone !important;
  box-decoration-break: clone !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;

  /* 1 header logo
     2 header rule + descriptor
     3 footer rule + brand + URL
     4 soft white veil
     5 central logo watermark */
  background-image:
    url('/assets/mery-rose-mery-menu-logo-320.60420126.webp'),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1820' height='90' viewBox='0 0 1820 90'%3E%3Cline x1='0' y1='88' x2='1820' y2='88' stroke='%23123f34' stroke-opacity='.28' stroke-width='2'/%3E%3Ctext x='1810' y='45' text-anchor='end' font-family='Arial,Helvetica,sans-serif' font-size='24' font-weight='700' letter-spacing='5' fill='%2353615c'%3ETAILOR MADE GASTRONOMY%3C/text%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1820' height='90' viewBox='0 0 1820 90'%3E%3Cline x1='0' y1='2' x2='1820' y2='2' stroke='%23123f34' stroke-opacity='.24' stroke-width='2'/%3E%3Ctext x='0' y='58' font-family='Arial,Helvetica,sans-serif' font-size='22' font-weight='600' letter-spacing='2' fill='%235d6964'%3EMery Rose Mery · Private Chef Marbella %26 Costa del Sol%3C/text%3E%3Ctext x='1820' y='58' text-anchor='end' font-family='Arial,Helvetica,sans-serif' font-size='22' font-weight='700' letter-spacing='2' fill='%23123f34'%3Ewww.meryrosemery.com%3C/text%3E%3C/svg%3E"),
    linear-gradient(rgba(255,255,255,.955),rgba(255,255,255,.955)),
    url('/assets/mery-rose-mery-menu-logo.78a099b1.webp') !important;

  background-repeat:
    no-repeat,
    no-repeat,
    no-repeat,
    no-repeat,
    no-repeat !important;

  background-size:
    30mm auto,
    182mm 9mm,
    182mm 9mm,
    100% 100%,
    68mm auto !important;

  background-position:
    14mm 5mm,
    14mm 5mm,
    14mm 285mm,
    0 0,
    center 50% !important;
}

/* Disable the old fixed overlay: on iOS it was painted inside the content
   stream instead of repeating as page furniture. */
.mrm-print-branding,
.mrm-print-header,
.mrm-print-footer,
.mrm-print-watermark {
  display: none !important;
}

/* Redundant web disclosure labels were creating near-empty print pages. */
#family .mobile-fold > summary,
#pantry .mobile-fold > summary,
#team .mobile-fold > summary {
  display: none !important;
}

/* Long day/menu disclosures must be allowed to fragment naturally.
   Keeping the entire <details> together caused large blank areas and final
   content truncation in the iOS Quartz PDF. */
.day,
.week,
#plan,
#plan .wrap,
#pantry,
#team,
section {
  break-inside: auto !important;
  page-break-inside: auto !important;
  overflow: visible !important;
  max-height: none !important;
}

.day > .day-overview,
.day > .meals {
  break-inside: auto !important;
  page-break-inside: auto !important;
}

.meals {
  break-inside: auto !important;
  page-break-inside: auto !important;
}

.meal {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

/* Avoid a section title being stranded at a page bottom. */
.section-head {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
  break-after: avoid !important;
  page-break-after: avoid !important;
}
