/* Campos y Ganados — sistema visual (rediseño 2026). Clases con prefijo cyg- para no chocar con Bootstrap 3 del bundle. */

:root {
    --cyg-primary: #0d5c82;
    --cyg-primary-hover: #0a4b6b;
    --cyg-primary-soft: #e3eef4;
    --cyg-navy: #003c55;
    --cyg-accent: #29abe2;
    --cyg-accent-hover: #1795cc;
    --cyg-sky: #d6e6ef;
    --cyg-pill: #c4d9e6;
    --cyg-card-line: #c3d8e5;
    --cyg-red: #e8394f;
    --cyg-wa: #25d366;
    --cyg-bg: #f3f5f7;
    --cyg-white: #fff;
    --cyg-ink: #14232b;
    --cyg-text: #3c4a52;
    --cyg-muted: #7d8b93;
    --cyg-line: #dfe6e9;
    --cyg-head: 'Montserrat', Arial, sans-serif;
    --cyg-body: 'Montserrat', Arial, sans-serif;
    --cyg-radius: 16px;
    --cyg-shadow: 0 2px 14px rgba(0, 40, 60, .07);
    --cyg-shadow-hover: 0 6px 22px rgba(0, 40, 60, .12);
}

html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

body {
    font-family: var(--cyg-body);
    font-size: 14px;
    line-height: 1.6;
    color: var(--cyg-text);
    background: var(--cyg-bg);
    -webkit-font-smoothing: antialiased;
    overflow-x: clip;
}

a,
a:hover,
a:focus {
    color: inherit;
    text-decoration: none;
}

/* El home arma todo en body_top: se oculta el contenedor vacío del layout */
.cyg-home .container-boxed {
    display: none;
}

section[id] {
    scroll-margin-top: 96px;
}

.cyg-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

@media (max-width: 640px) {
    .cyg-wrap {
        padding: 0 16px;
    }
}

.cyg-wrap h1,
.cyg-wrap h2,
.cyg-wrap h3,
.cyg-wrap h4 {
    font-family: var(--cyg-head);
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    color: var(--cyg-ink);
    margin: 0;
}

/* BOTONES */

.cyg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 42px;
    padding: 0 20px;
    border: 1px solid var(--cyg-primary);
    border-radius: 4px;
    font-family: var(--cyg-head);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
}

.cyg-btn .ph {
    font-size: 16px;
}

.cyg-btn-primary,
.cyg-btn-primary:hover,
.cyg-btn-primary:focus {
    background: var(--cyg-primary);
    color: var(--cyg-white);
}

.cyg-btn-primary:hover {
    background: var(--cyg-primary-hover);
    border-color: var(--cyg-primary-hover);
}

.cyg-btn-outline,
.cyg-btn-outline:focus {
    background: var(--cyg-white);
    color: var(--cyg-primary);
}

.cyg-btn-outline:hover {
    background: var(--cyg-primary-soft);
    color: var(--cyg-primary);
}

.cyg-btn-white,
.cyg-btn-white:focus {
    background: var(--cyg-white);
    border-color: var(--cyg-white);
    color: var(--cyg-primary);
}

.cyg-btn-white:hover {
    background: var(--cyg-primary-soft);
    color: var(--cyg-primary);
}

.cyg-btn-sm {
    height: 36px;
    padding: 0 16px;
    font-size: 11px;
}

.cyg-link,
.cyg-link:focus {
    font-family: var(--cyg-head);
    font-size: 12px;
    font-weight: 600;
    color: var(--cyg-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cyg-link:hover {
    color: var(--cyg-primary-hover);
    text-decoration: underline;
}

/* ============================================================
   PÁGINAS INTERNAS
   ============================================================ */

[hidden] {
    display: none !important;
}

/* Las páginas propias arman todo en body_top: se oculta el contenedor vacío del layout */
.cyg-page .container-boxed {
    display: none;
}

.cyg-page-header {
    background: var(--cyg-bg);
    padding: 26px 0 30px;
    border-bottom: 1px solid var(--cyg-line);
}

.cyg-page-header h1 {
    margin: 10px 0 0;
    font-family: var(--cyg-head);
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 700;
    color: var(--cyg-ink);
}

.cyg-page-header p {
    max-width: 640px;
    margin: 8px 0 0;
}

.cyg-migas {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--cyg-muted);
}

.cyg-migas a:hover {
    color: var(--cyg-primary);
}

.cyg-migas span {
    color: var(--cyg-text);
}

.cyg-lead {
    font-size: 16.5px;
    color: var(--cyg-ink);
}

.cyg-narrow {
    max-width: 760px;
}

.cyg-box {
    padding: 22px;
    background: var(--cyg-white);
    border: 1px solid var(--cyg-line);
    border-radius: 8px;
}

.cyg-wrap .cyg-box h3 {
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 700;
    color: var(--cyg-primary);
    text-transform: uppercase;
}

/* CHIPS */

.cyg-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cyg-chip {
    padding: 4px 18px;
    border: 1.5px solid var(--cyg-pill);
    border-radius: 999px;
    background: var(--cyg-white);
    font-family: var(--cyg-head);
    font-size: 11px;
    font-weight: 700;
    color: var(--cyg-primary);
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}

.cyg-chip:hover {
    border-color: var(--cyg-accent);
}

.cyg-chip.is-active {
    background: var(--cyg-accent);
    border-color: var(--cyg-accent);
    color: var(--cyg-white);
}

.cyg-section-title {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 18px;
}

.cyg-section-title:has(.cyg-chips) {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 30px;
}

/* CARDS (lotes, campos) */

.cyg-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.cyg-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--cyg-white);
    border: 1px solid var(--cyg-line);
    border-radius: 8px;
    transition: box-shadow .2s;
}

.cyg-card:hover {
    box-shadow: var(--cyg-shadow-hover);
}

.cyg-card-img {
    position: relative;
    aspect-ratio: 4 / 3;
    background: var(--cyg-bg);
}

.cyg-card-img {
    overflow: hidden;
}

/* Absoluta para que una foto vertical no estire la card */
.cyg-card-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cyg-card-noimg {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    font-size: 40px;
    color: var(--cyg-muted);
    background: var(--cyg-bg);
}

.cyg-tile-noimg {
    aspect-ratio: 16 / 9;
    height: auto;
}

.cyg-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 8px;
    border-radius: 3px;
    background: var(--cyg-primary);
    font-family: var(--cyg-head);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--cyg-white);
}

.cyg-badge.is-vendido {
    left: auto;
    right: 12px;
    background: #c0392b;
}

.cyg-card-body {
    flex: 1;
    padding: 14px 16px 0;
}

.cyg-card-cat {
    font-family: var(--cyg-head);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--cyg-muted);
}

.cyg-wrap .cyg-card h3 {
    margin: 4px 0 10px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.35;
}

.cyg-card-datos {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 12.5px;
}

.cyg-card-datos li {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.cyg-card-datos .ph {
    color: var(--cyg-muted);
}

.cyg-card-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin: 14px 16px 0;
    padding: 12px 0 14px;
    border-top: 1px solid var(--cyg-line);
}

.cyg-card-precio small {
    display: block;
    font-size: 11px;
}

.cyg-card-precio b {
    font-family: var(--cyg-head);
    font-size: 17px;
    color: var(--cyg-ink);
}

