/* Site-wide overrides layered on top of the converted per-template stylesheets. */

/* Newsletter "Sign up" button: a dark-blue pill inset inside the white input,
   sized to the input and matching its text, so it reads as a real button
   instead of a cut-out of the blue band. */
.newsletter--button-container .button.button--blue-fill{
  top:3px;
  right:3px;
  bottom:3px;
  height:auto;
  width:auto;
  max-width:none;
  transform:none;
  margin:0;
  padding:0 18px;
  background-color:var(--color-blue);
  color:var(--color-white);
  border:0;
  border-radius:40px;
  box-shadow:none;
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  line-height:18px;
  letter-spacing:0;
  white-space:nowrap;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:none;
}
.newsletter--button-container .button.button--blue-fill:focus-visible{
  outline:2px solid var(--color-white);
  outline-offset:-5px;
}
.newsletter--button-container.active .button.button--blue-fill{
  color:transparent;
}

/* ---------------------------------------------------------------------
   Search results page: match the collection page's layout — full-width
   cards in the 6-column grid, a centred title row, and an empty state
   with a retry form. */
.main-search--container{
  max-width:1480px;
  margin:auto;
  padding:0 20px 40px;
}
@media screen and (min-width:768px){
  .main-search--container{padding:0 30px 60px}
}
.main-search--header{
  border-bottom:1px solid var(--color-grey-dark);
  padding:14px 0 18px;
  text-align:center;
}
@media screen and (min-width:768px){
  .main-search--header{padding:18px 0 24px}
}
.main-search--title{
  color:var(--color-black);
  font-size:22px;
  font-weight:700;
  line-height:26px;
}
@media screen and (min-width:768px){
  .main-search--title{font-size:26px;line-height:30px}
}
.main-search--count{
  color:var(--color-grey-extra-dark);
  font-size:14px;
  line-height:20px;
  padding-top:6px;
}
.main-search--count strong{color:var(--color-black);font-weight:600}

.main-search .main-search--product-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  grid-gap:8px;
  padding:15px 0 10px;
  margin:0;
}
@media screen and (min-width:768px){
  .main-search .main-search--product-list{grid-template-columns:repeat(6,1fr);grid-gap:20px;padding:25px 0 10px}
}
@media screen and (min-width:768px) and (max-width:1349px){
  .main-search .main-search--product-list .card-product{grid-column:span 2}
}
/* The card's base rule caps it at 140px for horizontal carousels;
   on this page the card fills its grid cell like the collection page. */
.main-search .card-product--block{max-width:100%;flex:none;margin:0}

.main-search--empty{
  max-width:560px;
  margin:0 auto;
  padding:40px 0 20px;
  text-align:center;
}
@media screen and (min-width:768px){
  .main-search--empty{padding:60px 0 30px}
}
.main-search--empty-text{
  color:var(--color-black);
  font-size:15px;
  line-height:22px;
  padding-bottom:24px;
}
.main-search--empty-text strong{font-weight:600}
.main-search--form{
  position:relative;
  display:flex;
  align-items:center;
  margin:0 auto 24px;
}
.main-search--form-icon{
  position:absolute;
  left:16px;
  top:50%;
  width:20px;
  height:20px;
  transform:translateY(-50%);
  pointer-events:none;
}
.main-search--form-input{
  flex:1;
  width:100%;
  height:48px;
  border:1px solid var(--color-grey-dark);
  border-radius:40px;
  background-color:var(--color-grey);
  color:var(--color-black);
  font-family:inherit;
  font-size:16px;
  line-height:22px;
  padding:0 110px 0 46px;
  outline:0;
  -webkit-appearance:none;
  appearance:none;
}
.main-search--form-input:focus{border-color:var(--color-blue);background-color:var(--color-white)}
.main-search--form-input::-webkit-search-decoration,
.main-search--form-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.main-search--form-submit{
  position:absolute;
  top:3px;
  right:3px;
  bottom:3px;
  border:0;
  border-radius:40px;
  background-color:var(--color-blue);
  color:var(--color-white);
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  line-height:18px;
  padding:0 20px;
  cursor:pointer;
  transition:background-color .2s ease-in-out;
}
.main-search--form-submit:hover{background-color:var(--color-blue-dark)}
.main-search--form-submit:focus-visible{outline:2px solid var(--color-white);outline-offset:-5px}
.main-search--shop-all{
  display:inline-block;
  width:auto;
  max-width:none;
  margin:0;
  padding:10px 24px;
  font-size:14px;
  font-weight:600;
  line-height:20px;
}
.main-search--shop-all:hover{background-color:var(--color-blue);color:var(--color-white)}
.visually-hidden{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

/* ---------------------------------------------------------------------
   Menu drawer account buttons: Login + Register only while signed out,
   Sign Out only while signed in. sections/drawers sets
   html[data-customer="in"] after checking the visitor's session. */
[data-customer-only]{display:none}
html[data-customer="in"] [data-customer-only]{display:block}
html[data-customer="in"] [data-guest-only]{display:none}
