/*
Theme Name: Raquel Sanz Interiorismo Theme
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: A plain-vanilla &amp; lightweight theme for Elementor page builder
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 2.6.1.1765273018
Updated: 2025-12-09 09:36:58
*/
       

        :root {
            --color-primary: #8B7355; /* Beige cálido */
            --color-secondary: #3E4A4D; /* Gris azulado */
            --color-accent: #D4B996; /* Beige claro */
            --color-light: #F8F5F0; /* Beige muy claro */
            --color-dark: #2C2C2C; /* Gris oscuro */           
        }

       
.shrinker {
    background-color: rgba(255, 255, 255, 0) !important;
}
.shrinker.she-header {
    background-color: rgba(255, 255, 255, 1) !important;
    -moz-transition: all .2s linear !important;
    -webkit-transition: all .2s linear !important;
    -o-transition: all .2s linear !important;
    transition: all .2s linear !important;
	 -moz-box-shadow: 0 6px 30px -4px rgba(0,0,0,.05) !important;
    -webkit-box-shadow: 0 6px 30px -4px rgba(0,0,0,.05) !important;
    -o-box-shadow: 0 6px 30px -4px rgba(0,0,0,.05) !important;
    box-shadow: 0 6px 30px -4px rgba(0,0,0,.05) !important;
	
}
.shrinker .logo a {
	 color:var(--color-accent)!important;
}
.shrinker .logo span {
  color:#fff!important;
}
.shrinker2 .logo span {
  color: var(--color-secondary)!important;
}
.shrinker.she-header .logo a {
	 color: var(--color-primary)!important;
}
.shrinker.she-header .logo span {
	  color:var(--color-secondary)!important;
}

.hfe-nav-menu  li a.page-link {
    text-decoration: none;
            color: var(--color-accent)!important;
            
            transition: color 0.3s ease;
            position: relative;
   
}
.hfe-nav-menu  li a::after, .idiomas li a::after {
            content: '';
            position: absolute;
            bottom: 5px;
            left: 0;
            width: 0;
            height: 2px;
            background-color:var(--color-primary)!important;
            transition: width 0.3s ease;
        }

.hfe-nav-menu  li:first-child a {
	color:var(--color-accent)!important;
}
.hfe-nav-menu  li a:hover::after, .idiomas li a:hover::after  {
  width: 98%!important;
}
 
.shrinker.she-header .hfe-nav-menu  li a.page-link {       
    color: var(--color-primary)!important;
   
}
.shrinker .hfe-nav-menu li.current_page_item a.page-link {
    color: #fff !important;
}
footer .hfe-nav-menu li.current_page_item a.page-link {
    color: #fff !important;
}

.shrinker2 {
	background-color: rgba(255, 255, 255, 1) !important;
	 -moz-box-shadow: 0 6px 30px -4px rgba(0,0,0,.05) !important;
    -webkit-box-shadow: 0 6px 30px -4px rgba(0,0,0,.05) !important;
    -o-box-shadow: 0 6px 30px -4px rgba(0,0,0,.05) !important;
    box-shadow: 0 6px 30px -4px rgba(0,0,0,.05) !important;
}
.shrinker2 .hfe-nav-menu li.current_page_item a.page-link {
    color: var(--color-secondary)!important;
}
.shrinker2 .hfe-nav-menu li a.page-link {
	color:var(--color-primary)!important;
}
.shrinker2 .hfe-nav-menu li a:hover {
	color:var(--color-primary)!important;
}
.shrinker2 .idiomas li a:focus {
	color: #000 !important;
}
section {
            padding: 100px 50px;
            position: relative;
            overflow: hidden;
        }

        .section-title {
            font-family: var(--font-heading);
            font-size: 42px;
            margin-bottom: 0;
            color: var(--color-secondary);
            text-align: center;
            position: relative;
        }

        .section-title::after {
            content: '';
            position: absolute;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%);
            width: 80px;
            height: 3px;
            background-color: var(--color-primary);
        }

