/* Kamali Studio – Wedding Packages Elementor Widget
   Gold / Burgundy / Black editorial style
   All rules are scoped under .kwp-wrap so they never leak into the theme. */

.kwp-wrap{
  --kwp-black:#0A0908;
  --kwp-panel:#141110;
  --kwp-gold:#D4AF37;
  --kwp-gold-light:#F2DE9C;
  --kwp-gold-soft:#B99653;
  --kwp-ivory:#F3EAD8;
  --kwp-ivory-dim:#ffffff;

  background-color:var(--kwp-black);
  color:var(--kwp-ivory);
  padding:70px 0 90px;
}

.kwp-wrap *{ box-sizing:border-box; }

.kwp-page{ max-width:1180px; margin:0 auto; padding:0 28px; }

/* ---------- HEADER ---------- */
.kwp-header{ text-align:center; margin-bottom:56px; }

.kwp-logo-ring{
  width:88px; height:88px;
  margin:0 auto 20px;
  border:1px solid var(--kwp-gold-soft);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle, rgba(212,175,55,0.09), transparent 70%);
  overflow:hidden;
}
.kwp-logo-ring img{ width:60%; height:auto; display:block; }

.kwp-eyebrow{
  font-size:12px;
  letter-spacing:0.42em;
  color:var(--kwp-gold-soft);
  text-transform:uppercase;
  margin:0 0 14px;
}

