/* =====================================================================
   Kreatywne Okno - wyglad banera cookies (Klaro) w stylistyce sklepu
   ===================================================================== */

.klaro.ko-klaro{
  --ko-z: #b08a3e;
  --ko-z-ciemne: #8a6d2f;
  --ko-z-jasne: #e7c874;
  --ko-tekst: #3a3128;
  --ko-ciemny: #1f1a14;
  --ko-wyciszony: #8a7a5f;
  --ko-ramka: rgba(168,132,68,.35);
  --ko-ramka-lekka: rgba(168,132,68,.22);
  --font-family: "Montserrat", system-ui, sans-serif;
  --title-font-family: "Playfair Display", Georgia, serif;
  --font-size: 14px;
  --border-radius: 12px;
  --green1: #b08a3e;
  --green2: #8a6d2f;
  --green3: #e7c874;
  --blue1: #8a7a5f;
  --dark1: #3a3128;
  --dark2: #5a4e3f;
  --dark3: #8a7a5f;
  --light1: #fffdf8;
  --light2: rgba(168,132,68,.35);
  --light3: #e7c874;
  --white1: #fbf7ef;
  --white2: #f3ecdf;
  --white3: #ebdec6;
  --button-text-color: #fff;
  --notice-max-width: 440px;
  --notice-right: 20px;
  --notice-bottom: 20px;
  --notice-left: auto;
  color: var(--ko-tekst);
}

