.tdecomm-modal,.tdecomm-modal *{box-sizing:border-box}
.tdecomm-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:28px}
.tdecomm-modal.is-open{display:flex}
.tdecomm-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.62);cursor:default}
.tdecomm-dialog{position:relative;width:min(900px,96vw);max-height:min(850px,90vh);overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.28);display:flex;flex-direction:column}
.tdecomm-close{position:absolute;top:14px;right:16px;z-index:5;width:40px;height:40px;border:1px solid #ddd;border-radius:50%;background:#fff;color:#c9151e;font-size:24px;line-height:1;cursor:pointer}
.tdecomm-modal-head{padding:34px 62px 22px 34px;border-bottom:1px solid #ece7e3;flex:0 0 auto}
.tdecomm-modal-head span{display:block;color:#c9151e;font-size:10px;font-weight:800;letter-spacing:.2em}
.tdecomm-modal-head h2{margin:5px 0 5px!important;font-family:"Cormorant Garamond",Cormorant,Georgia,serif!important;font-size:38px!important;line-height:1!important;color:#111!important}
.tdecomm-modal-head p{margin:0!important;color:#666!important;font-size:14px!important;line-height:1.5!important}
.tdecomm-carousel{min-height:0;display:flex;flex-direction:column;flex:1 1 auto}
.tdecomm-carousel-stage{min-height:0;overflow:auto;padding:0 34px 20px;flex:1 1 auto;scrollbar-gutter:stable}
.tdecomm-slide{display:none;min-height:100%;padding:24px 2px 8px}
.tdecomm-slide.is-active{display:block}
.tdecomm-slide-meta{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:center;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #ece7e3}
.tdecomm-front-date{text-align:center;border-right:1px solid #eee;padding-right:14px}
.tdecomm-front-date b{display:block;color:#c9151e;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.tdecomm-front-date strong{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;line-height:1}
.tdecomm-slide-meta>div:nth-child(2)>span{display:inline-block;color:#c9151e;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.tdecomm-slide-meta h3{margin:4px 0 0!important;font-family:inherit!important;font-size:20px!important;line-height:1.25!important;color:#111!important;overflow-wrap:anywhere}
.tdecomm-front-body{color:#2f2f2f;font-size:14px;line-height:1.72;overflow-wrap:anywhere}
.tdecomm-front-body p{margin:0 0 1em!important}
.tdecomm-front-body a{color:#c9151e!important;text-decoration:underline;overflow-wrap:anywhere}
.tdecomm-attachment-note{margin:24px 0 6px;padding:13px 15px;border:1px solid #ead5d7;border-left:4px solid #c9151e;border-radius:8px;background:#fff8f8;display:flex;gap:8px 14px;align-items:baseline;flex-wrap:wrap}
.tdecomm-attachment-note strong{color:#111;font-size:13px}
.tdecomm-attachment-note span{color:#666;font-size:13px}
.tdecomm-carousel-nav{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:12px;padding:14px 34px 18px;border-top:1px solid #ece7e3;background:#fff;flex:0 0 auto}
.tdecomm-arrow{width:44px;height:40px;border:1px solid #d7d7d7;border-radius:999px;background:#fff;color:#c9151e;font-size:22px;line-height:1;cursor:pointer}
.tdecomm-arrow:hover,.tdecomm-arrow:focus{border-color:#c9151e;background:#fff7f7;outline:none}
.tdecomm-counter{text-align:center;color:#666;font-size:12px;font-weight:700;letter-spacing:.03em}
.tdecomm-front-empty{text-align:center;padding:48px 20px}
.tdecomm-front-empty strong,.tdecomm-front-empty span{display:block}
.tdecomm-front-empty span{margin-top:6px;color:#777}
.tdecomm-open-button{border:1px solid #c9151e;background:#fff;color:#c9151e;padding:11px 16px;border-radius:8px;font-weight:700;cursor:pointer}
html.tdecomm-lock,html.tdecomm-lock body{overflow:hidden!important}
@media(max-width:600px){
  .tdecomm-modal{padding:10px}
  .tdecomm-dialog{width:100%;max-height:94vh;border-radius:13px}
  .tdecomm-modal-head{padding:25px 52px 18px 20px}
  .tdecomm-modal-head h2{font-size:31px!important}
  .tdecomm-carousel-stage{padding:0 18px 14px}
  .tdecomm-slide{padding-top:18px}
  .tdecomm-slide-meta{grid-template-columns:52px 1fr;gap:12px;margin-bottom:16px;padding-bottom:14px}
  .tdecomm-front-date{padding-right:9px}
  .tdecomm-front-date strong{font-size:25px}
  .tdecomm-slide-meta h3{font-size:16px!important}
  .tdecomm-front-body{font-size:13px;line-height:1.65}
  .tdecomm-carousel-nav{padding:11px 18px 14px;grid-template-columns:44px 1fr 44px}
  .tdecomm-arrow{width:40px;height:38px}
}


/* v1.3.4 Portal reader viewport/stacking repair */
body > .tdecomm-modal{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  z-index:2147483600!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  isolation:isolate!important;
  padding:clamp(10px,2.5vh,28px)!important;
}
body > .tdecomm-modal .tdecomm-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
}
body > .tdecomm-modal .tdecomm-dialog{
  z-index:1!important;
  width:min(900px,calc(100vw - 24px))!important;
  max-height:calc(100dvh - 24px)!important;
  min-height:0!important;
  margin:auto!important;
  overflow:hidden!important;
}
body > .tdecomm-modal .tdecomm-carousel{
  min-height:0!important;
  overflow:hidden!important;
}
body > .tdecomm-modal .tdecomm-carousel-stage{
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
  flex:1 1 auto!important;
}
body > .tdecomm-modal .tdecomm-slide{
  min-height:0!important;
  height:auto!important;
}
@supports not (height:100dvh){
  body > .tdecomm-modal{height:100vh!important}
  body > .tdecomm-modal .tdecomm-dialog{max-height:calc(100vh - 24px)!important}
}


/* v1.3.5 portal-only announcement link */
.tdecomm-manual-link{margin:16px 0 0!important}
.tdecomm-manual-link a{display:inline-flex;align-items:center;min-height:38px;padding:9px 14px;border:1px solid #c9151e;border-radius:6px;color:#c9151e!important;font-weight:800;text-decoration:none!important}
.tdecomm-manual-link a:hover,.tdecomm-manual-link a:focus-visible{background:#c9151e;color:#fff!important}
