/* LocalUXStudio Consent Manager — frontend UI
 * Cały interfejs jest celowo izolowany przez #ccm-root / unikalne klasy,
 * aby nie wpływać na Elementor, motyw ani pozostałe elementy strony.
 */

#ccm-root.ccm-root{
  --ccm-accent:#BB8B32;
  --ccm-accent-hover:#A87928;
  --ccm-accent-soft:rgba(187,139,50,.10);
  --ccm-bg:#FFFFFF;
  --ccm-surface:#FFFFFF;
  --ccm-text:#19243F;
  --ccm-text-soft:#5F6776;
  --ccm-border:#E7E1D6;
  --ccm-border-strong:rgba(187,139,50,.46);
  --ccm-shadow:0 18px 55px rgba(25,36,63,.14);
  --ccm-radius:12px;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:16px;
  font-weight:300;
  line-height:1.5;
  color:var(--ccm-text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

#ccm-root.ccm-root,
#ccm-root.ccm-root *,
#ccm-root.ccm-root *::before,
#ccm-root.ccm-root *::after{box-sizing:border-box}

#ccm-root.ccm-root h1,
#ccm-root.ccm-root h2,
#ccm-root.ccm-root h3,
#ccm-root.ccm-root p{font-family:inherit !important;text-transform:none !important;letter-spacing:normal}

#ccm-root.ccm-root .ccm-banner[hidden],
#ccm-root.ccm-root .ccm-modal[hidden],
#ccm-root.ccm-root .ccm-floating-settings[hidden]{display:none !important}

/* Banner */
#ccm-root.ccm-root .ccm-banner{
  position:fixed !important;
  z-index:2147483000 !important;
  right:22px !important;
  left:auto !important;
  bottom:22px !important;
  width:min(610px,calc(100vw - 44px)) !important;
  margin:0 !important;
  padding:0 !important;
  background:rgba(255,255,255,.985) !important;
  color:var(--ccm-text) !important;
  border:1px solid var(--ccm-border) !important;
  border-top:2px solid var(--ccm-accent) !important;
  border-radius:var(--ccm-radius) !important;
  box-shadow:var(--ccm-shadow) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  overflow:hidden !important;
}

#ccm-root.ccm-root .ccm-banner__inner{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:18px !important;
  padding:24px 24px 22px !important;
  margin:0 !important;
}

#ccm-root.ccm-root .ccm-banner__content{max-width:none !important;margin:0 !important;padding:0 !important}

#ccm-root.ccm-root .ccm-banner h2{
  margin:0 0 9px !important;
  padding:0 !important;
  color:var(--ccm-text) !important;
  font-size:23px !important;
  line-height:1.22 !important;
  font-weight:600 !important;
}

#ccm-root.ccm-root .ccm-banner p{
  margin:0 !important;
  padding:0 !important;
  color:var(--ccm-text-soft) !important;
  font-size:14.5px !important;
  line-height:1.62 !important;
  font-weight:300 !important;
}

#ccm-root.ccm-root .ccm-policy-links,
#ccm-root.ccm-root .ccm-modal__legal-links{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px 18px !important;
  margin:12px 0 0 !important;
  padding:0 !important;
}

#ccm-root.ccm-root a.ccm-policy-link{
  display:inline !important;
  margin:0 !important;
  padding:0 0 2px !important;
  color:var(--ccm-accent) !important;
  -webkit-text-fill-color:var(--ccm-accent) !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid rgba(187,139,50,.38) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-family:inherit !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.35 !important;
  text-decoration:none !important;
  text-transform:none !important;
  transition:color .18s ease,border-color .18s ease !important;
}

#ccm-root.ccm-root a.ccm-policy-link:hover,
#ccm-root.ccm-root a.ccm-policy-link:focus-visible{
  color:var(--ccm-accent-hover) !important;
  -webkit-text-fill-color:var(--ccm-accent-hover) !important;
  border-bottom-color:var(--ccm-accent-hover) !important;
  outline:none !important;
}

