.audit-field { margin: 0 0 18px; }
.audit-field label { display:block; font-weight:650; margin-bottom:7px; }
.audit-field label span, .audit-field small { color:#655b52; font-weight:400; font-size:.85rem; }
.audit-field input, .audit-field textarea { display:block; width:100%; padding:12px; border:1px solid #b9ada0; border-radius:7px; background:#fffdf9; color:#24201d; font:inherit; }
.audit-field textarea { resize:vertical; }
.audit-field small { display:block; margin-top:5px; }
.audit-field input:focus, .audit-field textarea:focus, .ad-choice input:focus-visible { outline:3px solid #305c83; outline-offset:2px; }
.audit-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.ad-choice { background:#f6f0e7; border:1px solid #d6c9b9; border-radius:8px; padding:15px; margin:20px 0; color:#332b24; }
.ad-choice label { display:flex; gap:10px; align-items:flex-start; font-weight:650; line-height:1.4; }
.ad-choice input { flex:none; width:19px; height:19px; margin-top:2px; accent-color:#a44822; }
.ad-choice p { font-size:.82rem; line-height:1.6; margin:10px 0 0; }
#audit-status { line-height:1.5; margin-top:18px; font-weight:600; }
#audit-status:empty { display:none; }
#review-audit-form button { width:100%; }
#review-audit-form button:disabled { opacity:.65; cursor:wait; }
#audit { scroll-margin-top:110px; }
.audit-thanks { max-width:700px; margin:12vh auto; padding:30px; }

/* Dismissal is separate from the equally weighted measurement choices. */
.ad-notice[hidden], [data-hhws-ad-consent-actions][hidden] { display:none !important; }
.ad-notice {
  position:fixed; z-index:1000; right:20px; bottom:20px;
  width:min(580px, calc(100% - 40px)); box-sizing:border-box;
  padding:18px 20px; background:#f7f2ea; color:#182920;
  border:1px solid #cbbcac; border-radius:12px;
  box-shadow:0 8px 32px rgba(15,27,42,.18);
  font-family:inherit; font-size:.875rem; line-height:1.55;
  max-height:calc(100dvh - 32px); overflow:auto;
}
.ad-notice p { margin:0; }
.ad-notice a { color:#81401f; text-decoration:underline; text-underline-offset:3px; }
.ad-notice-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:12px; }
.ad-notice [data-hhws-ad-dismiss] {
  min-height:44px; padding:9px 20px; border:1px solid #95613f; border-radius:6px;
  background:#fffdf9; color:#182920; font:inherit; font-weight:650; cursor:pointer;
}
.ad-notice [data-hhws-ad-dismiss]:hover { background:#eee4d6; }
.ad-notice .ad-notice-detail { margin-top:10px; color:#5c554d; font-size:.75rem; line-height:1.5; }
.ad-notice a:focus-visible, .ad-notice button:focus-visible,
[data-hhws-ad-opt-out]:focus-visible, [data-hhws-ad-allow]:focus-visible { outline:3px solid #305c83; outline-offset:3px; }
.hhws-ad-notice-visible { padding-bottom:calc(var(--hhws-ad-notice-height, 200px) + 32px); }
.hhws-ad-notice-visible #review-audit-form :is(input, textarea, button) {
  scroll-margin-bottom:calc(var(--hhws-ad-notice-height, 200px) + 32px);
}
#ad-preferences { scroll-margin-top:24px; }
#ad-preferences:focus { outline:3px solid #305c83; outline-offset:5px; }
.ad-choice h2 { margin-top:0; }
.ad-choice [data-hhws-ad-opt-out], .ad-choice [data-hhws-ad-allow] {
  margin-top:16px; padding:12px 16px; min-height:44px; max-width:100%;
  font:inherit; font-weight:650; line-height:1.4; text-align:left;
  color:#fffdf9; background:#81401f; border:1px solid #81401f; border-radius:6px; cursor:pointer;
}
.ad-choice [data-hhws-ad-opt-out]:disabled, .ad-choice [data-hhws-ad-allow]:disabled { cursor:default; opacity:.7; }
[data-hhws-ad-status]:empty { display:none; }
@media (max-width:600px) {
  .ad-notice { right:12px; bottom:12px; width:calc(100% - 24px); padding:15px 16px; }
}

.ad-consent-actions { display:flex; gap:10px; margin-top:16px; }
.ad-consent-actions button {
  flex:1 1 0; min-width:0; min-height:44px; padding:10px 14px;
  color:#fffdf9; background:#81401f; border:1px solid #81401f; border-radius:6px;
  font:inherit; font-weight:650; line-height:1.4; text-align:center; cursor:pointer;
}
.ad-consent-actions button:hover,
.ad-choice :is([data-hhws-ad-opt-out], [data-hhws-ad-allow]):hover { background:#633017; }
.ad-consent-actions button:disabled { cursor:default; opacity:.7; }
.ad-notice [data-hhws-ad-status]:not(:empty) { margin-top:12px; font-size:.82rem; }
.ad-preference-actions { display:flex; flex-wrap:wrap; gap:10px; }
.ad-preference-actions button { flex:1 1 220px; }
@media (max-width:360px) {
  .ad-consent-actions { flex-direction:column; }
}
