#itv-consent { font: 14px/1.5 Arial, sans-serif; color: #222; text-align: left; }
#itv-consent [hidden] { display: none !important; }
#itv-consent-panel { position: fixed; z-index: 2147483646; bottom: 16px; left: 16px; right: 16px; margin: auto; width: auto; max-width: 820px; max-height: calc(100vh - 32px); overflow-y: auto; box-sizing: border-box; background: #fff; border: 1px solid #777; border-radius: 8px; padding: 20px; box-shadow: 0 4px 28px rgba(0,0,0,.25); }
#itv-consent h2 { margin: 0 0 10px; font: bold 20px/1.3 Arial, sans-serif; color: #222; text-transform: none; }
#itv-consent p { margin: 0 0 10px; font: inherit; color: #222; }
#itv-consent a { color: #8f090d; text-decoration: underline; }
#itv-consent button { display: inline-block; cursor: pointer; border: 1px solid #8f090d; border-radius: 4px; padding: 10px 14px; background: #fff; color: #8f090d; font: bold 14px/1.4 Arial, sans-serif; text-transform: none; letter-spacing: normal; min-height: 44px; }
#itv-consent button:hover { background: #fff1f1; }
#itv-consent button:focus-visible, #itv-consent a:focus-visible, #itv-consent input:focus-visible { outline: 3px solid #175cac; outline-offset: 3px; }
#itv-consent .itv-consent-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
#itv-consent .itv-consent-actions button { flex: 1 1 auto; }
#itv-consent-preferences { margin-top: 16px; padding-top: 12px; border-top: 1px solid #ddd; }
#itv-consent-preferences label { display: block; margin: 10px 0; font-weight: normal; color: #222; }
#itv-consent-preferences input { width: 18px; height: 18px; margin: 0 6px 0 0; vertical-align: middle; accent-color: #8f090d; }
@media (max-width: 480px) { #itv-consent-panel { left: 8px; right: 8px; bottom: 8px; padding: 16px; max-height: calc(100vh - 16px); } }
