.marketing-preferences { background: var(--bg-primary, #fff); color: var(--text-primary, #000); border: 1px solid var(--border-color, #e5e5ea); border-radius: 10px; padding: 16px; margin-bottom: 32px; }
.marketing-preferences[hidden] { display: none; }
.marketing-preferences h3 { font: inherit; font-size: 17px; font-weight: 600; line-height: 22px; margin: 0 0 8px; }
.marketing-preferences p { font-size: 15px; line-height: 21px; margin: 0 0 12px; }
.marketing-preferences .marketing-preference-status { font-size: 14px; line-height: 20px; font-weight: 500; }
.marketing-preference-status:empty { display: none; }
.marketing-preferences button { font: inherit; font-size: 15px; line-height: 20px; min-height: 44px; padding: 10px 0; border: 0; border-radius: 8px; background: transparent; color: var(--primary-color, #582c4f); cursor: pointer; }
.marketing-preferences button:disabled { opacity: .65; cursor: default; }
.marketing-preferences button:focus-visible { outline: 2px solid var(--primary-color, #582c4f); outline-offset: 3px; }
.marketing-preferences .marketing-subscribe-action { width: 100%; padding: 15px; border-radius: 12px; background: var(--primary-color, #582c4f); color: #fff; font-size: 17px; line-height: 22px; font-weight: 600; }
.marketing-subscribe-action:active { opacity: .85; }
.marketing-preferences .marketing-preference-language { margin: 0 0 8px; color: var(--text-secondary, #636366); font-size: 13px; line-height: 18px; }
.marketing-preferences .marketing-preference-language-action { margin-bottom: 8px; }
.marketing-interest-details { margin: 8px 0 0; border-top: 1px solid var(--border-color, #e5e5ea); }
.marketing-interest-details summary { display: flex; align-items: center; gap: 10px; list-style: none; cursor: pointer; font-size: 15px; font-weight: 500; line-height: 21px; min-height: 48px; }
.marketing-interest-details summary::-webkit-details-marker { display: none; }
.marketing-interest-details summary::before { content: ''; width: 8px; height: 8px; flex: none; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform .15s ease; }
.marketing-interest-details[open] summary::before { transform: rotate(45deg); }
.marketing-interest-details summary:focus-visible, .marketing-interest-option:focus-within { outline: 2px solid var(--primary-color, #582c4f); outline-offset: 3px; }
.marketing-preferences .marketing-interest-details p { color: var(--text-secondary, #636366); font-size: 13px; line-height: 18px; margin: 0 0 8px; }
.marketing-interest-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 10px 0; font-size: 15px; line-height: 21px; cursor: pointer; }
.marketing-interest-option + .marketing-interest-option { border-top: 1px solid var(--border-color, #e5e5ea); }
.marketing-interest-option span { flex: 1; min-width: 0; }
.marketing-interest-option input { order: 2; width: 20px; height: 20px; flex: none; accent-color: var(--primary-color, #582c4f); }
.marketing-preferences .marketing-preference-note { color: var(--text-secondary, #636366); font-size: 12px; line-height: 17px; margin: 8px 0 0; }
.marketing-offers-row { display: flex; align-items: center; gap: 16px; padding: 8px 0 12px; }
.marketing-offers-row > div { flex: 1; min-width: 0; }
.marketing-offers-title { display: block; font-size: 15px; line-height: 21px; font-weight: 600; margin-bottom: 4px; }
.marketing-preferences .marketing-offers-row p { font-size: 13px; line-height: 18px; color: var(--text-secondary, #636366); margin: 0; }
.marketing-preferences .marketing-offers-switch { position: relative; flex: none; width: 52px; height: 44px; padding: 0; }
.marketing-offers-switch::before { content: ''; position: absolute; inset: 7px 0; border-radius: 20px; background: var(--primary-color, #582c4f); }
.marketing-offers-switch::after { content: ''; position: absolute; width: 24px; height: 24px; top: 10px; right: 3px; border-radius: 50%; background: #fff; }
.marketing-service-note { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--border-color, #e5e5ea); }
.marketing-service-note h4 { font-size: 14px; line-height: 20px; font-weight: 500; margin: 0 0 4px; }
.marketing-preferences .marketing-service-note p { font-size: 13px; line-height: 18px; color: var(--text-secondary, #636366); margin: 0; }
.marketing-interest-option input { appearance: none; -webkit-appearance: none; margin: 0; border: 1.5px solid var(--text-secondary, #8e8e93); border-radius: 5px; background-color: var(--bg-primary, #fff); }
.marketing-interest-option input:checked { border-color: var(--primary-color, #582c4f); background-color: var(--primary-color, #582c4f); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-8' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.marketing-interest-option input:disabled { opacity: .65; }
@media (forced-colors: active) { .marketing-interest-option input { appearance: auto; -webkit-appearance: auto; background-image: none; } }
.marketing-preferences[aria-busy="true"] .marketing-interest-option input:disabled { opacity: 1; }
.marketing-preferences[aria-busy="true"] .marketing-interest-option { cursor: wait; }

/* A topic save locks consent against races without suggesting it changed. */
.marketing-preferences[aria-busy="true"] .marketing-offers-switch:disabled { opacity: 1; }
