/* ============================================================
   ASILA 2.0 campaign helpers
   Only effects Elementor free cannot do on its own live here.
   Colours, spacing and typography stay editable inside Elementor.
   ============================================================ */

:root{
  --asila-bg:#0c0907;
  --asila-bg-2:#130e0a;
  --asila-card:#1a130d;
  --asila-card-2:#221810;
  --asila-line:rgba(214,178,98,.18);
  --asila-line-2:rgba(214,178,98,.42);
  --asila-gold:#d6b262;
  --asila-gold-hi:#f6dd95;
  --asila-gold-lo:#9a7431;
  --asila-text:#f6eddd;
  --asila-muted:#bfb095;
  --asila-crimson:#c8374f;
  --asila-crimson-lo:#7d1a2b;
  --asila-ink:#2b1b10;
}

/* ---------- Gold gradient text ---------- */
.asila-gold,
.asila-gold .elementor-heading-title,
.asila-gold .elementor-widget-container > p,
.asila-gold-in{
  background:linear-gradient(100deg,var(--asila-gold-lo) 0%,var(--asila-gold-hi) 35%,var(--asila-gold) 60%,var(--asila-gold-hi) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
.asila-ink-gold .elementor-heading-title,
.asila-ink-gold-in{
  background:linear-gradient(100deg,#7d1a2b 0%,#a13a3a 45%,#9a7431 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}

/* ---------- Marquee bar ---------- */
.asila-marquee{overflow:hidden;white-space:nowrap}
.asila-marquee .elementor-widget-container{overflow:hidden}
.asila-marquee__track{display:inline-flex;width:max-content;animation:asila-marquee 30s linear infinite}
.asila-marquee__track > span{padding-inline:22px}
@keyframes asila-marquee{to{transform:translateX(-50%)}}

/* ---------- Buttons: gold shine sweep ---------- */
.asila-shine .elementor-button{position:relative;overflow:hidden;isolation:isolate}
.asila-shine .elementor-button::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);
  transform:translateX(-120%);animation:asila-shine 3.6s ease-in-out infinite;
}
@keyframes asila-shine{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
.asila-lift .elementor-button{transition:transform .2s ease,box-shadow .2s ease}
.asila-lift .elementor-button:hover{transform:translateY(-2px)}

/* ---------- Pulsing urgency badge / dot ---------- */
.asila-pulse{animation:asila-pulse 2s infinite}
@keyframes asila-pulse{
  0%{box-shadow:0 0 0 0 rgba(200,55,79,.55)}
  70%{box-shadow:0 0 0 14px rgba(200,55,79,0)}
  100%{box-shadow:0 0 0 0 rgba(200,55,79,0)}
}

/* ---------- Floating / sparkle decoration ---------- */
.asila-float{animation:asila-bob 5s ease-in-out infinite}
.asila-float-slow{animation:asila-bob 6.5s ease-in-out infinite}
@keyframes asila-bob{50%{transform:translateY(-9px)}}

/* ---------- Countdown ---------- */
.asila-cd-num{font-variant-numeric:tabular-nums}
.asila-cd-text{font-variant-numeric:tabular-nums}

/* ---------- Scratch card ---------- */
.asila-scratch{position:relative;overflow:hidden}
.asila-scratch canvas{
  position:absolute;inset:0;width:100%;height:100%;
  touch-action:none;cursor:grab;transition:opacity .6s ease;z-index:5;
}
.asila-scratch.is-done canvas{opacity:0;pointer-events:none}
.asila-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:6}
.asila-confetti i{position:absolute;top:40%;left:50%;width:8px;height:12px;border-radius:2px;animation:asila-burst 1.4s cubic-bezier(.15,.6,.3,1) forwards}
@keyframes asila-burst{to{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}

/* ---------- Ticket notches ---------- */
.asila-ticket{position:relative}
.asila-ticket::before,.asila-ticket::after{
  content:"";position:absolute;top:50%;width:26px;height:26px;border-radius:50%;
  background:#1c140d;transform:translateY(-50%);z-index:2;
}
.asila-ticket::before{left:-14px;border-right:1px solid var(--asila-line-2)}
.asila-ticket::after{right:-14px;border-left:1px solid var(--asila-line-2)}

/* ---------- Golden deer glow ---------- */
.asila-deer{position:relative;isolation:isolate}
.asila-deer::before{
  content:"";position:absolute;inset:-28%;z-index:-1;
  background:repeating-conic-gradient(from 0deg,rgba(246,221,149,.16) 0deg 5deg,transparent 5deg 18deg);
  -webkit-mask:radial-gradient(circle,#000 18%,transparent 62%);
  mask:radial-gradient(circle,#000 18%,transparent 62%);
  animation:asila-spin 40s linear infinite;
}
.asila-deer::after{
  content:"";position:absolute;inset:6%;z-index:-1;border-radius:50%;
  border:1px dashed rgba(214,178,98,.28);
  box-shadow:0 0 80px rgba(214,178,98,.28),inset 0 0 60px rgba(214,178,98,.12);
  animation:asila-spin 60s linear infinite reverse;
}
.asila-deer img{filter:drop-shadow(0 0 24px rgba(246,221,149,.45))}
@keyframes asila-spin{to{transform:rotate(360deg)}}

/* ---------- Gift tag ---------- */
.asila-tag{position:relative;transform:rotate(-2.5deg)}
.asila-tag::before{
  content:"";position:absolute;top:16px;left:50%;width:14px;height:14px;margin-left:-7px;
  border-radius:50%;background:#f6eedf;border:2px solid rgba(154,116,49,.6);z-index:2;
}
.asila-tag::after{
  content:"";position:absolute;top:-38px;left:50%;width:2px;height:62px;
  background:linear-gradient(#c8374f,#9a2438);transform:rotate(10deg);transform-origin:bottom;
}

/* ---------- Letter paper ---------- */
.asila-letter{
  background-image:repeating-linear-gradient(180deg,transparent 0 35px,rgba(154,116,49,.09) 35px 36px);
  background-position:0 14px;
}
.asila-letter p{line-height:36px}

/* ---------- Sticky header ---------- */
.asila-sticky{position:sticky;top:0;z-index:90;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

/* ---------- Sticky mobile order bar ---------- */
.asila-mbar{
  position:fixed;left:0;right:0;bottom:0;z-index:95;
  transform:translateY(115%);transition:transform .35s ease;
  padding-bottom:calc(10px + env(safe-area-inset-bottom))!important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.asila-mbar.is-on{transform:none}
@media (min-width:1025px){.asila-mbar{display:none!important}}
body.asila-has-mbar{padding-bottom:0}

/* ---------- Tabs (gift picker) ---------- */
.asila-tabs .elementor-tabs-wrapper{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;border:0}
.asila-tabs .elementor-tab-title{
  border:1px solid rgba(122,84,40,.25)!important;border-radius:999px;background:#fffaf1;
  padding:10px 20px!important;transition:background .2s ease,color .2s ease;
}
.asila-tabs .elementor-tab-title.elementor-active{background:#2b1b10!important;color:#f6dd95!important;border-color:#2b1b10!important}
.asila-tabs .elementor-tab-content{border:0!important;padding:26px 0 0!important}
.asila-tabs .elementor-tab-mobile-title{display:none!important}

/* ---------- FAQ accordion ---------- */
.asila-faq .elementor-accordion-item{
  border:1px solid var(--asila-line)!important;border-radius:16px;margin-bottom:10px;
  background:var(--asila-card);overflow:hidden;
}
.asila-faq .elementor-tab-title{border:0!important;padding:17px 20px!important}
.asila-faq .elementor-tab-content{border:0!important;padding:0 20px 18px!important}

/* ---------- Small polish ---------- */
.asila-strike{text-decoration:line-through}
.asila-shadow{box-shadow:0 30px 60px -35px rgba(0,0,0,.85)}
.asila-glow-gold{box-shadow:0 30px 70px -40px rgba(214,178,98,.55)}
.asila-img-shadow img{filter:drop-shadow(0 30px 40px rgba(0,0,0,.55))}

@media (prefers-reduced-motion:reduce){
  .asila-marquee__track,.asila-float,.asila-float-slow,.asila-pulse,
  .asila-shine .elementor-button::after,.asila-deer::before,.asila-deer::after{animation:none!important}
}
