/* FXCHS V3.04: archives use the large reading surface, short tasks a fitted popup.
   The established rounded-rectangle language, header and footer remain unchanged. */
html.fxv2-js body.fxv2 .fxv2-hybrid.is-sheet-open .fxv2-hybrid-panel:has(>main.fxv288-form-only),
html.fxv2-js body.fxv2 .fxv2-hybrid-panel:has(>main.fxv288-form-only){
  box-sizing:border-box!important;
  width:min(760px,calc(100vw - 28px))!important;
  max-width:calc(100vw - 28px)!important;
  height:fit-content!important;
  min-height:0!important;
  max-height:calc(100dvh - var(--v2-header-height) - var(--v2-footer-height) - 28px)!important;
  top:calc(var(--v2-header-height) + (100dvh - var(--v2-header-height) - var(--v2-footer-height))/2)!important;
  bottom:auto!important;
  left:50%!important;right:auto!important;
  border:1px solid #b6d2c0!important;
  border-radius:24px!important;
  clip-path:none!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  box-shadow:0 26px 95px #05110aaa!important;
  transform:translate(-50%,110vh)!important;
  transition:transform .4s cubic-bezier(.19,.78,.26,1),visibility .4s!important;
}
html.fxv2-js body.fxv2 .fxv2-hybrid.is-sheet-open .fxv2-hybrid-panel:has(>main.fxv288-form-only){
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translate(-50%,-50%)!important;
}
html.fxv2-js body.fxv2 .fxv2-hybrid-panel > main.fxv288-form-only{
  width:100%!important;max-width:100%!important;
  margin:0!important;padding:clamp(12px,2.2vw,22px)!important;
  box-sizing:border-box!important;
}
/* Articles and smaller detail pages are contained within a comfortable reading popup.
   Long texts scroll inside the window instead of pushing another list below it. */
html.fxv2-js body.fxv2 .fxv2-detail-panel{
  box-sizing:border-box!important;
  width:min(1000px,calc(100vw - 28px))!important;
  max-width:calc(100vw - 28px)!important;
  max-height:calc(100dvh - var(--v2-header-height) - var(--v2-footer-height) - 26px)!important;
  min-height:0!important;
  height:fit-content!important;
  top:calc(var(--v2-header-height) + (100dvh - var(--v2-header-height) - var(--v2-footer-height))/2)!important;
  bottom:auto!important;right:50%!important;left:auto!important;
  border:1px solid #bdd2c4!important;
  border-radius:24px!important;
  clip-path:none!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  transform:translate(50%,110vh)!important;
  box-shadow:0 26px 95px #04130aaa!important;
  transition:transform .4s cubic-bezier(.19,.78,.26,1),visibility .4s!important;
}
html.fxv2-js body.fxv2 .fxv2-detail-panel.is-visible{
  transform:translate(50%,-50%)!important;
  border-radius:24px!important;
}
html.fxv2-js body.fxv2 .fxv2-detail-panel [data-v2-detail-content]{min-width:0;width:100%;}
/* In-browser form overlay: normal links still work if JavaScript fails. */
body.fxv2 .fxv304-form-dialog{
  box-sizing:border-box;width:min(740px,calc(100vw - 28px));max-width:calc(100vw - 28px);
  max-height:calc(100dvh - 30px);padding:clamp(15px,2.3vw,25px);
  border:1px solid #a8cbbb;border-radius:23px;background:#f4f6f0;color:#163425;
  overflow:auto;box-shadow:0 24px 90px #0008;
}
body.fxv2 .fxv304-form-dialog::backdrop{background:#06140dc9;backdrop-filter:blur(5px)}
body.fxv2 .fxv304-form-dialog:not([open]){display:none}
body.fxv2 .fxv304-form-dialog .fxv304-form-close{
  position:sticky;top:0;float:right;z-index:1;min-height:40px;padding:8px 13px;
  border:0;border-radius:12px;background:#173e2d;color:#fff;font:inherit;
  font-size:13px;font-weight:700;cursor:pointer;
}
body.fxv2 .fxv304-form-dialog :is(.fxv288-form-only,.fxv2-contact-layout){
  display:block!important;max-width:100%!important;min-width:0!important;
  width:100%!important;margin:0!important;padding:0!important;
}
body.fxv2 .fxv304-form-dialog .fxv2-contact-form-wrap{
  display:block!important;width:100%!important;max-width:100%!important;
  margin:0!important;padding:12px 0 0!important;border:0!important;
  background:transparent!important;box-shadow:none!important;
}
body.fxv2 .fxv304-form-dialog :is(input,select,textarea){box-sizing:border-box;max-width:100%;}
body.fxv2 .fxv304-form-dialog :is(input,select,textarea,button):focus-visible{
  outline:2px solid #236a4c;outline-offset:2px;
}
/* The existing image and film players are already dedicated viewers. Keep them
   within the chrome and retain a visible rounded edge instead of stretching videos. */
body.fxv2 .fxv2-video-dialog:not(.is-reel):not(:fullscreen){width:min(970px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;border-radius:22px!important;}
body.fxv2 .fxv2-video-dialog.is-reel:not(:fullscreen){border-radius:22px!important;}
@media(max-width:620px){
  html.fxv2-js body.fxv2 .fxv2-hybrid-panel:has(>main.fxv288-form-only),
  html.fxv2-js body.fxv2 .fxv2-detail-panel{width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important;border-radius:19px!important;}
  html.fxv2-js body.fxv2 .fxv2-detail-panel.is-visible{border-radius:19px!important;}
  body.fxv2 .fxv304-form-dialog{max-height:calc(100dvh - 18px);padding:13px;border-radius:19px;}
}
@media(prefers-reduced-motion:reduce){
  html.fxv2-js body.fxv2 .fxv2-hybrid-panel:has(>main.fxv288-form-only),
  html.fxv2-js body.fxv2 .fxv2-detail-panel{transition:none!important;}
}
