/* MG PUBLIKATIONEN 1.5.8 — ONE lightbox presentation contract.
   Scope is limited to this module's <dialog> in books and Wissenskompass.
   No register, page-builder row, catalogue card or filtering selectors.
   CTA visuals intentionally come from original Joomla/SP PageBuilder classes:
   sppb-btn sppb-btn-custom sppb-btn-round mg-v13-button mg-v13-contact mg-home-standard-btn
*/
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb {
 --lb-ink:#153c59; --lb-muted:#567389; --lb-line:#dfebf2;
 display:none!important;position:fixed!important;box-sizing:border-box!important;
 width:min(1010px,calc(100vw - 36px))!important;max-width:calc(100vw - 36px)!important;
 min-width:0!important;max-height:min(90dvh,900px)!important;
 margin:auto!important;padding:0!important;overflow:hidden!important;
 color:var(--lb-ink)!important;background:#fff!important;
 border:1px solid #d9e8f0!important;border-radius:18px!important;
 box-shadow:0 28px 92px rgba(4,28,46,.32)!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb[open]{display:block!important}
/* The programmatically focused dialog is a container, not a keyboard control. */
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb:focus{outline:none!important}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb::backdrop{background:rgba(5,27,44,.66)!important;backdrop-filter:blur(4px)}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb :is([data-mgpub-dialog-body],[data-mgcomp-dialog-body]){
 overflow-x:hidden!important;overflow-y:auto!important;
 max-height:min(90dvh,900px)!important;scrollbar-width:thin;
 scrollbar-color:#bed0dd transparent;overscroll-behavior:contain;
}
/* Exact same transparent close control in every profile. */
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb :is(.mgpub-close,.mgcomp150-close).mgpub-lb__close{
 all:unset!important;box-sizing:border-box!important;position:absolute!important;
 right:13px!important;top:12px!important;z-index:40!important;
 display:grid!important;place-items:center!important;
 width:42px!important;height:42px!important;margin:0!important;padding:0!important;
 color:#2a5a78!important;background:transparent!important;
 border:0!important;border-radius:10px!important;cursor:pointer!important;
 transition:color .18s ease,background-color .18s ease!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__close svg{
 width:22px!important;height:22px!important;display:block!important;stroke:currentColor!important;
 stroke-width:2!important;fill:none!important;stroke-linecap:round!important;pointer-events:none!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__close:hover{color:#123d5a!important;background:rgba(40,100,135,.075)!important}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__close:focus-visible{outline:2px solid #2d82b2!important;outline-offset:1px!important}
/* The panel responds to available content, not arbitrary 450px copy columns
   or margin-top:auto to force an action to the bottom of empty space. */
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__grid{
 display:grid!important;grid-template-columns:minmax(240px,33.5%) minmax(0,66.5%)!important;
 align-items:stretch!important;gap:0!important;margin:0!important;padding:0!important;
 min-height:0!important;height:auto!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__art{
 display:flex!important;align-items:center!important;justify-content:center!important;
 margin:0!important;padding:34px 26px!important;min-height:320px!important;height:auto!important;
 border:0!important;border-radius:0!important;
 background:linear-gradient(155deg,#edf5f9,#e9f2f7 58%,#f7fafc)!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__art :is(.mgpub-detailart,.mgcomp150-detail-cover-link,.mgcomp150-detail-cover-static){
 max-width:100%!important;width:100%!important;min-width:0!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 min-height:0!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__art img{
 display:block!important;width:auto!important;height:auto!important;
 max-width:100%!important;max-height:min(420px,56dvh)!important;
 object-fit:contain!important;object-position:center!important;
 filter:drop-shadow(8px 12px 12px rgba(10,36,54,.19))!important;
 transition:transform .2s ease,filter .2s ease!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__art a:hover img,
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__art a:focus-visible img{
 transform:translateY(-3px) scale(1.012)!important;
 filter:drop-shadow(11px 17px 14px rgba(10,36,54,.23))!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__copy{
 box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
 align-items:stretch!important;min-width:0!important;min-height:0!important;height:auto!important;
 padding:42px 52px 34px 42px!important;margin:0!important;background:#fff!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb :is(.mgpub-lb__eyebrow,.mgpub-eyebrow,.mgcomp150-kicker){
 font-size:11px!important;line-height:1.4!important;letter-spacing:.16em!important;
 font-weight:750!important;text-transform:uppercase!important;color:#317eaa!important;
 margin:0 0 13px!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__copy h2{
 font-size:clamp(24px,2.35vw,31px)!important;line-height:1.22!important;
 font-weight:760!important;letter-spacing:-.026em!important;
 text-wrap:pretty!important;overflow-wrap:break-word!important;color:#163e59!important;
 margin:0 0 22px!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__copy h2 a{
 color:inherit!important;text-decoration:none!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__copy h2 a:hover,
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__copy h2 a:focus-visible{
 color:#236b92!important;text-decoration:underline!important;text-underline-offset:4px!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__prose{
 margin:0 0 18px!important;max-width:66ch!important;
 color:var(--lb-muted)!important;font-size:15px!important;line-height:1.69!important;
 overflow-wrap:break-word!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__prose p{
 margin:0 0 12px!important;color:inherit!important;font-size:inherit!important;line-height:inherit!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__prose p:last-child{margin-bottom:0!important}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-detaillabel{
 margin:10px 0 7px!important;font-size:11px!important;line-height:1.5!important;
 font-weight:670!important;color:#68859a!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb :is(.mgpub-tags,.mgcomp150-detail-tags).mgpub-lb__tags{
 display:flex!important;flex-wrap:wrap!important;gap:7px!important;
 margin:8px 0 18px!important;padding:0!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__tags span{
 display:inline-flex!important;align-items:center!important;
 background:#eef6fa!important;color:#336584!important;
 padding:6px 9px!important;border:1px solid #d7e8f2!important;border-radius:6px!important;
 font-size:11px!important;font-weight:620!important;line-height:1.35!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__facts{
 display:grid!important;grid-template-columns:1fr!important;gap:0!important;
 border-top:1px solid var(--lb-line)!important;border-bottom:0!important;
 margin:6px 0 14px!important;padding:0!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__facts > div{
 display:grid!important;grid-template-columns:94px minmax(0,1fr)!important;
 gap:12px!important;align-items:start!important;
 padding:10px 0!important;margin:0!important;border-bottom:1px solid var(--lb-line)!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__facts dt,
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__facts dd{
 margin:0!important;padding:0!important;font-size:12px!important;line-height:1.55!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__facts dt{color:#69869a!important;font-weight:660!important}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__facts dd{color:#244e69!important;font-weight:480!important;overflow-wrap:break-word!important}
/* Only action container placement — button design belongs to the central
   mg-home-standard-btn / SP PageBuilder system, not this stylesheet. */
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__actions{
 display:flex!important;align-items:center!important;justify-content:flex-end!important;
 flex-wrap:wrap!important;gap:12px!important;
 margin:5px 0 0!important;padding:17px 0 0!important;min-height:0!important;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__actions .mgpub-lb__cta{
 flex:0 1 auto;max-width:100%;min-width:0;
}
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__actions .mgpub-lb__arrow{
 display:inline-block;margin-left:8px;vertical-align:baseline;
}
/* Fine print is consistent across book-series / Compass; never an alternate CTA. */
:is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__footer{
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 gap:12px!important;flex-wrap:wrap!important;padding:11px 29px!important;margin:0!important;
 border-top:1px solid #e4edf3!important;background:#fafcfd!important;
 color:#849cad!important;font-size:9px!important;letter-spacing:.07em!important;
 line-height:1.45!important;font-weight:690!important;text-transform:uppercase!important;
}
@media(max-width:750px){
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;border-radius:14px!important}
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__grid{grid-template-columns:1fr!important}
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__art{min-height:0!important;padding:25px 22px 20px!important}
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__art img{max-height:210px!important;max-width:100%!important}
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__copy{padding:26px 24px 30px!important}
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__copy h2{font-size:clamp(22px,5vw,28px)!important;margin-bottom:17px!important}
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__close{right:7px!important;top:7px!important;background:rgba(255,255,255,.78)!important}
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__footer{padding:10px 22px!important}
}
@media(max-width:390px){
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__copy{padding:23px 19px 26px!important}
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__actions .mgpub-lb__cta{max-width:100%}
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__footer span:last-child{display:none!important}
}
@media(prefers-reduced-motion:reduce){
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__close,
 :is(.mgpub-widget,.mgcomp150) dialog.mgpub-lb .mgpub-lb__art img{transition:none!important}
}
