.iti {
    width: 100%;
}

.iti__selected-flag{
    padding: 0 6px 0 6px !important;
    background-color: transparent !important;
}
.error {
    border-color: #dc3545;
}

.d-none{
    display: none !important;
}

#MFZ-NewCostCalForm * {
box-sizing: border-box;
/* margin: 0;
padding: 0; */
}

/* Main container styles removed for Webflow integration */

#MFZ-NewCostCalForm .header {
display: flex;
    justify-content: center;
align-items: center;

    padding: 20px 24px;
border-radius: 20px 20px 0 0;
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-grid-MFZ {
display: grid;
grid-auto-flow: column;
align-content: center;
align-items: center;
column-gap: 20px;
}

.header-grid-MFZ h2{
margin-bottom: 0px;
color: #1C1C1C;
font-family: "Plus Jakarta Sans";
    font-size: 24px;
font-style: normal;
font-weight: 700;
    line-height: 32px;
}

.header-grid-MFZ img {
  width: 48px;
  height: 48px;
}

.sticky-summary-container {
    width: 100%;
    padding: 24px;
    border-radius: 20px;
    background: #F9FAFB;
    height: fit-content;
}

.form-section {
display: flex;
    flex-direction: column;
    gap: 24px !important;
    border-radius: 16px;

    margin-bottom: 64px !important;

}

.form-section-title {
    color: #1C1C1C;
font-family: "Plus Jakarta Sans";
    font-size: 20px;
font-style: normal;
    font-weight: 700;
    line-height: 28px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid rgba(171, 129, 197, 0.2);
}


#MFZ-NewCostCalForm label {
    margin-bottom: 8px;
    display: block;
color: #333;
font-family: "Plus Jakarta Sans";
font-size: 14px;
    font-weight: 600;
    line-height: 20px;
}

#MFZ-NewCostCalForm input[type="text"],
#MFZ-NewCostCalForm input[type="email"],
#MFZ-NewCostCalForm input[type="tel"],
#MFZ-NewCostCalForm input[type="number"],
#MFZ-NewCostCalForm select {
width: 100%;
padding: 12px 16px;
border: none;
border-radius: 8px;
border: 1px solid #EDEDED;
background: #FFF;
    font-size: 14px;
    font-family: "Plus Jakarta Sans";
    transition: border-color 0.3s ease;
}
#MFZ-NewCostCalForm select {
    box-shadow: 0px 4px 4px 0px rgba(98, 44, 5, 0.05);
}
#MFZ-NewCostCalForm input[type="text"]:focus,
#MFZ-NewCostCalForm input[type="email"]:focus,
#MFZ-NewCostCalForm input[type="tel"]:focus,
#MFZ-NewCostCalForm input[type="number"]:focus,
#MFZ-NewCostCalForm select:focus {
outline: none;
    border: 1px solid #EB5F40;
}

#MFZ-NewCostCalForm select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
color: black;
background-position: 99% center;
background-size: 10px;
background-color: white;
}

#MFZ-NewCostCalForm .license-type-options {
display: flex;
    gap: 12px;
    width: 100%;
    margin-bottom: 20px;
}

#MFZ-NewCostCalForm .license-option {
display: flex;
align-items: center;
position: relative;
cursor: pointer;
    padding: 16px;
    border-radius: 12px;
    flex: 1;
    border: 2px solid #E0E0E0;
    transition: all 0.3s ease;
background: white;
}

#MFZ-NewCostCalForm .license-option label {
    margin: 0;
    color: #333;
font-family: "Plus Jakarta Sans";
    font-weight: 600;
    cursor: pointer;
    font-size: 16px;
}

#MFZ-NewCostCalForm .license-option input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 24px;
    height: 24px;
    border: 2px solid #E0E0E0;
border-radius: 50%;
    outline: none;
cursor: pointer;
    margin: 0 12px 0 0;
    position: relative;
}

#MFZ-NewCostCalForm .license-option input[type="radio"]:checked {
    border-color: #EB5F40;
    background: white;
}

#MFZ-NewCostCalForm .license-option input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: linear-gradient(163deg, #EB5F40 10.55%, #42B8C6 118.78%);
    transform: translate(-50%, -50%);
}

/* Section header styling */
.section-header {
    text-align: left;
}

.section-header h2 {
    font-size: 24px;
font-weight: 600;
    color: #1c1c1c;
    margin-bottom: 16px !important;
    line-height: 1.5;
}

.section-subtitle {
font-size: 14px;
    color: #1C1C1C;
    margin: 0;
    font-weight: 400;
    opacity: 0.8;
    margin-bottom: 32px;
}

/* Info Section Styling */
.info-section {
display: flex;
align-items: center;
    padding: 8px 12px;
    border-radius: 8px;
    gap: 8px;
    background: rgba(0, 74, 152, 0.04);
}

.info-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;

}

.info-text {
    color: #004A98;
    font-family: "Plus Jakarta Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; 
}
/* License cards styling */
.license-cards-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 24px;
}

@media (max-width: 768px) {
    .license-cards-container {
        margin-bottom: 0px;
    }
}

.license-card {

    border-radius: 10px;
    overflow: hidden;
 
    transition: all 0.3s ease;
    cursor: pointer;
    border-radius: 10px;
    border: 1px solid #DADBE1;

}

.license-card:hover {
background-color: #f9fafb;
}


.license-card-image {
    width: 100%;
    height: 89px;
    overflow: hidden;
    }

.license-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 768px) {
    .license-card-image {
        height: 100px;
    }
}

.license-card-content {
    padding: 16px !important;
    display: flex;
    flex-direction: column;
    gap: 16px !important;
}

/* Selected license card styles */
.license-card.selected {
    border: 3px solid #EB5F40;
    background: linear-gradient(0deg, #FFF 0%, #FFF 100%), rgba(217, 217, 217, 0.25);
}

.license-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.license-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: #1c1c1c;
    margin: 0;
}

.license-duration {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px;
    border-radius: 20px;
font-size: 14px;
    font-weight: 500;
    color: #004A98;
}


