:root {
  --chance-color: #02881a;
  --lotto-color: #e31d1a;
  --seven-color: #eb1e75;
  --one-color: #ff6b00;
  --prety-title-color: #ab1815;
  --main-background-color: #f7f7f7;
  --main-blue: #244ec4;
  --button-grey-background: #646f8b;
  --main-blue-2: #3e528a;
}

.pulsing-text {
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 0.5;
    transform: scale(0.9);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.pulsing-text-095 {
  animation: pulse2 3s ease-in-out infinite;
}

.pulsing-text-097 {
  animation: pulse3 3s ease-in-out infinite;
}

@keyframes pulse3 {
  0% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(0.97);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes pulse2 {
  0% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 0.5;
    transform: scale(0.95);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.position-absolute {
  position: absolute !important;
}

.small-button-border-radius {
  border-radius: 7rem !important;
}

.small-content,
.question-block_small {
  box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.75) !important;
  padding: 3rem !important;
  margin-top: 2.2rem !important;
}

.menu-info-note {
  font-size: 3rem;
  color: var(--button-grey-background);
  float: left;
  margin-left: 20rem;
}

.small-content.keyboard {
  margin-top: 72.2rem !important;
}

.button-wrapper-100percent {
  width: 100% !important;
}

.parent-menu-item,
.wellcome_text {
  color: var(--lotto-prety-title-color) !important;
}

.mobile-menu {
  background-color: white !important;
}

.mobile-menu__list::before {
  background-color: var(--lotto-color) !important;
}

.admin-menu-wrapper .mobile-menu__list,
.agent-menu-wrapper .mobile-menu__list,
.user-menu-sub-items-wrapper .mobile-menu__list {
  display: flex !important;
  align-items: center;
}

.user-menu-sub-items-wrapper>.mobile-menu__list {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.admin-menu-wrapper .mobile-menu__list::before,
.agent-menu-wrapper .mobile-menu__list::before,
.user-menu-sub-items-wrapper .mobile-menu__list::before {
  display: none !important;
}

.marker {
  font-size: 3.5rem;
  color: var(--lotto-color);
  margin-left: 1.25rem;
  height: 3.5rem;
  width: 3.5rem;
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease 0s;
}

.marker.fa-circle {
  font-size: 1rem;
}

.marker._image {
  background-color: var(--lotto-color);
  border-radius: 50%;
  /* margin-top: 2rem;
  margin-bottom: 2rem; */
  height: 5rem;
  width: 5rem;
}

.marker img {
  max-width: 70%;
  max-height: 70%;
  display: block;
}

.mobile-menu__list {
  /* border-radius: 7rem !important; */
  /* box-shadow: none !important; */
}

.parent-menu-item {
  box-shadow: none !important;
  font-size: 5rem !important;
  background-color: var(--main-background-color);
}

/* header */

.i-header {
  position: fixed;
  width: 100%;
  max-width: 100rem;
  background: white;
  right: 0;
  left: 0;
  margin: auto;
  box-shadow: 0 0 3.3333rem rgba(0, 0, 0, 0.2);
  z-index: 2147483647;
}

.i-header-top-wrap {
  display: flex;
  justify-content: space-between;
  background: #f1f1f1;
  padding: 1.1733rem 4.5066rem;
}

.i-header-top-wrap span {
  font-size: 2.8266rem;
}

.i-header-top-wrap .price {
  font-size: 2.8266rem;
}

.i-header-wrap {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 17.8266rem;
  padding: 0 4.5066rem;
  gap: 4.5066rem;
}

.i-header-buttons-wrap {
  display: flex;
  justify-content: space-between;
  gap: 4.5066rem;
  align-items: center;
}

.i-header-button {
  cursor: pointer;
  position: relative;
}

.header-cart-icon {
  margin-top: -1.2rem;
}

.header-lang-icon {
  margin-top: -1.1rem;
}

.cart-summary {
  width: 10rem;
  position: absolute;
  bottom: -2.1rem;
  left: -3rem;
  font-size: 2rem;
  color: #7a7a7a;
}

.header-language-indicator {
  width: 4rem;
  position: absolute;
  bottom: -2rem;
  right: 1rem;
  font-size: 2.3rem;
  color: #7a7a7a;
}

.i-header-button svg {
  width: 4.6666rem;
  height: auto;
}

.i-header-button.menu svg {
  width: 6.5066rem;
}

.i-header-button.back svg {
  width: 4rem;
}

.i-header-logo-wrap {
  position: absolute;
  width: 46.8266rem;
  top: 50%;
  right: 0.5333rem;
  left: 0;
  margin: auto;
  transform: translateY(-50%);
}

.i-header-logo-wrap svg {
  width: 100%;
  height: 100%;
}

/* header */

/* content */

.page-content {
  padding-top: 24.6666rem;
}

[class*="__container"] {
  width: 100%;
  max-width: 100rem;
  padding: 0 4.5066rem;
  margin: 0 auto;
}

[class*="__section"] {
  padding: 3.3333rem 0;
}

/* content */

/* buttons */

[class*="__button"] {
  display: flex;
  height: 11.1733rem;
  background: #244ec4;
  padding: 0 2.5066rem;
  color: white;
  font-size: 4.4rem;
  font-weight: 700;
  border-radius: 0.4444rem;
  align-items: center;
  gap: 3.3333rem;
  justify-content: center;
  border: unset;
}

[class*="__button"].chance {
  background: #0c890c;
}

[class*="__button"] .button-icon {
  display: flex;
}

[class*="__button"] .button-icon svg {
  width: 5.4933rem;
  height: auto;
}

[class*="__small-button"] {
  display: flex;
  height: 6.5066rem;
  background: #e31d1a;
  padding: 0 2rem 0 0;
  color: white;
  font-size: 2.6666rem;
  font-weight: 700;
  border-radius: 0.4444rem;
  align-items: center;
  gap: 1.68rem;
  justify-content: center;
  border: unset;
}

.menu-info-buttons__small-button {
  /* justify-content: right; */
  width: 33.33%;
  position: relative;
}

.banner-wrap img {
  border-radius: 4rem;
}

/* Base styles */
.sub-sub-loto-menu-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.shopping-cart-popup-wrapper .triple-item.triple-item_orange .cards-list__card {
  color: white !important;
  background: #ff6b00;
}

.shopping-cart-popup-wrapper .triple-item.triple-item_pink .triple-item__main-cell .cards-list__card {
  background: #9b0048;
  color: #f7f7f7;
}

.width-100 {
  width: 100% !important;
}

/* */
.mobile-menu-item-animate {
  opacity: 0;
  transform: translateY(10px);
  animation: fadeIn 0.2s ease-in forwards;
}

/* Dynamic delay using nth-child */
/*  .mobile-menu-item-animate:nth-child(n) {
    animation-delay: calc(0.6s * (var(--index, 1)));
  }
 */
/* Keyframes for fade-in effect */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.faq-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.faq-question-wrapper {
  display: flex;
  align-items: flex-start;
  margin: 10px 0;
  position: relative;
  padding-left: 30px;
  /* Adjust for bullet size */
}

.faq-question-wrapper::before {
  content: "";
  background-image: url('data:image/svg+xml,<svg _ngcontent-myn-c63="" xmlns="http://www.w3.org/2000/svg" width="39" height="27" viewBox="0 0 39 27" fill="none" class="ng-tns-c63-0"><path _ngcontent-myn-c63="" d="M12.8134 1.27761C11.4895 1.5629 9.47981 2.30784 9.38411 2.56143C9.30436 2.78333 9.46386 3.00522 11.6809 5.79477C15.7163 10.8667 17.3114 12.9588 17.3114 13.1649C17.3114 13.2758 17.0402 13.6879 16.7212 14.0683C15.5887 15.368 9.17676 23.3562 9.17676 23.4513C9.17676 23.6257 11.0908 24.4657 12.1275 24.7352C13.6588 25.1473 16.2427 25.2265 17.6942 24.9095C19.8315 24.434 21.3787 23.483 22.8939 21.692L23.4681 21.0422L24.0902 21.7871C26.9293 25.1631 31.8899 26.0665 36.962 24.1487C37.6479 23.8951 38.238 23.6098 38.2859 23.5464C38.3337 23.4672 36.4676 21.0422 34.1388 18.1575C29.3059 12.1663 29.6568 13.0222 31.2199 11.1678C32.2089 9.99494 34.2345 7.53824 36.5952 4.62189C38.5092 2.24444 38.5411 2.46633 36.1645 1.67385C34.1707 1.00816 31.4592 0.833815 29.5292 1.26176C27.3759 1.7531 25.1429 3.10032 24.0743 4.57434L23.7552 5.01814L22.6228 3.92451C20.5971 1.97499 18.1567 1.02401 15.2538 1.05571C14.4084 1.07156 13.3079 1.16666 12.8134 1.27761Z" fill="#02881A" class="ng-tns-c63-0"></path></svg>');
  background-size: 16px 16px;
  /* Adjust size of SVG */
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  /* Position bullet to the right */
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  /* Adjust size to match SVG */
  height: 16px;
}

.menu-page-centered-container [class*="__small-button"] {
  background: var(--main-blue-2);
}

.html-icon-right::before {
  color: #ffffff;
  /* Adjust color as needed */
  position: absolute;
  font-size: 4rem;
  right: 6rem;
  top: 2rem;
  z-index: 2;
}

.html-icon-ticket::before {
  content: "\1F4C4";
}

/* .user-menu-child-wrapper::before { */
.user-menu-child-wrapper>.parent-menu-item::before {
  color: #393939;
  /* Adjust color as needed */
  position: absolute;
  font-size: 4rem;
  left: 6rem;
  /* top: 2rem; */
  top: 0;
  z-index: 2;
  background: none;
}

/* .user-menu-child-wrapper.active::before { */
.user-menu-child-wrapper.active>.parent-menu-item::before {
  content: "\00BB";
  /* Unicode for chevron character (») */
  transform: rotate(270deg);
}

/* .user-menu-child-wrapper:not(.active)::before { */
.user-menu-child-wrapper:not(.active)>.parent-menu-item::before {
  content: "\00BB";
  /* Unicode for left-pointing chevron (closed chevron) */
}

.user-menu-child-wrapper {
  position: relative;
}

[class*="__small-button"] .button-icon svg {
  width: 3.4933rem;
  height: auto;
}

.button-right-icon-absolute {
  position: absolute;
  right: 1.8rem;
  top: 1.1rem;
  z-index: 2;
  height: 4rem;
  font-size: 4.8rem;
  line-height: 4rem;
}

/* buttons */

/* homepage */

.homepage-banner__section {
  margin: 0 -4.5066rem;
}

.homepage-buttons__section {
  display: flex;
  gap: 3.3333rem;
}

.homepage-buttons__small-button {
  width: 33.33%;
  position: relative;
}

.homepage-alert__section {
  text-align: center;
  font-size: 3.1733rem;
}

/* homepage */

/* lottery-button */

.lottery-buttons__section {
  display: flex;
  gap: 4.5066rem;
  row-gap: 5.4933rem;
  flex-wrap: wrap;
}

.lottery-button {
  position: relative;
  display: flex;
  width: calc(50% - 2.3466rem);
  height: 21.3333rem;
  background: white;
  box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.75);
  border-radius: 0.4444rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.1733rem;
  padding: 0;
  padding-right: 2.6666rem;
  border: unset;
}

.lottery-button-icon {
  position: absolute;
  top: 2.5066rem;
  right: 2.5066rem;
}

.lottery-button-icon svg {
  width: 8.6666rem;
  height: auto;
}

.lottery-button-sub-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: -0.75rem;
}

.lottery-button.chance .lottery-button-sub-title {
  color: var(--chance-color);
}

.lottery-button.lotto .lottery-button-sub-title {
  color: var(--lotto-color);
}

.lottery-button-name {
  font-size: 8.16rem;
  line-height: 8.1616rem;
  font-weight: 700;
}

.lottery-button.chance .lottery-button-name {
  color: var(--chance-color);
  font-size: 8.2666rem;
}

.lottery-button.lotto .lottery-button-name {
  color: var(--lotto-color);
  font-size: 9.6rem;
}

.lottery-button.seven .lottery-button-name {
  color: var(--seven-color);
  font-size: 8rem;
}

.lottery-button.onetwo .lottery-button-name {
  color: var(--one-color);
  font-size: 8.6666rem;
}

.lottery-button.chance svg path {
  fill: var(--chance-color);
}

.lottery-button.lotto svg path {
  fill: var(--lotto-color);
}

.lottery-button.seven svg path {
  fill: var(--seven-color);
}

.lottery-button.onetwo svg path {
  fill: var(--one-color);
}

.lottery-button-timer {
  font-size: 3.1733rem;
  font-weight: 700;
}

/* lottery-button */

/* contact buttons */

.contact-buttons__section {
  display: flex;
  gap: 4.5066rem;
}

.contact__button {
  width: 50%;
  font-size: 4rem;
}

.contact__button.smaller {
  font-size: 3.2rem;
}

/* contact buttons */

/* @media (max-width: 600px) {
    html, body {
        font-size: 2.667vw;
    }
} */

/* homepage banner */

.homepage-banner {
  display: flex;
  background: white;
  aspect-ratio: 600 / 228;
  align-items: center;
  justify-content: space-evenly;
}

.homepage-banner-content {
  text-align: center;
  color: #244ec4;
  font-size: 4.5rem;
  line-height: 0.95;
}

.homepage-banner-content .red {
  color: #e31d1a;
}

.homepage-banner-content .number {
  font-size: 14rem;
  font-weight: 900;
}

.homepage-banner-image {
  width: 49rem;
}

.homepage-banner-image img {
  width: 100%;
  height: auto;
}

/* homepage banner */

.main__top-line[data-aos="fade-down"] {
  transform: translate3d(0, -50px, 0);
}

/* Content button */
.small-content__button {
  height: auto;
  background: #02881a;
  padding: 1.25rem 2.5066rem;
  font-size: 3rem;
  font-weight: 700;
  border-radius: 0.5rem;
  align-items: center;
  gap: 3.3333rem;
  justify-content: center;
}

.small-content__blue .small-content__button {
  background: #244ec4;
}

.small-content__title-text {
  font-size: 3.5rem;
}

.top-buttons-lotto--ai {
  padding-top: 0;
  margin-bottom: 2.3rem;
}

.top-buttons-lotto:not(.top-buttons-lotto--green) .small-content__title-text {
  color: #244ec4;
}

.main_pink-mod .small-content__title-text,
.playing-cards-popup-wrapper--purple .top-buttons-lotto:not(.top-buttons-lotto--green) .small-content__title-text {
  color: #9b0048;
}

.playing-cards-popup-wrapper--purple .small-content-statistics-button {
  background: #9b0048;
}

.main_orange-mod .small-content__title-text,
.onetwo-popup-shadow .top-buttons-lotto:not(.top-buttons-lotto--green) .small-content__title-text {
  color: #ff6b00;
}

.onetwo-popup-shadow .small-content-statistics-button {
  background: #ff6b00;
}

app-ai-controls {
  width: 100%;
}

.dots-loader-container {
  height: 4rem;
  margin-bottom: 2rem;
}

/* Dots loader */
/* Анимация: открываем клип справа->налево за N шагов */
@keyframes dots-reveal {
  to {
    clip-path: inset(0 0 0 0);
  }
}

.dots-loader {
  /* ПАРАМЕТРЫ */
  --n: 6;
  /* количество точек */
  --dot: 0.5rem;
  /* радиус точки: меньше -> больше расстояние между точками */
  --color: #02881a;
  /* цвет точек */
  --dur: 3s;
  /* длительность анимации */

  width: 10rem;
  aspect-ratio: var(--n);
  margin: auto;

  /* Кладём ровно N «плиток» по ширине без обрезаний и половинок */
  background: radial-gradient(circle var(--dot), var(--color) 99%, #0000 101%) 0 / calc(100% / var(--n)) 100% round;

  /* старт: всё скрыто справа; далее шагами открываем целые плитки */
  clip-path: inset(0 100% 0 0);
  animation: dots-reveal var(--dur) steps(var(--n)) infinite;
}

.small-content__blue .dots-loader {
  --color: #244ec4;
}

.aos-anim-none.aos-animate {
  transform: none !important;
}

/* custom select */

.custom-selects-row {
  display: flex;
  gap: 3rem;
}

.custom-select-wrap {
  position: relative;
  margin-right: 1.5rem;
}

.custom-select {
  position: relative;
  line-height: 1.2;
  font-size: 3.6rem;
  color: #02881a;
  min-width: 17rem;
  padding: 0 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6rem;
  background-color: #fff;
  border: 0.25rem solid #02881a;
  border-radius: 0.4444rem;
  text-align: center;

  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' id='down-arrow'><path d='M22.782 13.8 17 19.582 11.218 13.8a1 1 0 0 0-1.414 1.414L16.29 21.7a.992.992 0 0 0 .71.292.997.997 0 0 0 .71-.292l6.486-6.486a1 1 0 0 0-1.414-1.414z'></path></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: left 1.5rem top 50% !important;
  background-size: 3rem auto !important;
  cursor: pointer;
}

.custom-select-options {
  position: absolute;
  width: 100%;
  top: 100%;
  overflow: hidden;
  border-radius: 0 0 0.9259rem 0.9259rem;
  z-index: 10;
}

.custom-select-option {
  background: white;
  padding: 1rem;
  text-align: center;
  color: #02881a;
  font-size: 3rem;
  border-bottom: 0.25rem solid #eee;
  cursor: pointer;
}

.custom-select-wrap--ai {
  margin-top: 5rem;
  max-width: 18rem;
  margin-right: 0;
}

.custom-select-wrap--ai .custom-select-options {
  max-height: 30rem !important;
  overflow: auto !important;
}

.small-content__blue .custom-select {
  color: #244ec4;
  border: 0.25rem solid #244ec4;
}

.small-content__blue .custom-select-option {
  color: #244ec4;
}

.ai-popup {
  z-index: 1000000000000000000001 !important;
}

/* custom select */

.question-block--padding {
  padding-left: 16rem !important;
}

/* --- CAPSULE CONTAINER FOR ALL GUESSES --- */
.guesses-container-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #cbd5e1 !important; /* Premium light grey capsule background */
  border: 1.5px solid #94a3b8 !important; /* Border around capsule */
  border-radius: 12px !important; /* Perfectly rounded capsule corners */
  padding: 6px 18px !important;
  font-family: 'Noto Sans Hebrew', sans-serif !important;
  font-weight: 800 !important;
  font-size: 3.2rem !important; /* Matching other text size */
  color: #0f172a !important;
  box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.08) !important;
  line-height: 1 !important;
  direction: ltr !important; /* Numbers and cards read LTR */
}

