/**
Theme Name: Daser Luxury
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: daser-luxury
Template: astra
*/

/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on September 17, 2025 */

@font-face {
    font-family: 'cs_borisregular';
    src: url('https://daserluxury.com/wp-content/themes/daser-luxury/fonts/csboris-regular-webfont.woff2') format('woff2'),
         url('https://daserluxury.com/wp-content/themes/daser-luxury/fonts/csboris-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'myriad_proregular';
    src: url('https://daserluxury.com/wp-content/themes/daser-luxury/fonts/myriadpro-regular-webfont.woff2') format('woff2'),
         url('https://daserluxury.com/wp-content/themes/daser-luxury/fonts/myriadpro-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'montserratregular';
    src: url('https://daserluxury.com/wp-content/themes/daser-luxury/fonts/montserrat-regular-webfont.woff2') format('woff2'),
         url('https://daserluxury.com/wp-content/themes/daser-luxury/fonts/montserrat-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'geomanistregular_italic';
    src: url('https://daserluxury.com/wp-content/themes/daser-luxury/fonts/geomanist-regular-italic_1-webfont.woff2') format('woff2'),
         url('https://daserluxury.com/wp-content/themes/daser-luxury/fonts/geomanist-regular-italic_1-webfont.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'geomanistregular';
    src: url('https://daserluxury.com/wp-content/themes/daser-luxury/fonts/geomanist-regular-webfont.woff2') format('woff2'),
         url('https://daserluxury.com/wp-content/themes/daser-luxury/fonts/geomanist-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

body {    font-family: 'geomanistregular';}
/*Hero*/
.headerluxury {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.headerluxury img {
    width: 140px;
    margin: 40px;
}
.heroh1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
p.minititle {
    color: #EEEBE6!important;
    font-family: 'geomanistregular'!important;
    font-size: 20px!important;
    text-transform: uppercase!important;
	margin-bottom:0px!important;
}
.heroh1 h1 {
    color: #EEEBE6;
    font-family: 'cs_borisregular';
    text-transform: uppercase;
    font-size: 60px;
    letter-spacing: 2px;
		margin-bottom:0px!important;
}
.heroh1 p {
	    color: #EEEBE6;
    font-family: 'geomanistregular';
    font-size: 20px;
    text-transform: uppercase;
		margin-bottom:0px!important;
}

.titleblock {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
	    padding: 40px 0px;
}
.titleblock h2 {
    color: #142D26;
    font-family: 'cs_borisregular';
    text-transform: uppercase;
    font-size: 30px;
    letter-spacing: 2px;
}
.contactblock h2  {
    color: #142D26;
    font-family: 'cs_borisregular';
    text-transform: uppercase;
    font-size: 30px;
    letter-spacing: 2px;
}
.titleblock p, .contactblock p {
    color: #231F20;
    font-size: 16px;
    max-width: 700px;
}

.icon-block {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}
.icon-block svg {
    max-width: 100px;
}
.titleicon {
    background: #142D26;
}
.titleicon h3 {
    color: #EEEBE6;
    margin-bottom: 0px;
    font-family: 'cs_borisregular';
    padding: 5px 10px;
    letter-spacing: 1px;
	    font-size: 18px;
}
.icondescription {
    color: #231F20;
    font-size: 16px;
    padding: 20px 0px;
    text-align: center;
	margin-bottom:0px!important;
}
.button {
    font-family: 'montserratregular';
    text-transform: capitalize;
    font-size: 18px;
    padding: 15px 25px;
	border-radius: 4px;
}
.yellow {
    background: #F5D899;
    color: #142D26;
}
.green {
    background: #142D26;
    color: #EEEBE6;
}
.yellow:hover {
    background: #142D26;
    color: #EEEBE6;
}
.green:hover {
    background: #F5D899;
    color: #142D26;
}
.aboutwork .icondescription {
    font-size: 13px;
	min-height: 120px;
	    padding: 20px 20px;
}
.aboutwork  .titleicon h3 {
	font-size: 14px;
}
.aboutwork {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
	gap: 1%;
	        width: 750px;
    margin: 0 auto;
height: 450px;
}
.line-block {
    width: 100%;
    display: flex;
    flex-direction: row;
    height: 200px;
}
 .linea {
      position: relative;
      width: 100%;;
      height: 2px;
      background: #142D26;
   
	     margin: 25px auto 50px auto;
    }

    .marca {
       position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 100%;
    background: #142D26;
    top: -3px;
    }

    .numero-arriba, .numero-abajo {
        position: absolute;
    font-size: 16px;
    transform: translate(1px, 0px);
    }

    .numero-arriba {
      top: -25px; /* encima de la línea */
		    color: #142D26;
    font-family: 'cs_borisregular';
    }

    .numero-abajo {
      top: 15px; /* debajo de la línea */
		    color: #142D26;
    font-family: 'cs_borisregular';
    }




#line1::after {
  content: "";
  position: absolute;
  width: 24px;        
  height: 24px;
  background: url("https://daserluxury.com/wp-content/uploads/arrow3.svg") no-repeat center/contain;
      bottom: -20px;
}
#line2::after {
 content: "";
  position: absolute;
  width: 24px;        
  height: 24px;
  background: url("https://daserluxury.com/wp-content/uploads/arrow3.svg") no-repeat center/contain;
     bottom: -20px;
}
#line3::after {
  content: "";
  position: absolute;               /* lo centramos horizontalmente */          /* distancia hacia abajo del bloque */
  width: 24px;              /* tamaño de la flecha */
  height: 24px;
  background: url("https://daserluxury.com/wp-content/uploads/arrow3.svg") no-repeat center/contain;
     bottom: -20px;
}
#line4::before {
  content: "";
  position: absolute;               /* lo centramos horizontalmente */          /* distancia hacia abajo del bloque */
  width: 24px;              /* tamaño de la flecha */
  height: 24px;
  background: url("https://daserluxury.com/wp-content/uploads/arrow3.svg") no-repeat center/contain;
    transform: rotate(180deg);
top: -40px;


}

#line5::before {
  content: "";
  position: absolute;               /* lo centramos horizontalmente */          /* distancia hacia abajo del bloque */
  width: 24px;              /* tamaño de la flecha */
  height: 24px;
  background: url("https://daserluxury.com/wp-content/uploads/arrow3.svg") no-repeat center/contain;
     transform: rotate(180deg);
	  top: -40px;

}

#line6::before {
  content: "";
  position: absolute;               /* lo centramos horizontalmente */          /* distancia hacia abajo del bloque */
  width: 24px;              /* tamaño de la flecha */
  height: 24px;
  background: url("https://daserluxury.com/wp-content/uploads/arrow3.svg") no-repeat center/contain;
    transform: rotate(180deg);
	    top: -40px;

}

.icon-row1 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
	height: 180px;
	    width: 100%;



}
.icon-row2 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
	height: 180px;
	    width: 100%;
	
}

