﻿:root {
    --navy: #123b64;
    --navy-deep: #082f57;
    --navy-soft: #1d527f;
    --gold: #c8ab62;
    --gold-dark: #aa8b42;
    --white: #fff;
    --light: #f6f8fa;
    --ink: #202a31;
    --muted: #657787
}

* {
    box-sizing: border-box
}

body {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font-family: "Segoe UI",Arial,sans-serif
}

.cc-nav {
    background: #fff;
    border-bottom: 1px solid #e9edf1;
    min-height: 116px;
    box-shadow: 0 2px 14px rgba(9,42,70,.035)
}

.cc-nav-inner {
    padding-left: 4.2%;
    padding-right: 4.2%
}

.navbar-brand img {
    width: 365px;
    max-width: 31vw;
    height: auto;
    display: block;
    image-rendering: auto
}

.cc-nav .nav-link {
    color: #132d4b !important;
    font-weight: 600;
    margin: 0 .72rem;
    padding: .7rem .15rem !important;
    position: relative
}

    .cc-nav .nav-link:hover {
        color: var(--gold-dark) !important
    }

    .cc-nav .nav-link:after {
        content: "";
        position: absolute;
        left: 15%;
        right: 15%;
        bottom: 1px;
        height: 2px;
        background: var(--gold);
        transform: scaleX(0);
        transition: .2s
    }

    .cc-nav .nav-link:hover:after {
        transform: scaleX(1)
    }

.cc-nav-contact {
    display: flex;
    align-items: center;
    gap: 13px;
    color: #142e4d;
    white-space: nowrap
}

.cc-phone {
    color: var(--gold-dark);
    width: 22px;
    height: 22px;
    display: inline-flex
}

    .cc-phone svg {
        width: 100%;
        height: 100%;
        fill: currentColor
    }

.cc-btn-contact, .cc-btn-gold {
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg,#d4bc78,#b79647);
    color: #fff !important;
    font-weight: 700;
    padding: .78rem 1.45rem;
    box-shadow: 0 8px 24px rgba(173,141,67,.18)
}

.cc-arrow {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
    margin-left: .55rem
}

