/* ================= RESET ================= */
*{
    box-sizing:border-box;
    margin:0;
    padding:0;
}

/* ================= VARIABLES ================= */
:root{
    --verde:#16a34a;
    --verde-light:#22c55e;

    --fondo:#052e16;
    --fondo2:#064e3b;

    --blanco:#ffffff;
    --gris:#e5e7eb;

    --texto:#111827;
    --muted:#6b7280;

    --danger:#ef4444;
}

/* ================= FONDO ================= */
body{
    font-family:Inter,system-ui,-apple-system;
    min-height:100vh;

    background:
    radial-gradient(circle at 20% 20%, rgba(34,197,94,0.25), transparent 40%),
    linear-gradient(135deg,var(--fondo),var(--fondo2));
}

/* ================= CONTENEDOR ================= */
.form-terrenos{
    max-width:1000px;
    margin:40px auto;
    padding:30px;
    border-radius:16px;

    background:var(--blanco);

    box-shadow:0 15px 50px rgba(0,0,0,0.25);

    text-align:left; /* 🔥 TODO IZQUIERDA */
}

/* ================= TITULO ================= */
h1{
    font-size:26px;
    font-weight:700;
    margin-bottom:8px;
    color:var(--texto);
    text-align:left;
}

/* ================= TEXTO ================= */
.form-terrenos > p{
    color:var(--muted);
    margin-bottom:20px;
    max-width:600px;
    line-height:1.5;
    text-align:left;
}

/* ================= GRID ================= */
.grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px;
    margin-bottom:20px;
}

/* ================= SUBTITULOS ================= */
h3{
    margin-bottom:8px;
    color:var(--verde);
    font-size:12px;
    text-transform:uppercase;
    text-align:left;
}

/* ================= INPUTS ================= */
input, select{
    width:100%;
    margin-bottom:10px;

    padding:12px;

    border-radius:8px;
    border:1px solid var(--gris);

    background:#fff;
    color:var(--texto);

    font-size:14px;
    text-align:left; /* 🔥 IZQUIERDA */

    display:block;
}

input::placeholder{
    color:#9ca3af;
}

input:focus, select:focus{
    outline:none;
    border-color:var(--verde);
    box-shadow:0 0 0 2px rgba(34,197,94,0.15);
}

/* ================= TELEFONO ================= */
.telefono-wrapper{
    position:relative;
    margin-bottom:10px;
}

.telefono-wrapper input{
    padding-left:95px;
    font-weight:600;
    letter-spacing:2px;
}

.telefono-wrapper span{
    position:absolute;
    left:10px;
    top:50%;
    transform:translateY(-50%);

    font-size:11px;
    font-weight:600;
    color:var(--verde);
}

/* ================= FILE ================= */
input[type="file"]{
    background:#f9fafb;
    border:1px dashed var(--gris);
    cursor:pointer;
    padding:10px;
}

/* ================= PREVIEW ================= */
.preview{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:10px 0 20px;
}

.preview div{
    position:relative;
    border-radius:8px;
    overflow:hidden;
    border:1px solid var(--gris);
}

/* IMG */
.preview img,
.preview video{
    width:130px;
    height:90px;
    object-fit:cover;
}

/* BOTON ELIMINAR */
.preview button{
    position:absolute;
    top:4px;
    right:4px;

    width:20px;
    height:20px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;
    border:none;

    background:var(--danger);
    color:#fff;

    font-size:11px;
}

