/** Shopify CDN: Minification failed

Line 872:0 Expected "}" to go with "{"

**/
/* =========================================================
   SILVA ALL BRANDS
   Premium Brand Directory
   #353535 / #C9E7DF
========================================================= */

.silva-all-brands{
  position:relative;
  overflow:hidden;

  padding:78px 0 100px;

  background:
    radial-gradient(
      circle at 8% 4%,
      rgba(201,231,223,.24),
      transparent 25%
    ),
    radial-gradient(
      circle at 92% 92%,
      rgba(201,231,223,.12),
      transparent 24%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfdfc 100%
    );
}

.silva-all-brands__shell{
  position:relative;
  z-index:2;
}


/* =========================================================
   HERO
========================================================= */

.silva-all-brands__hero{
  max-width:920px;
}

.silva-all-brands__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;

  margin-bottom:16px;

  color:#63877e;

  font-size:9px;
  font-weight:900;
  line-height:1;

  letter-spacing:.14em;
  text-transform:uppercase;
}

.silva-all-brands__eyebrow::before{
  content:"";

  width:26px;
  height:1px;

  background:#63877e;
}

.silva-all-brands__heading{
  margin:0;

  color:#353535;

  font-size:clamp(48px,7vw,82px);
  font-weight:850;
  line-height:.98;

  letter-spacing:-.055em;
}

.silva-all-brands__text{
  max-width:680px;

  margin:22px 0 0;

  color:rgba(53,53,53,.60);

  font-size:14px;
  line-height:1.85;
}


/* =========================================================
   SEARCH
========================================================= */

.silva-all-brands__search-wrap{
  position:relative;

  width:min(600px,100%);

  margin-top:30px;
}

.silva-all-brands__search-icon{
  position:absolute;

  top:50%;
  inset-inline-start:17px;

  z-index:2;

  display:grid;
  place-items:center;

  transform:translateY(-50%);

  color:#688c83;

  pointer-events:none;
}

.silva-all-brands__search-icon svg{
  display:block;

  width:19px;
  height:19px;
}

.silva-all-brands__search{
  width:100%;
  height:56px;

  padding:
    0
    54px
    0
    50px;

  border:1px solid rgba(201,231,223,.96);
  border-radius:999px;

  outline:0;

  background:rgba(255,255,255,.96);
  color:#353535;

  box-shadow:
    0 12px 32px rgba(53,53,53,.04);

  font:inherit;
  font-size:13px;

  transition:
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease,
    transform .22s ease;
}

.silva-all-brands__search::placeholder{
  color:rgba(53,53,53,.38);
}

.silva-all-brands__search:focus{
  border-color:#C9E7DF;

  background:#fff;

  box-shadow:
    0 0 0 4px rgba(201,231,223,.20),
    0 16px 34px rgba(53,53,53,.045);

  transform:translateY(-1px);
}

/* remove native x where possible */
.silva-all-brands__search::-webkit-search-cancel-button{
  appearance:none;
  -webkit-appearance:none;
}

.silva-all-brands__search-clear{
  position:absolute;

  top:50%;
  inset-inline-end:12px;

  z-index:3;

  display:grid;
  place-items:center;

  width:34px;
  height:34px;

  padding:0;

  transform:translateY(-50%);

  border:0;
  border-radius:50%;

  background:#eef8f5;
  color:#60877e;

  cursor:pointer;

  transition:
    background .2s ease,
    color .2s ease,
    transform .2s ease;
}

.silva-all-brands__search-clear[hidden]{
  display:none;
}

.silva-all-brands__search-clear svg{
  width:15px;
  height:15px;
}

@media (hover:hover){
  .silva-all-brands__search-clear:hover{
    background:#353535;
    color:#fff;

    transform:
      translateY(-50%)
      scale(1.04);
  }
}


/* =========================================================
   ALPHABET
========================================================= */

.silva-all-brands__alphabet{
  display:flex;
  align-items:center;
  flex-wrap:wrap;

  gap:7px;

  margin-top:42px;
}

