/* Private single-obituary preview only; the existing public template is unaffected. */
.ryom-private-wrap{width:min(100% - 32px,1200px);margin:28px auto 70px;}
.ryom-private-alert{font:13px/1.5 Arial,sans-serif;background:#fff4d6;border:1px solid #e3c577;color:#5c481c;border-radius:6px;padding:12px 16px;margin:0 0 20px;}
.ryom-private-alert a{color:#514021;text-decoration:underline;}
.ryom-private-page{font-family:Arial,sans-serif;background:#fff;color:#283747;line-height:1.75;}
.ryom-private-page .ryom-private-hero{text-align:center;padding:32px 20px 38px;background:#f7f8fa;border-radius:9px;margin-bottom:20px;}
.ryom-private-page .ryom-private-portrait{width:auto!important;max-width:min(100%,330px)!important;max-height:420px!important;height:auto!important;object-fit:contain!important;display:block!important;margin:0 auto 20px!important;border:5px solid white;box-shadow:0 4px 20px rgba(0,0,0,.12)}
.ryom-private-page h1{font:normal clamp(28px,4vw,40px)/1.25 Georgia,serif!important;color:#273a50!important;margin:0 0 24px!important;}
.ryom-private-lifedates{display:flex;justify-content:center;gap:0;flex-wrap:wrap;}
.ryom-private-lifedates>div{min-width:155px;padding:0 24px;}
.ryom-private-lifedates>div+div{border-left:1px solid #d9cbbb;}
.ryom-private-lifedates span{display:block;text-transform:uppercase;letter-spacing:2px;color:#a18455;font:bold 11px Arial,sans-serif;margin-bottom:6px;}
.ryom-private-lifedates strong{font:normal 16px/1.5 Georgia,serif;}
.ryom-private-section{padding:25px 28px;border:1px solid #e4e5e8;border-radius:9px;margin:0 0 18px;background:#fff;overflow-wrap:anywhere;}
.ryom-private-section h2{font:normal 25px/1.3 Georgia,serif!important;color:#293b50!important;margin:0 0 18px!important;}
.ryom-private-section .ryom-video{display:block;width:100%;aspect-ratio:16/9;border:0;margin:0;border-radius:6px;}
.ryom-private-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px;}
.ryom-private-gallery img{display:block;width:100%!important;height:170px!important;object-fit:cover!important;border-radius:5px;}
.ryom-private-copy p{margin:0 0 14px;line-height:1.8}
@media(max-width:560px){.ryom-private-wrap{width:calc(100% - 20px)}.ryom-private-section{padding:20px 17px}.ryom-private-lifedates>div{min-width:125px;padding:0 12px}}

/* Elementor preview content: 1200px centered, surrounding page can remain full width. */
.ryom-elementor-preview{width:100%;max-width:1200px;margin:0 auto;padding:20px 16px 48px;box-sizing:border-box}
.ryom-elementor-preview .ryom-private-page{width:100%}
.ryom-test-hint{padding:16px 20px;background:#fff8e8;border:1px solid #e5cb97;color:#654b24;border-radius:6px}

/* Version 1.0.10: illustrated headings and side service panel */
.ryom-private-page .ryom-private-heading{display:flex!important;align-items:center;gap:11px;margin:0 0 20px!important;color:#253c54!important;font:normal 26px/1.3 Georgia,serif!important;}
.ryom-private-page .ryom-private-icon{width:23px;height:23px;flex:0 0 23px;color:#cb315a;vertical-align:middle;}
.ryom-private-page .ryom-private-heading span{min-width:0;}
.ryom-private-obituary-layout{display:grid;grid-template-columns:minmax(0,1fr) 236px;align-items:start;gap:28px;}
.ryom-private-obituary-copy{min-width:0;}
.ryom-private-service-panel{min-width:0;background:#b9748b;color:#fff;text-align:center;min-height:170px;padding:20px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;}
.ryom-private-page .ryom-private-service-panel .ryom-private-icon{color:#fff;width:30px;height:30px;flex:0 0 30px;}
.ryom-private-service-panel strong{font:700 23px/1.3 Georgia,serif;color:#fff;}
.ryom-private-service-panel span{font:14px/1.55 Arial,sans-serif;color:#fff;}
@media(max-width:680px){.ryom-private-obituary-layout{grid-template-columns:minmax(0,1fr);gap:18px}.ryom-private-service-panel{min-height:130px;width:100%}.ryom-private-page .ryom-private-heading{font-size:23px!important}}

/* V1.0.11: Explicitly override theme and Elementor global SVG sizing. */
.ryom-elementor-preview .ryom-private-page h2.ryom-private-heading > svg.ryom-private-icon,
.ryom-private-wrap .ryom-private-page h2.ryom-private-heading > svg.ryom-private-icon{
 display:inline-block!important;width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;max-width:23px!important;max-height:23px!important;flex:0 0 23px!important;margin:0!important;padding:0!important;vertical-align:middle!important;position:static!important;transform:none!important;object-fit:contain!important;
}
.ryom-elementor-preview .ryom-private-page .ryom-private-service-panel > svg.ryom-private-icon,
.ryom-private-wrap .ryom-private-page .ryom-private-service-panel > svg.ryom-private-icon{
 display:inline-block!important;width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;max-width:23px!important;max-height:23px!important;flex:0 0 23px!important;margin:0!important;padding:0!important;transform:none!important;
}

/* v1.0.12: date panel lives beside the introduction, never overlapping its copy. */
.ryom-private-page .ryom-private-intro-layout{display:grid!important;grid-template-columns:minmax(0,7fr) minmax(215px,3fr)!important;gap:28px!important;align-items:start!important;width:100%!important;}
.ryom-private-page .ryom-private-intro-copy{min-width:0!important;max-width:100%!important;overflow-wrap:break-word!important;}
.ryom-private-page .ryom-private-intro-layout .ryom-private-service-panel{position:static!important;float:none!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important;justify-self:stretch!important;}
@media(max-width:680px){.ryom-private-page .ryom-private-intro-layout{grid-template-columns:minmax(0,1fr)!important;gap:18px!important;}}

/* v1.0.13: Compact reference-matched service box and Georgia obituary prose. */
.ryom-private-page .ryom-private-intro-layout .ryom-private-service-panel{
  min-height:0!important;height:auto!important;padding:8px 10px 9px!important;
  gap:2px!important;border-radius:18px!important;background:#f8f640!important;
  color:#000!important;align-self:start!important;justify-content:center!important;
}
.ryom-private-page .ryom-private-intro-layout .ryom-private-service-panel > svg.ryom-private-icon{
  color:#ff0050!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;flex:0 0 20px!important;
}
.ryom-private-page .ryom-private-service-panel strong{color:#000!important;margin:0!important;font:700 23px/1.1 Georgia,serif!important;}
.ryom-private-page .ryom-private-service-panel span{color:#000!important;margin:0!important;font:13px/1.25 Georgia,serif!important;}
.ryom-private-page .ryom-private-intro-copy .ryom-private-copy,
.ryom-private-page .ryom-private-obituary-copy{font-family:Georgia,serif!important;font-size:17px!important;line-height:1.65!important;}
.ryom-private-page .ryom-private-intro-copy .ryom-private-copy p,
.ryom-private-page .ryom-private-obituary-copy p{font-family:Georgia,serif!important;line-height:1.65!important;}

/* v1.0.14 social sharing and views, directly below the livestream */
.ryom-share-views{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 22px;width:100%;font-family:Arial,sans-serif;font-size:14px;}
.ryom-share-buttons{display:flex;gap:9px;flex-wrap:wrap;}
.ryom-share-buttons a{display:inline-flex;align-items:center;justify-content:center;padding:9px 18px;border-radius:5px;color:white!important;text-decoration:none!important;font:600 14px/1.2 Arial,sans-serif;}
.ryom-share-facebook{background:#426eac!important}.ryom-share-whatsapp{background:#248c61!important}
.ryom-view-count{color:#293b50;font:14px/1.4 Arial,sans-serif}.ryom-view-count span{font-size:18px;vertical-align:middle;margin-right:3px}
@media(max-width:600px){.ryom-share-views{justify-content:center}.ryom-view-count{text-align:center}}

/* v1.0.15: Dove views icon, 16px counter typography. */
.ryom-private-page .ryom-view-count,.ryom-elementor-preview .ryom-view-count{font-size:16px!important;line-height:1.4!important;}
.ryom-private-page .ryom-view-count .ryom-dove-icon,.ryom-elementor-preview .ryom-view-count .ryom-dove-icon{display:inline-block!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;vertical-align:-4px!important;margin-right:5px!important;color:#293b50!important;}

/* v1.0.16: the original Font Awesome dove glyph. */
.ryom-private-page .ryom-view-count i.ryom-dove-icon,.ryom-elementor-preview .ryom-view-count i.ryom-dove-icon{display:inline-block!important;font-size:17px!important;line-height:1!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;vertical-align:baseline!important;margin-right:7px!important;color:#293b50!important;font-style:normal!important;}

/* v1.0.21: service date text size */
.ryom-private-page .ryom-private-service-panel span{font-size:16px!important;}

/* v1.0.22: enforce service date typography over earlier font shorthand and Elementor rules. */
.ryom-elementor-preview .ryom-private-page .ryom-private-intro-layout .ryom-private-service-panel > span,
.ryom-private-wrap .ryom-private-page .ryom-private-intro-layout .ryom-private-service-panel > span{font:normal 16px/1.35 Georgia,serif!important;font-size:16px!important;}

/* v1.0.26: Production singles share the exact same container and typography as the approved preview. */
.ryom-public-single.ryom-private-wrap{width:min(calc(100% - 32px),1200px)!important;max-width:1200px!important;margin:28px auto 70px!important;padding:0!important;box-sizing:border-box!important;float:none!important;}
.ryom-public-single .ryom-private-page{width:100%!important;max-width:none!important;font-size:16px!important;box-sizing:border-box!important;}
.ryom-public-single .ryom-private-page .ryom-private-hero{width:100%!important;}
@media(max-width:560px){.ryom-public-single.ryom-private-wrap{width:calc(100% - 20px)!important;}}

/* v1.0.27: Gentle horizontal breathing room on public single obituary pages only. */
.ryom-public-single.ryom-private-wrap{padding-left:10px!important;padding-right:10px!important;}

/* v1.0.28: Elementor shortcode must obey its parent container. */
.elementor-widget-shortcode .ryom-elementor-preview,
.ryom-elementor-preview {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.ryom-elementor-preview .ryom-private-page,
.ryom-elementor-preview .ryom-private-hero,
.ryom-elementor-preview .ryom-private-section {
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.ryom-elementor-preview .ryom-private-page {overflow-wrap:anywhere;}
.ryom-elementor-preview .ryom-video {max-width:100%!important;}

/* v1.0.29: Keep the share buttons and view count away from the edges. */
.ryom-private-page .ryom-share-views {
  padding-inline: 12px!important;
  box-sizing: border-box!important;
}

/* v1.0.30: consistent horizontal breathing room for all obituary elements.
   Applied inside the shortcode, without forcing a width on Elementor's container. */
.ryom-elementor-preview .ryom-private-page,
.ryom-public-single .ryom-private-page {
  padding-inline:12px!important;
  box-sizing:border-box!important;
}
/* The surrounding obituary padding now also covers social buttons and views. */
.ryom-elementor-preview .ryom-private-page .ryom-share-views,
.ryom-public-single .ryom-private-page .ryom-share-views {
  padding-inline:0!important;
}

/* v1.0.32: Elementor owns the shortcode's entire available content box.
   Zero intrinsic minimum widths; all descendants shrink within parent. */
.elementor-widget-shortcode .elementor-widget-container:has(> .ryom-elementor-preview),
.elementor-widget-shortcode .elementor-shortcode:has(> .ryom-elementor-preview) {
  min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
}
.ryom-elementor-preview,
.ryom-elementor-preview > .ryom-private-page {
  display:block!important;width:100%!important;max-width:100%!important;
  min-width:0!important;margin:0!important;padding:0!important;
  box-sizing:border-box!important;
}
.ryom-elementor-preview .ryom-private-page *,
.ryom-elementor-preview .ryom-private-page *::before,
.ryom-elementor-preview .ryom-private-page *::after {box-sizing:border-box;}
.ryom-elementor-preview .ryom-private-page > *,
.ryom-elementor-preview .ryom-private-hero,
.ryom-elementor-preview .ryom-private-section,
.ryom-elementor-preview .ryom-share-views,
.ryom-elementor-preview .ryom-private-intro-layout,
.ryom-elementor-preview .ryom-private-obituary-layout {
  width:100%!important;max-width:100%!important;min-width:0!important;
}
.ryom-elementor-preview .ryom-private-page {
  padding-inline:0!important;overflow-wrap:anywhere;
}
.ryom-elementor-preview .ryom-private-hero,
.ryom-elementor-preview .ryom-private-section {padding-inline:clamp(10px,2.4%,28px)!important;}
.ryom-elementor-preview .ryom-share-views {padding-inline:clamp(10px,2.4%,28px)!important;}
.ryom-elementor-preview img,
.ryom-elementor-preview iframe,
.ryom-elementor-preview video,
.ryom-elementor-preview svg {max-width:100%;}
.ryom-elementor-preview .ryom-private-gallery {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr));
  min-width:0;max-width:100%;
}
.ryom-elementor-preview .ryom-private-intro-layout {
  grid-template-columns:minmax(0,7fr) minmax(0,3fr)!important;
}
.ryom-elementor-preview .ryom-private-intro-layout > *,
.ryom-elementor-preview .ryom-private-obituary-layout > * {min-width:0!important;max-width:100%!important;}
@container (max-width:620px) {
  .ryom-elementor-preview .ryom-private-intro-layout,
  .ryom-elementor-preview .ryom-private-obituary-layout {grid-template-columns:minmax(0,1fr)!important;}
}
.ryom-elementor-preview {container-type:inline-size;}
