/* Logo  */
.logo-title {
  padding: 2rem;
  width: auto;
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
  margin-block-start: 4rem;
  margin-block-end: -4rem;
  overflow: hidden;

  h1 {
    color: #832fc1;
    font-size: clamp(56px, 4vw + 1rem, 68px);
    text-shadow: 2px 2px violet, 0 2px 20px white;
    animation: sweet 1s ease forwards;
  }

  h2 {
    color: white;
    font-size: clamp(48px, 2vw + 1rem, 56px);
    text-shadow: 2px -3px 1px #832fc1, 0 2px 20px white;
    filter: drop-shadow(2px 0 5px white);
    animation: nails 1s ease-out 0.5s forwards;
    filter: opacity(0);
  }

  @media (width < 720px) {
    justify-content: center;
  }
}

.logo {
  width: min(100%, 170px);
  aspect-ratio: 1/1;
  object-fit: contain;
  z-index: 5;
  -webkit-animation: logo 2s ease forwards;
  animation: logo 2s ease forwards;
  -webkit-transform-origin: center;
  transform-origin: center;
}

@keyframes logo {
0%{
     transform: rotate(0)  translateY(-100rem);
    filter: blur(5px) drop-shadow(0 0 0 transparent);
}

  50% {
    transform: rotate(360deg);
  filter: blur(10px)  drop-shadow( 2px 2px 15px lightcoral) ;
  }

  70% {
   filter: blur(5px) opacity(.6) drop-shadow(2px 2px 15px #e47bf4);
  }
  100% {
    filter: blur(0) opacity(1) drop-shadow(1px 1px 8px #f9f8f7) ;
  }
}

@keyframes sweet {
  0% {
    transform: translateX(-5rem);
    filter: blur(10px) opacity(0);
  }

  100% {
    transform: translateX(0);
    filter: blur(0) opacity(1);
  }
}

@keyframes nails {
  0% {
    transform: translateX(5rem);
    filter: blur(10px) opacity(0);
  }

  100% {
    transform: translateX(0);
    filter: blur(0) opacity(1);
  }
}

/* Slider Portada */

.slider-promo{

  position: absolute;
  display: grid;
  z-index: 10;
  background: #000000cc;
  text-align: center;
  color: white;
  font-weight: bold;
  font-size: 1rem;
  padding: .5em;
  gap: .5rem;


  p:nth-child(1){

    color: violet;
    font-size: x-large;
  }

   p:nth-child(2){

    color: orange;
    font-size: large;
  }

  
}




.slider {
  width: min(360px, 100%);
  margin: auto;
  position: relative;
  display: flex;
  overflow: hidden;
  border-radius: 2rem;
  animation: transition-slider 1s ease ;
  background: var(--gradient-slider);
  box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px,
    rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;

img:nth-child(1){
  position: absolute;
  inset: 0;
  z-index: 10;
  height: 100%;
  animation: none;
  mask-image: none;
  object-fit: fill;

}



  img {
    max-width: 100%;
    /* ajust images responsive */
    flex-shrink: 0;
    position: relative;
    aspect-ratio: 5/7;
    object-fit: cover;
    mask-image: linear-gradient(black 50%, transparent);
    animation: slider 20s ease-in-out infinite alternate;
    /* efecto-slider */
  }
}

@keyframes transition-slider {
  from {
    transform: scale(0);
  }

  to {
    transform: scale(1);
  }
}

@keyframes slider {
  0%, 10%{
    transform: translateX(0);
  }

  15%, 25% {
    transform: translateX(-100%);
  }

  30%, 40% {
    transform: translateX(-200%);
  }

  45%, 55% {
    transform: translateX(-300%);
  }

  60%, 70%{
    transform: translateX(-400%);
  }

  75%, 85% {
    transform: translateX(-500%);
  }

  90%, 100% {
    transform: translateX(-600%);
  }
}

/* Component Cards-Home */
.cards-item {
  width: min(100%, 400px);
  height: 220px;
  margin: auto;
  filter: drop-shadow(2px 5px 10px black);
  border-image: linear-gradient(45deg, violet, lightgreen, gold) 1;
  border-width: 3px;
  border-style: solid;
  position: relative;
  transition: ease 0.5s;
  overflow: hidden;
  animation: transition-slider 1s ease  forwards;
}

.cards-text {
  background-image: url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%239C92AC' fill-opacity='0.4' fill-rule='evenodd'%3E%3Cpath d='M5 0h1L0 6V5zM6 5v1H5z'/%3E%3C/g%3E%3C/svg%3E");
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
  place-items: center;
  gap: 1rem;

  h2 {
    width: 100%;
    text-shadow: 2px 2px 20px currentColor, 1px 2px 5px black;
    padding: 5px;
    font-size: clamp(18px, 2vw + 1rem, 28px);
    z-index: 2;
    color: white;
    background: #ff00d08a;
  }
  span {
    filter: drop-shadow(2px 1px 2px black);
  }

  span:nth-child(3) {
    font-size: 1.7rem;
    color: white;
  }

  span:nth-child(4) {
    color: wheat;
    font-size: 2rem;
  }
}

.cards-text::before {
  width: 100%;
  height: 100%;
  position: absolute;
  content: "";
  background: linear-gradient(
    45deg,
    black,
    #00ffff3d,
    #ee82ee4d,
    #ffd90052,
    white
  );
}

/* Cinta Promo descuento */
.cards-item::after,
.cards-item::before {
  width: 190px;
  border-image: linear-gradient(45deg, violet, lightgreen, gold) 1;
  border-width: 1px;
  border-style: solid;
  background: rgba(0, 0, 0, 0.54);
  position: absolute;
  align-content: center;
  padding: 0.5rem;
  z-index: 2;
  color: wheat;
  text-align: center;
  content: "Promo 10%";
  top: 10%;
  left: -15%;
  rotate: -45deg;
}

.cards-item:nth-child(1)::after {
  content: "Promo 25%";
}

.cards-item:hover {
  transform: scale(0.9);
  filter: brightness(1) opacity(0.7) sepia(0.3) drop-shadow(1px 2px 5px black);
  cursor: pointer;
}

.cards-item:hover:nth-child(1) {
  rotate: 5deg;
}

.cards-item:hover:nth-child(2) {
  rotate: -5deg;
}

.cards-item:hover:nth-child(3) {
  rotate: 8deg;
}

/* Component Galeria-Layout Section-Nosotros */
.galery_layout {
  columns: 5 250px;
  column-gap: 0.1rem;
  padding: 2rem;
  margin: auto;

  img {
    width: min(100%, 400px);
    height: 100%;
    margin: 1em auto;
    outline: 1px solid wheat;
    outline-offset: -5px;
    display: block;
    filter: grayscale(1);
    transform: scale(0.98);
    -webkit-mask-image: linear-gradient(black 40%, transparent);
    mask-image: linear-gradient(black 80%, transparent);
    animation: fade 1.2s ease forwards;
    animation-timeline: view();
    animation-range: entry 0% cover 40%;
  }

  img:hover {
    filter: grayscale(0);
    transform: scale(1) translateY(0.5rem);
    mask-image: linear-gradient(black 80%, transparent);
  }

  p {
    color: dimgrey;
    text-align: center;
    font-size: 2rem;
    filter: drop-shadow(1px 1px 8px white);
    text-shadow: 2px 2px white;
    animation: fade 1.2s ease forwards;
    animation-timeline: view();
    animation-range: entry 0% cover 40%;
  }
}

@keyframes fade {
  from {
    transform: translateY(0) scale(0.8);
  }

  to {
    transform: translateY(1) scale(1);
  }
}

/* Component Video_Neon-Home */

.container_video-home {
  width: 100%;
  min-height: 100vh;
  background: var(--container-video-home);
  background-size: cover;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  text-align: center;
  gap: 2rem;
  padding: 2rem;
  position: relative;
  filter: drop-shadow(2px -5px 10px black);
  

  h1 {
    background: linear-gradient(45deg, violet, cyan, gold, violet);
    background-size: 200%;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    font-size: clamp(44px, 5vw + 1rem, 68px);
    animation: gradient 2.5s linear infinite alternate;
  }

  h2 {
    font-size: clamp(48px, 4vw + 1rem, 68px);
    color: wheat;
    animation: gradient 2.5s 1s ease infinite alternate;
  }

  h3 {
    font-size: clamp(18px, 3vw + 1rem, 28px);
    color: white;
    margin-block-start: 4rem;
  }

  video {
    width: min(100%, 350px);
    aspect-ratio: 0.67;
    object-fit: cover;
    border: solid 2px transparent;
    mask-image: linear-gradient(to bottom, black 70%, transparent);
  }
}

@keyframes gradient {
  0% {
    filter: blur(10px) drop-shadow(2px 2px 10px currentColor);
  }

  50% {
    filter: blur(0) drop-shadow(0 0 0 white);
  }

  100% {
    background-position: 200%;
  }
}

.video-portada {
  width: min(100%, 350px);
  min-height: 100%;
  background: var(--gradient-slider);
  position: relative;
  box-shadow:var(--shadow-video-home);

  img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
  }
}


/* Btn Map-Location-Video-Home */
.btn_map {
  width: max-content;
  display: block;
  margin: 1rem auto;
  padding: 1rem;
  border-radius: 1rem;
  background: black;
  color: white;
  border: solid 3px transparent;
  box-shadow: 2px 2px 2px lightseagreen, -2px -2px 2px lightcoral;
  font-size: 1.5rem;
  z-index: 1;
  position: relative;
  transition: ease 0.5s;

  svg {
    width: 1.5rem;
    height: 1.5rem;
    fill: currentColor;
  }
}

.btn_map:hover {
  transform: scale(0.9);
  cursor: pointer;
  color: black;
  background: white;
  box-shadow: 2px 2px 2px lightcoral, -2px -2px 2px lightseagreen;
}

.btn_map:active {
  transform: scale(1.1);
  cursor: pointer;
  color: black;
  background: white;
  box-shadow: 2px 5px 10px gold, -2px -5px 10px lightgreen;
}



/*  Modal-Dialog Aviso-Legal */

dialog {
  width: min(100%, 1000px);
  margin: auto;
  align-items: center;
  z-index: 1000;
  position: fixed;
  box-shadow: 2px 2px 5px violet, -2px -2px 5px cyan;
  background: linear-gradient(90deg, black, white, white, black);
}

dialog::backdrop {
  background: #000000d8;
}

.modal-info {
  background-color: #ffffff47;
  display: flex;
  flex-direction: column;
  padding: 3rem;
  gap: 1rem;
  font-size: 1.3rem;
  font-family: system-ui;

  h1,
  h2,
  h3 {
    background: linear-gradient(to left, violet, cyan, gold);
    margin: 0;
    text-align: left;
    color: transparent;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
  }

  ol{
    display: grid;
    gap: 1rem;
  }

  a {
    color: lightcoral;
    outline: none;
    font-size: large;
  }

  span {
    font-weight: bold;
  }
}

.close {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: outset 3px white;
  font-size: 1.7rem;
  position: fixed;
  z-index: 9999;
  inset: 6% 80%;
  background: black;
  color: cyan;
  text-align: center;
  cursor: pointer;
  transition: ease 0.5s;
}

.close:hover {
  color: violet;
  filter: drop-shadow(2px 2px 5px currentColor);
}

.close:active {
  scale: 0.9;
}


/* Section Oferta Mes-Mayo */


.oferta_slider-title {

  color: violet;
  font-size: clamp(3rem, 3vw + 1rem, 4rem);
  padding: 1rem;

}

.oferta_slider-section {
  width: 90%;
  display: grid;
  place-items: center;
  place-content: center;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  padding: 1rem;
  margin: auto;

  svg {
      stroke-width: 1rem;
      height: 1.5rem;
      stroke: black;
      fill: white;
  }


  p {
      color: white;
      font-size: 2.5rem;
      text-align: center;
      margin-block-end: 1rem;
  }

  p:nth-child(2) {
      font-size: 1.3rem;
      font-weight: bolder;
      color: black;
  }

  @media (width < 800px) {
      grid-template-columns: auto;
  }

}

.oferta_slider-article {

  display: grid;
  padding: inherit;

  span {
      font-weight: bolder;
  }

  span:nth-child(1) {
      color: purple;
  }

  span:nth-child(2) {
      color: cyan;
  }

  span:nth-child(3) {
      color: gold;
      font-size: 3rem;
  }

}

.oferta_slider-items {
  position: relative;

  a {
      width: max-content;
      display: block;
      margin: 2rem auto;
      padding: 1rem;
      background: linear-gradient(45deg, #ee82ee80, #00ffff57, #ffd70080);
      border-radius: 1rem;
      border: outset 2px black;
      transition: ease .5s;
      position: absolute;
      bottom: -5%;
      left: 50%;
      transform: translate(-50%, -50%);
  }

  a:active,
  a:hover {

      background: linear-gradient(90deg, #ee82ee80, #00ffff57, #ffd70080);
  }

}

/* Slider-efect deslizante */
.oferta_slider {
  display: flex;
  aspect-ratio: 1;
  width: 360px;
  overflow: auto;
  scroll-snap-type: x mandatory;
  position: relative;
  margin: auto;
  padding: inherit;
  filter: drop-shadow(2px 2px 6px black);
  border: outset 2px black;

  img {

      min-width: 100%;
      left: 0;
      object-fit: cover;
      position: sticky;
      scroll-snap-align: center;
      cursor: crosshair;
      z-index: 0;

  }
}