﻿/* Fókusz Computer – süti hozzájárulás (fc-consent.js) */
.fcc-banner, .fcc-modal, .fcc-reopen { font-family: inherit; color: #243746; box-sizing: border-box; }
.fcc-banner *, .fcc-modal * { box-sizing: border-box; }

.fcc-banner {
    position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 99998;
    max-width: 1120px; margin: 0 auto; background: #fff; border: 1px solid #d9e2ea; border-radius: 10px;
    box-shadow: 0 10px 40px rgba(18, 50, 74, .22); padding: 18px 20px;
    display: none; gap: 18px; align-items: center; flex-wrap: wrap;
}
.fcc-banner.fcc-show { display: flex; }
.fcc-banner-text { flex: 1 1 420px; font-size: 14px; line-height: 1.5; }
.fcc-banner-text strong { display: block; font-size: 16px; color: #12324a; margin-bottom: 4px; }
.fcc-banner-text p { margin: 0; }
.fcc-banner a, .fcc-modal a { color: #2460a7; text-decoration: underline; }
.fcc-banner-buttons { display: flex; gap: 8px; flex-wrap: wrap; }

.fcc-btn {
    border-radius: 6px; padding: 10px 16px; font-size: 14px; font-weight: 700; cursor: pointer; line-height: 1.2;
    border: 1px solid #2460a7; transition: background .15s, color .15s;
}
/* Az elfogadás és az elutasítás azonos súlyú gomb (jogszabályi elvárás: ne legyen „rejtett” az elutasítás) */
.fcc-btn-primary { background: #2460a7; color: #fff; }
.fcc-btn-primary:hover { background: #1b4b84; }
.fcc-btn-secondary { background: #fff; color: #2460a7; }
.fcc-btn-secondary:hover { background: #eef4fb; }
.fcc-btn:focus-visible, .fcc-close:focus-visible, .fcc-reopen:focus-visible, .fcc-switch input:focus-visible + .fcc-slider {
    outline: 3px solid #e87524; outline-offset: 2px;
}

.fcc-overlay {
    position: fixed; inset: 0; z-index: 99999; background: rgba(18, 50, 74, .55);
    display: flex; align-items: center; justify-content: center; padding: 16px;
}
.fcc-overlay[hidden] { display: none; }
.fcc-modal {
    position: relative; background: #fff; border-radius: 12px; width: 100%; max-width: 640px; max-height: calc(100vh - 32px);
    overflow-y: auto; padding: 24px 24px 18px; box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
}
.fcc-modal h2 { margin: 0 0 8px; font-size: 21px; color: #12324a; }
.fcc-intro { font-size: 14px; margin: 0 0 14px; }
.fcc-close {
    position: absolute; top: 10px; right: 12px; background: none; border: 0; font-size: 28px; line-height: 1;
    color: #596b78; cursor: pointer; padding: 4px 8px;
}
.fcc-cat { border: 1px solid #d9e2ea; border-radius: 8px; padding: 12px 14px; margin-bottom: 10px; }
.fcc-cat-head { display: flex; align-items: center; gap: 12px; }
.fcc-cat-title { font-weight: 700; font-size: 15px; color: #12324a; margin: 0; cursor: pointer; }
.fcc-always { font-weight: 400; font-size: 12px; color: #1d6b2c; background: #eaf6ec; border-radius: 10px; padding: 2px 8px; margin-left: 6px; }
.fcc-cat-desc { font-size: 13px; margin: 8px 0 4px; line-height: 1.5; }
.fcc-details { font-size: 12px; color: #596b78; }
.fcc-details summary { cursor: pointer; color: #2460a7; }
.fcc-details p { margin: 6px 0 0; }

.fcc-switch { position: relative; display: inline-block; width: 44px; height: 24px; flex: 0 0 44px; margin: 0; }
.fcc-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
.fcc-slider { position: absolute; inset: 0; background: #b8c6d2; border-radius: 24px; cursor: pointer; transition: background .15s; }
.fcc-slider::before {
    content: ""; position: absolute; width: 18px; height: 18px; left: 3px; top: 3px; background: #fff; border-radius: 50%;
    transition: transform .15s; box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
}
.fcc-switch input:checked + .fcc-slider { background: #2460a7; }
.fcc-switch input:checked + .fcc-slider::before { transform: translateX(20px); }
.fcc-switch input:disabled + .fcc-slider { background: #7fa3cf; cursor: not-allowed; }

.fcc-modal-buttons { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; margin-top: 14px; }
.fcc-policy { font-size: 12px; margin: 10px 0 0; text-align: right; }

.fcc-reopen {
    position: fixed; left: 14px; bottom: 14px; z-index: 99990; width: 40px; height: 40px; border-radius: 50%;
    border: 1px solid #d9e2ea; background: #fff; color: #2460a7; cursor: pointer;
    box-shadow: 0 4px 14px rgba(18, 50, 74, .18); display: flex; align-items: center; justify-content: center; padding: 0;
}
.fcc-reopen[hidden] { display: none; }
html.fcc-noscroll, html.fcc-noscroll body { overflow: hidden; }

@media (max-width: 600px) {
    .fcc-banner { left: 8px; right: 8px; bottom: 8px; padding: 14px; }
    .fcc-banner-buttons, .fcc-modal-buttons { width: 100%; }
    .fcc-btn { flex: 1 1 100%; }
    .fcc-modal { padding: 20px 16px 14px; }
}
@media print { .fcc-banner, .fcc-overlay, .fcc-reopen { display: none !important; } }