.cyg-card-go {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--cyg-primary-soft);
    color: var(--cyg-primary);
    transition: background .15s, color .15s;
}

.cyg-card:hover .cyg-card-go {
    background: var(--cyg-primary);
    color: var(--cyg-white);
}

@media (max-width: 1000px) {
    .cyg-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .cyg-cards {
        grid-template-columns: 1fr;
    }
}

/* TABLAS */

.cyg-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--cyg-line);
    border-radius: 8px;
}

.cyg-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.cyg-table th {
    padding: 11px 14px;
    background: var(--cyg-bg);
    font-family: var(--cyg-head);
    font-size: 10.5px;
    font-weight: 700;
    text-align: left;
    text-transform: uppercase;
    color: var(--cyg-text);
    white-space: nowrap;
}

.cyg-table td {
    padding: 10px 14px;
    border-top: 1px solid var(--cyg-line);
    color: var(--cyg-ink);
}

.cyg-table tbody tr:hover td {
    background: #f8fafb;
}

.cyg-table .is-num {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* ACORDEÓN (resultados, staff) */

.cyg-resultados {
    display: grid;
    gap: 12px;
}

.cyg-resultado {
    background: var(--cyg-white);
    border: 1px solid var(--cyg-line);
    border-radius: 8px;
}

.cyg-resultado[open] {
    box-shadow: var(--cyg-shadow);
}

.cyg-resultado summary {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 18px;
    padding: 14px 18px 14px 14px;
    list-style: none;
    cursor: pointer;
}

.cyg-resultado summary:not(:has(.cyg-remate-fecha)) {
    grid-template-columns: 1fr auto;
    padding-left: 20px;
}

.cyg-resultado summary::-webkit-details-marker {
    display: none;
}

.cyg-wrap .cyg-resultado h3 {
    margin-bottom: 4px;
    font-size: 14.5px;
    font-weight: 700;
}

.cyg-resultado .cyg-remate-fecha {
    width: 66px;
}

.cyg-resultado-caret {
    font-size: 18px;
    color: var(--cyg-muted);
    transition: transform .2s;
}

.cyg-resultado[open] .cyg-resultado-caret {
    transform: rotate(180deg);
}

.cyg-resultado-body {
    padding: 0 18px 18px;
}

.cyg-resultado-acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

@media (max-width: 640px) {
    .cyg-resultado summary {
        grid-template-columns: auto 1fr auto;
        gap: 12px;
    }

    .cyg-resultado summary .cyg-tipo {
        display: none;
    }
}

/* DETALLE DE REMATE */

.cyg-remate-head-wrap {
    padding-top: 32px;
}

.cyg-remate-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 40px;
    align-items: start;
}

.cyg-remate-afiche {
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    background: var(--cyg-bg);
}

.cyg-remate-afiche img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cyg-wrap .cyg-remate-info h1 {
    margin: 12px 0 18px;
    font-size: clamp(24px, 2.8vw, 32px);
    font-weight: 700;
    line-height: 1.2;
}

.cyg-remate-info .cyg-tipo {
    display: inline-block;
}

.cyg-ficha {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    margin: 0;
    overflow: hidden;
    background: var(--cyg-line);
    border: 1px solid var(--cyg-line);
    border-radius: 8px;
}

.cyg-ficha > div {
    padding: 12px 16px;
    background: var(--cyg-white);
}

.cyg-ficha dt {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--cyg-head);
    font-size: 10.5px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--cyg-muted);
}

.cyg-ficha dd {
    margin: 3px 0 0;
    font-weight: 600;
    color: var(--cyg-ink);
}

.cyg-remate-desc {
    margin: 16px 0 0;
}

.cyg-remate-acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

@media (max-width: 860px) {
    .cyg-remate-head {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

@media (max-width: 480px) {
    .cyg-ficha {
        grid-template-columns: 1fr;
    }

    .cyg-remate-acciones .cyg-btn {
        flex: 1 1 100%;
    }
}

/* BLOQUES DE CONTENIDO */

.cyg-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.cyg-split.is-reverse > :first-child {
    order: 2;
}

.cyg-split-media {
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    background: var(--cyg-bg);
}

.cyg-split-media img,
.cyg-split-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cyg-split p {
    margin: 0 0 14px;
}

.cyg-split .cyg-btn {
    margin-top: 8px;
}

.cyg-checks {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 24px;
    list-style: none;
    background: var(--cyg-bg);
    border-radius: 8px;
}

.cyg-checks li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
    color: var(--cyg-ink);
}

.cyg-checks .ph {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--cyg-primary);
    font-size: 14px;
    color: var(--cyg-white);
}

.cyg-stats-static {
    margin-top: 0;
    border: 1px solid var(--cyg-line);
}

.cyg-galeria {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 20px;
}

.cyg-galeria img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
}

@media (max-width: 860px) {
    .cyg-split {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .cyg-split.is-reverse > :first-child {
        order: 0;
    }

    .cyg-galeria {
        grid-template-columns: 1fr 1fr;
    }
}

/* ============================================================
   CONTENIDO GENÉRICO (páginas del bundle y HTML de la API)
   ============================================================ */

/* Páginas del bundle sin cabecera propia (privacidad, términos, cookies...): el layout les pone py-5,
   que no existe en Bootstrap 3, así que el contenido quedaba pegado al header */
.container-body {
    padding-top: 40px;
    padding-bottom: 24px;
}

/* El layout del bundle anida .container > .row > .col > .container: se alinea al ancho del sitio (cyg-wrap) */
.container-boxed {
    width: auto;
    max-width: 1200px;
    padding: 0 24px;
}

.container-boxed > .row {
    margin: 0;
}

.container-boxed .container-body {
    padding-left: 0;
    padding-right: 0;
}

.container-body > .container {
    width: auto;
    padding: 0;
}

@media (max-width: 640px) {
    .container-boxed {
        padding: 0 16px;
    }
}

.container-body h1,
.container-body .block-title {
    margin: 0 0 24px;
    font-family: var(--cyg-head);
    font-size: clamp(26px, 3.2vw, 34px);
    font-weight: 800;
    line-height: 1.15;
    color: var(--cyg-primary);
}

.container-body h2,
.container-body h3,
.container-body h4 {
    font-family: var(--cyg-head);
    color: var(--cyg-ink);
}

.container-body a:not(.btn) {
    color: var(--cyg-primary);
}

.btn {
    border-radius: 4px;
    font-family: var(--cyg-head);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.btn-primary,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background: var(--cyg-primary);
    border-color: var(--cyg-primary);
    color: var(--cyg-white);
}

.btn-primary:hover,
.btn-primary:active:hover {
    background: var(--cyg-primary-hover);
    border-color: var(--cyg-primary-hover);
}

.btn-default {
    border-color: var(--cyg-primary);
    color: var(--cyg-primary);
}

.form-control {
    height: 42px;
    border-color: #d2dbdf;
    border-radius: 4px;
    box-shadow: none;
    font-size: 14px;
}

textarea.form-control {
    height: auto;
    min-height: 120px;
}

.form-control:focus {
    border-color: var(--cyg-primary);
    box-shadow: 0 0 0 3px var(--cyg-primary-soft);
}

.container-body label,
.modal label,
.cyg-api-form label {
    font-family: var(--cyg-head);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--cyg-text);
}