.shrinker.she-header .hfe-nav-menu li a {
    font-size: 1rem !important;
    -moz-transition: all .2s linear !important;
    -webkit-transition: all .2s linear !important;
    -o-transition: all .2s linear !important;
    transition: all .2s linear !important;
    text-align: right;
	color:var(--color-primary)!important;
}
ul.idiomas {
    display: flex;
    font-size: 22px;
    font-weight: 400;
    font-weight: normal;
	font-style:cursive;
    font-family: "playfair display", sans-serif;
    position: relative;
    justify-content: flex-end;
    align-items: flex-end;
    z-index: 1;
    align-content: flex-end;
    padding: 0;
    margin: 0;
}
.shrinker.she-header .idiomas li {
    position: relative;
}
.shrinker.she-header .idiomas li a {
    font-size: 1rem !important;
}
.idiomas li {
    display: flex;
    align-items: center;
    flex-direction: row;
    align-content: center;
}
.idiomas li:nth-child(n+1)::after {
    content: "|";
    font-weight: 300;
    color: var(--color-accent)!important;
}
.idiomas li:last-child::after {
    content: "";
}
.shrinker .idiomas li a {
	color: var(--color-accent)!important;
}
.shrinker.she-header .idiomas li a {
	color: var(--color-primary)!important;
}
.shrinker2 .idiomas li a {
	color: var(--color-primary)!important;
}

.idiomas li a {
    text-decoration: none;
    font-weight: 600;    
    padding: 10px;
}
.idiomas li a:hover {   
    -moz-transition: all .2s linear !important;
    -webkit-transition: all .2s linear !important;
    -o-transition: all .2s linear !important;
    transition: all .2s linear !important;
}
.idiomas li a:active, .idiomas li a:focus {
    color: var(--color-light)!important;
}
.hfe-scroll-to-top-button {
    background-color: #a21caf !important;
}
.wpr-offcanvas-content-right {
    width: 80% !important;
    padding: 0 !important;
}
.wpr-offcanvas-header {
    display: none !important;
    justify-content: center !important;
    padding: 0 !important;
}
.wpr-close-offcanvas .fa {
    display: none !important;
}
.wpr-close-offcanvas i {
    font-size: 100px !important;
    background-color: #808080;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    z-index: 1;
}





.figura {
    animation: burst 3s;
    animation-fill-mode: forwards;
}
.figura-left {
    animation: onRight 3s;
    animation-fill-mode: forwards;
}
.figura-right {
    animation: onLeft 3s;
    animation-fill-mode: forwards;
}
.figura-center {
    animation: onCenter 3s;
    animation-fill-mode: forwards;
}
.figura-bot {
    animation: burst-down 3s;
    animation-fill-mode: forwards;
}
.figura {
	animation: burst 3s;   
    animation-fill-mode: forwards;
}
@keyframes burst {
	from {
		opacity:0;
		transform: translateY(155px) rotate(0deg);
	}
	to {
		opacity:1;
		transform: translateY(0) rotate(-15deg);
	}
}
.figura-left {
	animation: onRight 3s;   
    animation-fill-mode: forwards;
}
@keyframes burst-down {
	from {
		opacity:0;
		
		transform: translateY(-285px) rotate(15deg);
	}
	to {
		opacity:1;
		transform: translateY(0) rotate(0deg);
	}
}
@keyframes onRight {
	from {
		opacity:0;
		transform: translateX(389px) rotate(0deg);
	}
	to {
		opacity:1;
		transform: translateX(0) rotate(-6deg);
	}
}
.figura-right {
	animation: onLeft 3s;   
    animation-fill-mode: forwards;
}
@keyframes onLeft {
	from {
		opacity:0;
		transform: translateX(-389px) rotate(0deg);
	}
	to {
		opacity:1;
		transform: translateX(0) rotate(6deg);
	}
}
.figura-center {
	animation: onCenter 3s;   
    animation-fill-mode: forwards;
}
@keyframes onCenter {
	from {
		opacity:0;
		transform: translateX(0) rotate3d(0,1,0,180deg);
	}
	to {
		opacity:1;
		transform: translateX(0) rotate3d(0,0, 1, 10deg);
	}
}
.figura-bot {
	animation: burst-down 3s;   
    animation-fill-mode: forwards;
}
@keyframes burst {
	from {
		opacity:0;
		transform: translateY(0) rotate(-15deg);
	}
	to {
		opacity:1;
		
		transform: translateY(155px) rotate(0deg);
	}
}