/* Specific styling for Chance capsule to look elegant */
.guesses-container-pill.chance-pill {
  background: #e2e8f0 !important; /* Slightly lighter shade for Chance cards to pop */
  padding: 8px 20px !important;
}

.guess-number-token {
  display: inline-block !important;
  padding: 0 0.6rem !important;
}

/* Beautiful vertical separator between tokens */
.guess-separator {
  color: #64748b !important; /* Mid-grey for subtle elegant division */
  font-size: 2.8rem !important;
  font-weight: 300 !important;
  margin: 0 0.8rem !important;
  user-select: none !important;
  opacity: 0.7;
}

/* Distinct styling for Lotto strong separation (|) */
.guess-separator.strong-separator {
  color: #1e40af !important; /* Deep Blue for Lotto strong number separator */
  font-weight: 900 !important;
  font-size: 3.2rem !important;
  opacity: 1;
  margin: 0 1.2rem !important;
}

/* --- CHANCE DYNAMIC CARD STYLES INSIDE CAPSULE --- */
.chance-card-plain {
  font-weight: bold !important;
  font-size: 3.2rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: transparent !important;
  border: none !important;
  box-sizing: border-box !important;
  padding: 0 0.4rem !important;
}

.chance-suit-red-plain {
  color: #e63946 !important;
}

