/* SNR Solar - compact, accessible cookie consent interface */
.snr-cookie-banner,
.snr-cookie-modal,
.snr-cookie-dialog { font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.snr-cookie-banner[hidden],
.snr-cookie-modal[hidden] { display:none !important; }

.snr-cookie-banner {
  position:fixed;
  z-index:1000;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  width:min(960px,calc(100% - 36px));
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:18px 20px;
  color:#172033;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(203,213,225,.9);
  border-radius:20px;
  box-shadow:0 18px 58px rgba(7,18,35,.22),0 2px 8px rgba(7,18,35,.06);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  animation:snr-cookie-rise .28s ease-out both;
}
@keyframes snr-cookie-rise { from{opacity:0;transform:translate(-50%,12px)} to{opacity:1;transform:translate(-50%,0)} }
.snr-cookie-brand { display:grid;place-items:center;align-self:start;padding-top:3px; }
.snr-cookie-mark { display:grid;place-items:center;width:42px;height:42px;border-radius:14px;color:#f97316;background:linear-gradient(145deg,#fff3e8,#ffedd5);border:1px solid #fed7aa; }
.snr-cookie-mark svg { width:23px;height:23px; }
.snr-cookie-copy { min-width:0; }
.snr-cookie-eyebrow { margin:0 0 4px;color:#c45a13;font-size:9px;line-height:1.3;font-weight:850;letter-spacing:1.35px; }
.snr-cookie-copy h2 { margin:0 0 5px;color:#101b2e;font-size:16px;line-height:1.3;font-weight:800;letter-spacing:-.2px; }
.snr-cookie-copy p { margin:0;color:#536176;font-size:12px;line-height:1.52; }
.snr-cookie-policy-links { display:flex;gap:8px;align-items:center;margin-top:7px;font-size:11px;line-height:1.4; }
.snr-cookie-policy-links a,.snr-cookie-dialog-footer a { color:#a94b10;text-decoration:underline;text-decoration-color:#f3b17e;text-underline-offset:3px;font-weight:650; }
.snr-cookie-policy-links a:hover,.snr-cookie-dialog-footer a:hover { color:#7c2d12;text-decoration-color:currentColor; }
.snr-cookie-actions { display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:246px; }
.snr-cookie-btn { display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 12px;border:1px solid transparent;border-radius:10px;font-size:12px;line-height:1.2;font-weight:750;white-space:nowrap;cursor:pointer;transition:background .16s,border-color .16s,transform .16s,box-shadow .16s; }
.snr-cookie-btn:hover { transform:translateY(-1px); }
.snr-cookie-btn:focus-visible,.snr-cookie-manage:focus-visible,.snr-cookie-close:focus-visible,.snr-cookie-switch:focus-visible { outline:3px solid #fb923c;outline-offset:3px; }
.snr-cookie-btn-primary { color:#fff;background:#e96917;border-color:#e96917;box-shadow:0 5px 13px rgba(233,105,23,.18); }
.snr-cookie-btn-primary:hover { background:#c9540f;border-color:#c9540f; }
.snr-cookie-btn-secondary { color:#172840;background:#fff;border-color:#cbd5e1; }
.snr-cookie-btn-secondary:hover { background:#f8fafc;border-color:#94a3b8; }
.snr-cookie-manage { grid-column:1/-1;justify-self:center;border:0;background:transparent;color:#526176;padding:3px 8px;font-size:11px;font-weight:700;text-decoration:underline;text-decoration-color:#cbd5e1;text-underline-offset:3px;cursor:pointer; }
.snr-cookie-manage:hover { color:#172840;text-decoration-color:#f97316; }

.snr-cookie-modal { position:fixed;z-index:1001;inset:0;display:grid;place-items:center;padding:18px;background:rgba(8,18,32,.58);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px); }
.snr-cookie-dialog { width:min(100%,510px);max-height:min(90vh,760px);overflow:auto;padding:25px;background:#fff;color:#172033;border:1px solid rgba(226,232,240,.95);border-radius:22px;box-shadow:0 25px 80px rgba(0,0,0,.28); }
.snr-cookie-dialog-head { display:flex;justify-content:space-between;align-items:center;margin-bottom:17px; }
.snr-cookie-dialog-icon { display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#fff1e6;color:#ea6b19;font-size:23px; }
.snr-cookie-close { display:grid;place-items:center;width:34px;height:34px;border:1px solid #e2e8f0;border-radius:50%;background:#fff;color:#64748b;font-size:23px;line-height:1;cursor:pointer; }
.snr-cookie-close:hover { background:#f8fafc;color:#172033; }
.snr-cookie-dialog h2 { margin:0 0 8px;color:#101b2e;font-size:23px;line-height:1.2;letter-spacing:-.55px; }
.snr-cookie-dialog>p { margin:0 0 19px;color:#64748b;font-size:13px;line-height:1.55; }
.snr-cookie-preference-row { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 14px;border:1px solid #e2e8f0;border-radius:14px;background:#fbfcfe; }
.snr-cookie-preference-row+.snr-cookie-preference-row { margin-top:9px; }
.snr-cookie-preference-copy { display:grid;gap:4px;min-width:0; }
.snr-cookie-preference-copy strong { color:#172033;font-size:13px;line-height:1.35; }
.snr-cookie-preference-copy span { color:#64748b;font-size:11px;line-height:1.45;font-weight:400; }
.snr-cookie-always { flex:none;color:#166534;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:800;white-space:nowrap; }
.snr-cookie-analytics-row { cursor:pointer; }
.snr-cookie-analytics-row:hover { border-color:#fdba74;background:#fffaf5; }
.snr-cookie-switch { appearance:none;-webkit-appearance:none;position:relative;flex:none;width:42px;height:24px;border:1px solid #cbd5e1;border-radius:99px;background:#e2e8f0;cursor:pointer;transition:background .18s,border-color .18s; }
.snr-cookie-switch::after { content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a30;transition:transform .18s; }
.snr-cookie-switch:checked { background:#e96917;border-color:#e96917; }
.snr-cookie-switch:checked::after { transform:translateX(18px); }
.snr-cookie-dialog-footer { display:flex;gap:16px;flex-wrap:wrap;margin:15px 0 18px;font-size:11px; }
.snr-cookie-dialog-actions { display:grid;grid-template-columns:1fr 1fr;gap:9px; }
.snr-cookie-dialog-actions .snr-cookie-btn { min-height:44px;font-size:12px; }
body.snr-cookie-modal-open { overflow:hidden; }

@media(max-width:760px) {
  .snr-cookie-banner { left:12px;right:12px;bottom:12px;transform:none;width:auto;grid-template-columns:34px minmax(0,1fr);gap:10px 12px;padding:14px;border-radius:17px; }
  @keyframes snr-cookie-rise { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
  .snr-cookie-mark { width:34px;height:34px;border-radius:11px; }
  .snr-cookie-mark svg { width:19px;height:19px; }
  .snr-cookie-copy h2 { font-size:14px;margin-bottom:4px; }
  .snr-cookie-copy p { font-size:11px;line-height:1.45; }
  .snr-cookie-policy-links { font-size:10px;margin-top:5px; }
  .snr-cookie-actions { grid-column:1/-1;min-width:0;grid-template-columns:1fr 1fr;gap:7px 8px; }
  .snr-cookie-btn { min-height:39px;padding:9px 8px;font-size:11px; }
  .snr-cookie-manage { padding:4px 8px 1px; }
}
@media(max-width:380px) {
  .snr-cookie-banner { left:8px;right:8px;bottom:8px;padding:12px; }
  .snr-cookie-copy p { font-size:10.5px; }
  .snr-cookie-actions { gap:6px; }
  .snr-cookie-btn { font-size:10.5px; }
  .snr-cookie-dialog { padding:19px;border-radius:18px; }
  .snr-cookie-preference-row { padding:12px 10px;gap:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .snr-cookie-banner,.snr-cookie-btn,.snr-cookie-switch,.snr-cookie-switch::after { animation:none!important;transition:none!important; }
}
