/** Shopify CDN: Minification failed

Line 930:14 Expected identifier but found whitespace
Line 930:15 Unexpected "33.333%"
Line 1096:0 Expected "}" to go with "{"

**/
/* ===========================
   MAERI — PDP POLISH (GLOBAL)
   Works with Reformation-like themes
   =========================== */

/* --- Title + subtitle stack (like “Cuddles”) --- */
.product-title-container,
.product__title-container {
  margin-bottom: 6px;
}
.product__title,
.product-title {
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.15;
  letter-spacing: 0.2px;
  margin: 0 0 4px 0;
}
.maeri-subtitle,
.product__subtitle,
.product__title + .product__text,
.product__title + .product-text {
  display: block;
  font-size: 15px;
  line-height: 1.5;
  color: #666;
  margin: 0 0 8px 0;
  max-width: 36ch;
}

/* --- Price / tax / reviews row --- */
.product-price-container,
.product__price-container {
  display: grid;
  grid-auto-flow: column;
  gap: 14px;
  align-items: center;
  margin: 8px 0 12px;
}
.product-price-container .product__price,
.product__price-container .product__price,
.product__price {
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 600;
}
.product__tax,
.product-tax,
.shopify-payment-terms {
  color: #999;
  font-size: 14px;
}

/* --- Stars row nudge --- */
.star-rating,
.product__rating {
  margin-top: 2px;
}

/* --- “Add to cart” + “Buy it now” buttons --- */
.product-form button[type="submit"],
.product-form [type="submit"],
.shopify-payment-button__button {
  height: 48px;
  padding: 0 18px;
  font-size: 14px;
  border-radius: 999px;
}
.shopify-payment-button__button--unbranded {
  border: none;
}

/* --- Quantity pills (make them compact) --- */
.quantity__button,
.quantity-selector .button,
.product-quantity button {
  width: 32px;
  height: 32px;
  line-height: 32px;
}
.quantity__input,
.quantity-selector input {
  height: 32px;
  min-width: 46px;
  font-size: 14px;
}

/* --- “Also available in” thumbnails --- */
.product-variants-thumbs,
.related-variants,
.also-available-in,
.also_available_in {
  margin-top: 18px;
}
.product-variants-thumbs img,
.related-variants img,
.also-available-in img {
  border-radius: 10px;
}
.product-variants-thumbs p,
.related-variants p,
.also-available-in p {
  margin-top: 6px;
  font-size: 12px;
  color: #666;
  text-align: center;
}

/* --- Tab buttons (Product details / More about / Manufacturing) --- */
.product__info-tabs,
.product-tabs,
.details-tabs {
  margin-top: 18px;
}
.product__info-tabs .button,
.product-tabs .button,
.details-tabs .button {
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 13px;
}
.product__info-wrapper ul li,
.product__info-wrapper p {
  font-size: 14px;
  line-height: 1.65;
}
.product__info-wrapper h3 {
  margin-top: 20px;
}

/* --- Make product media less huge (desktop) --- */
@media (min-width: 992px) {
  /* Try the common containers used by Reformation-based themes */
  .product__media,
  .product-media,
  .thb-product-media,
  .product-gallery .media,
  .product__block-images,
  .product__block-images-container {
    max-height: 560px;
    overflow: hidden;
    border-radius: 12px;
  }
  .product__media img,
  .product-gallery .media img,
  .thb-product-media img {
    object-fit: cover;
  }
}

/* --- Small tweaks on mobile --- */
@media (max-width: 991px) {
  .maeri-subtitle,
  .product__title + .product__text,
  .product__title + .product-text {
    font-size: 14px;
    max-width: 36ch;
    margin: 2px 0 8px;
  }
  .product-price-container,
  .product__price-container {
    margin-top: 6px;
  }
  .product-price-container .product__price,
  .product__price-container .product__price,
  .product__price {
    font-size: 18px;
  }
  .product-form button[type="submit"],
  .product-form [type="submit"],
  .shopify-payment-button__button {
    height: 44px;
    font-size: 14px;
  }
}
/* ===== PDP gallery sizing + polish (Cuddles-style) ===== */

/* Desktop: keep the media column reasonable and add soft rounding */
@media (min-width: 992px){
  .product__block-images-container{
    max-width: 560px;         /* cap width of the whole gallery column */
  }
  .product__media,
  .product__media img,
  .product-gallery .media img,
  .thb-product-media img{
    max-height: 520px;        /* cap the hero image height */
    width: 100%;
    object-fit: cover;
    border-radius: 10px;      /* soft rounded corners */
    overflow: hidden;
  }
  /* thumbnails under the main image */
  .product__thumbnails,
  .product-gallery .thb-product-media--thumbnails{
    gap: 10px;
    margin-top: 12px;
  }
  .product__thumbnails img{
    border-radius: 8px;
  }
}

