/* Ogallery cookie preferences modal + notice. Colors, font, width come from inline CSS variables (--ogc-*). */
.ogallery-cookies[hidden],.og-cookie-banner[hidden]{display:none!important}
html.og-cookies-open{overflow:hidden}

.ogallery-cookies,.ogallery-cookies *,.og-cookie-banner,.og-cookie-banner *{box-sizing:border-box}
.ogallery-cookies{
	position:fixed;inset:0;z-index:100050;display:flex;padding:20px;overflow-y:auto;
	font-family:var(--ogc-font,inherit);color:var(--ogc-text,#595a5c);
	opacity:0;transition:opacity .2s ease;
}
.ogallery-cookies.is-open{opacity:1}
.og-cookies__overlay{position:fixed;inset:0;background:var(--ogc-overlay,rgba(0,0,0,.5))}
.og-cookies__dialog{
	position:relative;margin:auto;width:100%;max-width:var(--ogc-max,600px);
	background:var(--ogc-bg,#fff);color:var(--ogc-text,#595a5c);border-radius:var(--ogc-radius,6px);
	padding:32px 30px 30px;box-shadow:0 10px 40px rgba(0,0,0,.25);outline:0;
	transform:translateY(-12px);transition:transform .2s ease;
}
.ogallery-cookies.is-open .og-cookies__dialog{transform:none}
.og-cookies__close{
	position:absolute;top:10px;inset-inline-end:12px;display:flex;align-items:center;justify-content:center;
	width:46px;height:38px;padding:0;margin:0;background:#fff;color:#333;border:1px solid #ebebeb;border-radius:4px;cursor:pointer;
}
.og-cookies__close:hover{background:#f6f6f6}
.og-cookies__title{margin:0 60px 12px 0;font-family:inherit;font-size:24px;font-weight:400;line-height:1.25;color:var(--ogc-heading,#595a5c);text-transform:none;letter-spacing:0}
[dir="rtl"] .og-cookies__title{margin:0 0 12px 60px}
.og-cookies__intro{margin:0 0 22px;font-size:14.4px;line-height:1.45}
.og-cookies__item{margin:0 0 18px}
.og-cookies__label{position:relative;display:flex;align-items:center;gap:10px;font-size:20px;line-height:1.3;cursor:pointer}
.og-cookies__label input{position:absolute;opacity:0;width:20px;height:20px;margin:0;cursor:pointer}
.og-cookies__box{flex:0 0 20px;width:20px;height:20px;border:2px solid #b9bcc2;border-radius:4px;background:#fff;position:relative;transition:background .15s,border-color .15s}
.og-cookies__label input:checked+.og-cookies__box{background:var(--ogc-accent,#3b6ef0);border-color:var(--ogc-accent,#3b6ef0)}
.og-cookies__label input:checked+.og-cookies__box::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.og-cookies__label input:focus-visible+.og-cookies__box{outline:2px solid var(--ogc-accent,#3b6ef0);outline-offset:2px}
.og-cookies__item.is-locked .og-cookies__label{cursor:default;opacity:.6}
.og-cookies__item.is-locked input{cursor:default}
.og-cookies__desc{margin:8px 0 0;font-size:16px;line-height:1.45}
.og-cookies__save,.og-cookie-banner__btn--primary{
	display:inline-block;margin:6px 0 0;padding:8px 15px;font:inherit;font-size:16px;line-height:1.3;
	background:var(--ogc-btn-bg,#fddf58);color:var(--ogc-btn-text,#111);border:0;border-radius:4px;cursor:pointer;transition:filter .15s;
}
.og-cookies__save:hover,.og-cookie-banner__btn--primary:hover{filter:brightness(.95)}
.og-cookies__save:focus-visible,.og-cookies__close:focus-visible,.og-cookie-banner__btn:focus-visible{outline:2px solid var(--ogc-accent,#3b6ef0);outline-offset:2px}

/* Bottom notice */
.og-cookie-banner{
	position:fixed;z-index:100040;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;
	padding:14px 20px;background:var(--ogc-bg,#fff);color:var(--ogc-text,#595a5c);font-family:var(--ogc-font,inherit);font-size:15px;line-height:1.4;
	box-shadow:0 -2px 14px rgba(0,0,0,.14);
}
.og-cookie-banner--bar{left:0;right:0;bottom:0}
.og-cookie-banner--start,.og-cookie-banner--end{bottom:16px;max-width:400px;border-radius:var(--ogc-radius,6px);box-shadow:0 4px 24px rgba(0,0,0,.2)}
.og-cookie-banner--start{inset-inline-start:16px}
.og-cookie-banner--end{inset-inline-end:16px}
.og-cookie-banner__text{margin:0;flex:1 1 260px}
.og-cookie-banner__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.og-cookie-banner__btn{padding:8px 14px;font:inherit;font-size:14.5px;line-height:1.3;background:transparent;color:inherit;border:1px solid currentColor;border-radius:4px;cursor:pointer}
.og-cookie-banner__btn--primary{margin:0;border:0;font-size:14.5px}
.og-cookie-banner__btn--link{border-color:transparent;text-decoration:underline}

@media (max-width:480px){.og-cookies__dialog{padding:26px 20px 22px}.og-cookies__label{font-size:18px}.og-cookies__desc{font-size:15px}}
@media (prefers-reduced-motion:reduce){.ogallery-cookies,.og-cookies__dialog,.og-cookies__box,.og-cookies__save{transition:none}}