.aboutwork .icon-block {
    width: 40% !important;
    position: absolute;
	height: 150px;
}

.linea-block {
    display: flex;
    width: 100%;
    height: 150px;
	    transform: translate(0px, 150px);
	justify-content: center;
    align-items: center;
}


div#line1 {
    left: 0%;
    position: absolute;
	    transform: translate(5px, 0px);
}
div#line2 {
    left: 40%;
    position: absolute;
	    transform: translate(5px, 0px);
}
div#line3 {
    left: 80%;
    position: absolute;
	    transform: translate(5px, 0px);
}


div#line4 {
    left: -20%;
    position: absolute;
	    transform: translate(5px, 300px);
}
div#line5 {
    left: 20%;
    position: absolute;
	    transform: translate(5px, 300px);
}
div#line6 {
    left: 60%;
    position: absolute;
	    transform: translate(5px, 300px);
}





.titlesection h2 {
    color: #142D26;
    font-family: 'cs_borisregular';
    text-transform: uppercase;
    font-size: 30px;
    letter-spacing: 2px;
}
.descriptionsection p {
    color: #231F20;
    font-size: 16px;
    max-width: 700px;}



.contactblock img {
    max-width: 40px;
	margin-bottom:20px;
}

.contactblock {
    display: flex
;
    flex-direction: column;
    align-items: center;
}
.listcontact {
    display: flex;
    flex-direction: column;
	    width: 100%;
	    max-width: 300px;
    margin: 0 auto;
}
.listcontact p {
    margin-bottom: 0px;
}
.listcontact p {
    display: flex
;
    flex-direction: row;
    align-items: center;
	width: 100%;
}
.listcontact img {
    max-width: 15px;
    margin-bottom: 0px;
	margin-right:15px;
}

