/* Decorative page borders — Gutka, Sehaj Path, Recite. Petals, flowers, rays, embroidery. */
.hukam-sheet[class*="bani-border-"],
.sehaj-sheet[class*="bani-border-"] {
  --sheet-bg: #fffaf3;
  --orn-1: #b8860b;
  --orn-2: #f0d78c;
  --orn-3: #d97706;
  --orn-4: #fff3c4;
  position: relative;
  isolation: isolate;
  background-color: var(--sheet-bg);
  background-image:
    linear-gradient(var(--sheet-bg), var(--sheet-bg)),
    radial-gradient(circle, var(--orn-3) 2.1px, transparent 2.5px),
    radial-gradient(circle, var(--orn-2) 1.4px, transparent 1.8px),
    linear-gradient(90deg, var(--orn-1), var(--orn-2), var(--orn-3), var(--orn-2), var(--orn-1));
  background-origin: padding-box, border-box, border-box, border-box;
  background-clip: padding-box, border-box, border-box, border-box;
  background-size: auto, 18px 18px, 12px 12px, auto;
  background-position: center, 0 0, 9px 9px, 0 0;
  border: 18px solid transparent;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--orn-1) 80%, #000 20%),
    inset 0 0 0 7px color-mix(in srgb, var(--orn-2) 55%, transparent),
    0 22px 44px rgba(0, 0, 0, 0.38);
}

