@charset utf-8;
/*
Theme Name: Laura O
Author: Code by Ricardo Juárez Design by JIS
Author URI: http://rjvv.com/
Version: 1.0
License: GNU/GPL Version 2 or later. http://www.gnu.org/licenses/gpl.html
Copyright: (c) 2025 Ricardo Juárez
*/

:root {
  /* Colors */
  --primary: #ffffff;
  --contrast: #000000;


  --medium: 14px;
  --lmedium: 24px;
  --lsmedium: 0.5em;


  --body: 13px;
  --lbody: 24px;
  --lsbody: 0.5em;


  --small: 10px;
  --lsmall: 24px;
  --lssmall: 0.5em;

            --transition-speed: 0.3s;
  /* Font family */
  --sans: 'Frutiger LT Std', Verdana, sans-serif;

  /* Layout spacing */
  --pad: 35px;
  --bpad: 60px;
  
  
  --slider-height: 500px;
  
  --real100:100vh;
}



*{
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
     -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;

}
html, body
{
	scroll-behavior: smooth;
	overscroll-behavior-block: none;
overscroll-behavior: none;
margin:0;
font-size:100%;
width:100%;
     }
     
     	html { margin-top: 0px !important; }
	* html body { margin-top: 0px !important; }
	@media screen and ( max-width: 782px ) {
		html { margin-top: 0px !important; }
		* html body { margin-top: 0px !important; }
	}

body {
display: flex;
min-height: var(--real100);
flex-direction: column;     
margin:0;
-moz-osx-font-smoothing: grayscale; 
text-rendering:geometricPrecision;
-webkit-font-smoothing: subpixel-antialiased;
font-size: var(--body);
line-height: var(--lbody);
letter-spacing: var(--lsbody);
font-family: var(--sans);
color: var(--contrast);
background-color: var(--primary);
font-weight: 300;
}

.post-content h2{
font-family: 'Times New Roman', Times, serif;
font-weight: 400;
font-size: 12px;
line-height: 24px;
letter-spacing: 0.7em;
text-align: center;
text-transform: uppercase;
}
.post-content div{
	width: 100%;
}
.post-content h3{
	text-align: center;
	text-transform: uppercase;
}
/* Typography classes */
.post-content h3, 
.medium {
  font-size: var(--medium);
  line-height: var(--lmedium);
  letter-spacing: var(--lsmedium);
  font-family: var(--sans);
}

.body {
  font-size: var(--body);
  line-height: var(--lbody);
  letter-spacing: var(--lsbody);
  font-family: var(--sans);
}
.post-content h4{
	text-transform: uppercase;
}
.post-content h4,
.small {
  font-size: var(--small);
  line-height: var(--lsmall);
  letter-spacing: var(--lssmall);
  font-family: var(--sans);
}




.italic{
	font-style: italic;
}
strong, b{
	font-weight: normal !important;
	text-transform: none !important;
}


.lowercase{
	text-transform: lowercase;
}
.uppercase{
	text-transform: uppercase;
}

.primary-bg {
    background-color: var(--primary);
    --color:var(--primary);
}

.contrast-bg {
    background-color: var(--contrast);
 }


.primary {
    color: var(--primary);
}

.contrast {
    color: var(--contrast);
}


.tcenter{
	text-align: center;
}

.hidden{
	opacity: 0;
}
.justflex{
	display: flex;
}

.flex{
	display: flex;
	justify-content: center;
	align-items: center;
}
.padded{
	padding: var(--pad);
}

.page-template-circle #main{
	display: flex;
	justify-content: center;
	align-items: center;
}

#main{
	flex:1;
	background: var(--primary);
}

h1, h2, h3, h4{
	margin-bottom: 0;
	font-size: inherit;
	font-weight: normal;
}

.logo{
margin:var(--pad) auto;
display: inline-block;
}
.logo img{
	width: 176px;
}

       /* Burger Menu Styles */
        .burguer-menu {
            position: fixed;
            top: 25px;
            left: 25px;
            width: 34px;
            height: 34px;
            z-index: 999999;
            display: flex;
            justify-content: center;
            align-items: center;
            cursor: pointer;
            padding: 10px;
        }
        
        .menu-lines-container {
            position: relative;
            width: 13px;
            height: 9px;
            display: flex;
            flex-direction: column;
                transition: all var(--transition-speed) ease;
        justify-content: space-between;
        }
        
        .whiter .menu-line{
	        background: white;
        }
        .blacker{
	        filter: brightness(0);
        }
        #logo{
	                       transition: all var(--transition-speed) ease; 
        }
        
        .menu-line {
            display: block;
            width: 13px;
            height: 1px;
            background: black;
            transition: all var(--transition-speed) ease;
        }
        
        .menu-circle {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) scale(0);
            width: 34px;
            height: 34px;
            border: 1px solid black;
            border-radius: 50%;
            transition: all var(--transition-speed) ease;
        }
        
        /* Open state styles */
        .burguer-menu.open .menu-lines-container {
            width: 16px;
            height: 1px;
            overflow: hidden;
        }
        .burguer-menu.open .menu-line {
            width: 16px;
                        background: black !important;

        }   
        .burguer-menu.open .menu-circle {
            transform: translate(-50%, -50%) scale(1);
        }
        
