/* ==========================================================================
   Cookie banner — M Pro Construction (navy #16233F / gold #F5B31E)
   ========================================================================== */

#mpro-cookie { font-family: var(--font, 'Montserrat', sans-serif); }

.mc-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(15, 26, 48, .62); z-index: 99998;
    backdrop-filter: blur(2px);
}

/* ---- Prvý panel ---- */
.mc-first {
    position: fixed; inset: 0; z-index: 99999;
    display: flex; align-items: center; justify-content: center; padding: 20px;
}
.mc-first-inner {
    position: relative; z-index: 1;
    background: #fff; border-radius: var(--radius-lg, 22px);
    box-shadow: 0 24px 60px rgba(16, 26, 48, .28);
    padding: 38px 40px 32px; max-width: 520px; width: 100%; text-align: center;
}
.mc-icon {
    width: 60px; height: 60px; border-radius: 50%;
    background: var(--gold-500, #F5B31E); color: var(--navy-800, #16233F);
    display: flex; align-items: center; justify-content: center; margin: 0 auto 18px;
}
.mc-first-inner h3 {
    font-size: 1.3rem; font-weight: 800; color: var(--ink, #1C2536);
    margin: 0 0 12px; letter-spacing: -.01em;
}
.mc-first-inner p { font-size: .93rem; color: var(--muted, #6B7385); line-height: 1.7; margin: 0 0 26px; }
.mc-first-inner p a { color: var(--gold-600, #E0A00C); text-decoration: underline; font-weight: 600; }
.mc-first-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* ---- Tlačidlá ---- */
.mc-btn {
    padding: 12px 22px; border-radius: 999px; border: 1.5px solid transparent; cursor: pointer;
    font-size: .92rem; font-weight: 700; font-family: inherit; line-height: 1.3;
    transition: background .18s, color .18s, border-color .18s, transform .12s;
    white-space: nowrap;
}
.mc-btn:hover { transform: translateY(-1px); }
.mc-btn:focus-visible { outline: none; box-shadow: 0 0 0 4px rgba(245, 179, 30, .35); }
.mc-btn-accept { background: var(--gold-500, #F5B31E); color: var(--navy-900, #0F1A30); }
.mc-btn-accept:hover { background: var(--gold-600, #E0A00C); }
.mc-btn-settings { background: var(--navy-800, #16233F); color: #fff; }
.mc-btn-settings:hover { background: var(--navy-700, #1E3155); }
.mc-btn-reject { background: transparent; border-color: var(--line, #E6E9EF); color: var(--body, #3A4353); }
.mc-btn-reject:hover { border-color: var(--muted, #6B7385); color: var(--ink, #1C2536); }

/* ---- Modál nastavení ---- */
.mc-modal {
    position: fixed; inset: 0; z-index: 100000;
    display: flex; align-items: center; justify-content: center; padding: 20px;
}
.mc-modal-inner {
    background: #fff; border-radius: var(--radius, 14px);
    box-shadow: 0 24px 60px rgba(16, 26, 48, .3);
    width: 100%; max-width: 580px; max-height: 88vh;
    display: flex; flex-direction: column; overflow: hidden;
}
.mc-modal-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 20px 26px 16px; border-bottom: 1px solid var(--line, #E6E9EF);
}
.mc-modal-header h2 { font-size: 1.1rem; font-weight: 800; color: var(--ink, #1C2536); margin: 0; }
.mc-modal-close {
    background: none; border: none; font-size: 28px; color: #B7BDC9;
    cursor: pointer; line-height: 1; padding: 0 4px;
}
.mc-modal-close:hover { color: var(--ink, #1C2536); }
.mc-modal-body { padding: 20px 26px; overflow-y: auto; flex: 1; }
.mc-modal-lead { font-size: .88rem; color: var(--muted, #6B7385); line-height: 1.65; margin: 0 0 20px; }
.mc-modal-footer {
    display: flex; flex-direction: column; gap: 10px; align-items: center;
    padding: 16px 26px 20px; border-top: 1px solid var(--line, #E6E9EF); background: #fff;
}
.mc-footer-buttons { display: flex; gap: 10px; justify-content: flex-end; width: 100%; flex-wrap: wrap; }

.mc-btn-reset {
    background: none; border: none; color: #B7BDC9; font-size: .8rem;
    cursor: pointer; font-family: inherit; padding: 4px 2px; transition: color .18s;
}
.mc-btn-reset:hover { color: #C0392B; }

/* ---- Kategórie ---- */
.mc-cat { border: 1px solid var(--line, #E6E9EF); border-radius: var(--radius-sm, 10px); padding: 15px 16px; margin-bottom: 12px; }
.mc-cat-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 7px; }
.mc-cat-head strong { font-size: .95rem; color: var(--ink, #1C2536); }
.mc-cat-desc { font-size: .84rem; color: var(--muted, #6B7385); line-height: 1.55; margin: 0; }
.mc-cat-desc em { font-size: .78rem; color: #9AA1AF; }

.mc-badge {
    display: inline-block; font-size: .68rem; font-weight: 700; letter-spacing: .03em;
    padding: 3px 9px; border-radius: 999px; margin-left: 6px; vertical-align: middle;
    background: var(--bg-soft-2, #EEF1F6); color: var(--muted, #6B7385);
}
.mc-badge-on { background: #E7F6ED; color: #1E7E45; }

/* ---- Prepínač ---- */
.mc-toggle {
    position: relative; width: 48px; height: 28px; flex-shrink: 0;
    background: #CBD1DA; border-radius: 28px; cursor: pointer;
    transition: background .22s; outline: none;
}
.mc-toggle:focus-visible { box-shadow: 0 0 0 4px rgba(245, 179, 30, .35); }
.mc-knob {
    position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 50%;
    background: #fff; box-shadow: 0 1px 4px rgba(16, 26, 48, .25);
    transition: transform .22s; pointer-events: none;
}
.mc-toggle.mc-toggle-on { background: var(--gold-500, #F5B31E); }
.mc-toggle.mc-toggle-on .mc-knob { transform: translateX(20px); }
.mc-toggle-locked { background: #4CAF50; cursor: default; opacity: .65; }
.mc-toggle-locked .mc-knob { transform: translateX(20px); }

/* ---- Plávajúca ikona ---- */
#mc-reopen {
    position: fixed; bottom: 18px; left: 18px; z-index: 9990;
    width: 46px; height: 46px; border-radius: 50%; border: none; cursor: pointer;
    background: var(--navy-800, #16233F); color: var(--gold-500, #F5B31E);
    display: none; align-items: center; justify-content: center;
    box-shadow: 0 6px 18px rgba(16, 26, 48, .35); transition: transform .18s;
}
#mc-reopen:hover { transform: scale(1.1); }
#mc-reopen:focus-visible { outline: none; box-shadow: 0 0 0 4px rgba(245, 179, 30, .4); }

/* ---- Tabuľky v právnych stránkach ---- */
.rte--legal table {
    width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: .92rem;
}
.rte--legal table th, .rte--legal table td {
    border: 1px solid var(--line, #E6E9EF); padding: 10px 13px; text-align: left; vertical-align: top;
}
.rte--legal table th { background: var(--bg-soft, #F5F7FA); font-weight: 700; color: var(--navy-800, #16233F); }
.rte--legal { overflow-x: auto; }
.rte--legal mark { background: #FDF2D6; color: #7A5600; padding: 1px 6px; border-radius: 4px; font-weight: 600; }
.rte--legal h2 { margin-top: 1.8em; padding-top: .6em; border-top: 1px solid var(--line, #E6E9EF); }
.rte--legal h3 { margin-top: 1.4em; }

@media (max-width: 560px) {
    .mc-first-inner { padding: 30px 22px 26px; }
    .mc-first-buttons { flex-direction: column-reverse; }
    .mc-first-buttons .mc-btn { width: 100%; }
    .mc-footer-buttons { flex-direction: column-reverse; }
    .mc-footer-buttons .mc-btn { width: 100%; }
}
