/* ==========================================================================
   FitFactory Třinec - SOUHLAS S POUŽÍVÁNÍM COOKIES
   Vychází z grafického rozhraní webu (styly/style.css):
   pozadí #000, akcent #009AAD, text #f0f0f0, hairline 1px rámečky,
   přechody 0.35s ease-in-out, fonty Panton / PantonCaps.

   Celý obsah lišty i okna vykresluje cookies.js - do stránek se nic nevkládá.
   ========================================================================== */

/* Vložená data - duplicitně kvůli nezávislosti na style.css */
@font-face { font-family: 'PantonCaps'; src: url('../font/Panton-LightCaps.otf'); font-weight: normal; font-display: swap;}
@font-face { font-family: 'PantonCaps'; src: url('../font/Panton-BlackCaps.otf'); font-weight: 700; font-display: swap;}
@font-face { font-family: 'Panton'; src: url('../font/Panton-Regular.otf'); font-weight: normal; font-display: swap;}
@font-face { font-family: 'Panton'; src: url('../font/Panton-Bold.otf'); font-weight: 700; font-display: swap;}

.ffc-hidden { display: none !important;}

/* Zamčený scroll pod otevřeným oknem */
html.ffc-lock, html.ffc-lock body { overflow: hidden;}

/* Pomocná třída pro odkaz "Nastavení cookies" vložený do webu (např. do patičky) */
.ffc-link { color: #f0f0f0; text-decoration: underline; cursor: pointer; transition: color 0.35s ease-in-out;}
.ffc-link:hover, .ffc-link:focus { color: #009AAD;}

/* --------------------------------------------------------------------------
   Společné tlačítko - stejná řeč jako .button ve style.css
   -------------------------------------------------------------------------- */
.ffc-btn {
    display: inline-block; vertical-align: middle;
    height: 38px; line-height: 38px; padding: 0 24px;
    font-family: 'PantonCaps', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 1px;
    text-align: center; text-decoration: none; white-space: nowrap; cursor: pointer;
    color: #f0f0f0; background: transparent; border: 1px solid #f0f0f0;
    -webkit-appearance: none; appearance: none;
    transition: color 0.35s ease-in-out, border-color 0.35s ease-in-out, background 0.35s ease-in-out;
}
.ffc-btn:hover, .ffc-btn:focus { color: #009AAD; border-color: #009AAD;}
.ffc-btn--primary { color: #000; background: #009AAD; border-color: #009AAD;}
.ffc-btn--primary:hover, .ffc-btn--primary:focus { color: #000; background: #f0f0f0; border-color: #f0f0f0;}
.ffc-btn--ghost {
    height: 38px; line-height: 38px; padding: 0 8px;
    border: none; color: rgba(240,240,240,.6); text-decoration: underline;
}
.ffc-btn--ghost:hover, .ffc-btn--ghost:focus { color: #009AAD;}

/* --------------------------------------------------------------------------
   Spodní lišta
   -------------------------------------------------------------------------- */
.ffc-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 99000;
    font-family: 'Panton', sans-serif; color: #f0f0f0; text-align: left;
    background: rgba(0,0,0,.94);
    border-top: 1px solid rgba(255,255,255,.25);
    box-shadow: 0 -20px 40px rgba(0,0,0,.6);
    transform: translateY(110%);
    transition: transform 0.45s ease-in-out;
}
.ffc-bar.is-visible { transform: translateY(0);}

.ffc-bar__in {
    width: 100%; max-width: 1080px; margin: 0 auto;
    padding: 24px 20px 26px 20px;
    -webkit-box-sizing: border-box; box-sizing: border-box;
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -ms-flex-align: center; align-items: center;
    -ms-flex-wrap: wrap; flex-wrap: wrap;
}
.ffc-bar__text-col { -ms-flex: 1 1 420px; flex: 1 1 420px; padding: 0 30px 0 0;}
.ffc-bar__title {
    font-family: 'PantonCaps', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: 3px;
    margin: 0 0 10px 0;
}
.ffc-bar__title i { font-style: normal; color: #009AAD;}
.ffc-bar__text { font-size: 15px; line-height: 1.55; color: rgba(240,240,240,.75); margin: 0;}
.ffc-bar__text a { color: #f0f0f0; text-decoration: underline;}
.ffc-bar__text a:hover { color: #009AAD;}

.ffc-bar__actions {
    -ms-flex: 0 0 auto; flex: 0 0 auto;
    text-align: right; padding: 10px 0 0 0;
}
.ffc-bar__actions .ffc-btn { margin: 8px 0 0 10px;}

/* --------------------------------------------------------------------------
   Okno s nastavením
   -------------------------------------------------------------------------- */
.ffc-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 99100;
    background: rgba(0,0,0,.8);
    font-family: 'Panton', sans-serif; text-align: center;
    padding: 20px; -webkit-box-sizing: border-box; box-sizing: border-box;
    opacity: 0; transition: opacity 0.35s ease-in-out;
    overflow: auto;
}
.ffc-overlay.is-visible { opacity: 1;}
/* svislé vystředění okna */
.ffc-overlay:before { content: ''; display: inline-block; height: 100%; vertical-align: middle;}

.ffc-modal {
    display: inline-block; vertical-align: middle; position: relative;
    width: 720px; max-width: 100%; max-height: 86vh;
    text-align: left; color: #f0f0f0;
    background: #000;
    border: 1px solid rgba(245,245,245,.5);
    -webkit-box-sizing: border-box; box-sizing: border-box;
    transform: translateY(20px);
    transition: transform 0.35s ease-in-out;
    overflow: hidden;
}
.ffc-overlay.is-visible .ffc-modal { transform: translateY(0);}

.ffc-modal__head {
    padding: 24px 30px 18px 30px;
    border-bottom: 1px solid rgba(255,255,255,.15);
}
.ffc-modal__title {
    font-family: 'PantonCaps', sans-serif; font-size: 26px; font-weight: 700; letter-spacing: 3px;
    margin: 0 50px 0 0;
}
.ffc-modal__title i { font-style: normal; color: #009AAD;}
.ffc-modal__close {
    position: absolute; top: 22px; right: 26px;
    width: 34px; height: 34px; padding: 0; line-height: 30px;
    font-family: 'Panton', sans-serif; font-size: 20px; text-align: center; cursor: pointer;
    color: rgba(240,240,240,.6); background: transparent;
    border: 1px solid rgba(240,240,240,.35); border-radius: 100%;
    -webkit-appearance: none; appearance: none;
    transition: all 0.35s ease-in-out;
}
.ffc-modal__close:hover, .ffc-modal__close:focus { color: #009AAD; border-color: #009AAD;}

.ffc-modal__body {
    padding: 20px 30px 6px 30px;
    max-height: calc(86vh - 200px);
    overflow-y: auto;
}
.ffc-modal__intro { font-size: 14px; line-height: 1.6; color: rgba(240,240,240,.7); margin: 0 0 20px 0;}
.ffc-modal__note {
    font-size: 12px; line-height: 1.6; color: rgba(240,240,240,.45);
    margin: 4px 0 18px 0; padding: 12px 14px;
    border-left: 1px solid rgba(0,154,173,.6);
    background: rgba(255,255,255,.03);
}

.ffc-modal__foot {
    padding: 18px 30px 22px 30px;
    border-top: 1px solid rgba(255,255,255,.15);
    text-align: right;
}
.ffc-modal__foot .ffc-btn { margin: 6px 0 0 10px;}

/* Kategorie cookies - řádek ve stylu .cenik-a */
.ffc-cat {
    margin: 0 0 12px 0; padding: 16px 18px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.03);
    transition: background 0.35s ease-in-out;
}
.ffc-cat:hover { background: rgba(255,255,255,.06);}
.ffc-cat__head {
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -ms-flex-align: center; align-items: center;
}
.ffc-cat__name {
    -ms-flex: 1 1 auto; flex: 1 1 auto;
    font-family: 'PantonCaps', sans-serif; font-size: 16px; font-weight: 700; letter-spacing: 2px;
}
.ffc-cat__state {
    -ms-flex: 0 0 auto; flex: 0 0 auto;
    font-size: 11px; letter-spacing: 1px; color: rgba(240,240,240,.45);
    padding: 0 14px 0 0;
}
.ffc-cat__desc { font-size: 14px; line-height: 1.6; color: rgba(240,240,240,.7); margin: 10px 0 0 0;}
.ffc-cat__more {
    display: inline-block; margin: 10px 0 0 0; padding: 0;
    font-family: 'Panton', sans-serif; font-size: 12px; letter-spacing: 1px; cursor: pointer;
    color: rgba(240,240,240,.55); background: transparent; border: none;
    border-bottom: 1px solid rgba(240,240,240,.25);
    -webkit-appearance: none; appearance: none;
    transition: all 0.35s ease-in-out;
}
.ffc-cat__more:hover, .ffc-cat__more:focus { color: #009AAD; border-bottom-color: #009AAD;}

.ffc-table { width: 100%; margin: 14px 0 4px 0; border-collapse: collapse; font-size: 12px;}
.ffc-table th {
    text-align: left; padding: 6px 8px; font-weight: 700; letter-spacing: 1px;
    color: rgba(240,240,240,.5); border-bottom: 1px solid rgba(255,255,255,.15);
}
.ffc-table td {
    text-align: left; padding: 7px 8px; line-height: 1.45;
    color: rgba(240,240,240,.7); border-bottom: 1px solid rgba(255,255,255,.07);
}
.ffc-table td:first-child { color: #f0f0f0; white-space: nowrap;}

/* Přepínač */
.ffc-switch { position: relative; display: inline-block; width: 52px; height: 26px; -ms-flex: 0 0 auto; flex: 0 0 auto;}
.ffc-switch input {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    margin: 0; padding: 0; opacity: 0; cursor: pointer; z-index: 2;
}
.ffc-switch__ui {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    border: 1px solid rgba(240,240,240,.4); border-radius: 13px;
    background: rgba(255,255,255,.06);
    transition: all 0.35s ease-in-out;
}
.ffc-switch__ui:before {
    content: ''; position: absolute; top: 3px; left: 3px;
    width: 18px; height: 18px; border-radius: 100%;
    background: #f0f0f0;
    transition: all 0.35s ease-in-out;
}
.ffc-switch input:checked + .ffc-switch__ui { border-color: #009AAD; background: rgba(0,154,173,.3);}
.ffc-switch input:checked + .ffc-switch__ui:before { left: 29px; background: #009AAD; box-shadow: 0 0 10px rgba(0,154,173,.9);}
.ffc-switch input:focus + .ffc-switch__ui { border-color: #009AAD;}
.ffc-switch input:disabled { cursor: default;}
.ffc-switch input:disabled + .ffc-switch__ui { opacity: .5;}

/* --------------------------------------------------------------------------
   Trvalý přístup k nastavení - kolečko vlevo dole (po udělení souhlasu)
   -------------------------------------------------------------------------- */
.ffc-badge {
    position: fixed; left: 18px; bottom: 18px; z-index: 98900;
    width: 40px; height: 40px; padding: 0; line-height: 0; cursor: pointer;
    color: rgba(240,240,240,.55);
    background: rgba(0,0,0,.6);
    border: 1px solid rgba(240,240,240,.3); border-radius: 100%;
    -webkit-appearance: none; appearance: none;
    opacity: 0;
    transition: all 0.35s ease-in-out;
}
.ffc-badge.is-visible { opacity: 1;}
.ffc-badge:hover, .ffc-badge:focus { color: #009AAD; border-color: #009AAD; background: rgba(0,0,0,.85);}
.ffc-badge svg { width: 20px; height: 20px; display: block; margin: 0 auto;}

/* --------------------------------------------------------------------------
   Rozhraní pro tablety
   -------------------------------------------------------------------------- */
@media screen and (max-width: 1099px) {
    .ffc-bar__in { padding: 20px 20px 22px 20px;}
    .ffc-bar__text-col { padding: 0 20px 0 0;}
    .ffc-bar__title { font-size: 20px;}
    .ffc-bar__text { font-size: 14px;}
    .ffc-modal__body { max-height: calc(86vh - 190px);}
}

/* --------------------------------------------------------------------------
   Rozhraní pro mobily
   -------------------------------------------------------------------------- */
@media screen and (max-width: 799px) {
    .ffc-bar { max-height: 90vh; overflow-y: auto;}
    .ffc-bar__in { display: block; padding: 18px 16px 20px 16px;}
    .ffc-bar__text-col { padding: 0;}
    .ffc-bar__title { font-size: 18px; letter-spacing: 2px; margin-bottom: 8px;}
    .ffc-bar__text { font-size: 13px;}
    .ffc-bar__actions { text-align: left; padding: 6px 0 0 0;}
    .ffc-bar__actions .ffc-btn { display: block; width: 100%; margin: 10px 0 0 0;}

    .ffc-overlay { padding: 0;}
    .ffc-overlay:before { display: none;}
    .ffc-modal {
        display: block; width: 100%; max-width: none; min-height: 100%; max-height: none;
        border: none; border-top: 1px solid rgba(245,245,245,.5);
    }
    .ffc-modal__head { padding: 20px 16px 16px 16px;}
    .ffc-modal__title { font-size: 20px; letter-spacing: 2px;}
    .ffc-modal__close { top: 18px; right: 14px;}
    .ffc-modal__body { padding: 16px 16px 6px 16px; max-height: none;}
    .ffc-modal__foot { padding: 16px 16px 20px 16px; text-align: left;}
    .ffc-modal__foot .ffc-btn { display: block; width: 100%; margin: 10px 0 0 0;}

    .ffc-cat { padding: 14px;}
    .ffc-cat__name { font-size: 14px; letter-spacing: 1px;}
    .ffc-cat__state { display: none;}
    .ffc-cat__desc { font-size: 13px;}
    .ffc-table { font-size: 11px;}
    .ffc-table td:first-child { white-space: normal;}

    .ffc-badge { left: 12px; bottom: 12px; width: 34px; height: 34px;}
    .ffc-badge svg { width: 17px; height: 17px;}
}

/* Ohled na uživatele s omezením animací */
@media (prefers-reduced-motion: reduce) {
    .ffc-bar, .ffc-overlay, .ffc-modal, .ffc-btn, .ffc-badge,
    .ffc-switch__ui, .ffc-switch__ui:before, .ffc-cat, .ffc-cat__more, .ffc-modal__close { transition: none;}
}

/* Tisk */
@media print {
    .ffc-bar, .ffc-overlay, .ffc-badge { display: none !important;}
}
