/* Pull content closer to header */
.site-content {
    padding-top: 15px !important;
}

#primary,
.ast-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/**
 * LabelGo - Contact Us Page Styles
 * Easy to edit. LiteSpeed Cache auto-purge supported.
 */
:root {
    --labelgo-primary: #8c00ff;
    --labelgo-secondary: #ff00f2;
    --labelgo-gradient: linear-gradient(135deg, #8c00ff 0%, #ff00f2 100%);
    --labelgo-dark: #0f172a;
    --labelgo-muted: #64748b;
    --labelgo-border: #e2e8f0;
    --labelgo-border-hover: #cbd5e1;
    --labelgo-shadow-rest: 0 4px 20px -2px rgba(0, 0, 0, 0.05);
    --labelgo-shadow-hover: 0 16px 32px -4px rgba(140, 0, 255, 0.12), 0 6px 12px -2px rgba(0, 0, 0, 0.04);
    --labelgo-transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.labelgo-page-hero-wrap,
.wp-block-group.labelgo-page-hero-wrap {
    padding: 20px 20px 10px !important;
    max-width: 1360px !important;
    margin: 0 auto 10px !important;
    text-align: center !important;
}

.labelgo-page-hero-badge {
    display: inline-block !important;
    background: rgba(140, 0, 255, 0.08) !important;
    color: var(--labelgo-primary) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 6px 18px !important;
    border-radius: 9999px !important;
    margin: 0 auto 16px !important;
}

.labelgo-page-hero-title {
    font-size: 44px !important;
    font-weight: 800 !important;
    color: var(--labelgo-dark) !important;
    line-height: 1.2 !important;
    margin: 0 auto 16px !important;
    max-width: 900px !important;
}

.labelgo-page-hero-subtitle {
    font-size: 17px !important;
    color: var(--labelgo-muted) !important;
    line-height: 1.6 !important;
    max-width: 760px !important;
    margin: 0 auto 24px !important;
}

/* Contact Main Layout */
.labelgo-contact-main-section {
    margin-bottom: 40px !important;
}

.labelgo-contact-layout-cols {
    gap: 40px !important;
    align-items: flex-start !important;
}

/* Contact Info Cards (Left Column) */
.labelgo-contact-card {
    background: #ffffff !important;
    border: 1px solid var(--labelgo-border) !important;
    border-radius: 20px !important;
    padding: 28px 24px !important;
    margin-bottom: 20px !important;
    box-shadow: var(--labelgo-shadow-rest) !important;
    transition: var(--labelgo-transition) !important;
}

.labelgo-contact-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--labelgo-shadow-hover) !important;
    border-color: var(--labelgo-border-hover) !important;
}

.labelgo-card-title {
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 6px !important;
}

.labelgo-card-role {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--labelgo-primary) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    margin: 0 0 10px !important;
}

.labelgo-card-address {
    font-size: 14px !important;
    color: #64748b !important;
    line-height: 1.6 !important;
    margin: 0 0 16px !important;
}

.labelgo-card-action a,
.labelgo-card-action .wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 22px !important;
    border-radius: 9999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: var(--labelgo-transition) !important;
}

.labelgo-whatsapp-btn a,
.labelgo-whatsapp-btn .wp-block-button__link {
    background: #25D366 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.25) !important;
    border: none !important;
}

.labelgo-whatsapp-btn a:hover,
.labelgo-whatsapp-btn .wp-block-button__link:hover {
    background: #1eb855 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(37, 211, 102, 0.35) !important;
}

.labelgo-email-btn a,
.labelgo-email-btn .wp-block-button__link {
    background: rgba(140, 0, 255, 0.08) !important;
    color: var(--labelgo-primary) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 10px 22px !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    transition: all 0.22s ease !important;
    display: inline-block !important;
    border: none !important;
    text-transform: lowercase !important;
}

.labelgo-email-btn a:hover,
.labelgo-email-btn .wp-block-button__link:hover {
    background: var(--labelgo-primary) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(140, 0, 255, 0.25) !important;
}

.labelgo-map-card {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--labelgo-shadow-rest);
    border: 1px solid var(--labelgo-border);
}

/* Contact Form Card (Right Column) */
.labelgo-form-card {
    background: #ffffff !important;
    border: 1px solid var(--labelgo-border) !important;
    border-radius: 24px !important;
    padding: 40px 36px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
}

.labelgo-form-title {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 8px !important;
}

.labelgo-form-subtitle {
    font-size: 14.5px !important;
    color: #64748b !important;
    line-height: 1.6 !important;
    margin: 0 0 24px !important;
}

/* Form Layout & Input Fields */
.labelgo-form-row {
    margin-bottom: 20px !important;
}

.labelgo-two-cols {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
}

