.elementor-4825 .elementor-element.elementor-element-548d945{--display:flex;--min-height:372px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--gap:20px 0px;--row-gap:20px;--column-gap:0px;--overlay-opacity:0.65;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-4825 .elementor-element.elementor-element-548d945:not(.elementor-motion-effects-element-type-background), .elementor-4825 .elementor-element.elementor-element-548d945 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#13385C;}.elementor-4825 .elementor-element.elementor-element-548d945::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .elementor-background-video-container::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .e-con-inner > .elementor-background-video-container::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .elementor-background-slideshow::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .e-con-inner > .elementor-background-slideshow::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#E7F6FF00;background-image:url("https://drjennycook.com/wp-content/uploads/2025/08/DJC_LB_ICON.svg");--background-overlay:'';background-position:center right;background-repeat:no-repeat;background-size:34% auto;}.elementor-4825 .elementor-element.elementor-element-548d945.e-con{--align-self:center;}.elementor-4825 .elementor-element.elementor-element-19b6f2f3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4825 .elementor-element.elementor-element-19b6f2f3.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-4825 .elementor-element.elementor-element-409092c1{width:var( --container-widget-width, 1200px );max-width:1200px;--container-widget-width:1200px;--container-widget-flex-grow:0;}.elementor-4825 .elementor-element.elementor-element-409092c1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0% 0% 0% 0%;}.elementor-4825 .elementor-element.elementor-element-409092c1.elementor-element{--align-self:center;}.elementor-4825 .elementor-element.elementor-element-409092c1 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-accent );}.elementor-4825 .elementor-element.elementor-element-b32768b{width:100%;max-width:100%;text-align:start;font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:600;text-transform:uppercase;color:var( --e-global-color-astglobalcolor4 );}.elementor-4825 .elementor-element.elementor-element-36d1d8d{--display:flex;--margin-top:50px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;}body.elementor-page-4825:not(.elementor-motion-effects-element-type-background), body.elementor-page-4825 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}@media(min-width:768px){.elementor-4825 .elementor-element.elementor-element-19b6f2f3{--width:818px;}}@media(max-width:1024px){.elementor-4825 .elementor-element.elementor-element-548d945{--min-height:303px;--justify-content:center;--overlay-opacity:0.42;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-4825 .elementor-element.elementor-element-548d945::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .elementor-background-video-container::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .e-con-inner > .elementor-background-video-container::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .elementor-background-slideshow::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .e-con-inner > .elementor-background-slideshow::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-size:306px auto;}.elementor-4825 .elementor-element.elementor-element-409092c1 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-4825 .elementor-element.elementor-element-b32768b{font-size:16px;}}@media(max-width:767px){.elementor-4825 .elementor-element.elementor-element-548d945{--min-height:221px;--overlay-opacity:0;--padding-top:80px;--padding-bottom:80px;--padding-left:30px;--padding-right:30px;}.elementor-4825 .elementor-element.elementor-element-548d945::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .elementor-background-video-container::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .e-con-inner > .elementor-background-video-container::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .elementor-background-slideshow::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .e-con-inner > .elementor-background-slideshow::before, .elementor-4825 .elementor-element.elementor-element-548d945 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:bottom center;background-size:cover;}.elementor-4825 .elementor-element.elementor-element-409092c1 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-4825 .elementor-element.elementor-element-b32768b{text-align:start;}}@media(max-width:1024px) and (min-width:768px){.elementor-4825 .elementor-element.elementor-element-548d945{--content-width:100%;}.elementor-4825 .elementor-element.elementor-element-19b6f2f3{--width:67%;}}/* Start custom CSS for container, class: .elementor-element-36d1d8d */:root{
  --blurOverlayBg: rgba(183,232,240,.66);
  --blurOverlayText: #002A52;
  --blurRadius: 16px;
  --cornerRadius: 12px;
}

/* Apply the class to the Elementor Image widget (Advanced → CSS Classes: blur-reveal) */
.elementor-widget-image.blur-reveal{
  position: relative;               /* needed for overlay */
  border-radius: var(--cornerRadius);
  overflow: hidden;                 /* clips overlay to the image area */
  cursor: pointer;
  /* IMPORTANT: do NOT set display/width here so we don't affect alignment */
}

/* Keep the image centred exactly as before */
.elementor-widget-image.blur-reveal img{
  display: block;                   /* safe for overlay sizing */
  margin-left: auto;                /* preserves centring */
  margin-right: auto;
  filter: blur(var(--blurRadius)) brightness(.95) saturate(.9);
  transition: filter .25s ease;
}

/* Revealed state */
.elementor-widget-image.blur-reveal.is-revealed img{ filter: none; }

