/* Bespoke Tekden consent controls: mobile first, scoped away from theme forms. */
.tc-banner,.tc-dialog,.tc-reopen,.tc-embed{font-family:inherit;color:#263936;box-sizing:border-box}
.tc-banner[hidden],.tc-reopen[hidden]{display:none!important}
.tc-banner{position:fixed;z-index:2147483100;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:20px;background:#fff;border:1px solid #d4dfdc;border-radius:12px;box-shadow:0 8px 40px #102b2926;max-height:85dvh;overflow:auto}
.tc-banner h2,.tc-dialog h2{font-family:inherit;font-size:22px;line-height:1.25;font-weight:600;letter-spacing:-.025em;color:#203431;margin:5px 0 12px;padding:0;text-transform:none}
.tc-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;line-height:1.5;color:#087b78}
.tc-banner p,.tc-dialog p{font-size:14px;line-height:1.6;margin:0 0 16px;color:#4a5e58}
.tc-banner a,.tc-dialog a{color:#086c68;text-decoration:underline;text-underline-offset:3px}
.tc-banner button,.tc-dialog button,.tc-embed button{font-family:inherit;font-size:14px;font-weight:600;line-height:1.3;letter-spacing:0;text-transform:none;border:1px solid #087c78;border-radius:6px;background:#087c78;color:#fff;padding:12px 14px;min-height:46px;cursor:pointer;box-shadow:none;margin:0}
.tc-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tc-actions .tc-settings-button{grid-column:1/-1;background:#fff;color:#176763;border-color:#cbdad5}
.tc-banner button:hover,.tc-dialog button:hover,.tc-embed button:hover{background:#065f5c;border-color:#065f5c;color:#fff}
.tc-banner :focus-visible,.tc-dialog :focus-visible,.tc-reopen:focus-visible,.tc-footer-link:focus-visible,.tc-embed :focus-visible{outline:3px solid #087c78;outline-offset:4px}
.tc-reopen{position:fixed;z-index:2147483050;bottom:0;left:16px;background:#fff;border:1px solid #cbdad5;border-bottom:0;border-radius:6px 6px 0 0;padding:10px 14px;min-height:44px;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 1px 12px #102b2914}
.tc-dialog{position:fixed;inset:0;margin:auto;padding:0;border:1px solid #d4dfdc;border-radius:14px;background:#fff;width:calc(100% - 24px);max-width:560px;max-height:calc(100dvh - 32px);overflow:hidden;box-shadow:0 20px 60px #102b2933}
.tc-dialog[open]{display:flex;flex-direction:column}
.tc-dialog::backdrop{background:#102b2980}
.tc-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 20px 4px;flex:none}
.tc-dialog .tc-close{display:grid;place-items:center;padding:10px;width:44px;min-height:44px;background:#f1f6f4;color:#264c46;border-color:transparent;flex:none}
.tc-dialog-body{padding:4px 20px 8px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.tc-category{padding:16px 0;border-top:1px solid #e0e8e4}
.tc-category-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;font-size:15px;color:#263936;cursor:pointer;margin:0}
.tc-category-heading strong{font-weight:600}
.tc-category p{margin:6px 0 0;font-size:13px;line-height:1.55}
.tc-always{font-size:12px;color:#497266;font-weight:600;background:#eef5f1;border-radius:4px;padding:5px 8px;white-space:nowrap}
.tc-category input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;accent-color:#087c78;width:22px;height:22px;min-width:22px;margin:5px 1px;cursor:pointer;opacity:1;position:static}
.tc-dialog .tc-policy{font-size:12px;margin:0 0 8px}
.tc-dialog-foot{padding:16px 20px max(20px,env(safe-area-inset-bottom));border-top:1px solid #e0e8e4;flex:none;background:#f8faf9}
.tc-dialog .tc-save{width:100%}
.tc-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.tc-dialog .tc-secondary-actions button{background:#fff;color:#176763;border-color:#bdd0c9}
.tc-dialog .tc-secondary-actions button:hover{background:#eaf2ee}
.tc-dialog #tc-status{margin:8px 0 0;font-size:12px}
.tc-dialog #tc-status:empty{display:none}
.tc-footer-link{border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:10px}
.tc-embed{padding:24px;text-align:center;background:#eef4f1;border:1px solid #d4dfdc;border-radius:8px}
@media(min-width:640px){.tc-banner{left:24px;right:auto;bottom:24px;width:560px;padding:24px}.tc-actions{grid-template-columns:1fr 1fr 1fr}.tc-actions .tc-settings-button{grid-column:auto}.tc-dialog-head{padding:26px 28px 6px}.tc-dialog-body{padding:4px 28px 10px}.tc-dialog-foot{padding:18px 28px 24px}}
@media(prefers-reduced-motion:reduce){.tc-banner,.tc-dialog{scroll-behavior:auto}}
