/* Page-specific additions to the unchanged service-detail design system. */
.mm-packages { overflow-wrap: break-word; }
.mm-packages [id] { scroll-margin-top: 7rem; }
.mm-packages .mmp-kicker { color: #805d12; font-size: .72rem; font-weight: 600; letter-spacing: .1em; line-height: 1.6; text-transform: uppercase; }
.mm-packages .msd-hero { padding-block: clamp(2.75rem, 5vw, 4.5rem); }
.mm-packages .msd-hero-copy { min-width: 0; }
.mm-packages .msd-hero h1 { max-width: 24ch; hyphens: auto; }
.mm-packages .mmp-model { position: relative; display: grid; gap: 1.4rem; min-width: 0; padding: clamp(1.4rem, 3vw, 2.4rem); border: 1px solid #dbe6f1; border-radius: 1.25rem; background: #ffffffd9; box-shadow: 0 16px 45px #17395c0a; }
.mm-packages .mmp-model h2 { font-size: clamp(1.6rem, 2.2vw, 2.1rem); max-width: 17ch; }
.mm-packages .mmp-model-steps { display: grid; gap: 1.2rem; }
.mm-packages .mmp-model-step { position: relative; min-height: 2.8rem; padding-left: 3.3rem; font-size: .85rem; }
.mm-packages .mmp-model-step strong { display: block; color: var(--msd-navy); font-size: .95rem; font-weight: 600; }
.mm-packages .mmp-model-step::before { content: ""; position: absolute; left: 0; top: .3rem; width: 2rem; height: 2rem; background: #987008; mask: var(--msd-icon) center/contain no-repeat; }
.mm-packages .mmp-model-note { border-top: 1px solid #e0e8f1; padding-top: 1rem; font-size: .8rem; }
.mm-packages .mmp-plans { background: #f4f8fc; }
.mm-packages .mmp-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; align-items: stretch; }
.mm-packages .mmp-plan { display: flex; flex-direction: column; gap: .85rem; min-width: 0; padding: clamp(1.25rem, 2vw, 1.7rem); border: 1px solid #dce5ef; border-radius: 1rem; background: #fff; box-shadow: 0 8px 28px #17395c08; }
.mm-packages .mmp-plan-hourly { background: #edf5fe; border-color: #d3e2f1; }
.mm-packages .mmp-plan-growth { border-color: #e1b543; box-shadow: inset 0 3px 0 #f4ba19, 0 8px 28px #17395c08; }
.mm-packages .mmp-plan h3 { font-size: 1.65rem; }
.mm-packages .mmp-price { color: var(--msd-navy); font-size: clamp(2.2rem, 4vw, 3rem); font-weight: 600; letter-spacing: -.05em; line-height: 1.2; }
.mm-packages .mmp-price small { display: block; margin-top: .35rem; color: var(--msd-text); font-size: .82rem; font-weight: 400; letter-spacing: 0; line-height: 1.6; }
.mm-packages .mmp-capacity { padding-block: .9rem; border-block: 1px solid #e6edf4; color: var(--msd-navy); font-size: 1rem; font-weight: 600; }
.mm-packages .mmp-capacity small { display: block; margin-top: .2rem; color: var(--msd-text); font-size: .82rem; font-weight: 400; }
.mm-packages .mmp-fit { color: var(--msd-navy); font-size: .98rem; font-weight: 500; line-height: 1.6; }
.mm-packages .mmp-detail-copy { display: grid; gap: .85rem; padding: 0 1.2rem 1.2rem; font-size: .92rem; }
.mm-packages .mmp-list-label { color: var(--msd-navy); font-size: .82rem; font-weight: 600; }
.mm-packages .mmp-list { display: grid; gap: .55rem; list-style: none; padding: 0; font-size: .88rem; }
.mm-packages .mmp-list li { position: relative; padding-left: 1.6rem; }
.mm-packages .mmp-list li::before { content: ""; position: absolute; top: .3rem; left: 0; width: 1rem; height: 1rem; background: #987008; mask: url('../icons/lucide/check.svg') center/contain no-repeat; }
.mm-packages .mmp-plan .msd-actions { margin-top: auto; padding-top: .5rem; }
.mm-packages .mmp-note { font-size: .82rem; line-height: 1.65; }
.mm-packages .mmp-price-notes { display: grid; gap: .3rem; margin-top: 1.3rem; }
.mm-packages .mmp-offer-details { display: grid; gap: .65rem; margin-top: 2rem; }
.mm-packages .mmp-offer-details > .mmp-note { margin-bottom: .4rem; }
.mm-packages .mmp-offer-details details { border: 1px solid #d9e3ef; border-radius: .5rem; background: #fff; }
.mm-packages .mmp-offer-details summary { position: relative; list-style: none; cursor: pointer; color: var(--msd-navy); font-size: .93rem; font-weight: 500; padding: .85rem 3rem .85rem 1.2rem; min-height: 48px; border-radius: .45rem; }
.mm-packages .mmp-offer-details summary::-webkit-details-marker { display: none; }
.mm-packages .mmp-offer-details summary::after { content: ""; position: absolute; right: 1.1rem; top: 1.05rem; width: 1rem; height: 1rem; background: currentColor; mask: url('../icons/lucide/chevron-down.svg') center/contain no-repeat; }
.mm-packages .mmp-offer-details details[open] summary::after { transform: rotate(180deg); }
.mm-packages .mmp-included .msd-card { background: #fff; border-color: #e1e9f2; }
.mm-packages .mmp-terms-note { max-width: 65rem; margin-top: 1.2rem; }
.mm-packages .mmp-contact .msd-contact-panel { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
/* Enlarge upwards from the existing bottom anchor without moving the CTA copy. */
.mm-packages .mmp-contact .msd-portrait img { transform: scale(1.12); transform-origin: left bottom; }
.mm-packages .mmp-contact h2 { font-size: clamp(1.6rem, 2.3vw, 2.15rem); line-height: 1.25; }
.mm-packages .mmp-contact .msd-contact-copy { gap: 1rem; }
.mm-packages .mmp-contact .msd-booking-note { color: #dce9f7; }
.mm-packages .mmp-contact .msd-contact-alternative { color: #dce9f7; }
.mm-packages .mmp-contact .msd-contact-link a:hover { color: #fff; }
/* The existing editorial notice is appended outside the editor-managed wrapper. */
.mm-services-page:has(.mm-packages) > .mm-editorial-notice { width: min(78rem, calc(100% - 3rem)); margin: 0 auto 2rem; }
@media (prefers-reduced-motion: no-preference) {
  .mm-packages .mmp-plan { transition: box-shadow 250ms ease, border-color 250ms ease; }
  .mm-packages .mmp-offer-details summary::after { transition: transform 220ms ease; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .mm-packages .mmp-plan:hover { box-shadow: 0 12px 32px #17395c10; }
}
@media (max-width: 1100px) and (min-width: 761px) {
  .mm-packages .mmp-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mm-packages .mmp-plan-hourly { grid-column: 1 / -1; }
}
@media (max-width: 1050px) {
  .mm-packages .msd-hero-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
}
@media (max-width: 760px) {
  .mm-packages .mmp-contact .msd-portrait img { transform: scale(1.1); transform-origin: center bottom; }
  .mm-services-page:has(.mm-packages) > .mm-editorial-notice { width: calc(100% - 2rem); }
  .mm-packages .msd-hero-grid, .mm-packages .mmp-plan-grid, .mm-packages .mmp-contact .msd-contact-panel { grid-template-columns: 1fr; }
  .mm-packages .mmp-model { margin-top: .5rem; }
  .mm-packages .mmp-model h2 { max-width: none; }
  .mm-packages .mmp-plan { padding: 1.5rem; }
}
.editor-styles-wrapper .mm-packages.wp-block { max-width: none; }
.editor-styles-wrapper .mm-packages :is(.mmp-plan-grid,.mmp-plan,.mmp-offer-details,.mmp-detail-copy,.mmp-model,.mmp-model-steps):has(> .block-editor-inner-blocks) { display: block; }
