/* S61 consent popup (templates/oa/_consent.html): the site's dialog.popup, a little wider for the terms. */
dialog.popup.cn { max-width: 520px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto;
  overflow-x: hidden; box-sizing: border-box; }
dialog.popup.cn p { overflow-wrap: anywhere; }
.cn-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; }
.cn-row .btn { flex: 1 1 0; min-width: 0; min-height: 48px; text-align: center; font: inherit; font-weight: 700;
  cursor: pointer; overflow-wrap: anywhere; }
.cn-row .btn:focus-visible { outline: 3px solid var(--saffron); outline-offset: 2px; }
.cn-equal .btn[aria-pressed="true"] { box-shadow: inset 0 0 0 3px var(--cream); }
.cn-terms { margin: 0; padding-left: 1.2em; }
.cn-terms li { margin: 8px 0; line-height: 1.5; overflow-wrap: anywhere; }
.cn-policy { margin: 16px 0 0; }
.cn-policy a { font-weight: 600; }
.site-footer button.link.cn-foot { color: var(--cream); text-decoration: underline; font-weight: 600; min-height: 44px; }
@media (max-width: 400px) { dialog.popup.cn { padding: 18px; } .cn-row { flex-direction: column; } }

/* S483 (owner, 6 Nov): layer 1 is one line at the bottom of the screen, not a popup: non-modal (no backdrop), the page
   stays usable; "ठीक है, समझ गया" is the one button, "पूरी जानकारी पढ़ें" is plain link text. */
dialog.popup.cn.cn-bar { position: fixed; inset: auto 0 0 0; margin: 0; width: 100%; max-width: none; max-height: none;
  border-radius: 12px 12px 0 0; border-top: 3px solid var(--saffron); padding: 10px 16px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -6px 20px rgba(0,0,0,.18); z-index: 900; }
.cn-bar [data-cn-layer="1"] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; max-width: 1040px;
  margin: 0 auto; }
.cn-bar #cn-line { margin: 0; flex: 1 1 280px; font-size: .95rem; line-height: 1.45; }
.cn-bar .cn-row { margin: 0; flex: 0 1 auto; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 16px; }
.cn-bar .cn-row .btn.primary { flex: 0 0 auto; min-height: 44px; padding: 8px 18px; }
.cn-bar [data-cn-more] { flex: 0 0 auto; min-height: 44px; padding: 0; border: 0; background: none; box-shadow: none;
  color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
body.cn-bar-on { padding-bottom: var(--cn-bar-h, 140px); }      /* room for the line: the footer and a last Submit stay reachable */
@media (max-width: 400px) { dialog.popup.cn.cn-bar { padding: 10px 14px; padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); }
  .cn-bar .cn-row { width: 100%; justify-content: space-between; } }

/* S433: explicit centring, equal first-screen choices even on narrow phones. */
dialog.popup.cn.cn-first { position: fixed; inset: 0; margin: auto; }
.cn-first .cn-equal { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.cn-first .cn-details { border: 1px solid currentColor; border-radius: 8px; background: transparent; color: inherit; }