.license-card[data-license="fawri"] .license-duration p {
   margin: 0 !important;
   line-height: 16px !important;
    background: var(--Orange, linear-gradient(102deg, #EB5F40 0%, #B5348B 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 14px;
}

.duration-icon {
    font-size: 16px;
}

.license-description {
    font-size: 14px;
    color: #1C1C1C;
    line-height: 1.5;
    margin-bottom: 16px !important;
    opacity: 0.8;
}

.license-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.learn-more-btn {
    background: none;
    border: none;
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    color: transparent;
    text-decoration: none;
}

.learn-more-btn:hover {
    color: #EB5F40;
}

.select-btn {
    padding: 8px 12px !important;
    border-radius: 40px;
    background:  linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    width: 101.67px;
    justify-content: center;
    align-items: center;
    border: 1px solid #EDEDED;
    gap: 8px;
    font-size: 12px;
font-weight: 600;
line-height: 24px; 
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
}

.select-btn.selected {
  background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    color: white;
    -webkit-text-fill-color: white;
    border: none;
}



/* Check icon styling */
.check-icon {
    font-size: 12px;
    display: flex;
    align-items: center;
}

/* License options styling */
.license-options-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.license-option-group{
  display: flex;

    padding: 16px !important;
  flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border-radius: 10px;
border: 1px solid #DADBE1;
}
.license-option-group h4 {
font-size: 14px;
font-weight: 600;
    color: #1c1c1c;
    margin-bottom: 16px;
}

.pill-options {
  display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.pill-option {
    background:  linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    border: 1px solid #EDEDED;
    border-radius: 60px;
    padding:12px !important;
    font-size: 14px;
    font-weight: 500;
    color: #EB5F40;
    line-height: normal !important;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 44px;
    text-align: center;
}


.pill-option:hover {
    background:  linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    border: 1px solid #EDEDED;
    border-radius: 60px;
    padding:12px !important;
}

.pill-option.selected {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    color: white;
    -webkit-text-fill-color: white;
    border: none;
}

.option-note {
    color: #004A98;
    font-family: "Plus Jakarta Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px; 
    opacity: 0.8;
}



.activity-search-container {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    margin: 16px 0
}

.activity-search-input {
width: 100%;
    padding: 16px 48px 16px 16px;
border-radius: 8px;
    border: 1px solid #E0E0E0;
    background-color: #fff;
    font-size: 16px;
    font-family: "Plus Jakarta Sans";
}

.activity-search-input:focus {
outline: none;
    border-color: #EB5F40;
}

.search-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #808080;
}

.search-icon svg{
    width: 18px;
    height: 18px;
}

.activity-groups-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}

.activity-group {
    position: relative;
    padding: 12px 16px;
    border-radius: 40px;
    cursor: pointer;
    color: #333;
    font-family: "Plus Jakarta Sans";
    font-size: 12px;
    font-weight: 500;
    border: 1px solid #DCDCDC;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    background: white;
}

.activity-group.selected {
    border: 3px solid linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background: linear-gradient(0deg, #FEF4F2 0%, #FEF4F2 100%), rgba(217, 217, 217, 0.25);
    font-weight: 700;
}

.activity-group .plus-icon {
    display: none;
    width: 17px;
    height: 16px;
    position: relative;
    margin-left: 5px;
    vertical-align: middle;
    z-index: 1;
    line-height: 1;
    flex-shrink: 0;
    background-image: url('https://cdn.prod.website-files.com/6746fa16829349829922b7c4/684975e74ee24d70a6b27334_502ac5440775221a80f21723a925b9f8d45dd6d27cb02a7e8b195fa5c2906a9c.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.activity-group.selected .plus-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    visibility: visible !important;
}

.activity-count {
    display: none;
}

.activity-group.selected[data-count="1"] .activity-count,
.activity-group.selected[data-count="2"] .activity-count,
.activity-group.selected[data-count="3"] .activity-count,
.activity-group.selected[data-count="4"] .activity-count,
.activity-group.selected[data-count="5"] .activity-count {
    display: inline;
    opacity: 0.7;
}

.fee-warning {
    font-family: "Plus Jakarta Sans";
    font-size: 12px;
font-style: normal;
font-weight: 400;
    line-height: 18px;
background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-top: 8px;
}

/* Visa cards styling */
.visa-cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    margin-bottom: 32px;
}

.visa-card {
    background: white;
border-radius: 10px;
    border: 1px solid #DADBE1;
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    overflow: hidden;
    transition: all 0.3s ease;
}

.visa-card:hover {
   background: #F9FAFB;
}


.visa-card-image {
    width: 100%;
    height: 100px;
    overflow: hidden;
}

.visa-card-image img {
    width: 100%;
    height: 100px;
    object-fit: cover;
}

@media (max-width: 768px) {
    .visa-card-image img {
        height: 160px;
    }
    .visa-cards-container {
        margin-bottom: 0;
    }
}

.visa-card-content {
    padding:    16px !important;
}

.visa-card-content h3 {
    font-size: 20px;
    font-weight: 600;
    color: #1c1c1c;
    margin: 0 0 12px 0;
}

.visa-description {
    font-size: 12px;
color: #1C1C1C;
    line-height: 1.5;
    margin-bottom: 16px !important;
font-family: "Plus Jakarta Sans";
    font-weight: 400;
    opacity: 0.8;
}



.visa-toggle-container {
  display: flex;
align-items: center;
    gap: 8px;
    border-radius: 40px;
background: #fff;
border: 1px solid #EDEDED;
padding: 8px 12px !important;
}

.visa-toggle-labels {
    position: relative;
    min-width: 24px;

}

.visa-toggle-label {
    position: absolute;
    left: 0;
    top: -8px;
font-size: 14px;
font-weight: 600;
    color: #EB5F40;
    transition: opacity 0.3s ease;
}

.visa-toggle-label.no {
    opacity: 1;
}

.visa-toggle-label.yes {
    opacity: 0;
}

.visa-toggle-switch {
  position: relative;
    display: inline-block;
    width: 50px;
    height: 30px;
    margin-bottom: 0 !important;
}

.visa-toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.visa-toggle-slider {
  position: absolute;
    cursor: pointer;
  top: 0;
  left: 0;
    right: 0;
    bottom: 0;
    background-color: #DADBE1;
    border-radius: 15px;
    transition: all 0.3s ease;
}

.visa-toggle-slider:before {
    position: absolute;
    content: "";
    height: 22px;
    width: 22px;
    background: white;
    left: 4px;
    top: 4px;
    border-radius: 50%;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.visa-toggle-switch input:checked + .visa-toggle-slider {
  background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
}

.visa-toggle-switch input:checked + .visa-toggle-slider:before {
    transform: translateX(20px);
}

.visa-toggle-container:has(.visa-toggle-switch input:checked) .visa-toggle-label.no {
    opacity: 0;
}

.visa-toggle-container:has(.visa-toggle-switch input:checked) .visa-toggle-label.yes {
    opacity: 1;
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; 
}


.toggle-switch {
position: relative;
display: inline-block;
    width: 76px;
    height: 34px;
}

.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider {
position: absolute;
cursor: pointer;
    top: 0;
    left: 0;
    right: -12px;
    bottom: 0;
background-color: white;
    border: 1px solid #E0E0E0;
    transition: .4s;
    border-radius: 34px;
  display: flex;
    align-items: center;
    padding: 0 4px;
    box-sizing: border-box;
}

.toggle-slider:before {
position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    right: 4px;
    bottom: 3px;
    background: linear-gradient(163deg, #EB5F40 10.55%, #42B8C6 118.78%);
    transition: .4s;
border-radius: 50%;
    z-index: 1;
}

.toggle-yes,
.toggle-no {
position: absolute;
  font-size: 12px;
    font-weight: 700;
    color: #333;
    font-family: "Plus Jakarta Sans";
    transition: opacity 0.3s;
}

.toggle-yes {
    left: 37px;
    opacity: 0;
}

.toggle-no {
    right: 42px;
    opacity: 1;
}

.toggle-switch input:checked + .toggle-slider {
    background-color: white;
}

.toggle-switch input:checked + .toggle-slider:before {
    transform: translateX(-42px);
    background: linear-gradient(102deg, #61a60e 0%, #004a98 100%);
}

.toggle-switch input:checked + .toggle-slider .toggle-yes {
    opacity: 1;
}

.toggle-switch input:checked + .toggle-slider .toggle-no {
    opacity: 0;
}

.visa-number-input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #EDEDED;
    border-radius: 8px;
    background: #FFF;
    font-size: 14px;
    font-family: "Plus Jakarta Sans";
    margin-top: 12px;
}

.visa-number-input:focus {
    outline: none;
    border: 1px solid #EB5F40;
}

.services-category {
    margin-bottom: 24px;
}

.services-category h4 {
    background: linear-gradient(163deg, #EB5F40 10.55%, #42B8C6 118.78%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-family: "Plus Jakarta Sans";
font-size: 18px;
font-weight: 700;
    margin-bottom: 16px;
}

.services-container {
display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.service-option {
    position: relative;
}

.service-checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.service-label {
    display: inline-block;
padding: 12px 16px;
    border-radius: 40px;
    border: 1px solid #DCDCDC;
    background-color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
font-family: "Plus Jakarta Sans";
}

.service-checkbox:checked + .service-label {
    background: linear-gradient(163deg, rgba(171, 129, 197, 0.20) 10.55%, rgba(66, 184, 198, 0.20) 118.78%);
    color: #1C1C1C;
    border: 1px solid #EB5F40;
    font-weight: 700;
}

.tax-compliance-warning {
    margin-top: 15px;
    padding: 12px 16px;
    background-color: #fff9e9;
    border-left: 4px solid #ffcc00;
    border-radius: 4px;
}

.tax-compliance-warning p {
    margin: 0;
    color: #7a4500;
font-size: 14px;
    font-family: "Plus Jakarta Sans";
    line-height: 1.4;
}

/* Updated Summary Container Styles */
.summary-header {
    /* Base state - minimal spacing when only grand total is shown */
}

.summary-header.expanded {
    /* Expanded state - with spacing and border when detailed view is shown */
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e5e7eb;
}

.summary-header h3 {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 22px;
    font-weight: 700;
    line-height: 130%;
    text-transform: capitalize;
    margin-bottom: 8px !important;
    margin-top: 0 !important;
}
.summary-section h4 {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
}
.summary-subtitle {
    font-size: 14px;
    color: #1C1C1C;
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    font-weight: 400;

    opacity: 0.8;

}

.summary-section {
    padding-bottom: 24px !important ;
    margin-bottom: 24px !important;
    border-bottom: 1px solid #f3f4f6;
}

.summary-section:last-of-type {
    border-bottom: none;
    border-bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.summary-section-header {
display: flex;
justify-content: space-between;
align-items: center;
    margin-bottom: 16px !important;
}

.summary-section-header h4 {
    font-size: 16px;
    font-weight: 600;
    color: #111827;
    margin: 0;
}

.edit-btn {
display: flex;
align-items: center;
justify-content: center;
    width: 32px;
    height: 32px;
border: none;
    padding: 0 !important;
    background-color: transparent;
    cursor: pointer;

}


.edit-btn svg {
    width: 25px;
    height: 25px;
}

.summary-content {
display: flex;
    flex-direction: column;
    gap: 16px;
}

@media (max-width: 768px) {
    .summary-content {
        gap: 0px;
    }
}

.summary-row {
display: flex;
    justify-content: space-between;
align-items: center;
}

.summary-label {
    font-size: 14px;
    color: #1C1C1C;
    font-weight: 400;
}

.summary-value {
    font-size: 14px;
    color: #111827;
    font-weight: 500;
}

.summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px !important;
}

.summary-total .summary-label {
    font-weight: 700;
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-wrap-mode: nowrap;
}

.summary-price {
    font-size: 14px;
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}

.bsa-code-container input {
    width: 100%;
    padding: 12px 16px;
    border: none;
    border-radius: 8px;
    border: 1px solid #EDEDED;
    background: #FFF;
    font-size: 14px;
    font-family: "Plus Jakarta Sans";
    transition: border-color 0.3s ease;
}

.bsa-code-container input:focus {
    outline: none;
    border: 1px solid #EB5F40;
}

.grand-total-container {
    margin: 24px 0 24px 0 !important;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.grand-total {
    background-color: #f9fafb;
    border-radius: 12px;
    padding: 16px !important;
display: flex;
flex-direction: column;
    justify-content: space-between;
    gap: 8px;
    border-radius: 10px;
    border: 1px solid #DADBE1;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.80) 100%), rgba(217, 217, 217, 0.20);
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
}

.grand-total-label {
    font-size: 16px;
    color: #111827;
    font-weight: 500;
}

.grand-total-amount {
font-size: 18px;
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}

.get-call-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 40px;
    background: linear-gradient(102deg, #61A60E 1.79%, #004A98 100%);
    color: white;
    border: none;
    padding: 16px 24px !important;
    font-size: 16px;
    font-weight: 600;
    font-family: "Plus Jakarta Sans";
cursor: pointer;
    transition: all 0.3s;
}

.get-call-btn:hover {
    background: linear-gradient(102deg, #B5348B 0%, #EB5F40 100%);
    color: white;
}

.get-call-btn svg {
    transition: transform 0.2s;
}

.get-call-btn:hover svg {
    transform: translateX(4px);
}

.activity-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
    flex-direction: column;
}

.activity-tag {
    background: linear-gradient(163deg, rgba(171, 129, 197, 0.20) 10.55%, rgba(66, 184, 198, 0.20) 118.78%);
    color: #1C1C1C;
    border: 1px solid #EB5F40;
    font-weight: 600;
    padding: 4px 8px;
border-radius: 16px;
    font-size: 11px;
    display: inline-block;
}

.addon-item-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.addon-item {
    display: flex;
    justify-content: space-between;
align-items: center;
    width: 100%;
    font-size: 12px;

}
.addon-item:first-of-type {
    margin-top: 8px !important;
}
.addon-name {
    color: #1C1C1C;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 500;
    margin-right: auto;
}

.addon-cost {
    color: #000;
font-family: "Plus Jakarta Sans";
    font-size: 12px;
    font-weight: 600;
    text-align: right;
    margin-left: auto;
}

.no-addons {
    font-size: 12px;
    color: #666;
    font-style: italic;
}

.submit-section {
    background: rgba(255, 255, 255, 0.9);
    border-radius: 16px;
    padding: 24px;
    text-align: center;
    border: 2px solid #EB5F40;
}

.submit-button {
    background:linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    color: #ffffff;
    border: none;
    border-radius: 40px;
    padding: 16px 32px !important;
    font-size: 16px;
    font-weight: 600;
    font-family: "Plus Jakarta Sans";
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 200px;
line-height: 24px;
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px !important;
}

.submit-button:hover {
    background: linear-gradient(102deg, #B5348B 0%, #EB5F40 100%);
    color: white;
}

.submit-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.mobile-header {
    display: none;
    background-color: white;
    text-align: center;
    padding: 0.8rem 0;
width: 100%;
}

.mobile-logo {
    max-height: 40px;
    width: auto;
}

.activities-list-container {
    margin-top: 20px;
    padding: 16px;
background: white;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border: 1px solid #EFEFEF;
    overflow: hidden;
    max-height: 300px;
    display: none;
}

.activities-filter {
    padding: 8px 0;
    border-bottom: 1px solid #EFEFEF;
    background: #FFFFFF;
    position: sticky;
    top: 0;
    z-index: 1;
    margin-bottom: 8px;
}

.activities-filter-input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #E0E0E0;
    border-radius: 8px;
    font-size: 14px;
    font-family: "Plus Jakarta Sans";
    outline: none;
background-color: white;
    transition: all 0.2s ease;
}

.activities-filter-input:focus {
    border-color: #EB5F40;
    box-shadow: 0 0 0 2px rgba(171, 129, 197, 0.2);
}

.activities-list {
    overflow-y: auto;
    padding: 8px;
    max-height: 200px;
    scrollbar-width: thin;
    scrollbar-color: #D1D1D1 #F5F5F5;
}

.activity-checkbox-item {
    padding: 12px 16px;
    border-bottom: 1px solid #F5F5F5;
    transition: all 0.2s ease;
    border-radius: 8px;
    margin-bottom: 4px;
    cursor: pointer;
}

.activity-checkbox-item:hover {
    background-color: #F9F9F9;
}

.activity-checkbox-label {
display: flex;
    align-items: center;
justify-content: space-between;
    cursor: pointer;
    gap: 12px;
    width: 100%;
}

.activity-checkbox {
    position: relative;
    width: 20px;
    height: 20px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #E0E0E0;
    border-radius: 4px;
    outline: none;
    transition: all 0.2s ease;
    background-color: white;
}

.activity-checkbox:checked {
    background: linear-gradient(163deg, #EB5F40 10.55%, #42B8C6 118.78%);
    border: none;
}

.activity-checkbox:checked::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 6px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.activity-checkbox-info {
    display: flex;
    gap: 12px;
align-items: center;
    flex: 1;
}

.activity-code {
    color: #EB5F40;
    font-weight: 600;
    font-size: 12px;
}

.activity-name {
    font-size: 12px;
    color: #333;
    font-weight: 400;
}

.search-results-dropdown {
    position: absolute;
    max-height: 300px;
    overflow-y: auto;
    background: white;
    border: 1px solid #DCDCDC;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    z-index: 100;
    margin-top: 5px;
    left: 0;
    top: 100%;
    box-sizing: border-box;
    width: 100%;
    padding: 0 24px;
}

.search-result-items {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f7fafc;
cursor: pointer;
    transition: all 0.2s ease;
    color: #1c1c1c;
    font-family: "Plus Jakarta Sans";
    font-size: 12px;
    font-weight: 500;
}

.search-result-items:hover {
    background: #f7fafc;
    margin: 0 -12px;
    padding-left: 12px;
    padding-right: 12px;
}

.search-result-items:last-child {
    border-bottom: none;
}

/* Apply modal activity styles to search results */
.search-results-dropdown .modal-activity-checkbox {
    width: 20px;
    height: 20px;
    border: 2px solid #e2e8f0;
    border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.search-results-dropdown .modal-activity-checkbox.checked {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    border: none;
}

.search-results-dropdown .modal-activity-checkbox .check-icon {
    display: none;
    color: white;
    font-size: 12px;
}

.search-results-dropdown .modal-activity-checkbox.checked .check-icon {
    display: block;
}

.search-results-dropdown .modal-activity-info {
    flex: 1;
display: flex;
    flex-direction: row;
    gap: 16px;
align-items: center;
}

.search-results-dropdown .modal-activity-code {
    font-size: 12px;
    font-weight: 500;
    color: #1c1c1c;
    font-family: "Plus Jakarta Sans";
}

.search-results-dropdown .modal-activity-name {
    font-size: 12px;
    font-weight: 500;
    color: #1c1c1c;
    font-family: "Plus Jakarta Sans";
    line-height: 1.3;
}

.no-results, .loading-results, .error-results {
    padding: 16px;
    text-align: center;
    color: #808080;
    font-size: 14px;
}

.error-results {
    color: #E74C3C;
}



@media (max-width: 768px) {
    .mobile-header {
        display: block;
    }
    
    #MFZ-NewCostCalForm .form-container {
        border-radius: 0;
        min-height: 100vh;
    }
    
    #MFZ-NewCostCalForm .header {
        border-radius: 0;
        position: static;
    }
      
    .sticky-summary-container {
        max-width: 100%;
        position: static;
        max-height: none;
        padding: 32px 16px 16px 16px !important;
        border-radius: 20px;
background: #F9FAFB;
    }
    
    .summary-header h3 {
        font-size: 20px;
    }
    
    .grand-total {
        padding: 16px;
        gap: 8px;
    }
    
    .grand-total-amount {
font-size: 18px;
}

    .form-sections-container {
        max-height: none;
        overflow-y: visible;
    }
    
    .form-section {
        padding: 0;
        gap: 0 !important;
    }
    .section-subtitle {
        margin-bottom: 16px !important;
    }
    .form-section:last-of-type {
        margin-bottom: 100px !important;
    }
    .form-section-title {
        font-size: 18px;
        margin-bottom: 16px;
    }
    
    .license-type-options {
        flex-direction: column;
        gap: 8px;
    }
    
    .activity-groups-container {
        gap: 8px;
    }
    
    .activity-group {
        padding: 8px 12px;
        font-size: 11px;
    }
    
    .services-container {
        gap: 8px;
    }
    
    .service-label {
        padding: 8px 12px;
        font-size: 11px;
    }
    
    .visa-options {
        gap: 12px;
    }
    
    .visa-option {
        padding: 12px;
    }
    
    .activities-list-container {
        margin-left: 0;
        margin-right: 0;
    }
    
    /* Mobile styles for license cards */
    .section-header h2 {
        font-size: 24px;
    }
    
    .license-cards-container {
        grid-template-columns: 1fr;
        gap: 16px;

    }
    
    .license-card {
        margin-bottom: 16px;
    }
    
    .license-card-content {
        padding: 16px !important;
        gap: 16px !important;
    }
    
    .license-header {

    align-items: center;
        gap: 8px;
    }
    
    .license-description {
    margin-bottom: 20px;
}

    .license-footer {
        gap: 12px;
        align-items: stretch;
    }
    

    
    /* Mobile styles for pill options */
    .license-options-container {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .pill-options {
        gap: 6px;
    }
    
    .pill-option {
        font-size: 13px;
    }
    
    /* Mobile styles for visa cards */
    .visa-cards-container {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    


    .visa-card-content {
        padding: 20px;
        }
    
    .visa-card-image {
        height: 160px;
        }
    
    .visa-footer {

    gap: 12px;
        align-items: stretch;
}

    .visa-toggle-container {
        justify-content: center;
}

    .visa-quantity-control {
        flex-direction: column;
        gap: 12px;
    align-items: center;
    }
    

}

.progress-container,
.step-counter,
.form-navigation,
.stepper-container {
    display: none !important;
    }

.form-step {
    display: block !important;
}

.form-step.active {
    display: block !important;
}

.form-step-container {
    padding: 0;
    min-height: auto;
}

.select2-container {
    margin-bottom: 10px !important;
}

.select2-container--default .select2-selection--single {
    width: 100% !important;
    height: auto !important;
    padding: 10px 15px !important;
    border: none !important;
    border-radius: 8px !important;
    border: 1px solid #EDEDED;
    font-size: 1em !important;
    font-family: inherit !important;
    background-color: white !important;
    background: white url(https://cdn.prod.website-files.com/6746fa16829349829922b7c4/681296908fac04978eeaa8ad_45dfcaee6036e0619a664f55eb31e562_Icon1.svg) no-repeat !important;
    background-position: 99% center !important;
    background-size: 10px !important;
    color: black !important;
    box-shadow: none !important;
    margin: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: black !important;
    line-height: normal !important;
    padding-left: 0 !important;
    font-family: inherit !important;
    font-weight: normal !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #757575 !important;
}

.select2-dropdown {
    border: none !important;
    border-radius: 5px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    font-family: inherit !important;
}

.select2-results__option--selected {
    background-color: #F4F2FF !important;
}

.duration-info {
    margin-bottom: 16px;
    padding: 12px;
    background: rgba(171, 129, 197, 0.1);
    border-radius: 8px;
    border: 1px solid rgba(171, 129, 197, 0.3);
}

.duration-info p {
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    color: #333;
    margin: 0;
}

.duration-value {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
    font-weight: 700;
}

.discount-note {
    font-family: "Plus Jakarta Sans";
    font-size: 12px;
    font-weight: 400;
    margin-top: 8px;
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Add-ons Section Styles */
.addons-container {
    padding: 16px !important;
    display: flex;
    flex-direction: column;
    gap: 24px;
    border-radius: 10px;
border: 1px solid #DADBE1;
}
@media (max-width: 768px) {
    .addons-container {
        padding: 2px !important;
        gap: 16px !important;
    }
}
.addon-category-card {
    background: white;
    padding: 16px 16px 24px 16px !important;
    display: flex;
flex-direction: column;
gap: 8px;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);

}
.addon-category-card:last-of-type {
    border-bottom: none !important;
}
.addon-category-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.addon-category-header h3 {
    font-size: 18px;
    font-weight: 600;
    color: #111827;
    margin: 0;
}

.addon-category-description {
    color: #1C1C1C;
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 16px 0 !important;
}

.addon-services {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.service-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px !important;
    border-radius: 40px;
    background: #ffffff;
    border: 1px solid #EDEDED;    
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.service-pill:hover {
    border-color: #ffffff;
    background: #eb5f40;
    color: white !important;
    -webkit-text-fill-color: white;
    -webkit-background-clip: initial;
    background-clip: initial;
}

.service-pill.selected {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    color: white !important;
    -webkit-text-fill-color: white;
    -webkit-background-clip: initial;
    background-clip: initial;
}

.service-pill.selected:hover {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    border-color: #EB5F40;
}

.service-pill .check-icon {
    display: none;
    width: 18px;
    height: 18px;
}

.service-pill.selected .check-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.service-pill.tax-compliance-pill.selected {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    border-color: #EB5F40;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .addon-category-header {
        align-items: flex-start;
        gap: 8px;
    }
    
    .addon-services {
        gap: 8px;
    }
    
    .service-pill {
        font-size: 13px;
        padding: 6px 12px;
    }
}

/* Contact Form Section Styles */
.contact-form-section {

    border-radius: 10px;
    border: 1px solid #DADBE1;
     overflow: hidden;
}

.contact-form-container {

    padding: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
}

.contact-form-header {

    margin-bottom: 32px !important;
}

.contact-avatars {
display: flex;
    margin-bottom: 24px;
}

.avatar {
    width: 138px;
    height: auto;
   margin-bottom: 8px !important;
}

.contact-title {
    color: #1C1C1C;
    font-family: "Plus Jakarta Sans";
    font-size: 24px;
    font-weight: 600;
    line-height: 130%;
    margin-bottom: 16px !important;
}

.contact-subtitle {
    color: #1C1C1C;
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    font-weight: 400;
    line-height: 24px; 
    opacity: 0.8;
}

.contact-form-fields {
  display: flex;
  flex-direction: column;
    gap: 16px;
}

.contact-form-section .form-group {
    margin-bottom: 0;
}

.contact-form-section input::placeholder {
    color: #1C1C1C;
    font-family: "Plus Jakarta Sans";
font-size: 16px;
    font-weight: 500;
line-height: 24px; 
    opacity: 0.5;
}
.contact-form-section label {
    font-size: 14px;
    font-weight: 600;
    color: #1C1C1C;
    margin-bottom: 8px;
    font-family: "Plus Jakarta Sans";
}

.contact-form-section input {
    width: 100%;
    padding: 12px 16px;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    background-color: white;
    font-size: 16px;
    transition: border-color 0.2s;
}

.contact-form-section input:focus {
    border-color: #EB5F40 !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(5, 150, 105, 0.1);
}


.contact-form-section .submit-button:hover {
    background-color: #EB5F40;
    color: white;
}

.contact-form-section .submit-button svg {
    transition: transform 0.2s;
}

.contact-form-section .submit-button:hover svg {
    transform: translateX(4px);
}

@media (max-width: 980px) {
    .contact-form-container {
        border-radius: 10px;
        border: 1px solid #DADBE1;
        background: rgba(255, 255, 255, 0.60);  
      }
        .license-card {
            background: #FFF;
backdrop-filter: blur(24px);
-webkit-backdrop-filter: blur(24px);
        }
        .license-option-group {
            background: #FFF;
        }
        .addons-container {
            background: #FFF;
        }

        .footer-content {
            padding: 24px 16px;
        }
}
@media (max-width: 768px) {
    .contact-form-container {
        padding: 16px;
    }
    
    .contact-title {
        font-size: 24px;
    }
    
    .contact-subtitle {
    font-size: 14px;
    }
    
    .contact-form-section .submit-button {
        width: 100%;
        align-self: center;
    }

    #business-activities-section {
        padding: 24px 20px !important;
        gap: 16px !important;
    }

    .scroll-indicator-left {
        left: -5px;
    }

    .scroll-indicator-right {
        right: -5px;
    }
}



/* Selected visa card styles */
.visa-card.selected {
    border-radius: 10px;
    border: 3px solid #EB5F40;
    background: linear-gradient(0deg, #FFF 0%, #FFF 100%), rgba(217, 217, 217, 0.25);

    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
}

/* Change Status Section - using visa card styling */
.change-status-details {
    margin-top: 16px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

@media (max-width: 768px) {
    .change-status-details {
        flex-direction: column-reverse;
    }
}
.status-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    color: #1C1C1C;
    font-weight: 500;
}

.status-info-row:first-child {
    margin-bottom: 12px;
}

.status-label {
    color: #1C1C1C;
    font-family: "Plus Jakarta Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    opacity: 0.8;
}

.status-count {
    font-family: "Plus Jakarta Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px; /* 200% */
    color: #1C1C1C;
    opacity: 0.8;
}

.inside-label {
    background: var(--Orange, linear-gradient(102deg, #EB5F40 0%, #B5348B 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-right: 8px;
    opacity: 1;
}
.uae-flag {
    /* Removed gradient background */
    background-clip: initial;
    -webkit-background-clip: initial;
    -webkit-text-fill-color: initial;
    color: inherit; /* Use the parent text color */
}
/* Visa header layout */
.visa-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 8px !important;
}

.visa-header h3 {
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
}

/* Visa footer with controls */
.visa-footer {
    display: flex;
        justify-content: flex-end;
        align-items: center;
}

.visa-selected-controls {
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: space-between;
    width: 100%;
}

/* Quantity selector with green circle */
.quantity-selector {
    display: flex;
    align-items: center;
    gap: 4px;
}

.quantity-btn {
    background: #ffffff;
    border: 1px solid #DADBE1;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    color: #EB5F40;
    font-size: 15px;
    cursor: pointer;
    display: flex;
    font-family: none;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.quantity-btn:hover:not(:disabled) {
    background: linear-gradient(102deg, #B5348B 0%, #EB5F40 100%);
    color: white;
}

.quantity-btn:disabled {
    background: #F5F5F5;
    color: #A0A0A0;
    cursor: not-allowed;
    border-color: #E0E0E0;
    opacity: 0.6;
}

.quantity-value {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    border-radius: 50%;
    width: 34px;
    height: 34px;
    color: white;
    font-size: 16px;
    font-weight: 600;
    font-family: "Plus Jakarta Sans";
    display: flex;
    align-items: center;
    justify-content: center;
}

.fee-warning {
    color: #e53e3e;
    font-size: 14px;
    font-weight: 500;
    margin-top: 12px;
    text-align: center;
    background: #fff5f5;
    padding: 8px;
    border-radius: 6px;
    border: 1px solid #fed7d7;
}

#business-activities-section {
    padding: 24px;
    background-color: #F6FAFC;
    overflow: visible;
}

.activity-cards-wrapper {
    position: relative;
    width: 100%;
    max-width: 100%;
}

.scroll-indicator {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #e2e8f0;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition: all 0.2s ease;
    z-index: 10;
    color: #666;
}

.scroll-indicator-left {
    left: -20px;
}

.scroll-indicator-right {
    right: -20px;
}

.scroll-indicator:hover {
    background: white;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    color: #333;
    transform: translateY(-50%) scale(1.05);
}

.scroll-indicator.hidden,
.hidden {
    opacity: 0;
    pointer-events: none;
}
.activity-cards-container {
    display: grid;
    grid-template-rows: repeat(2, 1fr);
    grid-auto-flow: column;
    grid-auto-columns: 192px;
    gap: 10px;
    max-width: 800px;
    padding-bottom: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 768px) {
    .activity-cards-container {
       max-width: 85vw !important;
    }
}
/*width*/
.activity-cards-container::-webkit-scrollbar {
    width:4px !important;
    height: 4px !important;
  }
  
  
  /*thumb*/
  .activity-cards-container::-webkit-scrollbar-thumb {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    border-style:none;
    border-radius:8px !important;
  }
  .activity-cards-container::-webkit-scrollbar-track {
    background: #F1F1F1;
    border-radius: 3px;
  }


.activity-card {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.60) 0%, rgba(255, 255, 255, 0.60) 100%), rgba(217, 217, 217, 0.25);
    border: 1px solid #DADBE1;
    border-radius: 10px;
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    padding: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    width: 192px;
    height: 100%;
}

.activity-card:hover {
    background: #FEF4F2;
}

.activity-card.selected {
    border: 3px solid linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background: linear-gradient(0deg, #FEF4F2 0%, #FEF4F2 100%), rgba(217, 217, 217, 0.25);
}

.free-groups {
    background: var(--Orange, linear-gradient(102deg, #EB5F40 0%, #B5348B 100%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
}
.activity-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.selected-activities-count {
    color: #7D301F;
    font-family: "Plus Jakarta Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 200% */
}

.activity-checkbox {
    width: 22px;
    height: 22px;
    border: 2px solid #cbd5e0;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.activity-card.selected .activity-checkbox {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    border: none;
}

.activity-checkbox .check-icon {
    display: none;
}

.activity-card.selected .activity-checkbox .check-icon {
    display: block;
}

.activity-card-body {
    text-align: left;
}

.activity-icon {
    width: 24px;
    height: auto;
    margin-bottom: 8px;
}

.activity-card h3 {
    font-size: 16px;
    font-weight: 700;
    color: #1a202c;
    margin: 0 0 8px;
}

.select-activity-link {
    font-size: 14px;
    font-weight: 600;
    background: var(--Orange, linear-gradient(102deg, #EB5F40 0%, #B5348B 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.link-arrow {
    transition: transform 0.2s ease;
}

.select-activity-link:hover .link-arrow {
    transform: translateX(2px);
}

/* --- Activity Search Modal --- */
.activity-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999999;
}

.activity-modal-content {
    background-color: white;
    border-radius: 16px;
    width: 90%;
    max-width: 500px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    margin: 20px;
    position: relative;
}

/* Mobile sheet-style modals */
@media (max-width: 768px) {
    .activity-modal-overlay {
        background-color: rgba(0, 0, 0, 0.5);
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
        align-items: flex-end;
        justify-content: center;
        z-index: 99999999;
    }
    
    .activity-modal-content {
        width: 100%;
        max-width: 100%;
        height: 76vh;
        max-height: 90vh;
    margin: 0;
        border-radius: 20px 20px 0 0;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
    }
    
    .activity-modal-header {
        padding-top: 12px !important;
    }
    
    .activity-modal-header::before {
        content: '';
        width: 40px;
        height: 4px;
        background: #D1D5DB;
        border-radius: 2px;
        display: block;
        margin: 0 auto 12px;
    }
    
    .close-btn {
        top: 12px;
        right: 12px;
        background: transparent;
        box-shadow: none;
        font-size: 20px;
    }
}

.activity-modal-header {
    display: flex;
    flex-direction: column;
    padding: 0;
    border-bottom: none;
    gap: 0;
    position: relative;
}

.activity-modal-header .modal-header-content {
    display: flex;
    flex-direction: column;
    padding: 0;
    position: relative;
}

.activity-modal-header .addon-category-image-container {
    width: 100%;
    order: 1;
}

.activity-modal-header .addon-category-image {
    width: 100%;
    height: 178px;
    object-fit: cover;
    border-radius: 12px 12px 0 0;
    padding: 24px;
}

@media (max-width: 768px) {
    .activity-modal-header .addon-category-image {
        height: 130px;
        padding: 0 24px;
    }
}
.activity-modal-header h3 {
    order: 2;
    padding:16px 24px;
}

.activity-modal-header h3 {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    color: #1a202c;
}

.close-btn {
    background: white;
    border: none;
    font-family: ui-sans-serif;
    font-size: 23px;
    font-weight: 400;
    cursor: pointer;
    color: #4a5568;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    position: absolute;
    top: -50px;
    right: 0px;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    order: 0;
}

.close-btn:hover {
    background: #edf2f7;
    color: #2d3748;
}

.modal-subtitle {
    font-size: 14px;
    color: #718096;
    margin: 4px 24px 16px;

}

.modal-category-selector {
    padding: 0 24px 16px 24px;
}

.category-selector-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
}

.custom-select-wrapper {
    position: relative;
    padding: 8px;
    background: #F7F7F7;
    border-radius: 10px;
}

.modal-category-select {
    width: 100%;
    padding: 12px 40px 12px 16px;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    background: #FFFFFF;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: all 0.2s ease;
    font-family: "Plus Jakarta Sans", sans-serif;
}

.modal-category-select:focus {
    outline: none;
    border-color: #EB5F40;
    box-shadow: 0 0 0 3px rgba(235, 95, 64, 0.1);
}

.modal-category-select:hover {
    border-color: #9CA3AF;
}

.select-arrow {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #1C1C1C;
    pointer-events: none;
    transition: transform 0.2s ease;
}

.custom-select-wrapper:hover .select-arrow {
    color: #374151;
}

.modal-category-select:focus + .select-arrow {
    transform: translateY(-50%) rotate(180deg);
    color: #EB5F40;
}

.modal-search-container {
    padding: 0 24px 16px 24px;
    position: relative;
}

.modal-search-input {
    width: 100%;
    padding: 12px 16px 12px 40px !important;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    font-family: "Plus Jakarta Sans";
    background: #f7fafc;
    transition: all 0.2s ease;
}

.modal-search-input:focus {
    outline: none;
    border-color: #e53e3e;
    background: white;
    box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.1);
}

.modal-search-icon {
    position: absolute;
    left: 36px;
    top: 61%;
    transform: translateY(-100%);
    color: #a0aec0;
    pointer-events: none;
}

#modal-activities-list {
    flex: 1;
    overflow-y: auto;
    padding: 0 24px;
    max-height: 250px;
}
@media (max-width: 768px) {
    #modal-activities-list {
        max-height: 100%;
    }
}
.modal-activity-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f7fafc;
    cursor: pointer;
    transition: all 0.2s ease;
}

.modal-activity-item:hover {
    background: #f7fafc;
    margin: 0 -12px;
    padding-left: 12px;
    padding-right: 12px;
}

.modal-activity-item:last-child {
    border-bottom: none;
}

.modal-activity-checkbox {
    width: 20px;
    height: 20px;
    border: 2px solid #e2e8f0;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.modal-activity-checkbox.checked {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    border:none;
}

.modal-activity-checkbox .check-icon {
    display: none;
    color: white;
    font-size: 12px;
}

.modal-activity-checkbox.checked .check-icon {
    display: block;
}

.modal-activity-info {
    flex: 1;
        display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
}

.modal-activity-code {
    font-size: 12px;
    font-weight: 500;
    color: #1c1c1c;
    font-family: "Plus Jakarta Sans";
}

.modal-activity-name {
    font-size: 12px;
    font-weight: 500;
    color: #1c1c1c;
    font-family: "Plus Jakarta Sans";
    line-height: 1.3;
    
}

.modal-footer {
    padding: 16px 24px 24px 24px;
    border-top: 1px solid #f7fafc;
    display: flex;
    gap: 12px;
}
@media (max-width: 768px) {
    .modal-footer {
        box-shadow: 0px -5px 25.9px 0px rgba(0, 0, 0, 0.15);
    }
    .close-btn {
        top: -80px;
    }
}
.modal-back-btn {
        background: transparent;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
        display: flex;
    align-items: center;
 
}


.modal-continue-btn {
    flex: 1;
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    border: none;
    border-radius: 40px; 
    padding: 12px 24px;
        font-size: 14px;
    font-weight: 600;
    color: white;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
        gap: 8px;
    font-family: "Plus Jakarta Sans";
}

    .modal-continue-btn:hover {
        background: linear-gradient(102deg, #B5348B 0%, #EB5F40 100%);

}

.modal-continue-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Addons Modal Specific Styles */
#addons-modal-services-list {
    flex: 1;
    overflow-y: auto;
    padding: 0 24px;
    max-height: 500px;
}



.addon-category-image-container {
    width: 100%;
}

.addon-category-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 12px;
}

.addon-services-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.addon-service-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 12px 0;
    cursor: pointer;
    transition: all 0.2s ease;
        width: 100%;
    }
    

.addon-service-item:last-child {
    border-bottom: none;
}

.addon-service-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}

.addon-service-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    width: 100%;
}

.addon-service-name {
    font-size: 14px;
    font-weight: 600;
    color: #1c1c1c;
    font-family: "Plus Jakarta Sans";
    line-height: 1.3;
}

.addon-service-toggle-container {
    display: flex;
    align-items: center;
    gap: 8px;
}

.addon-service-toggle-label {
    font-size: 14px;
    font-weight: 500;
    color: #1C1C1C;
    font-family: "Plus Jakarta Sans";
}

.addon-service-toggle-label.selected {
    color: #EB5F40;
    font-weight: 600;
}

.addon-service-toggle {
    position: relative;
    width: 44px;
    height: 24px;
    background: #e2e8f0;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.addon-service-toggle.checked {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
}

.addon-service-toggle-slider {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background: white;
    border-radius: 50%;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.addon-service-toggle.checked .addon-service-toggle-slider {
    transform: translateX(20px);
}

.addon-service-description {
    color: #1C1C1C;
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
}

/* License Modal Specific Styles */
#license-modal-content {
    flex: 1;
    padding: 0 24px 24px 24px;
    height: 300px;
    overflow: scroll;
}

#license-modal-content p {
    color: #1C1C1C;
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 16px;
}

#license-modal-content p:last-child {
    margin-bottom: 0;
}


.warning-icon {
    font-size: 18px;
    flex-shrink: 0;
}

.warning-text {
    font-size: 14px;
    color: #991b1b;
    font-weight: 500;
    font-family: "Plus Jakarta Sans";
}

/* Grand Total Clickable */
.grand-total {
    cursor: pointer;
    transition: all 0.2s ease;
}

.grand-total:hover {
    background: #f8f9fa;
    border-radius: 8px;
}

/* Detailed Summary (Hidden by default) */
.detailed-summary {
    display: none;
    overflow: scroll;
    height: 400px;
    padding-right: 20px;
}
/*width*/
.detailed-summary::-webkit-scrollbar {
    width:4px;
  }
  
  
  /*thumb*/
  .detailed-summary::-webkit-scrollbar-thumb {
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    border-style:none;
    border-radius:8px;
  }
#license-modal-title {
    padding: 8px 24px;
}



/* Bottom Sheet Overlay */
#bottom-sheet-overlay {
    position: fixed;
        top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

#bottom-sheet-overlay.active {
    opacity: 1;
    visibility: visible;
}
.sheet-close-handle {
    display: none;
}


    
    /* Body scroll lock when sheet is open */
    

@media (max-width: 768px) {
    .summary-section-header {
        margin-bottom: 8px !important;
    }
    .sticky-summary-container.sheet-open .detailed-summary {
        max-height: calc(59vh - 60px - 100px);
    }
    .sticky-summary-container.sheet-open {
        height: 74vh;
    }
}
/* Responsive adjustments */
@media (max-width: 480px) {
    .footer-content {
        padding: 12px 16px;
        gap: 12px;
    }
    

}



/* Touch interaction improvements */
@media (max-width: 1200px) {

    
    .sheet-close-handle:active .handle-bar {
        background: #1C1C1C;
    }
}

@media (max-width: 1200px) {
    
    /* Mobile responsive adjustments for Webflow */
    /* Show sticky summary on mobile */
    .sticky-summary-container {
        display: block !important;
        position:relative;
        z-index: 9;
        background: #F9FAFB;
        border-radius: 20px;
        overflow-y: auto;
    }
    .activity-cards-container {
        max-width: 93vw;
    }
}

/* Hidden form sections - completely hidden until validated */
.form-section.hidden {
    display: none;
    opacity: 0;
    transform: translateY(30px);
}

/* Revealing form sections with elegant animation */
.form-section.revealing {
    display: block;
    animation: revealSection 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.form-section.visible {
    display: block;
    opacity: 1;
    transform: translateY(0);
    transition: all 0.3s ease;
}

/* Staggered reveal animation for multiple sections */
.form-section.revealing:nth-of-type(2) {
    animation-delay: 0.1s;
}

.form-section.revealing:nth-of-type(3) {
    animation-delay: 0.2s;
}

.form-section.revealing:nth-of-type(4) {
    animation-delay: 0.3s;
}

.form-section.revealing:nth-of-type(5) {
    animation-delay: 0.4s;
}

.form-section.revealing:nth-of-type(6) {
    animation-delay: 0.5s;
}

/* Elegant reveal animation */
@keyframes revealSection {
    0% {
        opacity: 0;
        transform: translateY(40px) scale(0.96);
        filter: blur(8px);
    }
    30% {
        opacity: 0.4;
        transform: translateY(20px) scale(0.98);
        filter: blur(4px);
    }
    60% {
        opacity: 0.8;
        transform: translateY(8px) scale(1.01);
        filter: blur(1px);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0px);
    }
}

/* Contact form validation success glow */
.contact-form-section.validated {
    position: relative;
}

.contact-form-section.validated::after {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(145deg, rgba(235, 95, 64, 0.08), rgba(181, 52, 139, 0.08));
    border-radius: 14px;
    z-index: -1;
    animation: validationGlow 2s ease-out;
}

@keyframes validationGlow {
    0% {
        opacity: 0;
        transform: scale(0.98);
    }
    50% {
        opacity: 1;
        transform: scale(1.01);
    }
    100% {
        opacity: 0.6;
        transform: scale(1);
    }
}

/* Sections reveal sequence message */
.sections-revealing-message {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.95);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    padding: 24px 32px;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    text-align: center;
    z-index: 9999;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.8);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sections-revealing-message.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.sections-revealing-message h3 {
    font-family: "Plus Jakarta Sans";
    font-size: 18px;
    font-weight: 600;
    color: #1C1C1C;
    margin: 0 0 8px 0;
    background: linear-gradient(145deg, #EB5F40, #B5348B);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.sections-revealing-message p {
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    color: #6B7280;
    margin: 0;
}

/* Contact form completion indicator */
.contact-form-section.completed .contact-form-header::after {
    content: '';
    position: absolute;
    top: 10px;
    right: 10px;
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20,6 9,17 4,12'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

.contact-form-section .contact-form-header {
    position: relative;
}

/* Enhanced submit button states */
.submit-button.validated {
    background: linear-gradient(100deg, #61A60E 7.85%, #004A98 94.23%);
}

.submit-button.validated:hover {
    background: linear-gradient(135deg, #004A98 0%, #61A60E 100%);
}

/* Progress indicator enhancement */
.contact-form-progress {
    margin-top: 16px;
    padding: 12px;
    background: #F3F4F6;
    border-radius: 8px;
    border-left: 4px solid #E5E7EB;
    transition: all 0.3s ease;
}

.contact-form-progress.completed {
    background: #ECFDF5;
    border-left-color: #10B981;
}

.contact-form-progress p {
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    color: #1C1C1C;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.contact-form-progress.completed p {
    color: #059669;
}

.contact-form-progress .progress-icon {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #E5E7EB;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.contact-form-progress.completed .progress-icon {
    background: #10B981;
}
.error-message {
    display: none;
    margin-top: 4px;
    color: #EB5F40;
    font-size: 12px;
    font-weight: 500;
    font-family: "Plus Jakarta Sans";
    line-height: 1.4;
    border: none;
}

.error-message:not(:empty) {
    display: block;
}

/* Input field error state */
.contact-form-section input.error {
    border-color: #EB5F40;
    background-color: #FEF2F2;
    box-shadow: 0 0 0 3px rgba(235, 95, 64, 0.1);
}

.contact-form-section input.error:focus {
    outline: none;
    border-color: #EB5F40;
    box-shadow: 0 0 0 3px rgba(235, 95, 64, 0.2);
}

/* Phone input error state */
.phone-input input.error {
    border-color: #EB5F40 !important;
    background-color: #FEF2F2 !important;
}

.phone-input input.error:focus {
    border-color: #EB5F40 !important;
    box-shadow: 0 0 0 3px rgba(235, 95, 64, 0.2) !important;
}

/* Summary pricing blur/hidden state */
.summary-pricing-hidden .summary-price,
.summary-pricing-hidden .grand-total-amount,
.summary-pricing-hidden #mobile-grand-total-price,
.summary-pricing-hidden .summary-value {
    filter: blur(8px);
    transition: filter 0.5s ease;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
}

.summary-pricing-hidden .summary-price::after,
.summary-pricing-hidden .grand-total-amount::after,
.summary-pricing-hidden #mobile-grand-total-price::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: rgba(249, 250, 251, 0.8);
    z-index: 1;
    pointer-events: none;
}

/* Pricing reveal overlay */
.pricing-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(249, 250, 251, 0.95);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    z-index: 10;
    transition: opacity 0.5s ease;
}

.pricing-overlay-content {
    text-align: center;
    padding: 20px;
}

.pricing-overlay h4 {
    font-size: 16px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px !important;
    margin-top: 0 !important;
}

.pricing-overlay p {
    font-size: 14px;
    color: #6B7280;
    margin: 0;
    line-height: 1.4;
}

/* Hide overlay when pricing is revealed */
.summary-pricing-revealed .pricing-overlay {
    opacity: 0;
    pointer-events: none;
}

.summary-pricing-revealed .summary-price,
.summary-pricing-revealed .grand-total-amount,
.summary-pricing-revealed #mobile-grand-total-price,
.summary-pricing-revealed .summary-value {
    filter: none;
    -webkit-user-select: text;
    user-select: text;
    pointer-events: auto;
}

/* Position relative for overlay positioning */
.sticky-summary-container {
    position: sticky;
    top: 110px;
}


/* Collapsible addons section in sticky summary */
#addons-summary-section {
    transition: all 0.3s ease;
}

#addons-summary-section:not(.expanded) .summary-content {
    display: none;
}

