/* GDPR Súhlas v9.0.0 – accessible, mobile first, scoped to module */
.mgdpr-root{font-family:var(--mgdpr-font,inherit);color:var(--mgdpr-fg,#17364D);font-size:15px;line-height:1.5}
.mgdpr-root [hidden]{display:none!important}
.mgdpr-root *{box-sizing:border-box}
.mgdpr-banner{position:fixed;z-index:2147483000;left:16px;right:16px;bottom:16px;background:var(--mgdpr-bg,#fff);color:var(--mgdpr-fg,#17364D);border:1px solid var(--mgdpr-outline,#CDD6E0);box-shadow:0 12px 50px rgba(12,31,49,.20);border-radius:var(--mgdpr-radius,16px);padding:20px 24px;display:flex;align-items:center;gap:24px;justify-content:space-between;max-width:1200px;margin:0 auto}
.mgdpr-root[data-position="corner"] .mgdpr-banner{left:auto;max-width:460px;display:block;padding:22px;}
.mgdpr-root[data-position="corner"] .mgdpr-buttons{margin-top:16px;justify-content:flex-start}
.mgdpr-copy{min-width:0;flex:1 1 560px}
.mgdpr-title{color:inherit!important;font:inherit;font-weight:750;font-size:20px;margin:0 0 6px;line-height:1.25}
.mgdpr-description{margin:0;color:inherit;opacity:.92;line-height:1.5}
.mgdpr-policy{color:var(--mgdpr-primary,#143F5B);text-decoration:underline;text-underline-offset:2px;display:inline-block;margin-top:5px}
.mgdpr-buttons,.mgdpr-dialog-buttons{display:flex;gap:9px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.mgdpr-btn{appearance:none;cursor:pointer;font:inherit;font-weight:650;min-height:44px;border-radius:calc(var(--mgdpr-radius,16px) * .55);padding:10px 15px;transition:background-color .14s,box-shadow .14s;border:1px solid transparent;line-height:1.3}
.mgdpr-btn:focus-visible,.mgdpr-launcher:focus-visible,.mgdpr-close:focus-visible,.mgdpr-option input:focus-visible{outline:3px solid #e59d00;outline-offset:3px}
.mgdpr-btn-primary{background:var(--mgdpr-primary,#143F5B);color:var(--mgdpr-primary-text,#fff)}
.mgdpr-btn-primary:hover{filter:brightness(.93)}
.mgdpr-btn-outline{background:transparent;border-color:var(--mgdpr-outline,#CDD6E0);color:var(--mgdpr-fg,#17364D)}
.mgdpr-btn-outline:hover{background:rgba(120,120,120,.075)}
.mgdpr-btn-link{background:transparent;color:var(--mgdpr-fg,#17364D);text-decoration:underline;text-underline-offset:3px}
.mgdpr-overlay{position:fixed;z-index:2147483001;inset:0;padding:12px;display:flex;align-items:center;justify-content:center;overflow-y:auto;background:rgba(11,24,37,.65)}
.mgdpr-dialog{background:var(--mgdpr-bg,#fff);color:var(--mgdpr-fg,#17364D);border-radius:var(--mgdpr-radius,16px);padding:22px;width:100%;max-width:580px;max-height:calc(100vh - 24px);overflow-y:auto;box-shadow:0 18px 48px rgba(0,0,0,.24)}
.mgdpr-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.mgdpr-dialog-head h2{color:inherit!important;font:inherit;font-size:22px;font-weight:750;margin:0}
.mgdpr-dialog > p{margin:10px 0 16px;color:inherit}
.mgdpr-close{appearance:none;background:transparent;color:inherit;border:0;font:inherit;font-size:30px;line-height:1;cursor:pointer;width:40px;height:40px;border-radius:8px}
.mgdpr-options{display:grid;gap:9px;margin-bottom:20px}
.mgdpr-option{display:flex;gap:15px;align-items:center;justify-content:space-between;border:1px solid var(--mgdpr-outline,#CDD6E0);border-radius:10px;padding:13px;cursor:pointer;min-width:0}
.mgdpr-option strong{display:block;font-size:15px}
.mgdpr-option small{display:block;opacity:.8;line-height:1.4;font-size:13px;margin-top:3px}
.mgdpr-option input{width:21px;height:21px;accent-color:var(--mgdpr-primary,#143F5B);flex:0 0 auto;cursor:pointer}
.mgdpr-always{font-size:12px;white-space:nowrap;font-weight:700;opacity:.75}
@media(max-width:800px){.mgdpr-banner{left:10px;right:10px;bottom:10px;display:block;padding:15px 16px;max-height:75dvh;overflow:auto}.mgdpr-root[data-position="corner"] .mgdpr-banner{left:10px;right:10px;max-width:none}.mgdpr-title{font-size:18px}.mgdpr-description{font-size:14px}.mgdpr-buttons{margin-top:14px;justify-content:stretch}.mgdpr-buttons .mgdpr-btn{flex:1 1 125px}.mgdpr-dialog{padding:16px}.mgdpr-dialog-buttons .mgdpr-btn{flex:1 1 180px}}
@media(max-width:360px){.mgdpr-buttons .mgdpr-btn{flex:1 1 100%}.mgdpr-dialog .mgdpr-option{gap:8px;padding:9px}.mgdpr-always{white-space:normal;text-align:right}}
@media(prefers-reduced-motion:reduce){.mgdpr-root *{transition:none!important}}

/* Safe visible fallback when optional JavaScript cannot initialise. */
.mgdpr-fallback{margin:12px 0 0;font-size:14px;font-weight:600;color:var(--mgdpr-fg,#17364D)}

/* v3: keep floating consent UI out of footer typographic / layout rules. */
body > .mgdpr-root { position: static; width: auto; height: 0; margin: 0; padding: 0; }
body > .mgdpr-root .mgdpr-banner { isolation: isolate; }

/* v5: three clear actions on settings dialog, each always visible. */
.mgdpr-btn-save{background:#EDF3F7;border-color:var(--mgdpr-outline,#CDD6E0);color:var(--mgdpr-fg,#17364D)}
.mgdpr-btn-save:hover{filter:brightness(.97)}
.mgdpr-dialog-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:stretch}
.mgdpr-dialog-buttons .mgdpr-btn{width:100%;min-width:0;white-space:normal}
.mgdpr-dialog-buttons [data-mgdpr-save]{grid-column:1 / -1}
@media(max-width:600px){.mgdpr-dialog-buttons{grid-template-columns:1fr}.mgdpr-dialog-buttons [data-mgdpr-save]{grid-column:auto}.mgdpr-dialog-buttons .mgdpr-btn{flex:none}}

/* v6: truly bottom-anchored sheet, never a card floating midway up the page. */
.mgdpr-root .mgdpr-banner {
  left:0;right:0;bottom:0;max-width:none;width:100%;margin:0;
  border-radius:var(--mgdpr-radius,16px) var(--mgdpr-radius,16px) 0 0;
  border-bottom:0;
  box-shadow:0 -10px 34px rgba(12,31,49,.22);
  padding:16px max(20px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));
}
.mgdpr-root[data-position="corner"] .mgdpr-banner {
  left:auto;right:0;bottom:0;max-width:460px;
  border-radius:var(--mgdpr-radius,16px) 0 0 0;
  padding:18px 20px calc(18px + env(safe-area-inset-bottom,0px));
}
/* Settings rise from the bottom as a sheet instead of floating centrally. */
.mgdpr-root .mgdpr-overlay {
  align-items:flex-end;justify-content:center;padding:0;
  overflow:hidden;
}
.mgdpr-root .mgdpr-dialog {
  width:100%;max-width:680px;
  max-height:calc(100dvh - max(12px,env(safe-area-inset-top,0px)));
  border-radius:18px 18px 0 0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:20px 22px calc(20px + env(safe-area-inset-bottom,0px));
}
@media(max-width:800px){
  .mgdpr-root .mgdpr-banner {
    bottom:0;left:0;right:0;width:100%;max-height:min(70dvh,440px);
    border-radius:16px 16px 0 0;
    padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));
  }
  .mgdpr-root[data-position="corner"] .mgdpr-banner {
    left:0;right:0;bottom:0;max-width:none;border-radius:16px 16px 0 0;
  }
  .mgdpr-root .mgdpr-dialog {
    max-width:none;padding:18px 16px calc(16px + env(safe-area-inset-bottom,0px));
    border-radius:16px 16px 0 0;
  }
}

/* v7: persistent footer link is normal content, NOT fixed. */
.mgdpr-footer-entry {display:block;position:static!important;margin:16px 0 8px;line-height:1.5;z-index:auto;}
.mgdpr-footer-link {appearance:none;display:inline;position:static!important;background:transparent!important;color:var(--mgdpr-footer-color,#fff)!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;font-family:inherit;font-size:var(--mgdpr-footer-size,15px);font-weight:500;text-decoration:var(--mgdpr-footer-decoration,underline);text-underline-offset:3px;line-height:1.5;cursor:pointer;max-width:100%;white-space:normal;text-align:left;}
.mgdpr-footer-link:hover {opacity:.82;}
.mgdpr-footer-link:focus-visible {outline:3px solid #e59d00;outline-offset:4px;}
/* The initial notice remains bottom-fixed; settings resemble a centered dialog as requested. */
.mgdpr-root .mgdpr-overlay {align-items:center;justify-content:center;padding:16px;overflow-y:auto;}
.mgdpr-root .mgdpr-dialog {max-width:580px;width:100%;max-height:calc(100dvh - 32px);border-radius:var(--mgdpr-radius,16px);padding:22px;}
/* Prominent vertical, equitable choices resembling the reference dialog. */
.mgdpr-dialog-buttons {grid-template-columns:1fr;gap:10px;}
.mgdpr-dialog-buttons [data-mgdpr-save] {grid-column:auto;}
@media(max-width:800px){
  .mgdpr-root .mgdpr-overlay {align-items:center;padding:12px;}
  .mgdpr-root .mgdpr-dialog {width:100%;max-width:560px;max-height:calc(100dvh - 24px);border-radius:16px;padding:18px 16px;}
}

/* v8: scroll only the category area; decision buttons are pinned INSIDE the modal. */
.mgdpr-root .mgdpr-overlay {
  overscroll-behavior:contain;
  overflow:hidden;
}
.mgdpr-root .mgdpr-dialog {
  display:flex;
  flex-direction:column;
  overflow:hidden;
  max-height:calc(100dvh - 24px);
  min-height:0;
}
.mgdpr-dialog-head {flex:0 0 auto;}
.mgdpr-dialog-scroll {
  flex:0 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding-right:3px;
}
.mgdpr-dialog-scroll > p {margin:10px 0 16px;}
.mgdpr-dialog-scroll .mgdpr-options {margin-bottom:4px;}
.mgdpr-dialog-buttons {
  flex:0 0 auto;
  position:relative;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--mgdpr-outline,#CDD6E0);
  background:var(--mgdpr-bg,#fff);
}
.mgdpr-dialog-scroll:focus-visible {outline:2px solid #e59d00;outline-offset:-2px;}
/* Landscape phones: three actions in one row to keep the scroll area usable. */
@media(max-height:500px) and (min-width:500px) {
  .mgdpr-root .mgdpr-overlay {padding:8px;}
  .mgdpr-root .mgdpr-dialog {
    max-height:calc(100dvh - 16px);
    max-width:720px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
  }
  .mgdpr-dialog-head h2 {font-size:19px;}
  .mgdpr-close {height:32px;width:32px;}
  .mgdpr-dialog-scroll > p {margin:5px 0 10px;}
  .mgdpr-dialog-buttons {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    padding-top:8px;
    margin-top:8px;
  }
  .mgdpr-dialog-buttons [data-mgdpr-save] {grid-column:auto;}
  .mgdpr-dialog-buttons .mgdpr-btn {padding:6px 8px;min-height:42px;font-size:13px;}
}

/* v9: Reject is just as prominent as Accept; no dark-pattern hierarchy. */
.mgdpr-buttons [data-mgdpr-reject], .mgdpr-dialog-buttons [data-mgdpr-reject]{
  background:var(--mgdpr-primary,#143F5B);
  border-color:var(--mgdpr-primary,#143F5B);
  color:var(--mgdpr-primary-text,#fff);
}
.mgdpr-buttons [data-mgdpr-accept],.mgdpr-buttons [data-mgdpr-reject]{flex:0 1 auto;min-width:160px;}
.mgdpr-policy + .mgdpr-policy{margin-left:15px;}
.mgdpr-operator{font-size:14px;}
.mgdpr-inventory{margin:16px 0 8px;border:1px solid var(--mgdpr-outline,#CDD6E0);border-radius:10px;padding:10px 12px;}
.mgdpr-inventory summary{font-weight:700;cursor:pointer;}
.mgdpr-table-scroll{overflow:auto;margin-top:10px;}
.mgdpr-inventory table{width:100%;border-collapse:collapse;font-size:13px;min-width:520px;}
.mgdpr-inventory th,.mgdpr-inventory td{border-bottom:1px solid var(--mgdpr-outline,#CDD6E0);padding:8px;text-align:left;vertical-align:top;}
.mgdpr-inventory caption{text-align:left;padding-bottom:8px;}
[data-mgdpr-choice-info]:empty{display:none;}
@media(max-width:800px){.mgdpr-buttons [data-mgdpr-accept],.mgdpr-buttons [data-mgdpr-reject]{flex:1 1 130px;min-width:0;}}

/* v12: Keep introductory disclosure visible when scrolling cookie categories on phones.
   A category scroll must not hide the first lines underneath the fixed heading. */
.mgdpr-root .mgdpr-dialog-intro {
  flex:0 0 auto;
  margin:10px 0 13px;
  line-height:1.45;
  min-width:0;
  overflow-wrap:anywhere;
}
.mgdpr-root .mgdpr-dialog-scroll {
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  padding-top:2px;
  padding-bottom:2px;
}
/* Respect mobile browser chrome and device-safe insets without changing appearance. */
.mgdpr-root .mgdpr-overlay {
  height:100vh;
  height:100dvh;
  box-sizing:border-box;
  padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));
}
.mgdpr-root .mgdpr-dialog {max-height:100%;}
@media(max-width:800px){
  .mgdpr-root .mgdpr-dialog-intro {font-size:14px;line-height:1.4;margin:8px 0 11px;}
  .mgdpr-root .mgdpr-dialog-scroll {scrollbar-gutter:auto;}
}
/* Very small displays: allow all controls to scroll together instead of clipping. */
@media(max-height:480px) and (max-width:499px){
  .mgdpr-root .mgdpr-dialog {overflow-y:auto;display:block;}
  .mgdpr-root .mgdpr-dialog-scroll {overflow:visible;}
}