.page-header {
    border-bottom-color: var(--cyg-line);
}

/* Modal de login / registro del bundle */
.modal-content {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
}

.modal-header {
    border-bottom-color: var(--cyg-line);
}

.modal-title {
    font-family: var(--cyg-head);
    font-weight: 700;
    color: var(--cyg-primary);
}

.modal .nav-tabs > li > a {
    font-family: var(--cyg-head);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--cyg-text);
}

.modal .nav-tabs > li.active > a,
.modal .nav-tabs > li.active > a:hover {
    color: var(--cyg-primary);
}

.cyg-pin {
    border: 3px solid var(--cyg-white);
    border-radius: 50%;
    background: var(--cyg-primary);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .35);
}

.leaflet-popup-content {
    font-family: var(--cyg-body);
    font-size: 13px;
    line-height: 1.5;
}

.leaflet-popup-content a {
    color: var(--cyg-primary);
}

/* El HTML de algunas páginas de la API trae su propio CSS (colores de links, footer): se refuerza el del sitio */
footer.cyg-footer,
footer.cyg-footer a {
    color: var(--cyg-text);
}

footer.cyg-footer a:hover {
    color: var(--cyg-primary);
}

footer.cyg-footer .cyg-footer-bottom,
footer.cyg-footer .cyg-footer-bottom a {
    color: rgba(255, 255, 255, .9);
}

/* Páginas con HTML de la API (lote, inmueble): migas arriba y el contenido de la API debajo */
.cyg-api-page .container-body {
    padding-top: 24px !important;
}

.cyg-api-page .container-body > .container {
    width: auto;
    padding: 0;
}

.cyg-page-header-mini {
    padding: 14px 0;
}

/* Páginas de cuenta (login, registro, contraseña, perfil): título en la cabecera y el formulario en una caja */
.cyg-cuenta .container-body {
    padding-top: 40px !important;
}

.cyg-cuenta .container-body .page-header,
.cyg-cuenta .container-body > h1,
.cyg-cuenta .container-body .block-title {
    display: none;
}

.cyg-cuenta .container-body form,
.cyg-cuenta .registro-content {
    padding: 28px;
    background: var(--cyg-white);
    border: 1px solid var(--cyg-line);
    border-radius: 8px;
    box-shadow: var(--cyg-shadow);
}

.cyg-cuenta .registro-content form {
    padding: 0;
    border: 0;
    box-shadow: none;
}

/* En pantallas chicas las tablas se desplazan dentro de su contenedor en vez de comprimirse */
@media (max-width: 760px) {
    .cyg-table {
        min-width: 640px;
    }
}

/* ============================================================
   MI PERFIL — el HTML lo arma la API (html/suscribers/profile); acá solo se reacomoda con CSS
   ============================================================ */

.cyg-perfil .container-body > .container {
    width: auto;
    max-width: 1000px;
    padding: 0;
}

/* Cada campo viene en su propio <form>: se anula la caja que las páginas de cuenta le ponen a los formularios */
.cyg-perfil .container-body form {
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
}

/* Fila de crédito: sin la imagen (subasta.png no existe en el sitio), en una tarjeta */
.cyg-perfil .container-body > .container > .row:first-child {
    display: flex;
    margin: 0 0 24px;
    padding: 24px;
    background: var(--cyg-white);
    border: 1px solid var(--cyg-line);
    border-radius: 8px;
    box-shadow: var(--cyg-shadow);
}

.cyg-perfil .container-body > .container > .row:first-child > .col-md-4 {
    display: none;
}

.cyg-perfil .container-body > .container > .row:first-child > .col-md-8 {
    width: 100%;
    padding: 0;
}

.cyg-perfil .container-body > .container > .row:first-child .row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    margin: 0;
}

.cyg-perfil .container-body > .container > .row:first-child .row::before,
.cyg-perfil .container-body > .container > .row:first-child .row::after {
    display: none;
}

.cyg-perfil .container-body > .container > .row:first-child .row > [class*='col-'] {
    float: none;
    width: auto;
    padding: 0;
}

.cyg-perfil .container-body > .container > .row:first-child .row > :first-child {
    flex: 1;
    min-width: 240px;
}

.cyg-perfil .credito-disponible p {
    margin: 0 0 4px;
    font-family: var(--cyg-head);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--cyg-muted);
}

.cyg-perfil .credito-disponible ul {
    margin: 0;
    padding: 0;
    list-style: none;
    background: none !important;
    color: var(--cyg-ink) !important;
}

.cyg-perfil .credito-disponible h3 {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 14px;
    margin: 0;
    font-family: var(--cyg-head);
    font-size: 26px;
    font-weight: 700;
    color: var(--cyg-primary);
}

.cyg-perfil .credito-disponible h3 small {
    float: none !important;
    font-family: var(--cyg-body);
    font-size: 13px;
    font-weight: 400;
    color: var(--cyg-text) !important;
}

/* Crédito sin moneda ni monto (lo marca el JS): el aviso lo pone el CSS para no escribir en el HTML de la API */
.cyg-perfil .credito-disponible h3.is-vacio {
    font-size: 16px;
    font-weight: 600;
    color: var(--cyg-text);
}

.cyg-perfil .credito-disponible h3.is-vacio::before {
    content: 'Sin crédito asignado';
}

.cyg-perfil .btn-solicitarCredito p {
    display: none;
}

.cyg-perfil .btn-solicitarCredito .btn {
    height: 44px !important;
    padding: 0 22px;
    border-color: var(--cyg-primary);
    border-radius: 4px;
    background: var(--cyg-primary);
    color: var(--cyg-white);
}

.cyg-perfil .btn-solicitarCredito .btn:hover {
    background: var(--cyg-primary-hover);
}

/* Datos personales: una sola tarjeta con título y acciones arriba */
.cyg-perfil .container-body > .container > .row:has(.miCuenta) {
    margin: 0;
}

.cyg-perfil .miCuenta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 24px;
    background: var(--cyg-white);
    border: 1px solid var(--cyg-line);
    border-radius: 8px;
    box-shadow: var(--cyg-shadow);
}

.cyg-perfil .miCuenta > p:first-child,
.cyg-perfil .miCuenta > hr {
    display: none;
}

.cyg-perfil .miCuenta > p.pull-right {
    order: -1;
    flex: 1;
    float: none !important;
    justify-content: flex-start !important;
    margin: 0;
    font-family: var(--cyg-head);
    font-size: 16px;
    color: var(--cyg-primary);
}

.cyg-perfil .miCuenta > .btn {
    margin: 0;
    padding: 0 16px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--cyg-primary);
    border-radius: 4px;
    background: var(--cyg-white);
    font-size: 11px;
    color: var(--cyg-primary);
    border-bottom-style: solid;
}

.cyg-perfil .miCuenta > .btn:hover {
    background: var(--cyg-primary-soft);
}

.cyg-perfil .miCuenta > .row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 24px;
    flex-basis: 100%;
    margin: 16px 0 0;
    padding-top: 20px;
    border-top: 1px solid var(--cyg-line);
}

.cyg-perfil .miCuenta > .row::before,
.cyg-perfil .miCuenta > .row::after {
    display: none;
}

.cyg-perfil .miCuenta > .row > [class*='col-'] {
    float: none;
    width: auto;
    min-width: 0;
    padding: 0;
}

