/* syntai Cookie Consent – matches orthodoxcarp theme palette (vars with fallbacks) */
.oc-cc{
  --oc-ink:var(--ink,#201C1E);
  --oc-ink2:var(--ink-2,#2A2628);
  --oc-lime:var(--lime,#C4DA2E);
  --oc-lime-b:var(--lime-bright,#DFF732);
  --oc-lime-s:var(--lime-soft,#EEF4C4);
  --oc-cream:var(--cream,#F5F6EE);
  --oc-white:var(--white,#FEFEFE);
  --oc-grey:var(--grey,#87868C);
  --oc-silver:var(--silver,#C6C6C8);
  --oc-line:var(--line,#E6E6E1);
  --oc-olive:var(--olive,#616734);
  --oc-moss:var(--moss,#7F8C1F);
  --oc-radius:var(--radius,18px);
  --oc-radius-sm:var(--radius-sm,12px);
  --oc-display:var(--display,"Barlow Condensed",system-ui,sans-serif);
  --oc-body:var(--body,"Inter",system-ui,sans-serif);
  font-family:var(--oc-body);
  color:var(--oc-ink);
  box-sizing:border-box;
}
.oc-cc *,.oc-cc *::before,.oc-cc *::after{box-sizing:border-box}
.oc-cc[hidden],.oc-cc-banner[hidden],.oc-cc-modal[hidden],.oc-cc-reopen[hidden]{display:none!important}

/* Buttons */
.oc-cc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 20px;border-radius:999px;font-weight:700;font-size:14px;
  border:1.5px solid transparent;cursor:pointer;font-family:inherit;transition:.2s;
  white-space:nowrap;
}
.oc-cc-btn--primary{background:var(--oc-lime);color:var(--oc-ink)}
.oc-cc-btn--primary:hover,.oc-cc-btn--primary:focus-visible{background:var(--oc-lime-b);outline:2px solid var(--oc-ink);outline-offset:2px}
.oc-cc-btn--ink{background:var(--oc-ink);color:#fff}
.oc-cc-btn--ink:hover,.oc-cc-btn--ink:focus-visible{background:var(--oc-ink2);outline:2px solid var(--oc-lime);outline-offset:2px}
.oc-cc-btn--ghost{background:var(--oc-cream);color:var(--oc-ink);border-color:var(--oc-line)}
.oc-cc-btn--ghost:hover,.oc-cc-btn--ghost:focus-visible{border-color:var(--oc-ink);outline:2px solid var(--oc-lime);outline-offset:2px}

.oc-cc-policy-link{color:var(--oc-moss);font-weight:600;text-decoration:underline;text-underline-offset:2px;margin-left:.35em}
.oc-cc-settings-link{
  background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;font-weight:600;
}

/* Banner – bottom-right card desktop; bottom sheet mobile */
.oc-cc-banner{
  position:fixed;z-index:999999;bottom:20px;right:20px;
  width:min(440px,calc(100vw - 32px));
  background:var(--oc-white);border:1px solid var(--oc-line);
  border-radius:var(--oc-radius);box-shadow:0 12px 40px -8px rgba(32,28,30,.28);
}
.oc-cc-banner__inner{padding:22px 22px 18px}
.oc-cc-banner__title{
  font-family:var(--oc-display);font-weight:800;font-size:22px;line-height:1.1;
  text-transform:uppercase;letter-spacing:.02em;margin:0 0 10px;
}
.oc-cc-banner__desc{font-size:13.5px;line-height:1.55;color:#55514f;margin:0 0 18px}
.oc-cc-banner__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.oc-cc-banner__actions .oc-cc-btn{flex:1 1 auto;min-width:110px}

@media (max-width:640px){
  .oc-cc-banner{
    left:0;right:0;bottom:0;width:100%;max-width:none;
    border-radius:var(--oc-radius) var(--oc-radius) 0 0;
    box-shadow:0 -8px 40px rgba(32,28,30,.25);
  }
  .oc-cc-banner__actions{flex-direction:column-reverse}
  .oc-cc-banner__actions .oc-cc-btn{width:100%;min-width:0;height:48px}
}

/* Modal */
.oc-cc-modal{position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;padding:16px}
.oc-cc-modal__backdrop{position:absolute;inset:0;background:rgba(32,28,30,.62)}
.oc-cc-modal__panel{
  position:relative;z-index:1;width:min(640px,100%);max-height:min(88vh,820px);
  background:var(--oc-white);border-radius:20px;display:flex;flex-direction:column;
  box-shadow:0 24px 64px rgba(0,0,0,.35);overflow:hidden;
}
.oc-cc-modal__header{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 22px;border-bottom:1px solid var(--oc-line);
}
.oc-cc-modal__header h2{
  font-family:var(--oc-display);font-size:22px;font-weight:800;text-transform:uppercase;
  letter-spacing:.02em;margin:0;
}
.oc-cc-modal__close{
  width:40px;height:40px;border-radius:50%;border:0;background:var(--oc-cream);
  font-size:24px;line-height:1;cursor:pointer;color:var(--oc-ink);
}
.oc-cc-modal__close:focus-visible{outline:2px solid var(--oc-lime);outline-offset:2px}
.oc-cc-modal__body{padding:18px 22px;overflow-y:auto;flex:1}
.oc-cc-modal__intro{font-size:13.5px;line-height:1.55;color:#55514f;margin:0 0 16px}
.oc-cc-modal__footer{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
  padding:16px 22px;border-top:1px solid var(--oc-line);background:var(--oc-cream);
}
.oc-cc-modal__footer .oc-cc-btn{flex:1 1 140px}

@media (max-width:640px){
  .oc-cc-modal{align-items:flex-end;padding:0}
  .oc-cc-modal__panel{
    width:100%;max-height:92vh;border-radius:20px 20px 0 0;
  }
  .oc-cc-modal__footer{flex-direction:column}
}

/* Categories */
.oc-cc-cat{
  border:1px solid var(--oc-line);border-radius:var(--oc-radius-sm);margin-bottom:10px;overflow:hidden;
}
.oc-cc-cat__head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;cursor:pointer;user-select:none;background:var(--oc-white);
}
.oc-cc-cat__head:focus-visible{outline:2px solid var(--oc-lime);outline-offset:-2px}
.oc-cc-cat__title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px}
.oc-cc-cat__arrow{font-size:11px;color:var(--oc-grey);transition:transform .2s}
.oc-cc-cat.is-open .oc-cc-cat__arrow{transform:rotate(180deg)}
.oc-cc-cat__body{display:none;padding:0 16px 16px;border-top:1px solid var(--oc-cream);font-size:13px;color:#55514f}
.oc-cc-cat.is-open .oc-cc-cat__body{display:block}
.oc-cc-cat__desc{margin:12px 0}

/* Lime switch */
.oc-cc-switch{position:relative;width:44px;height:24px;flex-shrink:0}
.oc-cc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}
.oc-cc-switch__track{
  position:absolute;inset:0;background:var(--oc-silver);border-radius:999px;transition:.2s;
}
.oc-cc-switch__thumb{
  position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.2s;pointer-events:none;
}
.oc-cc-switch input:checked + .oc-cc-switch__track{background:var(--oc-lime)}
.oc-cc-switch input:checked ~ .oc-cc-switch__thumb{transform:translateX(20px);background:var(--oc-ink)}
.oc-cc-switch input:disabled{cursor:not-allowed}
.oc-cc-switch input:disabled + .oc-cc-switch__track{background:var(--oc-olive);opacity:.85}
.oc-cc-switch input:focus-visible + .oc-cc-switch__track{outline:2px solid var(--oc-ink);outline-offset:2px}

.oc-cc-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:12px}
.oc-cc-table th,.oc-cc-table td{border:1px solid var(--oc-line);padding:8px 10px;text-align:left;vertical-align:top}
.oc-cc-table th{background:var(--oc-cream);font-weight:700}
.oc-cc-badge{font-size:11px;font-weight:700;color:var(--oc-moss);margin-left:6px}

/* Reopen FAB */
.oc-cc-reopen{
  position:fixed;z-index:999998;left:16px;bottom:16px;width:44px;height:44px;
  border-radius:50%;border:0;background:var(--oc-ink);color:var(--oc-lime);
  box-shadow:0 8px 24px rgba(0,0,0,.25);cursor:pointer;font-size:18px;
}
.oc-cc-reopen:focus-visible{outline:2px solid var(--oc-lime);outline-offset:2px}

/* Embed placeholder */
.oc-cc-embed-placeholder{
  display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:200px;padding:24px;background:var(--oc-cream);border:1px dashed var(--oc-line);
  border-radius:var(--oc-radius-sm);color:#55514f;font-size:14px;cursor:pointer;
}
.oc-cc-embed-btn{
  display:inline-block;margin-top:10px;padding:8px 16px;border-radius:999px;
  background:var(--oc-lime);color:var(--oc-ink);font-weight:700;border:0;cursor:pointer;
}