.labelgo-three-cols {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
}

.labelgo-field-group {
    display: flex !important;
    flex-direction: column !important;
}

.labelgo-field-group label {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    margin-bottom: 6px !important;
    text-align: left !important;
    display: block !important;
}

.labelgo-field-group label .required {
    color: #ef4444 !important;
}

.labelgo-field-group input,
.labelgo-field-group select,
.labelgo-field-group textarea {
    width: 100% !important;
    background: #f8fafc !important;
    border: 1.5px solid var(--labelgo-border) !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
    font-size: 14.5px !important;
    color: #0f172a !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    outline: none !important;
}

.labelgo-field-group select {
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 38px !important;
    cursor: pointer !important;
}

.labelgo-field-group input:focus,
.labelgo-field-group select:focus,
.labelgo-field-group textarea:focus {
    background: #ffffff !important;
    border-color: var(--labelgo-primary) !important;
    box-shadow: 0 0 0 4px rgba(140, 0, 255, 0.1) !important;
}

.labelgo-field-group input.is-invalid,
.labelgo-field-group textarea.is-invalid {
    border-color: #ef4444 !important;
    background: #fff5f5 !important;
}

.labelgo-field-error {
    display: none;
    font-size: 12px !important;
    color: #ef4444 !important;
    font-weight: 500 !important;
    margin-top: 4px !important;
    text-align: left !important;
}

.labelgo-field-group.has-error .labelgo-field-error {
    display: block !important;
}

/* Submit Button */
.labelgo-btn-submit {
    width: 100% !important;
    padding: 15px 32px !important;
    font-size: 16px !important;
    border-radius: 9999px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    border: none !important;
    background: var(--labelgo-gradient) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(140, 0, 255, 0.25) !important;
    transition: var(--labelgo-transition) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.labelgo-btn-submit:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(140, 0, 255, 0.4) !important;
}

.labelgo-btn-submit:disabled {
    opacity: 0.65 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Feedback Messages */
.labelgo-form-feedback {
    margin-top: 16px !important;
    padding: 14px 18px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.labelgo-feedback-success {
    background: #ecfdf5 !important;
    color: #065f46 !important;
    border: 1px solid #a7f3d0 !important;
}

.labelgo-feedback-error {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border: 1px solid #fecaca !important;
}

/* Dynamic Product Fields & Animation */
.labelgo-product-fields {
    animation: labelgoFadeIn 0.3s ease-in-out;
}

.labelgo-sub-fields {
    animation: labelgoFadeIn 0.25s ease-in-out;
}

@keyframes labelgoFadeIn {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Modern File Upload Input */
.labelgo-file-upload-group {
    position: relative !important;
}

.labelgo-file-input-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    background: #f8fafc !important;
    border: 1.5px dashed var(--labelgo-border) !important;
    border-radius: 12px !important;
    padding: 10px 16px !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.labelgo-file-input-wrapper:hover {
    border-color: var(--labelgo-primary) !important;
    background: #faf5ff !important;
}

.labelgo-hidden-file-input {
    display: none !important;
}

.labelgo-file-choose-btn {
    background: #ffffff !important;
    border: 1.5px solid var(--labelgo-border) !important;
    color: #334155 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    padding: 8px 18px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    flex-shrink: 0 !important;
}

.labelgo-file-choose-btn:hover {
    border-color: var(--labelgo-primary) !important;
    color: var(--labelgo-primary) !important;
    box-shadow: 0 2px 8px rgba(140, 0, 255, 0.15) !important;
}

.labelgo-file-status-text {
    font-size: 14px !important;
    color: #64748b !important;
    font-weight: 500 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    flex-grow: 1 !important;
}

.labelgo-file-status-text.has-file {
    color: #8c00ff !important;
    font-weight: 600 !important;
}

.labelgo-file-remove-btn {
    background: #fee2e2 !important;
    border: none !important;
    color: #ef4444 !important;
    font-size: 18px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    transition: all 0.2s ease !important;
}

.labelgo-file-remove-btn:hover {
    background: #ef4444 !important;
    color: #ffffff !important;
}

/* Google reCAPTCHA v3 Badge Positioning Fix */
.grecaptcha-badge {
    z-index: 99999999 !important;
    bottom: 20px !important;
    right: 20px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.15) !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
}

@media (max-width: 768px) {
    .labelgo-two-cols,
    .labelgo-three-cols {
        grid-template-columns: 1fr !important;
    }
    .labelgo-file-input-wrapper {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    .labelgo-file-status-text {
        width: 100% !important;
        max-width: 100% !important;
    }
    .labelgo-form-card {
        padding: 26px 20px !important;
    }
    .grecaptcha-badge {
        bottom: 12px !important;
        right: 12px !important;
    }
}