/* ══════════════════════════════════════
   Jabeenz Cultural Design Patterns
   7 authentic South Asian design elements
   ══════════════════════════════════════ */

/* ── Islamic Geometric Star Pattern ── */
.jbz-pattern-geometric {
  position: relative;
}
.jbz-pattern-geometric::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23F5A623' stroke-width='0.5'%3E%3Cpolygon points='40,8 47,20 60,14 53,27 66,33 53,33 60,46 47,40 40,52 33,40 20,46 27,33 14,33 27,27 20,14 33,20'/%3E%3Cpolygon points='40,28 44,34 50,32 47,37 53,40 47,43 50,48 44,46 40,52 36,46 30,48 33,43 27,40 33,37 30,32 36,34'/%3E%3Cline x1='0' y1='0' x2='40' y2='8'/%3E%3Cline x1='80' y1='0' x2='40' y2='8'/%3E%3Cline x1='0' y1='80' x2='40' y2='72'/%3E%3Cline x1='80' y1='80' x2='40' y2='72'/%3E%3Cpolygon points='40,72 33,60 20,66 27,53 14,47 27,47 20,34 33,40 40,28 47,40 60,34 53,47 66,47 53,53 60,66 47,60' transform='translate(0,0)'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 80px 80px;
}

/* ── Mughal Floral Jaal ── */
.jbz-pattern-mughal {
  position: relative;
}
.jbz-pattern-mughal::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23F5A623' stroke-width='0.5'%3E%3Cpath d='M50,10 C55,20 65,25 60,35 C55,45 45,45 40,35 C35,25 45,20 50,10Z'/%3E%3Cpath d='M50,10 Q55,5 60,10 Q65,15 60,20'/%3E%3Cpath d='M50,10 Q45,5 40,10 Q35,15 40,20'/%3E%3Cpath d='M30,50 C35,40 45,38 45,48 C45,58 35,60 30,50Z'/%3E%3Cpath d='M70,50 C65,40 55,38 55,48 C55,58 65,60 70,50Z'/%3E%3Cpath d='M50,90 C55,80 65,75 60,65 C55,55 45,55 40,65 C35,75 45,80 50,90Z'/%3E%3Ccircle cx='50' cy='50' r='4'/%3E%3Ccircle cx='50' cy='50' r='8'/%3E%3Cpath d='M20,20 Q35,30 50,20 Q65,10 80,20'/%3E%3Cpath d='M20,80 Q35,70 50,80 Q65,90 80,80'/%3E%3Cpath d='M0,50 Q10,35 20,50 Q10,65 0,50'/%3E%3Cpath d='M100,50 Q90,35 80,50 Q90,65 100,50'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 100px 100px;
}

/* ── Arabesque Arch ── */
.jbz-pattern-arabesque {
  position: relative;
}
.jbz-pattern-arabesque::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 300px;
  height: 200px;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 200'%3E%3Cg fill='none' stroke='%23F5A623' stroke-width='1'%3E%3Cpath d='M20,200 L20,80 Q20,20 150,10 Q280,20 280,80 L280,200'/%3E%3Cpath d='M30,200 L30,85 Q30,30 150,20 Q270,30 270,85 L270,200'/%3E%3Cpath d='M150,10 L150,20'/%3E%3Ccircle cx='150' cy='50' r='3'/%3E%3Cpath d='M130,40 Q150,30 170,40'/%3E%3Cpath d='M120,55 Q150,40 180,55'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
}

/* ── Mehndi / Henna Paisley ── */
.jbz-pattern-mehndi {
  position: relative;
}
.jbz-pattern-mehndi::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23F5A623' stroke-width='0.5'%3E%3Cpath d='M60,20 Q80,30 75,55 Q70,80 50,85 Q30,80 35,55 Q40,30 60,20Z'/%3E%3Cpath d='M60,30 Q72,38 68,55 Q64,72 52,75 Q40,72 44,55 Q48,38 60,30Z'/%3E%3Cpath d='M60,40 Q68,45 65,55 Q62,65 55,67 Q48,65 51,55 Q54,45 60,40Z'/%3E%3Ccircle cx='58' cy='55' r='3'/%3E%3Cpath d='M60,20 Q65,12 70,18'/%3E%3Cpath d='M60,20 Q55,12 50,18'/%3E%3Cpath d='M60,15 Q60,8 65,10'/%3E%3Cpath d='M10,100 Q30,90 40,100 Q30,110 10,100Z'/%3E%3Cpath d='M80,100 Q100,90 110,100 Q100,110 80,100Z'/%3E%3Ccircle cx='25' cy='100' r='2'/%3E%3Ccircle cx='95' cy='100' r='2'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 120px 120px;
}

/* ── Gold Foil Shimmer ── */
.jbz-pattern-gold-foil {
  position: relative;
}
.jbz-pattern-gold-foil::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    135deg,
    rgba(245, 166, 35, 0.03) 0%,
    rgba(245, 166, 35, 0.08) 25%,
    rgba(255, 215, 0, 0.05) 50%,
    rgba(245, 166, 35, 0.08) 75%,
    rgba(245, 166, 35, 0.03) 100%
  );
  background-size: 200% 200%;
  animation: jbz-gold-shimmer 8s ease infinite;
}

@keyframes jbz-gold-shimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* ── Bismillah (decorative, toggleable) ── */
.jbz-pattern-bismillah {
  text-align: center;
  font-family: var(--jbz-font-heading);
  font-style: italic;
  color: var(--jbz-secondary);
  opacity: 0.6;
}

/* ── Pattern Intensity Modifiers ── */
.jbz-pattern--subtle::before { opacity: 0.05; }
.jbz-pattern--medium::before { opacity: 0.10; }
.jbz-pattern--bold::before { opacity: 0.15; }

/* ── Occasion Theme Overrides ── */
.jbz-occasion-mehndi {
  --jbz-occasion-primary: var(--jbz-mehndi-green);
  --jbz-occasion-secondary: var(--jbz-mehndi-yellow);
}
.jbz-occasion-mehndi .jbz-btn--primary {
  background: var(--jbz-mehndi-green);
  border-color: var(--jbz-mehndi-green);
}

.jbz-occasion-baraat {
  --jbz-occasion-primary: var(--jbz-baraat-red);
  --jbz-occasion-secondary: var(--jbz-baraat-gold);
}

.jbz-occasion-walima {
  --jbz-occasion-primary: var(--jbz-walima-pink);
  --jbz-occasion-secondary: var(--jbz-walima-blue);
  background: linear-gradient(135deg, var(--jbz-walima-ivory), var(--jbz-white));
}

.jbz-occasion-nikkah {
  --jbz-occasion-primary: var(--jbz-nikkah-silver);
  --jbz-occasion-secondary: var(--jbz-nikkah-white);
  background: linear-gradient(135deg, var(--jbz-white), #f0f0f5);
}

@media (prefers-reduced-motion: reduce) {
  .jbz-pattern-gold-foil::before {
    animation: none;
  }
}
