:root {
  --gocce-tool-blue: #17365d;
  --gocce-tool-accent: #e8a317;
  --gocce-tool-surface: #fff;
  --gocce-tool-text: #152033;
  --gocce-tool-muted: #536174;
  --gocce-tool-border: #cbd3df;
  --gocce-tool-focus: #005fcc;
}

html.gocce-consent-blocked,
html.gocce-consent-blocked body { overflow: hidden; }

.gocce-consent,
.gocce-a11y { color: var(--gocce-tool-text); font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.5; }

.gocce-consent button,
.gocce-a11y button { font: inherit; }

.gocce-consent button:focus-visible,
.gocce-consent a:focus-visible,
.gocce-a11y button:focus-visible,
.gocce-a11y a:focus-visible,
.gocce-a11y input:focus-visible,
.gocce-external-placeholder button:focus-visible {
  outline: 3px solid var(--gocce-tool-focus);
  outline-offset: 3px;
}

.gocce-consent-manage,
.gocce-a11y-trigger {
  position: fixed;
  bottom: 18px;
  z-index: 99990;
  display: inline-flex;
  width: 50px;
  height: 50px;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  border-radius: 999px;
  padding: 0;
  background: var(--gocce-tool-blue);
  box-shadow: 0 6px 22px rgba(0, 0, 0, .28);
  color: #fff;
  cursor: pointer;
  font-weight: 700;
}

.gocce-consent-manage { left: 18px; }
.gocce-a11y-trigger { right: 18px; bottom: calc(87px + env(safe-area-inset-bottom)); }
.gocce-menu-open .gocce-consent-manage,
.gocce-menu-open .gocce-a11y-trigger { opacity: 0; visibility: hidden; pointer-events: none; }
.gocce-consent-manage svg,
.gocce-tool-mark svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

.gocce-consent-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  align-items: end;
  justify-items: center;
  overflow-y: auto;
  padding: 24px;
  background: rgba(8, 20, 38, .72);
}

.gocce-consent-dialog {
  width: min(760px, 100%);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  border: 1px solid var(--gocce-tool-border);
  border-radius: 18px;
  padding: clamp(22px, 4vw, 36px);
  background: var(--gocce-tool-surface);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
  color: var(--gocce-tool-text);
}