.cc-btn-contact:hover, .cc-btn-gold:hover {
    background: linear-gradient(135deg,#b79647,#d4bc78);
    transform: translateY(-1px)
}

.cc-home-hero {
    display: grid;
    grid-template-columns: 52% 48%;
    min-height: 680px;
    overflow: hidden;
    background: var(--navy-deep)
}

.cc-hero-copy {
    position: relative;
    z-index: 2;
    color: #fff;
    background: radial-gradient(circle at 75% 42%,rgba(42,100,148,.45),transparent 43%),linear-gradient(145deg,#164d7b 0%,#0b3965 55%,#062b51 100%);
    overflow: hidden
}

    .cc-hero-copy:before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(115deg,transparent 0 76%,rgba(255,255,255,.025) 76% 77%,transparent 77%);
        opacity: .9
    }

.cc-hero-watermark {
    position: absolute;
    width: 520px;
    height: 520px;
    right: -55px;
    top: 95px;
    background: url('../images/isotipo-cooleycorp.png') center/contain no-repeat;
    opacity: .075;
    filter: grayscale(1) brightness(2.3);
    mix-blend-mode: screen
}

.cc-hero-inner {
    position: relative;
    z-index: 3;
    max-width: 760px;
    padding: 90px 7% 55px 10%
}

.cc-home-hero h1 {
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 400;
    line-height: .96;
    font-size: clamp(3.3rem,5.2vw,6rem);
    letter-spacing: -.035em;
    margin: 0 0 20px
}

    .cc-home-hero h1 span {
        color: var(--gold)
    }

.cc-gold-line {
    width: 68px;
    height: 3px;
    background: var(--gold);
    margin: 25px 0 23px
}

.cc-home-hero p {
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(1.05rem,1.3vw,1.28rem);
    line-height: 1.55;
    max-width: 690px;
    margin-bottom: 28px;
    color: #f5f7fa
}

.cc-btn-gold span {
    font-size: 1.3em;
    margin-left: .55rem
}

.cc-property-types {
    display: flex;
    gap: 38px;
    margin-top: 43px;
    flex-wrap: wrap
}

.cc-type {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: #fff;
    min-width: 155px
}

    .cc-type:hover {
        color: #fff
    }

.cc-type-icon {
    width: 52px;
    height: 52px;
    border: 2px solid var(--gold);
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff
}

    .cc-type-icon svg {
        width: 27px;
        height: 27px;
        fill: currentColor
    }

.cc-type strong, .cc-type small {
    display: block
}

.cc-type strong {
    font-size: .96rem
}

.cc-type small {
    color: #d8c487;
    font-family: Georgia,"Times New Roman",serif
}

.cc-hero-photo {
    position: relative;
    background: url('../images/hero-pool.jpg') center/cover no-repeat;
    min-width: 0;
    overflow: visible
}

.cc-hero-curve {
    position: absolute;
    z-index: 4;
    left: -2px;
    top: 0;
    height: 100%;
    width: 220px;
    overflow: visible;
    pointer-events: none;
    filter: drop-shadow(5px 0 12px rgba(0,0,0,.08))
}

.cc-curve-mask {
    fill: var(--navy-deep)
}

.cc-home-intro {
    padding-top: 72px !important;
    padding-bottom: 30px !important
}

.eyebrow, .section-title span {
    letter-spacing: .18em;
    color: var(--gold-dark);
    font-size: .78rem;
    font-weight: 800
}

.section-title h1, .section-title h2 {
    color: var(--navy);
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 500
}

.feature-card, .contact-card {
    height: 100%;
    padding: 28px;
    border: 1px solid #e6ecef;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(20,50,70,.06)
}

    .feature-card h3 {
        color: var(--navy);
        font-family: Georgia,"Times New Roman",serif
    }

.btn-cc {
    background: var(--navy-soft);
    color: #fff;
    border-color: var(--navy-soft)
}

    .btn-cc:hover {
        background: var(--navy);
        color: #fff
    }

.property-card {
    display: block;
    color: var(--ink);
    text-decoration: none;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e5ecef;
    box-shadow: 0 12px 35px rgba(20,50,70,.07);
    transition: .2s
}

    .property-card:hover {
        transform: translateY(-4px)
    }

.property-img {
    height: 260px;
    background-size: cover;
    background-position: center
}

.property-card h3 {
    font-size: 1.15rem;
    color: var(--navy);
    margin: .35rem 0
}

.property-card strong, .price {
    color: var(--navy-soft);
    font-size: 1.45rem
}

.property-hero {
    height: 520px;
    background-size: cover;
    background-position: center;
    border-radius: 20px
}

.spec-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 12px
}

    .spec-grid > div {
        padding: 18px;
        background: var(--light);
        border-radius: 14px
    }

.preline {
    white-space: pre-line
}

.cc-footer {
    background: #f8f9fa;
    color: var(--navy);
    margin-top: 60px;
    border-top: 1px solid #e9edf1
}

.cc-footer-logo {
    width: 280px;
    max-width: 100%;
    height: auto
}

@media(max-width:1199px) {
    .navbar-brand img {
        width: 290px
    }

    .cc-nav-contact .cc-btn-contact {
        display: none
    }

    .cc-home-hero {
        grid-template-columns: 55% 45%
    }

    .cc-hero-inner {
        padding-left: 8%
    }

    .cc-property-types {
        gap: 20px
    }
}

@media(max-width:991px) {
    .cc-nav {
        min-height: 86px
    }

    .navbar-brand img {
        width: 255px;
        max-width: 68vw
    }

    .cc-nav .navbar-collapse {
        padding: 18px 0
    }

    .cc-nav-contact {
        padding: 10px 0
    }

    .cc-home-hero {
        grid-template-columns: 1fr;
        min-height: auto
    }

    .cc-hero-copy {
        min-height: 590px
    }

    .cc-hero-photo {
        height: 430px
    }

    .cc-hero-curve {
        display: none
    }

    .cc-hero-inner {
        padding: 70px 8% 48px
    }

    .cc-hero-watermark {
        right: -120px
    }

    .cc-property-types {
        margin-top: 35px
    }
}

@media(max-width:576px) {
    .cc-nav-inner {
        padding-left: 18px;
        padding-right: 18px
    }

    .cc-home-hero h1 {
        font-size: 3.25rem
    }

    .cc-hero-copy {
        min-height: 0
    }

    .cc-hero-inner {
        padding: 58px 25px 42px
    }

    .cc-home-hero p {
        font-size: 1rem
    }

    .cc-property-types {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px
    }

    .cc-type-icon {
        width: 46px;
        height: 46px
    }

    .cc-hero-photo {
        height: 310px
    }

    .property-hero {
        height: 340px
    }

    .spec-grid {
        grid-template-columns: repeat(2,1fr)
    }
}