/*Footer*/

#copyright {
    color:#F5F4F0;
    font-size: 12px;
    font-weight: 400;
}
img#logo-footer {
    width: 220px;
}
ul#astra-footer-menu li a {
    font-family: 'Gotham';
    font-size: 16px;
    font-weight: normal;
    font-style: normal;
    padding: 0px 0px 4px 0px!important;
}

section#footer-links {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.block-footer-links {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 20px;
}

.block-footer-links p {
   font-family: 'geomanistregular';
    font-size: 16px;
    font-weight: normal;
    font-style: normal;
     color: #EEEBE6;
    text-transform: uppercase;
    margin-bottom: 0px;
}
.footer-links-icons {
    display: flex;
    flex-direction: row;
}
.footer-links-icons img {
    height: 40px;
    width: 40px;
    margin: 5px;
}
.footerlist {
    display: flex;
    flex-direction: column;
}
.footerlist a {
    color: #EEEBE6;
    text-transform: uppercase;
    font-family: 'geomanistregular';
	    margin: 5px 0px;
}
div#logofooter img {
    max-width: 150px !important;
}


/* ---------- Sección base ---------- */
.bg-list{
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
    min-height: 80vh;
  color: #fff;
  --bg: var(--img1);           /* fondo por defecto */
  overflow: hidden;
}

/* Fondo único que cambia según la columna activa */
.bg-list::before{
  content:"";
  position:absolute; inset:0;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
  transition: opacity .4s ease, transform .6s ease, background-image 0s .4s;
  z-index:-2;
}
/* Quita cualquier border/box-shadow en .bg-item para separadores */
.bg-item { box-shadow: none; }

/* Overlay + separadores internos precisos en el contenedor */
.bg-list::after{
  content:"";
  position:absolute; inset:0;
  /* 1º fondo: overlay; 2º fondo: 3 líneas a 25%, 50%, 75% */
  background-image:
    linear-gradient(to bottom, rgba(0,0,0,.18), rgba(0,0,0,.45)),
    linear-gradient(to right,
      transparent 0,
      transparent calc(25% - .5px),
      rgba(255,255,255,.25) calc(25% - .5px),
      rgba(255,255,255,.25) calc(25% + .5px),
      transparent calc(25% + .5px),
      transparent calc(50% - .5px),
      rgba(255,255,255,.25) calc(50% - .5px),
      rgba(255,255,255,.25) calc(50% + .5px),
      transparent calc(50% + .5px),
      transparent calc(75% - .5px),
      rgba(255,255,255,.25) calc(75% - .5px),
      rgba(255,255,255,.25) calc(75% + .5px),
      transparent calc(75% + .5px),
      transparent 100%
    );
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 100%, 100% 100%;
  z-index:-1; /* deja los textos por encima */
  transition: background .25s ease; /* conserva tu transición del overlay */
}

/* Cambiar imagen al hacer hover en cada columna (usa :has) */
.bg-list:has(.bg-item:nth-child(1):hover){ --bg: var(--img1); }
.bg-list:has(.bg-item:nth-child(2):hover){ --bg: var(--img2); }
.bg-list:has(.bg-item:nth-child(3):hover){ --bg: var(--img3); }
.bg-list:has(.bg-item:nth-child(4):hover){ --bg: var(--img4); }

.bg-list:has(.bg-item:hover)::before{ transform: scale(1.06); }
.bg-list:has(.bg-item:hover)::after{
  background: linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,.65));
}

