
:root{--ocm-primary:#be1c1a;--ocm-bg:#fff;--ocm-text:#2b2b2b;--ocm-muted:#666;--ocm-border:#dedede;--ocm-radius:12px}
.ocm-cookie-banner[hidden],.ocm-cookie-modal-backdrop[hidden]{display:none!important}
.ocm-test-badge{position:fixed;right:14px;bottom:14px;z-index:2147483600;padding:6px 9px;border-radius:999px;background:#222;color:#fff;font:600 10px/1 Arial,sans-serif;letter-spacing:.04em;opacity:.72;pointer-events:none}
.ocm-cookie-banner{position:fixed;z-index:2147483500;left:18px;right:18px;max-width:1180px;margin:auto;background:var(--ocm-bg);color:var(--ocm-text);border:1px solid var(--ocm-border);border-radius:var(--ocm-radius);box-shadow:0 12px 38px rgba(0,0,0,.16);padding:20px 52px 18px 20px;font-family:Arial,sans-serif;box-sizing:border-box}
.ocm-cookie-banner.ocm-position-bottom{bottom:18px}.ocm-cookie-banner.ocm-position-top{top:18px}.ocm-cookie-banner.ocm-position-popup{top:50%;transform:translateY(-50%);max-width:760px}
.ocm-cookie-content h2{margin:0 0 8px;text-align:center;color:var(--ocm-text);font-size:18px;line-height:1.25}.ocm-cookie-content p{margin:0 0 15px;color:var(--ocm-text);font-size:14px;line-height:1.5}
.ocm-cookie-close,.ocm-cookie-modal-close{appearance:none;position:absolute;top:10px;right:12px;border:0;background:transparent;color:var(--ocm-text);font-size:28px;line-height:1;padding:4px;cursor:pointer}
.ocm-cookie-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.ocm-cookie-btn{appearance:none;min-height:42px;padding:10px 16px;border-radius:8px;border:1px solid var(--ocm-primary);font:600 14px/1.2 Arial,sans-serif;cursor:pointer}
.ocm-cookie-btn-primary{background:var(--ocm-primary);color:#fff}.ocm-cookie-btn-primary:hover{filter:brightness(.92)}.ocm-cookie-btn-secondary{background:#fff;color:var(--ocm-primary)}.ocm-cookie-btn-secondary:hover{background:#faf4f4}
.ocm-cookie-policy{display:block;width:max-content;max-width:100%;margin:12px auto 0;color:var(--ocm-primary)!important;text-decoration:underline;font:14px/1.3 Arial,sans-serif}
.ocm-cookie-modal-backdrop{position:fixed;inset:0;z-index:2147483550;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.48);box-sizing:border-box}.ocm-cookie-modal{position:relative;width:min(660px,100%);max-height:calc(100vh - 36px);overflow:auto;background:var(--ocm-bg);color:var(--ocm-text);border:1px solid var(--ocm-border);border-radius:var(--ocm-radius);box-shadow:0 16px 48px rgba(0,0,0,.22);padding:24px;font-family:Arial,sans-serif;box-sizing:border-box}
.ocm-cookie-modal h2{margin:0 36px 6px 0;font-size:22px;color:var(--ocm-text)}.ocm-cookie-modal-intro{margin:0 0 16px;color:var(--ocm-muted);font-size:14px;line-height:1.45}
.ocm-cookie-category{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 0;border-top:1px solid var(--ocm-border)}.ocm-cookie-category strong{display:block;margin:0 0 4px;color:var(--ocm-text);font-size:15px}.ocm-cookie-category p{margin:0;color:var(--ocm-muted);font-size:13px;line-height:1.45}
.ocm-switch{position:relative;display:inline-block;width:48px;height:28px;flex:none}.ocm-switch input{position:absolute;opacity:0;pointer-events:none}.ocm-switch span{position:absolute;inset:0;border-radius:999px;background:#c8c8c8;transition:.2s ease;cursor:pointer}.ocm-switch span::before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.24);transition:.2s ease}.ocm-switch input:checked+span{background:var(--ocm-primary)}.ocm-switch input:checked+span::before{transform:translateX(20px)}.ocm-switch-locked{opacity:.72}.ocm-switch-locked span{cursor:not-allowed}
.ocm-cookie-modal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}.ocm-cookie-modal-actions .ocm-cookie-policy{margin:0}

[data-ocm-blocked="1"]{visibility:hidden!important}
iframe[data-ocm-blocked="1"]{min-height:120px;background:#f6f6f6!important;border:1px dashed #d8d8d8!important}
@media(max-width:700px){
    .ocm-cookie-banner{
        left:10px;
        right:10px;
        padding:18px 20px 16px;
    }
    .ocm-cookie-content h2{
        padding:0 28px;
    }
    .ocm-cookie-close{
        right:12px;
        top:10px;
    }
    .ocm-cookie-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .ocm-cookie-btn{width:100%}
    .ocm-cookie-modal{padding:20px}
}


/* Strong isolation from theme/reset button styles. */
#ocm-cookie-banner .ocm-cookie-btn,
#ocm-cookie-modal-backdrop .ocm-cookie-btn {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 42px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    border: 1px solid var(--ocm-primary) !important;
    border-radius: 8px !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    white-space: normal !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .08s ease !important;
}

/* All three first-screen choices have equal visual weight:
   outline at rest, solid brand color on hover/focus. */
#ocm-cookie-banner .ocm-cookie-btn-choice,
#ocm-cookie-banner .ocm-cookie-btn-secondary {
    background: #fff !important;
    color: var(--ocm-primary) !important;
    border-color: var(--ocm-primary) !important;
}

#ocm-cookie-banner .ocm-cookie-btn-choice:hover,
#ocm-cookie-banner .ocm-cookie-btn-secondary:hover,
#ocm-cookie-banner .ocm-cookie-btn-choice:focus-visible,
#ocm-cookie-banner .ocm-cookie-btn-secondary:focus-visible {
    background: var(--ocm-primary) !important;
    color: #fff !important;
    border-color: var(--ocm-primary) !important;
    filter: none !important;
}

#ocm-cookie-banner .ocm-cookie-btn-choice:active,
#ocm-cookie-banner .ocm-cookie-btn-secondary:active {
    background: var(--ocm-primary) !important;
    color: #fff !important;
    transform: translateY(1px);
}

/* Save button inside settings remains primary. */
#ocm-cookie-modal-backdrop .ocm-cookie-btn-primary {
    background: var(--ocm-primary) !important;
    color: #fff !important;
}

/* Shortcode used in the real site footer. */
.ocm-cookie-settings-shortcode {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #be1c1a !important;
    font: inherit !important;
    line-height: inherit !important;
    text-decoration: underline !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer !important;
}

/* Optional policy shortcode styling. */
.ocm-policy-document {
    color: #2b2b2b;
}
.ocm-policy-document h2,
.ocm-policy-document h3 {
    color: #2b2b2b;
}
.ocm-policy-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.ocm-policy-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}
.ocm-policy-table th,
.ocm-policy-table td {
    padding: 10px 12px;
    border: 1px solid #dedede;
    text-align: left;
    vertical-align: top;
}
.ocm-policy-table th {
    background: #f7f7f7;
}

@media(max-width:700px){
    #ocm-cookie-banner .ocm-cookie-btn {
        width: 100% !important;
    }
}