/* Laptop/tablet: slightly smaller */
@media (min-width: 768px) and (max-width: 991px){
  .product__block-images-container{ max-width: 520px; }
  .product__media,
  .product__media img{ max-height: 460px; border-radius: 10px; }
  .product__thumbnails img{ border-radius: 8px; }
}

/* Mobile: keep tall enough to look premium, but not full-screen huge */
@media (max-width: 767px){
  .product__media,
  .product__media img{
    max-height: 360px;
    border-radius: 8px;
  }
  .product__thumbnails{ gap: 8px; }
  .product__thumbnails img{ border-radius: 8px; }
}

/* Optional: make the thumbnail strip horizontally scrollable if your theme stacks too many */
@media (max-width: 767px){
  .product__thumbnails{
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .product__thumbnails > *{ flex: 0 0 auto; }
}

/* Buttons, price and “Also available in” sizing tweaks (subtle, matches Cuddles feel) */
.product__price-container .product__price{ font-size: 19px; }
.product-form button[type="submit"],
.shopify-payment-button__button{
  height: 46px;
  font-size: 14px;
}
.product-info ul, .product-info p{ line-height: 1.6; }
/* --- Fix image height + rounded corners on Reformation theme --- */

/* A. Cap main image height */
.product__media-item,
.media,
.product-media-item {
  max-height: 500px !important;   /* adjust 480–520px if needed */
  overflow: hidden;
  border-radius: 14px !important;
}

/* B. Force images to scale properly */
.product__media-item img,
.media img,
.product-media-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 14px !important;
  transition: all 0.3s ease-in-out;
}

/* C. Thumbnails styling */
.product__media-thumbnails img,
.product__thumbnails img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover;
  border-radius: 10px !important;
}

/* D. Optional: add hover lift on thumbs */
.product__media-thumbnails img:hover,
.product__thumbnails img:hover {
  transform: scale(1.04);
  transition: 0.25s ease;
}

/* E. Slight spacing below gallery */
.product__media-list,
.product__media-group {
  margin-bottom: 18px;
}
/* ===== Maeri PDP polish (strong overrides) ===== */

/* 1) Desktop: constrain media column & make rounded */
@media (min-width: 992px) {
  /* common wrappers seen in Reformation-based themes */
  .product, .thb-product-detail { --maeri-media-w: 560px; --maeri-gap: 32px; }

  /* two-column grid width (try all probable containers) */
  .thb-product-detail, 
  .product .product__inner, 
  .product .product__wrapper, 
  .product .product__content {
    grid-template-columns: var(--maeri-media-w) 1fr !important;
    column-gap: var(--maeri-gap) !important;
    gap: var(--maeri-gap) !important;
  }

  /* main media area hard cap */
  .product__block-images-container,
  .product__media-wrapper,
  .product__media-list,
  .product-gallery,
  .thb-product-media__wrapper {
    max-width: var(--maeri-media-w) !important;
  }

  /* set a comfortable viewing height */
  .product__media,
  .product__media-item,
  .thb-product-media,
  .product-gallery .media {
    height: 560px !important;
    max-height: 560px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  /* images fill & round */
  .product__media img,
  .product__media-item img,
  .product-gallery .media img,
  .thb-product-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 16px !important;
  }

  /* thumbnail rail (left or below, depending on theme setting) */
  .product__thumbnails,
  .product-gallery__thumbnails,
  .product-media__thumbnails {
    width: 84px !important;           /* nice, slim strip */
  }
  .product__thumbnails img,
  .product-gallery__thumbnails img,
  .product-media__thumbnails img {
    border-radius: 10px !important;
    overflow: hidden !important;
  }
  .product-gallery__thumbnails li,
  .product-media__thumbnails li {
    margin-bottom: 12px !important;
  }
}

/* 2) Mobile/tablet: keep the hero sensible */
@media (max-width: 991px) {
  .product__media,
  .product__media-item,
  .thb-product-media,
  .product-gallery .media {
    height: 380px !important;
    max-height: 380px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }
  .product__media img,
  .product-gallery .media img,
  .thb-product-media img {
    object-fit: cover !important;
    border-radius: 12px !important;
  }
}