/* ---------- Columnas ---------- */
.bg-item{
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;  /* ancla el título abajo */
  align-items: end;
  padding: clamp(16px, 2vw, 24px);
  text-decoration: none;
  color: inherit;
}
a:focus {
    outline: unset;
}

/* Título visible siempre (estado normal) */
.static-title{
    font-weight: 500;
    font-size: 20px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .55);
    font-family: 'cs_borisregular';
    letter-spacing: 1px;
}

/* Panel que aparece en hover */
.hover-content{
  position: absolute; inset: 0;
  display: grid;
  align-content: end;
  gap: 12px;
  padding: clamp(16px, 2vw, 32px);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
}
a.bg-item:hover {
    color: #ffffff;
}
.hover-content h3{
  margin: 0;
  font-weight: 600;
  font-size: clamp(18px, 2.2vw, 24px);
}
.hover-content p{
  margin: 0;
  max-width: 40ch;
  opacity: .95;
  font-size: clamp(13px, 1.4vw, 15px);
  line-height: 1.45;
}


/* Estado activo */
.bg-item:hover .hover-content{ opacity: 1; transform: translateY(0); }
.bg-item:hover .static-title{ opacity: 0; }


.bg-item, 
.bg-item h3, 
.bg-item .static-title {
  text-decoration: none;
	    color: #ffffff;
	  font-family: 'cs_borisregular';
	 letter-spacing: 1px;
	    font-weight: 500;
    font-size: 20px;
}
a.bg-item {
    text-decoration: unset !important;
}


@media (max-width: 1200px) {

	.aboutwork {    width: 650px;}
	  .bg-list{min-height: 80vh;}
  .hover-content h3{ font-size: clamp(18px, 2.2vw, 22px); }
  .hover-content p { max-width: 38ch; }
}


@media (max-width: 992px) {
	.heroh1 h1 {   font-size: 50px;}
	.titleblock p, .contactblock p {font-size: 14px;}
	.descriptionsection p {font-size: 14px;}
		.icondescription {font-size: 14px;}
		.titleblock {    padding: 20px 0px;}
	.titleblock h2 {font-size: 25px;}
		.titlesection h2 {font-size: 25px;}
		.contactblock h2 {font-size: 25px;}
		.aboutwork {    width: 550px;}
	  .bg-list{
    grid-template-columns: repeat(2, 1fr);
    min-height: 80vh;
  }

  /* Overlay + líneas para 2×2: 1 vertical (50%) + 1 horizontal (50%) */
  .bg-list::after{
    background-image:
      /* overlay un pelín más oscuro para legibilidad */
      linear-gradient(to bottom, rgba(0,0,0,.22), rgba(0,0,0,.58)),
      /* línea vertical al 50% */
      linear-gradient(to right,
        transparent 0,
        transparent calc(50% - .5px),
        rgba(255,255,255,.25) calc(50% - .5px),
        rgba(255,255,255,.25) calc(50% + .5px),
        transparent calc(50% + .5px),
        transparent 100%
      ),
      /* línea horizontal al 50% */
      linear-gradient(to bottom,
        transparent 0,
        transparent calc(50% - .5px),
        rgba(255,255,255,.25) calc(50% - .5px),
        rgba(255,255,255,.25) calc(50% + .5px),
        transparent calc(50% + .5px),
        transparent 100%
      );
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-size: 100% 100%, 100% 100%, 100% 100%;
  }

  .bg-item{ padding: clamp(14px, 2vw, 22px); }
  .hover-content h3{ font-size: clamp(18px, 2.6vw, 22px); }
  .hover-content p { max-width: 36ch; }
}



