/* Version 1.0.4 - Complianz only; existing page layout stays owned by Elementor. */
.cmplz-cookiebanner.cmplz-show{bottom:151px!important}
.cmplz-cookiebanner,.cmplz-cookiebanner .cmplz-btn,#cmplz-manage-consent .cmplz-manage-consent{font-family:Manrope,sans-serif}
.cmplz-cookiebanner .cmplz-links ul{list-style:none;padding:0;margin:0}
.cmplz-cookiebanner .cmplz-links li{padding:0}
.cmplz-cookiebanner .cmplz-links li::before{content:none!important;display:none!important}
.cmplz-cookiebanner .cmplz-links li:has(>a.cmplz-hidden),.cmplz-cookiebanner .cmplz-documents li:has(>a.impressum){display:none!important}
.cmplz-cookiebanner .cmplz-links a{text-decoration:underline}
/* Native revoke button remains keyboard/touch accessible; only its edge rests on screen. */
#cmplz-manage-consent .cmplz-manage-consent{
 left:16px!important;right:auto!important;bottom:0!important;top:auto!important;
 width:max-content!important;min-width:100px;max-width:calc(100vw - 100px);
 height:50px;min-height:50px;padding:10px 14px;animation:none!important;
 border-radius:12px 12px 0 0;white-space:normal;line-height:20px;
 transform:translateY(calc(100% - 14px));transition:transform .25s ease;
}
#cmplz-manage-consent .cmplz-manage-consent:is(:hover,:focus,[data-nt-reveal="true"]){transform:translateY(0)}
#cmplz-manage-consent .cmplz-manage-consent:focus-visible{outline:2px solid #ff4200;outline-offset:-3px}
@media(prefers-reduced-motion:reduce){#cmplz-manage-consent .cmplz-manage-consent{transition:none}}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept{background:#FF4200!important;color:#fff!important;font-weight:700!important}
@media(max-width:768px){
 .cmplz-cookiebanner.cmplz-show{left:12px!important;right:12px!important;bottom:151px!important;width:calc(100vw - 24px)!important;padding:18px!important;max-height:calc(100dvh - 181px);overflow-y:auto}
 .cmplz-cookiebanner .cmplz-buttons{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .cmplz-cookiebanner .cmplz-btn{width:100%!important;min-height:42px;height:auto!important;font-size:13px!important;padding:10px 8px!important;white-space:normal}
 .cmplz-cookiebanner .cmplz-view-preferences,.cmplz-cookiebanner .cmplz-save-preferences{grid-column:1/-1}
}

/* Native footer map: CMP wrapper must retain Elementor's 300px map slot. */
:is(.elementor-13270, .elementor-14618, .elementor-14624) .elementor-widget-google_maps .cmplz-placeholder-parent {
    width: 100% !important;
    max-width: 100%;
    height: 300px !important;
    min-height: 300px !important;
    padding: 0 !important;
    border-radius: 15px;
    overflow: hidden;
}
:is(.elementor-13270, .elementor-14618, .elementor-14624) .elementor-widget-google_maps .cmplz-accept-service {
    appearance: none;
    border: 1px solid #ff4200;
    border-radius: 25px;
    padding: 8px 18px;
    background: #ff4200;
    color: #1f1f1f;
    font: inherit;
    line-height: 24px;
    cursor: pointer;
}
:is(.elementor-13270, .elementor-14618, .elementor-14624) .elementor-widget-google_maps .cmplz-accept-service:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* RU document names move as whole links at narrow widths; PL/EN retain their layout. */
@media(max-width:440px){
 html:lang(ru) .cmplz-cookiebanner .cmplz-documents,
 html:lang(ru) .cmplz-cookiebanner .cmplz-documents ul{flex-wrap:wrap}
 html:lang(ru) .cmplz-cookiebanner .cmplz-documents a{white-space:nowrap}
 html:lang(ru) .cmplz-cookiebanner .cmplz-documents li{flex:0 0 auto}
}