/* Orden de lectura: nombre, apellido, documento, email, teléfonos, empresa, dirección */
.cyg-perfil .miCuenta > .row > :has(#s_nombre) { order: 1; }
.cyg-perfil .miCuenta > .row > :has(#s_apellido) { order: 2; }
.cyg-perfil .miCuenta > .row > :has(#s_doc) { order: 3; }
.cyg-perfil .miCuenta > .row > :has(input[type='email']) { order: 4; }
.cyg-perfil .miCuenta > .row > :has(#s_tel) { order: 5; }
.cyg-perfil .miCuenta > .row > :has(#s_cel) { order: 6; }
.cyg-perfil .miCuenta > .row > :has(#s_razonSocial) { order: 7; }
.cyg-perfil .miCuenta > .row > :has(#s_direccion) { order: 8; }

.cyg-perfil .miCuenta .form-inline .form-group {
    display: block;
    margin: 0;
}

.cyg-perfil .miCuenta .form-inline label {
    display: block;
    margin: 0 0 6px;
}

.cyg-perfil .miCuenta .form-inline .form-control {
    display: block;
    width: 100%;
    background: var(--cyg-bg);
    border-color: var(--cyg-line);
    color: var(--cyg-ink);
    font-weight: 600;
    cursor: default;
}

.cyg-perfil .miCuenta .form-control.is-vacio {
    font-weight: 400;
    font-style: italic;
}

@media (max-width: 640px) {
    .cyg-perfil .miCuenta,
    .cyg-perfil .container-body > .container > .row:first-child {
        padding: 18px;
    }

    .cyg-perfil .miCuenta > .row {
        grid-template-columns: 1fr;
    }

    .cyg-perfil .miCuenta > p.pull-right {
        flex-basis: 100%;
    }

    .cyg-perfil .btn-solicitarCredito,
    .cyg-perfil .btn-solicitarCredito .btn {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .cyg-perfil .container-body > .container > .row:first-child .row > [class*='col-'] {
        flex-basis: 100%;
    }
}

/* ============================================================
   REDISEÑO 2026 — header, home y páginas propias
   ============================================================ */

.cyg-btn {
    border-radius: 999px;
}

.cyg-btn-accent,
.cyg-btn-accent:focus {
    background: var(--cyg-accent);
    border-color: var(--cyg-accent);
    color: var(--cyg-white);
}

.cyg-btn-accent:hover {
    background: var(--cyg-accent-hover);
    border-color: var(--cyg-accent-hover);
    color: var(--cyg-white);
}

.cyg-btn-primary,
.cyg-btn-primary:focus {
    background: var(--cyg-navy);
    border-color: var(--cyg-navy);
}

/* HEADER: barra azul con esquinas inferiores redondeadas y menú en píldoras */

.cyg-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--cyg-primary);
    border-radius: 0 0 28px 28px;
    box-shadow: 0 4px 18px rgba(0, 40, 60, .18);
}

.cyg-header .cyg-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    height: 88px;
}

.cyg-logo img {
    display: block;
    height: 48px;
    width: auto;
    filter: brightness(0) invert(1);
}

.cyg-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.cyg-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cyg-pill,
.cyg-pill:focus {
    display: inline-flex;
    align-items: center;
    padding: 5px 14px;
    border-radius: 999px;
    background: var(--cyg-pill);
    font-family: var(--cyg-head);
    font-size: 12px;
    font-weight: 700;
    color: var(--cyg-primary);
    white-space: nowrap;
    transition: background .15s, color .15s;
}

.cyg-pill:hover {
    background: var(--cyg-white);
    color: var(--cyg-primary);
}

.cyg-pill.is-active,
.cyg-pill.is-active:hover {
    background: var(--cyg-accent);
    color: var(--cyg-white);
}

/* Desplegable del menú (Contacto): en desktop flota bajo la píldora; en mobile se abre dentro del menú */
.cyg-desplegable {
    position: relative;
}

.cyg-desplegable > .cyg-pill {
    gap: 4px;
    border: 0;
    cursor: pointer;
}

.cyg-desplegable > .cyg-pill .ph {
    font-size: 12px;
    transition: transform .15s;
}

.cyg-desplegable-menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 110;
    display: none;
    min-width: 200px;
    padding: 8px;
    border-radius: 14px;
    background: var(--cyg-white);
    box-shadow: 0 10px 30px rgba(0, 40, 60, .2);
}

/* Puente invisible para que el menú no se cierre al bajar el mouse de la píldora */
.cyg-desplegable-menu::before {
    content: '';
    position: absolute;
    inset: -10px 0 auto;
    height: 10px;
}

.cyg-desplegable-menu a {
    display: block;
    padding: 10px 14px;
    border-radius: 8px;
    font-family: var(--cyg-head);
    font-size: 14px;
    font-weight: 600;
    color: var(--cyg-navy);
    white-space: nowrap;
}

.cyg-desplegable-menu a:hover,
.cyg-desplegable-menu a:focus {
    background: var(--cyg-primary-soft);
    color: var(--cyg-primary);
}

.cyg-desplegable.is-open .cyg-desplegable-menu {
    display: block;
}

.cyg-desplegable.is-open > .cyg-pill .ph {
    transform: rotate(180deg);
}

@media (hover: hover) and (min-width: 901px) {
    .cyg-desplegable:hover .cyg-desplegable-menu {
        display: block;
    }

    .cyg-desplegable:hover > .cyg-pill .ph {
        transform: rotate(180deg);
    }
}

@media (max-width: 900px) {
    .cyg-desplegable > .cyg-pill {
        width: 100%;
        justify-content: center;
    }

    .cyg-desplegable-menu {
        position: static;
        min-width: 0;
        margin-top: 8px;
        padding: 4px;
        background: rgba(255, 255, 255, .1);
        box-shadow: none;
    }

    .cyg-desplegable-menu::before {
        display: none;
    }

    .cyg-desplegable-menu a {
        text-align: center;
        color: var(--cyg-white);
    }
}

.cyg-menu-toggle,
.cyg-menu-btn {
    display: none;
}

@media (max-width: 900px) {
    .cyg-header .cyg-wrap {
        height: 72px;
    }

    .cyg-logo img {
        height: 38px;
    }

    .cyg-menu-btn {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        margin: 0;
        border-radius: 50%;
        background: rgba(255, 255, 255, .14);
        font-size: 22px;
        color: var(--cyg-white);
        cursor: pointer;
    }

    .cyg-nav {
        position: absolute;
        top: 100%;
        left: 16px;
        right: 16px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        padding: 14px;
        border-radius: 0 0 20px 20px;
        background: var(--cyg-primary);
        box-shadow: 0 10px 24px rgba(0, 40, 60, .25);
    }

    .cyg-nav .cyg-pill {
        justify-content: center;
        padding: 10px 14px;
        font-size: 14px;
    }

    .cyg-menu-toggle:checked ~ .cyg-nav {
        display: flex;
    }
}

/* SECCIONES Y TÍTULOS */

.cyg-section {
    padding: 26px 0;
}

.cyg-section-tight {
    padding: 10px 0;
}

.cyg-section-tabs {
    padding-top: 44px;
}

.cyg-wrap .cyg-titulo {
    font-size: clamp(26px, 3.2vw, 34px);
    font-weight: 800;
    line-height: 1.15;
    color: var(--cyg-primary);
}

.cyg-subtitulo {
    margin: 8px 0 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--cyg-muted);
}

.cyg-section-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 18px;
}

.cyg-section-head .cyg-titulo {
    text-transform: uppercase;
}

.cyg-section-head .cyg-link {
    white-space: nowrap;
}

.cyg-wrap .cyg-etiqueta {
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--cyg-muted);
}

.cyg-wrap .cyg-section-title h2 {
    font-size: 16px;
    font-weight: 800;
    color: var(--cyg-primary);
    text-transform: uppercase;
}

.cyg-empty {
    padding: 28px;
    border: 1px dashed var(--cyg-card-line);
    border-radius: 12px;
    text-align: center;
    color: var(--cyg-muted);
}

.cyg-link,
.cyg-link:focus {
    color: var(--cyg-primary);
}

.cyg-page-header {
    padding: 34px 0 12px;
    background: none;
    border: 0;
}

/* HERO */

/* Hasta el 70% de la pantalla (tope 640px), sin pasar el 16:9 del video para no recortar los textos del montaje */
.cyg-hero {
    position: relative;
    height: max(340px, min(70svh, 640px, 56.25vw));
    margin-top: -28px;
    background: var(--cyg-navy);
    overflow: hidden;
}

.cyg-hero-media video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cyg-hero .cyg-wrap {
    position: relative;
    height: 100%;
}

.cyg-hero-acciones {
    position: absolute;
    right: 24px;
    bottom: 26px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.cyg-hero-acciones .cyg-btn {
    height: 46px;
    padding: 0 28px;
    font-size: 13px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
}

@media (max-width: 640px) {
    .cyg-hero-acciones {
        left: 16px;
        right: 16px;
        bottom: 16px;
    }

    .cyg-hero-acciones .cyg-btn {
        flex: 1;
        padding: 0 12px;
        font-size: 11px;
    }
}

/* TARJETAS DE REMATE */

.cyg-remates-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 34px 26px;
}

.cyg-remate-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 14px 14px 18px;
    border: 2px solid var(--cyg-card-line);
    border-radius: var(--cyg-radius);
    background: #e8eff4;
    transition: box-shadow .15s, transform .15s;
}