#ccm-root.ccm-root .ccm-banner__actions{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:9px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* Przyciski — mocne odcięcie od globalnych styli motywu/Elementora */
#ccm-root.ccm-root button.ccm-btn,
#ccm-root.ccm-root .ccm-btn{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  min-height:42px !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:10px 12px !important;
  background:#FFFFFF !important;
  background-image:none !important;
  border:1px solid var(--ccm-accent) !important;
  border-radius:7px !important;
  box-shadow:none !important;
  color:var(--ccm-accent) !important;
  -webkit-text-fill-color:var(--ccm-accent) !important;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:12.5px !important;
  font-style:normal !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
  text-decoration:none !important;
  text-shadow:none !important;
  text-transform:none !important;
  white-space:normal !important;
  cursor:pointer !important;
  opacity:1 !important;
  filter:none !important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease !important;
}

#ccm-root.ccm-root button.ccm-btn--primary,
#ccm-root.ccm-root .ccm-btn--primary{
  background:var(--ccm-accent) !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}

#ccm-root.ccm-root button.ccm-btn:hover,
#ccm-root.ccm-root button.ccm-btn:focus-visible,
#ccm-root.ccm-root .ccm-btn:hover,
#ccm-root.ccm-root .ccm-btn:focus-visible{
  background:var(--ccm-accent-soft) !important;
  border-color:var(--ccm-accent-hover) !important;
  color:var(--ccm-accent-hover) !important;
  -webkit-text-fill-color:var(--ccm-accent-hover) !important;
  outline:none !important;
  transform:translateY(-1px) !important;
}

#ccm-root.ccm-root button.ccm-btn--primary:hover,
#ccm-root.ccm-root button.ccm-btn--primary:focus-visible,
#ccm-root.ccm-root .ccm-btn--primary:hover,
#ccm-root.ccm-root .ccm-btn--primary:focus-visible{
  background:var(--ccm-accent-hover) !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}

#ccm-root.ccm-root button.ccm-btn:active,
#ccm-root.ccm-root .ccm-btn:active{transform:translateY(0) !important}

#ccm-root.ccm-root button.ccm-btn:disabled,
#ccm-root.ccm-root .ccm-btn[disabled]{opacity:.58 !important;cursor:wait !important;transform:none !important}

/* Modal */
#ccm-root.ccm-root .ccm-modal{
  position:fixed !important;
  z-index:2147483100 !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:20px !important;
}

#ccm-root.ccm-root .ccm-modal__backdrop{
  position:absolute !important;
  inset:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:rgba(25,36,63,.28) !important;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

#ccm-root.ccm-root .ccm-modal__dialog{
  position:relative !important;
  width:min(820px,100%) !important;
  max-width:820px !important;
  max-height:min(820px,90vh) !important;
  margin:0 !important;
  padding:0 !important;
  overflow:auto !important;
  overscroll-behavior:contain;
  background:#FFFFFF !important;
  color:var(--ccm-text) !important;
  border:1px solid var(--ccm-border) !important;
  border-top:2px solid var(--ccm-accent) !important;
  border-radius:var(--ccm-radius) !important;
  box-shadow:0 28px 90px rgba(25,36,63,.22) !important;
  outline:none !important;
  scrollbar-width:thin;
  scrollbar-color:var(--ccm-accent) #F2EFEA;
}

#ccm-root.ccm-root .ccm-modal__dialog::-webkit-scrollbar{width:7px}
#ccm-root.ccm-root .ccm-modal__dialog::-webkit-scrollbar-track{background:#F2EFEA}
#ccm-root.ccm-root .ccm-modal__dialog::-webkit-scrollbar-thumb{background:var(--ccm-accent);border-radius:20px}

#ccm-root.ccm-root .ccm-modal__header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin:0 !important;
  padding:22px 24px 18px !important;
  border-bottom:1px solid var(--ccm-border) !important;
}

#ccm-root.ccm-root .ccm-modal__header h2{
  margin:0 !important;
  padding:0 !important;
  color:var(--ccm-text) !important;
  font-size:25px !important;
  line-height:1.25 !important;
  font-weight:600 !important;
}

#ccm-root.ccm-root button.ccm-modal__close{
  appearance:none !important;
  -webkit-appearance:none !important;
  position:relative !important;
  flex:0 0 38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:38px !important;
  min-width:38px !important;
  max-width:38px !important;
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  margin:0 !important;
  padding:0 !important;
  background:#FFFFFF !important;
  background-image:none !important;
  border:1px solid var(--ccm-border-strong) !important;
  border-radius:50% !important;
  box-shadow:none !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  cursor:pointer !important;
  overflow:hidden !important;
}

