/* Service545 only. Existing BRUNO palette, serif headings and native components. */
.mnz-library-page { width:100%; min-width:0; color:#3c3b36; font-family:var(--font-primary); }
.mnz-library-page *, .mnz-library-page *::before, .mnz-library-page *::after { box-sizing:border-box; }
.mnz-library-page .mnz-landing { width:100% !important; margin-left:0 !important; }
.mnz-library-page .mnz-about { padding:24px 20px 56px; margin-top:0; }
.mnz-library-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:14px; line-height:1.6; margin-bottom:20px; }
.mnz-library-breadcrumbs a { color:#655437; text-underline-offset:3px; }
.mnz-library-page .mnz-about-custom-card { width:100%; padding:40px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:40px; align-items:center; border-width:6px; }
.mnz-library-page .mnz-about-content { min-width:0; gap:16px; }
.mnz-library-page .mnz-about-content .title-big { font-size:48px; line-height:1.12; margin:0; text-wrap:balance; }
.mnz-library-eyebrow { color:#655437; font-size:14px; line-height:1.6; margin:0; }
.mnz-library-page .mnz-about-custom-text { margin:0; font-size:17px; line-height:1.65; }
.mnz-library-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:8px; }
.mnz-library-actions a { color:#594728; text-underline-offset:4px; line-height:1.5; }
.mnz-library-actions .mnz-library-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 20px; background:#3c3b36; color:#fff; border-radius:4px; text-decoration:none; }
.mnz-library-hero-photos { display:grid; gap:18px; min-width:0; }
.mnz-library-hero-photos img { display:block; width:100%; height:auto; aspect-ratio:7/5; object-fit:contain; border:3px solid #fff; background:#fff; box-shadow:-6px 10px 20px rgba(112,83,51,.18); }
.mnz-library-hero-photos img:nth-child(2) { width:68%; justify-self:end; margin-top:-60px; position:relative; }
.mnz-library-page .mnz-section { padding:40px 20px; }
.mnz-library-page .mnz-section__title { font-size:36px; line-height:1.2; margin:0 0 24px; text-wrap:balance; }
.mnz-library-intro { text-align:center; max-width:760px; margin:0 auto 24px; font-size:17px; line-height:1.65; }
.mnz-library-page .mnz-pslider { overflow:hidden; padding-bottom:46px; }
.mnz-library-page .mnz-pslider .swiper-button-prev { left:4px; }
.mnz-library-page .mnz-pslider .swiper-button-next { right:4px; }
.mnz-library-page .mnz-product-card__img { aspect-ratio:7/5; object-fit:contain; background:#fff; }
.mnz-library-page .mnz-product-card__name { font-size:17px; }
.mnz-library-page .mnz-product-card__link { font-size:15px; color:#655437; }
.mnz-library-price { padding:0 14px 14px; font-size:16px; line-height:1.5; }
.mnz-library-price small { display:block; font-size:13px; color:#655f54; }
.mnz-library-style-link { text-align:center; margin:16px 0 0; }
.mnz-library-style-link a { display:inline-block; min-height:44px; padding:10px 8px; color:#655437; text-underline-offset:4px; }
.mnz-library-faq { max-width:820px; margin:0 auto; display:grid; gap:16px; }
.mnz-library-faq details { background:#fff; padding:18px 22px; border-radius:4px; box-shadow:0 2px 6px rgba(0,0,0,.06); }
.mnz-library-faq summary { font-size:17px; font-weight:600; line-height:1.5; cursor:pointer; min-height:44px; display:list-item; }
.mnz-library-faq p { font-size:16px; line-height:1.7; margin:12px 0 0; }
.mnz-library-page :focus-visible { outline:3px solid #80673b; outline-offset:4px; }
.mnz-library-page #mnzContactForm { scroll-margin-top:24px; }
@media (max-width:1129px) {
  .mnz-library-page .mnz-about-custom-card { padding:28px; gap:28px; }
  .mnz-library-page .mnz-about-content .title-big { font-size:38px; }
}
@media (max-width:767px) {
  .mnz-library-page .mnz-about-custom-card { grid-template-columns:minmax(0,1fr); padding:20px; gap:24px; }
  .mnz-library-page .mnz-about { padding:20px 16px 32px; }
  .mnz-library-page .mnz-about-content .title-big { font-size:30px; }
  .mnz-library-hero-photos { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
  .mnz-library-hero-photos img:nth-child(2) { width:100%; margin-top:0; }
  .mnz-library-page .mnz-section { padding:32px 16px; }
  .mnz-library-page .mnz-section__title { font-size:28px; }
  .mnz-library-actions { align-items:stretch; flex-direction:column; gap:8px; }
  .mnz-library-actions a { text-align:center; padding:10px; }
  .mnz-library-page .mnz-about-custom-text, .mnz-library-intro { font-size:16px; }
  .mnz-library-faq details { padding:16px; }
}
@media (prefers-reduced-motion:reduce) {
  .mnz-library-page .mnz-product-card { transition:none; }
}

/* 20261015 scoped library contact/card enhancement; shared theme is untouched. */
.mnz-library-page .mnz-pslider .swiper-wrapper { align-items:stretch; }
.mnz-library-page .mnz-pslider .swiper-slide { display:flex; height:auto; }
.mnz-library-page .mnz-product-card { width:100%; height:100%; }
.mnz-library-page .mnz-product-card > a { display:flex; flex-direction:column; height:100%; }
.mnz-library-page .mnz-product-card__img { width:100%; height:auto; aspect-ratio:7/5; object-fit:contain; }
.mnz-library-page .mnz-product-card__name { min-height:68px; }
.mnz-library-page .mnz-library-price { min-height:88px; font-variant-numeric:tabular-nums; }
.mnz-library-page .mnz-product-card__link { margin-top:auto; padding-top:12px; min-height:44px; }
.mnz-library-page .mnz-library-actions--repeat { justify-content:center; margin-top:24px; }
.mnz-library-page .mnz-order-form-border { background:#fffaf3; border-color:#e7ddce; }
.mnz-library-page .mnz-order-form-wrap { background:#efe5d6; }
.mnz-library-page .mnz-order-form-title,
.mnz-library-page .mnz-order-form-label,
.mnz-library-page .mnz-order-form-consent span { color:#3c3b36; }
.mnz-library-page .mnz-order-form-consent a { color:#594728; text-underline-offset:3px; }
.mnz-library-page .mnz-order-form-divider { background:#bea680; }
.mnz-library-page .mnz-library-form-help { margin:0; color:#655437; font-size:14px; line-height:1.5; }
.mnz-library-page .mnz-order-form-input,
.mnz-library-page .mnz-order-form-textarea { color:#3c3b36; background:#fff; border-color:#a99b85; border-radius:6px; caret-color:#655437; }
.mnz-library-page .mnz-order-form-input::placeholder,
.mnz-library-page .mnz-order-form-textarea::placeholder { color:#716451; opacity:1; }
.mnz-library-page #mnzContactForm :focus-visible { outline:3px solid #80673b; outline-offset:3px; }
.mnz-library-page .mnz-order-form-consent input[type="checkbox"] { background:#fff; border-color:#80673b; }
.mnz-library-page .mnz-order-form-consent input[type="checkbox"]:checked { background:#bea680; border-color:#594728; box-shadow:inset 0 0 0 4px #fff; }
.mnz-library-page .mnz-order-form-submit { max-width:100%; min-height:48px; padding:12px 24px; background:#3c3b36; color:#fffaf3; border-color:#3c3b36; }
.mnz-library-page .mnz-form2-contact-description { color:#655437; }
.mnz-library-page .mnz-library-contact-chooser { width:min(480px,calc(100% - 32px)); max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); margin:auto; padding:32px 28px 28px; border:0; border-radius:12px; background:#fffaf3; color:#3c3b36; box-shadow:0 18px 54px rgba(55,40,20,.25); font-family:var(--font-primary); overflow-y:auto; overscroll-behavior:contain; }
.mnz-library-page .mnz-library-contact-chooser:not([open]) { display:none; }
.mnz-library-page .mnz-library-contact-chooser::backdrop { background:rgba(45,36,25,.58); }
.mnz-library-page .mnz-library-contact-chooser h2 { margin:20px 0 12px; font-family:'Libertinus Serif',serif; font-size:32px; font-weight:400; line-height:1.15; text-wrap:balance; }
.mnz-library-page .mnz-library-contact-chooser p { margin:0 0 24px; font-size:16px; line-height:1.5; color:#655437; }
.mnz-library-page .mnz-library-contact-close { display:block; min-width:64px; min-height:44px; margin:-20px -12px -12px auto; padding:10px 8px; background:transparent; border:0; border-radius:4px; color:#594728; font:inherit; font-size:14px; cursor:pointer; }
.mnz-library-page .mnz-library-contact-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 24px; }
.mnz-library-page .mnz-library-contact-option { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:12px; min-width:0; min-height:128px; padding:16px 6px; border:1px solid #b2a087; border-radius:6px; background:#fff; color:#3c3b36; font-size:16px; font-weight:600; line-height:1.4; text-decoration:none; text-align:center; transition:background-color .15s ease-out; }
.mnz-library-page .mnz-library-contact-option img,
.mnz-library-page .mnz-library-contact-option svg { width:40px; height:40px; flex-shrink:0; border-radius:8px; }
.mnz-library-page .mnz-library-contact-option small { display:block; font-size:13px; font-weight:400; color:#655437; }
.mnz-library-page .mnz-library-contact-option:hover,
.mnz-library-page .mnz-library-contact-close:hover { background:#efe5d6; }
.mnz-library-page .mnz-library-contact-fallback { display:flex; justify-content:center; align-items:center; min-height:48px; padding:12px; border-radius:4px; background:#3c3b36; color:#fffaf3; font-size:16px; line-height:1.5; text-align:center; text-decoration:none; }
.mnz-library-page .mnz-library-contact-fallback:hover { background:#594728; }
.mnz-library-page .mnz-library-contact-chooser ::selection { background:#e4d3b6; color:#3c3b36; }
@media (max-width:639px) {
  .mnz-library-page .mnz-library-contact-chooser { width:100%; max-width:none; max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); margin:auto 0 0; border-radius:16px 16px 0 0; padding:24px 20px max(24px,env(safe-area-inset-bottom)); }
  .mnz-library-page .mnz-library-contact-chooser h2 { font-size:28px; }
  .mnz-library-page .mnz-library-contact-options { grid-template-columns:minmax(0,1fr); gap:10px; }
  .mnz-library-page .mnz-library-contact-option { flex-direction:row; justify-content:flex-start; min-height:64px; padding:12px 16px; text-align:left; }
  .mnz-library-page .mnz-library-contact-option img,
  .mnz-library-page .mnz-library-contact-option svg { width:32px; height:32px; }
}
@media (prefers-reduced-motion:reduce) {
  .mnz-library-page .mnz-library-contact-option { transition:none; }
}

/* Popular libraries: only image/name; neighboring style cards stay unchanged. */
.mnz-library-page #mnz-pslider .mnz-product-card picture { display:block; width:100%; }
.mnz-library-page #mnz-pslider .mnz-product-card__name { min-height:0; padding:16px 18px 18px; font-size:20px; line-height:1.3; }
@media(max-width:639px) { .mnz-library-page #mnz-pslider .mnz-product-card__name { padding:14px 16px 16px; font-size:18px; } }

/* Popular-model navigation: permanent controls outside the image/overflow region. */
.mnz-library-page .mnz-library-popular-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 24px; margin-bottom:24px; }
.mnz-library-page .mnz-library-popular-heading .mnz-section__title { margin:0; text-align:left; }
.mnz-library-page .mnz-library-popular-controls { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.mnz-library-page .mnz-library-popular-counter { min-width:80px; margin-right:4px; color:#655437; font-size:15px; line-height:1.5; text-align:center; font-variant-numeric:tabular-nums; white-space:nowrap; }
.mnz-library-page .mnz-library-popular-button { position:static; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex:0 0 44px; margin:0; padding:0; border:1px solid #a68a5c; border-radius:50%; background:#fffaf3; color:#594728; cursor:pointer; transform:none; transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out; }
.mnz-library-page .mnz-library-popular-button svg { display:block; flex-shrink:0; pointer-events:none; }
.mnz-library-page .mnz-library-popular-button:hover:not(:disabled) { color:#3c3b36; background:#efe5d6; border-color:#655437; transform:none; }
.mnz-library-page .mnz-library-popular-button:focus-visible { outline:3px solid #80673b; outline-offset:4px; }
.mnz-library-page .mnz-library-popular-button:disabled { color:#978872; border-color:#d7cdbd; background:#f6f2eb; cursor:default; opacity:1; }
.mnz-library-page #mnz-pslider .swiper-notification { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:639px) { .mnz-library-page .mnz-library-popular-heading { flex-direction:column; align-items:center; gap:16px; } .mnz-library-page .mnz-library-popular-heading .mnz-section__title { text-align:center; } }
@media(prefers-reduced-motion:reduce) { .mnz-library-page .mnz-library-popular-button { transition:none; } }