.cyg-remate-card:hover {
    box-shadow: var(--cyg-shadow-hover);
    transform: translateY(-2px);
}

.cyg-remate-card-img {
    position: relative;
    aspect-ratio: 1 / .9;
    border-radius: 12px;
    background: var(--cyg-white);
    overflow: hidden;
}

.cyg-remate-card-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cyg-remate-card-img .cyg-card-noimg {
    position: absolute;
    inset: 0;
}

.cyg-remate-card-body {
    display: flex;
    gap: 10px;
    margin-top: 14px;
}

.cyg-remate-card-body > .ph {
    flex-shrink: 0;
    font-size: 32px;
    color: var(--cyg-navy);
}

.cyg-wrap .cyg-remate-card h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--cyg-navy);
}

.cyg-remate-card-body span {
    display: block;
    font-size: 12px;
    color: var(--cyg-muted);
}

.cyg-remate-card-body .cyg-remate-card-precio {
    margin-top: 4px;
    font-weight: 700;
    color: var(--cyg-primary);
}

.cyg-ahora.is-accent {
    background: var(--cyg-accent);
}

.cyg-ahora {
    position: absolute;
    left: 50%;
    bottom: -14px;
    padding: 3px 22px;
    border-radius: 999px;
    background: var(--cyg-red);
    font-family: var(--cyg-head);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .1em;
    color: var(--cyg-white);
    text-transform: uppercase;
    transform: translateX(-50%);
}

.cyg-card-noimg {
    display: grid;
    place-items: center;
    background: var(--cyg-primary-soft);
    font-size: 40px;
    color: var(--cyg-primary);
}

@media (max-width: 900px) {
    .cyg-remates-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .cyg-remates-grid {
        grid-template-columns: 1fr;
    }

    .cyg-remate-card-img {
        aspect-ratio: 16 / 10;
    }
}

/* NÚMEROS */

.cyg-numeros {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: space-around;
    gap: 24px;
    padding: 28px 32px;
    border-radius: var(--cyg-radius);
    background: var(--cyg-navy);
    color: var(--cyg-white);
}

.cyg-numeros > div {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cyg-numeros .ph {
    font-size: 64px;
}

.cyg-numeros p {
    margin: 0;
}

.cyg-numeros b {
    display: block;
    font-variant-numeric: tabular-nums;
    font-family: var(--cyg-head);
    font-size: clamp(30px, 3.4vw, 40px);
    font-weight: 800;
    line-height: 1;
}

.cyg-numeros span {
    display: block;
    white-space: nowrap;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    .cyg-numeros {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }
}

/* APP */

.cyg-section-app {
    padding: 22px 0 48px;
}

.cyg-app {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px 24px;
    padding: 12px 28px;
    border-radius: 12px;
    background: var(--cyg-accent);
}

.cyg-wrap .cyg-app h2 {
    font-size: clamp(22px, 2.8vw, 32px);
    font-weight: 800;
    color: var(--cyg-white);
}

.cyg-app-tiendas {
    display: flex;
    gap: 10px;
}

.cyg-app-tiendas img {
    display: block;
    height: 40px;
    width: auto;
    border-radius: 6px;
}

/* INSTAGRAM */

.cyg-instagram {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.cyg-instagram-feed {
    width: 100%;
    min-height: 200px;
}

/* Montado sobre el borde inferior del feed, como en el diseño */
.cyg-instagram .cyg-btn {
    position: relative;
    z-index: 2;
    margin-top: -28px;
    height: 56px;
    padding: 0 40px;
    text-transform: none;
    letter-spacing: 0;
    font-size: 16px;
}

.cyg-instagram .cyg-btn .ph {
    font-size: 22px;
}

@media (max-width: 640px) {
    .cyg-instagram {
        padding: 0;
    }
}

/* NOS RESPALDAN */

.cyg-wrap .cyg-destacado {
    margin: 10px 0 26px;
    font-size: clamp(24px, 3.4vw, 36px);
    font-style: italic;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    color: var(--cyg-primary);
}

.cyg-wrap .cyg-destacado.is-left {
    margin: 24px 0 0;
    text-align: left;
}

.cyg-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 290px));
    justify-content: center;
    gap: 16px 46px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cyg-checks li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 16px 5px 6px;
    border-radius: 999px;
    background: var(--cyg-navy);
    font-family: var(--cyg-head);
    font-size: 17px;
    font-weight: 700;
    color: var(--cyg-white);
}

.cyg-checks li.is-accent {
    background: var(--cyg-accent);
}

.cyg-checks .ph {
    font-size: 30px;
}

@media (max-width: 640px) {
    .cyg-checks {
        grid-template-columns: 1fr;
    }
}

/* FOOTER */

.cyg-footer {
    margin-top: 64px;
    padding-bottom: 12px;
}

.cyg-footer-box {
    margin: 0 5px;
    padding: 52px 0;
    border-radius: var(--cyg-radius);
    background: var(--cyg-sky);
}

.cyg-footer-grid {
    display: grid;
    grid-template-columns: 170px 1fr 280px;
    gap: 56px;
    align-items: center;
}

.cyg-footer-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.cyg-wrap .cyg-footer-marca h2 {
    font-size: 25px;
    font-weight: 800;
    color: var(--cyg-primary);
}

