/* Cards Grid Block Styles */
.cards-grid-block {
    position: relative;
}

.card-item {
    min-height: 300px;
}

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

.card-title {
    margin-bottom: 0.5rem;
}

.card-description {
    flex-grow: 1;
    line-height: 1.6;
}

/* Editor Styles */
.sign-up-form-block-editor {
    background: #f9fafb;
    border: 2px dashed #d1d5db !important;
    border-radius: 8px;
}

.sign-up-form-block-editor:hover {
    border-color: #3b82f6 !important;
}

.card-preview {
    transition: all 0.2s ease;
}

.card-preview:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.card-editor {
    background: rgba(255,255,255,0.5);
}

.cards-preview {
    padding: 1rem;
    background: rgba(255,255,255,0.3);
    border-radius: 8px;
    border: 1px solid rgba(0,0,0,0.1);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .cards-grid-block .px-10 {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    .cards-grid-block h2 {
        font-size: 2.5rem !important;
    }
}

/* ========================================
   GRAVITY FORMS SIGN-UP FORM STYLING
   ======================================== */

/* Form Container Wrapper */
.cards-grid-block .sign-up-form-wrapper {
    width: 100%;
    min-width: 334px;
    max-width: 400px;
    margin: 0 auto;
}

/* Gravity Forms Main Container */
.cards-grid-block .sign-up-form-wrapper .gform_wrapper {
    background-color: var(--color-green-900, #373A19);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 1rem;
    width: 100%;
    min-width: 334px;
}

/* Form Title - "It's FREE! Get Started:" */
.cards-grid-block .sign-up-form-wrapper .sign-up-form-title,
.cards-grid-block .sign-up-form-wrapper .gform_title,
.cards-grid-block .sign-up-form-wrapper .gform_wrapper > h3 {
    font-family: var(--font-subheading, "apolline", serif) !important;
    font-size: 1.25rem !important; /* text-xl */
    font-weight: 700 !important;
    color: var(--color-green-400, #D4D2C4) !important;
    text-transform: capitalize !important;
    line-height: 1.5 !important;
    letter-spacing: -0.025em !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    width: 100%;
    text-align: center;
}

/* Fields Container */
.cards-grid-block .sign-up-form-wrapper .gform_fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Individual Field */
.cards-grid-block .sign-up-form-wrapper .gfield {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Field Label */
.cards-grid-block .sign-up-form-wrapper .gfield_label,
.cards-grid-block .sign-up-form-wrapper .gfield_label label {
    font-family: var(--font-body, "azo-sans-web", sans-serif) !important;
    font-size: 0.875rem !important; /* text-sm */
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--color-yellow-200, #FBEB8F) !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    text-align: center;
}

/* Remove required asterisk styling or keep it subtle */
.cards-grid-block .sign-up-form-wrapper .gfield_required {
    color: var(--color-yellow-200, #FBEB8F) !important;
}

/* Input Container */
.cards-grid-block .sign-up-form-wrapper .ginput_container {
    width: 100% !important;
    margin: 0 !important;
}

/* Input Fields */
.cards-grid-block .sign-up-form-wrapper .ginput_container input[type="text"],
.cards-grid-block .sign-up-form-wrapper .ginput_container input[type="email"],
.cards-grid-block .sign-up-form-wrapper .ginput_container input[type="tel"],
.cards-grid-block .sign-up-form-wrapper .ginput_container input[type="url"],
.cards-grid-block .sign-up-form-wrapper .ginput_container input[type="password"] {
    width: 100% !important;
    height: 3rem !important; /* h-12 */
    padding: 0.5rem 0.75rem !important; /* px-3 py-2 */
    background-color: var(--color-green-100, #F3F0E5) !important;
    border: 1px solid var(--color-green-700, #736F53) !important;
    outline: 1px solid var(--color-green-700, #736F53) !important;
    outline-offset: -1px !important;
    border-radius: 0 !important;
    font-family: var(--font-body, "azo-sans-web", sans-serif) !important;
    font-size: 1rem !important; /* text-base */
    font-weight: 400 !important;
    line-height: 1.25 !important; /* leading-5 */
    color: var(--color-green-700, #736F53) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

/* Input Placeholder */
.cards-grid-block .sign-up-form-wrapper .ginput_container input::placeholder {
    color: var(--color-green-700, #736F53) !important;
    opacity: 0.7 !important;
}

/* Input Focus State */
.cards-grid-block .sign-up-form-wrapper .ginput_container input:focus {
    outline: 1px solid var(--color-green-700, #736F53) !important;
    outline-offset: -1px !important;
    border-color: var(--color-green-700, #736F53) !important;
}

/* Submit Button Container */
.cards-grid-block .sign-up-form-wrapper .gform_footer {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left;
}

/* Submit Button */
.cards-grid-block .sign-up-form-wrapper .gform_button,
.cards-grid-block .sign-up-form-wrapper input[type="submit"],
.cards-grid-block .sign-up-form-wrapper button[type="submit"] {
    padding: 0.75rem 2.5rem 0.75rem 1rem !important; /* px-4 py-3 - extra right padding for icon */
    background-color: var(--color-yellow-200, #FBEB8F) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.0485 6.35147C20.5171 6.8201 20.5171 7.5799 20.0485 8.04853L10.4485 17.6485C9.97987 18.1172 9.22008 18.1172 8.75145 17.6485L3.95145 12.8485C3.48282 12.3799 3.48282 11.6201 3.95145 11.1515C4.42008 10.6828 5.17987 10.6828 5.6485 11.1515L9.59998 15.1029L18.3514 6.35147C18.8201 5.88284 19.5799 5.88284 20.0485 6.35147Z' fill='%2322240F'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 24px 24px !important;
    border: 1px solid var(--color-green-400, #D4D2C4) !important;
    outline: none !important;
    border-radius: 0 !important;
    font-family: var(--font-body, "azo-sans-web", sans-serif) !important;
    font-size: 0.875rem !important; /* text-sm */
    font-weight: 500 !important;
    line-height: 1.25 !important; /* leading-tight */
    letter-spacing: 0.05em !important; /* tracking-wider */
    text-transform: uppercase !important;
    color: var(--color-green-950, #22240F) !important;
    cursor: pointer !important;
    display: inline-block !important;
    width: 158px !important; /* w-[158px] */
    max-height: 42px !important; /* max-h-[42px] */
    margin: 0 !important;
    text-align: left !important;
    transition: color 0.2s ease, background-color 0.2s ease, background-image 0.2s ease !important; /* transition-colors duration-200 */
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

/* Submit Button Hover */
.cards-grid-block .sign-up-form-wrapper .gform_button:hover,
.cards-grid-block .sign-up-form-wrapper input[type="submit"]:hover,
.cards-grid-block .sign-up-form-wrapper button[type="submit"]:hover {
    background-color: var(--color-brown-900, #5D3525) !important;
    color: var(--color-yellow-200, #FBEB8F) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.0485 6.35147C20.5171 6.8201 20.5171 7.5799 20.0485 8.04853L10.4485 17.6485C9.97987 18.1172 9.22008 18.1172 8.75145 17.6485L3.95145 12.8485C3.48282 12.3799 3.48282 11.6201 3.95145 11.1515C4.42008 10.6828 5.17987 10.6828 5.6485 11.1515L9.59998 15.1029L18.3514 6.35147C18.8201 5.88284 19.5799 5.88284 20.0485 6.35147Z' fill='%23FBEB8F'/%3E%3C/svg%3E") !important;
}

/* Hide Gravity Forms default descriptions */
.cards-grid-block .sign-up-form-wrapper .gform_description,
.cards-grid-block .sign-up-form-wrapper .field_description {
    display: none !important;
}

/* Validation Messages */
.cards-grid-block .sign-up-form-wrapper .gfield_error .gfield_label,
.cards-grid-block .sign-up-form-wrapper .validation_message {
    color: var(--color-yellow-200, #FBEB8F) !important;
    font-size: 0.875rem !important;
}

.cards-grid-block .sign-up-form-wrapper .gfield_error input {
    border-color: var(--color-yellow-200, #FBEB8F) !important;
    outline-color: var(--color-yellow-200, #FBEB8F) !important;
}

/* Success Message */
.cards-grid-block .sign-up-form-wrapper .gform_confirmation_message {
    background-color: var(--color-green-900, #373A19) !important;
    color: var(--color-green-400, #D4D2C4) !important;
    padding: 1rem !important;
    text-align: center !important;
    font-family: var(--font-body, "azo-sans-web", sans-serif) !important;
}


/* Gravity Forms Foundation Theme - Remove border radius */
.gform-theme--foundation .gform-grid-col {
	padding-inline: 0 !important;
}

.gform-theme--foundation input,
.gform-theme--foundation textarea,
.gform-theme--foundation select,
.gform-theme--foundation button {
	border-radius: 0 !important;
}

.gform-field-label.gform-field-label--type-sub,
[id^="label_"] {
	color: var(--color-green-400, #D4D2C4) !important;
}

.ginput_container.ginput_container_checkbox {
	padding: 14px 0;
}

/* Ensure all Gravity Forms inputs have no border radius */
.cards-grid-block .sign-up-form-wrapper input,
.cards-grid-block .sign-up-form-wrapper textarea,
.cards-grid-block .sign-up-form-wrapper select,
.cards-grid-block .sign-up-form-wrapper button {
	border-radius: 0 !important;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .cards-grid-block .sign-up-form-wrapper {
        max-width: 100%;
        padding: 0 1rem;
    }
    
    .cards-grid-block .sign-up-form-wrapper .gform_wrapper {
        min-width: auto;
    }
}