.single   .projects-list {
	margin-bottom: -44px;
}        
.tax-projects .projects-list {
  position: sticky;
  }
     .projects-list {
  position: absolute;
  top:95px;
  font-size: var(--small);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 150px 100px 0;
  width: 100%;
  gap:90px;
  z-index: 999;
}
.project-hijo{
	margin-left: -80px;
}

.swiper-button-disabled{
	pointer-events: none;
}


/* línea central */
.projects-list::before {
  content: "";
  position: absolute;
  top: 155px;
  left: 0px;
  right: 0px;
  height: 0.5px;
  background-color: #000;
  transform: translateY(-50%);
  z-index: 0;
}

/* cada punto + texto */
.project-item {
  position: relative;
  text-align: center;
  flex: 1;
}

/* enlace */
.dot-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}

.video-splash{
	position: fixed;
	height: var(--real100);
	width: 100vw;
	top:0;
	left: 0;
	background: white;
	z-index: 9;
	cursor: pointer;
}
.video-splash *{
	object-fit:contain;
	height: 100%;
	padding: 10vh;
}

/* el punto */
.dot {
  width: 10px;
  height: 10px;
  background: white;
  border:1px solid;
  border-radius: 50%;
  display: block;
  margin-bottom: 10px;
  transition: all 0.2s ease;
}
.projects-list.projects-list-single::before {
  top: 5px;
}
.projects-list.projects-list-single{
padding: 0 120px 0px
}
.current .dot {
  transform: scale(1.8);
  background-color: black !important;
}
.current .label{
	font-weight: bold;
}


.page-template-disenos 
.term-description p{
text-transform: none;
font-size: 13px;
font-weight: 300;
line-height: 24px;
letter-spacing: 0.2em !important;

}

.term-description p{
font-size: 16px;
line-height: 24px;
letter-spacing: 1.19em !important;
text-align: center;
margin-left: 1.19em;
text-transform: uppercase;	
}
.no-posts,
.term-description{
	width: 100vw;
	height: calc(100vh - 168px);
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 168px;
	flex-direction: column;
	

}

.drag-cont {
  position: relative;
  width: 100%;
  height: calc(100vh - 200px);
  overflow: auto;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}
.drag-cont::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}

.term-hierro 
.drag-cont img {
width: 1000px;
}

.drag-cont img {
  position: absolute;
width: 6286px;
max-width: 6286px;
    transition: transform 0.2s ease;
  user-select: none;
}
.drag-cont:active {
  cursor: grabbing;
}





.projects-list.disenos-list{
  padding: 100px 120px 0;
  position: static;
	
}
.projects-list.disenos-list::before {
  top: 139px;
}
.projects-list.disenos-list .dot {
  margin-bottom: 24px;
  margin-top: 10px;
  background-color: white;
  border:0.5px solid;
}

.current .etiquetas-botones{
	opacity: 1;
	z-index: 99;
	}
.etiquetas-botones{
	opacity: 0;
	transition: all 0.3s ease;
	text-transform: uppercase;
	display: flex;
  gap: 20px;
  flex-wrap: wrap;
  position: absolute;
  width: 100vw;
  padding: 0 50px 20px;
  z-index: 1;
}



.etiqueta-item .current{
	font-weight: normal;
}


.tapiceria .etiquetas-botones{
  left: -120px;
}

.colecciones .etiquetas-botones{
right: -120px;
justify-content: flex-end;
}


.grid-4{
padding: 150px 200px;
grid-template-columns: repeat(4, 1fr);
gap:100px;
display: grid;
justify-content: center;
text-align: center;
}


