/* Cookie consent — AED ProŽivot.CZ */
/* Navazuje na styly/style.css (Open Sans, #B22A1D / #FF3D28 / #46110B / #222 / #f6f6f6) */

#cc-consent, #cc-consent *, #cc-consent *::before, #cc-consent *::after { box-sizing: border-box;}

html.cc-lock { overflow: hidden;}

/* Spodní lišta */
.cc-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9998; display: flex; align-items: center; gap: 24px; padding: 22px calc(50% - 550px); border-top: 1px solid #B22A1D; color: #f6f6f6; font-family: 'Open Sans', sans-serif; background: #1c1211 linear-gradient(0deg, #2a0f0b 0%, #1c1211 75%); box-shadow: 0 -10px 30px rgba(0,0,0,.35); transform: translateY(0); transition: transform .5s ease, opacity .5s ease;}
.cc-banner[hidden] { display: none;}
.cc-banner--out { transform: translateY(110%); opacity: 0;}

.cc-banner__icon { flex: 0 0 auto; width: 46px; height: 42px;}
.cc-banner__icon .cc-heart { filter: drop-shadow(0 0 4px rgba(255,61,40,.5));}

.cc-banner__text { flex: 1 1 auto; min-width: 0;}
.cc-banner__title { margin: 0 0 4px 0; font-size: 16px; font-weight: 800; color: #f6f6f6;}
.cc-banner__desc { margin: 0; font-size: 14px; font-weight: 300; line-height: 1.5; color: #f1cbc7;}
.cc-banner__desc a { color: #FF3D28; font-weight: 600; text-decoration: underline;}
.cc-banner__desc a:hover { color: #f6f6f6;}

.cc-banner__actions { flex: 0 0 auto; display: flex; gap: 10px; flex-wrap: wrap;}

/* Tlačítka */
.cc-btn { font-family: 'Open Sans', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .3px; padding: 12px 20px; border-radius: 10px; cursor: pointer; transition: all .3s ease; white-space: nowrap;}
.cc-btn--primary { border: 1px solid #FF3D28; background: #B22A1D; color: #f6f6f6;}
.cc-btn--primary:hover { background: #FF3D28; border-color: #FF3D28;}
.cc-btn--ghost { border: 2px dotted rgba(246,246,246,.35); background: transparent; color: #f6f6f6;}
.cc-btn--ghost:hover { border-color: #f6f6f6;}
.cc-btn--text { border: none; background: none; color: #f1cbc7; text-decoration: underline; padding: 12px 6px;}
.cc-btn--text:hover { color: #FF3D28;}

/* Overlay + modál nastavení */
.cc-modal-backdrop { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(20,10,8,.72); opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility .35s ease;}
.cc-modal-backdrop.cc-open { opacity: 1; visibility: visible;}

.cc-modal { width: 100%; max-width: 620px; max-height: 88vh; overflow-y: auto; background: #f6f6f6; color: #222; border: 3px solid #B22A1D; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,.4); font-family: 'Open Sans', sans-serif; transform: scale(.95); transition: transform .35s ease;}
.cc-modal-backdrop.cc-open .cc-modal { transform: scale(1);}

.cc-modal__header { position: relative; padding: 26px 60px 18px 30px; border-bottom: 1px solid rgba(25,25,25,.1);}
.cc-modal__header .cc-heart { position: absolute; top: 22px; right: 60px; width: 34px; height: 31px; opacity: .9;}
.cc-modal__title { margin: 0; font-size: 24px; font-weight: 900; color: #B22A1D;}
.cc-modal__close { position: absolute; top: 18px; right: 18px; width: 34px; height: 34px; border-radius: 100%; border: 2px dotted rgba(25,25,25,.25); background: transparent; color: #222; font-size: 16px; font-weight: 700; cursor: pointer; transition: all .3s ease;}
.cc-modal__close:hover { border-color: #B22A1D; color: #B22A1D;}

.cc-modal__body { padding: 20px 30px;}
.cc-modal__intro { margin: 0 0 20px 0; font-size: 15px; font-weight: 300; line-height: 1.6; text-align: justify;}

.cc-category { display: flex; align-items: flex-start; gap: 16px; padding: 16px 0; border-top: 1px solid rgba(25,25,25,.08);}
.cc-category:first-of-type { border-top: none;}
.cc-category__info { flex: 1 1 auto;}
.cc-category__title { display: flex; align-items: center; gap: 8px; margin: 0 0 4px 0; font-size: 16px; font-weight: 800; color: #222;}
.cc-category__badge { font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: #B22A1D; background: rgba(178,42,29,.08); border-radius: 6px; padding: 2px 8px;}
.cc-category__desc { margin: 0; font-size: 14px; font-weight: 300; line-height: 1.5; color: #444; text-align: justify;}

/* Přepínač */
.cc-switch { position: relative; flex: 0 0 auto; width: 50px; height: 28px; margin-top: 2px;}
.cc-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer;}
.cc-switch__track { position: absolute; inset: 0; border-radius: 20px; background: rgba(25,25,25,.15); transition: background .3s ease;}
.cc-switch__thumb { position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 100%; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.3); transition: left .3s ease;}
.cc-switch input:checked ~ .cc-switch__track { background: #B22A1D;}
.cc-switch input:checked ~ .cc-switch__thumb { left: 25px;}
.cc-switch input:disabled { cursor: not-allowed;}
.cc-switch input:disabled ~ .cc-switch__track { background: #B22A1D; opacity: .55;}
.cc-switch input:focus-visible ~ .cc-switch__track { outline: 2px solid #FF3D28; outline-offset: 2px;}

.cc-modal__footer { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; padding: 18px 30px 26px 30px; border-top: 1px solid rgba(25,25,25,.1);}
.cc-modal__footer .cc-btn--primary { border-color: #B22A1D; background: #B22A1D;}
.cc-modal__footer .cc-btn--primary:hover { background: #FF3D28; border-color: #FF3D28;}
.cc-modal__footer .cc-btn--ghost { border: 2px dotted rgba(25,25,25,.2); color: #222;}
.cc-modal__footer .cc-btn--ghost:hover { border-color: #B22A1D; color: #B22A1D;}

/* Plovoucí tlačítko pro opětovné otevření nastavení */
.cc-reopen { position: fixed; left: 24px; bottom: 24px; z-index: 9997; width: 52px; height: 52px; border-radius: 100%; border: 1px solid #FF3D28; background: #f6f6f6; box-shadow: 0 4px 20px rgba(0,0,0,.35); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .3s ease; opacity: 0; visibility: hidden; transform: translateY(10px);}
.cc-reopen.cc-visible { opacity: 1; visibility: visible; transform: translateY(0);}
.cc-reopen:hover { background: #B22A1D;}
.cc-reopen .cc-heart { width: 24px; height: 22px;}
.cc-reopen:hover .cc-heart .cc-heart-stroke { stroke: #f6f6f6;}
.cc-reopen:hover .cc-heart .cc-heart-bolt { fill: #f6f6f6;}

@media screen and (max-width: 1099px) {
    .cc-banner { padding: 20px 24px;}
}

@media screen and (max-width: 767px) {
    .cc-banner { flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px 18px calc(20px + env(safe-area-inset-bottom));}
    .cc-banner__actions { width: 100%;}
    .cc-btn { flex: 1 1 auto; text-align: center;}
    .cc-modal__header { padding: 22px 54px 16px 20px;}
    .cc-modal__header .cc-heart { right: 54px;}
    .cc-modal__body { padding: 16px 20px;}
    .cc-modal__footer { padding: 16px 20px 22px 20px;}
    .cc-reopen { left: 16px; bottom: 16px;}
}

@media (prefers-reduced-motion: reduce) {
    .cc-banner, .cc-modal, .cc-modal-backdrop, .cc-switch__thumb, .cc-switch__track, .cc-reopen { transition: none;}
}