/* Precio máximo: captura monetaria amigable */
.price-filter-input {
    position: relative;
}

    .price-filter-input .price-prefix {
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 2;
        color: #7b6f3a;
        font-weight: 700;
        pointer-events: none;
    }

    .price-filter-input .form-control {
        padding-left: 30px;
    }

/* === Propiedades funcionales v2 === */
.properties-page .section-title p {
    color: #64748b
}

.cc-filter-card {
    background: #fff;
    border: 1px solid #edf0f3;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 12px 35px rgba(9,39,71,.07);
    margin: 24px 0
}

    .cc-filter-card label {
        display: block;
        font-size: .78rem;
        font-weight: 700;
        color: #17365d;
        margin-bottom: 6px
    }

.catalog-summary {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 22px 0;
    color: #64748b
}

    .catalog-summary b {
        color: #17365d
    }

.cc-loading, .cc-empty {
    padding: 50px;
    text-align: center;
    background: #f8fafc;
    border-radius: 18px;
    color: #64748b
}

.cc-property-card {
    height: 100%;
    display: block;
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(9,39,71,.08);
    transition: .2s
}

    .cc-property-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 15px 35px rgba(9,39,71,.13)
    }

    .cc-property-card .property-img {
        height: 235px;
        position: relative;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        background-color: #eef2f5
    }

    .cc-property-card h3 {
        font-size: 1.1rem;
        margin: .45rem 0;
        color: #102c50
    }

.cc-card-price {
    display: block;
    color: #b39142;
    font-size: 1.2rem;
    margin-bottom: 10px
}

.cc-badge {
    position: absolute;
    top: 14px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700
}

    .cc-badge.featured {
        left: 14px;
        background: #d7b45b;
        color: #fff
    }

    .cc-badge.operation {
        right: 14px;
        background: #0f496f;
        color: #fff
    }

.cc-spec-line {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    color: #64748b;
    font-size: .8rem;
    border-top: 1px solid #eef2f5;
    padding-top: 12px
}

.property-detail {
    max-width: 1320px
}

.cc-gallery {
    height: 570px;
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    background: #eef2f5
}

.cc-gallery-main {
    width: 100%;
    height: 100%;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat
}

.cc-gallery-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
    background: #eef2f5
}

.gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 64px;
    border: 0;
    background: rgba(255,255,255,.92);
    font-size: 38px;
    color: #17365d
}

    .gallery-nav.prev {
        left: 0;
        border-radius: 0 12px 12px 0
    }

    .gallery-nav.next {
        right: 0;
        border-radius: 12px 0 0 12px
    }

.gallery-count {
    position: absolute;
    right: 18px;
    bottom: 18px;
    background: rgba(9,39,71,.8);
    color: #fff;
    padding: 6px 12px;
    border-radius: 999px
}

.detail-tags {
    display: flex;
    gap: 8px
}

    .detail-tags span {
        background: #eaf4f7;
        color: #1c7189;
        padding: 5px 12px;
        border-radius: 999px;
        font-size: .8rem;
        font-weight: 700
    }

.detail-title {
    font-family: Georgia,serif;
    color: #102c50;
    margin: 15px 0 5px
}

.detail-location {
    color: #64748b
}

.detail-mobile-price {
    display: none
}

.cc-overview {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 10px;
    margin: 28px 0
}

    .cc-overview div {
        background: #f8fafc;
        border-radius: 14px;
        padding: 16px
    }

    .cc-overview small {
        display: block;
        color: #64748b
    }

    .cc-overview b {
        color: #17365d
    }

.detail-section {
    background: #fff;
    border: 1px solid #edf0f3;
    border-radius: 18px;
    padding: 26px;
    margin-top: 22px
}

    .detail-section h2 {
        font-size: 1.25rem;
        color: #17365d
    }

.cc-contact-card {
    position: sticky;
    top: 110px;
    background: #fff;
    border: 1px solid #edf0f3;
    border-radius: 20px;
    padding: 28px;
    box-shadow: 0 12px 35px rgba(9,39,71,.08)
}

    .cc-contact-card .price {
        font-size: 2rem;
        color: #b39142;
        font-weight: 700;
        margin: 4px 0 18px
    }

