/**
 * Sauleda Store homepage.
 * Every selector is bounded to the index page or a Sauleda-owned component.
 * Motion and custom JavaScript are deliberately excluded from phase 06.
 */
.page-index .page-content--home {
  gap: 0;
  overflow: clip;
}

.page-index .center-column.page {
  padding-bottom: 0;
}

.sauleda-home :where(h1, h2) {
  letter-spacing: -0.035em;
}

.sauleda-home :where(h2) {
  font-size: clamp(2.15rem, 4.5vw, 4.25rem);
  font-weight: var(--sauleda-font-weight-bold);
}

.sauleda-home :where(h2 em) {
  color: var(--sauleda-color-primary);
  font-weight: var(--sauleda-font-weight-light);
}

/* Native ps_imageslider, presented as the critical homepage hero. */
.sauleda-home-hero,
.sauleda-home-hero .carousel,
.sauleda-home-hero .carousel-inner,
.sauleda-home-hero .carousel-item,
.sauleda-home-hero .ps-imageslider__figure {
  min-height: clamp(36rem, 72vh, 47rem);
}

.sauleda-home-hero {
  position: relative;
  overflow: hidden;
  margin: 0;
  background: var(--sauleda-color-ink);
}

.sauleda-home-hero .ps-imageslider__figure {
  position: relative;
  margin: 0;
}

