/* enconco-shot-v9: every annotated screenshot on live theme 2356 */
:root { --enconco-shot: 9; }

/* 16.00.06 departments: 3-up, larger image and type */
body.template-page .enconco-about-range,
body.template-page .enconco-about-dept-row {
  --pfg-per-row: 3 !important;
  --pfg-gap: 28px !important;
}
body.template-page .enconco-about-range .f-portfolio-grid__grid,
body.template-page .enconco-about-dept-row .f-portfolio-grid__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px 24px !important;
}
body.template-page .enconco-about-range .f-portfolio-grid__item,
body.template-page .enconco-about-dept-row .f-portfolio-grid__item {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}
body.template-page .enconco-about-range .f-portfolio-grid__media,
body.template-page .enconco-about-range .f-portfolio-grid__media img,
body.template-page .enconco-about-dept-row .f-portfolio-grid__media img {
  width: 100% !important;
  height: 460px !important;
  min-height: 420px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
}
body.template-page .enconco-about-range .f-portfolio-grid__title-text,
body.template-page .enconco-about-range .f-portfolio-grid__caption-title,
body.template-page .enconco-about-dept-row .f-portfolio-grid__title-text {
  font-size: 28px !important;
  line-height: 1.2 !important;
}
body.template-page .enconco-about-range .f-portfolio-grid__content-tag,
body.template-page .enconco-about-range .f-portfolio-grid__caption-tag {
  font-size: 16px !important;
  line-height: 1.45 !important;
}

/* 16.00.06 footer social icons must stay visible */
.f-footer .social-media-links,
.f-footer--bottom .social-media-links {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 10px 0 !important;
  min-height: 36px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.f-footer .social-media-links a,
.f-footer .social-media-links--item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  border: 1px solid #1b2433 !important;
  background: #fff !important;
  color: #1b2433 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.f-footer .social-media-links svg,
.f-footer .social-media-links svg path {
  width: 16px !important;
  height: 16px !important;
  display: block !important;
  fill: #1b2433 !important;
  color: #1b2433 !important;
  visibility: visible !important;
}

/* 16.08.02 + 16.11.27 about hero: full-bleed, image left / copy right, not overly wide */
body.template-page .enconco-about-story,
body.template-page .enconco-about-hero-v8 {
  background: #f7f8fb !important;
  margin: 0 !important;
}
body.template-page .enconco-about-story .container,
body.template-page .enconco-about-story .container-fluid {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.template-page .enconco-about-story .f-image-with-text__inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 0 !important;
  min-height: 620px !important;
  margin: 0 !important;
}
body.template-page .enconco-about-story .f-image-with-text__image {
  flex: 0 0 46% !important;
  width: 46% !important;
  max-width: 46% !important;
}
body.template-page .enconco-about-story .f-image-with-text__content {
  flex: 1 1 54% !important;
  width: 54% !important;
  max-width: 54% !important;
  padding: clamp(48px, 6vw, 96px) clamp(40px, 5vw, 88px) !important;
}
body.template-page .enconco-about-story .f-image-with-text__image img,
body.template-page .enconco-about-story .f-image-with-text__image-first {
  width: 100% !important;
  height: 100% !important;
  min-height: 620px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

/* 16.05.19 look closer: less vertical gap, rounded large image */
body.template-page .enconco-about-details {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.template-page .enconco-about-details .f-section-py,
body.template-page .enconco-about-details .f-section-my {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.template-page .enconco-about-details .f-numbered-services__media,
body.template-page .enconco-about-details .f-numbered-services__media img {
  border-radius: 28px !important;
  overflow: hidden !important;
  min-height: 0 !important;
}

/* 16.11.09 + 16.09.19 + 16.15.08 before you choose: one rule, more air, no arrows, no button, plain text */
body.template-page .enconco-about-details .f-numbered-services__arrow,
body.template-page .enconco-about-details .f-numbered-services__actions,
body.template-page .enconco-about-details .f-numbered-services__button {
  display: none !important;
}
body.template-page .enconco-about-details .f-numbered-services__item {
  border-top: 0 !important;
  border-bottom: 1px solid #d5dbe6 !important;
  padding: 18px 0 !important;
  margin: 0 !important;
  background-image: none !important;
}
body.template-page .enconco-about-details .f-numbered-services__link,
body.template-page .enconco-about-details .f-numbered-services__title,
body.template-page .enconco-about-details .f-numbered-services__title-text {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
  color: #1b2433 !important;
  cursor: default !important;
  white-space: normal !important;
  line-height: 1.6 !important;
  font-size: 17px !important;
  font-weight: 500 !important;
}
body.template-page .enconco-about-details .f-numbered-services__link {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  pointer-events: none !important;
}
body.template-page .enconco-about-details .f-numbered-services__desc {
  line-height: 1.65 !important;
  margin-bottom: 8px !important;
}

/* 16.02.49 mobile story and brand trio share the same side inset */
@media (max-width: 767px) {
  body.template-page .enconco-about-story,
  body.template-page .enconco-about-range,
  body.template-home #f-custom-casaluce-brand,
  body.template-home .casaluce-brand-trio {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }
  body.template-page .enconco-about-story .container,
  body.template-page .enconco-about-story .container-fluid,
  body.template-page .enconco-about-range .container,
  body.template-home #f-custom-casaluce-brand .container-full,
  body.template-home #f-custom-casaluce-brand .f-custom-content__wrapper,
  body.template-home .casaluce-brand-trio .f-custom-content__wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.template-page .enconco-about-story .f-image-with-text__inner {
    flex-direction: column !important;
    min-height: 0 !important;
    gap: 16px !important;
  }
  body.template-page .enconco-about-story .f-image-with-text__image,
  body.template-page .enconco-about-story .f-image-with-text__content {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }
  body.template-page .enconco-about-story .f-image-with-text__content {
    padding: 4px 0 8px !important;
  }
  body.template-page .enconco-about-story .f-image-with-text__image img,
  body.template-home #f-custom-casaluce-brand .f-custom-content__block-image img {
    min-height: 240px !important;
    border-radius: 16px !important;
  }
  body.template-page .enconco-about-range .f-portfolio-grid__grid,
  body.template-page .enconco-about-dept-row .f-portfolio-grid__grid {
    grid-template-columns: 1fr !important;
  }
  body.template-page .enconco-about-range .f-portfolio-grid__media img {
    height: 280px !important;
    min-height: 240px !important;
  }
}

/* 16.04.18 services: 2x2, larger icon and type on small screens */
@media (max-width: 989px) {
  body.template-home #f-section--casaluce-services .f-mixed-layout__inner,
  body.template-home #f-section--casaluce-services .f-icon-box-section__wrapper .f-mixed-layout__inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 18px !important;
  }
  body.template-home #f-section--casaluce-services .m\:column,
  body.template-home #f-section--casaluce-services .f-icon-box {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
  }
  body.template-home #f-section--casaluce-services .f-icon-box__icon,
  body.template-home #f-section--casaluce-services .f-icon-box__external-image {
    width: 72px !important;
    height: 72px !important;
  }
  body.template-home #f-section--casaluce-services .f-icon-box__icon img,
  body.template-home #f-section--casaluce-services .f-icon-box__heading,
  body.template-home #f-section--casaluce-services .f-icon-box__title,
  body.template-home #f-section--casaluce-services .f-icon-box__text {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
  body.template-home #f-section--casaluce-services .f-icon-box__heading,
  body.template-home #f-section--casaluce-services .f-icon-box__title {
    font-size: 18px !important;
  }
}

