/* Cookie consent banner (ix-consent.php / ix-consent.js): compact card, bottom-left */
.ixc { position: fixed; left: 16px; bottom: 16px; z-index: 100001; width: 360px; max-width: calc(100vw - 32px); opacity: 0; transform: translateY(8px); transition: opacity .2s, transform .2s; }
.ixc.is-open { opacity: 1; transform: none; }
.ixc[hidden] { display: none; }
.ixc-box { max-height: calc(100vh - 32px); overflow: auto; padding: 14px 16px; border: 1px solid #e3def5; border-radius: 14px; background: #fff; box-shadow: 0 12px 32px rgba(23, 20, 43, .18); color: #17142b; font-size: 13.5px; line-height: 1.5; }
.ixc-text { margin: 0; color: #4a4660; }
.ixc-text strong { color: #17142b; }
.ixc-text a { color: var(--primary, #5427e6); text-decoration: underline; white-space: nowrap; }
.ixc-prefs { margin: 10px 0 0; border-top: 1px solid #eee9f8; }
.ixc-prefs[hidden] { display: none; }
.ixc-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #eee9f8; cursor: pointer; }
.ixc-row div { display: flex; flex-direction: column; }
.ixc-row strong { font-size: 13.5px; }
.ixc-row small { font-size: 12px; color: #6b6780; }
.ixc-on { flex-shrink: 0; font-size: 12px; font-weight: 700; color: #16a34a; }
.ixc-row input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ixc-switch { position: relative; flex-shrink: 0; width: 36px; height: 20px; border-radius: 999px; background: #cfcbe0; transition: background .15s; }
.ixc-switch::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: transform .15s; }
.ixc-row input:checked + .ixc-switch { background: var(--primary, #5427e6); }
.ixc-row input:checked + .ixc-switch::after { transform: translateX(16px); }
.ixc-row input:focus-visible + .ixc-switch { outline: 2px solid var(--primary, #5427e6); outline-offset: 2px; }
.ixc-btns { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.ixc-btn { min-height: 36px; padding: 0 16px; border: 1.5px solid #17142b; border-radius: 10px; background: #17142b; color: #fff; font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.ixc-btn:hover { background: #2e2a48; }
.ixc-btn--link { margin-left: auto; padding: 0 4px; border-color: transparent; background: none; color: #4a4660; font-weight: 600; text-decoration: underline; }
.ixc-btn--link:hover { background: none; color: var(--primary, #5427e6); }
.ixc-btn[hidden] { display: none; }
.ixc-btn:focus-visible { outline: 2px solid var(--primary, #5427e6); outline-offset: 2px; }
@media (max-width: 560px) {
  /* Leave room on the right for the WhatsApp chat button */
  .ixc { left: 8px; right: 80px; bottom: 10px; width: auto; max-width: none; }
  .ixc-box { padding: 12px; font-size: 13px; }
  .ixc-btns { gap: 6px; }
  .ixc-btn { min-height: 40px; padding: 0 12px; flex: 1; font-size: 13px; }
  .ixc-btn--link { flex: 0 0 auto; padding: 0 2px; }
}

/* Form consent notices (ix-forms.php) */
.ixf-notice { margin: 16px 0 0; padding: 12px 14px; border-radius: 12px; background: #f6f4fd; font-size: 13px; line-height: 1.55; color: #4a4660; }
.ixf-notice a { color: inherit; text-decoration: underline; }
.ixf-check { display: flex; align-items: flex-start; gap: 10px; margin: 12px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--ixf-ink, #17142b); cursor: pointer; }
.ixf-check input { flex-shrink: 0; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--primary, #5427e6); }
.ixf--compact .ixf-notice { background: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .85); }
.ixf--compact .ixf-check { color: #fff; }
.bl-content .ixf .ixf-notice, .bl-content .ixf .ixf-check { font-size: 13px; }

/* Data-rights request form ([ix_privacy_request]) */
.ixpr { display: flex; flex-direction: column; gap: 14px; max-width: 760px; margin: 24px 0; padding: 24px; border: 1px solid #e3def5; border-radius: 18px; background: #fff; }
.ixpr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ixpr label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; color: #17142b; }
.ixpr input[type=text], .ixpr input[type=email], .ixpr input[type=tel], .ixpr select, .ixpr textarea { width: 100%; min-height: 46px; padding: 10px 14px; border: 1.5px solid #d9d4ee; border-radius: 12px; background: #fff; font: inherit; font-weight: 400; font-size: 15px; color: #17142b; }
.ixpr textarea { min-height: 120px; resize: vertical; }
.ixpr .ixpr-check { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 400; font-size: 14px; line-height: 1.5; }
.ixpr .ixpr-check input { width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; accent-color: var(--primary, #5427e6); }
.ixpr .ixf-btn { margin-top: 4px; width: auto; align-self: flex-start; padding: 0 26px; }
.ixpr .iti { width: 100%; }
.ixpr-hp { position: absolute !important; left: -9999px !important; }
.ixpr-error { margin: 0; padding: 10px 14px; border-radius: 10px; background: #fdecea; color: #b3261e; font-weight: 600; }
.ixpr-done { margin: 24px 0; padding: 18px 20px; border-radius: 14px; background: #ecfdf3; color: #14532d; line-height: 1.6; }
@media (max-width: 640px) { .ixpr-grid { grid-template-columns: 1fr; } .ixpr { padding: 18px 16px; } .ixpr .ixf-btn { width: 100%; } }
