/*
 * Cookie consent banner (#cc-main) – condensed overrides.
 * Vendor CSS: https://cdn.oursprivacy.com/consent.css (loaded earlier in header.php),
 * so these rules win at equal specificity. Only the first-layer banner (.cm) is
 * touched; the preferences modal (.pm) is left as-is.
 */

#cc-main {
   --cc-modal-margin: .75rem;
   --cc-modal-border-radius: .375rem;
   --cc-btn-border-radius: .25rem;
   font-size: 14px;
}

/* Overall box: narrower, lighter shadow */
#cc-main .cm {
   max-width: 21rem;
   box-shadow: 0 .25em 1em rgba(0, 0, 2, .2);
}

/* Text block */
#cc-main .cm__texts {
   padding: .65rem 0 0;
}

#cc-main .cm__title,
#cc-main .cm__desc {
   padding: 0 .85rem;
}

#cc-main .cm__title {
   font-size: 1em;
   line-height: 1.3;
}

#cc-main .cm__title + .cm__desc {
   margin-top: .3em;
}

#cc-main .cm__desc {
   font-size: .85em;
   line-height: 1.4;
   padding-bottom: .55em;
}

/* Buttons: one compact row instead of a stacked column */
#cc-main .cm__btns {
   flex-direction: row;
   padding: .55rem .85rem;
}

#cc-main .cm__btn-group {
   display: flex;
   flex: 1;
   gap: .375rem;
}

#cc-main .cm__btn-group + .cm__btn-group {
   margin: 0 0 0 .375rem;
}

#cc-main .cm__btn {
   flex: 1 1 auto;
   min-height: 30px;
   min-width: 0;
   padding: .3em .75em;
   font-size: .8em;
   white-space: nowrap;
}

#cc-main .cm__btn + .cm__btn {
   margin: 0;
}

/* Close (X) button */
#cc-main .cm__btn--close {
   min-height: 0;
   width: 30px;
   height: 30px;
   flex: none;
}

#cc-main .cm__btn--close + .cm__texts {
   padding-right: calc(.85rem + 30px);
}

/* Footer links */
#cc-main .cm__links {
   padding: 0 .85rem;
}

#cc-main .cm__footer {
   padding: .25em 0 .3em;
}

#cc-main .cm__link-group {
   font-size: .75em;
}

#cc-main .cm__link-group > * + * {
   margin-left: .85rem;
}

/* Bar layout: text and buttons side by side on one line */
#cc-main .cm--bar {
   max-width: none;
}

#cc-main .cm--bar .cm__body {
   flex-direction: row;
   align-items: center;
   max-width: 74em;
   padding: .35em 0;
}

#cc-main .cm--bar .cm__texts {
   padding-top: 0;
}

#cc-main .cm--bar .cm__desc {
   padding-bottom: 0;
}

#cc-main .cm--bar .cm__btns {
   flex: none;
}

#cc-main .cm--bar .cm__btn {
   min-width: 0;
   padding: .3em 1em;
}

/* Phones: vendor CSS stacks everything with !important – keep it compact */
@media screen and (max-width: 640px) {
   #cc-main {
      --cc-modal-margin: .5rem;
   }

   #cc-main .cm--bar .cm__body {
      flex-direction: column !important;
      align-items: stretch;
   }

   #cc-main .cm__texts {
      max-height: 30vh;
   }

   #cc-main .cm__btns,
   #cc-main .cm--bar .cm__btns {
      flex-direction: row !important;
   }

   #cc-main .cm__btn-group,
   #cc-main .cm--bar .cm__btn-group,
   #cc-main .cm--bar .cm__btn-group--uneven,
   #cc-main .cm--wide .cm__btn-group--uneven {
      flex-direction: row !important;
   }

   #cc-main .cm__btn {
      white-space: normal;
   }
}
