.ad-preferences {
  margin-top: 14px;
  padding: 18px;
  border: 1px solid #c7d7ce;
  border-radius: 10px;
  background: #f3f7f2;
}
.ad-preferences fieldset { margin: 0; padding: 0; border: 0; }
.ad-preferences legend { padding: 0; margin-bottom: 6px; font-weight: 700; }
.ad-preferences label {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  min-height: 44px;
  margin-right: 17px;
  cursor: pointer;
}
.ad-preferences input[type="radio"] { accent-color: #285847; width: 17px; height: 17px; margin: 0; }
.ad-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ad-actions button, .ad-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 15px;
  border: 1px solid #a6b9ae;
  border-radius: 8px;
  color: #254c3d;
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.ad-preferences [type="submit"] { background: #285847; color: white; border-color: #285847; }
.ad-actions :focus-visible, .ad-preferences input:focus-visible { outline: 3px solid #b75232; outline-offset: 3px; }
.ad-preferences .ad-status { margin: 10px 0 0; color: #425d4e; font-size: 14px; }
.ad-choice-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 20px;
  padding: 14px clamp(17px, 4.5vw, 36px);
  border-top: 1px solid #d9dfd3;
  background: #f2f6ef;
  color: #334c40;
  font-size: 14px;
}
.ad-choice-notice p { margin: 0; line-height: 1.55; }
.ad-choice-notice[hidden], .ad-actions [hidden] { display: none; }
