:root {
    --brand-violet: #440099;
    --brand-violet-dark: #30006d;
    --brand-violet-soft: #eee5f7;
    --brand-yellow: #ffb500;
    --brand-yellow-dark: #d99800;
    --brand-blue: #009cde;
    --brand-blue-dark: #007cad;
    --brand-blue-soft: #dff4fc;
    --brand-green: #78be20;
    --brand-green-dark: #568d12;
    --brand-green-soft: #edf7df;
    --brand-black: #242223;
    --brand-white: #fff;
    --brand-ink: #302d33;
    --brand-muted: #6d6871;
    --brand-surface: #f8f7fa;
    --brand-border: #e5e0e9;
}

body.green-skin {
    color: var(--brand-muted);
    background-color: var(--brand-surface) !important;
}

body.green-skin h1,
body.green-skin h2,
body.green-skin h3,
body.green-skin h4,
body.green-skin h5,
body.green-skin h6 { color: var(--brand-ink); }

body.green-skin a {
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

/* Violeta: identidad, navegación y estados activos. */
.green-skin .bg-theme,
.green-skin .bg-primary,
.green-skin .bg-info,
.green-skin .breadcrumbs,
.green-skin .dark-search,
.green-skin .emp-total-vacancy,
.green-skin .nav-tabs .nav-link.active,
.green-skin .nav-pills .nav-link.active,
.green-skin .layout-switcher ul li.active a,
.green-skin .layout-switcher ul li a:hover,
.green-skin .dropdown-item.active,
.green-skin .dropdown-item:active,
.green-skin .select2-container--default .select2-results__option--highlighted[aria-selected],
.green-skin .pagination > .active > a,
.green-skin .pagination > .active > span,
.green-skin .page-item.active .page-link {
    background-color: var(--brand-violet) !important;
}

.green-skin .theme-cl,
.green-skin .text-info,
.green-skin .cart-eyebrow,
.green-skin .cart-panel-header h4 i,
.green-skin .cart-login-notice > i,
.green-skin .cart-summary-total strong,
.green-skin .candidate-name a:hover,
.green-skin .job-price,
.green-skin .icon-box-round,
.green-skin .dashboard-verticle-nav li a > i,
.green-skin a.link:hover,
.green-skin a.link:focus { color: var(--brand-violet) !important; }

.green-skin a:hover,
.green-skin a:focus { color: var(--brand-violet-dark); }

/* Amarillo: acciones comerciales de alta prioridad. */
.green-skin .btn-primary,
.green-skin .btn-info,
.green-skin .add-listing.theme-bg {
    color: var(--brand-black) !important;
    background: var(--brand-yellow) !important;
    border-color: var(--brand-yellow) !important;
}

.green-skin .btn-primary:hover,
.green-skin .btn-primary:focus,
.green-skin .btn-primary:active,
.green-skin .btn-info:hover,
.green-skin .btn-info:focus,
.green-skin .btn-info:active,
.green-skin .add-listing.theme-bg:hover {
    color: var(--brand-black) !important;
    background: var(--brand-yellow-dark) !important;
    border-color: var(--brand-yellow-dark) !important;
    box-shadow: 0 5px 16px rgba(68, 0, 153, .18);
}

.green-skin .add-listing.theme-bg a,
.green-skin .add-listing.theme-bg a:hover,
.green-skin .add-listing.theme-bg a:focus { color: var(--brand-black) !important; }

.green-skin .btn-outline-info {
    color: var(--brand-violet) !important;
    border-color: var(--brand-violet) !important;
}

.green-skin .btn-outline-info:hover,
.green-skin .btn-outline-info:focus,
.green-skin .btn-outline-info:active {
    color: var(--brand-white) !important;
    background: var(--brand-violet) !important;
    border-color: var(--brand-violet) !important;
}

.green-skin .light-search.bg-theme {
    background: linear-gradient(120deg, var(--brand-violet-dark), var(--brand-violet) 68%, #5d18ad) !important;
}

.green-skin .search-big-form .btn-black,
.green-skin .brand-newsletter .btn-black {
    color: var(--brand-white) !important;
    background: var(--brand-black) !important;
    border-color: var(--brand-black) !important;
}

.green-skin .search-big-form .btn-black:hover,
.green-skin .brand-newsletter .btn-black:hover {
    color: var(--brand-black) !important;
    background: var(--brand-yellow) !important;
    border-color: var(--brand-yellow) !important;
}

.header.header-light {
    border-bottom: 3px solid var(--brand-yellow);
    box-shadow: 0 4px 20px rgba(36, 34, 35, .08);
}

.green-skin .navigation .nav-menu > li.active > a,
.green-skin .navigation .nav-menu > li > a:hover,
.green-skin .navigation .nav-menu > li > a:focus { color: var(--brand-violet) !important; }

/* Breadcrumb con el mismo tono del menú principal. */
body.green-skin .breadcrumbs.breadcrumbs-light a,
body.green-skin .breadcrumbs.breadcrumbs-light a:last-child,
body.green-skin .breadcrumbs.breadcrumbs-light a span i {
    color: var(--brand-ink) !important;
}

body.green-skin .breadcrumbs.breadcrumbs-light a:hover,
body.green-skin .breadcrumbs.breadcrumbs-light a:focus {
    color: var(--brand-violet) !important;
}

/* Catálogo, carrito y formularios. */
.green-skin .candidate-grid,
.green-skin .cart-panel,
.green-skin .cart-customer-panel,
.green-skin .cart-summary,
.green-skin .modal-content {
    border-color: var(--brand-border);
    box-shadow: 0 9px 28px rgba(68, 0, 153, .08);
}

.green-skin .candidate-grid:hover {
    border-color: rgba(68, 0, 153, .35);
    box-shadow: 0 12px 32px rgba(68, 0, 153, .14);
}

.green-skin .candidate-grid.style-1 {
    overflow: hidden;
}

/* Mantiene alineados el precio y la acción en todas las tarjetas del catálogo. */
#product-list > [class*="col-"] {
    display: flex;
    margin-bottom: 24px;
}

#product-list .candidate-grid.style-1 {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    margin-bottom: 0;
}

