:root{
  --mp-accent:#4F82A6;
  --mp-bg:#EEE8DF;
  --mp-text:#2f2f2f;
  --mp-muted:#6f6f6f;
  --mp-border:rgba(0,0,0,.12);
  --mp-shadow:0 10px 26px rgba(0,0,0,.20);
  --mp-radius:12px;
}

.klaro .cookie-notice,
.klaro .cm-modal{
  font:inherit;
  color:var(--mp-text);
}

.klaro .cookie-notice a,
.klaro .cookie-notice button,
.klaro .cookie-notice .cm-btn,
.klaro .cm-modal a,
.klaro .cm-modal button,
.klaro .cm-modal .cm-btn{
  font:inherit!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  box-shadow:none!important;
}

.klaro .cookie-notice{
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  left:auto!important;
  top:auto!important;
  max-width:360px;
  width:calc(100vw - 36px);
  background:var(--mp-bg)!important;
  color:var(--mp-text)!important;
  border:1px solid var(--mp-border)!important;
  border-radius:var(--mp-radius)!important;
  box-shadow:var(--mp-shadow)!important;
  overflow:hidden;
  z-index:99999;
}

.klaro .cookie-notice .cn-body{
  padding:14px 14px 10px 14px!important;
}

.klaro .cookie-notice .cn-body p{
  margin:0 0 10px 0!important;
  font-size:.92em!important;
  line-height:1.35!important;
  color:var(--mp-muted)!important;
}

.klaro .cookie-notice .cn-buttons{
  padding:0 14px 14px 14px!important;
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
}

.klaro .cookie-notice .cn-buttons .cm-btn,
.klaro .cookie-notice .cn-buttons button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:36px!important;
  min-height:36px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  font-size:.85em!important;
  font-weight:800!important;
  line-height:1!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
}

.klaro .cookie-notice .cn-buttons .cm-btn.cm-btn-success{
  background:var(--mp-accent)!important;
  border:1px solid var(--mp-accent)!important;
  color:#fff!important;
}

.klaro .cookie-notice .cn-buttons .cm-btn.cm-btn-decline,
.klaro .cookie-notice .cn-buttons .cm-btn.cm-btn-danger{
  background:transparent!important;
  border:1px solid rgba(0,0,0,.25)!important;
  color:var(--mp-muted)!important;
}

.klaro .cookie-notice .cn-buttons .cm-link,
.klaro .cookie-notice a.cm-link{
  color:var(--mp-accent)!important;
  text-decoration:none!important;
  font-weight:800!important;
  padding:8px 0!important;
  border:0!important;
  outline:0!important;
}

.klaro .cookie-notice .cn-buttons .cm-link:hover,
.klaro .cookie-notice a.cm-link:hover{
  text-decoration:underline!important;
  text-decoration-color:rgba(79,130,166,.6)!important;
}

.klaro .cm-modal{
  background:var(--mp-bg)!important;
  color:var(--mp-text)!important;
  border:1px solid var(--mp-border)!important;
  border-radius:var(--mp-radius)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.25)!important;
  overflow:hidden!important;
}

.klaro .cm-modal .cm-header{
  position:relative!important;
  padding-right:64px!important;
}

.klaro .cm-modal .cm-header h1,
.klaro .cm-modal .cm-header h2,
.klaro .cm-modal .cm-header *{
  color:var(--mp-text)!important;
}

.klaro .cm-modal p{
  color:var(--mp-muted)!important;
  line-height:1.45!important;
}

.klaro .cm-modal .cm-close{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  margin:0!important;
  border-radius:10px!important;
  border:1px solid rgba(0,0,0,.18)!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:1!important;
  color:var(--mp-text)!important;
}

.klaro .cm-modal .cm-close,
.klaro .cm-modal .cm-close *{
  color:var(--mp-text)!important;
  opacity:1!important;
}

.klaro .cm-modal .cm-close::before,
.klaro .cm-modal .cm-close::after{
  background:var(--mp-text)!important;
  opacity:1!important;
}

.klaro .cm-modal .cm-close svg{
  width:16px!important;
  height:16px!important;
  display:block!important;
  opacity:1!important;
}

.klaro .cm-modal .cm-close svg *{
  stroke:var(--mp-text)!important;
  fill:var(--mp-text)!important;
  opacity:1!important;
}

.klaro .cm-modal .cm-close:focus,
.klaro .cm-modal .cm-close:focus-visible{
  outline:none!important;
  box-shadow:0 0 0 2px rgba(79,130,166,.35)!important;
  border-color:rgba(79,130,166,.55)!important;
}