@media (max-width: 768px) {
	.heroh1 h1 {   font-size: 35px;}
	.heroh1 p {font-size: 16px;}
	.linea-block {display: none;}
	.icon-row1,.icon-row2 {flex-direction: column;height: unset;}
	div#line1 {left: unset;position: unset;transform:unset;order:2;}
		div#line2 {left: unset;position: unset;transform:unset;order:4;}
		div#line3 {left: unset;position: unset;transform: unset;order:6;}
		div#line4 {left: unset;position: unset;transform: unset;order:1;}
		div#line5 {left: unset;position: unset;transform: unset;order:3;}
		div#line6 {left: unset;position: unset;transform: unset;order:5;}
	.aboutwork .icondescription {height: unset;        min-height: unset;}
	.aboutwork .icon-block {    width: unset;    height: unset;}
	#line4::before, #line5::before, #line6::before {content: unset;}
	#line1::after, #line2::after, #line3::after {content: unset;}
    .aboutwork {width: 100%;        height: unset;}
	.aboutwork .icon-block {
		width: 40% !important;        margin-bottom: 20px;}
	section#footer-links {
    flex-direction: row;
    justify-content: space-between;
}
	.footerlist {    align-items: flex-end;}
 .bg-list{ min-height: 80vh; }

  /* un poco más de contraste en overlay */
  .bg-list::after{
    background-image:
      linear-gradient(to bottom, rgba(0,0,0,.26), rgba(0,0,0,.62)),
      /* mantenemos los separadores de 2×2 */
      linear-gradient(to right,
        transparent 0,
        transparent calc(50% - .5px),
        rgba(255,255,255,.25) calc(50% - .5px),
        rgba(255,255,255,.25) calc(50% + .5px),
        transparent calc(50% + .5px),
        transparent 100%
      ),
      linear-gradient(to bottom,
        transparent 0,
        transparent calc(50% - .5px),
        rgba(255,255,255,.25) calc(50% - .5px),
        rgba(255,255,255,.25) calc(50% + .5px),
        transparent calc(50% + .5px),
        transparent 100%
      );
  }

  .static-title{ font-size: 18px; }
  .hover-content h3{ font-size: 20px; }
  .hover-content p { font-size: 14px; }

}

@media (max-width: 480px) {
		.heroh1 h1 {font-size: 30px;        text-align: center;}
	.button {font-size: 14px;}
	.icon-block svg {max-width: 80px;margin-bottom: 20px;}
	.heroh1 p {font-size: 13px;        text-align: center;}
	.titleblock h2 {font-size: 20px;}
	.titlesection h2 {font-size: 20px;}
	.contactblock h2 {font-size: 20px;}
			.titleblock {    padding: 0px 0px;}
		.aboutwork .icon-block {
		width: 80% !important;        margin-bottom: 20px;}
	.contactblock p {text-align:left;}
	    .footerlist {
        align-items: flex-start;
    }
	    section#footer-links {
			flex-direction: column;}

	.bg-list{
    grid-template-columns: 1fr;
    min-height: unset;
  }

  /* Apagamos el fondo compartido y las líneas del contenedor */
  .bg-list::before{ display: none; }
  .bg-list::after{
    background-image: linear-gradient(to bottom, rgba(0,0,0,.28), rgba(0,0,0,.64));
  }

  /* Cada item usa su propia imagen y overlay */
  .bg-item{
    min-height: 48vh;             /* ajusta: 42–52vh o 320–420px */
    padding: 20px;
    box-shadow: none;              /* sin separadores en móvil */
  }
  .bg-item::before{
    content:"";
    position:absolute; inset:0;
    background-size: cover;
    background-position: center;
    z-index:-2;
  }
  .bg-item::after{
    content:"";
    position:absolute; inset:0;
    background: linear-gradient(to bottom, rgba(0,0,0,.24), rgba(0,0,0,.64));
    z-index:-1;
  }

  /* Mapeo de imágenes por item (reusa tus variables) */
  .bg-item:nth-child(1)::before{ background-image: var(--img1); }
  .bg-item:nth-child(2)::before{ background-image: var(--img2); }
  .bg-item:nth-child(3)::before{ background-image: var(--img3); }
  .bg-item:nth-child(4)::before{ background-image: var(--img4); }

  /* Sin dependencia de hover: mostramos el panel siempre */
  .bg-item .hover-content{
    opacity: 1;
    transform: none;
    pointer-events: auto;
    gap: 10px;
  }
  .bg-item .static-title{ display: none; }

  .hover-content h3{ font-size: 19px; }
  .hover-content p { font-size: 14px; max-width: 50ch; }
}