.cfsn-notice{font-family:inherit;box-sizing:border-box}.cfsn-notice *{box-sizing:border-box}.cfsn-theme-light{--cfsn-bg:#fff;--cfsn-text:#202020;--cfsn-accent:#202020}.cfsn-theme-dark{--cfsn-bg:#202020;--cfsn-text:#fff;--cfsn-accent:#fff}.cfsn-popup{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px}.cfsn-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}.cfsn-modal{position:relative;z-index:2;width:min(760px,100%);max-height:90vh;overflow:auto;background:var(--cfsn-bg);color:var(--cfsn-text);box-shadow:0 24px 70px rgba(0,0,0,.3);display:grid;grid-template-columns:minmax(0,1fr)}.cfsn-image img{display:block;width:100%;max-height:360px;object-fit:cover}.cfsn-content{padding:34px 38px}.cfsn-headline{font-size:30px;line-height:1.15;margin:0 0 12px;font-weight:600}.cfsn-message{font-size:16px;line-height:1.6}.cfsn-message p:last-child{margin-bottom:0}.cfsn-cta{display:inline-block;margin-top:20px;padding:12px 20px;background:var(--cfsn-accent);color:var(--cfsn-bg)!important;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.cfsn-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:var(--cfsn-text);font-size:30px;line-height:1;cursor:pointer;padding:6px 10px;z-index:3}.cfsn-ticker{position:fixed;left:0;right:0;z-index:99990;background:var(--cfsn-bg);color:var(--cfsn-text);box-shadow:0 2px 10px rgba(0,0,0,.1)}.cfsn-ticker.cfsn-position-top{top:var(--cfsn-sticky-top,0px)}.cfsn-ticker.cfsn-position-bottom{bottom:0}.cfsn-ticker-inner{position:relative;min-height:48px;display:flex;align-items:center;justify-content:center;padding:10px 54px 10px 20px}.cfsn-ticker .cfsn-content{padding:0;display:flex;align-items:center;justify-content:center;gap:18px;text-align:center}.cfsn-ticker .cfsn-headline{font-size:15px;margin:0;font-weight:600}.cfsn-ticker .cfsn-message{font-size:14px;line-height:1.4}.cfsn-ticker .cfsn-message p{margin:0}.cfsn-ticker .cfsn-cta{margin:0;padding:7px 12px;font-size:10px}.cfsn-ticker .cfsn-close{top:50%;transform:translateY(-50%);font-size:24px}@media(max-width:690px){.cfsn-popup{padding:14px}.cfsn-content{padding:28px 24px}.cfsn-headline{font-size:24px}.cfsn-ticker-inner{padding-left:14px}.cfsn-ticker .cfsn-content{display:block}.cfsn-ticker .cfsn-headline,.cfsn-ticker .cfsn-message,.cfsn-ticker .cfsn-cta{margin:3px 0}}

/* v0.1.1 — Salient top-ticker stacking
   The ticker stays at the viewport top while its measured height becomes
   real layout space. This prevents transparent/sticky Salient headers and
   the Casa Fresca sticky UI from sitting underneath the notice. */
:root{--cfsn-ticker-height:0px}
.cfsn-ticker.cfsn-position-top{top:0}
body.cfsn-has-top-ticker #header-outer{margin-top:var(--cfsn-ticker-height)!important}
body.cfsn-has-top-ticker #ajax-content-wrap{padding-top:var(--cfsn-ticker-height)}

/* WordPress toolbar: keep the preview ticker below the toolbar for logged-in users. */
body.admin-bar .cfsn-ticker.cfsn-position-top{top:32px}
@media(max-width:782px){body.admin-bar .cfsn-ticker.cfsn-position-top{top:46px}}

/* v0.1.2 — Casa Fresca brand treatment */
.cfsn-theme-light{
  --cfsn-bg:#FFF1E2;
  --cfsn-text:#1D386D;
  --cfsn-accent:#1D386D;
}
.cfsn-theme-light .cfsn-cta{
  background:#1D386D;
  color:#FFF1E2!important;
  transition:background-color .2s ease,color .2s ease;
}
.cfsn-theme-light .cfsn-cta:hover,
.cfsn-theme-light .cfsn-cta:focus{
  background:#009C90;
  color:#fff!important;
}
.cfsn-theme-light .cfsn-close{
  color:#1D386D;
  transition:color .2s ease;
}
.cfsn-theme-light .cfsn-close:hover,
.cfsn-theme-light .cfsn-close:focus{color:#009C90}
.cfsn-ticker.cfsn-theme-light{box-shadow:0 1px 0 rgba(29,56,109,.12)}
.cfsn-ticker.cfsn-theme-light .cfsn-cta{padding:9px 17px;letter-spacing:.09em}

/* v0.1.4 — compact multi-notice ticker; arrows grouped after CTA */
.cfsn-ticker-inner{min-height:40px;padding:6px 54px 6px 20px}
.cfsn-ticker-slides{width:100%;min-width:0}
.cfsn-ticker-slide{width:100%}
.cfsn-ticker-controls{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto;margin-left:-8px}
.cfsn-ticker-nav{position:static;display:inline-flex;align-items:center;justify-content:center;transform:none;z-index:4;width:24px;height:28px;padding:0;border:0;background:transparent;color:#1D386D;font:300 27px/1 Arial,sans-serif;cursor:pointer;transition:color .2s ease,opacity .2s ease;opacity:.72}
.cfsn-ticker-nav:hover,.cfsn-ticker-nav:focus{color:#009C90;opacity:1}
.cfsn-ticker-group .cfsn-close{right:10px}
@media(max-width:690px){.cfsn-ticker-inner{padding:6px 48px 6px 12px}.cfsn-ticker .cfsn-content{display:flex;flex-wrap:wrap}.cfsn-ticker-controls{margin-left:0}}


/* v0.1.5 — automatic 10-second ticker rotation with fade transition */
.cfsn-ticker-slide{opacity:1;transition:opacity .35s ease}
.cfsn-ticker-slide.cfsn-fading{opacity:0}
@media (prefers-reduced-motion:reduce){.cfsn-ticker-slide{transition:none}}

/* v0.1.6 — true crossfade; navigation remains static */
.cfsn-ticker-main{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-width:0}
.cfsn-ticker-slides{display:grid;grid-template-columns:minmax(0,auto);align-items:center;justify-content:center;width:auto;min-width:0}
.cfsn-ticker-slide{grid-area:1/1;position:relative;width:auto;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s ease,visibility 0s linear .4s}
.cfsn-ticker-slide.cfsn-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .4s ease,visibility 0s linear 0s}
.cfsn-ticker-slide.cfsn-suppressed{display:none}
.cfsn-ticker-controls{margin-left:0;align-self:center}
@media(max-width:690px){.cfsn-ticker-main{gap:5px}.cfsn-ticker-slides{max-width:calc(100% - 54px)}.cfsn-ticker-controls{flex:0 0 auto}}
@media (prefers-reduced-motion:reduce){.cfsn-ticker-slide,.cfsn-ticker-slide.cfsn-active{transition:none}}


/* v0.1.7 — simplified ~40px announcement strip */
.cfsn-ticker-inner{min-height:40px;padding:4px 44px 4px 16px}
.cfsn-ticker-main{gap:0}
.cfsn-ticker .cfsn-content{gap:10px;line-height:1.2}
.cfsn-ticker .cfsn-headline{font-size:14px;line-height:1.2}
.cfsn-ticker .cfsn-message{font-size:13px;line-height:1.2}
.cfsn-ticker .cfsn-cta,
.cfsn-ticker.cfsn-theme-light .cfsn-cta{margin:0;padding:0;background:transparent!important;color:#1D386D!important;font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.02em;text-transform:none;text-decoration:underline;text-underline-offset:2px}
.cfsn-ticker .cfsn-cta:hover,
.cfsn-ticker .cfsn-cta:focus,
.cfsn-ticker.cfsn-theme-light .cfsn-cta:hover,
.cfsn-ticker.cfsn-theme-light .cfsn-cta:focus{background:transparent!important;color:#009C90!important}
.cfsn-ticker-controls{display:none!important}
.cfsn-ticker-slide[data-cfsn-url]:not([data-cfsn-url=""]){cursor:pointer}
.cfsn-ticker-slide[data-cfsn-url]:not([data-cfsn-url=""]):focus{outline:1px dashed #1D386D;outline-offset:3px}
@media(max-width:690px){.cfsn-ticker-inner{min-height:40px;padding:5px 42px 5px 12px}.cfsn-ticker .cfsn-content{gap:6px;justify-content:center}.cfsn-ticker-slides{max-width:100%}}


/* v0.1.8 — Casa Fresca dark scheme + reliable ticker dismissal */
.cfsn-theme-dark{
  --cfsn-bg:#1D386D;
  --cfsn-text:#FFF1E2;
  --cfsn-accent:#FFF1E2;
}
.cfsn-ticker.cfsn-theme-dark{background:#1D386D;color:#FFF1E2;box-shadow:0 1px 0 rgba(255,241,226,.14)}
.cfsn-ticker.cfsn-theme-dark .cfsn-headline,
.cfsn-ticker.cfsn-theme-dark .cfsn-message{color:#FFF1E2}
.cfsn-ticker.cfsn-theme-dark .cfsn-cta{background:transparent!important;color:#FFF1E2!important}
.cfsn-ticker.cfsn-theme-dark .cfsn-cta:hover,
.cfsn-ticker.cfsn-theme-dark .cfsn-cta:focus{background:transparent!important;color:#009C90!important}
.cfsn-ticker.cfsn-theme-dark .cfsn-close{color:#FFF1E2;z-index:10}
.cfsn-ticker.cfsn-theme-dark .cfsn-close:hover,
.cfsn-ticker.cfsn-theme-dark .cfsn-close:focus{color:#009C90}
.cfsn-ticker.cfsn-theme-dark .cfsn-ticker-slide:focus{outline-color:#FFF1E2}
.cfsn-ticker-group .cfsn-close{z-index:10;pointer-events:auto}


/* v0.1.9 — Casa Fresca editorial split popup */
.cfsn-popup .cfsn-backdrop{background:rgba(20,43,62,.76);backdrop-filter:blur(1.5px)}
.cfsn-popup .cfsn-modal{width:min(900px,calc(100vw - 48px));max-height:min(620px,calc(100vh - 48px));overflow:hidden;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--cfsn-bg);color:var(--cfsn-text);box-shadow:0 28px 80px rgba(0,0,0,.28)}
.cfsn-popup .cfsn-image{min-height:430px;height:100%;overflow:hidden}
.cfsn-popup .cfsn-image img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;display:block}
.cfsn-popup .cfsn-content{padding:58px 58px 52px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.cfsn-popup .cfsn-headline{margin:0 0 18px;color:inherit;font-size:34px;line-height:1.08;font-weight:500;letter-spacing:-.02em}
.cfsn-popup .cfsn-message{margin:0;color:inherit;font-size:15px;line-height:1.65}
.cfsn-popup .cfsn-message p{margin:0 0 12px}
.cfsn-popup .cfsn-message p:last-child{margin-bottom:0}
.cfsn-popup .cfsn-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:28px;min-width:160px;padding:13px 24px;border:1px solid #009C90;background:#009C90!important;color:#fff!important;font-size:11px;line-height:1.2;font-weight:700;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.cfsn-popup .cfsn-cta:hover,.cfsn-popup .cfsn-cta:focus{background:#1D386D!important;border-color:#1D386D;color:#FFF1E2!important}
.cfsn-popup.cfsn-theme-dark .cfsn-cta:hover,.cfsn-popup.cfsn-theme-dark .cfsn-cta:focus{background:#FFF1E2!important;border-color:#FFF1E2;color:#1D386D!important}
.cfsn-popup .cfsn-close{right:14px;top:12px;padding:6px 9px;color:var(--cfsn-text);font:300 25px/1 Arial,sans-serif;opacity:.8;transition:color .2s ease,opacity .2s ease}
.cfsn-popup .cfsn-close:hover,.cfsn-popup .cfsn-close:focus{color:#009C90;opacity:1}
/* If a popup has no image, let the content use the full modal width. */
.cfsn-popup .cfsn-modal:not(:has(.cfsn-image)){grid-template-columns:1fr;width:min(580px,calc(100vw - 48px))}
.cfsn-popup .cfsn-modal:not(:has(.cfsn-image)) .cfsn-content{padding-right:64px}
@media(max-width:760px){
 .cfsn-popup{padding:14px}
 .cfsn-popup .cfsn-modal{width:min(540px,100%);max-height:calc(100vh - 28px);overflow:auto;grid-template-columns:1fr;grid-template-rows:auto auto}
 .cfsn-popup .cfsn-image{height:clamp(190px,34vh,280px);min-height:0}
 .cfsn-popup .cfsn-content{padding:32px 28px 34px;justify-content:flex-start}
 .cfsn-popup .cfsn-headline{font-size:28px;margin-bottom:14px}
 .cfsn-popup .cfsn-message{font-size:14px;line-height:1.55}
 .cfsn-popup .cfsn-cta{margin-top:22px}
 .cfsn-popup .cfsn-close{top:9px;right:9px;width:34px;height:34px;padding:0;background:var(--cfsn-bg);border-radius:50%;box-shadow:0 1px 8px rgba(0,0,0,.12)}
}


/* v0.2.0 — enforce true side-by-side desktop popup */
@media (min-width:761px){
  .cfsn-popup .cfsn-modal{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-rows:minmax(430px,auto)!important;
    width:min(940px,calc(100vw - 64px))!important;
    max-width:940px!important;
    min-height:430px;
    overflow:hidden!important;
    align-items:stretch;
  }
  .cfsn-popup .cfsn-image{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    height:100%!important;
    min-height:430px!important;
    margin:0!important;
    padding:0!important;
  }
  .cfsn-popup .cfsn-image img{
    width:100%!important;
    height:100%!important;
    min-height:430px!important;
    max-height:none!important;
    object-fit:cover!important;
    display:block!important;
  }
  .cfsn-popup .cfsn-content{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:54px 56px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
  }
  .cfsn-popup .cfsn-modal:not(:has(.cfsn-image)){
    grid-template-columns:1fr!important;
    width:min(580px,calc(100vw - 64px))!important;
    min-height:0;
  }
  .cfsn-popup .cfsn-modal:not(:has(.cfsn-image)) .cfsn-content{grid-column:1!important;}
}

/* v0.2.1 — bolder Casa Fresca popup personality */
.cfsn-popup .cfsn-modal{isolation:isolate}
.cfsn-popup .cfsn-content{position:relative;z-index:2}
.cfsn-popup .cfsn-content:before{
  content:"";position:absolute;z-index:-1;width:210px;height:210px;border-radius:50%;
  right:-112px;bottom:-105px;background:#009C90;opacity:.13;pointer-events:none
}
.cfsn-popup .cfsn-content:after{
  content:"";position:absolute;z-index:-1;width:88px;height:88px;border-radius:50%;
  right:-18px;top:-30px;border:18px solid #009C90;opacity:.10;pointer-events:none
}
.cfsn-popup .cfsn-eyebrow{
  margin:0 0 10px;color:#009C90;font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:28px;line-height:1;font-weight:400;transform:rotate(-2deg)
}
.cfsn-popup .cfsn-headline{font-size:38px!important;line-height:1.02!important;font-weight:650!important;letter-spacing:-.035em!important;max-width:390px}
.cfsn-popup .cfsn-message{max-width:390px}
.cfsn-popup .cfsn-cta{
  min-width:0!important;padding:14px 22px!important;background:#1D386D!important;border-color:#1D386D!important;
  color:#FFF1E2!important;gap:14px;box-shadow:5px 5px 0 rgba(0,156,144,.22);
  transform:translate(0,0);transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease!important
}
.cfsn-popup .cfsn-cta:after{content:"→";font-size:16px;line-height:1;transition:transform .2s ease}
.cfsn-popup .cfsn-cta:hover,.cfsn-popup .cfsn-cta:focus{background:#009C90!important;border-color:#009C90!important;color:#fff!important;transform:translate(2px,2px);box-shadow:3px 3px 0 rgba(29,56,109,.20)}
.cfsn-popup .cfsn-cta:hover:after,.cfsn-popup .cfsn-cta:focus:after{transform:translateX(3px)}
.cfsn-popup.cfsn-theme-dark .cfsn-cta{background:#009C90!important;border-color:#009C90!important;color:#fff!important;box-shadow:5px 5px 0 rgba(255,241,226,.18)}
.cfsn-popup.cfsn-theme-dark .cfsn-cta:hover,.cfsn-popup.cfsn-theme-dark .cfsn-cta:focus{background:#FFF1E2!important;border-color:#FFF1E2!important;color:#1D386D!important}
@media (min-width:761px){
  .cfsn-popup .cfsn-content{padding-left:64px!important}
  .cfsn-popup .cfsn-image{position:relative;z-index:1}
  .cfsn-popup .cfsn-image:after{content:"";position:absolute;top:0;right:-1px;width:24px;height:100%;background:var(--cfsn-bg);clip-path:polygon(100% 0,100% 100%,30% 100%,70% 76%,35% 52%,72% 27%,25% 0)}
}
@media(max-width:760px){
  .cfsn-popup .cfsn-eyebrow{font-size:24px;margin-bottom:8px}
  .cfsn-popup .cfsn-headline{font-size:30px!important}
  .cfsn-popup .cfsn-content:before{width:150px;height:150px;right:-85px;bottom:-80px}
  .cfsn-popup .cfsn-content:after{display:none}
}

/* v0.2.2 — refined light popup gradient + simplified CTA */
.cfsn-popup.cfsn-theme-light .cfsn-content{
  background:linear-gradient(to top,#D8EEEA 0%,#E8F2EC 34%,#FFF1E2 100%)!important;
}
.cfsn-popup.cfsn-theme-light .cfsn-content:before,
.cfsn-popup.cfsn-theme-light .cfsn-content:after{display:none!important}
.cfsn-popup .cfsn-cta,
.cfsn-popup.cfsn-theme-dark .cfsn-cta{
  box-shadow:none!important;
  transform:none!important;
}
.cfsn-popup .cfsn-cta:hover,
.cfsn-popup .cfsn-cta:focus,
.cfsn-popup.cfsn-theme-dark .cfsn-cta:hover,
.cfsn-popup.cfsn-theme-dark .cfsn-cta:focus{
  box-shadow:none!important;
  transform:none!important;
}
@media (min-width:761px){
  .cfsn-popup.cfsn-theme-light .cfsn-image:after{
    background:linear-gradient(to top,#D8EEEA 0%,#E8F2EC 34%,#FFF1E2 100%)!important;
  }
}


/* v0.2.4 — ensure the native hidden attribute actually removes popups.
   .cfsn-popup declares display:flex, which otherwise overrides the browser's [hidden] display:none rule after JS dismisses the modal. */
.cfsn-popup[hidden]{display:none!important;}


/* v0.2.5 — immediate first-paint notices / CLS protection.
   Eligible top tickers reserve their intended desktop height before JS runs;
   JS still measures the real responsive height and updates the CSS variable. */
body.cfsn-has-top-ticker-server #header-outer{margin-top:40px!important}
body.cfsn-has-top-ticker-server #ajax-content-wrap{padding-top:40px}
body.cfsn-has-top-ticker-server.cfsn-has-top-ticker #header-outer{margin-top:var(--cfsn-ticker-height)!important}
body.cfsn-has-top-ticker-server.cfsn-has-top-ticker #ajax-content-wrap{padding-top:var(--cfsn-ticker-height)}