.gocce-consent-dialog h2,
.gocce-a11y-panel h2,
.gocce-a11y-panel h3 { margin: 0; color: var(--gocce-tool-text); font-family: Arial, Helvetica, sans-serif; }
.gocce-consent-dialog h2 { font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.2; }
.gocce-consent-dialog p { margin: 10px 0; color: var(--gocce-tool-muted); }
.gocce-tool-kicker { margin: 0 0 5px !important; color: #8a5900 !important; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.gocce-policy-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 15px 0; }
.gocce-policy-links a,
.gocce-a11y-info a { color: #124d8c; font-weight: 700; text-decoration: underline; }
.gocce-consent-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.gocce-consent-actions button,
.gocce-external-placeholder button {
  min-height: 44px;
  border: 2px solid var(--gocce-tool-blue);
  border-radius: 8px;
  padding: 9px 16px;
  background: #fff;
  color: var(--gocce-tool-blue);
  cursor: pointer;
  font-weight: 700;
}
.gocce-consent-actions button.is-primary,
.gocce-external-placeholder button { background: var(--gocce-tool-blue); color: #fff; }
.gocce-tool-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.gocce-tool-close { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; border: 1px solid var(--gocce-tool-border); border-radius: 50%; background: #f5f7fa; color: var(--gocce-tool-text); cursor: pointer; font-size: 1.7rem !important; line-height: 1; }
.gocce-consent-category { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 12px; border: 1px solid var(--gocce-tool-border); border-radius: 10px; padding: 14px 16px; background: #fff; }
.gocce-consent-category strong { display: block; color: var(--gocce-tool-text); }
.gocce-consent-category p { margin: 3px 0 0; font-size: .92rem; }
.gocce-consent-category input { width: 25px; height: 25px; flex: 0 0 auto; accent-color: var(--gocce-tool-blue); }
.gocce-consent-category.is-locked { background: #f2f5f8; }
.gocce-consent-category.is-locked > span { color: #315947; font-size: .85rem; font-weight: 800; white-space: nowrap; }
.gocce-consent-inventory { margin-top: 16px; border-top: 1px solid var(--gocce-tool-border); padding-top: 12px; }
.gocce-consent-inventory summary { cursor: pointer; font-weight: 800; }
.gocce-consent-inventory dl { margin: 12px 0 0; }
.gocce-consent-inventory dl div { display: grid; grid-template-columns: minmax(140px, .8fr) 2fr; gap: 12px; padding: 8px 0; border-top: 1px solid #e4e8ee; }
.gocce-consent-inventory dt { font-weight: 800; }
.gocce-consent-inventory dd { margin: 0; color: var(--gocce-tool-muted); }

.gocce-a11y-drawer { position: fixed; inset: 0; z-index: 99980; pointer-events: none; }
.gocce-a11y-panel {
  position: absolute;
  top: 12px;
  right: 12px;
  bottom: 12px;
  width: min(410px, calc(100vw - 24px));
  overflow-y: auto;
  border: 1px solid var(--gocce-tool-border);
  border-radius: 16px;
  padding: 20px;
  background: var(--gocce-tool-surface);
  box-shadow: 0 16px 55px rgba(0, 0, 0, .3);
  color: var(--gocce-tool-text);
  pointer-events: auto;
}
.gocce-tool-title { display: flex; align-items: center; gap: 10px; }
.gocce-tool-title .gocce-tool-mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--gocce-tool-blue); color: #fff; }
.gocce-a11y-panel > p { color: var(--gocce-tool-muted); }
.gocce-a11y-section { margin-top: 18px; border-top: 1px solid var(--gocce-tool-border); padding-top: 16px; }
.gocce-a11y-section h3 { margin-bottom: 10px; font-size: 1rem; }
.gocce-a11y-text-size { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gocce-a11y-text-size > div { display: flex; align-items: center; gap: 5px; }
.gocce-a11y-text-size button { width: 40px; height: 40px; border: 1px solid var(--gocce-tool-border); border-radius: 7px; background: #f5f7fa; color: var(--gocce-tool-text); cursor: pointer; font-weight: 800; }
.gocce-a11y-text-size button:disabled { cursor: not-allowed; opacity: .45; }
.gocce-a11y-text-size output { min-width: 58px; text-align: center; font-weight: 800; }
.gocce-a11y-choices { margin: 14px 0 0; border: 0; padding: 0; }
.gocce-a11y-choices legend { margin-bottom: 7px; color: var(--gocce-tool-muted); font-size: .88rem; }
.gocce-a11y-choices > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }
.gocce-a11y-choices > div.is-three { grid-template-columns: repeat(3, 1fr); }
.gocce-a11y-choices label { position: relative; margin: 0; }
.gocce-a11y-choices input { position: absolute; inset: 0; opacity: 0; }
.gocce-a11y-choices span { display: grid; min-height: 42px; place-items: center; border: 1px solid var(--gocce-tool-border); border-radius: 7px; padding: 6px; background: #fff; color: var(--gocce-tool-text); cursor: pointer; font-size: .82rem; font-weight: 700; text-align: center; }
.gocce-a11y-choices input:checked + span { border: 2px solid var(--gocce-tool-blue); background: #eaf1f9; color: var(--gocce-tool-blue); }
.gocce-a11y-choices input:focus-visible + span { outline: 3px solid var(--gocce-tool-focus); outline-offset: 2px; }
.gocce-a11y-controls { display: grid; gap: 7px; }
.gocce-a11y-controls button { display: flex; min-height: 45px; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--gocce-tool-border); border-radius: 7px; padding: 8px 11px; background: #fff; color: var(--gocce-tool-text); cursor: pointer; text-align: left; }
.gocce-switch { position: relative; width: 37px; height: 21px; flex: 0 0 auto; border-radius: 999px; background: #9aa5b2; }
.gocce-switch::after { position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #fff; content: ''; transition: transform .15s ease; }
.gocce-a11y-controls button[aria-pressed="true"] { border-color: var(--gocce-tool-blue); background: #eaf1f9; color: var(--gocce-tool-blue); font-weight: 800; }
.gocce-a11y-controls button[aria-pressed="true"] .gocce-switch { background: var(--gocce-tool-blue); }
.gocce-a11y-controls button[aria-pressed="true"] .gocce-switch::after { transform: translateX(16px); }
.gocce-a11y-storage { border-radius: 7px; padding: 9px; background: #f2f5f8; font-size: .83rem; }
.gocce-a11y-reset { width: 100%; min-height: 44px; border: 2px solid var(--gocce-tool-blue); border-radius: 7px; background: #fff; color: var(--gocce-tool-blue); cursor: pointer; font-weight: 800; }
.gocce-a11y-reset:disabled { opacity: .45; cursor: not-allowed; }
.gocce-a11y-info { text-align: center; }
.gocce-reading-guide { position: fixed; left: 0; right: 0; z-index: 99970; height: 36px; border-top: 3px solid #e8a317; border-bottom: 3px solid #e8a317; background: rgba(255, 224, 102, .2); pointer-events: none; }

.gocce-external-placeholder { display: grid; min-height: 220px; place-items: center; align-content: center; gap: 7px; border: 2px dashed #718096; border-radius: 10px; padding: 24px; background: #f2f5f8; color: #152033; text-align: center; }
.gocce-external-placeholder p { margin: 0 0 7px; }
.gocce-legal-document { padding-top: 60px; padding-bottom: 80px; }
.gocce-legal-document h2 { margin-top: 34px; }
.gocce-table-wrap { max-width: 100%; overflow-x: auto; margin: 28px 0; }
.gocce-table-wrap table { width: 100%; min-width: 680px; border-collapse: collapse; }
.gocce-table-wrap caption { padding: 10px 0; color: inherit; font-weight: 800; text-align: left; }
.gocce-table-wrap th,
.gocce-table-wrap td { border: 1px solid #cad2dc; padding: 11px; text-align: left; vertical-align: top; }
.gocce-table-wrap thead { background: #17365d; color: #fff; }

html.gocce-a11y-readable-font body,
html.gocce-a11y-readable-font button,
html.gocce-a11y-readable-font input,
html.gocce-a11y-readable-font textarea,
html.gocce-a11y-readable-font select { font-family: Arial, Verdana, sans-serif !important; }
html.gocce-a11y-spacing body { letter-spacing: .08em !important; line-height: 1.8 !important; word-spacing: .12em !important; }
html.gocce-a11y-spacing p,
html.gocce-a11y-spacing li { line-height: 1.8 !important; }
html.gocce-a11y-headings main :is(h1, h2, h3, h4, h5, h6) { outline: 3px solid currentColor !important; outline-offset: 4px; text-decoration: underline !important; }
html.gocce-a11y-links main a { text-decoration: underline !important; text-decoration-thickness: .15em !important; text-underline-offset: .18em !important; }
html.gocce-a11y-links main a::after { content: ' ↗'; font-size: .75em; }
html.gocce-a11y-align-start main :is(p, li, h1, h2, h3, h4, h5, h6) { text-align: left !important; }
html.gocce-a11y-align-center main :is(p, li, h1, h2, h3, h4, h5, h6) { text-align: center !important; }
html.gocce-a11y-hide-images main img:not([data-gocce-a11y-essential]),
html.gocce-a11y-hide-images main picture:not([data-gocce-a11y-essential]),
html.gocce-a11y-hide-images main video { visibility: hidden !important; }
html.gocce-a11y-hide-images main { background-image: repeating-linear-gradient(135deg, rgba(0,0,0,.025) 0, rgba(0,0,0,.025) 10px, transparent 10px, transparent 20px); }
html.gocce-a11y-monochrome body { filter: grayscale(1); }
html.gocce-a11y-reduced-motion *,
html.gocce-a11y-reduced-motion *::before,
html.gocce-a11y-reduced-motion *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
html.gocce-a11y-contrast body { background: #000 !important; color: #fff !important; }
html.gocce-a11y-contrast :is(main, section, article, header, footer, nav, .boxed_wrapper, .container, .gocce-card) { background-color: #000 !important; background-image: none !important; color: #fff !important; }
html.gocce-a11y-contrast :is(h1, h2, h3, h4, h5, h6, p, li, span) { color: #fff !important; }
html.gocce-a11y-contrast a { color: #ff0 !important; text-decoration: underline !important; }
html.gocce-a11y-contrast button { border-color: #fff !important; background: #000 !important; color: #fff !important; }
html.gocce-a11y-dark body { background: #101722 !important; color: #eaf0f7 !important; }
html.gocce-a11y-dark :is(main, article, .boxed_wrapper, .gocce-card) { background-color: #101722 !important; color: #eaf0f7 !important; }
html.gocce-a11y-dark main :is(h1, h2, h3, h4, h5, h6, p, li) { color: #eaf0f7 !important; }
html.gocce-a11y-dark main a { color: #8bc5ff !important; }

@media (max-width: 575px) {
  .gocce-consent-backdrop { align-items: end; padding: 0; }
  .gocce-consent-dialog { max-height: 92vh; border-radius: 16px 16px 0 0; padding: 20px 16px; }
  .gocce-consent-actions { display: grid; }
  .gocce-consent-actions button { width: 100%; }
  .gocce-consent-category { align-items: flex-start; }
  .gocce-consent-category.is-locked { display: grid; }
  .gocce-consent-inventory dl div { grid-template-columns: 1fr; gap: 2px; }
  .gocce-consent-manage,
  .gocce-a11y-trigger { bottom: 10px; width: 48px; height: 48px; min-height: 48px; padding: 0; }
  .gocce-consent-manage { left: 10px; }
  .gocce-a11y-trigger { right: 10px; bottom: calc(77px + env(safe-area-inset-bottom)); }
  .gocce-a11y-panel { inset: 0; width: 100%; border: 0; border-radius: 0; }
}

@media (max-width: 1499px) {
  .gocce-consent-manage,
  .gocce-a11y-trigger { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .gocce-switch::after { transition: none; }
}

@media (forced-colors: active) {
  .gocce-consent-dialog,
  .gocce-a11y-panel,
  .gocce-consent-category { border: 2px solid CanvasText; }
}
