/* Cannectra Consent UI | scoped component. No pre-consent third-party resources. */
.cnc-consent,
.cnc-consent-reopen {
  --cnc-ink: var(--wp--preset--color--ink, #1e2a2f);
  --cnc-brand: var(--wp--preset--color--brand, #578b9b);
  --cnc-dark: var(--wp--preset--color--brand-dark, #365f6b);
  --cnc-accent: var(--wp--preset--color--accent, #ff8a2a);
  --cnc-line: #dbe7ea;
  --cnc-muted: #677b83;
  --cnc-soft: #f4fafb;
  --cnc-ease: cubic-bezier(.22,.72,.2,1);
  font-family: 'Rubik', Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
}
.cnc-consent *, .cnc-consent *::before, .cnc-consent *::after,
.cnc-consent-reopen, .cnc-consent-reopen * {box-sizing:border-box}
.cnc-consent [hidden], .cnc-consent-reopen[hidden] {display:none!important}
.cnc-consent {position:fixed;inset:0;z-index:2147482000;color:var(--cnc-ink);pointer-events:none}
.cnc-consent__scrim {position:absolute;inset:0;background:rgba(20,43,51,.50);backdrop-filter:blur(5px) saturate(.83);-webkit-backdrop-filter:blur(5px) saturate(.83);pointer-events:auto;opacity:0;transition:opacity .32s ease}
.cnc-consent__panel {
  position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:50%;
  width:min(965px,calc(100% - 36px));max-height:calc(100dvh - 36px);
  overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bccfd4 transparent;
  pointer-events:auto;border:1px solid rgba(196,218,224,.9);border-radius:20px;
  background:linear-gradient(150deg,#fff 0%,#fff 63%,#f8fbfc 100%);
  box-shadow:0 32px 100px rgba(10,34,42,.31),0 8px 24px rgba(15,42,50,.12),inset 0 1px 0 rgba(255,255,255,.95);
  transform:translate(-50%,22px) scale(.987);opacity:0;
  transition:transform .38s var(--cnc-ease),opacity .26s ease;
}
.cnc-consent__panel:focus{outline:none}
.cnc-consent__panel::before {content:"";position:sticky;top:0;z-index:2;display:block;height:3px;background:linear-gradient(90deg,#365f6b 0%,#578b9b 63%,#ff8a2a 100%);pointer-events:none}
.cnc-consent.is-visible .cnc-consent__scrim{opacity:1}
.cnc-consent.is-visible .cnc-consent__panel{transform:translate(-50%,0) scale(1);opacity:1}
.cnc-consent__intro {display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:27px;align-items:center;padding:26px 28px 20px}
.cnc-consent__identity{display:flex;align-items:center;gap:10px;margin-bottom:15px}
.cnc-consent__mark{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #d6e6e9;border-radius:11px;background:#eaf3f5;color:var(--cnc-dark)}
.cnc-consent__mark svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cnc-consent__eyebrow {display:flex;align-items:center;gap:8px;color:#527a87;font-size:10px;font-weight:850;letter-spacing:.105em;text-transform:uppercase}
.cnc-consent__eyebrow::before {content:"";display:block;flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--cnc-accent);box-shadow:0 0 0 3px rgba(255,138,42,.15),0 0 12px rgba(255,138,42,.38)}
.cnc-consent__title{margin:0 0 10px;font-size:clamp(23px,2.7vw,30px);font-weight:800;line-height:1.13;letter-spacing:-.045em;color:var(--cnc-ink)}
.cnc-consent__description {max-width:620px;margin:0;color:#5c727a;font-size:12.2px;line-height:1.72}
.cnc-consent__description strong{color:#315866;font-weight:750}
.cnc-consent__meta {display:flex;align-items:center;flex-wrap:wrap;gap:6px 15px;margin-top:15px;font-size:10.5px;color:#6a828b;line-height:1.5}
.cnc-consent__meta a {color:#365f6b;font-size:10.5px;font-weight:700;text-decoration:underline;text-decoration-color:#9eb9c1;text-underline-offset:3px}
.cnc-consent__meta a:hover{color:#bd6723;text-decoration-color:#bd6723}
.cnc-consent__actions {display:grid;gap:9px;align-content:center}
.cnc-consent__button{appearance:none;display:inline-flex;justify-content:center;align-items:center;gap:10px;width:100%;min-height:45px;padding:10px 14px;border:1px solid transparent;border-radius:10px;box-shadow:none;color:var(--cnc-ink);font:750 11.5px/1.25 'Rubik',Inter,system-ui,sans-serif;text-align:center;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,box-shadow .17s ease}
.cnc-consent__button svg{display:block;width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.cnc-consent__button:hover{box-shadow:0 4px 13px rgba(32,69,81,.10)}
.cnc-consent__button--accept{background:#365f6b;border-color:#365f6b;color:#fff}
.cnc-consent__button--accept:hover{background:#2b515c;border-color:#2b515c}
.cnc-consent__button--reject{background:#426b77;border-color:#426b77;color:#fff}
.cnc-consent__button--reject:hover{background:#345d68;border-color:#345d68}
.cnc-consent__button--configure{background:#eef5f7;border-color:#cbdce1;color:#315866}
.cnc-consent__button--configure:hover{background:#e4eef1;border-color:#adc9d1}
.cnc-consent__button--save{background:var(--cnc-accent);border-color:var(--cnc-accent);color:#fff}
.cnc-consent__button--save:hover{background:#e47c25;border-color:#e47c25}
.cnc-consent__button:focus-visible,.cnc-consent__back:focus-visible,.cnc-consent a:focus-visible,.cnc-consent-reopen:focus-visible {outline:3px solid rgba(255,138,42,.64);outline-offset:3px}
.cnc-consent__microcopy {margin:8px 0 0;color:#84959c;font-size:9.5px;line-height:1.5;text-align:center}
.cnc-consent__lower{display:flex;align-items:center;justify-content:space-between;gap:10px 22px;flex-wrap:wrap;padding:12px 28px 15px;border-top:1px solid #eaf0f2;color:#7a8d94;font-size:10px;line-height:1.4}
.cnc-consent__status {display:inline-flex;align-items:center;gap:7px;font-weight:650}
.cnc-consent__status::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#4b8e69;box-shadow:0 0 0 3px rgba(75,142,105,.12)}
.cnc-consent__lower-note{max-width:390px;text-align:right}
/* Detailed preferences stay in this exact dialog, not a detached second banner. */
.cnc-consent__settings {padding:23px 27px 20px;animation:cnc-enter .28s var(--cnc-ease) both}
@keyframes cnc-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.cnc-consent__settings-top{display:flex;align-items:flex-start;gap:15px;margin-bottom:18px}
.cnc-consent__back{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;padding:0;border:1px solid var(--cnc-line);border-radius:10px;background:var(--cnc-soft);color:var(--cnc-dark);cursor:pointer}
.cnc-consent__back:hover{background:#e8f1f4}
.cnc-consent__back svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cnc-consent__settings-top h2{margin:0;color:var(--cnc-ink);font-size:22px;font-weight:800;line-height:1.24;letter-spacing:-.032em}
.cnc-consent__settings-top p{margin:6px 0 0;color:var(--cnc-muted);font-size:11.5px;line-height:1.65}
.cnc-consent__categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cnc-consent__category {position:relative;display:flex;align-items:flex-start;gap:12px;min-width:0;min-height:135px;padding:16px;border:1px solid var(--cnc-line);border-radius:13px;background:#fff;cursor:pointer;transition:background-color .15s,border-color .15s}
.cnc-consent__category:hover{background:#f8fbfc;border-color:#bbd0d6}
.cnc-consent__category--required{cursor:default;background:#f3f8f9}
.cnc-consent__category--required:hover{background:#f3f8f9;border-color:var(--cnc-line)}
.cnc-consent__category-text{flex:1;min-width:0}
.cnc-consent__category-heading{display:block;margin:1px 0 6px;color:#2e4c55;font-size:12.5px;font-weight:800;line-height:1.3}
.cnc-consent__category-description{display:block;color:#70858d;font-size:10.5px;line-height:1.58}
.cnc-consent__required-tag{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:#477960;font-size:9.2px;font-weight:800}
.cnc-consent__required-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:#4b8e69}
.cnc-consent__switch{position:relative;display:block;flex:0 0 42px;width:42px;height:24px;margin-top:0;border:1px solid #c4d4d9;border-radius:999px;background:#dde8eb;transition:background-color .2s ease,border-color .2s ease}
.cnc-consent__switch::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(24,51,60,.15);transition:transform .2s var(--cnc-ease)}
.cnc-consent__input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%)}
.cnc-consent__input:checked + .cnc-consent__switch{background:#477987;border-color:#477987}
.cnc-consent__input:checked + .cnc-consent__switch::after{transform:translateX(18px)}
.cnc-consent__input:focus-visible + .cnc-consent__switch{outline:3px solid rgba(255,138,42,.64);outline-offset:3px}
.cnc-consent__input:disabled + .cnc-consent__switch{background:#6a9b85;border-color:#6a9b85;opacity:.85}
.cnc-consent__hint {margin:15px 0 14px;padding:11px 13px;border:1px solid #dce9ed;border-radius:10px;background:#f4fafb;color:#6b8088;font-size:10px;line-height:1.65}
.cnc-consent__settings-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
.cnc-consent__settings-legal{display:flex;justify-content:space-between;gap:16px;margin-top:14px;color:#72878e;font-size:9.5px;line-height:1.6}
.cnc-consent__settings-legal a{color:#365f6b;text-decoration:underline;text-underline-offset:2px}
.cnc-consent-reopen{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:16px;z-index:2147481998;display:inline-flex;align-items:center;gap:9px;min-height:39px;padding:8px 12px;border:1px solid #cadde3;border-radius:10px;background:#fff;color:#365f6b;box-shadow:0 6px 20px rgba(30,58,68,.12);font-size:11px;font-weight:800;cursor:pointer;transition:background-color .16s}
.cnc-consent-reopen svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cnc-consent-reopen:hover{background:#eef5f7}
@media(max-width:760px){
  .cnc-consent__panel{width:min(640px,calc(100% - 24px));bottom:max(12px,env(safe-area-inset-bottom));max-height:calc(100dvh - 24px);border-radius:17px}
  .cnc-consent__intro{grid-template-columns:1fr;gap:17px;padding:22px 21px 17px}
  .cnc-consent__identity{margin-bottom:11px}
  .cnc-consent__title{font-size:25px}
  .cnc-consent__actions{grid-template-columns:1fr 1fr;gap:8px}
  .cnc-consent__actions .cnc-consent__button--configure{grid-column:1/-1;grid-row:2}
  .cnc-consent__button{padding:9px 9px;font-size:10.5px}
  .cnc-consent__microcopy{display:none}
  .cnc-consent__lower{padding:11px 21px 13px}
  .cnc-consent__settings{padding:20px 18px 18px}
  .cnc-consent__settings-footer{grid-template-columns:1fr 1fr}
  .cnc-consent__settings-footer .cnc-consent__button--save{grid-column:1/-1;grid-row:1}
}
@media(max-width:540px){
  .cnc-consent__panel{width:calc(100% - 18px);bottom:max(9px,env(safe-area-inset-bottom));max-height:calc(100dvh - 18px);border-radius:15px}
  .cnc-consent__intro{gap:14px;padding:18px 17px 14px}
  .cnc-consent__mark{width:32px;height:32px;flex-basis:32px;border-radius:9px}
  .cnc-consent__identity{margin-bottom:10px}
  .cnc-consent__eyebrow{font-size:9px}
  .cnc-consent__title{font-size:24px;margin-bottom:9px}
  .cnc-consent__description{font-size:11.4px;line-height:1.62}
  .cnc-consent__meta{margin-top:11px;font-size:9.5px}
  .cnc-consent__meta a{font-size:9.5px}
  .cnc-consent__actions{gap:7px}
  .cnc-consent__button{min-height:43px;font-size:10px;border-radius:9px}
  .cnc-consent__lower{padding:10px 17px;font-size:9px}
  .cnc-consent__lower-note{display:none}
  .cnc-consent__settings{padding:17px 14px 14px}
  .cnc-consent__settings-top{gap:10px;margin-bottom:12px}
  .cnc-consent__settings-top h2{font-size:19px}
  .cnc-consent__settings-top p{font-size:10px;line-height:1.5}
  .cnc-consent__categories{grid-template-columns:1fr;gap:8px}
  .cnc-consent__category{min-height:0;padding:12px 13px;gap:9px;border-radius:10px}
  .cnc-consent__category-heading{font-size:11.5px;margin-bottom:3px}
  .cnc-consent__category-description{font-size:9.5px;line-height:1.45}
  .cnc-consent__required-tag{margin-top:6px;font-size:8.5px}
  .cnc-consent__hint{margin:10px 0;padding:9px 11px;font-size:9px}
  .cnc-consent__settings-legal{margin-top:10px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .cnc-consent__scrim,.cnc-consent__panel,.cnc-consent__button,.cnc-consent__switch,.cnc-consent__switch::after,.cnc-consent-reopen{transition:none!important}
  .cnc-consent__settings{animation:none!important}
}
.cnc-consent .cnc-consent__sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Loading owns the original background; consent retains its transparent blur layer. */
html.cannectra-consent-open{overflow:hidden}
.cannectra-consent-open .cnc-consent__scrim{background:transparent}
.cannectra-consent-loading .cannectra-loading-intro{background:transparent!important;backdrop-filter:blur(5px) saturate(.83);opacity:1!important;pointer-events:auto!important}
.cannectra-loading-intro.is-consent-background{display:block!important;opacity:1!important;background:transparent!important;backdrop-filter:blur(5px) saturate(.83);pointer-events:auto!important}
.cannectra-loading-intro.is-consent-background>*{display:none!important}