/* Overlay message (attach to the inner container so width is unchanged) */
.elementor-widget-image.blur-reveal .elementor-widget-container{ position: relative; }
.elementor-widget-image.blur-reveal .elementor-widget-container::after{
  content: attr(data-blur-label);
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center; text-align: center;
  padding: 12px; font-weight: 600;
  color: var(--blurOverlayText); background: var(--blurOverlayBg);
  pointer-events: none; opacity: 1; transition: opacity .25s ease;
}
.elementor-widget-image.blur-reveal.is-revealed .elementor-widget-container::after{ opacity: 0; }

/* Optional: subtle hover cue (desktop only) */
@media (hover:hover){
  .elementor-widget-image.blur-reveal:not(.is-revealed):hover img{
    filter: blur(calc(var(--blurRadius) - 2px)) brightness(.98) saturate(.95);
  }
}

/* Fallback if you ever put the class directly on <img> (not required for Elementor) */
.blur-wrapper{ position:relative; border-radius:var(--cornerRadius); overflow:hidden; cursor:pointer; }
.blur-wrapper>img{ display:block; margin:0 auto; filter:blur(var(--blurRadius)) brightness(.95) saturate(.9); transition:filter .25s ease; }
.blur-wrapper.is-revealed>img{ filter:none; }
.blur-wrapper::after{
  content: attr(data-blur-label);
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center;
  padding:12px; font-weight:600; color:var(--blurOverlayText); background:var(--blurOverlayBg);
  pointer-events:none; opacity:1; transition:opacity .25s ease;
}
.blur-wrapper.is-revealed::after{ opacity:0; }/* End custom CSS */
/* Start custom CSS */:root{
  --blurOverlayBg: rgba(183,232,240,.66);
  --blurOverlayText: #002A52;
  --blurRadius: 16px;
  --cornerRadius: 12px;
  --tileGap: 18px;
  --tileShadow: 0 10px 24px rgba(0,0,0,.06);
  --tileBorder: #dceff5;
}

/* === Base (single images) === */
.elementor-widget-image.blur-reveal{
  position:relative;border-radius:var(--cornerRadius);overflow:hidden;cursor:pointer;
}

/* inner container gets the white frame */
.elementor-widget-image.blur-reveal .elementor-widget-container{
  position:relative;
  padding:10px;                  /* << white padding around blurred image */
  background:#fff;               /* white frame colour */
  border-radius:var(--cornerRadius);
}

/* image stays centred and blurred */
.elementor-widget-image.blur-reveal img{
  display:block;margin-left:auto;margin-right:auto;
  filter:blur(var(--blurRadius)) brightness(.95) saturate(.9);
  transition:filter .25s ease;
}
.elementor-widget-image.blur-reveal.is-revealed img{ filter:none; }

/* default overlay message + tint; sits inside the 10px frame */
.elementor-widget-image.blur-reveal .elementor-widget-container::after{
  content:"Click to reveal sensitive image";         /* default message */
  position:absolute; inset:10px;                     /* respect the padding */
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:12px; font-weight:600; letter-spacing:.1px;
  color:var(--blurOverlayText); background:var(--blurOverlayBg);
  pointer-events:none; opacity:1; transition:opacity .25s ease;
}
.elementor-widget-image.blur-reveal.is-revealed .elementor-widget-container::after{ opacity:0; }

/* Optional: allow per-image custom label when you DO set data-blur-label on the container */
.elementor-widget-image.blur-reveal .elementor-widget-container[data-blur-label]::after{
  content:attr(data-blur-label);
}

/* Hover cue (desktop only) */
@media (hover:hover){
  .elementor-widget-image.blur-reveal:not(.is-revealed):hover img{
    filter:blur(calc(var(--blurRadius) - 2px)) brightness(.98) saturate(.95);
  }
}

/* === Grid (multiple images together) === */
.sensitive-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:var(--tileGap);
}
.sensitive-grid .elementor-widget-image.blur-reveal{
  background:#eaf7fa; border:1px solid var(--tileBorder); box-shadow:var(--tileShadow);
  margin:0!important; transition:transform .18s ease, box-shadow .18s ease;
}
@media (hover:hover){
  .sensitive-grid .elementor-widget-image.blur-reveal:hover{
    transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,.08);
  }
}

/* Optional fixed tile aspect (keep rows even) */
.sensitive-grid.sensitive-grid--tiled .elementor-widget-image.blur-reveal .elementor-widget-container{ aspect-ratio:4/3; }
.sensitive-grid.sensitive-grid--tiled .elementor-widget-image.blur-reveal img{ width:100%; height:100%; object-fit:cover; }

/* Captions */
.sensitive-grid .elementor-widget-image figure{ margin:0; }
.sensitive-grid .elementor-widget-image figcaption{
  padding:8px 10px; font-size:.86rem; color:#3b4b58; background:#f9feff; border-top:1px solid #eef6f9;
}
.sensitive-grid .elementor-widget-image.blur-reveal:not(.is-revealed) figcaption{ filter:blur(1px); opacity:.95; }

/* Keyboard focus */
.sensitive-grid .elementor-widget-image.blur-reveal:focus{ outline:2px solid #A8D4E6; outline-offset:2px; }/* End custom CSS */