.cyg-footer-marca p {
    margin: 8px 0 24px;
    font-size: 13px;
    font-style: italic;
    font-weight: 600;
    color: var(--cyg-primary);
}

.cyg-footer-marca .cyg-pills {
    max-width: 380px;
    gap: 10px;
}

.cyg-footer-marca .cyg-pill:hover {
    background: var(--cyg-white);
}

.cyg-wrap .cyg-footer-contacto h3 {
    margin-bottom: 10px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--cyg-primary);
}

.cyg-sucursal {
    display: grid;
    gap: 2px;
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--cyg-primary);
}

footer.cyg-footer .cyg-sucursal a {
    color: var(--cyg-primary);
}

.cyg-socials {
    display: flex;
    gap: 12px;
    margin-top: 22px;
}

footer.cyg-footer .cyg-socials a {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--cyg-accent);
    font-size: 20px;
    color: var(--cyg-white);
}

footer.cyg-footer .cyg-socials a:hover {
    background: var(--cyg-primary);
}

footer.cyg-footer .cyg-footer-bottom,
footer.cyg-footer .cyg-footer-bottom a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 18px;
    padding: 20px 0 12px;
    font-size: 11px;
    color: var(--cyg-muted);
}

footer.cyg-footer .cyg-footer-bottom a {
    display: inline;
    padding: 0;
    text-decoration: underline;
}

@media (max-width: 900px) {
    .cyg-footer-box {
        padding: 40px 0;
    }

    .cyg-footer-grid {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 32px;
        text-align: center;
    }

    .cyg-footer-logo img {
        width: 130px;
    }

    .cyg-footer-marca .cyg-pills,
    .cyg-socials {
        justify-content: center;
    }

    .cyg-footer-marca .cyg-pills {
        margin: 0 auto;
    }
}

/* PESTAÑAS DE REMATES */

.cyg-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 40px;
    border: 1px solid #d3e0e8;
    background: #e6edf2;
}

.cyg-tabs a {
    padding: 11px 8px;
    border-bottom: 3px solid transparent;
    font-family: var(--cyg-head);
    font-size: clamp(12px, 1.6vw, 17px);
    font-weight: 700;
    text-align: center;
    color: #5f7380;
}

.cyg-tabs a + a {
    border-left: 1px solid #d3e0e8;
}

.cyg-tabs a:hover {
    color: var(--cyg-primary);
}

.cyg-tabs a.is-active {
    background: var(--cyg-accent);
    border-bottom-color: #e3b04b;
    color: var(--cyg-white);
}

/* REPRESENTANTES POR ZONA */

.cyg-zonas-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 26px;
}

.cyg-zonas-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cyg-zona-chip {
    padding: 4px 18px;
    border: 1.5px solid var(--cyg-pill);
    border-radius: 999px;
    background: var(--cyg-white);
    font-family: var(--cyg-head);
    font-size: 11px;
    font-weight: 700;
    color: var(--cyg-primary);
    text-transform: uppercase;
    cursor: pointer;
}

.cyg-zona-chip:hover {
    border-color: var(--cyg-accent);
}

.cyg-zona-chip.is-active {
    border-color: var(--cyg-accent);
    background: var(--cyg-accent);
    color: var(--cyg-white);
}

.cyg-zonas {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 32px;
    align-items: start;
}

.cyg-zonas-mapa {
    display: flex;
    justify-content: center;
}

.cyg-mapa {
    width: auto;
    height: 520px;
    max-width: 100%;
}

.cyg-mapa path {
    fill: #c7e0f2;
    stroke: #9aaab4;
    stroke-width: 2;
    transition: fill .15s;
}

.cyg-mapa path.tiene-representantes {
    fill: #8fc9ea;
    cursor: pointer;
}

.cyg-mapa path.tiene-representantes:hover,
.cyg-mapa path.is-active {
    fill: var(--cyg-accent);
}

.cyg-zonas-lista {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

@media (max-width: 560px) {
    .cyg-zonas-lista {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .cyg-zonas {
        grid-template-columns: 1fr;
    }

    .cyg-mapa {
        height: 320px;
    }
}

/* PERSONAS (staff y representantes) */

.cyg-personas {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px 22px;
}

.cyg-persona {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--cyg-line);
    border-radius: 12px;
    background: var(--cyg-white);
}

.cyg-persona-head {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.cyg-persona-head > div {
    min-width: 0;
}

.cyg-persona-foto {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border: 1.5px solid var(--cyg-text);
    border-radius: 4px;
    object-fit: cover;
    font-size: 30px;
    color: var(--cyg-text);
}

.cyg-persona small {
    display: block;
    font-size: 13px;
    line-height: 1.25;
    color: var(--cyg-primary);
}

.cyg-persona b {
    display: block;
    overflow: hidden;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--cyg-navy);
}

.cyg-persona-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cyg-chip-wa,
.cyg-chip-mail {
    padding: 3px 12px;
    border-radius: 999px;
    font-family: var(--cyg-head);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--cyg-white);
}

.cyg-chip-wa,
.cyg-chip-wa:focus,
.cyg-chip-wa:hover {
    background: var(--cyg-wa);
    color: var(--cyg-white);
}

.cyg-chip-mail,
.cyg-chip-mail:focus,
.cyg-chip-mail:hover {
    background: var(--cyg-navy);
    color: var(--cyg-white);
}

.cyg-chip-wa:hover,
.cyg-chip-mail:hover {
    opacity: .88;
}

@media (max-width: 900px) {
    .cyg-personas {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .cyg-personas {
        grid-template-columns: 1fr;
    }
}

/* CASA CENTRAL: panel azul con las tarjetas montadas encima */

.cyg-casa-central {
    position: relative;
    padding: 12px 16px 0;
}

.cyg-casa-central::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 110px;
    border-radius: 22px;
    background: var(--cyg-primary);
}

.cyg-casa-central > * {
    position: relative;
}

.cyg-wrap .cyg-casa-central h2 {
    margin: 0 0 8px;
    font-size: clamp(26px, 3.2vw, 34px);
    font-weight: 800;
    color: var(--cyg-white);
}

/* QUIÉNES SOMOS */

.cyg-texto p {
    margin: 0 0 16px;
    font-size: 14.5px;
    line-height: 1.55;
    text-align: justify;
    color: var(--cyg-ink);
}