#product-list .candidate-wrap {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
}

#product-list .candidate-grid-footer,
#product-list .pr-button-wrap {
    flex: 0 0 auto;
}

.green-skin .catalog-product-image {
    width: calc(100% + 1rem);
    margin: -.5rem -.5rem 1rem;
    overflow: hidden;
    background: #f1f4f8;
    aspect-ratio: 4 / 3;
}

.green-skin .catalog-product-image > a {
    display: block;
    width: 100%;
    height: 100%;
}

.green-skin .catalog-product-image__img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    border-radius: 0;
}

.property-location-card {
    margin-top: 1.5rem;
}

.property-location-map {
    width: 100%;
    height: 400px;
    overflow: hidden;
    border-radius: 6px;
    background: #f1f4f8;
}

.property-location-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 575px) {
    .property-location-map {
        height: 300px;
    }
}

.green-skin .candidate-grid-footer .update-resume,
.green-skin .candidate-grid:hover .candidate-grid-footer .update-resume,
.green-skin .candidate-grid:focus-within .candidate-grid-footer .update-resume {
    color: var(--brand-violet) !important;
}

.green-skin .candidate-status:not(.candidate-status-soldout) {
    color: var(--brand-black) !important;
    background: var(--brand-yellow) !important;
    background-color: var(--brand-yellow) !important;
}

.green-skin .candidate-grid:hover .candidate-status:not(.candidate-status-soldout) {
    color: var(--brand-black) !important;
    background: var(--brand-yellow-dark) !important;
    background-color: var(--brand-yellow-dark) !important;
}

.green-skin .candidate-grid .candidate-status {
    top: 20px;
    left: 20px;
    margin: 0;
}

.green-skin .candidate-grid .btn.download-btn,
.green-skin .candidate-grid:hover .btn.download-btn,
.green-skin .candidate-grid:focus .btn.download-btn {
    top: 20px;
    right: 20px;
    color: var(--brand-white) !important;
    background: var(--brand-violet) !important;
    background-color: var(--brand-violet) !important;
    border-color: var(--brand-violet) !important;
    box-shadow: 0 5px 14px rgba(68, 0, 153, .24);
}

.green-skin .candidate-grid .btn.download-btn:hover,
.green-skin .candidate-grid .btn.download-btn:focus,
.green-skin .candidate-grid .btn.download-btn:active,
.green-skin .candidate-grid:hover .btn.download-btn:hover,
.green-skin .candidate-grid:hover .btn.download-btn:focus {
    color: var(--brand-white) !important;
    background: var(--brand-violet-dark) !important;
    background-color: var(--brand-violet-dark) !important;
    border-color: var(--brand-violet-dark) !important;
    box-shadow: 0 7px 18px rgba(68, 0, 153, .32);
}

.green-skin .catalog-pagination > li:not(.disabled):not(.active) > button:hover {
    color: var(--brand-violet);
    background: var(--brand-violet-soft);
    border-color: var(--brand-violet);
}

.green-skin .catalog-pagination > .active > button,
.green-skin .catalog-pagination > .active > button:hover {
    color: var(--brand-white);
    background: var(--brand-violet);
    border-color: var(--brand-violet);
    box-shadow: 0 4px 12px rgba(68, 0, 153, .28);
}

.green-skin .catalog-pagination > li > button:focus-visible,
.green-skin button:focus-visible,
.green-skin a:focus-visible,
.green-skin input:focus-visible,
.green-skin select:focus-visible {
    outline: 3px solid rgba(0, 156, 222, .4);
    outline-offset: 2px;
}

.green-skin .cart-spinner,
.green-skin .cart-button-spinner {
    border-color: rgba(68, 0, 153, .2);
    border-top-color: var(--brand-violet);
}

.green-skin .cart-empty-icon {
    color: var(--brand-violet);
    background: var(--brand-violet-soft);
}

.green-skin .form-control:focus {
    border-color: var(--brand-blue);
    box-shadow: 0 0 0 .2rem rgba(0, 156, 222, .16);
}

/* Azul promocional y pie negro con acento amarillo. */
.brand-newsletter {
    background-color: var(--brand-blue) !important;
    background-blend-mode: soft-light;
}

.skin-dark-footer {
    background: var(--brand-black) !important;
    border-top: 5px solid var(--brand-yellow);
}

.skin-dark-footer .widget-title { color: var(--brand-white) !important; }

.skin-dark-footer a:hover,
.skin-dark-footer a:focus,
.skin-dark-footer .footer-bottom-social a:hover { color: var(--brand-yellow) !important; }

.whatsapp-brand-icon {
    color: #25d366 !important;
    font-size: 24px;
}

.green-skin .theme-light { background: var(--brand-violet-soft) !important; }
.green-skin .themes-light { background: rgba(68, 0, 153, .08) !important; }

.green-skin .alert-info {
    color: var(--brand-blue-dark);
    background: var(--brand-blue-soft);
    border-color: rgba(0, 156, 222, .28);
}

.green-skin .alert-success {
    color: var(--brand-green-dark);
    background: var(--brand-green-soft);
    border-color: rgba(120, 190, 32, .3);
}

@media (max-width: 991px) {
    .green-skin .nav-menus-wrapper { border-top: 3px solid var(--brand-yellow); }
}
