/* Loaded after all legacy themes. Consent and maps share no sizing rules. */
.branch-yandex-map.external-consent-placeholder.is-loaded,
.yandex-map.external-consent-placeholder.is-loaded { display: block; position: relative; padding: 0; align-content: normal; }
.branch-yandex-map.external-consent-placeholder.is-loaded > iframe,
.yandex-map.external-consent-placeholder.is-loaded > iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 100%; border: 0; margin: 0; }
.branch-yandex-map.external-consent-placeholder { min-height: 260px; box-sizing: border-box; }
body.privacy-is-open { overflow: hidden; }
.privacy-overlay { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); background: rgba(9, 24, 36, .72); backdrop-filter: blur(4px); overflow: auto; overscroll-behavior: contain; box-sizing: border-box; }
.privacy-overlay[hidden] { display: none !important; }
.privacy-card { box-sizing: border-box; width: min(100%, 700px); max-height: calc(100dvh - 32px); max-height: min(calc(100dvh - 32px), calc(var(--visual-height, 100dvh) - 32px)); overflow-y: auto; overscroll-behavior: contain; background: #fff; color: #18384b; padding: clamp(18px, 3vw, 32px); border-radius: 20px; box-shadow: 0 28px 90px rgba(0, 0, 0, .25); overflow-wrap: anywhere; }
.privacy-card h2 { margin: 0 0 12px; line-height: 1.2; font-size: clamp(1.35rem, 4vw, 1.9rem); }
.privacy-card p, .privacy-document p { font-size: .95rem; line-height: 1.55; }
.privacy-options { display: grid; gap: 10px; margin: 18px 0; }
.privacy-options label { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid #cdd9e1; border-radius: 12px; cursor: pointer; text-align: left; }
.privacy-options input[type=checkbox] { width: 22px; height: 22px; min-width: 22px; margin: 2px 0 0; accent-color: #0b5d8b; }
.privacy-options span { min-width: 0; }
.privacy-options strong, .privacy-options small { display: block; }
.privacy-options small { margin-top: 5px; color: #425c6a; line-height: 1.45; font-size: .84rem; }
.privacy-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.privacy-actions .button { min-height: 48px; white-space: normal; width: 100%; min-width: 0; font-size: .92rem; }
.privacy-actions .button:last-child { grid-column: 1 / -1; }
.privacy-legal-links a { text-decoration: underline; }
.privacy-document { max-width: 1000px; padding-top: 40px; padding-bottom: 50px; }
.privacy-noscript { padding: 20px; }
[data-privacy-status]:empty { display: none; }
@media(max-width: 380px) { .privacy-actions { grid-template-columns: 1fr; } .privacy-options label { padding: 10px; } }
@media(prefers-reduced-motion: reduce) { .privacy-overlay { backdrop-filter: none; } }
@media print { .privacy-overlay { display: none !important; } }
/* Safe editorial components: plain HTML, local media, no embedded scripts. */
.html-content .ai-callout, .content-article .ai-callout { border-left: 4px solid var(--brand, #0b5d8b); background: #eef6fa; padding: 20px 24px; margin: 24px 0; border-radius: 0 14px 14px 0; }
.html-content .ai-steps, .content-article .ai-steps { padding: 20px 28px 20px 44px; border: 1px solid #d5e2e9; border-radius: 16px; }
.html-content .ai-cover, .content-article .ai-cover { margin: 24px 0; }
.ai-cover img { display: block; width: 100%; max-height: 480px; object-fit: cover; border-radius: 16px; }
.ai-cover figcaption { font-size: .9rem; line-height: 1.5; color: #526878; margin: 8px 0; }
.ai-checklist li { margin: 10px 0; }

/* Administration: native forms remain usable without scripts. */
.pub-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.pub-form { display:grid; gap:16px; margin:18px 0; min-width:0; }
.pub-form label { display:grid; gap:7px; min-width:0; font-weight:600; }
.pub-form input:not([type=checkbox]),.pub-form select,.pub-form textarea { width:100%; max-width:100%; min-width:0; padding:11px 12px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; color:#17263c; }
.pub-form small,.pub-help,.pub-delivery small { color:#52627a; font-size:.88rem; font-weight:400; line-height:1.6; }
.pub-form fieldset { border:1px solid #dce4ed; border-radius:12px; padding:14px; min-width:0; }
.pub-form .pub-check,.pub-check { display:flex; flex-direction:row; gap:10px; align-items:flex-start; font-weight:400; margin:8px 0; }
.pub-check input { flex:0 0 auto; margin-top:5px; }
.pub-help { padding:14px; border-radius:12px; background:#f1f5f9; overflow-wrap:anywhere; }
.pub-channel,.pub-delivery { padding:18px; border:1px solid #dce4ed; border-radius:14px; min-width:0; overflow-wrap:anywhere; }
.pub-channel header,.pub-delivery header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.pub-channel h3 { margin:0; }
.pub-channel details { margin:15px 0; }
.pub-badge { display:inline-block; padding:5px 10px; background:#eaf2fa; border-radius:16px; color:#24496b; font-size:.8rem; }
.pub-deliveries { display:grid; gap:12px; }.pub-actions { display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px; }
.quota-card { border:1px solid #dce4ed; border-radius:12px; padding:15px; margin:14px 0; background:#fff; min-width:0; overflow-wrap:anywhere; }
.quota-card h4 { margin:0 0 10px; }.quota-meters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.quota-meters div { padding:10px;background:#f5f8fc;border-radius:10px; }.quota-meters strong { display:block; font-size:1.3rem; }
.quota-card small { font-size:.8rem; color:#52627a; }.quota-card details { margin-top:12px; }.quota-card summary { cursor:pointer; }
.pub-form [hidden], [data-publishing-channel-form] [hidden] { display:none!important; }
@media(max-width:900px){.pub-grid {grid-template-columns:minmax(0,1fr);} }
@media(max-width:460px){.quota-meters{grid-template-columns:1fr;}.pub-channel,.pub-delivery{padding:12px;}.pub-actions .button{width:100%;}.pub-form{gap:12px;}}

/* Keep refusal and acceptance visible even on a short mobile viewport. */
.privacy-card { display:flex; flex-direction:column; overflow:hidden; }
.privacy-card > h2,.privacy-card > p { flex-shrink:0; }
.privacy-card > form { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.privacy-card .privacy-scroll { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-right:4px; }
.privacy-card .privacy-actions { flex-shrink:0; padding-top:12px; border-top:1px solid #e1e7ec; background:#fff; }
.privacy-card [data-privacy-status] { flex-shrink:0; margin-bottom:0; }
.privacy-options label { flex-direction:row; }
.privacy-options small { font-weight:400; }
@media(max-height:450px){.privacy-card{padding:14px 20px;}.privacy-card > p{margin:4px 0;font-size:.85rem;}.privacy-card h2{font-size:1.2rem;margin-bottom:6px;}.privacy-actions .button{min-height:42px;padding:8px;}.privacy-card .privacy-actions{padding-top:8px;gap:6px;}}
