:root {
  --bg: #f7f4ed;
  --panel: #ffffff;
  --border: #e4ded2;
  --muted: #59636e;
  --text: #1f2933;
  --brand: #246b45;
  --brand-2: #1e5a3b;
  --accent: #d48a1f;
  --accent-2: #b9761a;
  --danger: #b42318;
  --warn: #b45309;
  --ok: #0f766e;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
}

.app-header {
  background: var(--brand);
  color: #fff;
}
.app-header-inner {
  padding: 18px 8%;
  display: grid;
  gap: 12px;
}
.app-brand-link {
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: 0;
}
.app-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}
.app-nav a {
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}
.app-nav a[aria-current="page"]{
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 2px;
}
.app-nav-spacer { flex: 1; }
.linkish {
  background: transparent;
  border: 0;
  padding: 0;
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.app-main {
  padding: 22px 8%;
  max-width: 1100px;
  margin: 0 auto;
}

.hero {
  margin-top: 10px;
  padding: 18px 18px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 8px;
  background: linear-gradient(135deg, var(--brand), #18432d);
  color: #fff;
}
.hero h1 { margin: 0; font-size: 34px; line-height: 1.15; }
.hero p { margin: 8px 0 0; color: rgba(255,255,255,0.92); }

@media (max-width: 640px) {
  .app-main { padding: 18px 6%; }
  .hero { padding: 16px 14px; }
  .hero h1 { font-size: 26px; }
  .actions { align-items: stretch; }
  .actions .button, .actions button.button { width: 100%; text-align: center; }
  input[type="number"] { width: 100%; }
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}
.card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
}
.card-body { padding: 16px; }
.product-img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: linear-gradient(135deg, #f1eadc, #d8e7d9);
  display: block;
}
.placeholder {
  display: grid;
  place-items: center;
  color: var(--brand);
  font-weight: 800;
  font-size: 22px;
}

.muted { color: var(--muted); }
.price { font-size: 22px; font-weight: 800; color: var(--brand); margin-top: 8px; }

label { display: grid; gap: 6px; font-weight: 700; }
input, select, textarea {
  border: 1px solid #c9c0b2;
  border-radius: 6px;
  padding: 9px;
  font: inherit;
  background: #fff;
}
textarea { min-height: 92px; }

.actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin-top: 12px; }
.button, button.button {
  display: inline-block;
  border: 0;
  background: var(--accent);
  color: #fff;
  padding: 10px 14px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 800;
  cursor: pointer;
}
.button:hover, button.button:hover { background: var(--accent-2); }
.button.secondary, button.button.secondary { background: var(--brand); }
.button.secondary:hover, button.button.secondary:hover { background: var(--brand-2); }
.button.ghost, button.button.ghost { background: transparent; color: var(--brand); border: 1px solid var(--border); }
.button.danger, button.button.danger { background: var(--danger); }

