/**
 * Kingdom Stone — paleta oficial
 * Dorado Reino:     #D4AF37  (principal / premium)
 * Dorado Oscuro:    #A67C00  (sombras / detalles)
 * Azul Turquesa:    #005B5F  (secundario / confianza)
 * Negro Imperial:   #0F0F0F  (texto principal)
 * Blanco Marfil:    #FFFFFF  (fondos claros)
 * Gris Plata:       #C7C7C7  (elementos secundarios)
 */
body.ks-kingdom-theme {
    --ks-gold: #d4af37;
    --ks-gold-dark: #a67c00;
    --ks-teal: #005b5f;
    --ks-teal-light: #e8f2f2;
    --ks-black: #0f0f0f;
    --ks-ivory: #ffffff;
    --ks-silver: #c7c7c7;
    --ks-silver-dark: #9a9a9a;

    /* Alias usados en el tema */
    --ks-accent: var(--ks-gold);
    --ks-accent-dark: var(--ks-gold-dark);
    --ks-secondary: var(--ks-teal);
    --ks-gray: var(--ks-silver);
    --ks-gray-dark: var(--ks-silver-dark);
    --ks-cream: var(--ks-ivory);
    --ks-text: var(--ks-black);
    --ks-text-muted: rgba(15, 15, 15, 0.62);

    --rs-theme-orange: var(--ks-gold);
    --rs-theme-medium-yellow: var(--ks-gold);
    --rs-hover-primary: var(--ks-gold-dark);
    --rs-bg-primary: var(--ks-ivory);
    --rs-text-primary: var(--ks-text-muted);
    --rs-title-primary: var(--ks-black);
    --rs-border-secondary: rgba(199, 199, 199, 0.9);
    background-color: var(--ks-ivory);
    color: var(--ks-text);
}

/* Botones premium — dorado con texto negro imperial */
body.ks-kingdom-theme .rs-btn.has-theme-orange,
body.ks-kingdom-theme .rs-btn.has-theme-orange.has-bg {
    background-color: var(--ks-gold) !important;
    color: var(--ks-black) !important;
    border-color: var(--ks-gold-dark) !important;
}

body.ks-kingdom-theme .rs-btn.has-theme-orange:hover {
    background-color: var(--ks-gold-dark) !important;
    color: var(--ks-ivory) !important;
    filter: none;
}

/* El tema base pinta rgb(255, 92, 0) en el slide hover de .has-bg — reemplazar por dorado */
body.ks-kingdom-theme .rs-btn.has-theme-orange.has-bg::before {
    background-color: var(--ks-gold-dark) !important;
}

body.ks-kingdom-theme .rs-btn.has-theme-orange.has-bg:hover {
    background-color: var(--ks-gold-dark) !important;
    color: var(--ks-ivory) !important;
}

body.ks-kingdom-theme .rs-btn.has-theme-orange.has-bg:hover .icon-box svg,
body.ks-kingdom-theme .rs-btn.has-theme-orange.has-bg:hover .icon-box svg path {
    fill: var(--ks-ivory) !important;
}

body.ks-kingdom-theme .rs-btn.has-theme-orange:hover .icon-box svg,
body.ks-kingdom-theme .rs-btn.has-theme-orange:hover .icon-box svg path {
    fill: var(--ks-ivory) !important;
}

body.ks-kingdom-theme .rs-btn.has-theme-orange .icon-box svg,
body.ks-kingdom-theme .rs-btn.has-theme-orange .icon-box svg path {
    fill: var(--ks-black) !important;
}

/* Subtítulos y acentos decorativos */
body.ks-kingdom-theme .rs-section-subtitle.has-theme-orange,
body.ks-kingdom-theme .rs-theme-orange,
body.ks-kingdom-theme .has-theme-orange .rs-section-title span.rs-theme-orange {
    color: var(--ks-gold-dark) !important;
}

body.ks-kingdom-theme .rs-section-subtitle.has-theme-orange svg path {
    fill: var(--ks-gold) !important;
}