/* 3) Tiny polish: prevent any rogue inline sizing from winning */
.product__media[style],
.product__media-item[style],
.thb-product-media[style] {
  height: auto !important;
  max-height: none !important;
}
/* ===== MAERI PDP — FINAL IMAGE SIZE + ROUND CORNER FIX ===== */

/* target wrapper forcing inline style reset */
.product__media,
.product__media-item,
.media,
.thb-product-media,
.product__block-images-container {
  height: auto !important;
  max-height: 520px !important;
  width: 100% !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

/* actual image itself */
.product__media img,
.product__media-item img,
.media img,
.thb-product-media img,
.product__gallery img {
  height: 520px !important;
  max-height: 520px !important;
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  transition: all 0.3s ease-in-out;
}

/* thumbnails */
.product__thumbnails img,
.product-gallery__thumbnails img,
.product__media-thumbnails img {
  border-radius: 10px !important;
  overflow: hidden !important;
  height: 80px !important;
  width: 80px !important;
  object-fit: cover !important;
}

/* thumbnail spacing */
.product__thumbnails li,
.product-gallery__thumbnails li {
  margin: 6px 0 !important;
}

/* mobile override */
@media (max-width: 991px) {
  .product__media,
  .product__media-item,
  .media {
    max-height: 380px !important;
  }
  .product__media img,
  .product__media-item img {
    max-height: 380px !important;
  }
}
/* Rounded thumbnails + tidy spacing */
.product__thumbnails img,
.product-gallery__thumbnails img,
.product__media-thumbnails img {
  border-radius: 10px !important;
  height: 80px !important;
  width: 80px !important;
  object-fit: cover !important;
}
.product__thumbnails li,
.product-gallery__thumbnails li { margin: 6px 0 !important; }
/* PDP image rounding (backup if JS hasn’t run yet) */
.product__media,
.product__media-item,
.product__block-images-container,
.media,
.thb-product-media,
.product__media img,
.product__media-item img,
.product__gallery img {
  border-radius: 16px !important;
  overflow: hidden !important;
}

/* Thumbnail look */
.product__thumbnails img,
.product-gallery__thumbnails img,
.product__media-thumbnails img {
  border-radius: 10px !important;
  height: 80px !important;
  width: 80px !important;
  object-fit: cover !important;
}
.product__thumbnails li,
.product-gallery__thumbnails li {
  margin: 6px 0 !important;
}
/* --- FORCE gallery height + rounding --- */
.product__media-wrapper,
.product__media,
.product__media-item,
.product__block-images-container,
.product__media img,
.media,
.media img,
.thb-product-media img {
  max-height: 520px !important;     /* desktop */
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

@media (max-width: 991px) {
  .product__media-wrapper,
  .product__media,
  .product__media-item,
  .product__block-images-container,
  .product__media img,
  .media,
  .media img {
    max-height: 380px !important;   /* mobile */
  }
}

/* thumbnails tidy */
.product__thumbnails img,
.product-gallery__thumbnails img {
  border-radius: 10px !important;
  height: 80px !important;
  width: 80px !important;
  object-fit: cover !important;
}
/* ===== MAERI PDP – SIZE + CORNERS, HARD OVERRIDES ===== */

/* A) Constrain the MEDIA column on desktop */
@media (min-width: 992px) {
  /* Common product grid wrappers across Reformation-style themes */
  .thb-product-detail .product,
  .product__outer,
  .product__grid,
  .product.page-width .grid,
  .product-single,
  .product--template {
    /* Left column (media) clamped to ~540–560px, right column takes the rest */
    grid-template-columns: minmax(440px, 560px) 1fr !important;
  }

  /* Extra safety: keep the media wrapper from stretching wider */
  .product__media-wrapper,
  .product__block-images-container,
  .product-gallery,
  .product__media-list {
    max-width: 560px !important;
  }
}

/* B) Neutralize the theme's aspect-ratio padding trick */
.product__media[style],
.product__media:where([style]) {
  padding-top: 0 !important;     /* Kill inline padding-top ratio */
  height: auto !important;
}

/* Ensure the image sizes itself naturally inside */
.product__media img,
.media img,
.thb-product-media img,
.product-gallery__image {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;   /* C) Rounded corners */
  overflow: hidden !important;
}

/* Cap max height so it never looks overwhelming */
@media (min-width: 992px) {
  .product__media img,
  .media img,
  .thb-product-media img {
    max-height: 520px !important;
  }
}
@media (max-width: 991px) {
  .product__media img,
  .media img,
  .thb-product-media img {
    max-height: 380px !important;
  }
}

/* Tidy thumbnails */
.product__thumbnails img,
.product-gallery__thumbnails img,
.product__media-thumbnails img {
  border-radius: 10px !important;
  object-fit: cover !important;
  height: 80px !important;
  width: 80px !important;
}
/* --- Force PDP Image Rounding and Thumbnails --- */
.product__media img,
.product__media-item img,
.media img,
.thb-product-media img {
  border-radius: 16px !important;
  object-fit: cover !important;
  overflow: hidden !important;
}

@media (max-width: 991px) {
  .product__media img {
    max-height: 380px !important;
  }
}

/* Tidy up thumbnails */
.product__thumbnails img,
.product-gallery__thumbnails img {
  border-radius: 10px !important;
  height: 80px !important;
  width: 80px !important;
  object-fit: cover !important;
}
/* ==== PDP media column width cap (desktop) ==== */
.thb-product-detail.product,
.product.product--template,
.product__outer, 
.product__grid,
.product-information,
.product-information + * {
  /* make sure the layout can be overridden */
  position: relative;
}

/* Try grid first */
.thb-product-detail.product[style*="grid"],
.product__grid {
  grid-template-columns: 560px 1fr !important;
}

/* Flex fallbacks */
.product__gallery,
.product__media-wrapper,
.product__images,
.product__left,
.product__media-column,
.product__block-images,
.product__block-images-container {
  max-width: 560px !important;
  flex: 0 0 560px !important;
}

/* Keep the right (info) side spacious */
.product__info, .product__right, .product-form-container, .product-information-inner {
  max-width: 680px;
}

/* ==== Main image sizing + rounding ==== */
.product__media,
.product__media-item,
.product__block-images-container,
.thb-product-media,
.media {
  overflow: hidden !important;
  border-radius: 16px !important;
}

/* Force images to fit neatly */
.product__media img,
.product__media-item img,
.product__block-images-container img,
.thb-product-media img,
.media img {
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  display: block !important;
}

/* Thumbnail cleanup */
.product__thumbnails img,
.product-gallery__thumbnails img,
.product__thumb img,
.product__thumbs img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
}

/* Buttons & price (quick polish while we’re here) */
.product-price-container .product__price,
.product__price { font-size: 22px !important; }
.product-form button[type="submit"],
.shopify-payment-button__button { height: 48px !important; font-size: 15px !important; }

/* ==== Mobile constraints ==== */
@media (max-width: 991px) {
  .product__gallery,
  .product__media-wrapper,
  .product__images,
  .product__left,
  .product__media-column,
  .product__block-images,
  .product__block-images-container {
    max-width: 100% !important;
    flex: 1 1 auto !important;
  }
  .product__media img,
  .product__media-item img,
  .product__block-images-container img,
  .thb-product-media img,
  .media img {
    max-height: 380px !important;
  }
}
/* ===========================
   Maeri – Reviews styling
   =========================== */

/* 1) Panel background + container */
.spr-container,
#shopify-product-reviews,
.jdgm-rev-widg,
.loox-reviews {
  background: #FFF6F5;            /* subtle warm-tinted panel */
  border-radius: 18px;
  padding: 24px 24px 16px;
  box-shadow: 0 1px 0 rgba(0,0,0,0.03);
  margin-top: 28px;
  border: 1px solid #f6e6e6;
}

/* 2) Section title */
.spr-header-title,
.jdgm-rev-widg__title,
.loox-rating-title {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.2px;
  color: #9a3a4d;                 /* deeper version of #d57282 for contrast */
  margin-bottom: 12px;
}

/* 3) Summary row (stars + avg + count) */
.spr-summary,
.jdgm-rev-widg__summary,
.loox-rating-summary {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 16px;
  align-items: center;
  margin-bottom: 16px;
}

/* Normalize star size a touch */
.spr-starrating, .spr-summary-starrating,
.jdgm-star, .jdgm-all-reviews-rating,
.loox-icon { transform: translateY(1px); }

/* 4) Histogram / rating bars */
.spr-summary .spr-summary-table,
.jdgm-histogram, 
.loox-histogram {
  margin-top: 8px;
}
.spr-summary .spr-summary-table td,
.jdgm-histogram__row,
.loox-histogram .loox-bar {
  font-size: 13px;
  color: #6b6b6b;
}

/* 5) Review cards text */
.spr-review, .jdgm-rev, .loox-review {
  border-top: 1px solid #f0d9db;
  padding-top: 16px;
  margin-top: 16px;
}
.spr-review-header-title,
.jdgm-rev__title {
  font-weight: 600;
  font-size: 16px;
  margin: 2px 0 6px;
}
.spr-review-content,
.jdgm-rev__body, 
.loox-review-body {
  font-size: 15px;
  line-height: 1.6;
  color: #4b4b4b;
}

/* 6) Buttons – match ATC/Buy */
.spr-summary-actions-newreview .spr-button,
.spr-button-primary,
.spr-form-actions .spr-button,
.jdgm-write-rev-link,
.jdgm-submit-rev,
.loox-btn,
.loox-submit {
  background: #d57282 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 28px !important;
  padding: 10px 18px !important;
  font-weight: 600;
  letter-spacing: .2px;
  box-shadow: 0 2px 0 rgba(0,0,0,.04);
}
.spr-summary-actions-newreview .spr-button:hover,
.spr-button-primary:hover,
.jdgm-write-rev-link:hover,
.jdgm-submit-rev:hover,
.loox-btn:hover,
.loox-submit:hover {
  filter: brightness(0.98);
  transform: translateY(-1px);
}

/* Secondary buttons (Ask a question / Sort) */
.jdgm-question__btn, .loox-button--secondary, 
.spr-summary-actions .spr-summary-actions-togglereviews {
  background: #ffffff !important;
  color: #d57282 !important;
  border: 1px solid #f0c9d1 !important;
  border-radius: 28px !important;
  padding: 9px 16px !important;
  font-weight: 600;
}

/* 7) Tiny meta text */
.spr-review-header-byline, 
.jdgm-rev__buyer-badge, 
.jdgm-rev__timestamp,
.loox-review-date {
  font-size: 12px;
  color: #8a8a8a;
}

/* 8) Mobile tweaks */
@media (max-width: 768px) {
  .spr-container,
  #shopify-product-reviews,
  .jdgm-rev-widg,
  .loox-reviews {
    padding: 18px 16px 12px;
    border-radius: 14px;
  }
  .spr-header-title,
  .jdgm-rev-widg__title { font-size: 20px; }
  .spr-review-content,
  .jdgm-rev__body { font-size: 14.5px; }
}
button[id*="review"], a[id*="review"] {
  border-radius: 28px !important;
}
/* ==== Product Card Subtitle (Collection Grid) ==== */
.product-card__subtitle {
  font-size: 14px;
  color: #6f6f6f;
  line-height: 1.5;
  margin-top: 4px;
  margin-bottom: 6px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.2px;
}
/* Product grid subtitle under title */
.product-card__subtitle{
  margin: 2px 0 0;
  color:#6e5555;
  font-size: 13.5px;
  line-height: 1.35;
  letter-spacing: .1px;
  opacity:.9;
}
@media (min-width: 992px){
  .product-card__subtitle{ font-size:14px; }
}
/* Subtle, elegant subtitle below product title */
.product-card__subtitle {
  margin: 3px 0 6px;
  color: #8b6f6f; /* softer pinkish-brown tone */
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.15px;
  opacity: 0.9;
  text-align: left;
  font-family: 'Gotu', sans-serif; /* optional, matches Maeri’s brand tone */
}

/* === SEARCH PAGE FIX (final) === */

/* 1) Force 4 products per row */
.template-search .columns.large-4,
.template-search .large-4.columns,
.template-search .columns.medium-6,
.template-search .medium-6.columns,
.template-search .grid__item {
  flex: 0 0 25% !important;
  max-width: 25% !important;
  box-sizing: border-box;
  padding: 0 10px;
}

/* 2) Square product images */
.template-search .product-card__featured-image-link.aspect-ratio {
  --ratio-percent: 100% !important;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}
.template-search .product-card__featured-image-link.aspect-ratio img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 3) Tighter spacing below search bar */
.template-search .section-header,
.template-search .search__form {
  margin-bottom: 8px !important;
}