/* ---------- baner (pierwsza warstwa) ---------- */
.klaro.ko-klaro .cookie-notice:not(.cookie-modal-notice){
  background: linear-gradient(180deg, #fbf7ef 0%, #f3ecdf 100%);
  border: 1px solid var(--ko-ramka);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(40,30,15,.22), 0 1px 0 rgba(255,255,255,.7) inset;
  color: var(--ko-tekst);
  padding: 6px;
  z-index: 99999;
}
.klaro.ko-klaro .cookie-notice:not(.cookie-modal-notice)::before{
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 12px;
  border: 1px solid rgba(168,132,68,.30);
  pointer-events: none;
}
.klaro.ko-klaro .cookie-notice .cn-body{
  position: relative;
  padding: 18px 20px 16px;
}
.klaro.ko-klaro .cookie-notice .cn-body .title,
.klaro.ko-klaro .cookie-notice .cn-body h2{
  font-family: var(--title-font-family);
  font-size: 20px;
  font-weight: 700;
  color: var(--ko-ciemny);
  margin: 0 0 8px;
  line-height: 1.25;
}
.klaro.ko-klaro .cookie-notice .cn-body p{
  color: var(--ko-tekst);
  font-size: 13.5px;
  line-height: 1.55;
  margin: 0 0 8px;
}
.klaro.ko-klaro .cookie-notice .cn-body p a,
.klaro.ko-klaro .cookie-modal a{
  color: var(--ko-z-ciemne);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.klaro.ko-klaro .cookie-notice .cn-body .cn-learn-more{
  color: var(--ko-z-ciemne);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid var(--ko-ramka);
  padding-bottom: 1px;
}

/* przyciski */
.klaro.ko-klaro .cm-btn{
  border-radius: 999px !important;
  font-family: var(--font-family);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 10px 18px !important;
  line-height: 1.1;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.klaro.ko-klaro .cm-btn.cm-btn-success{
  background: linear-gradient(135deg, #cfa955 0%, var(--ko-z) 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(138,109,47,.35);
}
.klaro.ko-klaro .cm-btn.cm-btn-success:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(138,109,47,.45);
}
.klaro.ko-klaro .cm-btn.cm-btn-danger,
.klaro.ko-klaro .cm-btn.cm-btn-info{
  background: rgba(255,255,255,.55) !important;
  color: var(--ko-tekst) !important;
  border: 1px solid var(--ko-ramka) !important;
}
.klaro.ko-klaro .cm-btn.cm-btn-danger:hover,
.klaro.ko-klaro .cm-btn.cm-btn-info:hover{
  background: #fff !important;
  border-color: var(--ko-z) !important;
}
.klaro.ko-klaro .cookie-notice .cn-ok{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 6px;
}
.klaro.ko-klaro .cookie-notice .cn-buttons{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}
.klaro.ko-klaro .cookie-notice .cn-buttons .cm-btn{ margin: 0 !important; }

/* ---------- okno ustawien (druga warstwa) ---------- */
.klaro.ko-klaro .cookie-modal{ z-index: 100000; }
.klaro.ko-klaro .cookie-modal .cm-bg{ background: rgba(31,26,20,.55); }
.klaro.ko-klaro .cookie-modal .cm-modal{
  background: linear-gradient(180deg, #fbf7ef 0%, #f3ecdf 100%);
  color: var(--ko-tekst);
  border: 1px solid var(--ko-ramka);
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(40,30,15,.35);
  max-width: 640px;
}
.klaro.ko-klaro .cookie-modal .cm-modal .cm-header{
  border-bottom: 1px solid var(--ko-ramka-lekka);
  padding: 22px 26px 16px;
}
.klaro.ko-klaro .cookie-modal .cm-modal .cm-header h1{
  font-family: var(--title-font-family);
  font-size: 24px;
  font-weight: 700;
  color: var(--ko-ciemny);
  margin: 0 0 8px;
}
.klaro.ko-klaro .cookie-modal .cm-modal .cm-header p,
.klaro.ko-klaro .cookie-modal .cm-modal .cm-body p{
  color: var(--ko-tekst);
  line-height: 1.55;
}
.klaro.ko-klaro .cookie-modal .cm-modal .cm-body{ padding: 18px 26px; }
.klaro.ko-klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose,
.klaro.ko-klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-service{
  border-top: 1px solid var(--ko-ramka-lekka);
  padding-top: 14px;
  margin-top: 14px;
}
.klaro.ko-klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose:first-child{
  border-top: 0; padding-top: 0; margin-top: 0;
}
.klaro.ko-klaro .cookie-modal .cm-list-title{
  font-family: var(--title-font-family);
  font-size: 16px;
  font-weight: 700;
  color: var(--ko-ciemny);
}
.klaro.ko-klaro .cookie-modal .cm-list-description,
.klaro.ko-klaro .cookie-modal .cm-modal .cm-body span.cm-required,
.klaro.ko-klaro .cookie-modal .cm-modal .cm-body span.cm-opt-out{
  color: var(--ko-wyciszony);
  font-size: 13px;
}
.klaro.ko-klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose .cm-services .cm-caret{
  color: var(--ko-z-ciemne);
}
.klaro.ko-klaro .cookie-modal .cm-modal .cm-footer{
  border-top: 1px solid var(--ko-ramka-lekka);
  padding: 16px 26px 20px;
}
.klaro.ko-klaro .cookie-modal .cm-modal .cm-footer-buttons{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.klaro.ko-klaro .cookie-modal .cm-modal .cm-footer .cm-powered-by{ display: none; }
.klaro.ko-klaro .cookie-modal .cm-btn.cm-btn-close,
.klaro.ko-klaro .cookie-modal .hide svg{ color: var(--ko-tekst); stroke: var(--ko-tekst); }

/* przelaczniki */
.klaro.ko-klaro .cookie-modal .cm-list-label .slider{
  background-color: rgba(168,132,68,.28);
  box-shadow: none;
}
.klaro.ko-klaro .cookie-modal .cm-list-label .slider::before{ background-color: #fff; }
.klaro.ko-klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider{
  background: linear-gradient(135deg, #cfa955 0%, var(--ko-z) 100%);
}
.klaro.ko-klaro .cookie-modal .cm-list-input.required:checked + .cm-list-label .slider{
  background: rgba(138,109,47,.45);
}
.klaro.ko-klaro .cookie-modal .cm-list-input.half-checked:checked + .cm-list-label .slider{
  background: rgba(176,138,62,.55);
}
.klaro.ko-klaro .cookie-modal .cm-list-input:focus + .cm-list-label .slider{
  box-shadow: 0 0 0 3px rgba(176,138,62,.35);
}

/* link w stopce */
.ko-cookie-ustawienia{ cursor: pointer; }

/* ---------- mobile ---------- */
@media (max-width: 640px){
  .klaro.ko-klaro{
    --notice-right: 10px;
    --notice-left: 10px;
    --notice-bottom: 10px;
    --notice-max-width: none;
  }
  .klaro.ko-klaro .cookie-notice:not(.cookie-modal-notice){ border-radius: 14px; }
  .klaro.ko-klaro .cookie-notice .cn-body{ padding: 16px 14px 14px; }
  .klaro.ko-klaro .cookie-notice .cn-buttons .cm-btn{ flex: 1 1 auto; text-align: center; }
  .klaro.ko-klaro .cookie-modal .cm-modal .cm-header,
  .klaro.ko-klaro .cookie-modal .cm-modal .cm-body,
  .klaro.ko-klaro .cookie-modal .cm-modal .cm-footer{ padding-left: 16px; padding-right: 16px; }
}