#ccm-root.ccm-root .ccm-modal__close::before,
#ccm-root.ccm-root .ccm-modal__close::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:15px !important;
  height:1.5px !important;
  margin:0 !important;
  padding:0 !important;
  background:var(--ccm-accent) !important;
  border:0 !important;
  border-radius:2px !important;
  transform-origin:center !important;
}
#ccm-root.ccm-root .ccm-modal__close::before{transform:translate(-50%,-50%) rotate(45deg) !important}
#ccm-root.ccm-root .ccm-modal__close::after{transform:translate(-50%,-50%) rotate(-45deg) !important}
#ccm-root.ccm-root button.ccm-modal__close:hover,
#ccm-root.ccm-root button.ccm-modal__close:focus-visible{background:var(--ccm-accent-soft) !important;outline:none !important}

#ccm-root.ccm-root .ccm-modal__body{margin:0 !important;padding:0 24px !important}

#ccm-root.ccm-root .ccm-category{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  margin:0 !important;
  padding:20px 0 !important;
  border-bottom:1px solid var(--ccm-border) !important;
}

#ccm-root.ccm-root .ccm-category__copy{max-width:670px !important;margin:0 !important;padding:0 !important}

#ccm-root.ccm-root .ccm-category h3{
  margin:0 0 6px !important;
  padding:0 !important;
  color:var(--ccm-text) !important;
  font-size:17px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
}

#ccm-root.ccm-root .ccm-category p{
  margin:0 !important;
  padding:0 !important;
  color:var(--ccm-text-soft) !important;
  font-size:13.5px !important;
  line-height:1.55 !important;
  font-weight:300 !important;
}

#ccm-root.ccm-root .ccm-modal__footer{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:wrap !important;
  gap:16px !important;
  margin:0 !important;
  padding:18px 24px 22px !important;
}

#ccm-root.ccm-root .ccm-modal__footer .ccm-modal__legal-links{margin:0 !important}

#ccm-root.ccm-root .ccm-modal__footer-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:9px !important;
  margin:0 0 0 auto !important;
  padding:0 !important;
}

/* Przełączniki */
#ccm-root.ccm-root .ccm-switch{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  cursor:pointer !important;
}

#ccm-root.ccm-root .ccm-switch input{
  position:absolute !important;
  opacity:0 !important;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
  padding:0 !important;
}

#ccm-root.ccm-root .ccm-switch__ui{
  position:relative !important;
  display:block !important;
  width:48px !important;
  height:27px !important;
  margin:0 !important;
  padding:0 !important;
  background:#E5E7EB !important;
  border:1px solid #D5D8DE !important;
  border-radius:999px !important;
  transition:background-color .18s ease,border-color .18s ease !important;
}

#ccm-root.ccm-root .ccm-switch__ui::after{
  content:"" !important;
  position:absolute !important;
  width:21px !important;
  height:21px !important;
  left:2px !important;
  top:2px !important;
  margin:0 !important;
  padding:0 !important;
  background:#FFFFFF !important;
  border:0 !important;
  border-radius:50% !important;
  box-shadow:0 1px 4px rgba(25,36,63,.18) !important;
  transform:none !important;
  transition:transform .18s ease !important;
}

#ccm-root.ccm-root .ccm-switch input:checked + .ccm-switch__ui{
  background:var(--ccm-accent) !important;
  border-color:var(--ccm-accent) !important;
}
#ccm-root.ccm-root .ccm-switch input:checked + .ccm-switch__ui::after{transform:translateX(21px) !important}
#ccm-root.ccm-root .ccm-switch input:focus-visible + .ccm-switch__ui{outline:2px solid rgba(187,139,50,.32) !important;outline-offset:3px !important}
#ccm-root.ccm-root .ccm-switch input:disabled + .ccm-switch__ui{opacity:.78 !important;cursor:not-allowed !important}