.klaro .cm-modal a{
  color:var(--mp-accent)!important;
  text-decoration-color:rgba(79,130,166,.6)!important;
}

.klaro .cm-modal .cm-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:38px!important;
  padding:0 14px!important;
  border-radius:10px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
}

.klaro .cm-modal .cm-btn.cm-btn-success{
  background:var(--mp-accent)!important;
  border:1px solid var(--mp-accent)!important;
  color:#fff!important;
}

.klaro .cm-modal .cm-btn.cm-btn-danger,
.klaro .cm-modal .cm-btn.cm-btn-decline{
  background:transparent!important;
  border:1px solid rgba(0,0,0,.25)!important;
  color:var(--mp-muted)!important;
}

.klaro .cm-modal .cm-list-item,
.klaro .cm-modal .cm-service{
  display:grid!important;
  grid-template-columns:72px 1fr!important;
  column-gap:18px!important;
  align-items:start!important;
  padding:12px 16px!important;
}

.klaro .cm-modal .cm-toggle{
  grid-column:1!important;
  align-self:start!important;
  margin-top:2px!important;
  position:static!important;
  transform:none!important;
}

.klaro .cm-modal .cm-list-title,
.klaro .cm-modal .cm-service-title,
.klaro .cm-modal label{
  grid-column:2!important;
  margin:2px 0 0 0!important;
  line-height:1.25!important;
  position:static!important;
  transform:none!important;
}

.klaro .cm-modal .cm-list-description,
.klaro .cm-modal .cm-service-description{
  grid-column:2!important;
  margin:8px 0 0 0!important;
  line-height:1.25!important;
  position:static!important;
  transform:none!important;
}

.klaro .cm-modal .cm-list-item input[type="checkbox"],
.klaro .cm-modal .cm-service input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}

.klaro .cm-powered-by,
.klaro .powered-by{
  display:none!important;
}

@media (max-width:520px){
  .klaro .cookie-notice{
    right:12px!important;
    bottom:12px!important;
    width:calc(100vw - 24px);
    max-width:none;
  }
}

/* this does nothing... */


/* =========================================
   Klaro "contextual consent" placeholder UI
   (your build: .klaro.cm-as-context-notice)
   ========================================= */

/* Full overlay wrapper for contextual consent */
.klaro.cm-as-context-notice{
  position: absolute !important;
  inset: 0 !important;

  display: flex !important;             
  align-items: center !important;
  justify-content: center !important;

  padding: 14px !important;
  background: rgba(0,0,0,.45) !important;
  z-index: 50 !important;
}


/* White card */
.klaro.cm-as-context-notice .context-notice{
  background: var(--mp-bg) !important;
  color: var(--mp-text) !important;
  border: 1px solid var(--mp-border) !important;
  border-radius: var(--mp-radius) !important;
  box-shadow: var(--mp-shadow) !important;
  padding: 18px 20px !important;
  max-width: 560px !important;
  width: calc(100% - 32px) !important;
  text-align: center !important;
}

/* Text */
.klaro.cm-as-context-notice .context-notice p{
  margin: 0 0 14px 0 !important;
  font-size: .95em !important;
  line-height: 1.4 !important;
  color: var(--mp-muted) !important;
}

/* Buttons row */
.klaro.cm-as-context-notice .context-notice p.cm-buttons{
  margin: 0 !important;
  gap: 10px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}

/* Buttons base */
.klaro.cm-as-context-notice .cm-btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  font-size: .85em !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* "Igen" (green filled) */
.klaro.cm-as-context-notice .cm-btn-success{
  background: var(--mp-accent) !important;
  border: 1px solid var(--mp-accent) !important;
  color: #fff !important;
}

/* "Mindig" (outlined) */
.klaro.cm-as-context-notice .cm-btn-success-var{
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.0) !important; /* reset */
  border: 1px solid rgba(0,0,0,.25) !important;
  color: var(--mp-muted) !important;
}

/* Hover */
.klaro.cm-as-context-notice .cm-btn:hover{
  filter: brightness(1.05) !important;
}



/* === Klaro contextual notice must be able to disappear === */

/* If Klaro hides the contextual notice inline, respect it */
.klaro.cm-as-context-notice[style*="display: none"]{
  display: none !important;
}

/* If Klaro hides via hidden attribute */
.klaro.cm-as-context-notice[hidden]{
  display: none !important;
}

/* If Klaro hides the placeholder wrapper instead */
[data-type="placeholder"][style*="display: none"],
[data-type="placeholder"][hidden]{
  display: none !important;
}