.cyg-columnas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.cyg-historia {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.cyg-historia img {
    width: 100%;
    aspect-ratio: 1.13;
    object-fit: cover;
    filter: grayscale(1) contrast(1.05);
    transition: filter .4s;
}

.cyg-historia img:hover {
    filter: none;
}

@media (max-width: 760px) {
    .cyg-columnas {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .cyg-historia {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* EN VIVO */

.cyg-vivo-barra {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 11px 16px;
    background: var(--cyg-navy);
    font-family: var(--cyg-head);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-align: center;
    text-transform: uppercase;
    color: var(--cyg-white);
}

.cyg-vivo-barra.is-vivo {
    background: var(--cyg-red);
}

.cyg-vivo-punto {
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--cyg-white);
    animation: cyg-latido 1.4s ease-in-out infinite;
}

@keyframes cyg-latido {
    50% {
        opacity: .35;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cyg-vivo-punto {
        animation: none;
    }
}

.cyg-player {
    position: relative;
    margin-top: 10px;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #0b1a22, #10262f);
}

.cyg-player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.cyg-player-vacio {
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 12px;
    height: 100%;
    padding: 24px;
    text-align: center;
    color: rgba(255, 255, 255, .75);
}

.cyg-player-vacio .ph {
    font-size: 76px;
    color: #d9a94f;
}

.cyg-player-pie {
    margin: 10px 0 0;
    font-size: 13px;
    color: var(--cyg-muted);
}

.cyg-reposiciones {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.cyg-reposicion {
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: 16 / 7;
    border-radius: 8px;
    background: #0d1b22;
    overflow: hidden;
    color: var(--cyg-white);
}

.cyg-reposicion img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .35;
    transition: opacity .15s;
}

.cyg-reposicion:hover img {
    opacity: .55;
}

.cyg-reposicion > span {
    position: relative;
}

.cyg-reposicion-play {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    margin-bottom: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .15);
    font-size: 18px;
}

.cyg-reposicion-texto {
    position: absolute !important;
    left: 12px;
    right: 12px;
    bottom: 10px;
    text-align: center;
}

.cyg-reposicion-texto b {
    display: block;
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cyg-reposicion-texto small {
    font-size: 11px;
    color: rgba(255, 255, 255, .7);
}

@media (max-width: 760px) {
    .cyg-reposiciones {
        grid-template-columns: 1fr;
    }
}

/* CONTACTO */

.cyg-contacto {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    align-items: stretch;
}

/* isolation: los paneles de Leaflet usan z-index altos y pasarían por encima del header fijo */
.cyg-mapa-contacto {
    position: relative;
    isolation: isolate;
    min-height: 340px;
    background: var(--cyg-primary-soft);
}

.cyg-mapa-contacto .map-wrapper,
.cyg-mapa-contacto .map {
    width: 100%;
    height: 100%;
    min-height: 340px;
}

.cyg-mapa-contacto .leaflet-container {
    font-family: var(--cyg-body);
}

.cyg-whatsapp {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 40px;
}

.cyg-whatsapp a,
.cyg-whatsapp a:focus {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border-radius: 999px;
    background: var(--cyg-wa);
    font-family: var(--cyg-head);
    font-size: 16px;
    font-weight: 700;
    color: var(--cyg-white);
}

.cyg-whatsapp a:hover {
    background: #1fbd5a;
    color: var(--cyg-white);
}

.cyg-whatsapp .ph {
    font-size: 24px;
}

@media (max-width: 760px) {
    .cyg-contacto,
    .cyg-whatsapp {
        grid-template-columns: 1fr;
    }
}

/* Formulario que arma la API (Bootstrap form-horizontal): una columna y campos como en el diseño */
.cyg-api-form .container {
    width: auto;
    padding: 0;
}

.cyg-api-form .heading h4 {
    margin: 0 0 6px;
    font-family: var(--cyg-head);
    font-size: 16px;
    font-weight: 800;
    color: var(--cyg-primary);
}

.cyg-api-form .form-horizontal .form-group {
    margin: 0 0 10px;
}

.cyg-api-form .form-horizontal [class*='col-sm-'] {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: left;
}

.cyg-api-form .form-horizontal .control-label {
    margin-bottom: 4px;
    padding-top: 0;
    text-align: left;
}

.cyg-api-form .form-control {
    height: 36px;
    border-color: #e1e6ea;
    background: #f6f7f9;
    font-size: 13px;
}

.cyg-api-form textarea.form-control {
    height: auto;
    min-height: 100px;
}

.cyg-api-form .btn-primary,
.cyg-api-form .btn-primary:focus {
    padding: 8px 32px;
    border-color: var(--cyg-accent);
    border-radius: 999px;
    background: var(--cyg-accent);
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
}

.cyg-api-form .btn-primary:hover {
    border-color: var(--cyg-accent-hover);
    background: var(--cyg-accent-hover);
}

/* ACCESO CLIENTES */

.cyg-portal {
    max-width: 420px;
    margin: 0 auto;
    padding: 22px 28px 26px;
    border: 1px solid var(--cyg-line);
    border-radius: 10px;
    background: var(--cyg-white);
    text-align: center;
}

.cyg-portal-icono {
    display: inline-grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #fbf0dc;
    font-size: 28px;
    color: #d9a94f;
}

.cyg-wrap .cyg-portal h2 {
    margin: 10px 0 14px;
    font-size: 17px;
    font-weight: 800;
    color: var(--cyg-navy);
}

.cyg-portal form {
    display: grid;
    gap: 8px;
}

.cyg-portal .form-control {
    height: 36px;
    border-color: #e1e6ea;
    background: #f6f7f9;
    font-size: 13px;
}

.cyg-portal .cyg-btn {
    width: 100%;
    margin-top: 4px;
    text-transform: none;
    letter-spacing: 0;
    font-size: 14px;
}

.cyg-portal-links {
    margin: 8px 0 0;
    font-size: 12px;
    text-align: center;
    color: var(--cyg-accent);
}

.cyg-portal-links a {
    color: var(--cyg-accent);
}

.cyg-portal-links a:hover {
    text-decoration: underline;
}

.cyg-accesos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.cyg-acceso {
    display: grid;
    justify-items: center;
    gap: 4px;
    padding: 18px 14px;
    border: 1px solid var(--cyg-line);
    border-radius: 8px;
    background: var(--cyg-white);
    text-align: center;
}

a.cyg-acceso:hover {
    box-shadow: var(--cyg-shadow-hover);
}

.cyg-acceso-icono {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin-bottom: 8px;
    border-radius: 50%;
    background: #eef1f4;
    font-size: 24px;
    color: var(--cyg-navy);
}

.cyg-acceso b {
    font-size: 13px;
    font-weight: 800;
    color: var(--cyg-navy);
}

.cyg-acceso small {
    font-size: 12px;
    color: var(--cyg-muted);
}

.cyg-panel-seccion {
    margin-top: 30px;
}

.cyg-documentos {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cyg-documentos li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border: 1px solid var(--cyg-line);
    border-radius: 8px;
    background: var(--cyg-white);
}

.cyg-documentos li > .ph {
    font-size: 22px;
    color: var(--cyg-primary);
}

.cyg-documentos li > span {
    flex: 1;
    font-weight: 600;
    color: var(--cyg-ink);
}

.cyg-documentos small {
    margin-left: 6px;
    font-weight: 400;
    color: var(--cyg-muted);
}

@media (max-width: 640px) {
    .cyg-accesos {
        grid-template-columns: 1fr;
    }
}

/* BANDA (llamado a la acción en ventas particulares) */

.cyg-band {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 22px 26px;
    border-radius: var(--cyg-radius);
    background: var(--cyg-primary);
    color: rgba(255, 255, 255, .85);
}

.cyg-band-icon {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .14);
    font-size: 26px;
    color: var(--cyg-white);
}

.cyg-wrap .cyg-band h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--cyg-white);
}

.cyg-band p {
    margin: 4px 0 0;
}

.cyg-band-actions {
    margin-left: auto;
}

@media (max-width: 760px) {
    .cyg-band {
        flex-direction: column;
        align-items: flex-start;
    }

    .cyg-band-actions {
        margin-left: 0;
    }
}

/* Etiqueta de tipo (detalle de remate) */
.cyg-tipo {
    display: inline-flex;
    align-items: center;
    padding: 3px 12px;
    border-radius: 999px;
    background: var(--cyg-primary-soft);
    font-family: var(--cyg-head);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--cyg-primary);
}