.kwp-heading{
  font-weight:600;
  font-size:clamp(30px,4.4vw,50px);
  line-height:1.14;
  margin:0;
  background:linear-gradient(180deg, var(--kwp-gold-light) 0%, var(--kwp-gold) 55%, var(--kwp-gold-soft) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.kwp-divider{
  display:flex; align-items:center; justify-content:center; gap:10px;
  margin:22px auto 0; width:220px;
}
.kwp-divider .kwp-line{ flex:1; height:1px; background:linear-gradient(90deg, transparent, var(--kwp-gold-soft), transparent); }
.kwp-divider .kwp-dot{ width:5px; height:5px; border-radius:50%; background:var(--kwp-gold); }

/* ---------- CARD ---------- */
.kwp-card{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:340px;
  margin-bottom:34px;
  border:1px solid rgba(212,175,55,0.22);
  border-radius:6px;
  overflow:hidden;
  background:var(--kwp-panel);
}
.kwp-card.kwp-reverse .kwp-visual{ order:2; }
.kwp-card.kwp-reverse .kwp-content{ order:1; }

@media (max-width:820px){
  .kwp-card, .kwp-card.kwp-reverse{ grid-template-columns:1fr; min-height:auto !important; }
  .kwp-card.kwp-reverse .kwp-visual{ order:1; }
  .kwp-card.kwp-reverse .kwp-content{ order:2; }
}

.kwp-visual{
  position:relative;
  min-height:260px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.kwp-visual svg{ width:78%; height:78%; }

.kwp-content{
  padding:44px 46px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
}

.kwp-tier-label{
  font-size:11px;
  letter-spacing:0.3em;
  color:var(--kwp-gold-soft);
  text-transform:uppercase;
  margin:0 0 10px;
}

.kwp-pkg-name{
  font-weight:600;
  font-size:32px;
  color:var(--kwp-ivory);
  margin:0 0 14px;
  line-height:1.15;
}

.kwp-pkg-price{
  font-weight:700;
  font-size:30px;
  color:var(--kwp-gold);
  margin:0 0 20px;
}

.kwp-feat-list{ list-style:none; display:flex; flex-direction:column; gap:9px; margin:0; padding:0; }
.kwp-feat-list li{
  font-size:18px; font-weight:400; color:var(--kwp-ivory-dim);
  padding-left:20px; position:relative; line-height:1.4;
}
.kwp-feat-list li::before{
  content:"";
  position:absolute; left:0; top:12px;
  width:9px; height:1px;
  background:var(--kwp-gold);
}

/* background tints per card index */
.kwp-v1{ background:radial-gradient(ellipse at center, #3a1a10 0%, #140f0d 75%); }
.kwp-v2{ background:radial-gradient(ellipse at center, #17233a 0%, #0e1116 75%); }
.kwp-v3{ background:radial-gradient(ellipse at center, #2e1730 0%, #120e14 75%); }
.kwp-v4{ background:radial-gradient(ellipse at center, #3a1220 0%, #120c0e 75%); }
.kwp-v5{ background:radial-gradient(ellipse at center, #123028 0%, #0d1512 75%); }
.kwp-v6{ background:radial-gradient(ellipse at center, #3a2a0c 0%, #171008 75%); }

.kwp-visual svg .kwp-stroke{ stroke:var(--kwp-gold); fill:none; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
.kwp-visual svg .kwp-strokeLight{ stroke:var(--kwp-gold-light); fill:none; stroke-width:1; stroke-linecap:round; }
.kwp-visual svg .kwp-fillGold{ fill:var(--kwp-gold); }

/* ---------- ROYAL / HIGHLIGHTED CARD ---------- */
.kwp-card.kwp-royal{
  border:1.6px solid var(--kwp-gold);
  box-shadow:0 0 0 1px rgba(212,175,55,0.15), 0 30px 60px -30px rgba(212,175,55,0.35);
  margin-top:10px;
}
.kwp-card.kwp-royal .kwp-badge{
  position:absolute;    top: 60px;
    left: 148px; z-index:2;
  font-size:14px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--kwp-black);
  background:linear-gradient(180deg, var(--kwp-gold-light), var(--kwp-gold));
  padding:4px 16px; border-radius:20px;
}
.kwp-card.kwp-royal .kwp-pkg-name{ font-size:38px; margin-top:26px; }
.kwp-card.kwp-royal .kwp-pkg-price{ font-size:38px; }

@media (max-width:820px){
  .kwp-card.kwp-royal .kwp-badge{ left:40%; transform:translateX(-50%); top:16px; }
  .kwp-card.kwp-royal .kwp-pkg-name{ margin-top:34px; }
	.kwp-content{ padding:20px; }
}

/* ---------- FOOTER ---------- */
.kwp-footer{ text-align:center; margin-top:50px; }
.kwp-tagline{font-style:italic; font-weight:500;
  font-size:20px; color:var(--kwp-gold-light); margin:0 0 22px;
}
.kwp-footer-rule{
  width:200px; height:1px; margin:0 auto 22px;
  background:linear-gradient(90deg, transparent, var(--kwp-gold-soft), transparent);
}
.kwp-studio-name{ font-weight:700; font-size:20px;
  letter-spacing:0.1em; color:var(--kwp-ivory); text-transform:uppercase;
}
.kwp-studio-sub{
  font-size:11px; letter-spacing:0.18em; color:var(--kwp-ivory-dim);
  text-transform:uppercase; margin-top:6px;
}
 @keyframes draw {
      0% { stroke-dashoffset: 500; }
      50% { stroke-dashoffset: 0; }
      100% { stroke-dashoffset: 0; }
    }

    @keyframes fade-in {
      0%, 50% { opacity: 0; }
      60%, 100% { opacity: 1; }
    }

    .kwp-stroke {
      fill: none;
      stroke: #D4AF37;
      stroke-width: 4;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-dasharray: 500;
      stroke-dashoffset: 500;
      animation: draw 4s ease-in-out infinite;
    }
    .kwp-strokeLight {
      fill: none;
      stroke: #D4AF37;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-dasharray: 120;
      stroke-dashoffset: 120;
      animation: draw 4s ease-in-out infinite;
      animation-delay: 1s; /* Offset for a staggered effect within the loop */
    }
    .kwp-fillGold {
      fill: #D4AF37;
      stroke: none;
      opacity: 0;
      animation: fade-in 4s ease-in infinite;
    }
    .kwp-block-fill {
      fill: none;
      stroke: #D4AF37;
      stroke-width: 4;
      stroke-dasharray: 500;
      stroke-dashoffset: 500;
      animation: draw 4s ease-in-out infinite;
    }