/* =========================================================
   AMORA – SIGNATURE TITLE (CLEAR SWEEP)
   - Works in frontend + UX Builder iframe
   ========================================================= */

.amora-title{
  position: relative;
  width: 100%;
  text-align: center;
  margin: var(--amora-title-space,110px) 0;
  font-size: 16px;
  opacity: 1;
  visibility: visible;
}

/* ALIGN */
.amora-title-align-left{ text-align:left; }
.amora-title-align-center{ text-align:center; }
.amora-title-align-right{ text-align:right; }

/* INVOCATION / SUBTITLE (optional) */
.amora-title__invocation{
  margin: 0 0 10px 0;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(60,31,26,.60);
}

.amora-title__subtitle{
  margin: 10px 0 0 0;
  font-size: 14px;
  letter-spacing: .08em;
  color: rgba(60,31,26,.68);
}

/* TITLE */
.amora-title__main{
  display:block;
  margin: 0 0 22px 0;
  font-family: "Playfair Display","Cormorant Garamond","Times New Roman",serif;
  font-size: var(--amora-title-size,38px);
  line-height: 1.12;
  letter-spacing: .06em;
  text-transform: uppercase;
  color:#3C1F1A;
}

.amora-title__main.is-bold{ font-weight:700; }
.amora-title__main.is-italic{ font-style:italic; }

/* ===== LINE – CLEAR SWEEP ===== */
.amora-title__linewrap{
      width: 100%; 
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top: 10px;
}
.amora-title-align-left  .amora-title__linewrap{ justify-content:flex-start; }
.amora-title-align-center .amora-title__linewrap{ justify-content:center; }
.amora-title-align-right .amora-title__linewrap{ justify-content:flex-end; }

/* (tuỳ chọn) nếu bạn muốn line sát “mép chữ” hơn khi align left/right */
.amora-title-align-left  .amora-title__linewrap{ padding-left: 0; }
.amora-title-align-right .amora-title__linewrap{ padding-right: 0; }

.amora-title__line{
  position:relative;
  display:block;
  width: var(--amora-line-width, 280px);
  height: 6px;                 /* dày để nhìn rõ */
  border-radius: 999px;
  overflow:hidden;

  background: linear-gradient(
    90deg,
    rgba(241,191,80,.10),
    rgba(241,191,80,.55),
    rgba(241,191,80,.10)
  );

  box-shadow:
    0 0 0 1px rgba(241,191,80,.16) inset,
    0 8px 22px rgba(241,191,80,.18),
    0 0 26px rgba(241,191,80,.28);

  transform: translateZ(0);
}

/* lõi sáng để “sang” */
.amora-title__line::before{
  content:"";
  position:absolute;
  inset: 1px 10px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,.05),
    rgba(255,255,255,.18),
    rgba(255,255,255,.05)
  );
  pointer-events:none;
}

/* tia sáng chạy + snags (vệt trắng) nhẹ */
.amora-title__line::after{
  content:"";
  position:absolute;
  inset: 0;
  border-radius: 999px;
  pointer-events:none;

  /* 2 lớp nền:
     1) sweep highlight (một vệt sáng to)
     2) snags (nhiều vệt trắng mảnh)
  */
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.55) 45%,
      rgba(241,191,80,.85) 55%,
      rgba(255,255,255,.35) 70%,
      rgba(255,255,255,0) 100%
    ),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,0) 0px,
      rgba(255,255,255,0) 18px,
      rgba(255,255,255,.35) 19px,
      rgba(255,255,255,0) 21px
    );

  /* size/position từng lớp */
  background-size:
    140px 100%,     /* sweep */
    220px 100%;     /* snags */
  background-position:
    -160px 0,       /* sweep start off-left */
    -220px 0;       /* snags start off-left */

  mix-blend-mode: screen;
  opacity: .9;
  filter: blur(.35px);

  animation:
    amoraSweep2 var(--amora-line-speed, 2.8s) cubic-bezier(.2,.85,.2,1) infinite;
}

@keyframes amoraSweep2{
  0%{
    background-position: -160px 0, -220px 0;
    opacity: 0;
  }
  10%{ opacity: .9; }
  70%{ opacity: .9; }
  100%{
    background-position: calc(100% + 160px) 0, calc(100% + 220px) 0;
    opacity: 0;
  }
}

/* UX Builder iframe force (nếu Flatsome giấu/opacity) */
.ux-builder-iframe .amora-title,
.ux-builder-iframe .amora-title__linewrap,
.ux-builder-iframe .amora-title__line{
  opacity:1 !important;
  visibility:visible !important;
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .amora-title__line::after{ animation:none; opacity: 0; }
}