.site-announcement{padding:0;border:1px solid #d6e7d8;border-radius:28px;width:min(880px,calc(100vw - 40px));max-width:none;max-height:90dvh;color:#142e1b;background:#fff;box-shadow:0 35px 120px #03290b55;overflow:auto;overscroll-behavior:contain}
.site-announcement::backdrop{background:#08280f99;backdrop-filter:blur(9px)}
.announcement-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:#fff;border-bottom:1px solid #e6eee6}
.announcement-top>span{font-size:21px;font-weight:800;letter-spacing:.06em;color:#149119;display:flex;align-items:center;gap:16px}
.announcement-top small{font-size:10px;letter-spacing:.15em;color:#46714e;font-weight:700;border-left:1px solid #d6e7d8;padding-left:16px}
.announcement-top button{width:44px;height:44px;border-radius:50%;border:0;background:#eff8ef;color:#154821;font-size:28px;cursor:pointer}
.announcement-top button:hover{background:#149119;color:white}
.announcement-media{position:relative;width:100%;background:#eff8ef;min-height:80px;overflow:hidden}
.announcement-media>img{display:block;width:100%;height:auto;max-height:min(360px,32dvh);object-fit:contain}
.announcement-media.has-video{aspect-ratio:16/9;background:radial-gradient(ellipse at 75% 10%,#46b34799,transparent 65%),#103a20;min-height:0}
.announcement-media.has-video>img{height:100%;max-height:none;object-fit:cover;opacity:.6}
.announcement-video-cover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:20px;text-align:center;color:white}
.announcement-video-cover button{display:flex;align-items:center;gap:14px;border:1px solid #ffffff88;background:#ffffffee;border-radius:60px;padding:16px 24px;font-size:17px;font-weight:700;color:#154821;cursor:pointer}
.announcement-video-cover button span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#149119;color:#fff}
.announcement-video-cover small{font-size:13px;color:#fff}
.announcement-media iframe{display:block;width:100%;height:100%;border:0}
.announcement-copy{padding:30px 40px 38px}
.announcement-copy h2{font-size:clamp(28px,3.5vw,46px);line-height:1.12;letter-spacing:-.04em;margin:0 0 20px;color:#142e1b;overflow-wrap:anywhere}
.announcement-copy p{white-space:pre-line;font-size:19px;line-height:1.6;color:#46654d;margin:0 0 26px;overflow-wrap:anywhere}
.announcement-copy .btn{gap:24px;max-width:100%;white-space:normal}
.announcement-preview-label{display:block;font-size:11px;letter-spacing:.12em;font-weight:700;color:#518058;margin-bottom:16px}
.announcement-bottom{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-top:1px solid #dfeddf;background:#f4faf4}
.announcement-bottom[hidden]{display:none}
.announcement-bottom button{width:48px;height:48px;font-size:24px;border-radius:50%;border:1px solid #cee3ce;background:white;color:#127817;cursor:pointer}
.announcement-bottom button:hover{background:#149119;color:white}
#announcement-count{font-size:15px;font-weight:700;letter-spacing:.1em;color:#416148}
body.announcement-open{overflow:hidden}
body.announcement-open .contact-widget,body.announcement-open .contact-fab{visibility:hidden}
.popup-admin-intro{max-width:850px;line-height:1.7;color:#496450;margin-bottom:28px}
.popup-table-media,.popup-table-date{display:block;line-height:1.6}
.popup-table-media{font-size:12px;color:#67806c;font-weight:400;margin-top:5px}
.popup-table-date{font-size:13px;white-space:nowrap}
#popup-form .popup-enabled{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;background:#eff8ef}
#popup-form .popup-enabled input{width:20px;height:20px;accent-color:#149119}
.popup-field-note{font-size:13px;color:#68806b;margin-top:-10px}
.popup-image-fields{display:grid;gap:14px;padding:18px;border-radius:16px;border:1px solid #dbe8dc}
.popup-image-fields[hidden],.popup-video-fields[hidden]{display:none}
.popup-editor-image{width:100%;max-width:420px;max-height:180px;object-fit:contain;border-radius:10px;background:#f3f8f3}
.popup-editor-image[hidden]{display:none}
#popup-form .form-actions{flex-wrap:wrap;gap:10px}
@media(max-width:600px){.site-announcement{width:calc(100vw - 24px);max-height:92dvh;border-radius:20px}.announcement-top{padding:10px 16px}.announcement-top>span{gap:10px;font-size:19px}.announcement-top small{padding-left:10px;font-size:9px}.announcement-copy{padding:25px 23px 30px}.announcement-copy p{font-size:17px}.announcement-bottom{padding:12px 20px}.announcement-video-cover button{font-size:14px;padding:10px 16px;gap:10px}.announcement-video-cover small{font-size:11px}.announcement-media>img{max-height:min(270px,28dvh)}}
@media(prefers-reduced-motion:no-preference){.site-announcement[open]{animation:announcement-enter .3s ease-out}@keyframes announcement-enter{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}
