/* ---------- Trigger-based Pricing Popup Styles ---------- */

/* ========= POPUP OVERLAY & BOX ========= */

.pricing-popup-overlay {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.6);
display: none;
/* JS sets to flex */
justify-content: center;
align-items: center;
z-index: 9999;
padding: 20px;
overflow-y: auto;
}

.pricing-popup-box {
background: var(--navy-blue);
/* same deep blue as screenshot */
border-radius: 20px;
width: 100%;
max-width: 900px;
padding: 50px 80px 40px;
position: relative;
max-height: 90vh;
overflow-y: auto;
}

/* Close button (top-right X) */

.pricing-popup-close {
position: absolute;
top: 18px;
right: 22px;
font-size: 30px;
color: #ffffff;
cursor: pointer;
background: none;
border: none;
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: all 0.25s ease;
}

.pricing-popup-close:hover {
background: rgba(255, 255, 255, 0.08);
}

/* ========= HEADING & SUBTITLE ========= */

#pricingFormContainer {
margin-top: 10px;
}

.popup-heading {
font-size: var(--banner-title);
color: #f8b836;
/* warm yellow like screenshot */
text-align: center;
margin-bottom: 14px;
}

.popup-subtitle,
.checkbox-group label,
.privacy-text {
color: var(--platinum-gray) !important;
}

.popup-subtitle {
text-align: center;
margin-bottom: 38px;
max-width: 540px;
margin-left: auto;
margin-right: auto;
line-height: 1.6;
}

/* ========= FORM LAYOUT ========= */

.form-group {
margin-bottom: 20px;
}

.form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
width: 100%;
}

.form-group label {
display: block;
margin-bottom: 6px;
color: var(--platinum-gray);
font-weight: 500;
font-size: 14px;
font-family: var(--poppins-font);
}

.form-group label .required {
margin-left: 2px;
}

.form-group input,
.form-group select,
.form-group textarea {
width: 100%;
padding: 13px 18px;
border: 1px solid rgba(255, 255, 255, 0.22);
border-radius: 10px;
font-size: 14px;
transition: all 0.25s ease;
font-family: inherit;
color: #1c1c1c;
background: #ffffff;
}

#plans-pricing-card-placeholder .pricing-box-items .pricing-button .btn-style-one {
padding-right: 30px !important;
}

.form-group {
position: relative;
}

/* Hide default arrow + add custom icon */
.form-group select {
width: 100%;
padding-right: 35px;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
background-repeat: no-repeat;
background-position: right 10px center;
background-size: 14px;
/* Outlined arrow (stroke only) */
background-image: url("data:image/svg+xml;utf8,<svg stroke='black' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><polyline points='6 9 12 15 18 9'/></svg>");
}

.form-group textarea {
border-radius: 18px;
/* message textarea (if you add it) */
min-height: 72px;
resize: vertical;
}

.form-group input::placeholder,
.form-group select::placeholder,
.form-group textarea::placeholder,
.form-group select {
color: #b0b0b0;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
outline: none;
border-color: #f8b836;
box-shadow: 0 0 0 2px rgba(248, 184, 54, 0.35);
}

/* Error state (if you later add custom validation) */

.form-group.error input,
.form-group.error select,
.form-group.error textarea {
border-color: #e74c3c;
}

.error-message {
color: #e74c3c;
font-size: 12px;
margin-top: 5px;
display: none;
/* using browser validation by default */
}

.form-group.error .error-message {
display: block;
}

/* ========= PHONE INPUT ========= */

.phone-input-wrapper {
position: relative;
}

.iti {
width: 100%;
}

.iti__flag-container {
padding: 0;
}

.iti__selected-flag {
padding: 0 15px;
}

/*#mobileNumber {*/
/*padding-left: 70px;*/
/*}*/

/* ========= CHECKBOX & CONSENT ========= */

.checkbox-group {
display: flex;
align-items: flex-start;
gap: 10px;
}

