.advertisement { width: min(100%, 728px); margin: 40px auto 0; }
.advertisement[hidden] { display: none !important; }
.advertisement-label { margin-bottom: 10px; color: #a9b39f; text-align: center; font-size: 11px; letter-spacing: .08em; }
#ad-slot { width: 100%; min-width: 0; }
.advertisement-preview { min-height: 100px; padding: 20px 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; border: 1px dashed #586655; border-radius: 8px; background: #15231f; }
.advertisement-preview strong { color: #c6cdbf; font-size: 13px; font-weight: 500; }
.advertisement-preview span { color: #a9b39f; font-size: 11px; line-height: 1.5; }
footer { align-items: center; flex-wrap: wrap; }
.privacy-link { display: inline-flex; align-items: center; min-height: 44px; color: #bec8b5; text-decoration: underline; text-underline-offset: 4px; }
.privacy-link:hover { color: var(--gold); }
.privacy-link:focus-visible, .policy-page a:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
.policy-page { width: min(100%, 740px); margin: 0 auto; padding: 48px 24px 64px; }
.policy-page h1 { font: 500 clamp(34px, 7vw, 48px)/1.2 var(--serif); margin: 26px 0 12px; }
.policy-page h2 { font: 500 25px/1.3 var(--serif); margin: 32px 0 10px; }
.policy-page p { color: #b9c4b2; font-size: 15px; line-height: 1.8; margin: 10px 0; }
.policy-page .policy-date { font-size: 12px; color: #a1af9a; }
.policy-page a { color: var(--gold); text-decoration: underline; text-underline-offset: 4px; }
.policy-back { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.policy-page .policy-return { margin-top: 36px; }
@media (max-width: 760px) { .advertisement { margin-top: 32px; } }
