/* KritimYantra v21 · cookie preferences · isolated from legacy public styles */
:root { --ky-cookie-forest: #1a3023; --ky-cookie-cream: #faf9f4; --ky-cookie-sage: #e3ede5; --ky-cookie-terracotta: #a74b30; --ky-cookie-line: #d9e1d9; }
#ky-consent-banner[hidden], #ky-consent-preferences:not([open]) { display:none !important; }
.ky-consent-banner, .ky-consent-dialog { color:var(--ky-cookie-forest); font-family:inherit; box-sizing:border-box; }
.ky-consent-banner *, .ky-consent-dialog * { box-sizing:border-box; }
.ky-consent-banner { position:fixed; z-index:2147481000; inset:auto 16px 16px 16px; width:min(1100px,calc(100% - 32px)); margin:0 auto; padding:22px 25px; display:flex; align-items:center; justify-content:space-between; gap:28px; background:var(--ky-cookie-cream); border:1px solid var(--ky-cookie-line); border-left:4px solid var(--ky-cookie-terracotta); border-radius:8px; box-shadow:0 16px 60px rgba(26,48,35,.16); animation:kyConsentEnter .32s ease-out both; }
.ky-consent-banner__copy { flex:1; min-width:0; max-width:620px; }
.ky-consent-eyebrow { display:block; color:#8d4834; letter-spacing:.12em; text-transform:uppercase; font-size:10px; font-weight:800; margin-bottom:6px; }
.ky-consent-banner h2, .ky-consent-dialog h2 { color:var(--ky-cookie-forest) !important; font-family:inherit !important; font-weight:700 !important; letter-spacing:-.03em; text-transform:none !important; margin:0 0 6px !important; }
.ky-consent-banner h2 { font-size:19px !important; line-height:1.3 !important; }
.ky-consent-banner p { color:#4c5e52 !important; line-height:1.6 !important; font-size:13px !important; margin:0 !important; }
.ky-consent-banner a, .ky-consent-dialog a { color:#834329 !important; text-decoration:underline !important; text-underline-offset:3px; }
.ky-consent-banner__actions { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:9px; max-width:440px; }
.ky-consent-button { display:inline-flex !important; justify-content:center !important; align-items:center !important; gap:6px; min-height:44px !important; height:auto !important; border-radius:6px !important; padding:11px 16px !important; font-family:inherit !important; font-size:13px !important; font-weight:700 !important; line-height:1.35 !important; text-transform:none !important; letter-spacing:0 !important; text-align:center !important; cursor:pointer; transition:background-color .2s ease, border-color .2s ease, transform .2s ease; box-shadow:none !important; white-space:nowrap; }
.ky-consent-button--accept { background:var(--ky-cookie-forest) !important; color:#fff !important; border:1px solid var(--ky-cookie-forest) !important; }
.ky-consent-button--accept:hover { background:#2b4c39 !important; border-color:#2b4c39 !important; color:#fff !important; transform:translateY(-1px); }
.ky-consent-button--reject { background:transparent !important; border:1px solid #93a89a !important; color:var(--ky-cookie-forest) !important; }
.ky-consent-button--reject:hover { background:var(--ky-cookie-sage) !important; border-color:#708b78 !important; color:var(--ky-cookie-forest) !important; }
.ky-consent-button--quiet { background:transparent !important; border:1px solid transparent !important; color:var(--ky-cookie-forest) !important; text-decoration:underline !important; text-underline-offset:4px; }
.ky-consent-button--quiet:hover { color:#834329 !important; background:transparent !important; }
.ky-consent-button:focus-visible, .ky-consent-close:focus-visible, .ky-consent-switch:focus-visible { outline:3px solid var(--ky-cookie-terracotta) !important; outline-offset:3px; }
.ky-consent-dialog { position:fixed; inset:0; margin:auto; padding:0; border:1px solid var(--ky-cookie-line); width:min(540px,calc(100% - 30px)); max-height:min(90vh,780px); overflow:auto; background:var(--ky-cookie-cream); border-radius:10px; box-shadow:0 22px 70px rgba(15,34,24,.28); }
.ky-consent-dialog::backdrop { background:rgba(17,33,23,.48); }
.ky-consent-dialog__content { padding:26px; }
.ky-consent-dialog__header { display:flex; justify-content:space-between; align-items:start; gap:18px; }
.ky-consent-dialog h2 { font-size:24px !important; line-height:1.3 !important; }
.ky-consent-close { width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--ky-cookie-line); border-radius:6px; color:var(--ky-cookie-forest); background:white; font:400 27px/1 sans-serif; cursor:pointer; flex-shrink:0; }
.ky-consent-dialog__intro { color:#4c5e52; margin:7px 0 18px; font-size:14px; line-height:1.6; }
.ky-consent-option { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 0; border-top:1px solid var(--ky-cookie-line); cursor:pointer; }
.ky-consent-option strong { display:block; font-size:15px; color:var(--ky-cookie-forest); margin-bottom:3px; }
.ky-consent-option__copy, .ky-consent-option>div { display:block; flex:1; }
.ky-consent-option span span, .ky-consent-option>div>span { display:block; font-size:12.5px; color:#57685c; line-height:1.5; }
.ky-consent-always { padding:6px 9px; color:#36543e; background:var(--ky-cookie-sage); border-radius:5px; font-size:11px; font-weight:700; white-space:nowrap; }
.ky-consent-switch { appearance:none; flex:0 0 auto; width:44px; height:26px; background:#c6d0c8; border:1px solid #abbcb0; border-radius:999px; cursor:pointer; position:relative; transition:background-color .2s ease; }
.ky-consent-switch::after { content:""; position:absolute; left:3px; top:3px; width:18px; height:18px; background:#fff; border-radius:50%; box-shadow:0 1px 2px rgba(0,0,0,.12); transition:transform .2s ease; }
.ky-consent-switch:checked { background:var(--ky-cookie-forest); border-color:var(--ky-cookie-forest); }
.ky-consent-switch:checked::after { transform:translateX(18px); }
.ky-consent-dialog__actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
.ky-consent-dialog__fineprint { margin:14px 0 0; font-size:12px; color:#657267; }
@keyframes kyConsentEnter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:850px) { .ky-consent-banner { flex-direction:column; align-items:stretch; gap:16px; } .ky-consent-banner__actions { max-width:none; justify-content:flex-start; } }
@media (max-width:480px) { .ky-consent-banner { width:calc(100% - 20px); inset:auto 10px 10px 10px; padding:16px; max-height:min(75vh,560px); overflow-y:auto; } .ky-consent-banner h2 { font-size:17px !important; } .ky-consent-banner__actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; } .ky-consent-banner__actions .ky-consent-button--quiet { grid-column:1/-1; } .ky-consent-button { width:100%; white-space:normal; font-size:12px !important; padding:10px !important; } .ky-consent-dialog__content { padding:19px; } .ky-consent-dialog h2 { font-size:20px !important; } .ky-consent-dialog__actions .ky-consent-button { flex:1; } }
@media (prefers-reduced-motion:reduce) { .ky-consent-banner { animation:none; } .ky-consent-button, .ky-consent-switch, .ky-consent-switch::after { transition:none; } }
