/* ===================================================================
   Cookie lišta + nastavení cookies
   Vizuálně navazuje na UI/UX webu (barvy, radius tlačítek, font Barlow)
   =================================================================== */

.cookie-btn { display: inline-block; border: none; border-radius: 27px; padding: 13px 30px; margin: 0 0 0 12px; font-family: 'Barlow', sans-serif; font-size: 15px; font-weight: 900; letter-spacing: .5px; text-transform: uppercase; text-align: center; cursor: pointer; white-space: nowrap; transition: all 0.35s ease-in-out;}
.cookie-btn:first-child { margin: 0;}

.cookie-btn-primary { color: #f0f0f0; background: #403f56;}
.cookie-btn-primary:hover, .cookie-btn-primary:focus { color: #000; background: linear-gradient(0deg, #da251d, #e77919);}

.cookie-btn-outline { color: #403f56; background: transparent; box-shadow: inset 0 0 0 1px rgba(64,63,86,.3);}
.cookie-btn-outline:hover, .cookie-btn-outline:focus { color: #da251d; box-shadow: inset 0 0 0 1px #da251d;}

.cookie-btn-ghost { color: #403f56; background: transparent; text-decoration: underline; padding-left: 6px; padding-right: 6px;}
.cookie-btn-ghost:hover, .cookie-btn-ghost:focus { color: #da251d;}

/* Spodní lišta se souhlasem */
.cookie-consent { width: calc(100% - 48px); max-width: 1040px; position: fixed; left: 50%; bottom: 24px; z-index: 9000; transform: translate(-50%, 150%); opacity: 0; pointer-events: none; transition: transform .5s ease, opacity .5s ease;}
.cookie-consent.is-visible { transform: translate(-50%, 0); opacity: 1; pointer-events: auto;}

.cookie-consent__inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 30px 40px; background: #fff; border-radius: 18px; box-shadow: 0 20px 60px rgba(64,63,86,.3); overflow: hidden;}
.cookie-consent__inner:before { content: ''; width: 100%; height: 4px; position: absolute; top: 0; left: 0; background: linear-gradient(90deg, #e77919, #da251d);}

.cookie-consent__title { font-size: 20px; font-weight: 900; color: #403f56; margin: 0 0 6px 0;}
.cookie-consent__desc { font-size: 15px; line-height: 1.5; color: #403f56;}
.cookie-consent__desc a { color: #da251d; text-decoration: underline;}
.cookie-consent__desc a:hover { color: #e77919;}

.cookie-consent__actions { display: flex; align-items: center; flex: none;}

/* Modální okno s podrobným nastavením */
.cookie-settings { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 9600; visibility: hidden; opacity: 0; transition: opacity .35s ease, visibility 0s linear .35s;}
.cookie-settings.is-visible { visibility: visible; opacity: 1; transition: opacity .35s ease, visibility 0s linear 0s;}

.cookie-settings__overlay { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: rgba(64,63,86,.55);}

.cookie-settings__card { width: calc(100% - 48px); max-width: 560px; max-height: calc(100% - 80px); position: absolute; top: 50%; left: 50%; overflow-y: auto; transform: translate(-50%, -46%); background: #fff; border-radius: 18px; padding: 44px 44px 36px 44px; box-shadow: 0 30px 80px rgba(64,63,86,.4); transition: transform .35s ease;}
.cookie-settings.is-visible .cookie-settings__card { transform: translate(-50%, -50%);}

.cookie-settings__close { width: 34px; height: 34px; position: absolute; top: 18px; right: 18px; border: none; border-radius: 100%; background: #f0f0f0; cursor: pointer; transition: all 0.35s ease-in-out;}
.cookie-settings__close:before, .cookie-settings__close:after { content: ''; width: 14px; height: 2px; position: absolute; top: 50%; left: 50%; background: #403f56;}
.cookie-settings__close:before { transform: translate(-50%, -50%) rotate(45deg);}
.cookie-settings__close:after { transform: translate(-50%, -50%) rotate(-45deg);}
.cookie-settings__close:hover { background: linear-gradient(0deg, #da251d, #e77919);}
.cookie-settings__close:hover:before, .cookie-settings__close:hover:after { background: #fff;}

.cookie-settings__title { font-size: 26px; font-weight: 300; color: #403f56; margin: 0 0 14px 0;}
.cookie-settings__title span { font-weight: 900; color: #e77919;}

.cookie-settings__intro { font-size: 15px; line-height: 1.5; color: #403f56; margin: 0 0 26px 0;}

.cookie-settings__item { padding: 18px 0; border-top: 1px solid #f0f0f0;}
.cookie-settings__item:last-of-type { border-bottom: 1px solid #f0f0f0;}

.cookie-settings__item-head { display: flex; align-items: center; justify-content: space-between; gap: 20px;}
.cookie-settings__item-title { font-size: 17px; font-weight: 600; color: #403f56;}
.cookie-settings__item-desc { font-size: 14px; line-height: 1.5; color: rgba(64,63,86,.75); margin: 8px 0 0 0;}

/* Přepínač */
.cookie-toggle { width: 46px; height: 26px; flex: none; position: relative; border: none; border-radius: 20px; padding: 0; background: rgba(64,63,86,.2); cursor: pointer; transition: background .25s ease-in-out;}
.cookie-toggle__dot { width: 20px; height: 20px; position: absolute; top: 3px; left: 3px; border-radius: 100%; background: #fff; box-shadow: 0 2px 4px rgba(64,63,86,.4); transition: transform .25s ease-in-out;}
.cookie-toggle.is-on { background: #403f56;}
.cookie-toggle.is-on .cookie-toggle__dot { transform: translateX(20px);}
.cookie-toggle-disabled { cursor: default; background: #e77919; opacity: .55;}
.cookie-toggle-disabled .cookie-toggle__dot { transform: translateX(20px);}

.cookie-settings__actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin: 30px 0 0 0;}

/* Trvalé tlačítko pro opětovné otevření nastavení */
.cookie-reopen { width: 52px; height: 52px; position: fixed; left: 24px; bottom: 24px; z-index: 8000; border: none; border-radius: 100%; background: #403f56; box-shadow: 0 8px 24px rgba(64,63,86,.4); cursor: pointer; visibility: hidden; opacity: 0; transform: scale(.6); transition: all 0.35s ease-in-out;}
.cookie-reopen.is-visible { visibility: visible; opacity: 1; transform: scale(1);}
.cookie-reopen:hover { background: linear-gradient(0deg, #da251d, #e77919);}

.cookie-reopen__icon { width: 24px; height: 24px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 100%; background: #f0f0f0;}
.cookie-reopen__icon:before { content: ''; width: 6px; height: 6px; position: absolute; top: 4px; left: 5px; border-radius: 100%; background: #403f56;}
.cookie-reopen__icon:after { content: ''; width: 4px; height: 4px; position: absolute; bottom: 3px; right: 4px; border-radius: 100%; background: #403f56; box-shadow: -8px -2px 0 -1px #403f56;}

.cookie-modal-open { overflow: hidden;}

@media screen and (max-width: 800px) {
    .cookie-consent { width: calc(100% - 24px); bottom: 12px;}
    .cookie-consent__inner { flex-direction: column; align-items: stretch; gap: 20px; padding: 26px 24px;}
    .cookie-consent__actions { flex-direction: column; align-items: stretch;}
    .cookie-btn { margin: 10px 0 0 0; width: 100%;}
    .cookie-btn:first-child { margin: 0;}

    .cookie-settings__card { padding: 36px 24px 28px 24px;}
    .cookie-settings__title { font-size: 22px;}

    .cookie-settings__actions { flex-direction: column-reverse; align-items: stretch;}
    .cookie-settings__actions .cookie-btn { margin: 0 0 10px 0;}
    .cookie-settings__actions .cookie-btn:last-child { margin: 0;}

    .cookie-reopen { left: 16px; bottom: 16px;}
}
