/* The plugin supplies the single Social Circle navigation and footer. */
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > footer.wp-block-template-part {
  display: none !important;
}

/* Avoid a default theme content container adding a second visual frame. */
.wp-site-blocks > main {
  margin-block-start: 0 !important;
}

.sc-location-filter {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin: 0 0 28px;
  padding: 17px;
  border: 1px solid var(--sc-line);
  border-radius: 16px;
  background: #fff;
}

.sc-location-filter label {
  display: grid;
  gap: 6px;
  color: var(--sc-navy);
  font-size: 12px;
  font-weight: 800;
}

.sc-location-filter select {
  min-width: 180px;
  padding: 10px 12px;
  border: 1px solid #d9cdb8;
  border-radius: 9px;
  background: #fffdfa;
  color: var(--sc-ink);
  font: inherit;
}

.sc-location-selection {
  padding: 12px 14px;
  border-left: 3px solid var(--sc-gold);
  background: #fff8e9;
  color: var(--sc-navy);
}

/* A clean white-mark treatment removes the dark-box effect from the original icon. */
.sc-core-brand--white img {
  width: 44px;
  height: 44px;
  padding: 3px;
  object-fit: contain;
  background: #fff;
  border: 1px solid rgba(12, 33, 69, 0.10);
  border-radius: 50%;
  box-shadow: 0 8px 18px -14px rgba(12, 33, 69, 0.55);
}

.sc-core-footer .sc-core-brand--white img { border-color: rgba(255, 255, 255, 0.22); }

.sc-social-row { display: flex; justify-content: flex-end; margin: 12px 0 0; }
.sc-social-icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid rgba(12,33,69,.22); border-radius: 50%; color: var(--sc-navy); background: #fff; transition: transform .16s ease, background .16s ease; }
.sc-social-icon:hover, .sc-social-icon:focus-visible { background: #fff4df; transform: translateY(-1px); }
.sc-social-icon svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.sc-core-footer .sc-social-icon { color: #fff; background: transparent; border-color: rgba(255,255,255,.46); }

.sc-legal { display: grid; gap: 26px; }
.sc-legal h1 { margin-bottom: 0; }
.sc-legal h2 { margin: 0 0 10px; color: var(--sc-navy); font: 700 28px/1.15 "Playfair Display", Georgia, serif; }
.sc-legal p { color: var(--sc-muted); line-height: 1.68; }
.sc-legal__lead { max-width: 760px; font-size: 19px; color: var(--sc-ink) !important; }
.sc-legal section { padding-top: 4px; border-top: 1px solid var(--sc-line); }
.sc-legal__table { width: 100%; overflow: hidden; border-collapse: separate; border-spacing: 0; border: 1px solid var(--sc-line); border-radius: 14px; background: #fff; }
.sc-legal__table th, .sc-legal__table td { padding: 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--sc-line); }
.sc-legal__table th { color: var(--sc-navy); background: #fff8e9; font-size: 13px; }
.sc-legal__table tr:last-child td { border-bottom: 0; }

/* Cookie choices remain accessible through the Privacy page rather than a permanent floating control. */
html body .cookieadmin_re_consent,
html body button.cookieadmin_re_consent,
html body .cookieadmin_re_consent.cookieadmin_re_consent {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 640px) {
  .sc-location-filter { display: grid; align-items: stretch; }
  .sc-location-filter select { width: 100%; }
  .sc-legal__table, .sc-legal__table tbody, .sc-legal__table tr, .sc-legal__table td { display: block; width: 100%; box-sizing: border-box; }
  .sc-legal__table thead { display: none; }
  .sc-legal__table td:first-child { font-weight: 800; color: var(--sc-navy); background: #fff8e9; }
}