/* Ensure embed containers can host Klaro's contextual notice properly */
.mp-map {
  position: relative;
  overflow: hidden;          /* keep overlay inside */
  min-height: 220px;         /* so the notice has vertical room */
}

/* Make iframe fill properly once it loads */
.mp-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Klaro contextual notice: make it responsive and not clip */
.klaro .context-notice {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75em;
  padding: 0.9em;
  background: rgba(0,0,0,0.55);
  z-index: 2;
}

/* On narrow containers: stack text + button */
.klaro .context-notice .cn-body {
  max-width: 100%;
}

@media screen and (max-width: 736px) {
  .klaro .context-notice {
    flex-direction: column;
    text-align: center;
  }
  .klaro .context-notice button {
    width: auto;
    max-width: 100%;
  }
}

/* ===== Fix squeezed contextual notice in map embeds ===== */

/* Match whether or not Klaro wraps it in a .klaro root */
.mp-map .context-notice,
.mp-map .klaro .context-notice{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75em;
  padding: 0.9em;
  background: rgba(0,0,0,0.55);
  z-index: 5;
}

/* The missing part: allow the text to wrap */
.mp-map .context-notice p,
.mp-map .klaro .context-notice p{
  margin: 0;
  max-width: 18rem;        /* readable line length in that column */
  text-align: center;
  line-height: 1.25;
  color: #fff;

  white-space: normal !important;   /* <-- key */
  overflow-wrap: anywhere;          /* <-- key */
}

/* Keep the button from compressing weirdly */
.mp-map .context-notice button,
.mp-map .klaro .context-notice button{
  white-space: nowrap;
  flex: 0 0 auto;
}

/* Narrow: stack */
@media screen and (max-width: 736px){
  .mp-map .context-notice,
  .mp-map .klaro .context-notice{
    flex-direction: column;
    text-align: center;
  }
}


/* Footer map: portrait tile */
.mp-footerblock .mp-map{
  aspect-ratio: 4 / 4.5;     /* portrait (width / height) */
  width: 100%;
  height: auto;            /* aspect-ratio controls height */
}

/* Make the iframe fill the tile */
.mp-footerblock .mp-map iframe{
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}


/* =========================================
   HARD OVERRIDES: Klaro embed placeholder UI
   Fix the squeezed "one-line pill" in maps
   ========================================= */

/* Ensure the placeholder wrapper takes the full embed box */
.mp-map [data-type="placeholder"]{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 50 !important;
}

/* If Klaro uses a wrapper class instead */
.mp-map .cm-as-context-notice,
.mp-map .klaro.cm-as-context-notice{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 14px !important;
  background: rgba(0,0,0,.45) !important;
  z-index: 50 !important;
}

/* The actual notice "card" */
.mp-map .context-notice{
  display: block !important;                  /* kill inline/inline-flex pill */
  width: min(520px, 100%) !important;
  max-width: 100% !important;

  background: var(--mp-bg) !important;
  border: 1px solid var(--mp-border) !important;
  border-radius: var(--mp-radius) !important;
  box-shadow: var(--mp-shadow) !important;

  padding: 14px 16px !important;
  text-align: center !important;
}

.mp-map .context-notice{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;

  /* keep it flush inside the placeholder */
  border-radius: 0 !important;
  box-shadow: none !important;

  /* center the content inside the full card */
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;

  padding: 18px !important;
  box-sizing: border-box !important;
}

.mp-map .cm-as-context-notice,
.mp-map .klaro.cm-as-context-notice{
  background: transparent !important;
}

/* =========================================
   HARD OVERRIDES: Klaro embed placeholder UI
   VIDEO (YouTube) – match the mp-map behavior
   ========================================= */

/* Ensure the video container can host absolute overlays */
.mp-video{
  position: relative;
  overflow: hidden;
}

/* Ensure the placeholder wrapper takes the full video box */
.mp-video [data-type="placeholder"]{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 50 !important;
}

/* If Klaro uses a wrapper class instead */
.mp-video .cm-as-context-notice,
.mp-video .klaro.cm-as-context-notice{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 14px !important;
  background: rgba(0,0,0,.45) !important;
  z-index: 50 !important;
}

/* Make the notice fill the entire tile (so no grey area around a small card) */
.mp-video .context-notice{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;

  /* flush, like the map solution */
  border-radius: 0 !important;
  box-shadow: none !important;

  /* your white UI */
  background: var(--mp-bg) !important;
  border: 0 !important;

  /* center content inside the full tile */
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;

  padding: 18px !important;
  box-sizing: border-box !important;
}