/* ================= BOTON ENVIAR PRO ================= */
button[type="submit"]{
    display:block;
    margin:25px auto 0 auto;

    width:100%;
    max-width:320px;

    padding:14px 18px;

    background:linear-gradient(135deg,#f4a900,#ffc233);

    border:none;
    border-radius:12px;

    color:#003d1b;
    font-size:15px;
    font-weight:600;
    letter-spacing:0.5px;

    cursor:pointer;

    box-shadow:0 10px 25px rgba(244,169,0,0.25);

    transition:all 0.25s ease;
}

/* HOVER */
button[type="submit"]:hover{
    transform:translateY(-2px);
    box-shadow:0 15px 35px rgba(244,169,0,0.35);
}

/* CLICK */
button[type="submit"]:active{
    transform:scale(0.97);
    box-shadow:0 5px 15px rgba(244,169,0,0.25);
}

/* MOBILE */
@media(max-width:900px){
    button[type="submit"]{
        max-width:100%;
        font-size:14px;
        padding:13px;
    }
}

/* ================= MOBILE ================= */
@media(max-width:900px){

    .form-terrenos{
        margin:10px;
        padding:18px; /* 🔥 MENOS PADDING */
    }

    .grid{
        grid-template-columns:1fr;
        gap:15px;
    }

    h1{
        font-size:20px;
    }

    input, select{
        padding:10px; /* 🔥 MÁS COMPACTO */
        font-size:13px;
    }

    .telefono-wrapper input{
        padding-left:80px;
    }

    .preview img,
    .preview video{
        width:100%;
        height:120px;
    }
}
/* ================= ENCABEZADO CENTRADO ================= */

.form-terrenos > h1,
.form-terrenos > p{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
}

/* DIRECCION */
.form-terrenos > p strong{
    display:block;
    text-align:center;
    margin-top:5px;
}
/* ================= TERMINOS ================= */
.terminos{
    margin:20px 0;
    font-size:14px; /* 🔥 MAS GRANDE */
    color:#374151;
}

/* CONTENEDOR */
.terminos label{
    display:flex;
    align-items:flex-start;
    gap:10px;
    cursor:pointer;
    line-height:1.5;
}

/* CHECK */
.terminos input[type="checkbox"]{
    width:17px;
    height:17px;
    margin-top:2px;
    accent-color:#16a34a;
    flex-shrink:0;
}

/* TEXTO */
.terminos span{
    display:inline-block;
}

/* LINK (TERMINOS Y CONDICIONES) */
.terminos a{
    color:#16a34a;
    font-weight:600;
    text-decoration:underline; /* 🔥 SIEMPRE SUBRAYADO */
}

/* HOVER */
.terminos a:hover{
    color:#15803d;
}

/* ================= MOBILE ================= */
@media(max-width:900px){

    .terminos{
        font-size:13px;
    }

    .terminos label{
        gap:8px;
    }

    .terminos input{
        width:16px;
        height:16px;
    }
}
.error-msg{
    font-size:12px;
    color:#ef4444;
    margin-top:-8px;
    margin-bottom:8px;
}
/* ================= COMISION ================= */

/* TITULO */
.form-terrenos h4{
    margin-top:18px;
    margin-bottom:8px;

    font-size:13px;
    font-weight:600;
    color:#16a34a;

    text-transform:uppercase;
    letter-spacing:.5px;
}

/* WRAPPER */
.comision-wrapper{
    position:relative;
    max-width:350px;
}

/* INPUT */
.comision-wrapper input{
    width:100%;
    padding:13px 13px 13px 45px;

    border-radius:10px;
    border:1px solid #e5e7eb;

    font-size:14px;
    color:#111827;
    background:#fff;

    transition:all .25s ease;
}

/* SIMBOLO S/ */
.comision-wrapper::before{
    content:"S/";
    position:absolute;

    left:12px;
    top:50%;
    transform:translateY(-50%);

    font-size:13px;
    font-weight:600;
    color:#16a34a;
}

/* FOCUS */
.comision-wrapper input:focus{
    outline:none;
    border-color:#16a34a;
    box-shadow:0 0 0 2px rgba(34,197,94,0.2);
}

/* HOVER */
.comision-wrapper input:hover{
    border-color:#22c55e;
}

/* ================= MOBILE ================= */
@media(max-width:900px){

    .comision-wrapper{
        max-width:100%;
    }

}
.msg-error{
    font-size:12px;
    color:#ef4444;
    margin-top:4px;
}
/* ================= TITULO PRO FUERTE ================= */

.form-terrenos h1{
    font-family: 'Poppins', sans-serif;

    font-size:34px;
    font-weight:800;

    color:#064e3b;

    text-align:center;

    margin-bottom:12px;

    letter-spacing:0.5px;
    line-height:1.2;

    text-transform:none;
}

/* ❌ ELIMINADO ::after (la raya) */

/* ================= DESCRIPCION ================= */

.form-terrenos p{
    font-family:'Poppins', sans-serif;

    text-align:center;
    color:#374151;

    max-width:600px;
    margin:0 auto 25px;
}

/* ================= MOBILE ================= */

@media(max-width:900px){

    .form-terrenos h1{
        font-size:20px;
    }

}

/* ================= PREVIEW ================= */

.preview-container{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:10px;
}

.preview-item{
    position:relative;
    width:100px;
    height:100px;
}

.preview-item img,
.preview-item video{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:8px;
}

.preview-item button{
    position:absolute;
    top:5px;
    right:5px;
    background:red;
    color:#fff;
    border:none;
    border-radius:50%;
    width:22px;
    height:22px;
    cursor:pointer;
}
@media(max-width:768px){

    input,
    select,
    textarea{
        height:52px;              /* 🔥 MÁS ALTOS */
        padding:12px 14px;       /* MÁS ESPACIO INTERNO */
        font-size:16px;          /* IMPORTANTE para móviles */
        border-radius:10px;
    }

    textarea{
        height:auto;
        min-height:100px;
    }

    /* SELECT mejor visual */
    select{
        appearance:none;
    }

    /* INPUT FILE */
    input[type="file"]{
        height:auto;
        padding:10px;
    }

}
/* ===============================
   AUMENTO DE TAMAÑOS PRO
=============================== */

/* TITULO PRINCIPAL */
.form-terrenos h1{
    font-size:38px;
}

/* SUBTITULOS */
h3{
    font-size:16px;
    margin-bottom:10px;
}

/* INPUTS Y SELECT */
input,
select{
    font-size:15px;
    height:54px;
}

/* PLACEHOLDER MÁS CLARO */
input::placeholder{
    font-size:14px;
}

/* BOTON MÁS GRANDE */
button[type="submit"]{
    height:56px;
    font-size:16px;
}

/* ===============================
   MOBILE AJUSTE
=============================== */
@media(max-width:900px){

    .form-terrenos h1{
        font-size:24px;
    }

    h3{
        font-size:15px;
    }

    input,
    select{
        height:58px;
        font-size:16px;
    }

    button[type="submit"]{
        height:60px;
        font-size:16px;
    }

}
/* ===============================
   RADIO 10px EN TODOS LOS CAMPOS
=============================== */
input,
select,
textarea{
    border-radius:15px !important;
}

/* TELEFONO */
.telefono-wrapper{
    border-radius:30px !important;
}

/* BOTON (opcional para coherencia) */
button[type="submit"]{
    border-radius:30px !important;
}