/* The banner is outside normal flow; reserve only bottom space so the footer
   and fixed purchase controls remain reachable without moving the header. */
body:has(#advertising-banner:not([hidden])) {
  padding-bottom: var(--consent-banner-height, 180px);
}
body:has(#advertising-banner:not([hidden])) :is(.commerce-sticky-action, .sticky-add-to-cart, .sticky-submit-bar) {
  bottom: var(--consent-banner-height, 180px);
}
body:has(#advertising-banner:not([hidden])):has(.commerce-sticky-action, .sticky-add-to-cart, .sticky-submit-bar) {
  padding-bottom: calc(var(--consent-banner-height, 180px) + 120px);
}
body:has(#advertising-banner:not([hidden])) .cart-persistence-toast {
  bottom: calc(var(--consent-banner-height, 180px) + var(--sticky-add-to-cart-height, 0px) + 16px);
}
.advertising-banner {
  position: fixed;
  inset: auto 0 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 12px max(20px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
  background: var(--bg-secondary, #141416);
  color: var(--text-primary, #f0f0f0);
  border-top: 1px solid var(--border-default, #3a3a3d);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.18);
  font: 400 13px/1.5 var(--font-sans, sans-serif);
}
.advertising-banner[hidden] { display: none; }
.advertising-banner-copy { min-width: 0; }
.advertising-banner p { margin: 0; font: inherit; color: inherit; }
.advertising-banner a { display: inline-flex; align-items: center; min-height: 32px; color: var(--text-secondary, #aaa); text-decoration: underline; text-underline-offset: 3px; }
.advertising-banner-copy span { margin: 0 8px; }
.advertising-banner form { display: flex; flex: 0 0 auto; gap: 8px; margin: 0; }
.advertising-banner button {
  min-height: 44px;
  min-width: 88px;
  padding: 10px 18px;
  border: 1px solid var(--border-emphasis, #4a4a4d);
  border-radius: 6px;
  background: transparent;
  color: inherit;
  font: 600 13px/1.5 var(--font-sans, sans-serif);
  cursor: pointer;
}
.advertising-banner button[value="granted"] { background: var(--text-primary, #f0f0f0); color: var(--bg-primary, #0a0a0b); border-color: transparent; }
.advertising-banner :is(button, a):focus-visible { outline: 2px solid var(--accent-primary, #00ff9d); outline-offset: 3px; }
@media (max-width: 700px) {
  .advertising-banner { flex-wrap: wrap; justify-content: flex-start; gap: 6px; padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
  .advertising-banner-copy { flex-basis: 100%; }
  .advertising-banner form { width: 100%; }
  .advertising-banner button { flex: 1; }
}

.advertising-choices form { display: flex; flex-wrap: wrap; gap: 12px; }
.advertising-choices button {
  flex: 1 1 260px;
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid #777;
  border-radius: 6px;
  background: #fff;
  color: #171717;
  font: inherit;
  cursor: pointer;
}
.advertising-choices button:focus-visible { outline: 3px solid #e68620; outline-offset: 3px; }
@media (max-width: 600px) {
  .advertising-choices button { min-height: 84px; }
}