.cyg-tipo.is-vivo {
    background: var(--cyg-red);
    color: var(--cyg-white);
}

/* ============================================================
   HTML DE LA API (detalle de remate y de lote)
   El HTML y su CSS los arma la API (tema con reglas globales); acá solo se lo lleva al diseño del sitio.
   ============================================================ */

.cyg-api-page .container-body {
    padding-top: 8px !important;
}

.cyg-api-page .container-body,
.cyg-api-page .container-body p,
.cyg-api-page .container-body td,
.cyg-api-page .container-body div {
    font-family: var(--cyg-body);
}

.cyg-api-page .container-body {
    font-size: 14px;
    line-height: 1.6;
    color: var(--cyg-text);
}

.cyg-api-page .container-body .container,
.cyg-api-page .container-body .container_inner {
    width: auto;
    padding: 0;
}

/* Cabecera: foto de la API con el título encima */
.cyg-api-page .title_outer {
    margin-bottom: 24px;
}

.cyg-api-page .title_outer .title {
    position: relative;
    display: flex;
    align-items: flex-end;
    height: clamp(200px, 26vw, 300px) !important;
    border-radius: var(--cyg-radius);
    background-color: var(--cyg-primary);
    background-position: center;
    overflow: hidden;
}

.cyg-api-page .title_outer .title::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 40, 60, .05) 30%, rgba(0, 40, 60, .78));
}

.cyg-api-page .title_outer .image {
    display: none;
}

/* Más específico que el tema de la API, que lo pone absoluto arriba */
.cyg-api-page .title_outer .title .title_holder {
    position: relative;
    top: auto;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto !important;
    padding: 24px 28px;
}

.cyg-api-page .title_holder h1,
.cyg-api-page .title_holder h1 span {
    margin: 0;
    font-family: var(--cyg-head);
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: normal;
    text-transform: none;
    color: var(--cyg-white);
}

.cyg-api-page .title_holder .subtitle {
    display: block;
    margin-top: 6px;
    font-family: var(--cyg-head);
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
    color: rgba(255, 255, 255, .88);
}

/* El título se repite debajo de la cabecera */
.cyg-api-page .portfolio_single_text_title {
    display: none;
}

.cyg-api-page .portfolio_single {
    margin-top: 0 !important;
}

.cyg-api-page .container_header,
.cyg-api-page .container-body .container_inner,
.cyg-api-page .portfolio_single {
    padding: 0;
    background: none;
}

/* Columna principal en tarjeta blanca; la ficha a la derecha en tarjeta celeste como las de remates */
/* El tema de la API le pone display block, fondo blanco y padding con un selector que no se puede ubicar: se fuerza */
.cyg-api-page .container-body .portfolio_single .portfolio_container {
    display: flex !important;
    flex-wrap: wrap;
    gap: 24px;
    align-items: flex-start;
    padding: 0 !important;
    background: none !important;
}

.cyg-api-page .portfolio_container::before,
.cyg-api-page .portfolio_container::after {
    display: none;
}

.cyg-api-page .portfolio_container > .column1,
.cyg-api-page .portfolio_container > .column2 {
    float: none;
    padding: 24px;
    border-radius: var(--cyg-radius);
}

.cyg-api-page .portfolio_container > .column1 {
    flex: 1 1 520px;
    width: auto;
    min-width: 0;
    background: var(--cyg-white);
    border: 1px solid var(--cyg-line);
}

.cyg-api-page .portfolio_container > .column2 {
    flex: 0 1 300px;
    width: auto;
    min-width: 0;
    background: #e8eff4;
    border: 2px solid var(--cyg-card-line);
}

.cyg-api-page .container-body h2,
.cyg-api-page .container-body .wpb_wrapper h2 {
    margin: 0 0 12px;
    font-family: var(--cyg-head);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: normal;
    line-height: 1.3;
    text-transform: uppercase;
    color: var(--cyg-primary);
}

.cyg-api-page .container-body h3,
.cyg-api-page .container-body .wpb_wrapper h3 {
    margin: 0;
    font-family: var(--cyg-head);
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    color: var(--cyg-navy);
}

.cyg-api-page .container-body .separator {
    margin: 0 !important;
    height: 10px;
}

.cyg-api-page .span-hr {
    margin: 4px 0 14px;
    border: 0;
    border-top: 1px solid var(--cyg-line);
}

/* Ficha (Organiza, Tipo, Lugar...) */
.cyg-api-page .portfolio_detail .info {
    margin: 0 0 12px;
}

.cyg-api-page .portfolio_detail .info.hidden {
    display: none;
}

.cyg-api-page .portfolio_detail h6 {
    margin: 0 0 2px;
    font-family: var(--cyg-head);
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--cyg-muted);
}

.cyg-api-page .portfolio_detail p {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--cyg-navy);
}

.cyg-api-page .portfolio_detail p:empty {
    color: var(--cyg-muted);
}

.cyg-api-page .portfolio_detail p:empty::before {
    content: '—';
}

.cyg-api-page .container-body a {
    color: var(--cyg-primary);
}

/* El afiche trae width="700" dentro de un inline-block: sin esto la ficha no entra al costado */
.cyg-api-page .column2 .vc_single_image-wrapper {
    display: block;
}

.cyg-api-page .portfolio_detail img,
.cyg-api-page .custom-slide-item img {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin-top: 6px;
    border-radius: 12px;
}

/* Tabla de lotes del remate */
.cyg-api-page .table_remate_even {
    display: block;
    width: 100% !important;
    margin-bottom: 18px;
    overflow-x: auto;
    border-collapse: collapse;
}

.cyg-api-page .table_remate_even thead td {
    padding: 9px 12px;
    background: var(--cyg-primary-soft);
    font-family: var(--cyg-head);
    font-size: 11px;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--cyg-primary);
}

.cyg-api-page .table_remate_even tbody td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--cyg-line);
    font-size: 13px;
    color: var(--cyg-ink);
}

.cyg-api-page .table_remate_even tbody tr:hover td {
    background: var(--cyg-bg);
}

.cyg-api-page .table_remate_even a {
    display: inline-block;
    padding: 2px 12px;
    border-radius: 999px;
    background: var(--cyg-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--cyg-white);
}

.cyg-api-page .table_remate_even a:hover {
    background: var(--cyg-accent-hover);
    color: var(--cyg-white);
}

/* Video del lote */
.cyg-api-page .flexslider {
    min-height: 0 !important;
    margin: 0 0 24px;
    border: 0;
    border-radius: var(--cyg-radius);
    background: #0d1b22;
    box-shadow: none;
    overflow: hidden;
}

.cyg-api-page .flex-viewport {
    min-height: 0 !important;
}

.cyg-api-page .flexslider video {
    display: block !important;
    width: 100%;
    height: auto;
    max-height: 520px;
}

.cyg-api-page .flex-direction-nav {
    display: none;
}

@media (max-width: 760px) {
    .cyg-api-page .portfolio_container > .column1,
    .cyg-api-page .portfolio_container > .column2 {
        flex-basis: 100%;
        padding: 18px;
    }
}
