* {
    font-family: "Quicksand", serif;
    transition: 0.5s ease;
}

input[type="checkbox"]:checked {
    background-color: #83278A!important;
    border-color: #6a1b70;
}

.text-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.text-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.text-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.text-clamp-4 {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.text-clamp-5 {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.text-clamp-6 {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.text-clamp-7 {
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.text-clamp-8 {
    display: -webkit-box;
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.text-clamp-9 {
    display: -webkit-box;
    -webkit-line-clamp: 9;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.text-clamp-10 {
    display: -webkit-box;
    -webkit-line-clamp: 10;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.form-control:focus {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: rgba(131, 39, 138, 0.52);
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(131, 39, 138, 0.32);
}

.mySwiper .swiper-wrapper {
    transition-timing-function: linear !important;
}

.cta-gift-btn {
    background: linear-gradient(135deg, #83278A 0%, #2F5DA8 100%);
    color: #ffffff !important;
    box-shadow: 
        0 10px 30px rgba(123,44,191,0.35),
        inset 0 0 0 1px rgba(255,255,255,0.25);
    transition: all 0.35s ease;
    position: relative;
    overflow: hidden;
}

.cta-gift-btn *{
    color: #ffffff !important;
}

.cta-gift-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.4),
        transparent
    );
    transition: all 0.6s ease;
}

.cta-gift-btn:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 
        0 16px 40px rgba(123,44,191,0.45);
    color: #ffffff;
}

.cta-gift-btn:hover::before {
    left: 120%;
}

@keyframes giftPulse {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.12); }
    100% { transform: scale(1); }
}

.cta-gift-btn:disabled,
.cta-gift-btn.disabled {
    background: linear-gradient(
        135deg,
        #7b2cbf 0%,
        #5a4fcf 50%,
        #3a6ccf 100%
    );
    box-shadow:
        0 8px 24px rgba(90,79,207,0.45),
        inset 0 0 0 1px rgba(255,255,255,0.18);
    cursor: wait;
    opacity: 0.9;
    filter: saturate(0.85);
    transform: none !important;
}

.cta-gift-btn:disabled::before,
.cta-gift-btn.disabled::before {
    left: -60%;
    animation: disabledShine 1.6s linear infinite;
}

@keyframes disabledShine {
    from { left: -60%; }
    to   { left: 120%; }
}

.cta-gift-btn:disabled:hover {
    transform: none;
    box-shadow:
        0 8px 24px rgba(90,79,207,0.45);
}

.cta-gift-btn:disabled *,
.cta-gift-btn.disabled * {
    color: rgba(255,255,255,0.9) !important;
}

.fi{
    vertical-align: middle;
    padding-right: 3px;
}

a{
    color: #83278A;
}

btn{
    color: #000;
}

p{
    margin: 0;
}

.bg-sky{
    background-color: #20ADD6;
}

.text-sky{
    color: #20ADD6;
}

.nav-link.active {
    font-weight: 900 !important;
    color: #83278A !important;
    outline: 1px solid #83278A;
    border-radius: var(--bs-border-radius-pill)!important;
    box-shadow: 0 0 8px #430f46;
}

.nav-item.active a {
    font-weight: 900 !important;
    color: #83278A !important;
}

.text-purple{
    color: #83278A !important;
}

.purple-degrade{
    color: #fff;
    background: linear-gradient(135deg, #83278A 0%, #2F5DA8 100%);
}

.border-purple{
    border-color: #83278A !important;
}

.bg-purple{
    color: white !important;
    background-color: #83278A !important;
}

.btn-purple{
    color: white !important;
    background-color: #83278A !important;
}

.btn-outline-purple{
    border-color: #83278A !important;
    color: #83278A !important;
}

.btn-outline-purple:hover{
    background-color: #83278A !important;
    color: #fff !important;
}

.text-shadow-purple{
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25) !important;
}

.shadow-purple{
    box-shadow: 0 0 8px #430f46 !important;
}

.drop-shadow-purple{
    filter: drop-shadow(0 0px 9px rgba(212, 155, 216, 0.55));
}

@keyframes sway {
  0% {
    transform: rotate(5deg);
  }
  50% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(5deg);
  }
}

.sway {
  animation: sway 4s ease-in-out infinite;
  transform-origin: center;
}

.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.6s ease-out;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

.map-card iframe{
    width: 100%;
    height: 300px;
    border: 0;
}