/* Cookie consent – full-width bottom bar in mrgoodlife colours (white, black, accent #b0a296).
   Equal-weight accept/reject, granular switches, no pre-ticked boxes. */
.mgl-consent { --c-bg: #fff; --c-fg: #000; --c-mute: #6f6f6f; --c-line: #e8e8e8; --c-accent: #b0a296;
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 100000; background: var(--c-bg); color: var(--c-fg);
  font-family: proxima-nova-alt, "proxima nova", proxima-nova, sans-serif; -webkit-font-smoothing: antialiased;
  border-top: 1px solid var(--c-line); box-shadow: 0 -10px 30px rgba(0,0,0,.06); animation: mgl-consent-in .45s cubic-bezier(.2,.7,.2,1) both; }
.mgl-consent[hidden] { display: none; }
@keyframes mgl-consent-in { from { transform: translateY(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .mgl-consent { animation: none; } }

.mgl-consent__inner { padding-top: 22px; padding-bottom: 22px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 48px; align-items: center; }
/* Title stays for screen readers only; the bar itself is text + actions. */
.mgl-consent__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }
.mgl-consent__text { margin: 0; max-width: 620px; font-size: 12px; line-height: 1.65; color: var(--c-mute); }
.mgl-consent__text a { color: var(--c-fg); text-decoration: underline; text-decoration-color: var(--c-accent); text-underline-offset: 3px; }
.mgl-consent__text a:hover { text-decoration-color: var(--c-fg); }

.mgl-consent__actions { display: flex; align-items: center; gap: 8px; justify-self: end; grid-column: -2 / -1; }
.mgl-consent__btn { font: inherit; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; min-width: 136px; padding: 12px 20px; border: 1px solid var(--c-fg); border-radius: 0; background: transparent; color: var(--c-fg); cursor: pointer; transition: background .2s, color .2s; }
.mgl-consent__btn:hover, .mgl-consent__btn[data-action="all"] { background: var(--c-fg); color: var(--c-bg); }
.mgl-consent__btn[data-action="all"]:hover { background: transparent; color: var(--c-fg); }
.mgl-consent__btn[hidden], .mgl-consent__link[hidden] { display: none; }
.mgl-consent__link { font: inherit; font-size: 12px; background: none; border: 0; color: var(--c-mute); padding: 12px 14px; cursor: pointer; text-decoration: underline; text-decoration-color: var(--c-line); text-underline-offset: 4px; }
.mgl-consent__link:hover { color: var(--c-fg); text-decoration-color: var(--c-fg); }
.mgl-consent :focus-visible { outline: 2px solid var(--c-accent); outline-offset: 3px; }

.mgl-consent__panel { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--c-line); border: 1px solid var(--c-line); }
.mgl-consent__panel[hidden] { display: none; }
.mgl-consent__cat { display: flex; gap: 18px; justify-content: space-between; align-items: flex-start; padding: 18px 20px; background: #fbfbfb; }
.mgl-consent__cat-name { display: block; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 6px; }
.mgl-consent__cat-desc { display: block; font-size: 12px; line-height: 1.6; color: var(--c-mute); }
.mgl-consent__always { flex: none; white-space: nowrap; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); padding-top: 2px; }

.mgl-consent__switch { flex: none; position: relative; width: 40px; height: 22px; margin: 0; cursor: pointer; }
.mgl-consent__switch input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.mgl-consent__switch span { position: absolute; inset: 0; border: 1px solid #c7c7c7; border-radius: 11px; transition: background .2s, border-color .2s; }
.mgl-consent__switch span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #c7c7c7; transition: transform .2s, background .2s; }
.mgl-consent__switch input:checked + span { background: var(--c-fg); border-color: var(--c-fg); }
.mgl-consent__switch input:checked + span::after { transform: translateX(18px); background: #fff; }
.mgl-consent__switch input:focus-visible + span { outline: 2px solid var(--c-accent); outline-offset: 3px; }

@media (max-width: 900px) {
  .mgl-consent__inner { grid-template-columns: 1fr; padding: 18px 20px calc(16px + env(safe-area-inset-bottom)); gap: 14px; max-height: 88vh; overflow: auto; }
  .mgl-consent__panel { grid-template-columns: 1fr; }
  .mgl-consent__actions { flex-wrap: wrap; justify-self: stretch; grid-column: 1 / -1; }
  .mgl-consent__btn { flex: 1 1 0; min-width: 0; padding: 14px 10px; }
  .mgl-consent__link { order: 3; width: 100%; padding: 8px 0 0; text-align: center; }
}