/* 16.16.02 hero buttons lift on hover */
body.template-home .casaluce-hero .f-slide__button-first,
body.template-home .casaluce-hero .f-slide__button-second,
body.template-home .enconco-hero-v6 .f-button,
body.template-home .enconco-annabary-hero .f-button {
  transition: transform .28s ease, box-shadow .28s ease, background-color .28s ease !important;
}
body.template-home .casaluce-hero .f-slide__button-first:hover,
body.template-home .casaluce-hero .f-slide__button-second:hover,
body.template-home .enconco-hero-v6 .f-button:hover,
body.template-home .enconco-annabary-hero .f-button:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 30px rgba(27, 36, 51, 0.18) !important;
}

/* 16.12.57 corners match the white beside them; 16.13.20 rounded black border */
body.template-home #f-custom-casaluce-brand,
body.template-home #f-custom-casaluce-brand .f-custom-content__container,
body.template-home #f-custom-casaluce-brand .f-gradient,
body.template-home #f-custom-casaluce-brand .f-custom-content__block,
body.template-home #f-custom-casaluce-brand .f-custom-content__block-inner,
body.template-home #f-custom-casaluce-brand .m\:blocks-radius,
body.template-home #f-custom-casaluce-brand picture,
body.template-home #f-custom-casaluce-brand img {
  background-color: #fff !important;
}
body.template-home #f-custom-casaluce-brand .casaluce-brand-photo img,
body.template-home #f-custom-casaluce-brand .f-custom-content__block-image img {
  border-radius: 28px !important;
}
body.template-home #f-custom-casaluce-brand .f-custom-content__block-text .f-custom-content__block-inner,
body.template-home #f-custom-casaluce-brand .f-custom-content__block-text .f-richtext {
  border: 1.5px solid #1b2433 !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
body.template-home .f-image-with-text__image-first,
body.template-home .casaluce-woven-band .f-image,
body.template-home .enconco-annabary-story img {
  background-color: #fff !important;
}

