.cc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000; background: #fff; color: var(--text-color, #12254C); border-top: 2px solid var(--primary-color, #12254C); box-shadow: 0 -2px 12px rgba(0,0,0,.15); font-family: 'Catamaran', sans-serif; font-weight: 400; }
.cc[hidden], .cc [hidden] { display: none; }
.cc-inner { max-width: 960px; margin: 0 auto; padding: 16px 20px; }
.cc h2 { font-size: 1.1rem; margin-bottom: 4px; }
.cc p { font-size: .95rem; line-height: 1.4; }
.cc a { color: inherit; text-decoration: underline; }
.cc-details { margin-top: 12px; }
.cc-row { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 8px; font-size: .9rem; cursor: pointer; }
.cc-row input { margin-top: 5px; width: 18px; height: 18px; }
.cc-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
/* Accept and Reject look identical on purpose (AEPD: refusing must be as easy as accepting). */
.cc-btn { flex: 1 1 140px; padding: 10px 16px; font: inherit; font-weight: 600; color: #fff; background: var(--primary-color, #12254C); border: 2px solid var(--primary-color, #12254C); border-radius: 4px; cursor: pointer; }
.cc-btn:hover, .cc-btn:focus-visible { background: #fff; color: var(--primary-color, #12254C); outline: 2px solid var(--primary-color, #12254C); outline-offset: 2px; }
@media (max-width: 600px) { .cc-inner { padding: 12px 14px; } .cc-btn { flex-basis: 100%; } }

/* cookie policy table */
.cookie-table-wrap { overflow-x: auto; }
.cookie-table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.cookie-table th, .cookie-table td { border: 1px solid #c9cfdb; padding: 8px 10px; text-align: left; vertical-align: top; }
.cookie-table th { background: #eef1f6; }
