/* Scoped: no collision with Elementor or other Café des Maths extensions. */
.cdmim-photo,.cdmim-photo *{box-sizing:border-box}
.cdmim-photo{position:relative;isolation:isolate;container-type:inline-size;display:block;overflow:hidden;width:100%;max-width:none;min-width:0;height:calc(var(--cdmim-height,644px) + 2*var(--cdmim-border-width,0px));min-height:0;margin:0;padding:0;border:var(--cdmim-border-width,0px) var(--cdmim-border-style,solid) var(--cdmim-border-color,#fff);border-radius:var(--cdmim-radius,16px);background:var(--cdmim-placeholder-color,#34434c);box-shadow:var(--cdmim-shadow,none);font-style:normal}
.cdmim-photo__image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;z-index:0}
.cdmim-photo__shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(5,16,20,calc(var(--cdmim-overlay-opacity,.55)*.87)) 0%,rgba(5,16,20,.02) 38%,rgba(5,16,20,.03) 55%,rgba(5,16,20,var(--cdmim-overlay-opacity,.55)) 100%),linear-gradient(90deg,rgba(0,0,0,.18),transparent 22%)}
.cdmim-photo__heading{position:absolute;z-index:2;left:var(--cdmim-padding,34px);top:var(--cdmim-padding,34px);display:flex;align-items:center;justify-content:flex-start;gap:var(--cdmim-gap,12px);max-width:calc(100% - 2*var(--cdmim-padding,34px));margin:0;color:var(--cdmim-heading-color,#fff);font:var(--cdmim-heading-weight,700) var(--cdmim-heading-size,25px)/var(--cdmim-heading-line,1.2) var(--cdmim-heading-font,system-ui,sans-serif);text-align:var(--cdmim-heading-align,left);text-shadow:0 2px 12px rgba(0,0,0,.36)}
.cdmim-photo__heading>span{min-width:0;overflow-wrap:break-word}
.cdmim-photo__icon{height:1.55em;width:1.55em;min-height:28px;min-width:28px;max-height:54px;max-width:54px;flex:none;color:inherit}
.cdmim-photo__title{position:absolute;z-index:2;right:var(--cdmim-padding,34px);bottom:var(--cdmim-padding,34px);display:block;max-width:min(85%,650px);margin:0;color:var(--cdmim-caption-color,#fff);font:var(--cdmim-caption-weight,700) var(--cdmim-caption-size,33px)/var(--cdmim-caption-line,1.18) var(--cdmim-caption-font,system-ui,sans-serif);text-align:var(--cdmim-caption-align,right);overflow-wrap:anywhere;max-height:58%;overflow:auto;text-shadow:0 2px 15px rgba(0,0,0,.64)}
.cdmim-photo__copyright{position:absolute;z-index:2;top:10px;right:9px;left:auto;bottom:auto;max-height:calc(100% - 20px);width:1.5em;display:block;transform:none;writing-mode:vertical-rl;white-space:nowrap;color:var(--cdmim-copyright-color,#fff);font:var(--cdmim-copyright-weight,500) var(--cdmim-copyright-size,12px)/var(--cdmim-copyright-line,1.25) var(--cdmim-copyright-font,system-ui,sans-serif);letter-spacing:.035em;text-align:var(--cdmim-copyright-align,center);text-shadow:0 2px 8px rgba(0,0,0,.6);pointer-events:none}
.cdmim-photo__missing{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:28px;color:#fff;background:linear-gradient(140deg,#264c4d,#62766f);text-align:center;font:500 16px/1.5 system-ui,sans-serif}
.cdmim-no-photo{width:100%;padding:2rem;color:#626262;background:#f5f6f6;font-size:14px}
@media(max-width:650px){
 .cdmim-photo__heading{font-size:min(var(--cdmim-heading-size,25px),23px);max-width:calc(100% - 40px)}
 .cdmim-photo__title{font-size:min(var(--cdmim-caption-size,33px),29px);max-width:calc(100% - 50px)}
 .cdmim-photo__icon{height:1.32em;width:1.32em;min-height:27px;min-width:27px}
}
@media(max-width:390px){
 .cdmim-photo__heading{left:max(22px,calc(var(--cdmim-padding,34px)*.7));top:max(22px,calc(var(--cdmim-padding,34px)*.7));font-size:min(var(--cdmim-heading-size,25px),20px)}
 .cdmim-photo__title{right:max(19px,calc(var(--cdmim-padding,34px)*.7));bottom:max(25px,calc(var(--cdmim-padding,34px)*.7));font-size:min(var(--cdmim-caption-size,33px),26px)}
 .cdmim-photo__copyright{right:5px;left:auto}
}

/* Container queries, unlike viewport media queries, handle two narrow Elementor columns on a wide screen. */
@container (max-width:510px){
 .cdmim-photo__heading{font-size:min(var(--cdmim-heading-size,25px),22px);max-width:calc(100% - 40px)}
 .cdmim-photo__title{font-size:min(var(--cdmim-caption-size,33px),28px);max-width:calc(100% - 45px)}
 .cdmim-photo__icon{height:1.3em;width:1.3em;min-height:26px;min-width:26px}
}
@container (max-width:340px){
 .cdmim-photo__heading{left:max(18px,calc(var(--cdmim-padding,34px)*.65));top:max(18px,calc(var(--cdmim-padding,34px)*.65));font-size:min(var(--cdmim-heading-size,25px),18px)}
 .cdmim-photo__title{right:max(18px,calc(var(--cdmim-padding,34px)*.65));bottom:max(20px,calc(var(--cdmim-padding,34px)*.65));font-size:min(var(--cdmim-caption-size,33px),23px)}
 .cdmim-photo__copyright{right:5px;left:auto}
}


/* v1.1.0: disclosure entirely within the photo; native <details> works even without JS. */
.cdmim-photo__details{position:absolute;z-index:6;left:var(--cdmim-padding,34px);bottom:var(--cdmim-padding,34px);display:block;max-width:calc(100% - 2*var(--cdmim-padding,34px));margin:0;padding:0;font-style:normal;font-weight:400;line-height:normal}
.cdmim-photo__more-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:35px;max-width:100%;padding:8px 13px;border:1px solid rgba(255,255,255,.66);border-radius:9px;background:rgba(11,24,27,.52);background:color-mix(in srgb,var(--cdmim-more-button-background-color,#0b181b) 64%,transparent);color:var(--cdmim-more-button-color,#fff);font:var(--cdmim-more-button-weight,600) var(--cdmim-more-button-size,14px)/var(--cdmim-more-button-line,1.3) var(--cdmim-more-button-font,system-ui,sans-serif);text-align:var(--cdmim-more-button-align,center);text-decoration:none;cursor:pointer;list-style:none;box-shadow:0 2px 10px rgba(0,0,0,.15);transition:background .17s ease,transform .17s ease}
.cdmim-photo__more-button::marker{display:none;content:''}
.cdmim-photo__more-button::-webkit-details-marker{display:none}
.cdmim-photo__more-button:hover{background:rgba(11,24,27,.78);background:color-mix(in srgb,var(--cdmim-more-button-background-color,#0b181b) 86%,transparent)}
.cdmim-photo__more-button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.cdmim-photo__more-button svg{width:15px;height:15px;flex:none;transition:transform .2s}
.cdmim-photo__details[open] .cdmim-photo__more-button svg{transform:rotate(45deg)}
.cdmim-photo__more-close{display:none}
.cdmim-photo__details[open] .cdmim-photo__more-open{display:none}
.cdmim-photo__details[open] .cdmim-photo__more-close{display:inline}
.cdmim-photo__more-panel{position:absolute;left:0;bottom:calc(100% + 12px);width:min(430px,calc(100cqw - 2*var(--cdmim-padding,34px)));max-width:calc(100vw - 40px);max-height:min(54cqh,440px);max-height:min(340px,calc(var(--cdmim-height,644px) - 130px));overflow:auto;overscroll-behavior:contain;padding:20px 21px 19px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:var(--cdmim-more-panel-color,#132b2e);background:color-mix(in srgb,var(--cdmim-more-panel-color,#132b2e) 94%,transparent);box-shadow:0 12px 35px rgba(0,0,0,.36);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--cdmim-more-text-color,#fff)}
.cdmim-photo__more-title{margin:0 0 11px;padding:0;color:var(--cdmim-more-title-color,#fff);font:var(--cdmim-more-title-weight,700) var(--cdmim-more-title-size,18px)/var(--cdmim-more-title-line,1.3) var(--cdmim-more-title-font,system-ui,sans-serif);text-align:var(--cdmim-more-title-align,left);overflow-wrap:anywhere}
.cdmim-photo__more-text{margin:0;padding:0;white-space:pre-line;overflow-wrap:break-word;color:var(--cdmim-more-text-color,#fff);font:var(--cdmim-more-text-weight,400) var(--cdmim-more-text-size,15px)/var(--cdmim-more-text-line,1.5) var(--cdmim-more-text-font,system-ui,sans-serif);text-align:var(--cdmim-more-text-align,left)}
.cdmim-photo:has(.cdmim-photo__details[open]) .cdmim-photo__title{opacity:0;pointer-events:none}
@container (max-width:510px){
 .cdmim-photo__title{max-width:min(70%,calc(100% - 135px))}
 .cdmim-photo__more-panel{padding:16px 17px;max-height:min(340px,calc(var(--cdmim-height,644px) - 126px))}
 .cdmim-photo__more-title{font-size:min(var(--cdmim-more-title-size,18px),17px)}
 .cdmim-photo__more-text{font-size:min(var(--cdmim-more-text-size,15px),14px)}
}
@container (max-width:340px){
 .cdmim-photo__details{left:max(18px,calc(var(--cdmim-padding,34px)*.65));bottom:max(20px,calc(var(--cdmim-padding,34px)*.65))}
 .cdmim-photo__more-panel{width:calc(100cqw - 40px)}
 .cdmim-photo__more-button{padding:7px 10px;min-height:32px;font-size:min(var(--cdmim-more-button-size,14px),12px)}
}
@media(prefers-reduced-motion:reduce){.cdmim-photo__more-button,.cdmim-photo__more-button svg{transition:none}}