/* Przycisk stały */
#ccm-root.ccm-root button.ccm-floating-settings{
  appearance:none !important;
  -webkit-appearance:none !important;
  position:fixed !important;
  z-index:2147482900 !important;
  left:18px !important;
  bottom:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:9px 13px !important;
  background:#FFFFFF !important;
  border:1px solid var(--ccm-border-strong) !important;
  border-radius:7px !important;
  box-shadow:0 7px 24px rgba(25,36,63,.10) !important;
  color:var(--ccm-accent) !important;
  -webkit-text-fill-color:var(--ccm-accent) !important;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  text-decoration:none !important;
  text-transform:none !important;
  cursor:pointer !important;
}
#ccm-root.ccm-root button.ccm-floating-settings:hover,
#ccm-root.ccm-root button.ccm-floating-settings:focus-visible{background:var(--ccm-accent-soft) !important;outline:none !important}

/* Shortcode [ccm_privacy_settings] — poza #ccm-root, dlatego osobny, wąski scope. */
button.ccm-inline-settings{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  margin:0 !important;
  padding:9px 14px !important;
  background:#FFFFFF !important;
  border:1px solid #BB8B32 !important;
  border-radius:7px !important;
  box-shadow:none !important;
  color:#BB8B32 !important;
  -webkit-text-fill-color:#BB8B32 !important;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  text-decoration:none !important;
  text-transform:none !important;
  cursor:pointer !important;
}
button.ccm-inline-settings:hover,button.ccm-inline-settings:focus-visible{background:rgba(187,139,50,.10) !important;outline:none !important}

html.ccm-modal-open,
html.ccm-modal-open body{overflow:hidden !important}

@media (max-width:800px){
  #ccm-root.ccm-root .ccm-banner{
    right:10px !important;
    left:10px !important;
    bottom:10px !important;
    width:auto !important;
  }
  #ccm-root.ccm-root .ccm-banner__inner{padding:19px 18px 17px !important;gap:15px !important}
  #ccm-root.ccm-root .ccm-banner h2{font-size:21px !important}
  #ccm-root.ccm-root .ccm-banner p{font-size:14px !important}
  #ccm-root.ccm-root .ccm-banner__actions{grid-template-columns:1fr !important;gap:8px !important}
  #ccm-root.ccm-root button.ccm-btn,#ccm-root.ccm-root .ccm-btn{width:100% !important;min-height:43px !important;font-size:13px !important}

  #ccm-root.ccm-root .ccm-modal{padding:10px !important;align-items:center !important}
  #ccm-root.ccm-root .ccm-modal__dialog{width:100% !important;max-height:92vh !important;border-radius:10px !important}
  #ccm-root.ccm-root .ccm-modal__header{padding:18px 18px 15px !important}
  #ccm-root.ccm-root .ccm-modal__header h2{font-size:21px !important}
  #ccm-root.ccm-root button.ccm-modal__close{width:36px !important;min-width:36px !important;max-width:36px !important;height:36px !important;min-height:36px !important;max-height:36px !important}
  #ccm-root.ccm-root .ccm-modal__body{padding:0 18px !important}
  #ccm-root.ccm-root .ccm-category{gap:16px !important;padding:17px 0 !important;align-items:flex-start !important}
  #ccm-root.ccm-root .ccm-category h3{font-size:16px !important}
  #ccm-root.ccm-root .ccm-category p{font-size:13px !important}
  #ccm-root.ccm-root .ccm-modal__footer{padding:16px 18px 18px !important;flex-direction:column !important;align-items:stretch !important}
  #ccm-root.ccm-root .ccm-modal__footer-actions{width:100% !important;margin:0 !important;flex-direction:column !important}
  #ccm-root.ccm-root .ccm-modal__footer .ccm-btn{width:100% !important}
  #ccm-root.ccm-root .ccm-modal__legal-links{justify-content:flex-start !important}
  #ccm-root.ccm-root button.ccm-floating-settings{left:10px !important;bottom:10px !important}
}

@media (max-width:420px){
  #ccm-root.ccm-root .ccm-category{gap:12px !important}
  #ccm-root.ccm-root .ccm-switch__ui{width:44px !important;height:25px !important}
  #ccm-root.ccm-root .ccm-switch__ui::after{width:19px !important;height:19px !important}
  #ccm-root.ccm-root .ccm-switch input:checked + .ccm-switch__ui::after{transform:translateX(19px) !important}
}