#addons-summary-section.expanded .summary-content {
    display: block;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        max-height: 0;
    }
    to {
        opacity: 1;
        max-height: 500px;
    }
}

/* Sticky Buttons Viewport Control */
.sticky-buttons {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.sticky-buttons.hiding {
    transform: translateY(calc(100% + 60px)) !important;
    opacity: 0 !important;
    visibility: visible !important;
}

.sticky-buttons.hidden {
    transform: translateY(calc(100% + 60px)) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.sticky-buttons.showing {
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Calculator-specific error messages to avoid Webflow conflicts */
.calc-error-message {
    color: #EB5F40 !important;
    font-size: 14px !important;
    margin-top: 5px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
        position: relative !important;
        z-index: 1 !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    line-height: 1.3 !important;
    pointer-events: none !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    box-sizing: border-box !important;
}

/* Force error message visibility - override any external styles */
.calc-error-message:not(:empty) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Calculator-specific error field styling */
input.calc-error,
.calc-error {
    border-color: #EB5F40 !important;
    border-width: 1px !important;
    border-style: solid !important;
    background-color: rgba(235, 95, 64, 0.05) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(235, 95, 64, 0.2) !important;
}

/* Focus state for error fields */
input.calc-error:focus,
.calc-error:focus {
    border-color: #EB5F40 !important;
    box-shadow: 0 0 0 3px rgba(235, 95, 64, 0.3) !important;
    outline: none !important;
}

/* Specific targeting for phone input errors */
.phone-input input.calc-error {
    border-color: #EB5F40 !important;
    border-width: 1px !important;
    border-style: solid !important;
}

.phone-input input.calc-error:focus {
    border-color: #EB5F40 !important;
    box-shadow: 0 0 0 2px rgba(235, 95, 64, 0.2) !important;
    outline: none !important;
}

/* Webflow form override protection */
form[data-name] .calc-error-message,
.w-form .calc-error-message,
[class*="w-"] .calc-error-message {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #EB5F40 !important;
    font-size: 14px !important;
    margin-top: 5px !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Anti-interference protection */
.calc-error-message * {
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-family: inherit !important;
}

/* Mobile-specific error message fixes */
@media (max-width: 768px) {
    .calc-error-message {
        font-size: 13px !important;
        margin-top: 4px !important;
        line-height: 1.2 !important;
    }
    
    input.calc-error,
    .calc-error {
        border-width: 2px !important;
    }
}

/* Animation for error appearance */
@keyframes errorFadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.calc-error-message:not(:empty) {
    animation: errorFadeIn 0.3s ease-out !important;
}

/* Validation states for submit button */
.submit-button.validated {
    background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    color: white !important;
    border-color: #16a34a !important;
}

.submit-button.validated:hover {
    background: linear-gradient(135deg, #16a34a, #15803d) !important;
    transform: translateY(-1px) !important;
}

/* Loading state for buttons */
.submit-button:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
    transform: none !important;
}
#theFinalSuccessMessage h2 {
    font-family: "Plus Jakarta Sans";
font-size: 22px;
font-style: normal;
font-weight: 700;
line-height: 24px; /* 109.091% */
    background: linear-gradient(102deg, #EB5F40 0%, #B5348B 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Success Popup Modal */
.success-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.success-popup-overlay.show {
    opacity: 1;
    visibility: visible;
}

.success-popup-content {
    position: relative;
    background: white;
    border-radius: 24px;
    padding: 40px;
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    transform: scale(0.9) translateY(20px);
    transition: transform 0.3s ease;
}

.success-popup-overlay.show .success-popup-content {
    transform: scale(1) translateY(0);
}

.success-popup-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    font-size: 28px;
    color: #666;
    cursor: pointer;
    padding: 8px;
    line-height: 1;
    transition: color 0.2s ease;
}

.success-popup-close:hover {
    color: #333;
}

.success-popup-inner {
    display: flex;
    align-items: center;
    gap: 24px;
}

.success-popup-text {
    flex: 1;
}

.success-popup-title {
    font-size: 28px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 12px 0;
    line-height: 1.2;
}

.success-popup-description {
    font-size: 16px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

.success-popup-image {
    flex-shrink: 0;
}

.popup-team-photo {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #f0f0f0;
}

/* Mobile adjustments for popup */
@media (max-width: 768px) {
    .success-popup-content {
        padding: 24px;
        margin: 16px;
    }
    
    .success-popup-inner {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
    
    .success-popup-title {
        font-size: 24px;
    }
    
    .success-popup-description {
        font-size: 15px;
    }
    
    .popup-team-photo {
        width: 100px;
        height: 100px;
    }
}

/* Success Message Styling */
.success-message-container {
    background: #f8f9fa;
    border-radius: 20px;
    padding: 24px;
    margin: 16px 0;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease;
    max-width: 100%;
    width: 100%;
}

.success-message-container.show {
    opacity: 1;
    transform: translateY(0);
}

/* Success message in sticky summary context */
.sticky-summary-container .success-message-container {
    margin: 16px 0 0 0;
    padding: 20px;
}

.success-message-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    max-width: 500px;
    margin: 0 auto;
}

.success-text {
    flex: 1;
}

.success-title {
    color: #E74C3C;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 12px 0;
    letter-spacing: -0.5px;
}

.success-description {
    color: #6c757d;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
}

.success-image {
    flex-shrink: 0;
}

.team-member-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .success-message-container {
        padding: 20px;
        margin: 12px 0;
    }
    
    .sticky-summary-container .success-message-container {
        margin: 12px 0 0 0;
        padding: 16px;
    }
    
    .success-message-content {
        flex-direction: column;
        text-align: center;
        gap: 16px;
        max-width: 100%;
    }
    
    .success-title {
        font-size: 22px;
    }
    
    .success-description {
        font-size: 14px;
    }
    
    .team-member-photo {
        width: 60px;
        height: 60px;
    }
    
    /* Success message in mobile sheet view */
    .sticky-summary-container.sheet-open .success-message-container {
        margin: 16px 0 0 0;
        padding: 20px;
    }
    
    .sticky-summary-container.sheet-open .success-title {
        font-size: 20px;
    }
    
    .sticky-summary-container.sheet-open .success-description {
        font-size: 13px;
    }
    
    /* Mobile success message in footer */
    .mobile-success-container {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 12px 16px;
        background: #f8f9fa;
        border-radius: 12px;
        margin: 0 10px;
        opacity: 0;
        transform: translateY(10px);
        transition: all 0.4s ease;
    }
    
    .mobile-success-container.show {
        opacity: 1;
        transform: translateY(0);
    }
    
    .mobile-success-content {
        display: flex;
        align-items: center;
        gap: 12px;
        width: 100%;
    }
    
    .mobile-success-text {
        flex: 1;
    }
    
    .mobile-success-title {
        color: #E74C3C;
        font-family: "Plus Jakarta Sans", sans-serif;
        font-size: 16px;
        font-weight: 700;
        margin: 0 0 4px 0;
        line-height: 1.2;
    }
    
    .mobile-success-description {
        color: #6c757d;
        font-family: "Plus Jakarta Sans", sans-serif;
        font-size: 12px;
        font-weight: 400;
        margin: 0;
        line-height: 1.3;
    }
    
    .mobile-team-photo {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        object-fit: cover;
        flex-shrink: 0;
    }
}

.iti__country-list {
    z-index: 10000 !important;
    background-color: #fff !important;
}

/* Back to Top Button with Progress (Mobile Only) */
.back-to-top-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.98);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px) scale(0.8);
    pointer-events: none;
    padding: 2px;
}

.back-to-top-button.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(247, 191, 179, 0.2);
}

