.codepun-consent-banner[hidden],.codepun-consent-preferences[hidden]{display: none}.codepun-consent-banner{--cpc-color-bg: #ffffff;--cpc-color-text: #1a2333;--cpc-color-muted: #5b6675;--cpc-color-border: #d4d9e2;--cpc-color-border-hover: #98a2b3;--cpc-color-soft-bg: #f7f8fb;--cpc-color-primary: #1a2333;--cpc-color-primary-text: #ffffff;--cpc-color-accent: #3b5bdb;--cpc-color-error: #b42318;--cpc-color-error-bg: #fef3f2;--cpc-color-success: #067a57;--cpc-color-success-bg: #ecfdf3;--cpc-color-warning: #b25e09;--cpc-color-warning-bg: #fffaeb;--cpc-focus-ring: 0 0 0 3px rgba(59,91,219,0.28);--cpc-radius: 8px;--cpc-button-radius: 6px;--cpc-shadow: 0 18px 45px rgba(0,0,0,0.18);--cpc-max-width: 440px;--cpc-placeholder-bg: #f2f4f8;--cpc-placeholder-border: #d4d9e2;--cpc-float-bg: #1a2333;--cpc-float-text: #ffffff;position: fixed;inset: auto 20px 20px auto;z-index: 99999;max-width: min(var(--cpc-max-width),calc(100vw - 40px));max-height: calc(100vh - 40px);max-height: calc(100dvh - 40px);color: var(--cpc-color-text);box-sizing: border-box}.codepun-consent-banner *,.codepun-consent-banner *::before,.codepun-consent-banner *::after{box-sizing: border-box}.codepun-consent-banner--position-bottom-left{inset: auto auto 20px 20px}.codepun-consent-banner--position-bottom-full{inset: auto 0 0;max-width: none}.codepun-consent-banner--position-center{inset: 50% auto auto 50%;max-width: min(520px,calc(100vw - 40px));transform: translate(-50%,-50%)}.codepun-consent-banner__content{display: flex;flex-direction: column;gap: 16px;max-height: inherit;overflow-x: hidden;overflow-y: auto;overscroll-behavior: contain;padding: 24px;background: var(--cpc-color-bg);border: 1px solid var(--cpc-color-border);border-radius: var(--cpc-radius);box-shadow: var(--cpc-shadow);-webkit-overflow-scrolling: touch}.codepun-consent-banner--position-center .codepun-consent-banner__content{padding: 28px;box-shadow: 0 0 0 100vmax rgba(19,26,43,0.45),var(--cpc-shadow)}.codepun-consent-banner--position-bottom-full .codepun-consent-banner__content{flex-direction: row;flex-wrap: wrap;align-items: center;gap: 16px 28px;border-right: 0;border-bottom: 0;border-left: 0;border-radius: 0;box-shadow: 0 -12px 30px rgba(0,0,0,0.12)}.codepun-consent-banner--position-bottom-full .codepun-consent-banner__intro{flex: 1 1 280px;min-width: 280px}.codepun-consent-banner--position-bottom-full .codepun-consent-banner__actions{display: flex;flex-wrap: wrap;align-items: center}.codepun-consent-banner--position-bottom-full .codepun-consent-banner__actions button{width: auto}.codepun-consent-banner--position-bottom-full .codepun-consent-preferences{flex: 1 1 100%}.codepun-consent-banner__intro{display: grid;gap: 9px}.codepun-consent-banner h2{margin: 0;color: var(--cpc-color-text);font-family: inherit;font-size: 18px;font-weight: 700;letter-spacing: -0.01em;line-height: 1.25}.codepun-consent-banner p{margin: 0;color: var(--cpc-color-text);font-size: 15px;line-height: 1.55}.codepun-consent-banner__info{color: var(--cpc-color-muted);font-size: 13px;line-height: 1.5}.codepun-consent-banner__info a{color: var(--cpc-color-accent);text-decoration: underline;text-underline-offset: 2px}.codepun-consent-banner__info a:hover,.codepun-consent-banner__info a:focus-visible{color: color-mix(in srgb,var(--cpc-color-accent) 80%,#000000);text-decoration: underline;text-underline-offset: 2px}.codepun-consent-banner__actions{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 12px}.codepun-consent-banner button{width: 100%;min-height: 48px;padding: 12px 16px;border: 1px solid var(--cpc-color-border);border-radius: var(--cpc-button-radius);cursor: pointer;background: var(--cpc-color-bg);color: var(--cpc-color-text);font: inherit;font-size: 15px;font-weight: 600;line-height: 1.25;text-align: center;transition: background-color 0.12s ease,border-color 0.12s ease}.codepun-consent-banner button:focus-visible,.codepun-consent-settings-link:focus-visible,.codepun-consent-blocked-content button:focus-visible,.codepun-consent-banner a:focus-visible{outline: 2px solid var(--cpc-color-accent,#3b5bdb);outline-offset: 2px;box-shadow: var(--cpc-focus-ring)}.codepun-consent-banner .codepun-consent-button-choice{border-color: var(--cpc-color-primary);background: var(--cpc-color-primary);color: var(--cpc-color-primary-text)}.codepun-consent-banner .codepun-consent-button-choice:hover{background: color-mix(in srgb,var(--cpc-color-primary) 86%,#ffffff);border-color: color-mix(in srgb,var(--cpc-color-primary) 86%,#ffffff)}.codepun-consent-banner .codepun-consent-button-settings{grid-column: 1 / -1;justify-self: center;width: auto;min-height: 44px;padding: 11px 18px;border-color: transparent;background: transparent;color: var(--cpc-color-text);text-decoration: underline;text-underline-offset: 4px;text-decoration-color: var(--cpc-color-border-hover)}.codepun-consent-banner .codepun-consent-button-settings:hover{background: var(--cpc-color-soft-bg);border-color: transparent;text-decoration-color: var(--cpc-color-text)}.codepun-consent-banner--density-compact .codepun-consent-banner__content{gap: 12px;padding: 16px}.codepun-consent-banner--density-compact h2{font-size: 15px}.codepun-consent-banner--density-compact p{font-size: 13px;line-height: 1.45}.codepun-consent-banner--density-compact .codepun-consent-banner__info{font-size: 12px}.codepun-consent-banner--density-compact .codepun-consent-banner__actions{gap: 8px}.codepun-consent-banner--density-compact button{min-height: 44px;padding: 10px 12px;font-size: 13.5px}.codepun-consent-preferences{flex: 1 1 auto;min-height: 0;max-height: min(52vh,430px);overflow-x: hidden;overflow-y: auto;overscroll-behavior: contain;padding-top: 16px;border-top: 1px solid var(--cpc-color-border);-webkit-overflow-scrolling: touch}.codepun-consent-preferences__footer{position: sticky;bottom: 0;margin-top: 14px;padding-top: 14px;background: var(--cpc-color-bg);border-top: 1px solid var(--cpc-color-border)}.codepun-consent-preferences__footer button,.codepun-consent-preferences__footer .button-primary{width: 100%;min-height: 48px;padding: 12px 16px;border: 1px solid var(--cpc-color-primary);border-radius: var(--cpc-button-radius);cursor: pointer;background: var(--cpc-color-primary);color: var(--cpc-color-primary-text);font: inherit;font-size: 15px;font-weight: 600;line-height: 1.25}.codepun-consent-preferences__footer button:hover{background: color-mix(in srgb,var(--cpc-color-primary) 86%,#ffffff);border-color: color-mix(in srgb,var(--cpc-color-primary) 86%,#ffffff)}.codepun-consent-categories{display: grid;gap: 14px;margin: 0;padding: 0;border: 0}.codepun-consent-categories>legend{margin: 0 0 10px;padding: 0;font-size: 14px;font-weight: 700}.codepun-consent-category-group{display: grid;gap: 0;padding: 0;border: 1px solid var(--cpc-color-border);border-radius: var(--cpc-radius);background: var(--cpc-color-bg);overflow: hidden}.codepun-consent-category{display: flex;gap: 12px;align-items: flex-start;min-height: 44px;padding: 14px 16px;font-size: 14px;font-weight: 600;cursor: pointer}.codepun-consent-category>span{line-height: 1.4}.codepun-consent-category input,.codepun-consent-service-toggle input{appearance: none;-webkit-appearance: none;width: 20px;height: 20px;flex: 0 0 auto;margin: 1px 0 0;border: 2px solid var(--cpc-color-border-hover);border-radius: 5px;background: var(--cpc-color-bg);cursor: pointer;display: inline-grid;place-items: center}.codepun-consent-service-toggle input{width: 18px;height: 18px}.codepun-consent-category input:checked,.codepun-consent-service-toggle input:checked,.codepun-consent-category input:indeterminate{border-color: var(--cpc-color-primary);background-color: var(--cpc-color-primary)}.codepun-consent-category input:checked::before,.codepun-consent-service-toggle input:checked::before{content: "";width: 10px;height: 10px;background: var(--cpc-color-primary-text);clip-path: polygon(14% 52%,0 66%,36% 100%,100% 20%,86% 8%,36% 70%)}.codepun-consent-category input:indeterminate::before{content: "";width: 10px;height: 2.5px;border-radius: 2px;background: var(--cpc-color-primary-text)}.codepun-consent-category input:focus-visible,.codepun-consent-service-toggle input:focus-visible{outline: none;box-shadow: var(--cpc-focus-ring)}.codepun-consent-services-list{display: grid;gap: 0;padding: 6px 16px 10px 48px;border-top: 1px solid color-mix(in srgb,var(--cpc-color-border) 55%,transparent);background: var(--cpc-color-soft-bg)}.codepun-consent-service-toggle{display: grid;grid-template-columns: auto minmax(0,1fr);gap: 12px;align-items: flex-start;padding: 10px 0;cursor: pointer}.codepun-consent-service-toggle + .codepun-consent-service-toggle{border-top: 1px solid color-mix(in srgb,var(--cpc-color-border) 45%,transparent)}.codepun-consent-service-toggle strong,.codepun-consent-service-toggle small{display: block}.codepun-consent-service-toggle strong{font-size: 13.5px;font-weight: 600}.codepun-consent-service-toggle small{margin-top: 2px;color: var(--cpc-color-muted);font-size: 12.5px;line-height: 1.4}.codepun-consent-necessary-services{margin-top: 0;padding: 14px 16px;border: 1px solid var(--cpc-color-border);border-radius: var(--cpc-radius);background: var(--cpc-color-soft-bg);font-size: 13px;line-height: 1.5}.codepun-consent-necessary-services strong{display: inline-block;padding: 2px 10px;border: 1px solid var(--cpc-color-success);border-radius: 999px;color: var(--cpc-color-success);background: var(--cpc-color-success-bg);font-size: 11.5px;font-weight: 700}.codepun-consent-necessary-services ul{margin: 8px 0 0 18px;padding: 0;color: var(--cpc-color-muted)}.codepun-consent-settings-link{min-height: 44px;cursor: pointer}.codepun-consent-settings-footer{margin: 1.5rem 0}.codepun-consent-settings-footer .codepun-consent-settings-link{padding: 0;border: 0;background: none;color: var(--cpc-color-accent,#3b5bdb);font: inherit;font-weight: 600;text-decoration: none}.codepun-consent-settings-footer .codepun-consent-settings-link:hover,.codepun-consent-settings-footer .codepun-consent-settings-link:focus-visible{color: color-mix(in srgb,var(--cpc-color-accent,#3b5bdb) 80%,#000000);text-decoration: underline;text-underline-offset: 3px}.codepun-consent-settings-floating{position: fixed;right: 20px;bottom: 20px;z-index: 99998}.codepun-consent-settings-floating .codepun-consent-settings-link{display: inline-flex;align-items: center;gap: 10px;min-height: 44px;padding: 11px 18px 11px 14px;border: 1px solid var(--cpc-float-bg,#1a2333);border-radius: 999px;background: var(--cpc-float-bg,#1a2333);color: var(--cpc-float-text,#ffffff);font: inherit;font-size: 14px;font-weight: 600;box-shadow: 0 8px 22px rgba(19,26,43,0.28)}.codepun-consent-settings-floating .codepun-consent-settings-link::before{content: "";width: 17px;height: 19px;flex: none;background: currentColor;clip-path: polygon(50% 0,100% 16%,100% 55%,50% 100%,0 55%,0 16%)}.codepun-consent-blocked-content{--cpc-placeholder-bg: #f2f4f8;--cpc-placeholder-border: #d4d9e2;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 6px;min-height: 230px;padding: 26px 22px;border: 1px solid var(--cpc-placeholder-border);border-radius: 8px;background: var(--cpc-placeholder-bg);text-align: center}.codepun-consent-blocked-content::before{content: "";width: 56px;height: 56px;margin-bottom: 10px;border-radius: 999px;border: 1px solid var(--cpc-placeholder-border);background-color: #ffffff;background-repeat: no-repeat;background-position: center;background-size: 22px 22px;background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%235b6675" stroke-width="2"><rect x="3" y="11" width="18" height="10" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>');box-shadow: 0 2px 6px rgba(0,0,0,0.06)}.codepun-consent-blocked-content[data-codepun-consent-service="youtube"]::before,.codepun-consent-blocked-content[data-codepun-consent-service*="video"]::before,.codepun-consent-blocked-content[data-codepun-consent-service="vimeo"]::before{background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%235b6675"><path d="M8 5.5v13l11-6.5z"/></svg>')}.codepun-consent-blocked-content[data-codepun-consent-service*="maps"]::before{background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%235b6675" stroke-width="2"><path d="M12 21s-7-6.1-7-11a7 7 0 0 1 14 0c0 4.9-7 11-7 11z"/><circle cx="12" cy="10" r="2.6"/></svg>')}.codepun-consent-blocked-content strong{color: #1a2333;font-size: 15px;font-weight: 700}.codepun-consent-blocked-content p{max-width: 340px;margin: 0 0 10px;color: #5b6675;font-size: 13px;line-height: 1.5}.codepun-consent-blocked-content__actions{display: flex;flex-wrap: wrap;gap: 10px;justify-content: center}.codepun-consent-blocked-content button{min-height: 44px;padding: 11px 18px;border: 1px solid #1a2333;border-radius: 6px;background: #1a2333;color: #ffffff;font: inherit;font-size: 14px;font-weight: 600;cursor: pointer}.codepun-consent-blocked-content button:hover{background: color-mix(in srgb,#1a2333 86%,#ffffff)}.codepun-consent-blocked-content .codepun-consent-blocked-content__settings{border-color: var(--cpc-placeholder-border,#d4d9e2);background: transparent;color: #1a2333}.codepun-consent-blocked-content .codepun-consent-blocked-content__settings:hover{background: color-mix(in srgb,#5b6675 8%,transparent)}.codepun-consent-service-overview{margin: 2rem 0}.codepun-consent-service-overview h2,.codepun-consent-service-overview h3{margin: 0 0 1rem}.codepun-consent-service-overview h3{margin-top: 1.5rem;font-size: 1.125rem}.codepun-consent-service-overview__table-wrap:focus-visible{outline: 2px solid currentColor;outline-offset: 2px}.codepun-consent-service-overview__table-wrap{overflow-x: auto;border: 1px solid #d4d9e2;border-radius: 10px;background: #ffffff;box-shadow: 0 1px 2px rgba(19,26,43,0.04)}.codepun-consent-service-overview__table{width: 100%;min-width: 720px;border-collapse: collapse}.codepun-consent-service-overview__table th,.codepun-consent-service-overview__table td{padding: 12px 16px;border-bottom: 1px solid #d4d9e2;text-align: left;vertical-align: top}.codepun-consent-service-overview__table tr:last-child th,.codepun-consent-service-overview__table tr:last-child td{border-bottom: 0}.codepun-consent-service-overview__table thead th{background: #f7f8fb;color: #1a2333;font-size: 0.875rem;font-weight: 700}.codepun-consent-service-overview__category td{padding: 9px 16px;background: #eef2ff;border-bottom: 1px solid #e4e8f2;color: #3b5bdb;font-size: 0.75rem;font-weight: 700;letter-spacing: 0.04em;text-transform: uppercase}.codepun-consent-service-overview__table span{color: #5b6675}.codepun-consent-service-overview__table-wrap{container-type: inline-size}@container (max-width: 719px){.codepun-consent-service-overview__table,.codepun-consent-service-overview__table tbody,.codepun-consent-service-overview__table tr,.codepun-consent-service-overview__table th,.codepun-consent-service-overview__table td{display: block;width: 100%;min-width: 0}.codepun-consent-service-overview__table thead{display: none}.codepun-consent-service-overview__table tr{border-bottom: 1px solid #d4d9e2}.codepun-consent-service-overview__table tr:last-child{border-bottom: 0}.codepun-consent-service-overview__table th[scope="row"]{padding-bottom: 4px;border-bottom: 0}.codepun-consent-service-overview__table td{display: flex;gap: 16px;padding-top: 6px;padding-bottom: 6px;border-bottom: 0;overflow-wrap: anywhere}.codepun-consent-service-overview__table tr>td:last-child{padding-bottom: 14px}.codepun-consent-service-overview__table td[data-label]::before{content: attr(data-label);flex: 0 0 38%;color: #5b6675}.codepun-consent-service-overview__category td{display: block;padding: 9px 16px}}@media (max-width: 600px){.codepun-consent-banner{inset: auto 0 0;max-width: none;max-height: calc(100vh - 8px);max-height: calc(100dvh - 8px);transform: none}.codepun-consent-banner__content{gap: 14px;padding: 22px 20px 20px;border-right: 0;border-bottom: 0;border-left: 0;border-radius: 16px 16px 0 0;box-shadow: 0 -12px 30px rgba(0,0,0,0.16)}.codepun-consent-banner--position-center .codepun-consent-banner__content{box-shadow: 0 0 0 100vmax rgba(19,26,43,0.45),0 -12px 30px rgba(0,0,0,0.16)}.codepun-consent-banner__actions{grid-template-columns: 1fr;gap: 10px}.codepun-consent-banner--position-bottom-full .codepun-consent-banner__content{flex-direction: column;flex-wrap: nowrap;align-items: stretch}.codepun-consent-banner .codepun-consent-banner__content{overflow: hidden}.codepun-consent-banner__intro,.codepun-consent-banner .codepun-consent-preferences{min-height: 0;overflow-y: auto}.codepun-consent-banner .codepun-consent-banner__intro{flex: 0 1 auto;min-width: 0}.codepun-consent-banner .codepun-consent-banner__actions{flex: none}.codepun-consent-banner--position-bottom-full .codepun-consent-banner__actions{display: grid}.codepun-consent-banner--position-bottom-full .codepun-consent-banner__actions button{width: 100%}.codepun-consent-preferences{max-height: min(58vh,520px)}.codepun-consent-services-list{padding-left: 16px}}@media (max-height: 720px){.codepun-consent-banner__content{padding: 16px}.codepun-consent-banner h2{font-size: 16px}.codepun-consent-banner__actions{gap: 8px}.codepun-consent-preferences{padding-top: 12px}}@media (max-width: 1023px) and (max-height: 499px){.codepun-consent-banner{inset: auto 0 0;max-width: none;max-height: 80vh;max-height: 80dvh;transform: none}.codepun-consent-banner .codepun-consent-banner__content{flex-direction: column;flex-wrap: nowrap;align-items: stretch;gap: 10px;max-height: inherit;padding: 14px max(20px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow: hidden}.codepun-consent-banner .codepun-consent-banner__intro{flex: 1 1 auto;min-width: 0;min-height: 0;overflow-y: auto}.codepun-consent-banner .codepun-consent-banner__actions{display: grid;flex: none;grid-template-columns: repeat(3,minmax(0,1fr));gap: 8px}.codepun-consent-banner .codepun-consent-banner__actions button{grid-column: auto;width: 100%;min-height: 44px}}@media (max-width: 600px),(max-width: 1023px) and (max-height: 499px){.codepun-consent-banner:has(.codepun-consent-preferences:not([hidden])){max-height: calc(100vh - 8px);max-height: calc(100dvh - 8px)}.codepun-consent-banner:has(.codepun-consent-preferences:not([hidden])) .codepun-consent-banner__content{overflow-y: auto}.codepun-consent-banner:has(.codepun-consent-preferences:not([hidden])) :is(.codepun-consent-banner__intro,.codepun-consent-preferences){flex: none;max-height: none;overflow: visible}}@media (max-width: 380px){.codepun-consent-banner__actions{grid-template-columns: 1fr}}@media (prefers-reduced-motion: reduce){.codepun-consent-banner button,.codepun-consent-blocked-content button{transition: none}}
