.tpws-cookie-consent[hidden], .tpws-cookie-consent-reopen[hidden], .tpws-cookie-consent__actions[hidden], .tpws-cookie-consent__settings[hidden] { display: none !important; }

.tpws-cookie-consent { position: fixed; z-index: 999999; right: 0; bottom: 0; left: 0; pointer-events: none; }
.tpws-cookie-consent__panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 18px 30px; box-sizing: border-box; width: 100%; padding: 20px 24px; color: #263238; background: rgba(255, 255, 255, 0.98); border: 1px solid rgba(40, 121, 131, 0.24); border-radius: 4px; box-shadow: 0 -6px 20px rgba(19, 48, 52, 0.12); pointer-events: auto; backdrop-filter: blur(8px); }
.tpws-cookie-consent__summary h2 { margin: 0 0 8px; color: #1c626b; font-size: 22px; line-height: 1.25; }
.tpws-cookie-consent__summary p, .tpws-cookie-consent__option p, .tpws-cookie-consent__option small { margin: 0; color: #52666a; font-size: 14px; line-height: 1.5; }
.tpws-cookie-consent__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }

.tpws-cookie-consent__button, .tpws-cookie-consent__save, .tpws-cookie-consent-reopen { min-height: 44px; padding: 10px 16px; font: inherit; font-weight: 700; line-height: 1.2; color: #174f56; background: #f4fbfc; border: 2px solid #287983; border-radius: 4px; cursor: pointer; transition: color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.tpws-cookie-consent__button--primary { color: #fff; background: #287983; }
.tpws-cookie-consent__button:hover, .tpws-cookie-consent__save:hover, .tpws-cookie-consent-reopen:hover { color: #fff; background: #287983; transform: translateY(-1px); }
.tpws-cookie-consent__button--primary:hover { background: #174f56; border-color: #174f56; }
.tpws-cookie-consent__button:focus-visible, .tpws-cookie-consent__save:focus-visible, .tpws-cookie-consent-reopen:focus-visible, .tpws-cookie-consent__option input:focus-visible + i { outline: 3px solid rgba(40, 121, 131, 0.35); outline-offset: 3px; }

.tpws-cookie-consent__settings { display: grid; grid-column: 1 / -1; gap: 10px; padding-top: 16px; border-top: 1px solid #dbe8ea; }
.tpws-cookie-consent__settings-actions { display: flex; justify-content: flex-end; gap: 10px; }
.tpws-cookie-consent__option { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px; padding: 12px 14px; background: #f8fbfb; border: 1px solid #dbe8ea; border-radius: 4px; }
.tpws-cookie-consent__option strong { display: block; margin-bottom: 3px; color: #244e54; font-size: 15px; }
.tpws-cookie-consent__option--necessary span:last-child { color: #287983; font-size: 13px; font-weight: 700; white-space: nowrap; }
.tpws-cookie-consent__option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.tpws-cookie-consent__option i { position: relative; width: 48px; height: 26px; background: #aab9bb; border-radius: 999px; transition: background-color .18s ease; }
.tpws-cookie-consent__option i::after { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; background: #fff; border-radius: 50%; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.22); content: ''; transition: transform .18s ease; }
.tpws-cookie-consent__option input:checked + i { background: #287983; }
.tpws-cookie-consent__option input:checked + i::after { transform: translateX(22px); }

.tpws-cookie-consent__save { min-width: 190px; }
.tpws-cookie-consent-reopen { position: fixed; z-index: 999998; right: auto; bottom: 24px; left: -10px; display: flex; align-items: center; box-sizing: border-box; width: 44px; min-height: 34px; padding: 0 7px 0 17px; overflow: hidden; font-size: 12px; white-space: nowrap; background: rgba(255, 255, 255, 0.96); border-width: 1px; border-radius: 0 999px 999px 0; box-shadow: 0 4px 12px rgba(19, 48, 52, 0.14); }
.tpws-cookie-consent-reopen:hover, .tpws-cookie-consent-reopen:focus-visible { width: auto; padding-right: 14px; }
.tpws-cookie-consent-reopen svg { flex: 0 0 18px; width: 18px; height: 18px; }
.tpws-cookie-consent-reopen span { display: none; margin-left: 7px; }
.tpws-cookie-consent-reopen:hover span, .tpws-cookie-consent-reopen:focus-visible span { display: inline; }

@media (max-width: 700px) {
    .tpws-cookie-consent { padding: 10px; }
    .tpws-cookie-consent__panel { display: block; max-height: calc(100vh - 20px); padding: 16px; overflow-y: auto; border-radius: 4px; }
    .tpws-cookie-consent__summary h2 { font-size: 19px; }
    .tpws-cookie-consent__actions { display: grid; grid-template-columns: 1fr; margin-top: 18px; }
    .tpws-cookie-consent__settings { margin-top: 16px; }
    .tpws-cookie-consent__settings-actions { display: grid; grid-template-columns: 1fr; }
    .tpws-cookie-consent__option { gap: 10px; padding: 10px; }
    .tpws-cookie-consent__settings-actions .tpws-cookie-consent__button, .tpws-cookie-consent__save { width: 100%; min-width: 0; }
}
