.contact-notice:not([open]) { display: none; }
.contact-notice-open { overflow: hidden; }
.contact-notice-open .cookie-consent, .contact-notice-open .cookie-settings { visibility: hidden; }
.contact-notice {
    box-sizing: border-box;
    width: min(600px, calc(100% - 32px));
    max-height: calc(100dvh - 32px);
    margin: auto;
    padding: 32px;
    overflow-y: auto;
    border: 1px solid #dce3ea;
    border-top: 5px solid #ef741b;
    border-radius: 18px;
    background: #fff;
    color: #10233d;
    box-shadow: 0 24px 80px #071a2c55;
    font: inherit;
}
.contact-notice::backdrop { background: #071a2cb3; }
.contact-notice h2 { margin: 0 36px 20px 0; font-size: clamp(1.35rem, 4vw, 1.8rem); line-height: 1.25; }
.contact-notice h2:focus { outline: none; }
.contact-notice p { margin: 0 0 18px; line-height: 1.6; }
.contact-notice__timing { padding: 14px 16px; border-radius: 10px; background: #eaf2fa; }
.contact-notice__close { position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #f3f6f9; color: #10233d; font-size: 28px; cursor: pointer; }
.contact-notice__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.contact-notice__actions a { flex: 1; padding: 12px 18px; border-radius: 9px; background: #10233d; color: #fff; text-align: center; font-weight: 700; text-decoration: none; }
.contact-notice__actions a:first-child { background: #c65000; }
.contact-notice__dismiss { display: block; margin: 16px auto 0; min-height: 44px; padding: 8px 24px; border: 1px solid #dce3ea; border-radius: 9px; background: #fff; color: #10233d; font: inherit; cursor: pointer; }
.contact-notice a:focus-visible, .contact-notice button:focus-visible, .contact-notice-inline a:focus-visible { outline: 3px solid #2e78c7; outline-offset: 3px; }
.contact-notice-inline { max-width: 520px; padding: 14px 16px; border-left: 3px solid #ef741b; background: #eaf2fa; border-radius: 0 8px 8px 0; color: #10233d; font-size: .9rem; line-height: 1.55; }
.contact-notice-inline strong { display: block; }
.contact-notice-inline__links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 4px 0; }
.contact-notice-inline__links a { display: inline-block; padding: 6px 0; color: #10233d; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.contact-notice-inline { font-weight: 400; }
.contact-notice-inline p, .contact-details .contact-notice-inline p { margin: 0; color: #10233d; font-size: inherit; }
.contact-notice-inline a:hover { color: #164f89; }
@media (max-width: 480px) {
    .contact-notice { padding: 24px 20px; }
    .contact-notice__actions { flex-direction: column; }
}
