/* Scoped to imported content; keeps the active theme's fonts and colours. */
.ipwp-entry { --ipwp-accent:#176b58; --ipwp-line:#e2e8e5; margin:1.5rem 0 2.5rem; }
.ipwp-entry .ipwp-caption { font-size:1.05em; line-height:1.85; overflow-wrap:anywhere; }
.ipwp-entry .ipwp-caption p { margin:0 0 1.3em; }
.ipwp-entry .ipwp-caption strong { font-weight:750; color:inherit; }
.ipwp-entry .ipwp-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:2rem 0; }
.ipwp-entry .ipwp-media-card { min-width:0; margin:0; border:1px solid var(--ipwp-line); border-radius:16px; overflow:hidden; background:#f4f7f5; box-shadow:0 5px 20px #173b2910; }
.ipwp-entry .ipwp-media-card:first-child { grid-column:1/-1; }
.ipwp-entry .ipwp-photo-link { display:block; position:relative; color:inherit; line-height:0; }
.ipwp-entry .ipwp-photo { display:block; width:100%; height:auto; max-height:600px; aspect-ratio:4/3; object-fit:contain; margin:0; }
.ipwp-entry .ipwp-media-card:first-child .ipwp-photo { aspect-ratio:16/10; }
.ipwp-entry .ipwp-zoom { position:absolute; right:12px; bottom:12px; padding:8px 12px; border-radius:999px; background:#142820dd; color:#fff; font:600 12px/1.3 system-ui,sans-serif; pointer-events:none; }
.ipwp-entry .ipwp-photo-link:focus-visible { outline:3px solid var(--ipwp-accent); outline-offset:-4px; }
.ipwp-entry .ipwp-media-card video { display:block; width:100%; max-height:600px; margin:0; background:#10221c; }
.ipwp-entry .ipwp-source { border-top:1px solid var(--ipwp-line); padding-top:18px; margin-top:22px; }
.ipwp-entry .ipwp-source a { display:inline-flex; align-items:center; gap:12px; padding:11px 16px; border:1px solid var(--ipwp-line); border-radius:10px; color:var(--ipwp-accent); text-decoration:none; font-size:.9em; font-weight:650; }
.ipwp-entry .ipwp-source a:hover { background:#f2f7f4; }
.ipwp-lightbox { box-sizing:border-box; position:fixed; inset:auto; margin:0; left:calc(var(--ipwp-vv-left,0px) + var(--ipwp-vv-width,100vw)/2); top:calc(var(--ipwp-vv-top,0px) + var(--ipwp-vv-height,100vh)/2); transform:translate(-50%,-50%); width:min(1200px,calc(var(--ipwp-vv-width,100vw) - 24px)); max-width:calc(var(--ipwp-vv-width,100vw) - 24px); height:min(900px,calc(var(--ipwp-vv-height,100vh) - 24px)); max-height:calc(var(--ipwp-vv-height,100vh) - 24px); overflow:hidden; padding:12px; border:1px solid #ffffff35; border-radius:18px; background:#101713; color:#fff; box-shadow:0 25px 80px #0008; }
@supports(height:100dvh) { .ipwp-lightbox { --ipwp-vv-height:100dvh; } }
.ipwp-lightbox::backdrop { background:#07100de8; }
.ipwp-lightbox .ipwp-viewer { display:grid; grid-template-rows:auto minmax(0,1fr) auto; height:100%; min-height:0; gap:12px; }
.ipwp-lightbox .ipwp-viewer-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ipwp-lightbox .ipwp-viewer-img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; min-width:0; min-height:0; object-fit:contain; }
.ipwp-lightbox .ipwp-viewer-controls { display:flex; gap:12px; justify-content:center; }
.ipwp-lightbox button { cursor:pointer; color:#fff; background:#ffffff18; border:1px solid #ffffff45; border-radius:9px; padding:10px 16px; font:600 16px/1.3 system-ui,sans-serif; min-height:44px; touch-action:manipulation; }
.ipwp-lightbox button:focus-visible { outline:3px solid #8ee3b5; outline-offset:2px; }
.ipwp-lightbox button:disabled { opacity:.35; cursor:default; }
@media(max-width:560px) { .ipwp-entry .ipwp-media-grid { grid-template-columns:1fr; gap:14px; } .ipwp-entry .ipwp-photo,.ipwp-entry .ipwp-media-card:first-child .ipwp-photo { aspect-ratio:auto; max-height:none; } .ipwp-entry .ipwp-media-card { border-radius:12px; } }
