/* Robust Cookie Consent — frontend banner/modal. Colors via CSS vars set inline by the plugin. */
.rcc-banner,.rcc-modal,.rcc-float{
	--rcc-bg:#ffffff;--rcc-text:#2c2c2c;--rcc-accent:#6B7282;--rcc-accent-text:#fff;--rcc-secondary:#f1efe9;
	box-sizing:border-box;font-size:15px;line-height:1.5;color:var(--rcc-text);
}
.rcc-banner *,.rcc-modal *,.rcc-float *{box-sizing:border-box}
[hidden]{display:none!important}

/* Banner shell */
.rcc-banner{position:fixed;z-index:99998;background:var(--rcc-bg);color:var(--rcc-text);box-shadow:0 -2px 24px rgba(0,0,0,.14);opacity:0;transition:opacity .25s,transform .25s}
.rcc-banner.rcc-in{opacity:1}
.rcc-banner-inner{max-width:1180px;margin:0 auto;padding:20px 24px;display:flex;gap:22px;align-items:center;position:relative}
.rcc-banner-body{flex:1 1 auto;min-width:0}
.rcc-banner-actions{flex:0 0 auto;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.rcc-title{font-size:1.05rem;margin:0 0 6px;font-weight:700}
.rcc-message{font-size:.9rem}
.rcc-message p{margin:0 0 6px}
.rcc-links{margin:8px 0 0;font-size:.85rem}
.rcc-links a{color:var(--rcc-accent);text-decoration:underline}

/* Layouts */
.rcc-layout-bottom{left:0;right:0;bottom:0;transform:translateY(12px)}
.rcc-layout-bottom.rcc-in{transform:none}
.rcc-layout-top{left:0;right:0;top:0;box-shadow:0 2px 24px rgba(0,0,0,.14);transform:translateY(-12px)}
.rcc-layout-top.rcc-in{transform:none}
.rcc-layout-center{left:50%;top:50%;transform:translate(-50%,-48%);max-width:560px;width:calc(100% - 32px);border-radius:16px}
.rcc-layout-center.rcc-in{transform:translate(-50%,-50%)}
.rcc-layout-center .rcc-banner-inner{flex-direction:column;align-items:stretch}
.rcc-layout-corner{right:24px;bottom:24px;max-width:400px;width:calc(100% - 32px);border-radius:16px}
.rcc-layout-corner .rcc-banner-inner{flex-direction:column;align-items:stretch}
.rcc-layout-fullscreen{inset:0;display:flex;align-items:center;justify-content:center;background:rgba(20,20,20,.6)}
.rcc-layout-fullscreen .rcc-banner-inner{background:var(--rcc-bg);max-width:600px;width:calc(100% - 32px);border-radius:18px;flex-direction:column;align-items:stretch;box-shadow:0 24px 70px rgba(0,0,0,.4)}

/* Buttons */
.rcc-btn{appearance:none;cursor:pointer;font:inherit;font-size:.88rem;font-weight:600;border:1.5px solid transparent;border-radius:10px;padding:11px 18px;background:var(--rcc-secondary);color:var(--rcc-text);transition:filter .15s,transform .05s}
.rcc-btn:hover{filter:brightness(.97)}
.rcc-btn:active{transform:translateY(1px)}
.rcc-btn:focus-visible{outline:3px solid var(--rcc-accent);outline-offset:2px}
.rcc-accent{background:var(--rcc-accent);color:var(--rcc-accent-text);border-color:var(--rcc-accent)}
.rcc-reject,.rcc-prefs{background:transparent;border-color:currentColor}
.rcc-close{position:absolute;top:8px;right:10px;background:none;border:0;font-size:1.6rem;line-height:1;color:inherit;cursor:pointer;opacity:.55;padding:4px 8px}
.rcc-close:hover{opacity:1}

/* Modal */
.rcc-modal{position:fixed;z-index:99999;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .25s}
.rcc-modal.rcc-in{opacity:1}
.rcc-modal-overlay{position:absolute;inset:0;background:rgba(20,20,20,.55)}
.rcc-modal-box{position:relative;background:var(--rcc-bg);color:var(--rcc-text);border-radius:16px;max-width:640px;width:100%;max-height:88vh;overflow:auto;padding:28px 28px 22px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.rcc-cats{margin:16px 0;display:flex;flex-direction:column;gap:2px}
.rcc-cat{padding:16px 0;border-top:1px solid rgba(0,0,0,.08)}
.rcc-cat-head{display:flex;align-items:center;gap:12px}
.rcc-cat-name{font-weight:700;font-size:.95rem}
.rcc-always{font-weight:600;font-size:.72rem;color:#1a7f37;font-style:normal;margin-left:6px}
.rcc-cat-desc{margin:8px 0 0;font-size:.85rem;opacity:.85}
.rcc-modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}
.rcc-last-consent{font-size:.8rem;opacity:.7;margin:4px 0}
.rcc-legal-note{font-size:.75rem;opacity:.6;margin:14px 0 0}

/* Accessible toggle switch */
.rcc-switch{position:relative;display:inline-block;width:46px;height:26px;flex:0 0 auto}
.rcc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.rcc-slider{position:absolute;inset:0;background:#c9c6c0;border-radius:26px;transition:background .2s}
.rcc-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}
.rcc-switch input:checked+.rcc-slider{background:var(--rcc-accent)}
.rcc-switch input:checked+.rcc-slider:before{transform:translateX(20px)}
.rcc-switch input:disabled+.rcc-slider{opacity:.6}
.rcc-switch input:focus-visible+.rcc-slider{outline:3px solid var(--rcc-accent);outline-offset:2px}

/* Floating reopen button */
.rcc-float{position:fixed;z-index:99997;display:inline-flex;align-items:center;gap:8px;background:var(--rcc-bg);color:var(--rcc-text);border:1.5px solid rgba(0,0,0,.12);border-radius:40px;padding:9px 15px;font-size:.82rem;font-weight:600;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.16)}
.rcc-float:focus-visible{outline:3px solid var(--rcc-accent);outline-offset:2px}
.rcc-float-bottom-left{left:16px;bottom:16px}
.rcc-float-bottom-right{right:16px;bottom:16px}
.rcc-float-ico{font-size:1.05rem}

/* Inline "manage preferences" button (used on the Cookie Policy page) */
.rcc-prefs-inline{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font:inherit;font-weight:600;border:1.5px solid var(--rcc-accent,#6B7282);border-radius:10px;padding:11px 20px;background:var(--rcc-accent,#6B7282);color:var(--rcc-accent-text,#fff);transition:filter .15s}
.rcc-prefs-inline:hover{filter:brightness(1.06)}
.rcc-prefs-inline:focus-visible{outline:3px solid var(--rcc-accent,#6B7282);outline-offset:2px}

/* Blocked embed placeholder */
.rcc-embed-placeholder{border:1px dashed rgba(0,0,0,.25);border-radius:12px;padding:22px;text-align:center;background:#faf9f7;font-size:.88rem}
.rcc-embed-placeholder .rcc-embed-load{margin-top:8px;cursor:pointer;border:0;border-radius:9px;padding:9px 16px;background:var(--rcc-accent,#6B7282);color:#fff;font-weight:600}

@media (max-width:820px){
	.rcc-banner-inner{flex-direction:column;align-items:stretch;gap:14px}
	.rcc-banner-actions{justify-content:stretch}
	.rcc-banner-actions .rcc-btn{flex:1 1 auto;text-align:center}
	.rcc-modal-actions .rcc-btn{flex:1 1 auto}
	.rcc-float-txt{display:none}
	.rcc-float{padding:12px}
}
@media (prefers-reduced-motion:reduce){
	.rcc-banner,.rcc-modal,.rcc-slider,.rcc-slider:before{transition:none!important}
}