.btn-outline-cc {
    border: 1px solid #17365d;
    color: #17365d
}

    .btn-outline-cc:hover {
        background: #17365d;
        color: #fff
    }

.similar-section {
    margin-top: 60px
}

.preline {
    white-space: pre-line
}

@media(max-width:991px) {
    .cc-gallery {
        height: 420px
    }

    .cc-overview {
        grid-template-columns: repeat(2,1fr)
    }

    .cc-contact-card {
        position: static
    }

    .detail-mobile-price {
        display: block;
        color: #b39142;
        font-size: 1.6rem;
        font-weight: 700
    }

    .cc-contact-card .price {
        font-size: 1.7rem
    }
}

@media(max-width:575px) {
    .cc-filter-card {
        padding: 16px
    }

    .cc-gallery {
        height: 300px;
        border-radius: 16px
    }

    .cc-property-card .property-img {
        height: 210px
    }
}

/* === Agente principal en ficha de propiedad === */
.cc-agent-box{margin:0 0 18px;padding:18px 0;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3}
.cc-agent-heading{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#aa8b42;margin-bottom:12px}
.cc-agent-profile{display:flex;align-items:center;gap:14px}
.cc-agent-photo{width:78px;height:78px;flex:0 0 78px;object-fit:contain;object-position:center;border-radius:14px;background:#eef2f5;border:1px solid #e3e9ee}
.cc-agent-initials{display:flex;align-items:center;justify-content:center;color:#17365d;font-size:1.25rem;font-weight:800}
.cc-agent-data{min-width:0}
.cc-agent-data strong{display:block;color:#102c50;font-size:1.08rem;line-height:1.2;margin-bottom:3px}
.cc-agent-data span{display:block;color:#64748b;font-size:.86rem;margin-bottom:4px}
.cc-agent-data a{display:block;color:#1c7189;font-size:.82rem;text-decoration:none;overflow-wrap:anywhere}
.cc-agent-data a:hover{text-decoration:underline}
.cc-contact-copy{color:#64748b;line-height:1.5;margin:0 0 18px}

/* === Tarjeta del asesor: información en renglones === */
.cc-agent-box{background:#f8fafc;border:1px solid #e5eaef;border-radius:16px;padding:18px;margin:0 0 20px}
.cc-agent-profile{display:flex;align-items:center;gap:16px}
.cc-agent-photo{width:104px;height:118px;flex:0 0 104px;object-fit:contain;object-position:center;border-radius:12px;background:#fff;border:1px solid #e3e9ee}
.cc-agent-data{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px;min-width:0;line-height:1.25}
.cc-agent-name,.cc-agent-role,.cc-agent-email,.cc-agent-phone{display:block!important;width:100%;margin:0!important}
.cc-agent-name{font-size:1.05rem;color:#102c50}
.cc-agent-role{font-size:.90rem;color:#64748b}
.cc-agent-email{font-size:.84rem;color:#1c7189;overflow-wrap:anywhere}
.cc-agent-phone{font-size:.84rem;color:#64748b}

/* === Agentes públicos === */
.cc-agents-hero{background:#f7f9fb;padding:70px 0 62px;border-bottom:1px solid #edf0f3}
.cc-agents-hero span,.cc-agent-eyebrow{display:block;color:#aa8b42;font-size:.76rem;font-weight:800;letter-spacing:.16em;margin-bottom:8px}
.cc-agents-hero h1,.cc-agent-profile-hero h1{font-family:Georgia,'Times New Roman',serif;color:#102c50}
.cc-agents-hero h1{font-size:2.7rem;margin:0 0 12px}
.cc-agents-hero p{color:#64748b;max-width:650px;margin:0 auto}
.cc-public-agent-card{height:100%;background:#fff;border:1px solid #e9edf1;border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(9,39,71,.07);transition:.2s}
.cc-public-agent-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(9,39,71,.12)}
.cc-public-agent-photo-wrap{height:300px;background:#f4f6f8;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.cc-public-agent-photo{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:flex;align-items:center;justify-content:center}
.cc-public-agent-placeholder{font-family:Georgia,serif;font-size:3rem;font-weight:700;color:#aa8b42}
.cc-public-agent-body{padding:24px}
.cc-public-agent-body h2{font-family:Georgia,'Times New Roman',serif;color:#102c50;font-size:1.55rem;margin:0 0 5px}
.cc-public-agent-role{color:#aa8b42;font-size:.88rem;font-weight:700;margin-bottom:12px}
.cc-public-agent-body p{color:#64748b;line-height:1.55;min-height:48px}
.cc-agent-profile-link{display:inline-flex;gap:7px;align-items:center;color:#17365d;font-weight:700;text-decoration:none}
.cc-agent-profile-link:hover{color:#aa8b42}
.cc-agent-profile-hero{background:#f7f9fb;padding:42px 0 60px;border-bottom:1px solid #edf0f3}
.cc-back-agents{display:inline-block;color:#64748b;text-decoration:none;margin-bottom:32px}
.cc-agent-profile-photo-wrap{height:400px;max-width:360px;margin:auto;background:#fff;border:1px solid #e7ebef;border-radius:26px;overflow:hidden;box-shadow:0 14px 40px rgba(9,39,71,.08)}
.cc-agent-profile-photo{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:flex;align-items:center;justify-content:center}
.cc-agent-profile-hero h1{font-size:3rem;margin:0 0 7px}
.cc-agent-profile-role{color:#aa8b42;font-weight:700;font-size:1.05rem;margin-bottom:20px}
.cc-agent-profile-intro{color:#526575;font-size:1.08rem;line-height:1.7;max-width:650px}
.cc-agent-profile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.cc-agent-profile-actions .btn{min-width:125px}
.cc-agent-about{padding-top:45px}
.cc-agent-properties{padding-top:55px;padding-bottom:70px}
@media(max-width:991px){.cc-public-agent-photo-wrap{height:320px}.cc-agent-profile-photo-wrap{height:380px;max-width:340px;margin:auto}.cc-agent-profile-hero h1{font-size:2.4rem}}
@media(max-width:575px){.cc-agents-hero{padding:48px 0}.cc-agents-hero h1{font-size:2.1rem}.cc-public-agent-photo-wrap{height:300px}.cc-agent-profile-photo-wrap{height:350px;max-width:310px}.cc-agent-profile-hero h1{font-size:2.15rem}}

/* === Contacto / prospectos === */
.cc-contact-hero{background:#f7f9fb;padding:62px 0;border-bottom:1px solid #edf0f3}.cc-contact-hero span,.cc-context-label{color:#aa8b42;font-size:.76rem;font-weight:800;letter-spacing:.15em}.cc-contact-hero h1{font-family:Georgia,'Times New Roman',serif;color:#102c50;font-size:2.6rem;max-width:760px;margin:8px 0 12px}.cc-contact-hero p{color:#64748b;font-size:1.04rem}.cc-lead-context,.cc-lead-form{border:1px solid #e7ebef;border-radius:20px;padding:28px;background:#fff;box-shadow:0 10px 30px rgba(9,39,71,.05)}.cc-lead-context h2,.cc-lead-form h2,.cc-lead-success h2{font-family:Georgia,'Times New Roman',serif;color:#102c50;margin:8px 0 14px}.cc-context-agent{display:flex;align-items:center;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid #edf0f3}.cc-context-agent img{width:72px;height:82px;object-fit:contain;border-radius:10px;background:#f5f7f9}.cc-context-agent small,.cc-context-agent strong,.cc-context-agent span{display:block}.cc-context-agent small{font-size:.7rem;color:#aa8b42;text-transform:uppercase;font-weight:800}.cc-context-agent strong{color:#102c50}.cc-context-agent span{font-size:.85rem;color:#64748b}.cc-lead-form label{font-weight:700;color:#334155;margin-bottom:6px}.cc-lead-form .form-control,.cc-lead-form .form-select{min-height:48px;border-color:#dfe5ea}.cc-lead-form textarea.form-control{min-height:130px}.cc-send-lead{min-width:190px;margin-top:6px}.cc-lead-success{text-align:center;padding:35px 10px}.cc-lead-success p{color:#64748b;margin-bottom:22px}

/* === Redes sociales del footer === */
.cc-footer-social{display:flex;align-items:center;gap:10px}
.cc-footer-social a{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#102c50;color:#fff;font-size:1.2rem;transition:.2s}
.cc-footer-social a:hover{background:#aa8b42;color:#fff;transform:translateY(-2px)}
@media(max-width:767px){.cc-footer-social{justify-content:flex-start}}

.cc-footer-social svg{width:20px;height:20px;display:block}