.hidden {
    display: none;
}
.elementor-element-f348e26 {
    width: 100%;
    flex-wrap: wrap;
}
.elementor-element-427bfba {
    max-width: 33%;
    flex: 1 1 30% !important;
}
.row {
    display: flex;
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    -o-column-gap: 15px;
    column-gap: 15px;
}
.column {
    display: flex;
    justify-content: center;
    flex-direction: column;
    min-height: 300px;
    flex: 1;
    flex-basis: 100%;
}
.blue-column {
    height: auto;
    max-width: 100%;
    min-height: 100%;
}
ul.breadcrumbs {
    display: flex;
    width: 100%;
    list-style-type: none;
    padding: 0;
    margin: 60px 0;
}
.breadcrumbs li {
    margin-right: 10px;
}
.breadcrumbs li a {
    padding-left: 10px;
}
.grid-wrapper {
    display: grid;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-bottom: 30px;
    margin-left: 0;
    justify-content: center;
    grid-template-columns: repeat(auto-fit, minmax(332px, min-content));
    grid-template-rows: auto;
    grid-gap: 20px;
    padding: 0;
}
.fx3-flex {
    text-decoration: none;
    border: none;
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    background-color: white;
    color: #444;
    position: relative;
    top: 0;
    -moz-transition: all .1s ease-in;
    -webkit-transition: all .1s ease-in;
    -o-transition: all .1s ease-in;
    transition: all .1s ease-in;
    flex-direction: column;
    min-height: 100%;
    -webkit-flex-direction: column;
    padding: 0;
    margin: 0;
}
.grid-wrapper .producto {
    display: flex;
    background-color: #fff;
    flex-direction: column;
    -moz-box-shadow: rgba(17, 12, 46, 0.15) 0 48px 100px 0;
    -webkit-box-shadow: rgba(17, 12, 46, 0.15) 0 48px 100px 0;
    -o-box-shadow: rgba(17, 12, 46, 0.15) 0 48px 100px 0;
    box-shadow: rgba(17, 12, 46, 0.15) 0 48px 100px 0;
    flex: 1;
    padding: 15px;
    margin: 0;
}
.imgprod {
    margin-bottom: 30px;
    height: auto;
    overflow: hidden;
    position: relative;
    -moz-transition: all .2s ease-in-out;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    width: 100%;
    text-align: center;
}
.articulo-box {
    display: block;
    height: 377px;
    overflow: hidden;
    position: relative;
    width: 100%;
    text-align: center;
}
.producto:hover .articulo-box img {
    -moz-transform: scale(1.05) translate(-50%, 0);
    -webkit-transform: scale(1.05) translate(-50%, 0);
    -o-transform: scale(1.05) translate(-50%, 0);
    transform: scale(1.05) translate(-50%, 0);
}
.articulo-box img {
    display: inline-block;
    position: absolute;
    bottom: 0;
    -moz-transition: all 0.5s ease-out 0s;
    -webkit-transition: all 0.5s ease-out 0s;
    -o-transition: all 0.5s ease-out 0s;
    transition: all 0.5s ease-out 0s;
    left: 50%;
    -moz-transform: scale(1) translate(-50%, 0);
    -webkit-transform: scale(1) translate(-50%, 0);
    -o-transform: scale(1) translate(-50%, 0);
    transform: scale(1) translate(-50%, 0);
    transform-origin: left bottom;
    margin: 0 auto;
}
.catprod h2 {
    font-size: 22px;
    font-weight: 700;
    color: #113d7e;
    font-family: "Playfair display", Sans-serif;
    text-transform: uppercase;
    min-height: 55px;
}
.caja {
    display: flex;
    font-size: 1.5rem;
    margin-right: auto;
    width: 100%;
    text-align: justify;
    align-items: center;
    flex-direction: row;
    align-content: center;
}
.svgicon svg path {
    fill: #fff !important;
}
#ue path, #ue polygon, #mict path, #mict polygon, #res path, #res polygon {
    fill: #ACACAC;
}