table {
  width: 100%;
  border-collapse: collapse;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
}
th, td {
  text-align: left;
  padding: 12px;
  border-bottom: 1px solid #ece6da;
  vertical-align: top;
}
th { background: #efe8dc; }

.flash-stack { display: grid; gap: 10px; margin-bottom: 14px; }
.flash-stack.is-dismissing {
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 180ms ease, transform 180ms ease;
}
.nr-cart-toast {
  width: 100%;
  margin: 0;
  pointer-events: none;
}
.nr-cart-toast.is-dismissing {
  transform: translateY(-3px);
}
.flash {
  background: var(--panel);
  border: 1px solid var(--border);
  border-left-width: 6px;
  border-radius: 8px;
  padding: 10px 12px;
}
.flash-error, .flash-danger { border-left-color: var(--danger); }
.flash-warning { border-left-color: var(--warn); }
.flash-success { border-left-color: var(--ok); }
.flash-info { border-left-color: var(--brand); }

.nr-prelaunch-notice {
  width: min(100%, 1240px);
  margin: 0 auto 14px;
  border: 1px solid rgba(212, 138, 31, 0.32);
  border-left: 6px solid var(--accent);
  border-radius: 8px;
  background: #fff8e8;
  color: #54340d;
  padding: 11px 13px;
  font-weight: 900;
  line-height: 1.45;
}

button:disabled,
.button:disabled {
  opacity: 0.62;
  cursor: not-allowed;
}

.page-title { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.page-title h1 { margin: 0; }
.panel {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 16px;
}

/* Customer account dashboard */
.nr-account{
  max-width: 860px;
  margin: 0 auto;
}
.nr-account-head{
  display:flex;
  gap: 14px;
  align-items:center;
  padding: 6px 2px 10px;
}
.nr-account-avatar{
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(36,107,69,.18), rgba(212,138,31,.14));
  border: 1px solid rgba(0,0,0,0.10);
  display:grid;
  place-items:center;
  font-weight: 900;
  color: var(--brand);
  flex: 0 0 auto;
}
.nr-account-title{
  margin: 2px 0 0;
  font-size: 22px;
  line-height: 1.15;
}
.nr-account-kicker{
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  color: rgba(31,41,51,.70);
  letter-spacing: 0;
}
.nr-account-phone{ margin-top: 4px; font-size: 13px; }
.nr-account-card{ margin-top: 14px; }
.nr-card-headrow{
  display:flex;
  justify-content: space-between;
  gap: 12px;
  align-items:flex-start;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.nr-btn-green{
  background: var(--brand);
  border-color: var(--brand);
}
.nr-btn-green:hover{ background: var(--brand-2); }
.nr-kv-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.nr-kv{
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px 12px;
  background: #fff;
}
.nr-k{
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  color: rgba(31,41,51,.66);
  margin-bottom: 6px;
}
.nr-v{ font-weight: 900; }
.nr-address{
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 14px 14px;
  background: #fff;
}
.nr-address-hd{
  display:flex;
  justify-content: space-between;
  gap: 10px;
  align-items:center;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.nr-address-type{ font-weight: 900; }
.nr-badge-default{
  display:inline-flex;
  align-items:center;
  height: 22px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(36,107,69,.10);
  border: 1px solid rgba(36,107,69,.20);
  color: var(--brand);
  font-weight: 900;
  font-size: 12px;
}
.nr-address-lines{ display:grid; gap: 4px; }
.nr-empty{ padding: 10px 2px; }
.nr-empty-title{ font-weight: 900; margin-bottom: 4px; }
.nr-quick{
  margin-top: 14px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.nr-quick-card{
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 14px 14px;
  background: #fff;
  text-decoration:none;
  color: var(--text);
  display:grid;
  gap: 6px;
}
.nr-quick-card:hover{ border-color: #d4ccbf; }
.nr-quick-title{ font-weight: 900; }
.nr-quick-sub{ font-size: 13px; }

@media (max-width: 720px){
  .nr-kv-grid{ grid-template-columns: 1fr; }
  .nr-quick{ grid-template-columns: 1fr; }
  .nr-account-title{ font-size: 20px; }
}
.form-grid { display: grid; gap: 12px; }

.badge-row {
  display: flex;
  flex-wrap: wrap;
  column-gap: 10px;
  row-gap: 10px;
  margin-top: 12px;
  align-items: center;
  max-width: 100%;
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: #fff;
  font-weight: 800;
  font-size: 12px;
  color: #2b3a34;
  line-height: 1.1;
  max-width: 100%;
}
.badge.dot:before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--brand);
  display: inline-block;
}
.badge.dot.secure:before { background: var(--accent); }
.badge.dot.cancel:before { background: var(--danger); }

.card-title { margin: 0; font-weight: 900; }
.subtle { color: var(--muted); font-size: 13px; }

@media (max-width: 640px) {
  .button, button.button { width: 100%; text-align: center; }
  .page-title { gap: 8px; }
  .page-title span { line-height: 1.3; }
}

/* Cart (NelloreRice.in) */
.nr-cart-layout,
.nr-cart-items,
.nr-cart-item,
.nr-cart-summary,
.nr-cart-sticky {
  /* Keep cart styles scoped; avoid global overrides leaking in via generic selectors */
}

.nr-cart-layout { --nr-cart-img: 108px; }
.nr-cart-header {
  display: grid;
  grid-template-columns: auto minmax(170px, 1fr) auto;
  align-items: center;
  gap: 12px;
}
.nr-cart-toast-slot {
  min-height: 38px;
  width: min(280px, 100%);
  justify-self: start;
}
.nr-cart-toast .flash {
  padding: 8px 11px;
  font-size: 13px;
}
.nr-cart-title {
  display: flex;
  gap: 12px;
  align-items: baseline;
  flex-wrap: wrap;
}
.nr-cart-title h1 { margin: 0; font-size: 30px; letter-spacing: 0; }
.nr-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(36, 107, 69, 0.10);
  border: 1px solid rgba(36, 107, 69, 0.18);
  font-weight: 900;
  font-size: 12px;
  color: var(--brand);
  line-height: 1.1;
}
.nr-textlink {
  color: var(--brand);
  font-weight: 900;
  text-decoration: none;
  padding: 6px 0;
}
.nr-textlink:hover { text-decoration: underline; }

.nr-cart-layout {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.nr-cart-items { display: grid; gap: 12px; }
.nr-cart-item {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(31, 41, 51, 0.06);
  overflow: hidden;
  display: grid;
  grid-template-columns: var(--nr-cart-img) 1fr;
  gap: 12px;
  padding: 12px;
}
.nr-cart-item-media { position: relative; }
.nr-cart-item-image-link {
  display: block;
  width: var(--nr-cart-img);
  height: var(--nr-cart-img);
  border-radius: 10px;
  text-decoration: none;
}
.nr-cart-item-image-link:focus-visible {
  outline: 3px solid rgba(31, 94, 56, 0.3);
  outline-offset: 2px;
}
.nr-cart-item-image-link .nr-cart-item-img {
  transition: opacity 160ms ease;
}
.nr-cart-item-image-link:hover .nr-cart-item-img {
  opacity: 0.88;
}
.nr-cart-item-img {
  width: var(--nr-cart-img);
  height: var(--nr-cart-img);
  border-radius: 10px;
  object-fit: contain;
  display: block;
  max-width: 100%;
  background: linear-gradient(135deg, #f1eadc, #d8e7d9);
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.nr-cart-item-placeholder {
  display: grid;
  place-items: center;
  font-weight: 1000;
  color: var(--brand);
}
.nr-cart-item-size {
  position: absolute;
  left: 6px;
  bottom: 6px;
  font-size: 11px;
  font-weight: 900;
  color: #193426;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 3px 7px;
  border-radius: 999px;
}

.nr-cart-item-main { min-width: 0; }
.nr-cart-item-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: start;
}
.nr-cart-item-name {
  display: inline;
  color: inherit;
  text-decoration: none;
  font-weight: 1000;
  font-size: 15px;
  line-height: 1.2;
}
.nr-cart-item-name:hover {
  color: var(--brand);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.nr-cart-item-name:focus-visible {
  border-radius: 3px;
  outline: 3px solid rgba(31, 94, 56, 0.25);
  outline-offset: 2px;
}
.nr-cart-item-meta { font-size: 13px; margin-top: 2px; }
.nr-cart-item-prices { text-align: right; }
.nr-cart-item-unit { font-weight: 1000; color: var(--brand); }
.nr-cart-item-line {
  min-width: 92px;
  font-size: 12px;
  margin-top: 2px;
  font-variant-numeric: tabular-nums;
}

.nr-cart-item-actions {
  margin-top: 10px;
  min-height: 42px;
  display: grid;
  grid-template-columns: 142px 64px;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}
.nr-qty {
  width: 142px;
  height: 42px;
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.nr-qty-btn {
  flex: 0 0 38px;
  border: 0;
  background: #f5f1e9;
  color: #1f2933;
  width: 38px;
  height: 40px;
  padding: 0;
  line-height: 40px;
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
}
.nr-qty-btn:hover { background: #efe8dc; }
.nr-qty-btn:disabled,
.nr-qty-input:disabled {
  opacity: 0.62;
  cursor: wait;
}
.nr-qty-input {
  flex: 0 0 64px;
  width: 64px;
  height: 40px;
  border: 0;
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  border-radius: 0;
  text-align: center;
  padding: 9px 8px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}
.nr-cart-item-ctas {
  display: inline-flex;
  gap: 10px;
  flex-wrap: wrap;
}
.nr-cart-update { padding: 10px 12px; }
.nr-cart-saving {
  width: 64px;
  min-height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.nr-cart-saving[hidden] {
  display: inline-flex;
  visibility: hidden;
}
.nr-cart-stock {
  margin-top: 10px;
  font-size: 12px;
  font-weight: 800;
  color: #8a4a0c;
  background: rgba(212, 138, 31, 0.10);
  border: 1px solid rgba(212, 138, 31, 0.20);
  padding: 8px 10px;
  border-radius: 10px;
}

.nr-cart-summary { display: none; }
.nr-summary-card {
  position: sticky;
  top: 14px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 10px 26px rgba(31, 41, 51, 0.07);
  padding: 16px;
}
.nr-summary-title { font-weight: 1000; font-size: 18px; margin-bottom: 10px; }
.nr-summary-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
}
.nr-summary-total {
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid #ece6da;
  font-weight: 1000;
  font-size: 16px;
}
.nr-checkout-btn { background: var(--accent); }
.nr-checkout-btn:hover { background: var(--accent-2); }
.nr-summary-note { margin-top: 10px; font-size: 12px; }

.nr-trust-row {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.nr-trust {
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 12px;
}
.nr-trust-title { font-weight: 1000; font-size: 13px; }
.nr-trust-subtle { font-size: 12px; color: var(--muted); margin-top: 2px; }

.nr-cart-sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(247, 244, 237, 0.92);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(0,0,0,0.08);
  padding: 10px 6% calc(10px + env(safe-area-inset-bottom, 0px));
  z-index: 50;
}
.nr-cart-sticky-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: center;
}
.nr-cart-sticky-total { min-width: 0; }
.nr-cart-sticky-label { font-size: 12px; font-weight: 900; }
.nr-cart-sticky-amt { font-size: 16px; font-weight: 1000; color: var(--brand); }

.nr-empty {
  margin-top: 14px;
  display: grid;
  place-items: start;
}
.nr-empty-card {
  width: 100%;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 10px 26px rgba(31, 41, 51, 0.07);
  padding: 18px;
}
.nr-empty-title { font-weight: 1000; font-size: 18px; }
.nr-empty-subtle { margin: 8px 0 12px; }

@media (min-width: 900px) {
  .nr-cart-layout { --nr-cart-img: 128px; }
  .nr-cart-layout { grid-template-columns: 1fr 360px; align-items: start; }
  .nr-cart-summary { display: block; }
  .nr-cart-sticky { display: none; }
}

@media (max-width: 899px) {
  /* Keep content clear of fixed sticky bar */
  .nr-cart-layout { padding-bottom: 84px; }
  .nr-cart-header { grid-template-columns: 1fr auto; }
  .nr-cart-toast-slot {
    grid-column: 1 / -1;
    grid-row: 2;
    width: min(280px, 100%);
    min-height: 38px;
  }
  /* Override global mobile rules that break cart controls */
  .nr-cart-item-actions .button, .nr-cart-item-actions button.button { width: auto; }
  .nr-cart-item-actions input[type="number"] { width: 64px; }
  .nr-qty-input { width: 64px !important; }
}

@media (max-width: 420px) {
  .nr-cart-layout { --nr-cart-img: 92px; }
  .nr-cart-title h1 { font-size: 26px; }
  .nr-cart-item-head { grid-template-columns: 1fr; }
  .nr-cart-item-prices { text-align: left; }
  .nr-cart-item-actions {
    grid-template-columns: 142px 64px;
  }
  .nr-cart-sticky-inner { grid-template-columns: 1fr; }
}

/* Checkout (NelloreRice.in) */
.nr-checkout-page { --nr-checkout-thumb: 46px; }
.nr-checkout-header { margin-top: 2px; }
.nr-checkout-header-title {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.nr-checkout-header h1 { margin: 0; font-size: 30px; letter-spacing: 0; }
.nr-checkout-header-sub { margin-top: 6px; }
.nr-checkout-secure {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(36, 107, 69, 0.10);
  border: 1px solid rgba(36, 107, 69, 0.18);
  color: var(--brand);
  font-weight: 900;
  font-size: 12px;
}
.nr-checkout-secure-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--brand);
  box-shadow: 0 0 0 3px rgba(36, 107, 69, 0.12);
}

.nr-checkout-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: start;
}
.nr-checkout-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 18px;
  box-shadow: 0 10px 26px rgba(31, 41, 51, 0.07);
}
.nr-checkout-form { gap: 16px; }

.nr-checkout-section-hd {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 10px;
}
.nr-checkout-step {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: var(--brand);
  color: #fff;
  font-weight: 1000;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.nr-checkout-section-title {
  font-weight: 1000;
  font-size: 15px;
  color: #123224;
}
.nr-checkout-section-sub {
  margin-top: 2px;
  font-size: 13px;
  color: var(--muted);
}
.nr-checkout-optional { font-weight: 900; color: var(--muted); font-size: 12px; }
.nr-checkout-row2 { display: grid; grid-template-columns: 1fr; gap: 12px; }
.nr-checkout-field { gap: 6px; }
.nr-checkout-help {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.nr-checkout-field-altphone{
  margin-bottom: 18px;
  padding-bottom: 2px;
}

.nr-checkout-pay {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.nr-pay-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 12px;
  display: grid;
  grid-template-columns: 18px 42px 1fr;
  gap: 12px;
  cursor: pointer;
  user-select: none;
  background: #fff;
  align-items: center;
}
.nr-pay-card:hover { border-color: #c9c0b2; }
.nr-pay-card input { margin-top: 2px; }
.nr-pay-icon {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(36, 107, 69, 0.10);
  border: 1px solid rgba(36, 107, 69, 0.16);
  position: relative;
}
.nr-pay-icon:before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 16px;
  height: 12px;
  border-radius: 3px;
  border: 2px solid rgba(31, 41, 51, 0.55);
}
.nr-pay-icon-online {
  background: rgba(212, 138, 31, 0.10);
  border-color: rgba(212, 138, 31, 0.20);
}
.nr-pay-icon-online:before { width: 18px; height: 12px; border-radius: 3px; }
.nr-pay-name { font-weight: 1000; }
.nr-pay-desc { font-size: 13px; color: var(--muted); margin-top: 3px; }
.nr-pay-card.is-selected {
  border-color: var(--brand);
  box-shadow: 0 0 0 2px rgba(36, 107, 69, 0.14);
}

.nr-checkout-cta {
  margin-top: 8px;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.nr-checkout-place {
  background: var(--accent);
  border-radius: 10px;
  padding: 12px 16px;
  font-weight: 1000;
}
.nr-checkout-place.secondary { background: var(--brand); }
.nr-checkout-cta-note { color: var(--muted); font-size: 13px; }
.nr-checkout-trust { margin-top: 14px; padding-top: 14px; border-top: 1px solid #ece6da; }

.nr-checkout-summary { position: relative; }
.nr-summary-title { font-weight: 1000; font-size: 18px; margin-bottom: 10px; }
.nr-summary-item {
  display: grid;
  grid-template-columns: var(--nr-checkout-thumb) 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #f0eadf;
}
.nr-summary-thumb { width: var(--nr-checkout-thumb); height: var(--nr-checkout-thumb); }
.nr-summary-thumb-img {
  width: var(--nr-checkout-thumb);
  height: var(--nr-checkout-thumb);
  border-radius: 10px;
  background: linear-gradient(135deg, #f1eadc, #d8e7d9);
  border: 1px solid rgba(0,0,0,0.06);
  object-fit: contain;
  max-width: 100%;
  display: block;
}
.nr-summary-thumb-placeholder {
  display: grid;
  place-items: center;
  font-weight: 1000;
  color: var(--brand);
}
.nr-summary-name { font-weight: 1000; line-height: 1.2; }
.nr-summary-meta { font-size: 12px; margin-top: 2px; }
.nr-summary-line { font-weight: 1000; color: #123224; white-space: nowrap; }
.nr-summary-totals { margin-top: 12px; padding-top: 12px; border-top: 1px solid #ece6da; }
.nr-summary-row { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; }
.nr-summary-row-total { font-weight: 1000; font-size: 16px; color: var(--brand); padding-top: 10px; }
.nr-summary-note { margin-top: 10px; }
.nr-summary-trust {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #ece6da;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.nr-summary-trust-item {
  display: flex;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.7);
  font-weight: 900;
  font-size: 12px;
  color: #20342b;
}
.nr-summary-ic {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(36, 107, 69, 0.10);
  border: 1px solid rgba(36, 107, 69, 0.16);
  flex: 0 0 auto;
}
.nr-summary-ic-sec { background: rgba(212, 138, 31, 0.10); border-color: rgba(212, 138, 31, 0.20); }
.nr-summary-ic-del { background: rgba(15, 118, 110, 0.10); border-color: rgba(15, 118, 110, 0.18); }
.nr-summary-ic-sup { background: rgba(180, 83, 9, 0.10); border-color: rgba(180, 83, 9, 0.18); }

.nr-checkout-sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(247, 244, 237, 0.92);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(0,0,0,0.08);
  padding: 10px 6% calc(10px + env(safe-area-inset-bottom, 0px));
  z-index: 50;
}
.nr-checkout-sticky-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: center;
}
.nr-checkout-sticky-total { min-width: 0; }
.nr-checkout-sticky-amt { font-size: 16px; font-weight: 1000; color: var(--brand); }

@media (min-width: 900px) {
  .nr-checkout-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); }
  .nr-checkout-summary { position: sticky; top: 14px; }
  .nr-checkout-sticky { display: none; }
  .nr-checkout-row2 { grid-template-columns: 1fr 1fr; }
  .nr-checkout-pay { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 899px) {
  /* Keep content clear of fixed sticky bar */
  .nr-checkout-page { padding-bottom: 84px; }
  .nr-checkout-cta { display: none; }
  .nr-checkout-sticky-inner { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .nr-checkout-header h1 { font-size: 26px; }
  .nr-summary-trust { grid-template-columns: 1fr; }
}

/* Order Success / Confirmation (NelloreRice.in) */
.nr-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.nr-order-success-page {
  max-width: 1320px;
  padding-top: 26px;
  padding-bottom: 32px;
}
.nr-order-success-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: start;
}
.nr-order-success-left { min-width: 0; }
.nr-order-success-right { min-width: 0; display: grid; gap: 16px; }

.nr-order-success-hero {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(31, 41, 51, 0.07);
  padding: 18px;
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 16px;
  align-items: center;
  overflow: hidden;
  position: relative;
}
.nr-order-success-hero-cancelled { grid-template-columns: 56px 1fr; }
.nr-order-success-hero:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(520px 260px at 10% 12%, rgba(36,107,69,0.10), rgba(0,0,0,0) 60%),
    radial-gradient(520px 260px at 110% 30%, rgba(212,138,31,0.10), rgba(0,0,0,0) 55%);
  pointer-events:none;
}
.nr-order-success-hero-main,
.nr-order-success-hero-illu,
.nr-order-success-hero-icon{ position: relative; z-index: 1; }

.nr-order-success-kicker{
  display:inline-flex;
  align-items:center;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(36,107,69,0.18);
  background: rgba(36,107,69,0.06);
  color: #1a3b2a;
  font-weight: 1000;
  font-size: 12px;
  letter-spacing: 0;
  margin-bottom: 10px;
}
.nr-order-success-hero-illu {
  width: 140px;
  height: 140px;
  border-radius: 18px;
  background: transparent;
  border: 0;
  display: grid;
  place-items: center;
  position: relative;
}
.nr-order-success-check {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: var(--brand);
  box-shadow: 0 12px 24px rgba(36,107,69,0.22);
  position: relative;
}
.nr-order-success-check:before {
  content: "";
  position: absolute;
  left: 22px;
  top: 18px;
  width: 18px;
  height: 10px;
  border-left: 5px solid #fff;
  border-bottom: 5px solid #fff;
  transform: rotate(-45deg);
}
.nr-order-success-title { margin: 0; font-size: 28px; letter-spacing: 0; color: #123224; font-weight: 1000; line-height: 1.12; }
.nr-order-success-sub { margin: 10px 0 0; color: var(--muted); font-size: 14px; line-height: 1.45; max-width: 62ch; }

.nr-order-success-kv {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.nr-order-success-kv-item {
  display: flex;
  gap: 12px;
  align-items: center;
  border: 1px solid #ece6da;
  background: rgba(255,255,255,0.7);
  border-radius: 12px;
  padding: 12px;
}
.nr-order-success-kv-label { font-size: 12px; font-weight: 900; }
.nr-order-success-kv-value { font-weight: 1000; font-size: 16px; color: #123224; }
.nr-order-success-cancel-reason {
  grid-template-columns: 1fr;
}
.nr-order-success-cancel-reason-item {
  display: grid;
  gap: 5px;
  align-items: start;
}
.nr-order-success-cancel-reason .nr-order-success-kv-value {
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.nr-order-success-cancel-payment {
  margin-top: 12px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(36, 107, 69, 0.18);
  border-radius: 12px;
  background: rgba(36, 107, 69, 0.07);
  padding: 12px;
  color: #123224;
}
.nr-order-success-cancel-payment span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.nr-order-success-track {
  margin-top: 12px;
  border-radius: 12px;
  border: 1px solid rgba(36,107,69,0.22);
  background: rgba(36,107,69,0.08);
  padding: 12px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: #1a3b2a;
}
.nr-order-success-track-ic {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--brand);
  flex: 0 0 auto;
  margin-top: 2px;
}
.nr-order-success-track a { color: var(--brand); text-decoration: none; }
.nr-order-success-track a:hover { text-decoration: underline; }

.nr-order-success-prep {
  margin-top: 14px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(31, 41, 51, 0.06);
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: center;
}
.nr-order-success-prep-title { font-weight: 1000; font-size: 16px; }
.nr-order-success-prep-sub { margin-top: 4px; color: var(--muted); font-size: 13px; }

.nr-order-success-cards {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.nr-order-success-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(31, 41, 51, 0.06);
  padding: 16px;
}
.nr-order-success-card-hd {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}
.nr-order-success-card-ic {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(36,107,69,0.10);
  border: 1px solid rgba(36,107,69,0.16);
  flex: 0 0 auto;
}
.nr-order-success-card-ic-wa { background: rgba(15,118,110,0.10); border-color: rgba(15,118,110,0.18); }
.nr-order-success-card-ic-pay { background: rgba(212,138,31,0.10); border-color: rgba(212,138,31,0.20); }
.nr-order-success-card-title { font-weight: 1000; }

.nr-order-success-paystate {
  border-radius: 12px;
  padding: 12px;
  border: 1px solid #ece6da;
  background: rgba(255,255,255,0.7);
}
.nr-order-success-paystate.ok { background: rgba(36,107,69,0.08); border-color: rgba(36,107,69,0.18); }
.nr-order-success-paystate.warn { background: rgba(212,138,31,0.10); border-color: rgba(212,138,31,0.22); }
.nr-order-success-paystate.danger { background: rgba(180,35,24,0.08); border-color: rgba(180,35,24,0.18); }
.nr-order-success-paystate.neutral { background: rgba(17,24,39,0.04); border-color: rgba(17,24,39,0.10); }
.nr-order-success-paytitle { font-weight: 1000; }
.nr-order-success-paysub { margin-top: 4px; color: var(--muted); font-size: 13px; }
.nr-order-success-paycta { margin-top: 10px; display: inline-block; }
.nr-order-success-paylink { margin-top: 10px; font-weight: 900; }
.nr-order-success-paylink a { color: var(--brand); text-decoration: none; }
.nr-order-success-paylink a:hover { text-decoration: underline; }

.nr-order-success-whatsapp {
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--brand);
  color: #fff;
  font-weight: 1000;
  text-decoration: none;
  border-radius: 10px;
  padding: 12px 16px;
}
.nr-order-success-whatsapp:hover { background: var(--brand-2); }

.nr-order-success-trust {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.nr-order-success-trust-item {
  display: flex;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px 12px;
  background: rgba(255,255,255,0.7);
  font-weight: 900;
  font-size: 12px;
  color: #20342b;
}
.nr-order-success-trust-ic {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(36,107,69,0.10);
  border: 1px solid rgba(36,107,69,0.16);
  flex: 0 0 auto;
}
.nr-order-success-trust-ic-sec { background: rgba(212,138,31,0.10); border-color: rgba(212,138,31,0.20); }
.nr-order-success-trust-ic-del { background: rgba(15,118,110,0.10); border-color: rgba(15,118,110,0.18); }
.nr-order-success-trust-ic-can { background: rgba(180,83,9,0.10); border-color: rgba(180,83,9,0.18); }

.nr-order-success-footer {
  margin-top: 14px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(31, 41, 51, 0.06);
  padding: 14px;
  display: grid;
  gap: 10px;
}
.nr-order-success-footrow { display: flex; gap: 10px; align-items: flex-start; }
.nr-order-success-footic {
  width: 18px;
  height: 18px;
  border-radius: 6px;
  background: rgba(36,107,69,0.10);
  border: 1px solid rgba(36,107,69,0.16);
  flex: 0 0 auto;
  margin-top: 2px;
}
.nr-order-success-footic-cb { background: rgba(212,138,31,0.10); border-color: rgba(212,138,31,0.20); }
.nr-order-success-footic-user { background: rgba(15,118,110,0.10); border-color: rgba(15,118,110,0.18); }
.nr-order-success-cancel {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.nr-order-success-cancel-note { line-height: 1.4; }

.nr-order-success-summary,
.nr-order-success-status {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(31, 41, 51, 0.07);
  padding: 16px;
}
.nr-order-success-summary-title,
.nr-order-success-status-title { font-weight: 1000; font-size: 18px; margin-bottom: 10px; }

.nr-order-success-sumitem {
  display: grid;
  grid-template-columns: 54px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #f0eadf;
}
.nr-order-success-thumb { width: 54px; height: 54px; }
.nr-order-success-thumb-img {
  width: 54px;
  height: 54px;
  border-radius: 12px;
  background: linear-gradient(135deg, #f1eadc, #d8e7d9);
  border: 1px solid rgba(0,0,0,0.06);
  object-fit: contain;
  max-width: 100%;
  display: block;
}
.nr-order-success-thumb-ph {
  display: grid;
  place-items: center;
  font-weight: 1000;
  color: var(--brand);
}
.nr-order-success-sumname { font-weight: 1000; line-height: 1.2; }
.nr-order-success-summeta { margin-top: 2px; font-size: 12px; }
.nr-order-success-sumline { font-weight: 1000; white-space: nowrap; }

.nr-order-success-totals { margin-top: 12px; padding-top: 12px; border-top: 1px solid #ece6da; }
.nr-order-success-totalrow { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; }
.nr-order-success-totalrow-strong { font-weight: 1000; font-size: 16px; color: var(--brand); padding-top: 10px; }
.nr-order-success-neg { color: #991b1b; font-weight: 900; }

.nr-order-success-status-item {
  position: relative;
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 12px;
  padding: 12px 0 12px 0;
}
.nr-order-success-status-item:before {
  content: "";
  position: absolute;
  left: 8px;
  top: 10px;
  bottom: 10px;
  width: 2px;
  background: #e7e0d4;
}
.nr-order-success-status-dot {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 2px solid #c9c0b2;
  background: #fff;
  margin-top: 2px;
  position: relative;
  z-index: 1;
}
.nr-order-success-status-label { font-weight: 1000; letter-spacing: 0; }
.nr-order-success-status-sub { margin-top: 3px; line-height: 1.4; }
.nr-order-success-status-item.done .nr-order-success-status-dot { background: var(--brand); border-color: var(--brand); }
.nr-order-success-status-item.current .nr-order-success-status-dot { background: var(--accent); border-color: var(--accent); }
.nr-order-success-status-item.todo { opacity: 0.82; }
.nr-order-success-status-item.cancelled .nr-order-success-status-dot { background: #9ca3af; border-color: #9ca3af; }

@media (min-width: 980px) {
  .nr-order-success-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.6fr); gap: 20px; }
  .nr-order-success-summary { position: sticky; top: 14px; }
  .nr-order-success-status { position: sticky; top: 320px; }
  .nr-order-success-kv { grid-template-columns: 1fr 1fr; }
  .nr-order-success-cards { grid-template-columns: 1fr 1fr; }
  .nr-order-success-hero { padding: 22px; border-radius: 16px; grid-template-columns: 160px 1fr; gap: 18px; }
  .nr-order-success-title { font-size: 34px; }
  .nr-order-success-sub { font-size: 15px; }
  .nr-order-success-summary,
  .nr-order-success-status { padding: 18px; }
}

@media (max-width: 640px) {
  .nr-order-success-hero { grid-template-columns: 1fr; }
  .nr-order-success-hero-illu { width: 100%; height: 140px; }
  .nr-order-success-trust { grid-template-columns: 1fr; }
  .nr-order-success-whatsapp { width: 100%; }
}

/* Cancel Order (premium) */
.nr-cancel-page{ max-width: 1100px; }
.nr-cancel-grid{
  display:grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
  gap: 18px;
  align-items:start;
}
.nr-cancel-card{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(31, 41, 51, 0.07);
  padding: 18px;
}
.nr-cancel-head{ margin-bottom: 14px; }
.nr-cancel-kicker{
  display:inline-flex;
  align-items:center;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(180,35,24,0.18);
  background: rgba(180,35,24,0.06);
  color: #7f1d1d;
  font-weight: 1000;
  font-size: 12px;
}
.nr-cancel-title{ margin: 10px 0 0; font-size: 28px; font-weight: 1000; letter-spacing: 0; color:#123224; line-height:1.12; }
.nr-cancel-sub{ margin: 10px 0 0; color: var(--muted); line-height: 1.5; }
.nr-cancel-form{ margin-top: 14px; }
.nr-cancel-field{ margin-top: 14px; }
.nr-cancel-label{ font-weight: 1000; margin-bottom: 8px; }
.nr-cancel-help{ margin-top: -2px; margin-bottom: 8px; }
.nr-cancel-reasons{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.nr-cancel-reason{
  display:grid;
  grid-template-columns: 18px 1fr 18px;
  align-items:center;
  gap: 12px;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.7);
  cursor:pointer;
  user-select:none;
}
.nr-cancel-reason input{ margin:0; }
.nr-cancel-reason-main{ min-width:0; }
.nr-cancel-reason-title{ font-weight: 1000; color:#123224; }
.nr-cancel-reason-check{
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 2px solid #c9c0b2;
  background: #fff;
  justify-self:end;
}
.nr-cancel-reason:has(input:checked){
  border-color: rgba(180,35,24,0.30);
  background: rgba(180,35,24,0.05);
}
.nr-cancel-reason:has(input:checked) .nr-cancel-reason-check{
  border-color: var(--danger);
  background: var(--danger);
}
.nr-cancel-note{
  margin-top: 14px;
  border-radius: 12px;
  border: 1px solid rgba(212,138,31,0.22);
  background: rgba(212,138,31,0.08);
  padding: 12px;
  color:#5a3a10;
  line-height: 1.45;
  font-weight: 800;
  font-size: 13px;
}
.nr-cancel-actions{
  margin-top: 16px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  align-items:center;
}
.nr-cancel-confirm{ min-width: 220px; }
.nr-cancel-summary{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(31, 41, 51, 0.07);
  padding: 16px;
  position: sticky;
  top: 14px;
}
.nr-cancel-summary-title{ font-weight: 1000; font-size: 18px; margin-bottom: 10px; }
.nr-cancel-summary-table{ display:grid; gap: 10px; }
.nr-cancel-summary-row{
  display:grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: baseline;
  padding-bottom: 10px;
  border-bottom: 1px solid #f0eadf;
}
.nr-cancel-summary-name{ font-weight: 1000; }
.nr-cancel-summary-line{ font-weight: 1000; white-space:nowrap; }
.nr-cancel-summary-totalrow{ display:flex; justify-content:space-between; gap: 12px; padding-top: 10px; }
.nr-cancel-summary-totalrow-strong{ font-weight: 1000; font-size: 16px; color: var(--danger); }
.nr-cancel-summary-neg{ color: #991b1b; font-weight: 900; }
.nr-cancel-summary-meta{ margin-top: 10px; }

@media (max-width: 980px){
  .nr-cancel-grid{ grid-template-columns: 1fr; }
  .nr-cancel-summary{ position: static; }
}

@media (max-width: 640px){
  .nr-cancel-title{ font-size: 24px; }
  .nr-cancel-actions{ align-items: stretch; }
  .nr-cancel-actions .button, .nr-cancel-actions button.button{ width: 100%; text-align:center; }
}

/* Public legal / contact trust information */
.nr-legal-page {
  max-width: 1320px;
  margin: 0 auto;
  padding: 12px 0 26px;
  display: grid;
  gap: 24px;
}
.nr-legal-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #31503e;
  font-size: 13px;
  font-weight: 800;
}
.nr-legal-breadcrumb a,
.nr-legal-page a {
  color: var(--brand);
  font-weight: 900;
  text-decoration: none;
}
.nr-legal-breadcrumb a:hover,
.nr-legal-page a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.nr-legal-hero {
  display: grid;
  gap: 14px;
}
.nr-legal-hero h1 {
  margin: 0;
  color: #0f3f28;
  font-size: 34px;
  line-height: 1.1;
  font-weight: 1000;
}
.nr-legal-hero h1:after {
  content: "";
  display: block;
  width: 76px;
  height: 4px;
  margin-top: 14px;
  border-radius: 999px;
  background: var(--accent);
}
.nr-legal-hero p {
  max-width: 76ch;
  margin: 0;
  color: #263d32;
  line-height: 1.65;
}
.nr-legal-info-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.nr-legal-info-card {
  min-height: 230px;
  padding: 22px 18px;
  border: 1px solid rgba(36, 107, 69, 0.13);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(31, 41, 51, 0.07);
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 10px;
  text-align: center;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.nr-legal-info-card:hover,
.nr-legal-info-card:focus-within {
  transform: translateY(-4px);
  border-color: rgba(36, 107, 69, 0.26);
  box-shadow: 0 20px 42px rgba(31, 41, 51, 0.11);
}
.nr-legal-info-card-featured {
  background: linear-gradient(135deg, rgba(36, 107, 69, 0.10), rgba(212, 138, 31, 0.06));
}
.nr-legal-icon,
.nr-legal-purpose-icon,
.nr-legal-contact-icon,
.nr-legal-shield {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(36, 107, 69, 0.13);
  color: var(--brand);
  border: 1px solid rgba(36, 107, 69, 0.13);
  font-weight: 1000;
}
.nr-legal-icon svg,
.nr-legal-purpose-icon svg,
.nr-legal-contact-icon svg,
.nr-legal-shield svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.nr-legal-info-card h2,
.nr-legal-purpose-card h2,
.nr-legal-contact-card h2 {
  margin: 0;
  color: #123224;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 1000;
}
.nr-legal-value {
  margin: 0;
  color: #123224;
  font-size: 15px;
  font-weight: 1000;
  overflow-wrap: anywhere;
}
.nr-legal-value a {
  overflow-wrap: anywhere;
}
.nr-legal-help {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.nr-legal-action-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.nr-legal-purpose-card,
.nr-legal-contact-card {
  border-radius: 18px;
  border: 1px solid rgba(36, 107, 69, 0.14);
  box-shadow: 0 14px 34px rgba(31, 41, 51, 0.07);
  display: grid;
  gap: 16px;
}
.nr-legal-purpose-card {
  padding: 22px;
  background: linear-gradient(135deg, rgba(36, 107, 69, 0.12), rgba(255, 255, 255, 0.88));
}
.nr-legal-contact-card {
  padding: 22px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(212, 138, 31, 0.10));
}
.nr-legal-purpose-card p,
.nr-legal-contact-card p {
  margin: 7px 0 0;
  color: #263d32;
  line-height: 1.62;
}
.nr-legal-purpose-icon {
  background: var(--brand);
  color: #fff;
}
.nr-legal-email-button {
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 10px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 10px 20px rgba(36, 107, 69, 0.20);
  transition: background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}
.nr-legal-email-button:hover,
.nr-legal-email-button:focus-visible {
  background: var(--brand-2);
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 24px rgba(36, 107, 69, 0.24);
}
.nr-legal-trust-banner {
  padding: 16px;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  text-align: center;
  color: #123224;
}
.nr-legal-shield {
  width: 30px;
  height: 30px;
  background: #fff;
}

.app-footer {
  margin-top: 32px;
  background: linear-gradient(135deg, #064323, #0a6337);
  color: #fff;
  overflow: hidden;
}
.app-footer-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 34px 8%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 26px;
}
.app-footer-section h2 {
  margin: 0 0 13px;
  color: #fff;
  font-size: 16px;
  font-weight: 1000;
}
.app-footer-about p,
.app-footer-contact p {
  margin: 0;
  color: rgba(255, 255, 255, 0.84);
  line-height: 1.6;
}
.app-footer-section ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.app-footer-section a {
  color: rgba(255, 255, 255, 0.84);
  text-decoration: none;
  font-weight: 800;
}
.app-footer-section a:hover,
.app-footer-section a:focus-visible {
  color: #ffd66f;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.app-footer-contact {
  font-style: normal;
  display: grid;
  gap: 10px;
}
.app-footer-contact p {
  display: grid;
  gap: 3px;
}
.app-footer-contact span {
  color: #ffd66f;
  font-size: 12px;
  font-weight: 1000;
  text-transform: uppercase;
}
.app-footer-bottom {
  padding: 16px 8%;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(3, 37, 20, 0.32);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 26px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
}
.app-footer-bottom strong {
  color: #fff;
}

@media (min-width: 680px) {
  .nr-legal-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nr-legal-purpose-card,
  .nr-legal-contact-card {
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: center;
  }
  .app-footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 980px) {
  .nr-legal-hero h1 {
    font-size: 40px;
  }
  .nr-legal-info-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .nr-legal-action-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.9fr);
  }
  .app-footer-inner {
    grid-template-columns: 1.25fr 0.8fr 0.9fr 0.9fr 1.25fr;
  }
}

@media (max-width: 420px) {
  .nr-legal-hero h1 {
    font-size: 28px;
  }
  .nr-legal-info-card {
    min-height: 210px;
  }
}