.border-corner {
  position: absolute;
  width: 2.7rem;
  height: 2.7rem;
  pointer-events: none;
  z-index: 2;
}
.border-corner.tl { top: 5px; left: 5px; }
.border-corner.tr { top: 5px; right: 5px; transform: scaleX(-1); }
.border-corner.bl { bottom: 5px; left: 5px; transform: scaleY(-1); }
.border-corner.br { bottom: 5px; right: 5px; transform: scale(-1); }
.border-corner::before,
.border-corner::after {
  content: "";
  position: absolute;
  inset: 0;
}
.border-corner::before {
  background:
    radial-gradient(circle at 50% 50%, var(--orn-4, #fff3c4) 0 5px, transparent 6px),
    radial-gradient(circle at 50% 16%, var(--orn-3, #d97706) 0 7px, transparent 8px),
    radial-gradient(circle at 50% 84%, var(--orn-3, #d97706) 0 7px, transparent 8px),
    radial-gradient(circle at 16% 50%, var(--orn-2, #f0d78c) 0 7px, transparent 8px),
    radial-gradient(circle at 84% 50%, var(--orn-2, #f0d78c) 0 7px, transparent 8px),
    radial-gradient(circle at 26% 26%, var(--orn-1, #b8860b) 0 6px, transparent 7px),
    radial-gradient(circle at 74% 26%, var(--orn-1, #b8860b) 0 6px, transparent 7px),
    radial-gradient(circle at 26% 74%, var(--orn-1, #b8860b) 0 6px, transparent 7px),
    radial-gradient(circle at 74% 74%, var(--orn-1, #b8860b) 0 6px, transparent 7px);
}
.border-corner::after {
  inset: 28% 28%;
  border-radius: 50%;
  background: radial-gradient(circle, #fffdf6 0 35%, var(--orn-3, #d97706) 55%, transparent 70%);
  box-shadow: 0 0 8px color-mix(in srgb, var(--orn-2, #f0d78c) 70%, transparent);
}

.bani-border-petals_gold,
.bani-border-floral {
  --sheet-bg: #fffaf0;
  --orn-1: #b45309;
  --orn-2: #fbbf24;
  --orn-3: #d97706;
  --orn-4: #fffbeb;
}
.bani-border-petals_rose,
.bani-border-lotus {
  --sheet-bg: #fff7f8;
  --orn-1: #9f1239;
  --orn-2: #fb7185;
  --orn-3: #e11d48;
  --orn-4: #ffe4e6;
}
.bani-border-petals_spring,
.bani-border-emerald {
  --sheet-bg: #f7fee7;
  --orn-1: #166534;
  --orn-2: #86efac;
  --orn-3: #16a34a;
  --orn-4: #ecfccb;
}
.bani-border-petals_ring,
.bani-border-saffron {
  --sheet-bg: #fffaf3;
  --orn-1: #c2410c;
  --orn-2: #fdba74;
  --orn-3: #ea580c;
  --orn-4: #ffedd5;
}
.bani-border-petals_corner {
  --sheet-bg: #fffdf8;
  --orn-1: #92400e;
  --orn-2: #fde68a;
  --orn-3: #b45309;
  --orn-4: #fffbeb;
}
.bani-border-royal {
  --sheet-bg: #eef2ff;
  --orn-1: #1e3a8a;
  --orn-2: #93c5fd;
  --orn-3: #2563eb;
  --orn-4: #dbeafe;
}
.bani-border-pearl {
  --sheet-bg: #fafafa;
  --orn-1: #57534e;
  --orn-2: #e7e5e4;
  --orn-3: #a8a29e;
  --orn-4: #ffffff;
}
.bani-border-court_gold {
  --sheet-bg: #fff8e7;
  --orn-1: #854d0e;
  --orn-2: #facc15;
  --orn-3: #ca8a04;
  --orn-4: #fef9c3;
}
.bani-border-ink_lotus {
  --sheet-bg: #f8f4ff;
  --orn-1: #5b21b6;
  --orn-2: #c4b5fd;
  --orn-3: #7c3aed;
  --orn-4: #ede9fe;
}
.bani-border-khanda_line {
  --sheet-bg: #fffaf3;
  --orn-1: #78350f;
  --orn-2: #fcd34d;
  --orn-3: #b45309;
  --orn-4: #fffbeb;
}

.hukam-sheet.bani-border-petals_ring,
.sehaj-sheet.bani-border-petals_ring,
.hukam-sheet.bani-border-saffron,
.sehaj-sheet.bani-border-saffron {
  background-image:
    linear-gradient(var(--sheet-bg), var(--sheet-bg)),
    repeating-radial-gradient(circle at 50% 50%, var(--orn-3) 0 2px, transparent 2px 8px),
    linear-gradient(90deg, var(--orn-1), var(--orn-2), var(--orn-1));
  background-size: auto, 22px 22px, auto;
}

.hukam-sheet.bani-border-court_gold,
.sehaj-sheet.bani-border-court_gold {
  background-image:
    linear-gradient(var(--sheet-bg), var(--sheet-bg)),
    repeating-linear-gradient(45deg, var(--orn-1) 0 2px, transparent 2px 7px),
    repeating-linear-gradient(-45deg, var(--orn-2) 0 2px, transparent 2px 7px),
    linear-gradient(var(--orn-3), var(--orn-1));
  background-size: auto, 14px 14px, 14px 14px, auto;
}

.hukam-sheet.bani-border-royal,
.sehaj-sheet.bani-border-royal,
.hukam-sheet.bani-border-ink_lotus,
.sehaj-sheet.bani-border-ink_lotus {
  background-image:
    linear-gradient(var(--sheet-bg), var(--sheet-bg)),
    radial-gradient(circle at 50% 0, var(--orn-2) 0 3px, transparent 4px),
    radial-gradient(circle at 0 50%, var(--orn-3) 0 3px, transparent 4px),
    linear-gradient(90deg, var(--orn-1), var(--orn-2), var(--orn-3), var(--orn-2), var(--orn-1));
  background-size: auto, 16px 16px, 16px 16px, auto;
}

.hukam-sheet.bani-border-khanda,
.sehaj-sheet.bani-border-khanda {
  --sheet-bg: #1a120b;
  --orn-1: #b45309;
  --orn-2: #fbbf24;
  --orn-3: #fde68a;
  --orn-4: #78350f;
  color: #fde7c2 !important;
  background-image:
    linear-gradient(165deg, #1a120b, #2c1b0e),
    repeating-conic-gradient(from 12deg, #fbbf24 0 5deg, transparent 5deg 16deg),
    linear-gradient(#92400e, #fbbf24, #92400e);
  background-size: auto, auto, auto;
}
.hukam-sheet.bani-border-khanda *,
.sehaj-sheet.bani-border-khanda * {
  color: #fde7c2 !important;
}
.bani-border-khanda .border-corner::before {
  background: repeating-conic-gradient(from 0deg at 0 0, #fbbf24 0 7deg, transparent 7deg 16deg);
  mask-image: radial-gradient(circle at 0 0, #000 0 72%, transparent 73%);
  -webkit-mask-image: radial-gradient(circle at 0 0, #000 0 72%, transparent 73%);
  opacity: 0.85;
}
.bani-border-khanda .border-corner::after {
  background: radial-gradient(circle, #fff3c4 0 30%, #fbbf24 55%, transparent 72%);
}

.hukam-sheet.bani-border-khanda_line,
.sehaj-sheet.bani-border-khanda_line {
  background-image:
    linear-gradient(var(--sheet-bg), var(--sheet-bg)),
    repeating-linear-gradient(90deg, var(--orn-1) 0 3px, var(--orn-2) 3px 6px, transparent 6px 12px),
    repeating-linear-gradient(180deg, var(--orn-1) 0 3px, var(--orn-2) 3px 6px, transparent 6px 12px),
    linear-gradient(var(--orn-3), var(--orn-1));
  background-size: auto, 100% 10px, 10px 100%, auto;
}

.hukam-sheet.bani-border-petals_corner,
.sehaj-sheet.bani-border-petals_corner {
  background-image:
    linear-gradient(var(--sheet-bg), var(--sheet-bg)),
    linear-gradient(90deg, var(--orn-1), var(--orn-2) 40%, var(--orn-1));
  background-size: auto, auto;
}
.bani-border-petals_corner .border-corner {
  width: 3.3rem;
  height: 3.3rem;
}

.bani-border-none {
  --sheet-bg: #fffaf3;
  box-shadow: none;
  background: #fffaf3;
  border: 0;
}

.gold-card[class*="bani-border-"] {
  border-width: 2px;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--orn-2, #f0d78c) 35%, transparent),
    0 16px 32px rgba(0, 0, 0, 0.28),
    0 0 0 3px color-mix(in srgb, var(--orn-1, #b8860b) 28%, transparent);
}
.gold-card.bani-border-petals_gold,
.gold-card.bani-border-floral,
.gold-card.bani-border-court_gold { border-color: #d4af37; --orn-1: #b45309; --orn-2: #fbbf24; }
.gold-card.bani-border-petals_rose,
.gold-card.bani-border-lotus { border-color: #fb7185; --orn-1: #9f1239; --orn-2: #fb7185; }
.gold-card.bani-border-petals_spring,
.gold-card.bani-border-emerald { border-color: #4ade80; --orn-1: #166534; --orn-2: #86efac; }
.gold-card.bani-border-petals_ring,
.gold-card.bani-border-saffron { border-color: #fb923c; --orn-1: #c2410c; --orn-2: #fdba74; }
.gold-card.bani-border-petals_corner { border-color: #fbbf24; --orn-1: #92400e; --orn-2: #fde68a; }
.gold-card.bani-border-royal { border-color: #60a5fa; --orn-1: #1e3a8a; --orn-2: #93c5fd; }
.gold-card.bani-border-pearl { border-color: #d6d3d1; --orn-1: #57534e; --orn-2: #e7e5e4; }
.gold-card.bani-border-ink_lotus { border-color: #c4b5fd; --orn-1: #5b21b6; --orn-2: #c4b5fd; }
.gold-card.bani-border-khanda,
.gold-card.bani-border-khanda_line { border-color: #fbbf24; --orn-1: #78350f; --orn-2: #fcd34d; }

.immerse-frame { position: relative; min-height: auto; }
.immerse-ang {
  display: none;
  position: absolute;
  left: 50%;
  padding: 0.15rem 1.1rem;
  background: var(--sheet-bg, #fffaf3);
  z-index: 3;
  font-family: var(--display, serif);
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #6b4e10;
}
.immerse-ang.top { top: 0; transform: translate(-50%, -50%); }
.immerse-ang.bottom { bottom: 0; transform: translate(-50%, 50%); }

body.sehaj-immerse .immerse-frame { min-height: 100dvh; }
body.sehaj-immerse .immerse-ang { display: block; }
body.sehaj-immerse .bani-border-khanda .immerse-ang { color: #fde7c2; }