.elementor-icon-box-wrapper:hover .elementor-icon {
    -moz-transform: scale(1.2) !important;
    -webkit-transform: scale(1.2) !important;
    -o-transform: scale(1.2) !important;
    transform: scale(1.2) !important;
}
footer a {
	color:#fff!important;
	
}
@media (max-width: 767px) {
	.logo {
		font-size:1rem!important;
	}
	
	.iconomenu {
		display: block !important;
	}
	.shrinker .list-iconos .elementor-icon-list-text {
		display: none !important;
	}
	.shrinker ul.idiomas, .shrinker.she-header .idiomas li {
		font-size: 1rem !important;
	}
	.bolsa-txt {
		display: none;
	}
	.bolsa-img {
		display: block !important;
	}
	.bolsa-img svg {
		height: 30px;
		width: 30px;
	}
	.wpr-close-offcanvas i {
		font-size: 50px !important;
	}
	.shrinker .pliegue {
		top: 50px !important;
		-moz-transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-o-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	.titulares span, .detalles span {
		font-size: 30px !important;
		font-weight: 400 !important;
		text-transform: lowercase;
	}
	.img-borde-index {
		transform: translate(-50%, -50%) rotate(-90deg) !important;
    	left: 50% !important;
	}
	.img-borde-index1 {
		transform: translate(-50%, -80%) rotate(-90deg) !important;
    	left: 50% !important;
	}
	.img-borde-index2 {
		transform: translate(-50%, -70%) rotate(-90deg) !important;
    	left: 50% !important;
	}
	.img-borde-index3 {
		transform: translate(-50%, -70%) rotate(-90deg) !important;
    	left: 50% !important;
	}
	.bot {
		transform: translate(-50%, 0%) !important;
		left: 50% !important;
		top: 60% !important;
	}
	.hfe-nav-menu {
		display: none !important;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.shrinking-logo img {
		width: 120px !important;
	}
	
	.wpr-close-offcanvas i {
		font-size: 50px !important;
	}
	.shrinker ul.idiomas, .shrinker.she-header .idiomas li {
		font-size: 1rem !important;
	}
	.shrinker .pliegue {
		top: 50px !important;
		-moz-transform: translateX(-65%);
		-webkit-transform: translateX(-65%);
		-o-transform: translateX(-65%);
		transform: translateX(-65%);
	}
	.bolsa-txt {
    	transform: scale(.5);
	}
	.hfe-nav-menu {
		display: none !important;
	}
	.iconomenu {
		display:block !important;
	}
}
 .projects {
            background-color: white;
        }

        .projects-container {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
            gap: 30px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .project-card {
            position: relative;
            height: 400px;
            border-radius: 5px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        }

        .project-image {
            width: 100%;
            height: 100%;
            background-size: cover;
            background-position: center;
            transition: transform 0.5s ease;
        }

        .project-card:hover .project-image {
            transform: scale(1.05);
        }

        .project-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            padding: 30px;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
            color: white;
            transform: translateY(20px);
            opacity: 0;
            transition: all 0.5s ease;
        }

        .project-card:hover .project-overlay {
            transform: translateY(0);
            opacity: 1;
        }
 .services {
            position: relative;
            color: white;
        }

        .services-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 120%;            
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            z-index: -2;
        }

        .services-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(62, 74, 77, 0.85);
            z-index: -1;
        }

        

        .service-card {
            background-color: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px)!important;
            padding: 40px 30px;
            border-radius: 5px;
            text-align: center;
            transition: transform 0.3s ease;
        }

        .service-card:hover {
            transform: translateY(-10px)!important;
        }
.iconomenu {
		display: none;
	}
.site-content {

	-webkit-transition: -webkit-transform .28s, opacity .28s;

	-ms-transition: -o-transform .28s, opacity .28s;

	-o-transition: -o-transform .28s, opacity .28s;

	transition: transform .28s, opacity .28s;

}

.slide-out .site-content {

	-webkit-transform: translate3d( 0, 100px, 0 );

	-ms-transform: translate3d( 0, 100px, 0 );

	-o-transform: translate3d( 0, 100px, 0 );

	transform: translate3d( 0, 100px, 0 );

	opacity: 0;

}

h2.elementor-heading-title a {
	text-decoration:none!important;
}
@keyframes slideInUp {
	from {
		transform: translate3d(0, 210px, 0);
		opacity: 0;
	}

	to {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}

}
.section {
	animation-duration: 2s;
	animation-fill-mode: both;
	animation-name: slideInUp;
}
.texto {
  font-size: 0.767em !important;
}