/* Hoberto Cookie Consent */
.hbcc-banner, .hbcc-overlay, .hbcc-fab, .hbcc-embed { --hbcc-bg: #fff; --hbcc-fg: #1c2430; --hbcc-mut: #5a6472; --hbcc-line: #e3e6ea; font-family: inherit; line-height: 1.5; box-sizing: border-box; }
.hbcc-banner *, .hbcc-overlay *, .hbcc-embed * { box-sizing: border-box; }

.hbcc-banner { position: fixed; z-index: 2147483000; left: 16px; right: 16px; bottom: 16px; margin: 0 auto; max-width: 760px; background: var(--hbcc-bg); color: var(--hbcc-fg); border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,.22); border: 1px solid var(--hbcc-line); animation: hbcc-up .25s ease-out; }
.hbcc-in { padding: 20px 22px; }
.hbcc-title { margin: 0 0 6px; font-size: 17px; font-weight: 700; color: var(--hbcc-fg); }
.hbcc-text { margin: 0 0 14px; font-size: 14px; color: var(--hbcc-mut); }
.hbcc-link { color: var(--hbcc-accent); text-decoration: underline; }
.hbcc-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.hbcc-btn { appearance: none; cursor: pointer; border: 2px solid var(--hbcc-accent); background: var(--hbcc-accent); color: #fff; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; padding: 10px 18px; border-radius: 8px; margin: 0; text-transform: none; letter-spacing: 0; box-shadow: none; }
.hbcc-btn:hover { filter: brightness(1.12); }
.hbcc-btn-sec { background: transparent; color: var(--hbcc-accent); }
.hbcc-btn:focus-visible, .hbcc-fab:focus-visible, .hbcc-x:focus-visible, .hbcc-sw:focus-visible + .hbcc-tg { outline: 3px solid var(--hbcc-accent); outline-offset: 2px; }
.hbcc-actions .hbcc-btn { flex: 1 1 auto; }

.hbcc-overlay { position: fixed; inset: 0; z-index: 2147483001; background: rgba(15,20,28,.55); display: flex; align-items: center; justify-content: center; padding: 16px; }
.hbcc-dialog { position: relative; background: var(--hbcc-bg); color: var(--hbcc-fg); border-radius: 12px; width: 100%; max-width: 620px; max-height: calc(100vh - 32px); overflow: auto; padding: 24px; box-shadow: 0 10px 40px rgba(0,0,0,.3); }
.hbcc-x { position: absolute; top: 10px; right: 12px; background: none; border: 0; font-size: 28px; line-height: 1; cursor: pointer; color: var(--hbcc-mut); padding: 4px 8px; }
.hbcc-cat { border-top: 1px solid var(--hbcc-line); padding: 14px 0; }
.hbcc-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; margin: 0; }
.hbcc-cat-t { font-weight: 700; font-size: 15px; }
.hbcc-cat-t em { font-weight: 400; font-style: normal; color: var(--hbcc-mut); font-size: 13px; }
.hbcc-cat-d { margin: 6px 0 0; font-size: 13px; color: var(--hbcc-mut); }
.hbcc-svc { margin: 8px 0 0; padding: 0 0 0 16px; font-size: 12.5px; color: var(--hbcc-mut); }
.hbcc-svc li { margin: 0 0 6px; }
.hbcc-svc strong { color: var(--hbcc-fg); }
.hbcc-sw { position: absolute; opacity: 0; width: 1px; height: 1px; }
.hbcc-tg { flex: 0 0 auto; position: relative; width: 44px; height: 24px; border-radius: 12px; background: #c3c8cf; transition: background .15s; }
.hbcc-tg::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .15s; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.hbcc-sw:checked + .hbcc-tg { background: var(--hbcc-accent); }
.hbcc-sw:checked + .hbcc-tg::after { transform: translateX(20px); }
.hbcc-sw:disabled + .hbcc-tg { opacity: .55; }
.hbcc-dialog .hbcc-actions { border-top: 1px solid var(--hbcc-line); padding-top: 16px; }
.hbcc-id { margin: 12px 0 0; font-size: 11px; color: var(--hbcc-mut); word-break: break-all; }
html.hbcc-lock { overflow: hidden; }

.hbcc-fab { position: fixed; z-index: 2147482999; bottom: 16px; width: 44px; height: 44px; border-radius: 50%; border: 0; cursor: pointer; background: var(--hbcc-accent); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(0,0,0,.25); padding: 0; opacity: .85; }
.hbcc-fab:hover { opacity: 1; }
.hbcc-fab-left { left: 16px; }
.hbcc-fab-right { right: 16px; }

.hbcc-embed { position: relative; width: 100%; min-height: 240px; background: #eef1f4; border-radius: 6px; display: flex; overflow: hidden; }
.hbcc-ph { display: flex; align-items: center; justify-content: center; width: 100%; padding: 20px; text-align: center; background: repeating-linear-gradient(45deg, #eef1f4, #eef1f4 14px, #e7ebef 14px, #e7ebef 28px); }
.hbcc-ph-in { max-width: 460px; background: rgba(255,255,255,.92); padding: 16px 18px; border-radius: 10px; }
.hbcc-ph-t { margin: 0 0 4px; font-weight: 700; color: var(--hbcc-fg); font-size: 15px; }
.hbcc-ph-d { margin: 0 0 12px; font-size: 13px; color: var(--hbcc-mut); }
.hbcc-ph-d a { color: var(--hbcc-accent); }
.hbcc-ph-b { margin: 0; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }

@keyframes hbcc-up { from { transform: translateY(16px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (max-width: 560px) {
	.hbcc-banner { left: 8px; right: 8px; bottom: 8px; }
	.hbcc-in { padding: 16px; }
	.hbcc-actions .hbcc-btn { flex: 1 1 100%; }
	.hbcc-dialog { padding: 20px 16px; }
}
@media (prefers-reduced-motion: reduce) { .hbcc-banner { animation: none; } .hbcc-tg, .hbcc-tg::after { transition: none; } }
@media print { .hbcc-banner, .hbcc-fab, .hbcc-overlay { display: none !important; } }
html.hbcc-lock .hbcc-banner { visibility: hidden; }
