/* ============================================================
   CookieAdmin consent banner + preferences modal,
   restyled to the Essential Bio Labs palette.
   Loaded after the plugin's own consent.css. Colour and type
   only — the plugin keeps ownership of layout and behaviour.
   ============================================================ */

/* ---- don't stack two modals: the 21+ gate goes first ---- */
body.no-scroll .cookieadmin_law_container { display: none !important; }

/* ============ CONSENT BAR ============ */
.cookieadmin_consent_inside {
  background-color: var(--graphite) !important;
  color: var(--fog) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: 0 22px 50px rgba(0, 0, 0, .6) !important;
  padding: 1.15rem 1.25rem !important;
  font-family: var(--f-body);
}

#cookieadmin_notice_title {
  font-family: var(--f-display);
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: -.015em;
  color: var(--white);
  padding-left: 0;
  margin-bottom: .5rem;
}

.cookieadmin_notice_con,
.cookieadmin_notice_con #cookieadmin_notice {
  font-size: .86rem !important;
  line-height: 1.6;
  color: var(--mist);
  padding: 0;
}

.cookieadmin_notice_con a {
  color: var(--fog);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cookieadmin_consent_btns {
  gap: .5rem;
  margin-top: 1.1rem;
}

/* ============ BUTTONS ============ */
button.cookieadmin_btn {
  font-family: var(--f-body);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .005em;
  padding: .62rem 1.05rem !important;
  border-radius: var(--r) !important;
  margin: 0 !important;
  background-color: transparent !important;
  border: 1px solid var(--line) !important;
  color: var(--fog) !important;
  transition: background .3s ease, border-color .3s ease, color .3s ease;
}

button.cookieadmin_btn:hover {
  opacity: 1;
  background-color: rgba(255, 255, 255, .04) !important;
  border-color: var(--fog) !important;
  color: var(--white) !important;
}

/* Accept All reads as the primary action, like .btn on the site */
button.cookieadmin_accept_btn {
  background-color: var(--white) !important;
  border-color: var(--white) !important;
  color: var(--ink) !important;
}

button.cookieadmin_accept_btn:hover {
  background-color: var(--paper) !important;
  border-color: var(--paper) !important;
  color: var(--ink) !important;
}

/* ============ PREFERENCES MODAL ============ */
.cookieadmin_modal_overlay {
  background-color: rgba(4, 4, 6, .82) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.cookieadmin_cookie_modal {
  background-color: var(--graphite) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .7) !important;
  color: var(--fog);
  font-family: var(--f-body);
}

.cookieadmin_mod_head {
  padding: 1.15rem 1.25rem;
  border-bottom: 1px solid var(--line-soft);
  align-items: center;
}

.cookieadmin_preference_title {
  font-family: var(--f-display);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -.015em;
  color: var(--white);
}

button.cookieadmin_close_pref {
  background: transparent !important;
  border: 1px solid var(--line) !important;
  color: var(--mist) !important;
  border-radius: var(--r) !important;
  padding: .3rem .55rem !important;
  cursor: pointer;
}

button.cookieadmin_close_pref:hover {
  color: var(--white) !important;
  border-color: var(--fog) !important;
}

.cookieadmin_preference,
.cookieadmin_details_wrapper { color: var(--fog); }

.cookieadmin_types {
  border-top: 1px solid var(--line-soft) !important;
  padding: 1rem 1.25rem !important;
}

.cookieadmin_header label.stitle {
  font-family: var(--f-body);
  font-weight: 600;
  font-size: .92rem;
  color: var(--white);
}

.cookieadmin_show_pref_cookies { color: var(--steel) !important; }

.cookieadmin_desc {
  font-size: .84rem;
  line-height: 1.6;
  color: var(--mist);
}

/* the plugin prints these inline with !important */
.cookieadmin_remark,
.cookieadmin_showmore { color: var(--steel) !important; }

.cookieadmin_remark.cookieadmin_act {
  font-family: var(--f-mono);
  font-size: .66rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mist) !important;
}

/* ---- toggles: monochrome, matching the site's chips ---- */
.cookieadmin_slider {
  background-color: var(--carbon) !important;
  border: 1px solid var(--line);
  box-sizing: border-box;
}

input:checked + .cookieadmin_slider { background-color: var(--fog) !important; border-color: var(--fog); }
input:disabled + .cookieadmin_slider { background-color: var(--slate) !important; }
.cookieadmin_slider:before { background-color: var(--ink); }
input:checked + .cookieadmin_slider:before { background-color: var(--ink); }

/* ---- cookie detail cards ---- */
.cookieadmin-cookie-card {
  background-color: var(--slate) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: var(--r) !important;
}

.cookieadmin-cookie-name { color: var(--white) !important; }
.cookieadmin-cookie-duration,
.cookieadmin-cookie-description { color: var(--mist) !important; }

.cookieadmin-tag {
  font-family: var(--f-mono);
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  background-color: rgba(255, 255, 255, .04) !important;
  border: 1px solid var(--line) !important;
  color: var(--mist) !important;
}

.cookieadmin-nocookie-cat { color: var(--steel) !important; }

/* ---- modal footer ---- */
.cookieadmin_modal_footer {
  border-top: 1px solid var(--line-soft);
  padding: 1rem 1.25rem;
  gap: .5rem;
}

.cookieadmin_policy_link_box a,
.cookieadmin_modal_policy_link_box a { color: var(--mist) !important; }

.cookieadmin-poweredby,
.cookieadmin-poweredby a,
.cookieadmin-poweredby a span { color: var(--steel) !important; opacity: .75; }

.cookieadmin-poweredby a img,
.cookieadmin-poweredby a svg { filter: grayscale(1) brightness(1.7); }
