/*
Theme Name: Roger Vilela
Theme URI: https://rogervilela.com.br
Author: SUED Studio
Author URI: https://suedstudio.com.br
Description: Landing page exclusiva da Barbearia Roger Vilela — novo espaço, lista VIP e evento de lançamento.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: Private
Text Domain: roger-vilela
Tags: full-site-editing, block-patterns, dark, one-page, landing-page
*/

/* Efeito sanfoninha (sticky) para a Seção 2 no Mobile */
@media (max-width: 767px) {
    .framer-1qv5xp5 .ssr-variant.hidden-72rtr7 .framer-ay9f1j {
        position: sticky !important;
        top: 24px !important;
        z-index: 1;
    }

    .framer-1qv5xp5 .ssr-variant.hidden-72rtr7 .framer-1n0exwb {
        position: sticky !important;
        top: 48px !important;
        z-index: 2;
    }

    .framer-1qv5xp5 .ssr-variant.hidden-72rtr7 .framer-1hx1mja {
        position: sticky !important;
        top: 72px !important;
        z-index: 3;
    }
}

/* ============================================================
   VIP FORM — CUSTOM INPUTS & BUTTON STANDARDIZATION
   ============================================================ */

/* Base input fields inside the VIP form */
#rv-vip-form .framer-form-input {
    font-family: 'Nunito', sans-serif !important;
    font-size: 16px !important;
    color: #ffffff !important;
    padding: 12px 16px !important;
    height: auto !important;
    box-sizing: border-box !important;
}

/* Placeholder styles */
#rv-vip-form .framer-form-input::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

/* Wrapper styling for inputs */
#rv-vip-form .framer-form-input-wrapper {
    border-radius: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Disable Framer's default pseudo-border overlay */
#rv-vip-form .framer-form-input-wrapper::after {
    display: none !important;
}

/* Focused input styling */
#rv-vip-form .framer-form-input-wrapper:focus-within {
    border-color: #c8a96e !important;
    /* Brand Gold */
    box-shadow: 0 0 0 2px rgba(200, 169, 110, 0.2) !important;
}

/* Invalid field visual indicator */
#rv-vip-form .framer-form-input-wrapper.is-invalid {
    border-color: #e05a5a !important;
    box-shadow: 0 0 0 2px rgba(224, 90, 90, 0.2) !important;
}

/* Fix: Framer places overlay elements (span, div, p) inside the button that
   intercept pointer events.  Disabling pointer-events on ALL direct children
   ensures the click always reaches the <button> element itself. */
#rv-vip-submit>* {
    pointer-events: none !important;
}

/* Enabled button: explicit pointer cursor on hover */
#rv-vip-submit:not(:disabled) {
    cursor: pointer !important;
}

/* Submit button disabled state */
#rv-vip-submit:disabled {
    opacity: 0.35 !important;
    cursor: not-allowed !important;
    filter: grayscale(80%) !important;
}

/* Better styling for autofilled fields */
#rv-vip-form input:-webkit-autofill,
#rv-vip-form input:-webkit-autofill:hover,
#rv-vip-form input:-webkit-autofill:focus,
#rv-vip-form input:-webkit-autofill:active {
    /* -webkit-box-shadow: 0 0 0 1000px #1a1a1a inset !important; */
    -webkit-text-fill-color: #ffffff !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* Feedback message positioning inside submit button container */
#rv-form-feedback {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px 24px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100% !important;
    z-index: 10 !important;
    border-radius: 100px !important;
    /* matches button rounded pill style */
    font-family: 'Nunito', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

/* Success feedback: green background and border */
#rv-form-feedback.is-success {
    background: rgba(76, 175, 80, 0.1) !important;
    border: 1px solid rgba(76, 175, 80, 0.3) !important;
    color: #4caf50 !important;
}

/* Error feedback styling */
#rv-form-feedback.is-error {
    background: rgba(224, 90, 90, 0.1) !important;
    border: 1px solid rgba(224, 90, 90, 0.3) !important;
    color: #e05a5a !important;
}

/* Force standard text color for inputs under all states */
#rv-vip-form .framer-form-input,
#rv-vip-form .framer-form-input:focus,
#rv-vip-form .framer-form-input:active {
    color: #ffffff !important;
}

/* Sizing fixes for mobile layout */
@media (max-width: 767px) {
    #rv-vip-form .framer-2jgdps {
        width: 100% !important;
        max-width: 100% !important;
    }
}