/* 16.06.18 cart overlay must not blank the page */
f-cart-drawer.f-cart-drawer,
.page-right-cart-drawer,
.page-right-cart-drawer .f-cart-drawer {
  background: transparent !important;
  background-color: transparent !important;
}
f-cart-drawer.f-cart-drawer.f-cart-drawer--active,
.page-right-cart-drawer .f-cart-drawer.f-cart-drawer--active {
  display: block !important;
  background: rgba(27, 36, 51, 0.22) !important;
  background-color: rgba(27, 36, 51, 0.22) !important;
}
.f-cart-drawer__inner {
  width: min(440px, calc(100vw - 28px)) !important;
  max-width: 440px !important;
  margin-left: auto !important;
  background: #fff !important;
  background-color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: -16px 0 40px rgba(27, 36, 51, 0.16) !important;
}
body:has(f-cart-drawer.f-cart-drawer--active) .f-main,
body:has(f-cart-drawer.f-cart-drawer--active) #MainContent,
body:has(.f-cart-drawer--active) main {
  visibility: visible !important;
  opacity: 1 !important;
  filter: none !important;
}

/* 16.06.57 promo text on the image, not image-only */
body.template-product .main-product__block-image .f-product-image,
body.template-collection .f-collection-page-header__wrapper,
body.template-collection .casaluce-collection-header .f-collection-page-header__inner {
  position: relative !important;
}
body.template-product .main-product__block-image .f-product-image::after,
body.template-collection .casaluce-collection-header .f-collection-page-header__wrapper::after {
  content: "10% off your first order\A Code ENCONCO10";
  white-space: pre-line;
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 3;
  padding: 12px 16px;
  border-radius: 12px;
  background: rgba(27, 36, 51, 0.82);
  color: #fff;
  font-size: 15px;
  line-height: 1.35;
  letter-spacing: 0.01em;
  pointer-events: none;
}
body.template-collection .casaluce-collection-header .f-collection-page-header__inner::before {
  content: "10% off your first order · Code ENCONCO10";
  display: inline-block;
  margin: 0 auto 12px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #1b2433;
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.04em;
}

/* 16.07.24 cards: smaller titles, description, 3 across, no beige band */
body.template-collection .f-product-card,
body.template-product .f-product-card,
body.template-collection .f-product-card__media,
body.template-collection .f-product-card__image,
body.template-product .f-product-recommendations,
body.template-product .f-product-recommendations .f-section-py {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
body.template-product .f-product-card__name,
body.template-collection .f-product-card__name,
body.template-home .f-product-card__name {
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}
.f-product-card__description,
.enconco-card-desc-v8 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
  margin: 6px 0 8px !important;
  color: #5c6780 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
body.template-collection .casaluce-collection-grid .f-mixed-layout__inner,
body.template-collection .f-product-list .f-mixed-layout__inner,
body.template-product .f-product-recommendations .f-mixed-layout__inner,
body.template-product .f-product-recommendations .swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
body.template-collection .casaluce-collection-grid .m\:column,
body.template-collection .f-product-list .m\:column,
body.template-product .f-product-recommendations .m\:column {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}
@media (max-width: 989px) {
  body.template-collection .casaluce-collection-grid .f-mixed-layout__inner,
  body.template-product .f-product-recommendations .f-mixed-layout__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767px) {
  body.template-collection .casaluce-collection-grid .f-mixed-layout__inner,
  body.template-product .f-product-recommendations .f-mixed-layout__inner {
    grid-template-columns: 1fr !important;
  }
}

/* 16.09.50 description tab must stay visible */
body.template-product .enconco-product-description,
body.template-product .f-product-details-tabs .rte,
body.template-product .f-tabs__content .body_html {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #243044 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  min-height: 24px !important;
}
body.template-product .f-product-details-tabs {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* 16.10.22 recs sit closer to the tabs, 3 columns */
body.template-product .f-product-recommendations,
body.template-product [id*="product-recommendations"],
body.template-product .f-product-recommendations .f-section-py,
body.template-product .f-product-recommendations .container,
body.template-product .f-product-recommendations .container-fluid {
  margin-top: 0 !important;
  padding-top: 4px !important;
  background: transparent !important;
}

/* 16.12.17 filters: drop the pale block or give contrast, and stop content touching the edge */
body.template-collection .f-sidebar,
body.template-collection .f-sidebar--content,
body.template-collection .f-filter--wrapper,
body.template-collection .f-collection-filters-form,
body.template-collection .f-product-card,
body.template-collection .f-product-card__content {
  background: transparent !important;
  background-color: transparent !important;
}
body.template-collection .f-sidebar--content,
body.template-collection .f-filter--wrapper {
  padding: 4px 16px 16px !important;
  border: 1px solid #d5dbe6 !important;
  border-radius: 16px !important;
}
body.template-collection .f-filter--widget,
body.template-collection .f-accordion--item {
  padding-left: 4px !important;
  padding-right: 4px !important;
}
body.template-collection .f-product-card__info,
body.template-collection .f-product-card__content {
  padding-left: 2px !important;
  padding-right: 2px !important;
}