/* 4) Headline softer */
.template-search h1,
.template-search .section-header__title {
  text-transform: none !important;
  font-size: 2rem !important;
  letter-spacing: 0.5px !important;
}

/* 5) Responsive corrections */
@media (max-width: 1099px) {
  .template-search .columns.large-4,
  .template-search .large-4.columns,
  .template-search .columns.medium-6,
  .template-search .medium-6.columns,
  .template-search .grid__item {
    flex: 0 0 33.333% !important;
    max-width: 33.333%
/* ==== Search page: force 4 cards per row (desktop), 3 (tablet), 2 (mobile) ==== */

/* Reformation / OS2 commonly uses .grid, .grid__item and col classes together.
   We pin all of them so the theme can't revert to 3-up. */
.template-search .grid,
.template-search .product-grid,
.template-search .grid--uniform {
  display: flex !important;
  flex-wrap: wrap !important;
}

/* Core rule: 4-up */
.template-search .grid__item,
.template-search .product-grid .grid__item,
.template-search .columns.large-4,
.template-search .large-4.columns,
.template-search .columns.medium-6,
.template-search .medium-6.columns {
  flex: 0 0 25% !important;
  max-width: 25% !important;
  width: 25% !important;            /* some themes set width instead of flex-basis */
  box-sizing: border-box;
  padding-left: 10px;
  padding-right: 10px;
}

/* Tablet (<= 1099px): 3-up */
@media (max-width: 1099px) {
  .template-search .grid__item,
  .template-search .product-grid .grid__item,
  .template-search .columns.large-4,
  .template-search .large-4.columns,
  .template-search .columns.medium-6,
  .template-search .medium-6.columns {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
    width: 33.333% !important;
  }
}

/* Mobile (<= 767px): 2-up */
@media (max-width: 767px) {
  .template-search .grid__item,
  .template-search .product-grid .grid__item,
  .template-search .columns.large-4,
  .template-search .large-4.columns,
  .template-search .columns.medium-6,
  .template-search .medium-6.columns {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
  }
}

/* Make thumbnails square and rounded */
.template-search .product-card__featured-image-link.aspect-ratio,
.template-search .product-card__image-wrapper.aspect-ratio {
  --ratio-percent: 100% !important;     /* force 1:1 */
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}
.template-search .product-card__featured-image-link.aspect-ratio img,
.template-search .product-card__image-wrapper.aspect-ratio img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}

/* Soften spacing under search bar */
.template-search .section-header,
.template-search .search__form { margin-bottom: 8px !important; }

/* Normal-case heading (not SHOUTY) */
.template-search h1,
.template-search .section-header__title {
  text-transform: none !important;
  font-size: 2rem !important;
  letter-spacing: .5px !important;
}
/* === SEARCH PAGE LAYOUT FIX (force 4-up + square cards) === */

/* 1) Own the grid on the search template, ignore theme grid */
.template-search .grid,
.template-search .product-grid,
.template-search .grid--uniform,
.template-search [class*="product-grid"] {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important; /* 4 per row */
  column-gap: 20px !important;
  row-gap: 36px !important;
}

/* Tablet: 3-up */
@media (max-width: 1099px) {
  .template-search .grid,
  .template-search .product-grid,
  .template-search .grid--uniform,
  .template-search [class*="product-grid"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
/* Mobile: 2-up */
@media (max-width: 767px) {
  .template-search .grid,
  .template-search .product-grid,
  .template-search .grid--uniform,
  .template-search [class*="product-grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* 2) Make the visible card wrapper behave as a grid item no matter what */
.template-search .grid__item,
.template-search .product-grid .grid__item,
.template-search [class*="grid__item"] {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  flex: initial !important;
}

/* 3) Square thumbnails + rounded corners (keeps cover fill) */
.template-search .product-card__featured-image-link.aspect-ratio,
.template-search .product-card__image-wrapper.aspect-ratio {
  --ratio-percent: 100% !important;   /* 1:1 */
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}
.template-search .product-card__featured-image-link.aspect-ratio img,
.template-search .product-card__image-wrapper.aspect-ratio img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}

/* === SPACING ABOVE GRID (less scrolling) === */
.template-search .section-header,
.template-search .search__form { margin-bottom: 6px !important; }
.template-search .template-header,
.template-search .page-width,
.template-search .section { padding-top: 0 !important; }
.template-search .facets-container,
.template-search .collection-filters,
.template-search .toolbar { margin-top: 8px !important; }

/* === Search title: normal case (not shouty) === */
.template-search h1,
.template-search .section-header__title {
  text-transform: none !important;
  font-size: 2rem !important;
  letter-spacing: .3px !important;
}

/* === "Relevance" / sort control getting cut: give it a minimum width === */
.template-search .facets__sort,
.template-search .collection-filters__sort,
.template-search .toolbar__sort,
.template-search [class*="sort"] select,
.template-search [class*="sort"] .select,
.template-search [id*="SortBy"] {
  min-width: 150px !important;
  white-space: nowrap !important;
}