.multi-cover {
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.multi-cover img,
.multi-cover svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.single-cover img,
.single-cover svg {
  width: 100%;
  height: auto;
  display: block;
}
.cover-frame{
width: 150px;
  height: 150px;
  aspect-ratio: 1 / 1;
  	
}
.diseno-full{
	padding-top: 150px;
}

.page-content-single img{
	max-height: 60vh;
	width: auto;
}



.grid-4 .thumb{
width: 150px;
  height: 150px;
	margin: 0px auto 20px;
	aspect-ratio:1;
	display: flex;
}
.span2{
	grid-column: span 2;
}
.span2 .thumb{
	max-width: 450px;
	margin: 0px auto 20px;
	aspect-ratio:3;
}
.thumb svg{
	width: 100%;
	height: 100%;
}
.logos-block{
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.logos-block h2{
	margin-bottom: 40px;
}

.logos{
	display: flex;
	gap:60px;
	margin: 20px;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.logo-item{
	max-width: 200px;
	max-height: 65px
}

.big-logo.logo-item{
	max-width: 300px;
	max-height: 80px
}

.logo-item svg {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}


.etiqueta-item a{
	background: white;
	display:inline-block;
	padding: 2px 12px 1px calc(var(--lsbody) + 12px);
	border:0.5px solid;
	border-radius: 50px;
}

        .overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 99;
            opacity: 0;
            visibility: hidden;
            transition: all var(--transition-speed) ease;
        }
        
        .overlay.active {
            opacity: 1;
            visibility: visible;
        }
        
   
   
   .tax-cont{
	   width: 100vw;
	  height: 100vh;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  flex-direction: column;
   }
        
        
.menu-side.open{
		transform: translateX(0%);
	width: 350px;

	}
	.menu-side > div{
		padding: 60px 0;
	}	
	.menu-side{
		overflow: auto;
		background: var(--primary);
            transition: all var(--transition-speed) ease;
		transform: translateX(-100%);
width: 290px;	border-right: 1px solid;
	padding: var(--pad);
	position: fixed;
	height: 100vh;
	top: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 9999;
	left: 0;
	}
	.mobile-home{
		opacity: 0;
		transition: all 0.3s ease;
	}
	.mobile-home.active{
		opacity: 1;
	}
	
	/* 👇 cuando la altura del viewport es pequeña */
@media (max-height: 800px) {
	[id^="menu-main"] {
gap:20px !important;  }

}


	/* 👇 cuando la altura del viewport es pequeña */
@media (max-height: 780px) {
  .menu-side {
    justify-content: flex-start;
  }

}



	
	[id^="menu-main"] {
	display: flex;
	flex-direction: column;
	gap:32px;
}


[id^="menu-main"] > li {
    text-transform: uppercase;
    	display: flex;
	flex-direction: column;
	gap:9px; 
}
[id^="menu-main"] ul.sub-menu ul.sub-menu li{
	position: relative;
	padding-left: 17px;
}
[id^="menu-main"] ul.sub-menu ul.sub-menu li:before{
	content: '→ ';
	left: 0;
	position: absolute;
}

[id^="menu-main"] ul.sub-menu {
    	font-size: var(--small);
	display: flex;
	flex-direction: column;
	gap:9px;    padding-left: 56px;
    text-transform: uppercase;
}
[id^="menu-main"] ul.sub-menu ul.sub-menu {
    padding-left: var(--pad);
    text-transform: none;
}

[id^="menu-main"] ul.sub-menu li{
	display: flex;
	flex-direction: column;
	gap:9px;  
	}




.header{
user-select: none;
position: absolute;
-webkit-user-select: none;
-moz-user-select: none;
justify-content:center;
display: flex;
width: 100%;
z-index: 9999;
width: 100%;
color: var(--contrast);
transition: top 0.6s ease;
	background-color: var(--color);
}




.video-block {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.video-cover {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
  cursor: pointer;
  transition: opacity 1s ease;
  z-index: 2;
}

.video-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: opacity 0.5s ease;
}


.video-cover.fade-out {
  opacity: 0;
  pointer-events: none;
}

.video-player {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.play-text {
  position: absolute;
  color: white;
  text-transform: uppercase;
  pointer-events: none;
}





.cover-image img, .cover-image video{
	width: 100%;
	height: 100%;
	object-fit:cover;
}
.postid-14 .blocks > section:first-of-type .block{
	margin-bottom: 0 !important;
}
.postid-14 .blocks > section:first-of-type,
.intro-full{
	height: 100vh;
	width: 100vw;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.page-content h1{
	margin-bottom: 40px;
}
.bold{
	font-weight: normal;
}

.title{
	margin-bottom: 40px;
	text-align: center;
}

.block-text{
	max-width: 590px;
  text-align: justify;
  text-align-last: center; 
  	margin: 0px auto;
}
.post-content{
letter-spacing: 0.2em;
}
.post-content p, .post-content ul, .post-content ol, .post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6, .post-content blockquote{
	margin-bottom:var(--lbody);
	margin-top: 0;
}
.post-content *:last-child{
	margin-bottom: 0;
}


.single-diseno{
	display: grid;
	grid-template-columns: 1fr 3fr;
		width: 100vw;
	height: calc(100vh - 168px);
align-items: center;
padding: 100px 0;
}
.column-diseno{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-direction: column;
}
.vistas{
	margin-bottom: 20px;
}

.overflowhidden{
	overflow: hidden;
}

section .block{
margin-bottom: 220px;
display: flex;
justify-content: space-between;
gap:140px;
align-items: center;
}
.margin-double {
  margin-bottom: 440px !important;
}

.margin-full {
  margin-bottom: 220px !important;
}

.margin-half {
  margin-bottom: 110px !important;
}

.margin-small {
  margin-bottom: 80px !important;
}

.margin-tiny {
  margin-bottom: 40px !important;
}

section .block.border img{
	border:1px solid;
}
.full-block{
	width:100%;
	}

.block-image{
	margin-left: auto;
	margin-right: auto;
}
.big-block{
	max-width:1075px;
	}
.medium-block{
		max-width:955px;
}
.column-block {
		max-width:590px;
}
.small-block{
		max-width:345px;
}
.blocks img{
	filter:grayscale(1);
	transition: filter 0.3s ease;
}
.swiper-slide-active img{
	filter:grayscale(0);
}



.accordion{
	display: flex;
	justify-content: space-between;
}
.video-block,
.tabs-block{
	margin-left: auto;
	margin-right: auto;
}

.accordion-item {
  overflow: hidden;
  text-align: center;
  flex: 1;
}

.accordion-header {
font-weight: normal;
cursor: pointer;
font-size: 12px;
letter-spacing: 0.2%;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
gap:10px;}

.accordion-header::after {
  content: "";
  width: 13px;
  margin-bottom: 3px;
  height: 6px;
  background: url("data:image/svg+xml;utf8,<svg width='13' height='6' viewBox='0 0 13 6' xmlns='http://www.w3.org/2000/svg'><path d='M6.50005 5.99999C6.3671 6.00063 6.23949 5.95598 6.1451 5.87573L0.146948 0.73438C0.0202034 0.625741 -0.029279 0.467353 0.0171049 0.318838C0.0634856 0.170443 0.198789 0.0544699 0.371921 0.0147063C0.54517 -0.0251553 0.729944 0.0173633 0.856809 0.126001L6.50002 4.96746L12.1432 0.126001C12.27 0.0173618 12.4548 -0.025158 12.628 0.0147063C12.8012 0.0544617 12.9365 0.170438 12.9828 0.318838C13.0293 0.46734 12.9797 0.625719 12.853 0.73438L6.85485 5.87573C6.76059 5.95598 6.63288 6.00063 6.50005 5.99999Z' fill='black'/></svg>") no-repeat center;
  background-size: contain;
  transition: transform 0.3s ease;
}

/* rota el SVG al abrir el acordeón */
.accordion-item.active .accordion-header::after {
  transform: rotate(180deg);
}



.bio-grid{
	display: grid;
	grid-template-columns: 4fr 2fr;
	gap:100px;
	padding: 0 15vw;
	min-height: var(--real100);
	align-items: center;
}
.page-content-single{
	display: flex;
	min-height: calc(var(--real100) - 96px);
	align-items: center;
	justify-content: center;
	flex-direction: column;
	
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding: 0 0 0;
font-weight: 300 !important;
font-size: 12px;
line-height: 24px;
letter-spacing: 0.2em;
text-align: center;

}

strong, b{
	font-weight: normal;
}

.accordion-item.active .accordion-content {
  padding: 10px 0 20px;
}

.wpcf7-spinner{
	background: transparent !important;
}
.wpcf7-spinner:before{
	background: transparent !important;
	content: 'Enviando' !important;
	animation: none !important;
	left: 50% !important;
  transform: translateX(-50%);
  width: auto;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
	border:none !important;
}
.wpcf7 form.sent .wpcf7-response-output{
	border: none !important;
	text-transform: uppercase;
}

video{
	width: 100%;
	height: 100%;
	object-fit:cover;
}
.caption{
	margin-top: 7px;
}

.swiper{
	position: relative;
	overflow: hidden;
}
.swiper-wrapper{
	display: flex;
	align-items: center;
}
.slider{
	position: relative;
	overflow: hidden;
	max-width: 100vw;
}
.swiper-slide *{
	width: auto;
}

.gallery-centered .swiper-slide.vertical *{
	max-height: var(--slider-height);
}
.gallery-centered .swiper-slide.horizontal *{
	max-width: var(--slider-height);
}


.gallery-fixed .swiper-slide *{
	height: var(--slider-height);
}



.swiper-slide{
	width: fit-content !important;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.gallery-wrapper{
	position: relative;
}
.nexter{
	width: 50%;
	height: 100%;
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='52' viewBox='0 0 80 52'%3E%3Cpath d='M53.78 0.35 L79.47 26.05 L53.78 51.74' stroke='black' fill='none'/%3E%3Cpath d='M79.47 26.05 H0' stroke='black' fill='none'/%3E%3C/svg%3E") 80 26, auto;
	right: 0;
top:0;
position: absolute;
z-index: 99;
}
.prever{
	width: 50%;
	height: 100%;
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='52' viewBox='0 0 80 52'%3E%3Cpath d='M26.4 0.35 L0.71 26.05 L26.4 51.74' stroke='black' fill='none'/%3E%3Cpath d='M0.71 26.05 H80' stroke='black' fill='none'/%3E%3C/svg%3E") 0 26, auto;
	left: 0;
top:0;
position: absolute;
z-index: 99;
}




/* INPUTS */
input[type="checkbox"]
{
     -webkit-appearance: none;
     -moz-appearance: none;
     appearance: none;
     display: inline-block;
     position: relative;
     height: 0px;
     border-radius: 0;
     width: 0px;
     outline: none;
     border: none;
     margin: 0;
}

.page-id-37 .page-content-single{
	align-items: stretch;
	padding: 90px 0;
}

input[type="checkbox"]:checked + label{
	color: #444444;
}
input[type="checkbox"]:hover
{
     background-color: var(--contrast);
}
input[type="checkbox"]:checked
{
background-color: var(--contrast);
}

input[type="submit"]{
	  font-size: var(--body);
	 -webkit-appearance: none;
     -moz-appearance: none;
     appearance: none;
     display: block;

text-align: center !important;
	text-align-last: center !important;

width: 100%;
font-size: 12px;
line-height: 24px;
letter-spacing: 0.2em;
color: var(--contrast);

     text-transform: uppercase;
     border: none;
     outline: none;
	padding: 12px;
border-radius: 10px;
background-color: var(--primary);
}

textarea{
	width: 100%;
padding: 7px 12px;
border-radius: 10px;
background-color:white;
transition: all 0.3s ease;
	flex: 1;
	text-align: left !important;
	text-align-last: left !important;
font-size: 12px;
line-height: 24px;
letter-spacing: 0.2em;resize: none;
	 -webkit-appearance: none;
     -moz-appearance: none;
     appearance: none;
     display: inline-block;
     position: relative;
     font-family: var(--sans);
     color: var(--contrast);
     border: 0.5px solid;
     outline: none;
     margin: 0px auto 26px;
}

input[type="text"],
input[type="tel"], 
input[type="email"], 
input[type="password"],
select{
	width: 100%;
padding: 7px 12px;
border-radius: 0px;
background-color:white;
transition: all 0.3s ease;
	flex: 1;
	text-align: left !important;
	text-align-last: left !important;
font-size: 12px;
line-height: 24px;
letter-spacing: 0.2em;

	 -webkit-appearance: none;
     -moz-appearance: none;
     appearance: none;
     display: inline-block;
     position: relative;
     font-family: var(--sans);
     color: var(--contrast);
     border:none;
     border-bottom: 0.5px solid;
     outline: none;
     margin: 0px auto 26px;
}

form{
	width: 100%;
	position: relative;
}


input[type="text"]:focus,
input[type="tel"]:focus, 
input[type="email"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus{
} 
input[type="text"]:active,
input[type="tel"]:active, 
input[type="email"]:active,
input[type="password"]:active,
select:active,
textarea:active{
} 
input[type="text"]:not(:placeholder-shown),
input[type="tel"]:not(:placeholder-shown),
input[type="email"]:not(:placeholder-shown),
input[type="password"]:not(:placeholder-shown),
textarea:not(:placeholder-shown) {
}


.footer{
	width: 100%;
	padding: 30px var(--pad);
	display: flex;
	justify-content: space-between;
}

@media all and (-ms-high-contrast:none){}