.back-to-top-button:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.16);
    background: rgba(255, 255, 255, 1);
}

.back-to-top-button:active {
    transform: translateY(0) scale(0.95);
}

.progress-ring {
    position: absolute;
    top: -2px;
    left: -2px;
    width: 64px;
    height: 64px;
    transform: rotate(-90deg);
    z-index: 1;
}

.progress-ring-circle {
    stroke: #F7BFB3;
    stroke-width: 4;
    opacity: 0.4;
}

.progress-ring-progress {
    stroke-dasharray: 175.93; /* Circumference: 2 * π * 28 */
    stroke-dashoffset: 175.93;
    transition: stroke-dashoffset 0.2s ease;
    filter: drop-shadow(0 0 2px rgba(235, 95, 64, 0.3));
}

.back-to-top-icon {
    position: relative;
    z-index: 2;
    color: #374151;
    transition: color 0.3s ease;
}

.back-to-top-button:hover .back-to-top-icon {
    color: #B5348B;
}

/* Hide on desktop */
@media (min-width: 769px) {
    .back-to-top-button {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* Sticky buttons/navbar hiding animation */
.sticky-buttons.hidden,
.navbar1_container-3.mobile-nav.hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-100%);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sticky-buttons,
.navbar1_container-3.mobile-nav {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Mobile specific adjustments */
@media (max-width: 768px) {
    .back-to-top-button {
        bottom: 85px;
    }
    
    .back-to-top-button.visible {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

#investor-dependent-disclaimer {
margin-bottom: 16px;
}

/* Share Button Styles */
.grand-total {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
}

.grand-total-left {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.share-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: none;
    color: #6b7280;
    font-size: 14px;
    font-weight: 500;
    font-family: "Plus Jakarta Sans", sans-serif;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 8px;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.share-btn:hover {
    background: #f3f4f6;
    color: #374151;
}

.share-btn:active {
    transform: scale(0.98);
}

.share-icon {
    width: 20px;
    height: 20px;
    color: inherit;
    transition: transform 0.2s ease;
}

.share-btn.loading .share-icon {
    display: none;
}

.share-btn.loading::before {
    content: '';
    width: 16px;
    height: 16px;
    border: 2px solid #e5e7eb;
    border-top: 2px solid #6b7280;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    display: inline-block;
    margin-right: 4px;
}

.share-btn.copied {
    color: #10b981;
}

.share-btn.copied .share-icon {
    color: #10b981;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .grand-total {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    
    .share-btn {
        justify-content: center;
    }
}