.visitor-notice{box-sizing:border-box;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #d8e1da;border-radius:18px;background:#fafbf8;color:#293c32;box-shadow:0 24px 80px #10271d40;font-family:inherit;overflow:auto}
.visitor-notice::backdrop{background:#10271d88;backdrop-filter:blur(3px)}
.visitor-notice header{padding:24px 28px 0}.visitor-notice h2{margin:0;font-size:22px;line-height:1.4}
.visitor-notice-content{padding:4px 28px 0;font-size:15px;line-height:1.85;overflow-wrap:anywhere}
.visitor-notice-content ul{margin:18px 0;padding-left:22px}.visitor-notice-content li{margin:14px 0}.visitor-notice-content strong{color:#245d43}
.visitor-notice-total{padding:12px 16px;border-radius:10px;background:#e7f0e9;font-weight:700}
.visitor-notice form{position:sticky;bottom:0;margin:0;padding:12px 28px 22px;background:#fafbf8;text-align:right}
.visitor-notice button{border:0;border-radius:9px;padding:11px 24px;background:#257b58;color:#fff;font:inherit;cursor:pointer}.visitor-notice button:hover{background:#1b6245}.visitor-notice button:focus-visible{outline:3px solid #8eb9a1;outline-offset:3px}
@media(max-width:480px){.visitor-notice header{padding:20px 20px 0}.visitor-notice-content{padding:4px 20px 0;font-size:14px}.visitor-notice form{padding:10px 20px 18px}.visitor-notice h2{font-size:20px}}