.silva-all-brands__letter{
  min-width:38px;
  height:38px;

  display:grid;
  place-items:center;

  padding:0 10px;

  border:1px solid rgba(201,231,223,.80);
  border-radius:999px;

  background:#fff;
  color:rgba(53,53,53,.66);

  font:inherit;
  font-size:10px;
  font-weight:850;

  cursor:pointer;

  transition:
    transform .2s ease,
    background .2s ease,
    color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

.silva-all-brands__letter.is-active{
  border-color:#353535;

  background:#353535;
  color:#fff;

  box-shadow:
    0 8px 20px rgba(53,53,53,.10);
}

.silva-all-brands__letter.is-disabled,
.silva-all-brands__letter:disabled{
  opacity:.28;

  cursor:not-allowed;
  pointer-events:none;

  background:#fafafa;
  color:rgba(53,53,53,.34);

  box-shadow:none;
}

@media (hover:hover){
  .silva-all-brands__letter:not(.is-active):not(:disabled):hover{
    transform:translateY(-1px);

    border-color:#C9E7DF;

    background:#eef8f5;
    color:#353535;
  }
}


/* =========================================================
   TOOLBAR
========================================================= */

.silva-all-brands__toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;

  gap:24px;

  margin-top:58px;
  margin-bottom:24px;
}

.silva-all-brands__toolbar-label{
  display:block;

  margin-bottom:6px;

  color:rgba(53,53,53,.44);

  font-size:8px;
  font-weight:900;

  letter-spacing:.12em;
  text-transform:uppercase;
}

.silva-all-brands__toolbar h2{
  margin:0;

  color:#353535;

  font-size:clamp(28px,4vw,46px);
  font-weight:830;
  line-height:1.05;

  letter-spacing:-.04em;
}

.silva-all-brands__count{
  flex:0 0 auto;

  display:inline-flex;
  align-items:center;

  gap:7px;

  min-height:42px;

  padding:0 14px;

  border:1px solid rgba(201,231,223,.82);
  border-radius:999px;

  background:#fff;

  color:#353535;

  box-shadow:0 7px 20px rgba(53,53,53,.025);
}

.silva-all-brands__count strong{
  font-size:13px;
  font-weight:900;
}

.silva-all-brands__count span{
  color:rgba(53,53,53,.46);

  font-size:9px;
  font-weight:800;
}


/* =========================================================
   GRID
========================================================= */

.silva-all-brands__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));

  gap:16px;
}

