/* Functional states use the existing fonts, colors and buttons. */
[hidden]{display:none!important}
.zform [aria-invalid="true"]{outline:2px solid var(--red);outline-offset:2px}
.zform button:disabled{opacity:.65;cursor:default}
.zform .form-note{overflow-wrap:anywhere}
.zform [data-challenge]{margin-block:1rem;max-width:100%}
.inquiry-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.site-consent{position:fixed;z-index:1001;bottom:1rem;left:var(--pad,1.5rem);right:var(--pad,1.5rem);max-width:34rem;background:var(--paper,#fff);color:var(--navy);border:1px solid currentColor;padding:1.5rem;font-family:var(--sans);font-size:1rem}
.site-consent p{margin:0 0 1.25rem;line-height:1.5;text-wrap:pretty}
.site-consent a,.consent-decline{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.site-consent a{white-space:nowrap}
.consent-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.consent-decline{font:inherit;font-size:.95rem;background:none;border:0;padding:.75rem 0;margin-left:auto;cursor:pointer}
.cookie-settings{font:inherit;color:inherit;background:none;border:0;text-decoration:underline;cursor:pointer;margin-left:1rem;padding:0}
/* Options: a sheet from the right, in the contact panel's language (v18.css), above everything. */
.consent-panel{position:fixed;inset:0;z-index:1100;visibility:hidden;transition:visibility 0s .42s}
.consent-panel.open{visibility:visible;transition:none}
.consent-scrim{position:absolute;inset:0;background:rgba(10,22,46,.42);opacity:0;transition:opacity .35s ease}
.consent-panel.open .consent-scrim{opacity:1}
.consent-sheet{position:absolute;top:0;right:0;bottom:0;width:min(26rem,100%);overflow-y:auto;overscroll-behavior:contain;background:#fff;color:var(--navy);padding:2.5rem 1.75rem 2rem;font-family:var(--sans);font-size:1rem;translate:100% 0;transition:translate .42s cubic-bezier(.22,.78,.27,1),box-shadow .42s ease}
.consent-panel.open .consent-sheet{translate:0 0;box-shadow:-24px 0 60px rgba(2,10,35,.28)}
.consent-close{position:absolute;top:.7rem;right:1rem;width:38px;height:38px;border:0;background:none;font-size:2rem;line-height:1;color:var(--muted);cursor:pointer}
.consent-close:hover{color:var(--blue)}
.consent-title{font-family:var(--serif);font-weight:300;font-size:1.9rem;line-height:1.1;color:var(--blue);margin:0 0 .75rem}
.consent-intro{margin:0 0 1.5rem;line-height:1.5;color:var(--muted);text-wrap:pretty}
.consent-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.4rem 1rem;padding:1.1rem 0;border-top:1px solid var(--line)}
.consent-row p{grid-column:1/-1;margin:0;font-size:.9rem;line-height:1.5;color:var(--muted)}
.consent-name{font-weight:500}
label.consent-name{cursor:pointer}
.consent-always{font-size:.85rem;color:var(--blue)}
/* A square switch: the site has no round corners. The knob is a background, so it moves in every browser. */
.consent-row input{appearance:none;box-sizing:border-box;width:2.75rem;height:1.5rem;margin:0;border:1.5px solid var(--blue);cursor:pointer;
  background:#fff linear-gradient(var(--blue),var(--blue)) no-repeat 3px 50%/15px 15px;transition:background-color .2s ease,background-position .2s ease}
.consent-row input:checked{background-color:var(--blue);background-image:linear-gradient(#fff,#fff);background-position:calc(100% - 3px) 50%}
.consent-sheet .consent-actions{padding-top:1.5rem;border-top:1px solid var(--line)}
.consent-sheet .btn{flex:1 1 auto}
@media(prefers-reduced-motion:reduce){.consent-panel,.consent-scrim,.consent-sheet,.consent-row input{transition:none}}
@media(max-width:760px){.site-consent{bottom:5.5rem;max-height:70vh;overflow:auto;padding:1.25rem}.site-consent .btn{flex:1}.consent-decline{flex-basis:100%;margin:0;padding:.5rem 0}.cookie-settings{margin-left:0}}

/* Keep a long archived Bulgarian heading inside the existing mobile column. */
.blog-hero h1[lang="bg"],.p21-article-body [lang="bg"]{overflow-wrap:anywhere}
/* Reserve the established action-column width while the optional portal loads. */
@media(min-width:1280px){.site-header .nav-actions{min-width:var(--brand-w);justify-content:flex-end}}

.video-permission{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem;background:var(--paper);color:var(--navy);text-align:center}
.video-permission p{margin:0;font-size:1rem;line-height:1.4}