.checkbox-group input[type="checkbox"] {
width: 18px;
height: 18px;
margin-top: 3px;
cursor: pointer;
flex-shrink: 0;
}

div.consent-error {
margin-left: 30px;
}

.checkbox-group label {
margin: 0;
cursor: pointer;
font-size: 14px;
}

.privacy-text {
font-size: 12px;
margin-left: 28px;
margin-top: 4px;
display: block;
}

/* ========= FORM CTA BUTTON (REQUEST A CALLBACK) ========= */

.pricing-form-cta-section {
display: flex;
align-items: center;
justify-content: center;
max-width: fit-content;
margin-left: auto;
margin-right: auto;
gap: 10px;
padding: 15px 34px;
border-radius: 999px;
border: none;
cursor: pointer;
font-size: 15px;
font-weight: 600;
font-family: var(--poppins-font);
background: var(--cpc-gradient);
/* your yellow gradient */
color: #000;
transition: all 0.25s ease;
margin-top: 40px;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.pricing-form-cta-section .icon {
display: inline-flex;
align-items: center;
justify-content: center;
}

.pricing-form-cta-section svg {
display: block;
}

.pricing-form-cta-section:hover {
transform: translateY(-1px);
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
}

/* ========= SUCCESS / THANK YOU ========= */

.success-message {
display: none;
text-align: center;
padding: 20px;
}

/* Big dynamic thank you block */

.thank-you-content {
background: var(--navy-blue);
border-radius: 20px;
width: 100%;
max-width: 900px;
padding: 40px 80px;
position: relative;
max-height: 90vh;
overflow-y: auto;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}

.thank-you-content>p {
color: var(--platinum-gray);
max-width: 70%;
margin-left: auto;
margin-right: auto;
text-align: center;
margin-top: 32px !important;
}

.contact-section {
display: flex;
align-items: center;
flex-direction: column;
margin-top: 40px !important;
}

.contact-section p {
color: var(--platinum-gray);
}

.thank-you-content a {
color: var(--platinum-gray);
text-decoration: none;
}

.contact-section p,
.thank-you-content a,
.thank-you-content>p {
font-size: var(--section-sub-heading) !important;
}

.icon-and-number-container {
display: flex;
align-items: center;
gap: 10px;
}

.whatsapp-icon {
height: 30px;
width: 30px;
}

/* Country list dropdown for phone plugin */

.iti__country-list {
max-height: 200px;
overflow-y: scroll;
max-width: 388px;
}

.iti__search-input {
width: calc(100% - 20px);
margin: 10px;
padding: 8px;
border: 1px solid #ddd;
border-radius: 4px;
}

/* ========= RESPONSIVE ========= */

@media (max-width: 768px) {
.form-row {
grid-template-columns: 1fr;
gap: 0 !important;
}

.pricing-popup-box {
padding: 40px 20px 30px;
}

.thank-you-content {
padding: 40px 20px !important;
}

.thank-you-content h1 {
width: fit-content !important;
font-size: 56px;
}

.thank-you-content>p {
text-align: center !important;
}
}

@media (max-width: 541px) {
p.popup-subtitle {
text-align: center !important;
width: 100% !important;
}

#pricingFormContainer {
margin-top: 20px !important;
}

.form-row {
gap: 10px !important;
}

.pricing-popup-box {
min-height: 100vh;
width: 100%;
border-radius: 0 !important;
}

.pricing-popup-overlay {
padding: 0 !important;
min-height: 100vh !important;
}

.popup-heading {
padding: 0px 20px !important;
}

.thank-you-content {
transform: scale(0.95) !important;
margin-top: 80px !important;
min-height: auto;
overflow-y: hidden !important;
}

.thank-you-content h1 {
font-size: 48px !important;
}

.pricing-form-cta-section{
margin-left:0;
}
}

@media (max-width: 360px) {
.thank-you-content h1 {
font-size: 44px !important;
}
}

@media (max-width: 491px) {
.popup-heading {
padding: 0px 0px !important;
}
}