
.privacy-notice-page { display:block; width:100%; padding:150px var(--space-24) var(--space-80); color:var(--gray-800); }
.privacy-notice-wrap { max-width:800px; margin:auto; }
.privacy-notice-page h1 { font-size:34px; line-height:1.4; margin-bottom:var(--space-24); word-break:keep-all; }
.privacy-notice-content { text-align:left; color:var(--gray-700); }
.privacy-notice-content section { display:block; width:auto; margin-top:28px; padding:0; }
.privacy-notice-content h2 { font-size:18px; font-weight:600; line-height:1.5; margin:0 0 10px; color:var(--gray-800); }
.privacy-notice-content p,.privacy-notice-content dt,.privacy-notice-content dd { font-size:15px; line-height:1.75; word-break:keep-all; overflow-wrap:anywhere; color:var(--gray-600); }
.privacy-notice-content p { margin:var(--space-8) 0 0; }
.privacy-notice-content .privacy-important { color:var(--gray-800); font-size:18px; font-weight:700; }
.privacy-notice-content dl { margin:var(--space-12) 0; }
.privacy-notice-content dl div { display:flex; gap:var(--space-20); padding:10px 0; border-bottom:1px solid var(--gray-200); }
.privacy-notice-content dt { min-width:36px; font-weight:600; }
.privacy-notice-content dd { margin:0; }
.privacy-notice-content a { color:var(--action-primary); text-decoration:underline; text-underline-offset:3px; }
.privacy-notice-content .privacy-scope { font-size:13px; margin-top:28px; color:var(--gray-500); }
#analytics-choice-button { min-height:44px; margin-top:10px; padding:10px 17px; border:1px solid var(--action-primary); border-radius:var(--radius-control); background:var(--action-primary); color:var(--gray-white); font-size:14px; font-weight:600; cursor:pointer; }
#analytics-choice-button:disabled { opacity:.55; cursor:wait; }
#analytics-choice-button:focus-visible { outline:2px solid var(--focus-ring); outline-offset:3px; }
.privacy-notice-back { display:inline-flex; align-items:center; min-height:48px; margin-top:var(--space-32); color:var(--action-primary); }
#privacyNoticeDialog { inset:0; width:calc(100% - 48px); max-width:720px; max-height:85vh; max-height:85dvh; margin:auto; padding:0; border:0; border-radius:var(--radius-card); background:var(--gray-white); color:var(--gray-800); overflow:auto; }
#privacyNoticeDialog::backdrop { background:rgba(0,0,0,.65); }
.privacy-dialog-heading { position:sticky; top:0; display:flex; align-items:center; justify-content:space-between; gap:var(--space-16); background:var(--gray-white); padding:var(--space-20) 28px; border-bottom:1px solid var(--gray-200); z-index:1; }
.privacy-dialog-heading h2 { font-size:21px; line-height:1.4; margin:0; color:var(--gray-800); word-break:keep-all; }
.privacy-dialog-close { min-width:48px; min-height:44px; color:var(--gray-600); border:1px solid var(--gray-200); border-radius:var(--radius-control); background:var(--gray-white); font-size:14px; flex-shrink:0; }
#privacyNoticeDialog .privacy-notice-content { padding:0 28px 28px; }
#privacyNoticeDialog .privacy-intro { margin-top:var(--space-24); }
.contact-page .privacy-notice-open { display:inline-flex; align-items:center; min-height:44px; color:var(--action-primary); font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.privacy-dialog-close:focus-visible,.privacy-notice-open:focus-visible { outline:2px solid var(--action-primary); outline-offset:3px; }
body.privacy-dialog-open { overflow:hidden; }
@media(max-width:767px) {
 .privacy-notice-page { padding:110px var(--space-20) 56px; }
 .privacy-notice-page h1 { font-size:27px; }
 #privacyNoticeDialog { width:calc(100% - 24px); max-height:90vh; max-height:90dvh; }
 .privacy-dialog-heading { padding:var(--space-16) var(--space-20); gap:var(--space-12); }
 .privacy-dialog-heading h2 { font-size:19px; }
 #privacyNoticeDialog .privacy-notice-content { padding:0 var(--space-20) var(--space-24); }
 .privacy-notice-content p,.privacy-notice-content dt,.privacy-notice-content dd { font-size:14px; }
}

#analytics-choice-button:not(:disabled):hover { background:var(--action-primary-hover); border-color:var(--action-primary-hover); }
