.tc-public-panel,
.tc-front-dashboard,
.tc-single-details,
.tc-private-panel {
    --tc-border: rgba(127,127,127,.28);
    --tc-surface: rgba(255,255,255,.06);
    --tc-text: #fff;
    width: 100%;
    color: #fff !important;
}
.tc-public-panel,
.tc-public-panel h2,
.tc-public-panel h3,
.tc-public-panel p,
.tc-public-panel span,
.tc-public-panel label,
.tc-public-panel strong,
.tc-public-panel a,
.tc-property-card,
.tc-property-card h3,
.tc-property-card a,
.tc-single-details,
.tc-single-details h2,
.tc-single-details h3,
.tc-single-details p,
.tc-single-details span,
.tc-single-details strong,
.tc-single-details a,
.tc-property-contact,
.tc-property-contact a {
    color: #fff !important;
}
.tc-front-dashboard,
.tc-front-dashboard h1,
.tc-front-dashboard h2,
.tc-front-dashboard h3,
.tc-front-dashboard p,
.tc-front-dashboard span,
.tc-front-dashboard strong,
.tc-front-dashboard label,
.tc-front-dashboard small,
.tc-front-dashboard a,
.tc-front-form,
.tc-front-form h3,
.tc-front-form label,
.tc-front-form small,
.tc-my-properties,
.tc-my-property,
.tc-my-property strong,
.tc-my-property span,
.tc-my-property a,
.tc-login-box,
.tc-login-box p,
.tc-login-box label,
.tc-login-box a {
    color: #fff !important;
}
.tc-front-form input,
.tc-front-form select,
.tc-front-form textarea,
.tc-login-box input {
    color: #fff !important;
    background-color: rgba(20, 20, 20, .84) !important;
}
.tc-front-form option {
    color: #fff;
    background: #202124;
}
/* En paneles claros se respeta el color del tema; los campos oscuros siguen blancos. */
.tc-front-dashboard,
.tc-front-dashboard h1,
.tc-front-dashboard h2,
.tc-front-dashboard h3,
.tc-front-dashboard p,
.tc-front-dashboard span,
.tc-front-dashboard strong,
.tc-front-dashboard label,
.tc-front-dashboard small,
.tc-front-dashboard a,
.tc-front-form,
.tc-front-form h3,
.tc-front-form label,
.tc-front-form small,
.tc-my-properties,
.tc-my-property,
.tc-my-property strong,
.tc-my-property span,
.tc-my-property a,
.tc-login-box,
.tc-login-box p,
.tc-login-box label,
.tc-login-box a {
    color: inherit !important;
}
.tc-front-dashboard .tc-private-panel,
.tc-front-dashboard .tc-alert,
.tc-front-dashboard .tc-empty {
    color: inherit !important;
}
.tc-front-dashboard .tc-button,
.tc-login-box .tc-button {
    color: #fff !important;
}
/* Las fichas públicas no deben mostrar autor ni fecha de carga del tema. */
body.single-tc_propiedad .entry-meta,
body.single-tc_propiedad .post-meta,
body.single-tc_propiedad .post-info,
body.single-tc_propiedad .byline,
body.single-tc_propiedad .posted-on,
body.single-tc_propiedad .author,
body.single-tc_propiedad .elementor-widget-theme-post-info,
body.single-tc_propiedad .elementor-post-info {
    display: none !important;
}
.tc-menu-item > .menu-link {
    text-transform: none !important;
}
.tc-menu-logout > a,
.tc-menu-logout > .menu-link {
    font-weight: 800 !important;
    text-transform: uppercase !important;
}
/* Contraste adaptable: los contenedores transparentes usan el color del tema. */
.tc-public-panel,
.tc-single-details,
.tc-private-panel {
    color: inherit !important;
}
.tc-public-panel > h2,
.tc-public-panel .tc-filter-field label,
.tc-public-panel .tc-tabs a:not(.active),
.tc-public-panel .tc-filter-actions a,
.tc-public-panel .tc-empty,
.tc-single-details > .tc-single-price,
.tc-single-details > p,
.tc-private-panel h3,
.tc-private-panel p,
.tc-private-panel > strong {
    color: inherit !important;
}
/* Superficies oscuras controladas por el plugin siempre usan texto blanco. */
.tc-property-card,
.tc-property-card h3,
.tc-property-card p,
.tc-property-card span,
.tc-property-card strong,
.tc-property-card a,
.tc-single-fact,
.tc-single-fact span,
.tc-single-fact strong,
.tc-property-contact,
.tc-property-contact p,
.tc-property-contact strong,
.tc-property-contact a {
    color: #fff !important;
}
.tc-property-card,
.tc-single-fact,
.tc-property-contact {
    background-color: #252b2d;
}
.tc-featured-panel,
.tc-featured-panel > h2,
.tc-featured-panel > p,
.tc-featured-panel > .tc-empty {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
}
.tc-featured-panel .tc-property-card,
.tc-featured-panel .tc-property-card * {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
}
.tc-featured-panel .tc-property-card,
.tc-featured-panel .tc-card-body {
    background: #fff !important;
}
.tc-featured-panel .tc-property-card .tc-status,
.tc-featured-panel .tc-property-card .tc-button,
.tc-featured-panel .tc-property-card .tc-button * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
.tc-tabs a.active,
.tc-button,
.tc-filter-actions button {
    color: #fff !important;
}
/* La ficha individual usa una superficie oscura estable para garantizar contraste. */
body.single-tc_propiedad .ast-article-single {
    background-color: #373f4d !important;
    color: #fff !important;
}
body.single-tc_propiedad .ast-article-single .entry-title,
body.single-tc_propiedad .ast-article-single .entry-content,
body.single-tc_propiedad .ast-article-single .entry-content h1,
body.single-tc_propiedad .ast-article-single .entry-content h2,
body.single-tc_propiedad .ast-article-single .entry-content h3,
body.single-tc_propiedad .ast-article-single .entry-content h4,
body.single-tc_propiedad .ast-article-single .entry-content p,
body.single-tc_propiedad .ast-article-single .entry-content li,
body.single-tc_propiedad .ast-article-single .tc-single-details,
body.single-tc_propiedad .ast-article-single .tc-single-price {
    color: #fff !important;
}
/* Página del panel: Astra usa fondo oscuro, por lo que todo el artículo debe ser claro. */
body.tc-front-panel-page .ast-article-single {
    background-color: #373f4d !important;
    color: #fff !important;
}
body.tc-front-panel-page .ast-article-single .entry-title,
body.tc-front-panel-page .ast-article-single .entry-content,
body.tc-front-panel-page .ast-article-single .entry-content h1,
body.tc-front-panel-page .ast-article-single .entry-content h2,
body.tc-front-panel-page .ast-article-single .entry-content h3,
body.tc-front-panel-page .ast-article-single .entry-content p,
body.tc-front-panel-page .ast-article-single .entry-content label,
body.tc-front-panel-page .ast-article-single .entry-content span,
body.tc-front-panel-page .ast-article-single .entry-content strong,
body.tc-front-panel-page .ast-article-single .entry-content small,
body.tc-front-panel-page .tc-front-dashboard,
body.tc-front-panel-page .tc-login-box,
body.tc-front-panel-page .tc-form-section,
body.tc-front-panel-page .tc-my-property {
    color: #fff !important;
}
.tc-public-panel h2,
.tc-front-dashboard h2 {
    margin: 0 0 18px;
}
.tc-filters {
    display: grid;
    grid-template-columns: repeat(5, minmax(140px, 1fr));
    gap: 12px;
    margin: 18px 0 28px;
    align-items: end;
}
.tc-lands-filters {
    grid-template-columns: minmax(180px, 320px) auto;
    justify-content: start;
}
.tc-filter-field label,
.tc-form-field label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 6px;
}
.tc-filters input,
.tc-filters select,
.tc-front-form input,
.tc-front-form select,
.tc-front-form textarea,
.tc-login-box input {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 13px;
    border: 1px solid var(--tc-border);
    border-radius: 8px;
    background: rgba(20,20,20,.84);
    color: #fff;
}
.tc-filters input::placeholder,
.tc-front-form input::placeholder,
.tc-front-form textarea::placeholder {
    color: rgba(255,255,255,.55);
}
.tc-filter-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}
.tc-filter-actions button,
.tc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: #d94b2b;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    cursor: pointer;
}
.tc-filter-actions a {
    color: inherit;
}
.tc-button-secondary {
    background: transparent;
    border-color: var(--tc-border);
    color: inherit !important;
}
.tc-button.tc-load-property-tab { background:#1976d2; border-color:#1976d2; color:#fff !important; }
.tc-button.tc-load-property-tab:hover,
.tc-button.tc-load-property-tab:focus { background:#115ca8; border-color:#115ca8; color:#fff !important; }
.tc-button.tc-save-changes-button {
    background: #168247 !important;
    border-color: #168247 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
.tc-button.tc-save-changes-button:hover,
.tc-button.tc-save-changes-button:focus {
    background: #0f6536 !important;
    border-color: #0f6536 !important;
}
.tc-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 18px;
}
.tc-tabs a {
    padding: 10px 16px;
    border: 1px solid var(--tc-border);
    border-radius: 999px;
    text-decoration: none;
    color: inherit;
}
.tc-tabs a:not(.active) {
    background: #1769aa;
    border-color: #1769aa;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
body .tc-public-panel .tc-tabs a:not(.active),
body .tc-public-panel .tc-tabs a:not(.active):visited,
body .tc-public-panel .tc-tabs a:not(.active):hover {
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}
.tc-tabs a.active {
    background: #d94b2b;
    color: #fff;
    border-color: #d94b2b;
}
.tc-property-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}
.tc-property-card {
    overflow: hidden;
    border: 1px solid var(--tc-border);
    border-radius: 14px;
    background: var(--tc-surface);
    box-shadow: 0 8px 26px rgba(0,0,0,.12);
    aspect-ratio: 5 / 6;
    display: flex;
    flex-direction: column;
    position: relative;
}
.tc-card-image {
    position: relative;
    display: block;
    aspect-ratio: auto;
    flex: 0 0 43%;
    background: rgba(0,0,0,.16);
    overflow: hidden;
}
.tc-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .25s ease;
}
.tc-property-card:hover .tc-card-image img {
    transform: scale(1.025);
}
.tc-no-image {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.58);
}
.tc-status {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(0,0,0,.72);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}
.tc-status-reservada { background: #9b6b00; }
.tc-status-vendida,
.tc-status-alquilada { background: #646970; }
.tc-status-disponible { background: #1f7a45; }
.tc-card-body {
    padding: 12px;
    display: flex;
    flex: 1;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    padding-bottom: 12px;
}
.tc-card-kicker {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    opacity: .68;
}
.tc-card-body h3 {
    margin: 3px 0 5px !important;
    font-size: 16px;
    line-height: 1.1 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.tc-public-panel .tc-card-body h3 { display:-webkit-box !important; visibility:visible !important; opacity:1 !important; font-size:17px !important; line-height:1.1 !important; }
.tc-public-panel .tc-card-body h3 a { display:inline !important; visibility:visible !important; opacity:1 !important; }
.tc-card-body h3 a {
    color: inherit;
    text-decoration: none;
}
.tc-card-price {
    font-size: 19px;
    font-weight: 800;
    margin-bottom: 4px;
}
.tc-card-location,
.tc-card-details {
    margin-bottom: 3px;
    line-height: 1.1;
    opacity: .84;
}
.tc-card-description {
    margin-top: 12px;
    opacity: .82;
    display: none;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.tc-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
    position: static;
    flex-shrink: 0;
}
.tc-card-actions .tc-button {
    min-height: 38px;
    padding: 8px 12px;
    font-size: 13px;
}
.tc-empty,
.tc-login-box,
.tc-alert {
    padding: 16px 18px;
    border: 1px solid var(--tc-border);
    border-radius: 10px;
    background: var(--tc-surface);
}
.tc-alert {
    margin-bottom: 18px;
}
.tc-alert-success { border-color: #2e8b57; }
.tc-upload-success { border-color:#168247; background:#168247; color:#fff; font-size:20px; font-weight:700; text-align:center; }
.tc-alert-error { border-color: #c23b22; }
.tc-pagination {
    display: flex;
    gap: 8px;
    margin-top: 24px;
}
.tc-pagination a {
    min-width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--tc-border);
    border-radius: 8px;
    color: inherit;
    text-decoration: none;
}
.tc-pagination a.active {
    background: #d94b2b;
    color: #fff;
    border-color: #d94b2b;
}
.tc-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}
.tc-dashboard-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}
.tc-welcome {
    margin-bottom: 16px;
}
div.tc-front-dashboard div.tc-welcome > div.tc-operations-title {
    margin: 0 0 14px;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(24px, 2vw, 30px) !important;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-decoration-line: underline;
    text-decoration-color: #d62828;
    text-decoration-thickness: 4px;
    text-underline-offset: 8px;
    text-transform: uppercase;
}
div.tc-front-dashboard div.tc-welcome > h2 {
    margin-top: 0;
    font-size: 26px !important;
    line-height: 1.25;
}
@media (max-width: 600px) {
    div.tc-front-dashboard div.tc-welcome > div.tc-operations-title {
        font-size: clamp(18px, 5.5vw, 24px) !important;
        text-decoration-thickness: 3px;
        text-underline-offset: 6px;
    }
    div.tc-front-dashboard div.tc-welcome > h2 {
        font-size: 20px !important;
    }
}
.tc-panel-tabs,
.tc-internal-search,
.tc-internal-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 16px 0 22px;
}
.tc-internal-search input {
    min-width: 150px;
    flex: 1 1 160px;
    padding: 10px;
    border-radius: 7px;
    background: #fff !important;
    color: #4d5963 !important;
    -webkit-text-fill-color: #4d5963 !important;
    opacity: 1;
}
.tc-internal-search select {
    min-width: 170px;
    flex: 1 1 180px;
    padding: 10px;
    border-radius: 7px;
    background: #fff !important;
    color: #4d5963 !important;
    -webkit-text-fill-color: #4d5963 !important;
    opacity: 1;
}
.tc-internal-search .tc-filter-locality-select-wrap,
.tc-internal-search .tc-filter-locality-text-wrap {
    display: flex;
    min-width: 170px;
    flex: 1 1 180px;
}
.tc-internal-search .tc-filter-locality-select-wrap[hidden],
.tc-internal-search .tc-filter-locality-text-wrap[hidden] {
    display: none !important;
}
.tc-internal-search .tc-filter-locality-select-wrap select,
.tc-internal-search .tc-filter-locality-text-wrap input {
    width: 100%;
}
.tc-internal-search input::placeholder {
    color: #59656f !important;
    -webkit-text-fill-color: #59656f !important;
    opacity: 1 !important;
}
.tc-internal-pagination a:not(.tc-button) {
    display: inline-flex;
    min-width: 38px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid currentColor;
    border-radius: 7px;
}
.tc-internal-pagination a.active { background: #d94b2b; color: #fff !important; }
.tc-my-actions form { margin: 0; }
.tc-delete-button { background: #b42318 !important; }
.tc-upload-dropzone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 180px;
    padding: 24px !important;
    border: 2px dashed #9aa7bb !important;
    border-radius: 12px;
    background: rgba(255,255,255,.04);
    text-align: center;
    transition: border-color .2s, background .2s, transform .2s;
}
.tc-upload-dropzone label { align-self: stretch; text-align: left; }
.tc-upload-dropzone strong { color: #fff; font-size: 18px; }
.tc-upload-dropzone span,
.tc-upload-dropzone small { color: #e7ebf2; }
.tc-upload-dropzone input[type="file"] { width: auto; max-width: 100%; }
.tc-upload-dropzone.is-dragging {
    border-color: #4da3ff !important;
    background: rgba(33,128,218,.2);
    transform: scale(1.01);
}
.tc-private-document-list {
    width: 100%;
    margin: 6px 0 0;
    padding-left: 24px;
    text-align: left;
    color: #fff;
}
.tc-private-document-list:empty { display: none; }
.tc-private-document-list li { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:6px 0; padding:8px 10px; border:1px solid rgba(255,255,255,.28); overflow-wrap:anywhere; }
.tc-private-document-list li span { min-width:0; flex:1; }
.tc-remove-pending-private-file { flex:0 0 auto; border:0; border-radius:4px; padding:7px 11px; background:#c62828; color:#fff; font:700 14px/1 Arial,Helvetica,sans-serif; cursor:pointer; }
.tc-remove-pending-private-file:hover,
.tc-remove-pending-private-file:focus { background:#a91919; color:#fff; }
.tc-front-gallery {
    display: grid;
    grid-template-columns: repeat(5, minmax(90px, 1fr));
    gap: 10px;
}
.tc-front-gallery-item {
    position: relative;
    min-height: 100px;
    border: 2px solid transparent;
    border-radius: 9px;
    overflow: hidden;
    cursor: move;
}
.tc-front-gallery-item:first-child {
    grid-column: span 2;
    grid-row: span 2;
    border-color: #d94b2b;
}
.tc-front-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tc-front-remove-image { position:absolute; top:5px; right:5px; border:0; border-radius:50%; background:#b42318; color:#fff; }
.tc-sheet-number { margin-top: 24px; font-size: 22px; font-weight: 800; }
.tc-public-copy-wrap {
    margin: 22px 0 0;
}
.tc-public-copy-link {
    font-size: 12pt !important;
    line-height: 1.3;
    color: inherit !important;
    text-decoration: underline;
    cursor: pointer;
}
.tc-logout-button {
    background: #b42318 !important;
    border-color: #b42318 !important;
    color: #fff !important;
}
.tc-logout-button:hover,
.tc-logout-button:focus {
    background: #8f1c13 !important;
    border-color: #8f1c13 !important;
    color: #fff !important;
}
.tc-form-section {
    margin: 0 0 22px;
    padding: 20px;
    border: 1px solid var(--tc-border);
    border-radius: 12px;
    background: var(--tc-surface);
}
.tc-form-section h3 {
    margin-top: 0;
}
.tc-private-section {
    border: 1px solid #2d668f !important;
    background: #153a5b !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.tc-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}
.tc-public-panel,
.tc-public-panel *,
.tc-front-dashboard,
.tc-front-dashboard *,
.tc-single-details,
.tc-single-details *,
.tc-private-panel,
.tc-private-panel *,
.tc-lightbox,
.tc-lightbox * {
    font-family: Arial, Helvetica, sans-serif !important;
}
.tc-form-full {
    grid-column: 1 / -1;
}
.tc-form-field small {
    display: block;
    margin-top: 5px;
    opacity: .7;
}
.tc-form-field:has(label > input[type="checkbox"]) {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 8px;
    box-sizing: border-box;
}
.tc-form-field label:has(input[type="checkbox"]) {
    display: flex !important;
    align-items: center;
    gap: 9px;
    width: 100%;
    margin: 0 !important;
}
.tc-form-field input[type="checkbox"] {
    width: auto !important;
    min-width: 18px;
    height: 18px;
    margin: 0 !important;
}
.tc-my-properties {
    display: grid;
    gap: 12px;
}
.tc-my-property {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--tc-border);
    border-radius: 10px;
    background: var(--tc-surface);
}
.tc-my-thumb {
    width: 180px;
    height: 136px;
    overflow: hidden;
    border-radius: 7px;
    position: relative;
}
.tc-list-sheet-number { position:absolute; z-index:2; top:5px; left:5px; padding:4px 8px; border-radius:999px; background:#d94b2b; color:#fff !important; font-weight:800; }

.tc-public-panel > h2,
.tc-public-panel .tc-filter-field label,
.tc-public-panel .tc-tabs a,
.tc-public-panel .tc-filter-actions a { color:#fff !important; }
.tc-my-thumb img,
.tc-my-thumb .tc-no-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.tc-my-info span {
    display: block;
    opacity: .75;
    margin-top: 3px;
    font-size: 13px;
    text-align: justify;
    text-justify: inter-word;
}
.tc-my-actions {
    display: flex;
    gap: 10px;
    grid-column: 1 / -1;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.tc-my-actions a {
    color: inherit;
}
.tc-action-button { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-width:92px; min-height:44px; padding:10px 14px; border:0; border-radius:8px; color:#fff !important; font-weight:700; text-decoration:none !important; cursor:pointer; }
.tc-action-send { background:#128c4a !important; }
.tc-action-copy { background:#6f42c1 !important; }
.tc-action-edit, .tc-action-delete { background:#c5221f !important; }
.tc-action-view { background:#1769aa !important; }
.tc-my-info { min-width:0; }
.tc-my-info strong { overflow-wrap:anywhere; }
.tc-single-price {
    font-size: 30px;
    font-weight: 800;
    margin: 16px 0;
}
.tc-single-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}
.tc-single-fact {
    padding: 12px;
    border: 1px solid var(--tc-border);
    border-radius: 8px;
    background: var(--tc-surface);
}
.tc-single-fact span,
.tc-single-fact strong {
    display: block;
}
.tc-single-fact span {
    font-size: 12px;
    opacity: .68;
    margin-bottom: 4px;
}
.tc-single-gallery {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    gap: 12px;
    margin: 22px 0;
}
.tc-single-gallery::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}
.tc-single-gallery .tc-gallery-link { flex:0 0 100%; scroll-snap-align:start; }
.tc-single-gallery-wrap { position:relative; }
.tc-single-gallery .tc-gallery-link { position:relative; overflow:hidden; }
.tc-gallery-arrow { position:absolute; z-index:5; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:38px; height:58px; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:#fff; font-size:44px; line-height:1; text-shadow:0 1px 4px rgba(0,0,0,.9); cursor:pointer; }
.tc-gallery-arrow-prev { left:10px; }
.tc-gallery-arrow-next { right:10px; }
.tc-property-description, .tc-property-description p { text-align:justify; text-justify:inter-word; }
.tc-single-gallery img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}
.tc-gallery-link {
    cursor: zoom-in;
}
.tc-map-button-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 24px 0;
    text-align: center;
}
.tc-map-button-wrap .tc-map-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    background: #1976d2 !important;
    border-color: #1976d2 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
.tc-map-button-wrap .tc-map-button:hover,
.tc-map-button-wrap .tc-map-button:focus {
    background: #125ca6 !important;
    border-color: #125ca6 !important;
}
.tc-property-contact {
    margin-top: 28px;
    padding: 20px;
    border: 1px solid var(--tc-border);
    border-radius: 12px;
    background: var(--tc-surface);
}
.tc-property-phone {
    font-size: 21px;
    font-weight: 700;
    color: inherit;
    text-decoration: none;
}
.tc-whatsapp-button {
    background: #128c4a;
}
.tc-share-property-button { display:inline-flex; background:#128c4a; color:#fff !important; }
.tc-share-property-button:hover,
.tc-share-property-button:focus { background:#0d713b; color:#fff !important; }
body.tc-lightbox-open {
    overflow: hidden;
}
.tc-lightbox[hidden] {
    display: none !important;
}
.tc-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) 64px;
    align-items: center;
    background: rgba(0, 0, 0, .94);
    color: #fff;
}
.tc-lightbox-stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100vh;
    padding: 38px 0;
    box-sizing: border-box;
}
.tc-lightbox-stage img {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 76px);
    object-fit: contain;
}
.tc-lightbox button {
    position: relative;
    z-index: 2;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
    font-size: 54px;
    line-height: 1;
}
.tc-lightbox-close {
    position: absolute !important;
    top: 14px;
    right: 18px;
    font-size: 38px !important;
}
.tc-lightbox-count {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, .65);
    font-size: 13px;
}
.tc-private-panel {
    margin-top: 24px;
    padding: 20px;
    border: 2px dashed #c49300;
    border-radius: 12px;
    background: rgba(196,147,0,.08);
}
@media (max-width: 1024px) {
    .tc-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tc-property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tc-form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .tc-front-form .tc-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 7px;
        row-gap: 7px;
    }
    .tc-front-form .tc-form-section {
        padding: 12px;
        margin-bottom: 12px;
    }
    .tc-front-form .tc-form-field label {
        margin-bottom: 3px;
        font-size: 11px;
        line-height: 1.2;
    }
    .tc-front-form .tc-form-field:has(label > input[type="checkbox"]) {
        min-height: 40px;
        padding: 7px 8px;
    }
    .tc-public-panel .tc-tabs {
        display: flex;
        flex-wrap: nowrap;
        gap: 4px;
        width: 100%;
        margin-bottom: 10px;
    }
    .tc-public-panel .tc-tabs a {
        flex: 1 1 0;
        min-width: 0;
        padding: 9px 3px;
        border-radius: 0;
        text-align: center;
        white-space: nowrap;
        font-size: 12px;
        line-height: 1.2;
    }
    .tc-public-panel .tc-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 8px;
        row-gap: 6px;
        margin-top: 10px;
        margin-bottom: 18px;
    }
    .tc-public-panel .tc-filter-field { min-width: 0; }
    .tc-public-panel .tc-filter-field label {
        margin-bottom: 2px;
        font-size: 11px;
        line-height: 1.2;
    }
    .tc-public-panel .tc-filters input,
    .tc-public-panel .tc-filters select {
        min-width: 0;
        min-height: 40px;
        padding: 8px 7px;
        border-radius: 5px;
        font-size: 13px;
    }
    .tc-public-panel .tc-filter-actions {
        grid-column: 1 / -1;
        gap: 8px;
        margin-top: 2px;
    }
    .tc-dashboard-header {
        flex-direction: column;
    }
    .tc-dashboard-actions,
    .tc-dashboard-actions .tc-button {
        width: 100%;
    }
    .tc-front-gallery { grid-template-columns: repeat(3, minmax(75px, 1fr)); }
    .tc-filters,
    .tc-property-grid,
    .tc-form-grid,
    .tc-single-gallery {
        grid-template-columns: 1fr;
    }
    .tc-single-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .tc-single-fact {
        padding: 9px;
    }
    .tc-my-property { grid-template-columns:1fr; align-items:stretch; }
    .tc-my-thumb { width:100%; height:180px; }
    .tc-my-info { text-align:left; }
    .tc-my-actions {
        grid-column:1;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        width:100%;
    }
    .tc-my-actions form { display:contents; }
    .tc-action-button { width:100%; min-width:0; }
    .tc-property-card { cursor:pointer; }
    .tc-public-panel .tc-property-card,
    .tc-public-panel .tc-property-card .tc-card-body {
        background: #fff !important;
    }
    .tc-public-panel .tc-property-card,
    .tc-public-panel .tc-property-card h3,
    .tc-public-panel .tc-property-card p,
    .tc-public-panel .tc-property-card span,
    .tc-public-panel .tc-property-card strong,
    .tc-public-panel .tc-property-card a,
    .tc-public-panel .tc-card-kicker,
    .tc-public-panel .tc-card-price,
    .tc-public-panel .tc-card-location,
    .tc-public-panel .tc-card-details,
    .tc-public-panel .tc-card-description {
        color: #111 !important;
        -webkit-text-fill-color: #111 !important;
    }
    .tc-public-panel .tc-property-card .tc-status,
    .tc-public-panel .tc-property-card .tc-button,
    .tc-public-panel .tc-property-card .tc-button * {
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
    }
    .tc-property-card .tc-card-actions { display:none; }
    .tc-property-card .tc-card-body { padding-bottom:12px; }
    body.single-tc_propiedad .tc-single-gallery-wrap {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        height: 56.25vw !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    body.single-tc_propiedad .tc-single-gallery {
        display: flex !important;
        width: 100% !important;
        height: 56.25vw !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }
    body.single-tc_propiedad .tc-single-gallery::-webkit-scrollbar { display: none !important; }
    body.single-tc_propiedad .tc-single-gallery .tc-gallery-link {
        display: block !important;
        flex: 0 0 100% !important;
        height: 56.25vw !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 0 !important;
    }
    body.single-tc_propiedad .tc-single-gallery img {
        display: block !important;
        width: 100% !important;
        height: 56.25vw !important;
        margin: 0 !important;
        object-fit: cover !important;
    }
    body.single-tc_propiedad .tc-gallery-link > .tc-gallery-arrow {
        position: absolute !important;
        z-index: 20 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 36px !important;
        min-width: 0 !important;
        max-width: 36px !important;
        height: 54px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
        font-size: 44px !important;
        line-height: 1 !important;
        text-shadow: 0 1px 4px rgba(0,0,0,.9);
    }
    body.single-tc_propiedad .tc-gallery-link > .tc-gallery-arrow-prev { left: 4px !important; }
    body.single-tc_propiedad .tc-gallery-link > .tc-gallery-arrow-next { right: 4px !important; }
    body.single-tc_propiedad .tc-property-description {
        margin-top: 0 !important;
        padding-top: 10px !important;
    }
    body.single-tc_propiedad .tc-property-description > :first-child { margin-top: 0 !important; }
    .tc-lightbox {
        display: block;
        width: 100vw;
        height: 100vh;
        height: 100dvh;
    }
    .tc-lightbox button {
        font-size: 42px;
    }
    .tc-lightbox-stage {
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        padding: 0;
    }
    .tc-lightbox-stage img {
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        max-width: none;
        max-height: none;
        object-fit: contain;
    }
    .tc-lightbox-prev,
    .tc-lightbox-next {
        position: absolute !important;
        top: 50%;
        transform: translateY(-50%);
        width: 48px;
        height: 72px;
        background: rgba(0,0,0,.35) !important;
    }
    .tc-lightbox-prev { left: 0; }
    .tc-lightbox-next { right: 0; }
    .tc-lightbox-close { top: max(10px, env(safe-area-inset-top)) !important; right: 12px; }
    .tc-lightbox-count { bottom: max(12px, env(safe-area-inset-bottom)); }
}