.silva-all-brands__card{
  position:relative;

  min-width:0;

  overflow:hidden;

  border:1px solid rgba(201,231,223,.82);
  border-radius:24px;

  background:rgba(255,255,255,.96);

  color:#353535;
  text-decoration:none;

  box-shadow:
    0 12px 34px rgba(53,53,53,.032);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

.silva-all-brands__card[hidden]{
  display:none !important;
}

.silva-all-brands__logo-area{
  position:relative;

  display:flex;
  align-items:center;
  justify-content:center;

  width:100%;
  min-height:210px;

  padding:0;

  overflow:hidden;

  background:#ffffff;

  border-bottom:1px solid rgba(53,53,53,.055);
}

.silva-all-brands__logo{
  display:block;

  width:100%;
  height:210px;

  max-width:none;
  max-height:none;

  padding:14px;

  object-fit:contain;
  object-position:center;

  transform:scale(1.04);

  transition:
    transform .28s ease,
    opacity .28s ease;
}

.silva-all-brands__fallback{
  color:#353535;

  font-size:22px;
  font-weight:850;
  line-height:1.1;

  letter-spacing:-.035em;
  text-align:center;
}

.silva-all-brands__card-bottom{
  min-height:58px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:10px;

  padding:0 15px;
}

.silva-all-brands__name{
  min-width:0;

  overflow:hidden;

  color:#353535;

  font-size:11px;
  font-weight:820;

  text-overflow:ellipsis;
  white-space:nowrap;
}

.silva-all-brands__arrow{
  flex:0 0 auto;

  display:grid;
  place-items:center;

  width:31px;
  height:31px;

  border-radius:50%;

  background:#eef8f5;
  color:#63877e;

  transition:
    transform .22s ease,
    background .22s ease,
    color .22s ease;
}

.silva-all-brands__arrow svg{
  width:16px;
  height:16px;
}

@media (hover:hover){
  .silva-all-brands__card:hover{
    transform:translateY(-4px);

    border-color:#C9E7DF;

    background:#fff;

    box-shadow:
      0 20px 48px rgba(53,53,53,.06);
  }

  .silva-all-brands__card:hover .silva-all-brands__logo{
    transform:scale(1.08);
  }

  .silva-all-brands__card:hover .silva-all-brands__arrow{
    transform:translateX(2px);

    background:#353535;
    color:#fff;
  }
}


/* =========================================================
   EMPTY STATE
========================================================= */

.silva-all-brands__empty{
  min-height:180px;

  display:flex;
  align-items:center;
  justify-content:center;

  gap:14px;

  margin-top:20px;
  padding:30px;

  border:1px dashed rgba(201,231,223,.95);
  border-radius:24px;

  background:rgba(255,255,255,.72);

  text-align:left;
}

.silva-all-brands__empty[hidden]{
  display:none;
}

.silva-all-brands__empty-icon{
  flex:0 0 auto;

  display:grid;
  place-items:center;

  width:44px;
  height:44px;

  border-radius:14px;

  background:#eef8f5;
  color:#63877e;
}

.silva-all-brands__empty-icon svg{
  width:19px;
  height:19px;
}

.silva-all-brands__empty strong{
  display:block;

  margin-bottom:4px;

  color:#353535;

  font-size:13px;
  font-weight:850;
}

.silva-all-brands__empty p{
  margin:0;

  color:rgba(53,53,53,.48);

  font-size:11px;
  line-height:1.55;
}


/* =========================================================
   RTL
========================================================= */

html[dir="rtl"] .silva-all-brands{
  direction:rtl;
  text-align:right;
}

html[dir="rtl"] .silva-all-brands__eyebrow,
html[dir="rtl"] .silva-all-brands__toolbar-label{
  letter-spacing:0;
  text-transform:none;
}

html[dir="rtl"] .silva-all-brands__heading,
html[dir="rtl"] .silva-all-brands__toolbar h2{
  letter-spacing:0;
}

html[dir="rtl"] .silva-all-brands__search{
  padding:
    0
    50px
    0
    54px;

  text-align:right;
}

html[dir="rtl"] .silva-all-brands__empty{
  text-align:right;
}

html[dir="rtl"] .silva-all-brands__arrow svg{
  transform:scaleX(-1);
}

@media (hover:hover){
  html[dir="rtl"] .silva-all-brands__card:hover .silva-all-brands__arrow{
    transform:translateX(-2px);
  }
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width:989px){

  .silva-all-brands{
    padding:64px 0 82px;
  }

  .silva-all-brands__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width:749px){

  .silva-all-brands{
    padding:46px 0 64px;
  }

  .silva-all-brands__heading{
    font-size:clamp(40px,11vw,56px);
  }

  .silva-all-brands__text{
    font-size:13px;
  }

  .silva-all-brands__search-wrap{
    margin-top:24px;
  }

  .silva-all-brands__search{
    height:52px;

    font-size:12px;
  }

  .silva-all-brands__search-clear{
    width:32px;
    height:32px;

    inset-inline-end:10px;
  }

  .silva-all-brands__alphabet{
    flex-wrap:nowrap;

    gap:6px;

    margin-inline:
      calc(var(--page-width-margin, 1.5rem) * -1);

    padding-inline:
      var(--page-width-margin, 1.5rem);

    overflow-x:auto;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;
  }

  .silva-all-brands__alphabet::-webkit-scrollbar{
    display:none;
  }

  .silva-all-brands__letter{
    flex:0 0 auto;

    min-width:36px;
    height:36px;

    padding-inline:9px;
  }

  .silva-all-brands__toolbar{
    align-items:flex-start;
    flex-direction:column;

    gap:13px;

    margin-top:44px;
  }

  .silva-all-brands__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:12px;
  }

  .silva-all-brands__card{
    border-radius:20px;
  }

  .silva-all-brands__logo-area{
    min-height:155px;
    padding:0;
  }

  .silva-all-brands__logo{
    width:100%;
    height:155px;

    max-width:none;
    max-height:none;

    padding:10px;

    object-fit:contain;

    transform:scale(1.05);
  }

  .silva-all-brands__fallback{
    font-size:18px;
  }

  .silva-all-brands__card-bottom{
    min-height:54px;

    padding-inline:12px;
  }

  .silva-all-brands__name{
    font-size:10px;
  }

  .silva-all-brands__arrow{
    width:28px;
    height:28px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media screen and (max-width:390px){

  .silva-all-brands__grid{
    gap:9px;
  }

  .silva-all-brands__logo-area{
    min-height:142px;
  }

  .silva-all-brands__logo{
    height:142px;
    padding:8px;
  }

  .silva-all-brands__fallback{
    font-size:16px;
  }

}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.silva-all-brands a:focus-visible,
.silva-all-brands button:focus-visible,
.silva-all-brands input:focus-visible{
  outline:2px solid #63877e;
  outline-offset:3px;
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

  .silva-all-brands *,
  .silva-all-brands *::before,
  .silva-all-brands *::after{
    transition:none !important;
    animation:none !important;
  }

