/* =========================================================================
   Cookie consent banner, styled to the Practice design (white, ink, copper).

   Presentation only. This file restyles the markup that the CookieAdmin plugin prints and
   changes nothing else: no consent record, category, script blocking or cookie behaviour
   is touched, and no plugin file or setting is edited. The plugin applies its colours as
   inline styles from its own settings, so colour rules here carry !important; they target
   only .cookieadmin_* elements. Remove this file (or the wp_enqueue_style call in
   inc/assets.php) and the plugin's own styling returns, with no other effect.

   Design intent
   - Accept All and Reject All look identical (same fill, size and weight).
   - Customise is an outlined button of the same size, so it is as easy to find.
   - Phones get a compact bottom sheet that leaves most of the page visible.
   ========================================================================= */

.cookieadmin_law_container,
.cookieadmin_cookie_modal,
.cookieadmin_reconsent_wrap {
  font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
  color: #1d2a33;
}

/* ----- Banner (first visit and when preferences are reopened) ----- */
.cookieadmin_law_container .cookieadmin_consent_inside {
  padding: 1rem 1.1rem 1.1rem;
  background-color: #ffffff !important;
  border: 1px solid #d8dddc !important;
  border-top: 3px solid #9c4724 !important;
  border-radius: 4px;
  box-shadow: 0 6px 24px rgba(21, 34, 43, .16);
}
.cookieadmin_law_container p#cookieadmin_notice_title {
  margin: 0 0 .35rem;
  color: #15222b !important;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}
.cookieadmin_law_container p#cookieadmin_notice {
  color: #1d2a33 !important;
  font-size: .875rem;
  line-height: 1.5;
}
.cookieadmin_law_container p#cookieadmin_notice b { color: #15222b; font-weight: 600; }

.cookieadmin_law_container .cookieadmin_consent_btns {
  flex-wrap: nowrap;
  gap: .5rem;
  margin-top: .8rem;
}

/* Buttons: one size and shape for all three; Accept and Reject share one treatment. */
.cookieadmin_law_container button.cookieadmin_btn,
.cookieadmin_cookie_modal button.cookieadmin_btn {
  min-height: 44px;
  padding: 0 .75rem;
  border: 1.5px solid #15222b !important;
  border-radius: 4px;
  background-color: #15222b !important;
  color: #ffffff !important;
  font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.1;
  filter: none;
  transition: background-color .15s ease;
}
.cookieadmin_law_container button.cookieadmin_btn:hover,
.cookieadmin_cookie_modal button.cookieadmin_btn:hover {
  background-color: #23333e !important;
  border-color: #23333e !important;
  filter: none;
}
.cookieadmin_law_container button.cookieadmin_customize_btn,
.cookieadmin_cookie_modal button.cookieadmin_customize_btn {
  background-color: #ffffff !important;
  color: #15222b !important;
}
.cookieadmin_law_container button.cookieadmin_customize_btn:hover,
.cookieadmin_cookie_modal button.cookieadmin_customize_btn:hover {
  background-color: #f3f5f4 !important;
  border-color: #15222b !important;
}
.cookieadmin_law_container button.cookieadmin_btn:focus-visible,
.cookieadmin_cookie_modal button.cookieadmin_btn:focus-visible,
.cookieadmin_re_consent:focus-visible,
.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref:focus-visible,
.cookieadmin_types .cookieadmin_header button.cookieadmin_show_pref_cookies:focus-visible {
  outline: 3px solid #9c4724;
  outline-offset: 2px;
}