.chance-suit-dark-plain {
  color: #1d3557 !important;
}

.chance-suit-symbol-plain {
  font-size: 3.6rem !important;
  line-height: 1 !important;
  display: inline-block !important;
}

/* --- PREMIUM SOURCE SELECTOR OVERLAY --- */
.source-selector-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(15, 23, 42, 0.6) !important; /* Elegant dark backdrop */
  backdrop-filter: blur(8px) !important; /* Premium glassmorphic blur */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2147483647 !important;
  box-sizing: border-box !important;
  padding: 2rem !important;
}

.source-selector-modal {
  background: #ffffff !important;
  border-radius: 24px !important;
  padding: 3.5rem !important;
  width: 100% !important;
  max-width: 50rem !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3) !important;
  text-align: center !important;
  direction: rtl !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.source-title {
  font-size: 3.4rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-top: 0 !important;
  margin-bottom: 1.2rem !important;
}

.source-subtitle {
  font-size: 2.4rem !important;
  color: #475569 !important;
  margin-top: 0 !important;
  margin-bottom: 3.5rem !important;
  line-height: 1.4 !important;
}

.source-buttons-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
  margin-bottom: 3rem !important;
}

.source-btn {
  border: none !important;
  border-radius: 16px !important;
  padding: 2.2rem 3rem !important;
  font-size: 2.8rem !important;
  font-weight: bold !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1.8rem !important;
  transition: all 0.2s ease-in-out !important;
  color: #ffffff !important;
  width: 100% !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1) !important;
}

.source-btn i {
  font-size: 3.4rem !important;
  color: #ffffff !important;
}

.source-btn.camera-source {
  background: linear-gradient(135deg, #1e40af, #2563eb) !important;
}

.source-btn.camera-source:hover {
  background: linear-gradient(135deg, #1d4ed8, #3b82f6) !important;
  transform: translateY(-2px) !important;
}

.source-btn.gallery-source {
  background: linear-gradient(135deg, #0f766e, #0d9488) !important;
}

.source-btn.gallery-source:hover {
  background: linear-gradient(135deg, #0d9488, #14b8a6) !important;
  transform: translateY(-2px) !important;
}

.source-cancel-btn {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 14px !important;
  padding: 1.6rem 4rem !important;
  font-size: 2.6rem !important;
  font-weight: bold !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  width: 100% !important;
}

.source-cancel-btn:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

/* Modal entry animation */
.animate-fade-in {
  animation: modalFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: scale(0.92) translateY(20px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}