.sauleda-home-hero .ps-imageslider__figure::after {
  position: absolute;
  z-index: 1;
  background: linear-gradient(110deg, rgb(26 26 24 / 78%) 0%, rgb(26 26 24 / 40%) 58%, rgb(26 26 24 / 18%) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
}

.sauleda-home-hero .ps-imageslider__image {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sauleda-home-hero .ps-imageslider__figcaption {
  position: absolute;
  z-index: 2;
  right: auto;
  bottom: clamp(2.5rem, 8vw, 6rem);
  left: var(--sauleda-container-gutter);
  display: flex;
  width: min(47rem, calc(100% - (2 * var(--sauleda-container-gutter))));
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  color: var(--sauleda-color-surface);
  text-align: left;
}

.sauleda-home-hero .sauleda-section-label {
  margin-bottom: 1.25rem;
  color: rgb(255 255 255 / 78%);
}

.sauleda-home-hero h1 {
  max-width: 12ch;
  margin: 0;
  color: var(--sauleda-color-surface);
  font-size: clamp(2.8rem, 6vw, 5.75rem);
  font-weight: var(--sauleda-font-weight-bold);
  line-height: 0.98;
}

.sauleda-home-hero__description {
  max-width: 43rem;
  margin-top: 1.5rem;
  color: rgb(255 255 255 / 82%);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  line-height: 1.6;
}

.sauleda-home-hero__description p {
  margin: 0;
}

.sauleda-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

.sauleda-home-hero .carousel-indicators {
  z-index: 3;
}

.sauleda-home-hero .carousel-control-prev,
.sauleda-home-hero .carousel-control-next {
  z-index: 3;
}

/* Live catalog facts. */
.sauleda-home-stats {
  border-bottom: 1px solid var(--sauleda-color-border);
  background: var(--sauleda-color-surface);
  padding-block: clamp(2rem, 5vw, 3.75rem);
}

.sauleda-home-stat {
  height: 100%;
  padding: 1rem clamp(0rem, 2vw, 1.5rem);
}

.sauleda-home-stat__value {
  margin: 0;
  color: var(--sauleda-color-primary);
  font-size: clamp(2.6rem, 5vw, 4.75rem);
  font-weight: var(--sauleda-font-weight-light);
  letter-spacing: -0.06em;
  line-height: 1;
}

.sauleda-home-stat h3 {
  margin: 0.75rem 0 0;
  color: var(--sauleda-color-ink);
  font-size: 1rem;
  font-weight: var(--sauleda-font-weight-semibold);
}

.sauleda-home-stat h3 + p {
  margin-top: 0.4rem;
  color: var(--sauleda-color-muted);
  font-size: 0.85rem;
}

/* Value proposition. */
.sauleda-home-value {
  background: var(--sauleda-color-cream);
}

.sauleda-home-value__copy {
  --sauleda-flow-space: 1.5rem;
  max-width: 39rem;
}

.sauleda-home-value__copy h2 {
  margin-bottom: 0;
}

.sauleda-home-value__copy h2 em {
  display: block;
}

.sauleda-home-value__copy > p:not(.sauleda-section-label) {
  max-width: 60ch;
  color: var(--sauleda-color-text);
  font-size: 1.02rem;
}

.sauleda-home-value__copy .sauleda-button {
  align-self: flex-start;
}

.sauleda-home-value__media {
  overflow: hidden;
  min-height: clamp(20rem, 42vw, 34rem);
  border-radius: var(--sauleda-radius-image);
  background: var(--sauleda-color-ink);
}

.sauleda-home-value__media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

/* Real category cards. */
.sauleda-home-collections {
  background: var(--sauleda-color-surface);
}

.sauleda-home-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.sauleda-home-section-header h2 {
  margin: 0.75rem 0 0;
}

.sauleda-home-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding-block: 0.35rem;
  color: var(--sauleda-color-ink);
  font-weight: var(--sauleda-font-weight-semibold);
  text-decoration: none;
}

.sauleda-home-text-link:hover {
  color: var(--sauleda-color-primary);
}

.sauleda-home-category {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: clamp(23rem, 42vw, 34rem);
  border-radius: var(--sauleda-radius-card);
  background: var(--sauleda-color-ink);
  color: var(--sauleda-color-surface);
  text-decoration: none;
}

.sauleda-home-category img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sauleda-home-category__shade {
  position: absolute;
  background: linear-gradient(180deg, transparent 30%, rgb(26 26 24 / 78%) 100%);
  inset: 0;
}

.sauleda-home-category__content {
  position: absolute;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  inset: auto 0 0;
}

.sauleda-home-category__content strong {
  color: var(--sauleda-color-surface);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: var(--sauleda-font-weight-semibold);
}

.sauleda-home-category__content > span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: rgb(255 255 255 / 82%);
  font-size: 0.78rem;
  font-weight: var(--sauleda-font-weight-medium);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Native real-product block. */
.page-index .ps-featuredproducts {
  background: var(--sauleda-color-surface-soft);
  padding-block: clamp(var(--sauleda-space-8), 8vw, var(--sauleda-space-9));
}

.page-index .ps-featuredproducts .module-products.container {
  width: calc(100% - (2 * var(--sauleda-container-gutter)));
  max-width: var(--sauleda-container-max);
  padding-inline: 0;
}

.page-index .ps-featuredproducts .section-title {
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
  color: var(--sauleda-color-ink);
  font-family: var(--sauleda-font-family);
  font-size: clamp(2.15rem, 4.5vw, 4.25rem);
  font-weight: var(--sauleda-font-weight-bold);
  letter-spacing: -0.035em;
}

.page-index .ps-featuredproducts .module-products__buttons .btn {
  border-color: var(--sauleda-color-ink);
  border-radius: var(--sauleda-radius-pill);
  color: var(--sauleda-color-ink);
}

/* Services whose destinations exist in PrestaShop today. */
.sauleda-home-services {
  background: var(--sauleda-color-surface);
}

.sauleda-home-services__header {
  max-width: 52rem;
  margin: 0 auto clamp(2rem, 5vw, 3.5rem);
  text-align: center;
}

.sauleda-home-services__header .sauleda-section-label {
  justify-content: center;
}

.sauleda-home-services__header h2 {
  margin: 0.75rem 0 0;
}

.sauleda-home-service {
  display: flex;
  height: 100%;
  min-height: 22rem;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(1.75rem, 4vw, 3rem);
}

.sauleda-home-service > .material-icons {
  margin-bottom: 2rem;
  color: var(--sauleda-color-primary);
  font-size: 2.5rem;
}

.sauleda-home-service h3 {
  margin: 0;
  color: var(--sauleda-color-ink);
  font-size: clamp(1.4rem, 2.5vw, 2rem);
}

.sauleda-home-service p {
  max-width: 56ch;
  margin: 1rem 0 1.75rem;
}

.sauleda-home-service .sauleda-button {
  margin-top: auto;
}

/* Local, already-approved group marks. */
.sauleda-home-group {
  border-top: 1px solid var(--sauleda-color-border);
  background: var(--sauleda-color-cream);
  padding-block: clamp(2.5rem, 6vw, 4.5rem);
}

.sauleda-home-group h2 {
  margin: 0 0 2rem;
  color: var(--sauleda-color-text);
  font-size: 0.75rem;
  font-weight: var(--sauleda-font-weight-semibold);
  letter-spacing: var(--sauleda-letter-spacing-label);
  text-align: center;
  text-transform: uppercase;
}

.sauleda-home-group ul {
  display: grid;
  align-items: center;
  margin: 0;
  padding: 0;
  gap: 1.5rem 2rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
}

.sauleda-home-group li {
  display: flex;
  min-width: 0;
  min-height: 5rem;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.sauleda-home-group img,
.sauleda-home-group .logo {
  width: auto;
  max-width: 100%;
  max-height: 3.5rem;
  object-fit: contain;
}

/* Motion is progressive enhancement: content remains immediately visible until
 * the theme script deliberately opts in on browsers that allow motion. */
@media (prefers-reduced-motion: no-preference) {
  .sauleda-home-motion .sauleda-reveal {
    opacity: 0;
    transform: translateY(1.25rem);
    transition: opacity 420ms ease, transform 420ms ease;
    transition-delay: var(--sauleda-reveal-delay, 0ms);
  }

  .sauleda-home-motion .sauleda-reveal.is-revealed {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sauleda-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 991.98px) {
  .sauleda-home-value__copy {
    margin-bottom: 2rem;
  }

  .sauleda-home-group ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .sauleda-home-section-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .sauleda-home-category {
    min-height: 25rem;
  }
}

@media (max-width: 575.98px) {
  .sauleda-home-hero,
  .sauleda-home-hero .carousel,
  .sauleda-home-hero .carousel-inner,
  .sauleda-home-hero .carousel-item,
  .sauleda-home-hero .ps-imageslider__figure {
    min-height: 38rem;
  }

  .sauleda-home-hero .ps-imageslider__figcaption {
    bottom: 2.25rem;
  }

  .sauleda-home-hero__actions {
    width: 100%;
  }

  .sauleda-home-hero__actions .sauleda-button {
    width: 100%;
  }

  .sauleda-home-stat {
    border-bottom: 1px solid var(--sauleda-color-border);
    padding-block: 1.5rem;
  }

  .sauleda-home-stats .col-12:last-child .sauleda-home-stat {
    border-bottom: 0;
  }

  .sauleda-home-group ul {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* SAULEDA HOME GROUP 5 V1 · INICIO */

/*
 * Referencia Sauleda:
 *
 * Sauleda | Ágora Fabrics | Distritecno |
 * Eurotronic Sauleda | Citel
 */

@media (min-width: 769px) {

  .sauleda-home-group ul {

    display:
      grid !important;

    grid-template-columns:
      repeat(5, minmax(0, 1fr)) !important;

    align-items:
      center !important;

    justify-content:
      initial !important;

    gap:
      32px !important;

    width:
      100% !important;
  }


  .sauleda-home-group li {

    display:
      flex !important;

    align-items:
      center !important;

    justify-content:
      center !important;

    min-width:
      0 !important;
  }


  .sauleda-home-group li img,
  .sauleda-home-group li .logo {

    display:
      block;

    width:
      auto !important;

    max-width:
      100% !important;

    max-height:
      66px !important;

    object-fit:
      contain;
  }

}


/*
 * Tamaño particular de Ágora.
 * El PNG original tiene proporciones distintas.
 */
.sauleda-home-group__agora img {

  width:
    auto !important;

  max-width:
    190px !important;

  height:
    auto !important;
}


/*
 * Tablet: tres + dos.
 */
@media (min-width: 541px) and (max-width: 768px) {

  .sauleda-home-group ul {

    display:
      grid !important;

    grid-template-columns:
      repeat(3, minmax(0, 1fr)) !important;

    gap:
      32px 24px !important;
  }

}


/*
 * Móvil: dos columnas.
 */
@media (max-width: 540px) {

  .sauleda-home-group ul {

    display:
      grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap:
      28px 20px !important;
  }


  .sauleda-home-group li:last-child {

    grid-column:
      1 / -1;
  }

}

/* SAULEDA HOME GROUP 5 V1 · FIN */

/* SAULEDA GROUP HOVER REFERENCIA V5 · INICIO */

/*
 * Reproducción del CSS de la referencia original.
 */

.sauleda-home-group li img,
.sauleda-home-group li .logo {
  filter: grayscale(100%);
  opacity: .7;

  transition:
    filter .3s,
    opacity .3s;
}


/* Sauleda · posición 1 */
.sauleda-home-group li:nth-child(1) img,
.sauleda-home-group li:nth-child(1) .logo {
  filter: brightness(0);
  opacity: .7;
}


/* Hover general */
.sauleda-home-group li:hover img,
.sauleda-home-group li:hover .logo {
  filter: grayscale(0%);
  opacity: 1;
}


/* Sauleda permanece negro */
.sauleda-home-group li:nth-child(1):hover img,
.sauleda-home-group li:nth-child(1):hover .logo {
  filter: brightness(0);
  opacity: 1;
}


/* Teclado */
.sauleda-home-group li:focus-within img,
.sauleda-home-group li:focus-within .logo {
  filter: grayscale(0%);
  opacity: 1;
}


.sauleda-home-group li:nth-child(1):focus-within img,
.sauleda-home-group li:nth-child(1):focus-within .logo {
  filter: brightness(0);
  opacity: 1;
}

/* SAULEDA GROUP HOVER REFERENCIA V5 · FIN */



@media (max-width: 767px) {
  .sauleda-home-hero .ps-imageslider__figcaption {
    padding: 100px 24px 74px !important;

    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    gap: 0;
  }

  .sauleda-home-hero .sauleda-section-label,
  .sauleda-home-hero .ps-imageslider__figcaption h1,
  .sauleda-home-hero .sauleda-home-hero__description,
  .sauleda-home-hero .sauleda-home-hero__actions {
    grid-column: 1;
  }

  .sauleda-home-hero .sauleda-section-label {
    grid-row: 1;
  }

  .sauleda-home-hero .ps-imageslider__figcaption h1 {
    grid-row: 2;
    max-width: 9ch !important;
    font-size: clamp(46px, 13vw, 68px) !important;
  }

  .sauleda-home-hero .sauleda-home-hero__description {
    grid-row: 3;
    margin-top: 24px !important;
    text-align: left;
  }

  .sauleda-home-hero .sauleda-home-hero__actions {
    grid-row: 4;
    justify-self: start;
    margin-top: 16px !important;
  }

  .sauleda-home-hero .carousel-control-prev,
  .sauleda-home-hero .carousel-control-next {
    display: none !important;
  }
}

/* SAULEDA HERO CLEAN V5 · INICIO */

.sauleda-home-hero,
.sauleda-home-hero .carousel,
.sauleda-home-hero .carousel-inner,
.sauleda-home-hero .carousel-item,
.sauleda-home-hero .ps-imageslider__figure {
  width:100%;
  height:100vh !important;
  height:100dvh !important;
  min-height:100vh !important;
  margin:0 !important;
}

.sauleda-home-hero,
.sauleda-home-hero .carousel,
.sauleda-home-hero .carousel-inner,
.sauleda-home-hero .ps-imageslider__figure {
  position:relative;
  overflow:hidden;
}

.sauleda-home-hero .ps-imageslider__image {
  display:block;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Única oscuridad: overlay sobre la fotografía */
.sauleda-home-hero .ps-imageslider__figure::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(10,14,16,.48) 0%,
    rgba(10,14,16,.22) 38%,
    rgba(10,14,16,.07) 67%,
    rgba(10,14,16,.12) 100%
  ) !important;
}

/* Nunca existe caja detrás del texto */
.sauleda-home-hero .ps-imageslider__figcaption {
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;

  width:100% !important;
  max-width:none !important;
  height:100% !important;

  margin:0 !important;
  padding:
    clamp(110px,13vh,150px)
    clamp(40px,5vw,92px)
    76px !important;

  display:grid !important;
  grid-template-columns:minmax(0,680px) 1fr;
  grid-template-rows:auto auto;
  align-content:end !important;
  column-gap:50px;
  row-gap:20px;

  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* Izquierda */
.sauleda-home-hero .sauleda-section-label {
  grid-column:1;
  grid-row:1;

  display:inline-flex !important;
  align-items:center;
  gap:9px;

  width:max-content;
  margin:0 !important;

  color:rgba(255,255,255,.9) !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.2em !important;
  text-transform:uppercase;
}

.sauleda-home-hero .sauleda-section-label::before {
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#c62828;
}

.sauleda-home-hero .ps-imageslider__figcaption h1 {
  grid-column:1;
  grid-row:2;

  max-width:7.5ch !important;
  margin:0 !important;

  color:#fff !important;
  font-size:clamp(60px,6vw,94px) !important;
  font-weight:600 !important;
  line-height:.94 !important;
  letter-spacing:-.045em !important;
  text-shadow:none !important;
}

/* Derecha: descripción y botones juntos ABAJO */
.sauleda-home-hero .sauleda-home-hero__description {
  position:absolute !important;
  right:clamp(70px,6vw,125px) !important;
  bottom:168px !important;

  width:390px !important;
  max-width:390px !important;
  margin:0 !important;

  color:rgba(255,255,255,.9) !important;
  font-size:14px !important;
  line-height:1.55 !important;
  text-align:right !important;
}

.sauleda-home-hero .sauleda-home-hero__description p {
  margin:0 !important;
}

.sauleda-home-hero .sauleda-home-hero__actions {
  position:absolute !important;
  right:clamp(70px,6vw,125px) !important;
  bottom:104px !important;

  display:flex !important;
  justify-content:flex-end !important;
  gap:12px !important;
  margin:0 !important;
}

.sauleda-home-hero .sauleda-button {
  min-height:48px !important;
  padding:0 25px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:600 !important;
  text-decoration:none !important;
}

.sauleda-home-hero .sauleda-button--primary {
  background:#c62828 !important;
  border:1px solid #c62828 !important;
  color:#fff !important;
}

.sauleda-home-hero .sauleda-button--light {
  background:transparent !important;
  border:1px solid rgba(255,255,255,.62) !important;
  color:#fff !important;
}

/*
 * IMPORTANTE:
 * Solo modificamos la duración.
 * Los estados active/start/end los gestiona Bootstrap.
 */
.sauleda-home-hero .carousel-fade .carousel-item {
  transition:opacity .9s ease-in-out !important;
}

/* Dots */
.sauleda-home-hero .carousel-indicators {
  right:auto !important;
  bottom:30px !important;
  left:50% !important;
  margin:0 !important;
  gap:8px;
  transform:translateX(-50%) !important;
  z-index:4;
}

.sauleda-home-hero .carousel-indicators button {
  width:36px !important;
  height:2px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:rgba(255,255,255,.4) !important;
  opacity:1 !important;
}

.sauleda-home-hero .carousel-indicators button.active {
  background:#fff !important;
}

/* Flechas */
.sauleda-home-hero .carousel-control-prev,
.sauleda-home-hero .carousel-control-next {
  top:auto !important;
  bottom:26px !important;
  left:auto !important;

  width:46px !important;
  height:46px !important;

  padding:0 !important;
  border:1px solid rgba(255,255,255,.48) !important;
  border-radius:50% !important;

  background:rgba(20,20,20,.12) !important;
  box-shadow:none !important;
  opacity:1 !important;
  z-index:4;
}

.sauleda-home-hero .carousel-control-prev {
  right:94px !important;
}

.sauleda-home-hero .carousel-control-next {
  right:38px !important;
}

.sauleda-home-hero .carousel-control-prev-icon,
.sauleda-home-hero .carousel-control-next-icon {
  width:14px !important;
  height:14px !important;
  background-size:100% 100% !important;
}

/* Responsive */
@media (max-width:991px) {
  .sauleda-home-hero .ps-imageslider__figcaption {
    padding:110px 28px 82px !important;
    grid-template-columns:1fr;
  }

  .sauleda-home-hero .ps-imageslider__figcaption h1 {
    font-size:clamp(52px,10vw,80px) !important;
  }

  .sauleda-home-hero .sauleda-home-hero__description,
  .sauleda-home-hero .sauleda-home-hero__actions {
    position:static !important;
    grid-column:1;
    width:auto !important;
    max-width:520px !important;
    justify-self:start;
    text-align:left !important;
  }
}

/* SAULEDA HERO CLEAN V5 · FIN */

/* SAULEDA HERO CROSSFADE V7 · INICIO */

/*
 * IMPORTANTÍSIMO:
 * desaparece el overlay individual de cada slide.
 * Era lo que oscurecía la transición al superponerse dos veces.
 */
.sauleda-home-hero .ps-imageslider__figure::after {
  display: none !important;
  content: none !important;
}

/* Oscurecimiento constante de cada fotografía */
.sauleda-home-hero .ps-imageslider__image {
  filter: brightness(.68) saturate(.96);
}

/* Todas las slides ocupan exactamente el mismo lugar */
.sauleda-home-hero .sauleda-hero-crossfade .carousel-inner {
  position: relative !important;
  height: 100% !important;
  overflow: hidden !important;
}

.sauleda-home-hero .sauleda-hero-crossfade .carousel-item {
  position: absolute !important;
  inset: 0 !important;

  display: block !important;
  float: none !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  opacity: 0 !important;
  z-index: 0 !important;

  transform: none !important;
  transition: none !important;

  pointer-events: none;
}

/* Imagen actual: siempre visible debajo */
.sauleda-home-hero .sauleda-hero-crossfade .carousel-item.active {
  opacity: 1 !important;
  z-index: 1 !important;
  pointer-events: auto;
}

/* Nueva imagen: empieza invisible ENCIMA */
.sauleda-home-hero .sauleda-hero-crossfade .carousel-item.sauleda-entering {
  opacity: 0 !important;
  z-index: 2 !important;

  transition:
    opacity .9s cubic-bezier(.4, 0, .2, 1) !important;
}

/* Y aparece progresivamente sobre la anterior */
.sauleda-home-hero
.sauleda-hero-crossfade
.carousel-item.sauleda-entering.sauleda-entering-visible {
  opacity: 1 !important;
}


/* CONTROLES · SIN FONDO BLANCO */
.sauleda-home-hero .carousel-control-prev,
.sauleda-home-hero .carousel-control-next {
  appearance: none !important;
  -webkit-appearance: none !important;

  background: rgba(10,14,16,.12) !important;
  background-image: none !important;

  border: 1px solid rgba(255,255,255,.52) !important;
  border-radius: 50% !important;

  box-shadow: none !important;
  outline: none !important;

  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.sauleda-home-hero .carousel-control-prev:hover,
.sauleda-home-hero .carousel-control-next:hover {
  background: rgba(10,14,16,.24) !important;
}


/* Quitamos completamente el icono Bootstrap */
.sauleda-home-hero .carousel-control-prev-icon,
.sauleda-home-hero .carousel-control-next-icon {
  position: relative;

  width: 12px !important;
  height: 12px !important;

  background: none !important;
  background-image: none !important;
}

.sauleda-home-hero .carousel-control-prev-icon::before,
.sauleda-home-hero .carousel-control-next-icon::before {
  content: "";

  position: absolute;
  top: 2px;

  width: 8px;
  height: 8px;

  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
}

.sauleda-home-hero .carousel-control-prev-icon::before {
  left: 3px;
  transform: rotate(-135deg);
}

.sauleda-home-hero .carousel-control-next-icon::before {
  right: 3px;
  transform: rotate(45deg);
}

/* SAULEDA HERO CROSSFADE V7 · FIN */

/* SAULEDA HOME KPI REFERENCIA · INICIO */

.sauleda-home-kpis {
  width: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
  overflow: hidden;
}

.sauleda-home-kpis__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
}

.sauleda-home-kpi {
  position: relative;
  min-width: 0;
  padding: 60px 32px 58px;
  text-align: center;

  background: #fff;

  transition:
    background-color .3s ease,
    opacity .7s ease,
    transform .7s cubic-bezier(.22,.61,.36,1);
}

/* Hover rosa exacto de la referencia */
.sauleda-home-kpi:hover {
  background-color: rgba(184,40,40,.04);
}


/* NÚMERO */
.sauleda-home-kpi__number {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;

  margin: 0 0 14px;

  color: #b82828;

  font-family: inherit;
  font-size: clamp(2.8rem, 4vw, 4rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.03em;
}

.sauleda-home-kpi__number > span:first-child {
  margin-right: 2px;
  color: #b82828;
}


/* ETIQUETA */
.sauleda-home-kpi__label {
  margin: 0;

  color: #1a1a18;

  font-family: inherit;
  font-size: .68rem;
  font-weight: 500;
  line-height: 1.4;

  letter-spacing: .18em;
  text-transform: uppercase;
}


/* DESCRIPCIÓN */
.sauleda-home-kpi__description {
  margin-top: 8px;

  color: #6f6966;

  font-family: inherit;
  font-size: .75rem;
  font-weight: 400;
  line-height: 1.55;
}


/* APARICIÓN DESDE ABAJO */
.sauleda-home-kpis.is-animation-ready .sauleda-home-kpi {
  opacity: 0;
  transform: translateY(28px);
}

.sauleda-home-kpis.is-animation-ready .sauleda-home-kpi.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.sauleda-home-kpis.is-animation-ready .sauleda-home-kpi:nth-child(1) {
  transition-delay: 0s;
}

.sauleda-home-kpis.is-animation-ready .sauleda-home-kpi:nth-child(2) {
  transition-delay: .07s;
}

.sauleda-home-kpis.is-animation-ready .sauleda-home-kpi:nth-child(3) {
  transition-delay: .14s;
}

.sauleda-home-kpis.is-animation-ready .sauleda-home-kpi:nth-child(4) {
  transition-delay: .21s;
}


/* TABLET */
@media (max-width: 900px) {
  .sauleda-home-kpis__grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .sauleda-home-kpi {
    padding: 50px 24px;
  }
}


/* MÓVIL */
@media (max-width: 520px) {
  .sauleda-home-kpis__grid {
    grid-template-columns: 1fr;
  }

  .sauleda-home-kpi {
    padding: 42px 22px;
  }
}


/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
  .sauleda-home-kpi {
    transition: background-color .3s ease !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* SAULEDA HOME KPI REFERENCIA · FIN */

/* SAULEDA HERO SCROLL EFFECT · INICIO */

/*
 * Fotografía:
 * se mueve algo más despacio que la página.
 * El ligero scale evita mostrar bordes al desplazarse.
 */
.sauleda-home-hero .ps-imageslider__image {
  transform:
    translate3d(
      0,
      var(--sauleda-hero-image-y, 0px),
      0
    )
    scale(1.08);

  transform-origin: center center;
  will-change: transform;
}


/*
 * TODO el contenido de la diapositiva:
 * título izquierdo + texto derecho + botones.
 */
.sauleda-home-hero .ps-imageslider__figcaption {
  transform:
    translate3d(
      0,
      var(--sauleda-hero-copy-y, 0px),
      0
    );

  opacity: var(--sauleda-hero-scroll-opacity, 1);

  will-change: transform, opacity;
}


/* Indicadores inferiores */
.sauleda-home-hero .carousel-indicators {
  opacity: var(--sauleda-hero-scroll-opacity, 1);
  will-change: opacity;
}


/* Flechas */
.sauleda-home-hero .carousel-control-prev,
.sauleda-home-hero .carousel-control-next {
  opacity: var(--sauleda-hero-scroll-opacity, 1) !important;
  will-change: opacity;
}


@media (prefers-reduced-motion: reduce) {
  .sauleda-home-hero .ps-imageslider__image,
  .sauleda-home-hero .ps-imageslider__figcaption {
    transform: none !important;
    opacity: 1 !important;
  }

  .sauleda-home-hero .carousel-indicators,
  .sauleda-home-hero .carousel-control-prev,
  .sauleda-home-hero .carousel-control-next {
    opacity: 1 !important;
  }
}

/* SAULEDA HERO SCROLL EFFECT · FIN */

/* SAULEDA HOME VALUE · INICIO */

.sauleda-home-value {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  min-height: 550px;
  background: #f4f4f4;
  overflow: hidden;
}

.sauleda-home-value__content {
  display: flex;
  align-items: center;
  padding:
    clamp(60px, 7vw, 110px)
    clamp(44px, 5vw, 105px);
}

.sauleda-home-value__inner {
  width: 100%;
  max-width: 780px;
}

.sauleda-home-value__eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;

  margin-bottom: 24px;

  color: #77716e;

  font-size: .66rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .20em;
  text-transform: uppercase;
}

.sauleda-home-value__eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #c7222a;
}

.sauleda-home-value__title {
  margin: 0;

  color: #151515;

  font-size: clamp(2.6rem, 3.4vw, 4rem);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -.035em;
}

.sauleda-home-value__title span {
  display: block;
  color: #c7222a;
  font-weight: 300;
}

.sauleda-home-value__body {
  max-width: 760px;
  margin: 28px 0 0;

  color: #403c39;

  font-size: .92rem;
  font-weight: 400;
  line-height: 1.75;
}

.sauleda-home-value__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;

  margin-top: 30px;
}

.sauleda-home-value__badges span {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 27px;
  padding: 0 15px;

  border: 1px solid #d8d2cc;
  border-radius: 999px;

  color: #4d4946;
  background: transparent;

  font-size: .61rem;
  font-weight: 500;
  letter-spacing: .11em;
}

.sauleda-home-value__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 46px;
  margin-top: 30px;
  padding: 0 28px;

  border-radius: 999px;

  background: #171717;
  color: #fff !important;

  font-size: .72rem;
  font-weight: 600;
  text-decoration: none !important;

  transition:
    transform .25s ease,
    background-color .25s ease;
}

.sauleda-home-value__button:hover {
  background: #c7222a;
  transform: translateY(-2px);
}

.sauleda-home-value__media {
  position: relative;
  overflow: hidden;
  min-height: 550px;
}

.sauleda-home-value__media img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transform: scale(1.035);
}


/* Entrada como en la plantilla */
.sauleda-home-value.is-animation-ready .sauleda-home-value__inner {
  opacity: 0;
  transform: translate3d(-32px, 18px, 0);

  transition:
    opacity .85s ease,
    transform .85s cubic-bezier(.22,.61,.36,1);
}

.sauleda-home-value.is-animation-ready .sauleda-home-value__media {
  opacity: 0;

  transition:
    opacity 1s ease;
}

.sauleda-home-value.is-animation-ready .sauleda-home-value__media img {
  transform: scale(1.09);

  transition:
    transform 1.25s cubic-bezier(.22,.61,.36,1);
}

.sauleda-home-value.is-animation-ready.is-visible .sauleda-home-value__inner {
  opacity: 1;
  transform: translate3d(0,0,0);
}

.sauleda-home-value.is-animation-ready.is-visible .sauleda-home-value__media {
  opacity: 1;
}

.sauleda-home-value.is-animation-ready.is-visible .sauleda-home-value__media img {
  transform: scale(1.035);
}


@media (max-width: 900px) {
  .sauleda-home-value {
    grid-template-columns: 1fr;
  }

  .sauleda-home-value__media {
    min-height: 420px;
  }
}


@media (prefers-reduced-motion: reduce) {
  .sauleda-home-value__inner,
  .sauleda-home-value__media,
  .sauleda-home-value__media img {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* SAULEDA HOME VALUE · FIN */

/* SAULEDA HOME COLLECTIONS · INICIO */

.sauleda-home-collections {
  padding: 100px 5%;
  background: #fff;
}

.sauleda-home-collections__header {
  max-width: 1280px;
  margin: 0 auto 52px;

  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.sauleda-home-collections__eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;

  margin-bottom: 14px;

  color: #77716e;
  font-size: .66rem;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.sauleda-home-collections__eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b82828;
}

.sauleda-home-collections__title {
  margin: 0;

  color: #1a1a18;
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.025em;
}

.sauleda-home-collections__title em {
  color: #b82828;
  font-style: normal;
  font-weight: 300;
}

.sauleda-home-collections__all {
  display: flex;
  align-items: center;
  gap: 7px;

  padding-bottom: 2px;
  border-bottom: 1px solid #b82828;

  color: #b82828 !important;

  font-size: .74rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none !important;

  transition: opacity .2s;
}

.sauleda-home-collections__all:hover {
  opacity: .7;
}

.sauleda-home-collections__all svg {
  width: 12px;
  height: 12px;
}


/* GRID EXACTO: 6 columnas */
.sauleda-home-collections__grid {
  max-width: 1280px;
  margin: 0 auto;

  display: grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 10px;
}


/* Cada tarjeta ocupa 2/6 = 1/3 */
.sauleda-home-collection {
  grid-column: span 2;

  position: relative;
  display: block;
  overflow: hidden;

  border-radius: 14px;

  cursor: pointer;
  text-decoration: none !important;

  opacity: 0;
  transform: translateY(34px);

  transition:
    opacity .75s ease,
    transform .75s cubic-bezier(.22,.61,.36,1);
}


/* Aparición escalonada */
.sauleda-home-collection.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.sauleda-home-collection:nth-child(2) {
  transition-delay: .07s;
}

.sauleda-home-collection:nth-child(3) {
  transition-delay: .14s;
}

.sauleda-home-collection:nth-child(4) {
  transition-delay: .07s;
}

.sauleda-home-collection:nth-child(5) {
  transition-delay: .14s;
}


/* FOTOGRAFÍA */
.sauleda-home-collection__image {
  width: 100%;
  aspect-ratio: 16 / 10;

  background-size: cover;
  background-position: center;

  transition: transform .6s ease;
}

.sauleda-home-collection:hover .sauleda-home-collection__image {
  transform: scale(1.05);
}


/* Imágenes locales */
.sauleda-home-collection__image--shade {
  background-image:
    url('../img/home/collections/shade.jpg');
}

.sauleda-home-collection__image--marine {
  background-image:
    url('../img/home/collections/marine.jpg');
}

.sauleda-home-collection__image--outdoor {
  background-image:
    url('../img/home/collections/outdoor-living.jpg');
}

.sauleda-home-collection__image--industrial {
  background-image:
    url('../img/home/collections/industrial.jpg');
}

.sauleda-home-collection__image--nylon {
  background-image:
    url('../img/home/collections/nylon-poly.jpg');
}


/* Overlay exacto del modelo */
.sauleda-home-collection__overlay {
  position: absolute;
  inset: 0;

  border-radius: 14px;

  background:
    linear-gradient(
      to top,
      rgba(26,26,24,.78) 0%,
      transparent 50%
    );

  opacity: 0;

  transition: opacity .3s;
}

.sauleda-home-collection:hover .sauleda-home-collection__overlay {
  opacity: 1;
}


/* Información */
.sauleda-home-collection__info {
  position: absolute;

  right: 0;
  bottom: 0;
  left: 0;

  padding: 18px 20px 20px;

  transform: translateY(6px);

  transition: transform .3s;
}

.sauleda-home-collection:hover .sauleda-home-collection__info {
  transform: translateY(0);
}

.sauleda-home-collection__name {
  color: #fff;

  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.01em;
}

.sauleda-home-collection__cta {
  display: flex;
  align-items: center;
  gap: 5px;

  margin-top: 6px;

  color: rgba(255,255,255,.65);

  font-size: .65rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}


/* TABLET */
@media (max-width: 900px) {
  .sauleda-home-collections {
    padding: 72px 28px;
  }

  .sauleda-home-collections__grid {
    grid-template-columns: repeat(2,1fr);
  }

  .sauleda-home-collection {
    grid-column: auto;
  }
}


/* MÓVIL */
@media (max-width: 560px) {
  .sauleda-home-collections__grid {
    grid-template-columns: 1fr;
  }
}


@media (prefers-reduced-motion: reduce) {
  .sauleda-home-collection {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .sauleda-home-collection__image {
    transition: none !important;
  }
}

/* SAULEDA HOME COLLECTIONS · FIN */

/* SAULEDA FABRIC FINDER · INICIO */

.sauleda-fabric-finder {
  padding: 86px 5% 92px;
  border-top: 1px solid #ded8cf;
  border-bottom: 1px solid #ded8cf;
  background: #f4f4f4;
}

.sauleda-fabric-finder__inner {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

.sauleda-fabric-finder__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;

  color: #77716e;
  font-size: .63rem;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.sauleda-fabric-finder__eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b82828;
}

.sauleda-fabric-finder__heading h2 {
  margin: 0;

  color: #171717;
  font-size: clamp(2.25rem, 3.2vw, 3rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.sauleda-fabric-finder__heading h2 strong {
  font-weight: 700;
}

.sauleda-fabric-finder__heading h2 span {
  color: #c7222a;
  font-weight: 300;
}

.sauleda-fabric-finder__heading p {
  max-width: 520px;
  margin: 10px auto 0;

  color: #443f3c;
  font-size: .83rem;
  line-height: 1.55;
}


.sauleda-fabric-finder__tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
}

.sauleda-fabric-tab {
  min-width: 82px;
  height: 37px;
  padding: 0 20px;

  border: 1px solid #ddd5ca;
  border-radius: 999px;

  background: transparent;
  color: #282521;

  font-size: .72rem;
  font-weight: 500;

  cursor: pointer;

  transition:
    background .25s ease,
    color .25s ease,
    border-color .25s ease,
    transform .25s ease;
}

.sauleda-fabric-tab:hover {
  transform: translateY(-1px);
}

.sauleda-fabric-tab.is-active {
  border-color: #171717;
  background: #171717;
  color: #fff;
}


.sauleda-fabric-panel {
  display: none;
  margin-top: 42px;

  opacity: 0;
  transform: translateY(12px);
}

.sauleda-fabric-panel.is-active {
  display: block;

  animation: sauledaFabricPanelIn .45s ease both;
}

@keyframes sauledaFabricPanelIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* COLORS */

.sauleda-fabric-colors {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(20px, 2.5vw, 36px);
  flex-wrap: wrap;
}

.sauleda-color-choice {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;

  color: #181817 !important;

  font-size: .74rem;
  font-weight: 500;
  letter-spacing: .02em;
  text-decoration: none !important;
}

.sauleda-color-choice__swatch {
  width: 58px;
  height: 58px;

  border: 4px solid #fff;
  border-radius: 50%;

  background: var(--swatch);

  box-shadow:
    0 0 0 1px #d7d0c6,
    0 8px 18px rgba(0,0,0,.08);

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.sauleda-color-choice:hover .sauleda-color-choice__swatch {
  transform: translateY(-5px) scale(1.07);

  box-shadow:
    0 0 0 1px #c7222a,
    0 12px 24px rgba(0,0,0,.12);
}


/* APPLICATIONS */

.sauleda-fabric-applications {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 30px 34px;
  flex-wrap: wrap;
}

.sauleda-application-choice {
  display: flex;
  flex: 0 0 74px;
  flex-direction: column;
  align-items: center;
  gap: 9px;

  color: #181817 !important;

  font-size: .72rem;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
  text-decoration: none !important;
}

.sauleda-application-choice__photo {
  display: block;
  width: 58px;
  height: 58px;

  overflow: hidden;

  border: 4px solid #fff;
  border-radius: 50%;

  background: #eee;

  box-shadow:
    0 0 0 1px #d7d0c6,
    0 8px 18px rgba(0,0,0,.08);

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.sauleda-application-choice__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;

  transition: transform .4s ease;
}

.sauleda-application-choice:hover .sauleda-application-choice__photo {
  transform: translateY(-5px) scale(1.07);

  box-shadow:
    0 0 0 1px #c7222a,
    0 12px 24px rgba(0,0,0,.12);
}

.sauleda-application-choice:hover img {
  transform: scale(1.09);
}


/* LINK INFERIOR */

.sauleda-fabric-finder__all {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;

  width: 100%;
  margin-top: 42px;
  padding: 0 10px 3px;

  border-bottom: 1px solid #c7222a;

  color: #c7222a !important;

  font-size: .69rem;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-decoration: none !important;

  transition: opacity .2s ease;
}

.sauleda-fabric-finder__all:hover {
  opacity: .65;
}


/* Reveal de la sección */
.sauleda-fabric-finder.is-animation-ready .sauleda-fabric-finder__inner {
  opacity: 0;
  transform: translateY(30px);

  transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.22,.61,.36,1);
}

.sauleda-fabric-finder.is-visible .sauleda-fabric-finder__inner {
  opacity: 1;
  transform: translateY(0);
}


@media (max-width: 700px) {
  .sauleda-fabric-finder {
    padding: 68px 24px;
  }

  .sauleda-fabric-colors {
    gap: 24px;
  }

  .sauleda-fabric-applications {
    gap: 26px 18px;
  }
}

/* SAULEDA FABRIC FINDER · FIN */

/* SAULEDA HOME SERVICES · INICIO */

.sauleda-home-services {
  padding: 95px 5% 100px;
  background: #fff;
}

.sauleda-home-services__header {
  max-width: 1280px;
  margin: 0 auto 55px;
  text-align: center;
}

.sauleda-home-services__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  margin-bottom: 18px;

  color: #77716e;
  font-size: .63rem;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.sauleda-home-services__eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c1282d;
}

.sauleda-home-services__title {
  margin: 0 auto;

  color: #141414;
  font-size: clamp(2.5rem, 3.7vw, 3.4rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.035em;
}

.sauleda-home-services__title em {
  display: block;
  margin-top: 5px;

  color: #c1282d;
  font-style: normal;
  font-weight: 300;
}


/* GRID */

.sauleda-home-services__grid {
  max-width: 1280px;
  margin: 0 auto;

  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}


/* TARJETAS */

.sauleda-home-service {
  position: relative;

  min-height: 380px;
  padding: 28px 26px 32px;

  display: flex;
  flex-direction: column;

  border-radius: 14px;
  background: #fff;

  opacity: 0;
  transform: translateY(36px);

  transition:
    opacity .75s ease,
    transform .75s cubic-bezier(.22,.61,.36,1),
    background-color .35s ease,
    box-shadow .35s ease;
}

.sauleda-home-service.is-visible {
  opacity: 1;
  transform: translateY(0);
}


/* retrasos como reveal del modelo */

.sauleda-home-service:nth-child(2) {
  transition-delay: .07s;
}

.sauleda-home-service:nth-child(3) {
  transition-delay: .14s;
}

.sauleda-home-service:nth-child(4) {
  transition-delay: .21s;
}


/* línea */

.sauleda-home-service__line {
  width: 32px;
  height: 1px;

  background: #c1282d;

  transition: background-color .35s ease;
}


/* icono */

.sauleda-home-service__icon {
  width: 42px;
  height: 42px;

  margin-top: 22px;
  margin-bottom: 22px;

  color: #c1282d;

  transition:
    color .35s ease,
    transform .35s ease;
}


/* textos */

.sauleda-home-service h3 {
  margin: 0 0 12px;

  color: #171717;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.01em;

  transition: color .35s ease;
}

.sauleda-home-service p {
  margin: 0 0 24px;

  color: #625d59;
  font-size: .83rem;
  font-weight: 400;
  line-height: 1.75;

  transition: color .35s ease;
}


/* botón */

.sauleda-home-service__button {
  align-self: flex-start;

  min-height: 38px;
  margin-top: auto;
  padding: 0 22px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #242424;
  border-radius: 999px;

  background: transparent;
  color: #171717 !important;

  font-size: .68rem;
  font-weight: 500;
  text-decoration: none !important;

  transition:
    background-color .3s ease,
    border-color .3s ease,
    color .3s ease,
    transform .3s ease;
}


/* HOVER ROJO */

.sauleda-home-service:hover {
  background: #c1282d;

  transform: translateY(-7px);

  box-shadow:
    0 22px 46px rgba(184,40,40,.20);
}

.sauleda-home-service:hover .sauleda-home-service__line {
  background: rgba(255,255,255,.9);
}

.sauleda-home-service:hover .sauleda-home-service__icon {
  color: #fff;
  transform: translateY(-2px);
}

.sauleda-home-service:hover h3 {
  color: #fff;
}

.sauleda-home-service:hover p {
  color: rgba(255,255,255,.92);
}

.sauleda-home-service:hover .sauleda-home-service__button {
  color: #fff !important;
  border-color: #fff;
  background: transparent;
}

.sauleda-home-service:hover .sauleda-home-service__button:hover {
  color: #c1282d !important;
  background: #fff;
  border-color: #fff;

  transform: translateY(-2px);
}


/* Responsive */

@media (max-width: 1000px) {
  .sauleda-home-services__grid {
    grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 580px) {
  .sauleda-home-services {
    padding: 70px 24px;
  }

  .sauleda-home-services__grid {
    grid-template-columns: 1fr;
  }
}


@media (prefers-reduced-motion: reduce) {
  .sauleda-home-service {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* SAULEDA HOME SERVICES · FIN */

/* SAULEDA HOME NEWS STATIC · INICIO */

.sauleda-home-news {
  padding: 64px 5%;
  background: #fff;
}

.sauleda-home-news__wrap {
  max-width: 1280px;
  margin: 0 auto;
}


/* HEADER */

.sauleda-home-news__header {
  margin-bottom: 42px;

  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}

.sauleda-home-news__eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;

  margin-bottom: 14px;

  color: #77716e;

  font-size: .63rem;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.sauleda-home-news__eyebrow::before {
  content: "";

  width: 7px;
  height: 7px;

  border-radius: 50%;
  background: #c1282d;
}

.sauleda-home-news__heading {
  margin: 0;

  color: #1a1a18;

  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.025em;
}

.sauleda-home-news__heading em {
  color: #c1282d;
  font-style: normal;
  font-weight: 300;
}

.sauleda-home-news__all {
  display: flex;
  align-items: center;
  gap: 7px;

  padding-bottom: 2px;

  border-bottom: 1px solid #c1282d;

  color: #c1282d !important;

  font-size: .74rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none !important;

  transition: opacity .2s ease;
}

.sauleda-home-news__all:hover {
  opacity: .7;
}


/* GRID */

.sauleda-home-news__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}


/* CARD */

.sauleda-home-news-card {
  position: relative;

  display: block;
  overflow: hidden;

  aspect-ratio: 3 / 4;

  border-radius: 14px;

  color: inherit;
  cursor: pointer;

  box-shadow:
    0 6px 22px rgba(0,0,0,.08);

  opacity: 0;
  transform: translateY(36px);

  transition:
    opacity .75s ease,
    transform .75s cubic-bezier(.22,.61,.36,1),
    box-shadow .3s ease;
}

.sauleda-home-news-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}


/* stagger */

.sauleda-home-news-card:nth-child(2) {
  transition-delay: .07s;
}

.sauleda-home-news-card:nth-child(3) {
  transition-delay: .14s;
}

.sauleda-home-news-card:nth-child(4) {
  transition-delay: .21s;
}


/* HOVER EXACTO DEL MODELO */

.sauleda-home-news-card:hover {
  box-shadow:
    0 14px 40px rgba(0,0,0,.16);
}

.sauleda-home-news-card__image {
  position: absolute;
  inset: 0;

  background-size: cover;
  background-position: center;

  transition:
    transform .6s ease;
}

.sauleda-home-news-card:hover .sauleda-home-news-card__image {
  transform: scale(1.06);
}


/* IMÁGENES 100% LOCALES */

.sauleda-home-news-card__image--1 {
  background-image:
    url('../img/home/news/news-01.webp');
}

.sauleda-home-news-card__image--2 {
  background-image:
    url('../img/home/news/news-02.webp');
}

.sauleda-home-news-card__image--3 {
  background-image:
    url('../img/home/news/news-03.webp');
}

.sauleda-home-news-card__image--4 {
  background-image:
    url('../img/home/news/news-04.webp');
}


/* OVERLAY */

.sauleda-home-news-card__overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      to top,
      rgba(26,26,24,.88) 0%,
      rgba(26,26,24,.15) 55%,
      transparent 75%
    );
}


/* COPY */

.sauleda-home-news-card__body {
  position: absolute;

  right: 0;
  bottom: 0;
  left: 0;

  padding: 18px 18px 20px;

  color: #fff;
}

.sauleda-home-news-card__tag {
  display: flex;
  align-items: center;
  gap: 6px;

  margin-bottom: 8px;

  color: rgba(255,255,255,.85);

  font-size: .6rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.sauleda-home-news-card__tag::before {
  content: "";

  width: 5px;
  height: 5px;

  flex-shrink: 0;

  border-radius: 50%;
  background: #c1282d;
}

.sauleda-home-news-card h3 {
  margin: 0;

  color: #fff;

  font-size: .95rem;
  font-weight: 600;
  line-height: 1.32;
  letter-spacing: -.01em;
}


/* RESPONSIVE */

@media (max-width: 900px) {
  .sauleda-home-news__grid {
    grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 560px) {
  .sauleda-home-news {
    padding: 60px 24px;
  }

  .sauleda-home-news__grid {
    grid-template-columns: 1fr;
  }

  .sauleda-home-news-card {
    aspect-ratio: 16 / 10;
  }
}


@media (prefers-reduced-motion: reduce) {
  .sauleda-home-news-card {
    opacity: 1 !important;
    transform: none !important;
  }

  .sauleda-home-news-card__image {
    transition: none !important;
  }
}

/* SAULEDA HOME NEWS STATIC · FIN */