/* ----- Preferences dialog ----- */
.cookieadmin_cookie_modal {
  border: 1px solid #d8dddc !important;
  border-radius: 4px;
  background-color: #ffffff !important;
  box-shadow: 0 10px 40px rgba(21, 34, 43, .25);
}
.cookieadmin_cookie_modal .cookieadmin_mod_head { border-bottom-color: #d8dddc; }
.cookieadmin_cookie_modal .cookieadmin_preference_title,
.cookieadmin_cookie_modal .cookieadmin_details_wrapper,
.cookieadmin_cookie_modal .cookieadmin_preference { color: #1d2a33 !important; }
.cookieadmin_cookie_modal .cookieadmin_preference_title { color: #15222b !important; font-weight: 600; }
.cookieadmin_cookie_modal .cookieadmin_types { border-top-color: #d8dddc; }
.cookieadmin_cookie_modal .cookieadmin_modal_footer { border-top-color: #d8dddc; }
.cookieadmin_cookie_modal .cookieadmin_remark,
.cookieadmin_cookie_modal .cookieadmin_header .cookieadmin_act,
.cookieadmin_cookie_modal .cookieadmin_showmore { color: #9c4724 !important; }
.cookieadmin_cookie_modal .cookieadmin_preference a { color: #9c4724; }

/* Switches: off is a mid grey (3:1 against white), on is ink. The plugin's own on colour is blue. */
.cookieadmin_cookie_modal .cookieadmin_slider { background-color: #6b7780 !important; }
.cookieadmin_cookie_modal input:checked + .cookieadmin_slider,
.cookieadmin_cookie_modal input:disabled + .cookieadmin_slider { background-color: #15222b !important; }
.cookieadmin_cookie_modal input:focus-visible + .cookieadmin_slider { outline: 3px solid #9c4724; outline-offset: 2px; }

/* The round "change my choice" button that appears after a choice is made. */
button.cookieadmin_re_consent,
body .cookieadmin_reconsent_wrap button.cookieadmin_re_consent {
  background-color: #15222b;
  box-shadow: 0 4px 14px rgba(21, 34, 43, .35);
}

/* ----- Desktop and tablet: a compact card, bottom left, as configured in the plugin ----- */
@media (min-width: 768px) {
  .cookieadmin_law_container { min-width: 340px; max-width: 440px; }
  .cookieadmin_law_container .cookieadmin_consent_btns button.cookieadmin_btn { flex: 1 1 0; padding: 0 .5rem; }
}

/* ----- Phones: a compact bottom sheet, full width, three buttons on one row ----- */
@media (max-width: 767px) {
  .cookieadmin_law_container.cookieadmin_box {
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: none;
  }
  .cookieadmin_law_container .cookieadmin_consent_inside {
    padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom, 0px));
    border-width: 1px 0 0 !important;
    border-top: 3px solid #9c4724 !important;
    border-radius: 12px 12px 0 0;
    box-shadow: 0 -6px 20px rgba(21, 34, 43, .18);
  }
  .cookieadmin_law_container p#cookieadmin_notice_title { margin-bottom: .2rem; font-size: .9375rem; }
  .cookieadmin_law_container p#cookieadmin_notice { font-size: .8125rem; line-height: 1.45; }
  .cookieadmin_law_container .cookieadmin_consent_btns { gap: .4rem; margin-top: .6rem; }
  .cookieadmin_law_container .cookieadmin_consent_inside > .cookieadmin_consent_btns button.cookieadmin_btn {
    flex: 1 1 0;
    min-width: 0;
    padding: 0 .35rem;
    font-size: .875rem;
  }
  button.cookieadmin_re_consent,
  body .cookieadmin_reconsent_wrap button.cookieadmin_re_consent { width: 44px; height: 44px; bottom: 12px; left: 12px; }
  .cookieadmin_re_consent img.cookieadmin_reconsent_img { width: 32px; height: 32px; }
  .cookieadmin_cookie_modal.cookieadmin_center { top: 5%; max-height: 90vh; }
}

/* The plugin's 480px rule stacks the buttons full width; keep one row on phones. */
@media (max-width: 480px) {
  .cookieadmin_law_container .cookieadmin_consent_inside > .cookieadmin_consent_btns button.cookieadmin_btn { flex-basis: 0; }
  .cookieadmin_cookie_modal .cookieadmin_modal_footer button.cookieadmin_btn { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .cookieadmin_law_container button.cookieadmin_btn,
  .cookieadmin_cookie_modal button.cookieadmin_btn { transition: none; }
}

/* Never print the banner or the floating button. */
@media print {
  .cookieadmin_law_container, .cookieadmin_cookie_modal, .cookieadmin_re_consent, .cookieadmin_reconsent_wrap { display: none !important; }
}
