
/* Centre the complete identity on stacked memorial cards, not only the name. */
@layer memoryzTypography{
 @media(max-width:1200px){
  body .mzc-main .mzc-card :is(.mzc-card-copy,.mzc-card-eyebrow,h3,.mzc-dedication,.mzc-dates,.mzc-dates>span,.mzc-place,.mzc-place>span){text-align:center!important}
 }
 @media(max-width:700px){
  body #inhalt .postcard-copy,body #inhalt .postcard-copy :is(h1,p){text-align:center!important}
  body #inhalt .postcard-copy .dates{flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important}
  body #inhalt .postcard-copy .dates>span,body #inhalt .postcard-copy .places p{justify-content:center!important}
  body #inhalt .mzr-portrait-links button{justify-content:center!important;text-align:center!important}
 }
}

/* Shared Memoryz interface icon palette. Brand artwork and real QR images keep their own colours. */
@layer memoryzTypography{
 :root{--mz-icon-green:#3f7133;--mz-icon-olive:#6c7a2f;--mz-icon-voice:#287677;--mz-icon-candle:#ad6b26;--mz-icon-place:#3e7560;--mz-icon-heart:#a65b67}
 body :is(svg.icon,svg.mzf-icon,svg.action-icon,svg[data-mz-icon],svg[viewBox="0 0 24 24"][stroke="currentColor"],.voice-toggle svg,svg.mz-mic-icon,.mz-audio-delete svg,svg.mzr-gallery-zoom-icon){color:var(--mz-icon-tone,var(--mz-icon-green))!important}
 body :is(svg.icon[fill="none"],svg.mzf-icon[fill="none"],svg.action-icon[fill="none"],svg[data-mz-icon][fill="none"],svg[viewBox="0 0 24 24"][stroke="currentColor"]){stroke-width:1.8!important}
 body svg:is([data-mz-icon="share"],[data-mz-icon="photo"],[data-mz-icon="image"],[data-mz-icon="video"],[data-mz-icon="theme"]){--mz-icon-tone:var(--mz-icon-olive)}
 body :is(svg[data-mz-icon="mic"],svg[data-mz-icon="memory"],svg[data-mz-icon="message"],.voice-icon svg,.voice-badge svg,.mz-audio-field svg,.voice-toggle svg,svg.mz-mic-icon){--mz-icon-tone:var(--mz-icon-voice)}
 body :is(svg[data-mz-icon="candle"],svg[data-mz-icon="paw"],svg.animal-mark){--mz-icon-tone:var(--mz-icon-candle)}
 body svg:is([data-mz-icon="map"],[data-mz-icon="pin"],[data-mz-icon="house"],[data-mz-icon="grave"]){--mz-icon-tone:var(--mz-icon-place)}
 body svg[data-mz-icon="heart"]{--mz-icon-tone:var(--mz-icon-heart)}
 body :is(.fa-qrcode,.fa-share-alt,.fa-share-nodes,.fa-microphone,.fa-microphone-lines,.fa-volume-high,.fa-candle-holder,.fa-paw,.fa-map-marker,.fa-location-dot,.fa-house,.fa-monument,.fa-user,.fa-users,.fa-book,.fa-image,.fa-video,.fa-link,.fa-heart){color:var(--mz-icon-tone,var(--mz-icon-green))!important}
 body :is(.fa-share-alt,.fa-share-nodes){--mz-icon-tone:var(--mz-icon-olive)}
 body :is(.fa-microphone,.fa-microphone-lines,.fa-volume-high){--mz-icon-tone:var(--mz-icon-voice)}
 body :is(.fa-candle-holder,.fa-paw){--mz-icon-tone:var(--mz-icon-candle)}
 body :is(.fa-map-marker,.fa-location-dot,.fa-house,.fa-monument){--mz-icon-tone:var(--mz-icon-place)}
 body :is(.fa-heart,.mz-audio-delete svg){--mz-icon-tone:var(--mz-icon-heart)}
 /* White media controls retain contrast over video and dark player surfaces. */
 body :is(.mzc-background-control,.background-caption) svg{--mz-icon-tone:#fffdf5}
 body #inhalt .section-nav a[aria-current] svg[data-mz-icon]{color:var(--mz-icon-tone,var(--mz-icon-green))!important}
 /* A small paper badge separates the people/pets switch icons from its text. */
 body .mzc-kind svg{background:#fffdf6;border-radius:5px;box-shadow:0 0 0 4px #fffdf6}
}

/* Memoryz Design 1.2: shared public typography, including standalone memorials.
 * Layered important declarations take precedence over legacy unlayered theme rules.
 * Layout, backgrounds, prices, form behaviour and icon fonts remain independent. */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:75% 100%;font-display:swap;src:url('/wp-content/plugins/memoryz-local-fonts/assets/fonts/OpenSans-wdth-wght.ttf') format('truetype')}
@font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-stretch:75% 100%;font-display:swap;src:url('/wp-content/plugins/memoryz-local-fonts/assets/fonts/OpenSans-Italic-wdth-wght.ttf') format('truetype')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('/wp-content/plugins/memoryz-local-fonts/assets/fonts/PlayfairDisplay-wght.ttf') format('truetype')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url('/wp-content/plugins/memoryz-local-fonts/assets/fonts/PlayfairDisplay-Italic-wght.ttf') format('truetype')}
@font-face{font-family:Playball;font-style:normal;font-weight:400;font-display:swap;src:url('/wp-content/plugins/memoryz-local-fonts/assets/fonts/Playball-Regular.ttf') format('truetype')}
@layer memoryzTypography{
  :root{
    --mz-type-heading:#202020;
    --mz-type-accent:#606B43;
    --mz-type-text:#3b2a20;
    --mz-type-sans:'Open Sans',Arial,sans-serif;
    --mz-type-serif:var(--mz-type-sans);
    --mz-type-script:Playball,Georgia,cursive;
  }
  body,
  body :where(p,a,li,dt,dd,div,section,article,nav,header,footer,aside,main,form,fieldset,legend,label,input,select,textarea,button,summary,details,span,small,strong,b,em,u,sup,sub,time,figcaption,blockquote,td,th,caption,option,output,i,q,cite,figure,mark,code,pre,kbd,samp,address,abbr,del,ins,meter,progress):not(:where(.fa,.fas,.far,.fab,.fal,.fad,.dashicons,.material-icons,.material-symbols-outlined,[class^="eicon-"],[class*=" eicon-"])){
    font-family:var(--mz-type-sans)!important;
    font-weight:400!important;
    color:var(--mz-type-text)!important;
  }
  body{line-height:1.6!important}
  body :where(p,li,dt,dd,label,small,figcaption,blockquote){line-height:1.6!important}
  body :where(button,input,select,textarea,.button,.btn,.action){line-height:1.45!important}
  body :where(strong,b,th),body :where(strong,b,th) :where(span,a){font-weight:600!important}
  /* Configurator step headings are rendered as strong elements, not H1–H6. */
  body.mzs-shop-page .mzs-section-toggle strong{font-weight:400!important}
  body :where(input,textarea)::placeholder{font-family:var(--mz-type-sans)!important;font-weight:400!important;color:#655247!important;opacity:1!important}
  body :is(h1,h2,h3,h4,h5,h6),
  body :is(h1,h2,h3,h4,h5,h6) :where(a,span,em,strong,b,small,i,u,mark,q,cite):not(:where(.fa,.fas,.far,.fab,.fal,.fad,.dashicons,.material-icons,.material-symbols-outlined,[class^="eicon-"],[class*=" eicon-"])){
    font-family:var(--mz-type-sans)!important;
    font-weight:400!important;
    color:var(--mz-type-heading)!important;
    line-height:1.3!important;
  }
  /* Restrained editorial emphasis; never restyle scripted memorial names or quotes. */
  body :is(h1,h2,h3,h4,h5,h6) :is(em,i):not(:where(.fa,.fas,.far,.fab,.fal,.fad,.dashicons,.material-icons,[aria-hidden="true"],[class^="eicon-"],[class*=" eicon-"],.postcard-copy h1 *,.mzw-preview-name *,.mzw-review-section blockquote *,.story-quote *,.mzc-card h3 *,.mzc-qr-dialog h3 *)),
  body :is(h1,h2,h3,h4,h5,h6) :is(em,i) :where(span,a,strong,b,small):not(:where(.fa,.fas,.far,.fab,.fal,.fad,.dashicons,.material-icons,[aria-hidden="true"],.postcard-copy h1 *,.mzw-preview-name *,.mzw-review-section blockquote *,.story-quote *,.mzc-card h3 *,.mzc-qr-dialog h3 *)){
    font-family:var(--mz-type-script)!important;
    font-style:normal!important;
    font-weight:400!important;
    color:var(--mz-type-accent)!important;
  }
  /* One handwritten family for decorative emphasis and memorial section titles. */
  body :where(main,#inhalt) :is(em,cite,i:not(:empty)):not(:where(.fa,.fas,.far,.fab,.fal,.fad,.dashicons,.material-icons,.material-symbols-outlined,[aria-hidden="true"],[class^="eicon-"],[class*=" eicon-"])){
    font-family:var(--mz-type-script)!important;
    font-style:normal!important;
    font-weight:400!important;
    font-synthesis:none;
  }
  body #inhalt .panel .section-heading h2,
  body #inhalt .panel .section-heading h2 :where(a,span,em,i,strong,b){
    font-family:var(--mz-type-script)!important;
    font-style:normal!important;
    font-weight:400!important;
    line-height:1.3!important;
    letter-spacing:0!important;
    font-synthesis:none;
  }
  /* One small section-heading style across public pages; names and form labels stay distinct. */
  body :is(.eyebrow,.mzc-eyebrow,.mzj-eyebrow,.mzs-eyebrow,.mzw-eyebrow,.mz-auth-eyebrow,.mzr-review-eyebrow,.mzr-information-eyebrow,.memoryz-product-reviews__eyebrow,.memoryz-sticky-product-head__eyebrow,.story-block>h3,.personal-story>h3,#inhalt .memory-card>h3,#inhalt .voice-card h3,.story-quote .quote-label,.mzi-card h3,.mzi-contact-option h3,.mzj-content h3,.mzj-content h4,.entry-content h3,.entry-content h4){
    position:relative!important;
    padding-inline-start:33px!important;
    font-family:var(--mz-type-sans)!important;font-size:14px!important;font-style:normal!important;
    font-weight:400!important;line-height:1.65!important;letter-spacing:.12em!important;
    text-transform:uppercase!important;overflow-wrap:anywhere;
  }
  body :is(.eyebrow,.mzc-eyebrow,.mzj-eyebrow,.mzs-eyebrow,.mzw-eyebrow,.mz-auth-eyebrow,.mzr-review-eyebrow,.mzr-information-eyebrow,.memoryz-product-reviews__eyebrow,.memoryz-sticky-product-head__eyebrow,.story-block>h3,.personal-story>h3,#inhalt .memory-card>h3,#inhalt .voice-card h3,.story-quote .quote-label,.mzi-card h3,.mzi-contact-option h3,.mzj-content h3,.mzj-content h4,.entry-content h3,.entry-content h4)::before{
    content:''!important;display:block!important;position:absolute!important;
    inset-inline-start:0!important;top:calc(.825em - 8px)!important;
    width:23px!important;height:16px!important;
    margin:0!important;padding:0!important;pointer-events:none;
    background:url('media.php?file=memoryz-logo-20261031.png') -277.5px -35.4px/306.45px 115.5px no-repeat!important;
  }
  @media(max-width:1024px){
    body :is(.eyebrow,.mzc-eyebrow,.mzj-eyebrow,.mzs-eyebrow,.mzw-eyebrow,.mz-auth-eyebrow,.mzr-review-eyebrow,.mzr-information-eyebrow,.memoryz-product-reviews__eyebrow,.memoryz-sticky-product-head__eyebrow,.story-block>h3,.personal-story>h3,#inhalt .memory-card>h3,#inhalt .voice-card h3,.story-quote .quote-label,.mzi-card h3,.mzi-contact-option h3,.mzj-content h3,.mzj-content h4,.entry-content h3,.entry-content h4){font-size:16px!important;letter-spacing:.08em!important}
  }
  /* Photo captions and candle messages retain their natural reading style. */
  body #inhalt .gallery>figure>figcaption{
    position:relative;padding-inline-start:33px!important;overflow-wrap:anywhere;
  }
  body #inhalt .gallery>figure>figcaption::before{
    content:'';position:absolute;inset-inline-start:0;top:calc(.8em - 8px);
    display:block;width:23px;height:16px;pointer-events:none;
    background:url('media.php?file=memoryz-logo-20261031.png') -277.5px -35.4px/306.45px 115.5px no-repeat!important;
  }
  body #inhalt .candle-message::before{
    content:'';display:inline-block;width:23px;height:16px;
    margin-inline-end:10px;vertical-align:-.1em;pointer-events:none;
    background:url('media.php?file=memoryz-logo-20261031.png') -277.5px -35.4px/306.45px 115.5px no-repeat!important;
  }

  /* Script names and quotations are deliberate exceptions in every form/view. */
  body :is(.postcard-copy h1,.mzw-preview-name,.mzw-review-section blockquote,.story-text .story-quote blockquote,.story-text .story-quote q,[name="content[name]"],[name="content[obituaryFuneral]"]),
  body :is(.postcard-copy h1,.mzw-preview-name,.mzw-review-section blockquote,.story-text .story-quote blockquote) :where(span,p,em,strong,b,a,q){
    font-family:var(--mz-type-script)!important;
    font-weight:400!important;
    line-height:1.55!important;
  }
  body :is([name="content[name]"],[name="content[obituaryFuneral]"]){font-size:24px!important}
  body :is([name="content[name]"],[name="content[obituaryFuneral]"])::placeholder{font-family:var(--mz-type-script)!important;font-weight:400!important}
  body .postcard-copy h1{color:var(--mz-name-color,#31562a)!important;line-height:1.3!important}
  /* Memorial names remain handwritten in catalogs, previews and share dialogs. */
  body :is(.mzc-main .mzc-card h3,.mzc-example strong,.mzc-qr-dialog h3,.mzc-share-dialog>p:first-of-type),
  body :is(.mzc-main .mzc-card h3,.mzc-example strong,.mzc-qr-dialog h3) :where(a,span,em,i,strong,b){
    font-family:var(--mz-type-script)!important;
    font-weight:400!important;
  }
  body :is(.mzw-preview-name,.mzc-main .mzc-card h3,.mzc-qr-dialog h3,.mzc-example strong,.mzc-share-dialog>p:first-of-type){color:var(--mz-name-color,#31562a)!important}
  body :is(.postcard-copy h1,.mzw-preview-name,.mzc-main .mzc-card h3,.mzc-qr-dialog h3) :where(a,span,em,i,strong,b){color:inherit!important}
  /* White numeric indicators and photo controls retain their contrast. */
  body :is(.mzs-plaque-complete .mzs-section-number,#mzl-site-header .mzl-cart-count){color:#fff!important;font-weight:600!important;line-height:1.4!important}
  body :is(.video-hero .hero-replay,.mzc-main .mzc-background-control,.voice-toggle,.mzpe-selection button){color:#fff!important}
  /* Live text over the background demo uses the same cream reading surface. */
  body #background-demo .background-demo-text{background:rgba(251,247,241,.96)!important;text-shadow:none!important}
  body #background-demo .mzl-background-label{background:#fbf7f1!important;color:var(--mz-type-text)!important;text-shadow:none!important}
  body #background-demo .background-caption,body #background-demo .background-caption span{color:#fff!important}
  body :is(.landscape-copy,.closing-landscape .closing-inner){background:rgba(251,247,241,.96)!important;border-radius:12px;text-shadow:none!important;padding:28px!important}
  body :is(.landscape-copy,.closing-landscape .closing-inner) :is(h1,h2,h3,p){text-shadow:none!important}
  /* Search remains a primary green control with a readable inverse label. */
  body .mzc-main .mzc-search>.mzc-button{color:#fff!important}
  @media(max-width:1024px){
    :root{--type-small:16px!important;--small:16px!important}
    body :where(p,li,label,small,figcaption,.entry-meta,.post-meta,.post-date,.mzc-card-description,.mzs-card-description,.mzs-quantity-note,.mzs-purchase-status,.mzs-tax-note,.mzw-field-help,.mzw-counter,.mzw-step-count,.mzw-progress-label,.mza-field-hint,.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper,.form-row .description,.form-row .optional,.gfield_description,.ginput_counter,.gform_fileupload_rules,.gform-field-label--type-sub){font-size:16px!important;line-height:1.6!important}
    body :where(button,summary,.button,.btn,.action,.mzs-button):not(:where(.icon-button,.menu-toggle,.mzl-menu-toggle,.hero-replay,.voice-toggle,.mzc-background-control,.mzs-modal-close,.mzs-image-zoom,.mzs-zoom-close)){font-size:16px!important}
    body :is(.mzl-announcement,.mzl-announcement span,.mzl-announcement strong,.mzl-background-label,.sample-cover>span,.background-caption span,.mzs-section-number,.memoryz-montage-legend span,.gform-field-label__text,.memoryz-email-address a,.mzs-dock-total>span,.mzs-status-details,.memoryz-rating-card span,.memoryz-review-card__verified,.mz-portal-footer a,.footer-top a,.footer-bottom a,.mzs-categories a,.mzw-kind a,.mzw-step-status span,.mzw-control-count,.memoryz-input-counter,.mzc-footer a,.cmplz-description span,.cmplz-links a,.cmplz-category-title,.woocommerce-breadcrumb,.woocommerce-breadcrumb a){font-size:15px!important;line-height:1.6!important}
    body :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px!important;line-height:1.5!important}
    body :is([name="content[name]"],[name="content[obituaryFuneral]"]){font-size:24px!important}
    body :is(.postcard-copy h1,.mzw-preview-name,.mzw-review-section blockquote,.story-text .story-quote blockquote){font-weight:400!important}
  }
  @media(min-width:1025px){
    body .site-footer .footer-links>div>a{font-size:16px!important;font-weight:400!important;font-family:var(--mz-type-sans)!important}
  }

  body.mzs-compact-product .summary form.cart .mzs-inscription-title{font-family:var(--mz-type-sans)!important;font-size:18px!important;font-weight:400!important;line-height:1.4!important;color:var(--mz-type-text)!important;text-transform:none!important;letter-spacing:0!important}
  /* Product field titles lead; explanatory copy remains visibly secondary. */
  body.mzs-compact-product .summary form.cart :is(.gfield_label,.gfield_label .gftt-label,.gfield_label .gform-field-label__text,.gfield_label .gfield_label__text,.memoryz-montage-legend){font-size:18px!important;font-weight:400!important;line-height:1.4!important}
  body.mzs-compact-product .summary form.cart :is(.mzs-field-help,.gfield_description,.mzs-montage-description,.mzs-design-help,.mzs-bg-mode-help,.gfield_html,.gfield_html p,.gfield_html span){font-size:15px!important;font-weight:400!important;line-height:1.6!important;color:#655247!important}
}

@layer memoryzTypography{
 body :is(.postcard-copy .dedication,.mzw-preview-dedication){font-family:var(--mz-type-script)!important;font-size:clamp(26px,2.25vw,34px)!important;font-weight:400!important;font-style:normal!important;line-height:1.4!important;letter-spacing:0!important;text-transform:none!important;overflow-wrap:anywhere}
 body .mzw-preview-dedication{font-size:clamp(24px,2vw,30px)!important}
 body .postcard-copy .mzr-profile-stat,body .postcard-copy .mzr-profile-stat span{font-family:var(--mz-type-sans)!important;font-size:14px!important;font-style:normal!important;line-height:1.5!important;letter-spacing:0!important;text-transform:none!important}
}