body.ks-kingdom-theme .rs-footer-copyright.has-theme-orange p,
body.ks-kingdom-theme .rs-footer-widget a:hover {
    color: var(--ks-gold);
}

/* ——— Navbar ——— */
body.ks-kingdom-theme #rs-sticky-header {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

body.ks-kingdom-theme .rs-header-area.rs-header-two.has-theme-orange {
    background-color: var(--ks-ivory) !important;
    border-bottom: 1px solid var(--ks-silver) !important;
}

body.ks-kingdom-theme .rs-header-area.rs-header-two.header-transparent {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 999;
    margin: 0;
}

body.ks-kingdom-theme .rs-header-area.rs-header-two.rs-sticky-header,
body.ks-kingdom-theme .rs-header-area.rs-header-two.rs-sticky-header.active {
    background-color: var(--ks-ivory) !important;
    box-shadow: 0 4px 24px rgba(15, 15, 15, 0.08);
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

body.ks-kingdom-theme main {
    padding-top: 88px;
}

@media only screen and (max-width: 991px) {
    body.ks-kingdom-theme main {
        padding-top: 76px;
    }
}

body.ks-kingdom-theme .rs-header-area.has-theme-orange .main-menu li a {
    color: var(--ks-text) !important;
    font-weight: 500;
}

body.ks-kingdom-theme .rs-header-area.has-theme-orange .main-menu li a:hover,
body.ks-kingdom-theme .rs-header-area.has-theme-orange .main-menu ul li.active > a,
body.ks-kingdom-theme .rs-header-area.has-theme-orange .main-menu ul li a.active {
    color: var(--ks-teal) !important;
}

body.ks-kingdom-theme .rs-header-two .rs-header-left::before,
body.ks-kingdom-theme .rs-header-two .rs-header-call::before {
    background: var(--ks-silver) !important;
    opacity: 1;
}

body.ks-kingdom-theme .rs-header-two .rs-header-call h6,
body.ks-kingdom-theme .rs-header-two .rs-header-call h6 a {
    color: var(--ks-text) !important;
}

body.ks-kingdom-theme .rs-header-two .rs-header-call.has-theme-orange h6 a:hover {
    color: var(--ks-gold-dark) !important;
}

body.ks-kingdom-theme .rs-header-two .sidebar-toggle .bar-icon svg path {
    fill: var(--ks-text) !important;
}

body.ks-kingdom-theme .ks-locale-switcher .ks-locale-link {
    color: var(--ks-text-muted) !important;
}

body.ks-kingdom-theme .ks-locale-switcher .ks-locale-link:hover,
body.ks-kingdom-theme .ks-locale-switcher .ks-locale-link.is-active {
    color: var(--ks-gold-dark) !important;
}

body.ks-kingdom-theme .ks-locale-switcher .ks-locale-sep {
    color: var(--ks-silver-dark) !important;
}

body.ks-kingdom-theme .ks-locale-switcher--dark .ks-locale-link {
    color: var(--ks-text-muted) !important;
}

body.ks-kingdom-theme .ks-locale-switcher--dark .ks-locale-link:hover,
body.ks-kingdom-theme .ks-locale-switcher--dark .ks-locale-link.is-active {
    color: var(--ks-gold-dark) !important;
}

/* Menú lateral (offcanvas) */
body.ks-kingdom-theme .offcanvas-area {
    background: var(--ks-ivory);
}

body.ks-kingdom-theme .offcanvas-area .offcanvas-title-meta,
body.ks-kingdom-theme .offcanvas-area .offcanvas-about p,
body.ks-kingdom-theme .offcanvas-area .offcanvas-contact-text,
body.ks-kingdom-theme .offcanvas-area .offcanvas-contact-text a {
    color: var(--ks-text);
}

body.ks-kingdom-theme .offcanvas-area .offcanvas-close-icon .offcanvas-m-line {
    background: var(--ks-text);
}

body.ks-kingdom-theme .offcanvas-area .rs-offcanvas-menu a:hover {
    color: var(--ks-teal);
}

/* Menú móvil (meanmenu) */
body.ks-kingdom-theme .mean-container .mean-nav {
    background: var(--ks-ivory);
}

body.ks-kingdom-theme .mean-container .mean-nav ul li a {
    color: var(--ks-text) !important;
    border-color: var(--ks-silver) !important;
}

body.ks-kingdom-theme .mean-container .mean-nav ul li a:hover,
body.ks-kingdom-theme .mean-container .mean-nav ul li.active > a {
    color: var(--ks-teal) !important;
    background: var(--ks-teal-light) !important;
}

/* Secciones — marfil / turquesa suave / plata */
body.ks-kingdom-theme .rs-about-area.section-space,
body.ks-kingdom-theme .ks-catalog-section.rs-about-area,
body.ks-kingdom-theme .ks-promo-video-section {
    background-color: var(--ks-ivory);
}

body.ks-kingdom-theme .ks-catalog-section.primary-bg.has-theme-orange {
    background-color: var(--ks-teal-light) !important;
}

body.ks-kingdom-theme .ks-catalog-section.primary-bg .rs-section-title.has-white,
body.ks-kingdom-theme .ks-catalog-section.primary-bg .descrip.has-white {
    color: var(--ks-teal) !important;
}

body.ks-kingdom-theme .rs-services-two.section-space-top.primary-bg {
    background-color: var(--ks-teal-light) !important;
}

body.ks-kingdom-theme .rs-services-two.primary-bg .rs-section-title,
body.ks-kingdom-theme .rs-services-two.primary-bg .descrip,
body.ks-kingdom-theme .rs-services-two.primary-bg .rs-services-title {
    color: var(--ks-black) !important;
}

body.ks-kingdom-theme .rs-cta-five,
body.ks-kingdom-theme .rs-cta-area.rs-cta-two {
    background-color: var(--ks-ivory);
}

/* Footer — turquesa (confianza) */
body.ks-kingdom-theme .rs-footer-area.has-theme-orange {
    background-color: var(--ks-teal);
}

body.ks-kingdom-theme .rs-footer-area .rs-footer-widget-title,
body.ks-kingdom-theme .rs-footer-area .rs-footer-widget-description,
body.ks-kingdom-theme .rs-footer-area a,
body.ks-kingdom-theme .rs-footer-area .ks-footer-contact-row,
body.ks-kingdom-theme .rs-footer-area .ks-footer-contact-row span {
    color: rgba(255, 255, 255, 0.92);
}

body.ks-kingdom-theme .rs-footer-area .rs-footer-widget a:hover {
    color: var(--ks-gold);
}

body.ks-kingdom-theme .rs-footer-copyright.has-theme-orange p {
    color: rgba(255, 255, 255, 0.75);
}

/* Filtros y tarjetas catálogo */
body.ks-kingdom-theme .ks-catalog-filters {
    background: var(--ks-ivory);
    border-color: var(--ks-silver);
}

body.ks-kingdom-theme .ks-catalog-filters .form-control,
body.ks-kingdom-theme .ks-catalog-filters .ks-select-trigger {
    background-color: var(--ks-ivory);
    border-color: var(--ks-silver);
}

body.ks-kingdom-theme .ks-catalog-filters .form-control:focus,
body.ks-kingdom-theme .ks-catalog-filters .ks-select-trigger:hover,
body.ks-kingdom-theme .ks-catalog-filters .ks-select-trigger.is-open {
    border-color: var(--ks-gold-dark);
    box-shadow: 0 0 0 0.15rem rgba(212, 175, 55, 0.35);
}

body.ks-kingdom-theme .ks-catalog-card {
    background: var(--ks-ivory);
    border-color: var(--ks-silver);
}

body.ks-kingdom-theme .ks-catalog-card-title:hover,
body.ks-kingdom-theme .ks-btn-outline:hover,
body.ks-kingdom-theme .ks-branch-meta a:hover,
body.ks-kingdom-theme .ks-product-breadcrumb a:hover {
    color: var(--ks-gold-dark);
}

body.ks-kingdom-theme .ks-btn-outline:hover {
    border-color: var(--ks-gold);
}

body.ks-kingdom-theme .ks-catalog-card-actions .ks-select-option.is-active,
body.ks-kingdom-theme .ks-catalog-filters .ks-select-option.is-active {
    background: rgba(212, 175, 55, 0.2) !important;
    color: var(--ks-black);
}

body.ks-kingdom-theme .ks-pagination .page-item.active .page-link {
    background-color: var(--ks-gold);
    border-color: var(--ks-gold-dark);
    color: var(--ks-black);
}

body.ks-kingdom-theme .ks-branch-card {
    background: var(--ks-ivory);
    border-color: var(--ks-silver);
}

body.ks-kingdom-theme .ks-product-thumb.active {
    border-color: var(--ks-gold);
}

body.ks-kingdom-theme .ks-product-detail {
    background-color: var(--ks-ivory);
}

/* CTA strip — turquesa con texto marfil */
body.ks-kingdom-theme .rs-cta-five .rs-cta-wrapper {
    background-color: var(--ks-teal);
    border: 1px solid rgba(0, 91, 95, 0.15);
}

body.ks-kingdom-theme .rs-cta-five .rs-cta-title,
body.ks-kingdom-theme .rs-cta-five .rs-cta-call a,
body.ks-kingdom-theme .rs-cta-five .rs-cta-text,
body.ks-kingdom-theme .rs-cta-five .rs-cta-designation {
    color: var(--ks-ivory) !important;
}

body.ks-kingdom-theme .rs-cta-five .rs-cta-call a::before {
    background: var(--ks-gold);
}

body.ks-kingdom-theme .rs-cta-five .rs-cta-call a:hover {
    color: var(--ks-gold) !important;
}

body.ks-kingdom-theme .rs-cta-five .rs-cta-item:not(:last-child) {
    border-inline-end-color: rgba(255, 255, 255, 0.2);
}

/* Pestañas About */
body.ks-kingdom-theme .rs-about-nine .nav-pills .nav-link.active,
body.ks-kingdom-theme .rs-about-nine .nav-pills .nav-link:hover {
    background-color: var(--ks-gold);
    color: var(--ks-black);
}

body.ks-kingdom-theme .rs-about-nine .nav-pills .nav-link {
    color: var(--ks-text);
    border-color: var(--ks-silver);
}

/* Video promocional */
body.ks-kingdom-theme .ks-phone-mockup__screen {
    background: var(--ks-black);
}

/* Back to top */
body.ks-kingdom-theme .backtotop-wrap {
    background: var(--ks-gold);
    color: var(--ks-black);
}

body.ks-kingdom-theme .backtotop-wrap:hover {
    background: var(--ks-gold-dark);
    color: var(--ks-ivory);
}

/* Swiper / paginación banner */
body.ks-kingdom-theme .rs-pagination.has-theme-orange .swiper-pagination-bullet-active {
    background: var(--ks-gold) !important;
}

body.ks-kingdom-theme .rs-swiper-btn.has-light-orange {
    background: var(--ks-gold) !important;
    color: var(--ks-black) !important;
    border-color: var(--ks-gold-dark) !important;
}

body.ks-kingdom-theme .rs-swiper-btn.has-light-orange:hover {
    background: var(--ks-gold-dark) !important;
    color: var(--ks-ivory) !important;
}

/* Flechas servicios — clase hover-orange del tema base (#EA5501) */
body.ks-kingdom-theme .rs-swiper-btn.has-bg-white.hover-orange:hover {
    background: var(--ks-gold) !important;
    color: var(--ks-black) !important;
}

/* Enlaces/botones de texto */
body.ks-kingdom-theme .rs-btn.has-text:hover,
body.ks-kingdom-theme .rs-btn.has-text:hover .icon-box svg,
body.ks-kingdom-theme .rs-btn.has-text:hover .icon-box svg path {
    color: var(--ks-gold-dark) !important;
    fill: var(--ks-gold-dark) !important;
}

/* Hovers residuales del tema Industrie con has-theme-orange */
body.ks-kingdom-theme .rs-services-two.has-theme-orange .rs-services-text-link a:hover,
body.ks-kingdom-theme .rs-services-two.has-theme-orange .rs-services-title a:hover,
body.ks-kingdom-theme .rs-services-two.has-theme-orange .rs-services-item:hover .rs-text-btn {
    color: var(--ks-gold-dark) !important;
}

body.ks-kingdom-theme .rs-services-two.has-theme-orange .rs-services-text-link a:hover::before,
body.ks-kingdom-theme .rs-services-two.has-theme-orange .rs-services-item:hover .rs-square-btn {
    background: var(--ks-gold) !important;
}

body.ks-kingdom-theme .rs-footer-two.has-theme-orange .rs-footer-widget-email a:hover,
body.ks-kingdom-theme .rs-footer-two.has-theme-orange .rs-footer-widget-number a:hover,
body.ks-kingdom-theme .rs-footer-two.has-theme-orange .rs-footer-widget-address a:hover {
    color: var(--ks-gold) !important;
}

body.ks-kingdom-theme .rs-contact-one.has-theme-orange-two .rs-btn:hover,
body.ks-kingdom-theme .rs-cta-two .rs-btn.has-theme-orange:hover {
    background-color: var(--ks-gold-dark) !important;
    color: var(--ks-ivory) !important;
}

/* Títulos de sección */
body.ks-kingdom-theme .rs-section-title {
    color: var(--ks-black);
}

body.ks-kingdom-theme .descrip,
body.ks-kingdom-theme .rs-banner-descrip p {
    color: var(--ks-text-muted);
}

/* Contacto — bloque turquesa */
body.ks-kingdom-theme .rs-cta-two.has-theme-orange-two .rs-cta-wrapper,
body.ks-kingdom-theme .rs-cta-two.has-theme-orange .rs-cta-wrapper {
    background-color: var(--ks-teal) !important;
}

body.ks-kingdom-theme .rs-cta-two .rs-cta-title,
body.ks-kingdom-theme .rs-cta-two .rs-cta-content-wrapper > p {
    color: var(--ks-ivory) !important;
}

body.ks-kingdom-theme .ks-contact-list li,
body.ks-kingdom-theme .ks-contact-list a {
    color: rgba(255, 255, 255, 0.92);
}

body.ks-kingdom-theme .ks-contact-list a:hover {
    color: var(--ks-gold);
}

body.ks-kingdom-theme .ks-contact-list i {
    color: var(--ks-gold);
}

/* Servicios — tarjetas sobre fondo turquesa claro */
body.ks-kingdom-theme .rs-services-two.primary-bg .rs-services-item {
    background: var(--ks-ivory);
    border: 1px solid var(--ks-silver);
}

/* ===== Project Gallery ===== */
.ks-gallery-item {
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
}

.ks-gallery-thumb {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #f0f0f0;
}

.ks-gallery-thumb a {
    display: block;
    width: 100%;
    height: 100%;
}

.ks-gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
    display: block;
}

.ks-gallery-thumb:hover .ks-gallery-img {
    transform: scale(1.06);
}

.ks-gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .3s ease;
}

.ks-gallery-thumb:hover .ks-gallery-overlay {
    opacity: 1;
}

.ks-gallery-icon {
    color: #fff;
    display: flex;
}

.ks-gallery-caption {
    margin: 10px 0 0;
    font-size: .875rem;
    color: var(--ks-text-muted);
    text-align: center;
    padding: 0 8px 8px;
}

body.ks-kingdom-theme .rs-project-area .rs-section-title {
    color: var(--ks-black);
}

