﻿@font-face {
    font-family: 'Roboto Condensed';
    src: url('/fonts/Roboto/static/Roboto_Condensed-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('/fonts/Roboto/static/Roboto-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
body {
    font-family: 'Roboto', 'Segoe UI', Arial, sans-serif;
    margin: 0;
    padding: 0;
    /*background: linear-gradient(to left, #ff6f617a, #ebedee);*/
    /*background: #9a00fa2a;*/
    background: #e2dcf2;
    color: #333;
}
:root {
    /*--brand: #ff6f61;*/
    --brand: #9a00fa;
    --brand-blue: #0d6efd;
    --brand-blue-dark: #0b5ed7; /* dark variant */
    --brand-grey: #C7BDBD; /* #6c757d;*/
    --brand-light: #f8f9fa;
    --deep-electric-blue: #1023FF;
    --royal-violet: #5A00FF;
    --magenta-glow: #C000FF;
    --aqua-cyan-glass: #2FF6FF;
    --pearl-purple: #e2dcf2;
    --pearl-purple-2-white-grad: linear-gradient(to top right, #e2dcf2, #e3e3e3, #ffffff);
    --pearl-white-2-purple-grad: linear-gradient(to top left, #e2dcf2, #e3e3e3, #ffffff);
    --purple: #9a00fa;
}
.navbar{
    margin: 0px;
    padding: 10px !important;
}
.container-fluid{
    margin: 0px;
    padding: 0px;
}
label i {
    color: var(--brand);
    margin-right: 6px;
}

.input-group-text {
    background: transparent;
    border-right: 0;
    color: var(--brand);
}

.input-group input,
.input-group select,
.input-group textarea {
    border-left: 0;
}

button {
    background-color: var(--brand);
    color: #fff;
    border: none;
    padding: 10px 16px;
    border-radius: 6px;
}

button:hover {
    background-color: var(--royal-violet);
    color: white !important;
    /*padding:5px !important;*/
}
.btn-padded{
    padding-left: 10px !important;
    padding-right: 10px !important;
}
.logo {
    width: 150px !important;
    height: auto !important;
    background-color: #ffffff !important;
    border-radius: 8px;
    transform: scale(1.2); /* 20% zoom */
    transform-origin: center; /* keeps it centered */
}

main{
	padding-bottom:0px !important;
}
.accent {
    color: var(--brand);
}

.listing-card {
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .listing-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 25px rgba(0, 0, 0, 0.08);
    }

.listing-img {
    height: 210px;
    object-fit: cover;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    cursor: zoom-in;
    object-fit: cover;
    object-position: top;
}

.location,
.meta {
    font-size: 0.9rem;
    color: #555;
    opacity: 0.7;
}

.price-badge {
    background-color: var(--brand);
    color: #ffffff;
    font-size: 0.95rem;
    padding: 0.45rem 0.75rem;
}

.btn-whatsapp {
    border: 1px solid #000000;
    color: #fff;
    background: #02ab18;
}

    .btn-whatsapp:hover {
        background-color: #02FA18;
        color: #ffffff;
    }
.homes-header {
    background: var(--brand);
    color: white;
    padding: 30px 0px;
    /* text-align: center;*/
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    width: 100%;
    margin: 0px !important;
}
.homes-header h1 {
    margin: 30px;
    font-size: 2.5em;
    text-align: center !important;
} 
.homes-header p { font-size: 1.2em; }

.card-body {
    max-height: 300px;
    height:auto;
    overflow-y: auto;
    display: block;
}
.card-footer {
    text-align: center;
    border-top: 1px solid rgba(0, 0, 0, 0.4);
    border-radius:6px;
}

@media (min-width: 768px) {
    .homes-header {
        padding: 30px 0;
    }

    .homes-header .logo {
        max-width: 180px;
    }

    .homes-header h1 {
        font-size: 2.5em;
    }
}

hr {
    border: none; 
    height: 2px !important; 
    background-color: var(--brand-blue);
    width:100%;
    flex-shrink: 0;
}

.tiny{
    font-size:14px !important;
}
.narrow{
    font-family: 'Roboto Condensed', 'Arial Narrow', sans-serif;
}

.user-type {
    border: 2px solid var(--aqua-cyan-glass);
    color: var(--aqua-cyan-glass);
    border-radius: 15px;
    padding: 5px 15px;
}

/* .intro {  */
	/* padding: 40px 10px;  */
/* } */
    /* .intro h2 { */
        /* font-size: 2em; */
        /* color: var(--brand); */
    /* }  */
    /* .intro p { font-size: 1.2em; color: #555; max-width: 700px; margin: 10px auto; } */

.lead-selection { display: flex; justify-content: center; gap: 20px; margin: 30px 0; }
.selection-btn {
    background: var(--brand);
    color: white;
    border: none;
    padding: 15px 25px;
    border-radius: 10px;
    font-size: 1em;
    cursor: pointer;
    transition: background 0.3s;
} .selection-btn:hover { background: var(--brand-blue); }

.form-container { display: none; background: #ffffff; padding: 30px 20px; margin: 20px auto; max-width: 700px; border-radius: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
form h3 {
    color: var(--brand);
    text-align: center;
} 
label { display: block; margin-top: 15px; color: #333; } 
input, select, textarea { width: 100%; padding: 10px; margin-top: 5px; border-radius: 8px; border: 1px solid #ccc; }
/*button[type="submit"] {
    background: var(--brand);
    color: white;
    border: none;
    padding: 12px 20px;
    margin-top: 20px;
    border-radius: 8px;
    font-size: 1em;
    cursor: pointer;
}
    button[type="submit"]:hover {
        background: var(--brand-blue);
    }*/

footer { text-align: center; padding: 20px; background: #f5f5f5; color: #555; margin-top: 40px; }

/* Target the image when it enters fullscreen mode */
.listing-img:fullscreen {
    object-fit: contain !important; /* Shrinks the image to fit the screen */
    width: 100vw !important; /* Full width of viewport */
    height: 100vh !important; /* Full height of viewport */
    background-color: black; /* Adds black bars to the sides if image is skinny */
}


/* Modal layout fixes */
.modal {
    overflow-x: hidden;
}

.modal-dialog {
    max-width: 700px;
    margin: 1.75rem auto;
}

.modal-content {
    width: 100%;
    border-radius: 15px;
}

.modal-header h3 {
    width: auto;
    margin: 0;
    white-space: normal;
}

.modal-body {
    width: 100%;
}

    .modal-body input,
    .modal-body select,
    .modal-body textarea {
        width: 100%;
        box-sizing: border-box;
    }

/* keep buttons normal size */
.selection-btn {
    width: auto;
    min-width: 150px;
    white-space: normal;
}

.lead-selection {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

    /* prevent text collapsing */
    .intro h2,
    .intro p,
    .lead-selection p {
        writing-mode: horizontal-tb;
        word-break: normal;
        overflow-wrap: normal;
    }

/* bootstrap buttons inside modal */
.modal button {
    width: auto;
    white-space: nowrap;
}

/* icons */
.intro i,
.selection-btn i,
.modal i {
    display: inline-block;
}

/* Forces the non-editable fields to stay dark with visible text at all times */
.form-control-dark[readonly] {
    background-color: #1e293b !important; /* Matches your profile card dark background */
    color: #cbd5e1 !important; /* Off-white readable text color */
    border-color: #334155 !important; /* Subtle border accent */
}

/* Explicitly handles the hover/inactive boundary states */
.form-control-dark[readonly]:focus,
.form-control-dark[readonly]:active {
    background-color: #1e293b !important;
    color: #cbd5e1 !important;
    box-shadow: none !important; /* Keeps it clean without an focus glow */
}

.btn-ultimate{
    background-color: var(--brand);
    color: white;
}