/* Socorrista PRO WooCommerce integration v1.3.22 */
body.woocommerce,
body.woocommerce-page {
  --spr-shop-card-bg: #fff;
  --spr-shop-soft: #f4f4f2;
  --spr-shop-border: #e5e5e5;
  --spr-shop-muted: #686868;
}
body.woocommerce .spr-page-main,
body.woocommerce-page .spr-page-main {
  padding-top: var(--spr-header-height);
}
.spr-shop-container {
  width: min(calc(100% - 64px), var(--spr-content-width));
  margin-inline: auto;
}
.spr-shop-hero {
  padding: 72px 0 68px;
  background: #111;
  color: #fff;
}
.spr-shop-eyebrow {
  margin: 0 0 12px;
  color: var(--spr-primary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
}
.spr-shop-hero h1 {
  margin: 0;
  font-size: clamp(44px, 5.5vw, 76px);
  line-height: 1;
  font-weight: 300;
  letter-spacing: -.04em;
}
.spr-shop-intro,
.spr-shop-description {
  max-width: 720px;
  margin: 22px 0 0;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.65;
}
.spr-shop-search {
  max-width: 620px;
  margin-top: 30px;
}
.spr-shop-search .woocommerce-product-search {
  display: flex;
  gap: 10px;
}
.spr-shop-search .search-field {
  min-width: 0;
  flex: 1;
  height: 54px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 999px;
  outline: 0;
  background: rgba(255,255,255,.08);
  color: #fff;
}
.spr-shop-search .search-field::placeholder { color: rgba(255,255,255,.6); }
.spr-shop-search button {
  min-width: 118px;
  height: 54px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: var(--spr-primary);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
.spr-shop-catalog {
  padding: 64px 0 96px;
  background: #f7f7f6;
}
.spr-shop-catalog .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  margin: 0 0 28px;
  padding: 18px 22px 18px 54px;
  border: 0;
  border-left: 4px solid var(--spr-primary);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  color: #222;
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before { color: var(--spr-primary); }
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button {
  border-radius: 999px;
  background: var(--spr-primary);
  color: #fff;
}
.woocommerce .woocommerce-result-count {
  margin: 11px 0 34px;
  color: #606060;
  font-size: 14px;
}
.woocommerce .woocommerce-ordering {
  margin: 0 0 34px;
}
.woocommerce .woocommerce-ordering select {
  min-width: 235px;
  height: 44px;
  padding: 0 38px 0 14px;
  border: 1px solid #d9d9d9;
  border-radius: 999px;
  background: #fff;
  color: #333;
}
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  margin: 0;
  padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product.spr-product-card,
.woocommerce-page ul.products li.product.spr-product-card {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--spr-shop-border);
  border-radius: 14px;
  background: var(--spr-shop-card-bg);
  box-shadow: 0 8px 22px rgba(0,0,0,.055);
  transition: transform .25s ease, box-shadow .25s ease;
}
.woocommerce ul.products li.product.spr-product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 38px rgba(0,0,0,.11);
}
.spr-product-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #ececea;
}
.spr-product-card__image {
  display: block;
  width: 100%;
  height: 100%;
}
.woocommerce ul.products li.product .spr-product-card__image img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  transition: transform .35s ease;
}
.woocommerce ul.products li.product:hover .spr-product-card__image img { transform: scale(1.035); }
.woocommerce span.onsale {
  z-index: 3;
  top: 16px;
  left: 16px;
  right: auto;
  min-width: 0;
  min-height: 0;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--spr-primary);
  color: #fff;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
}
.spr-product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}
.woocommerce ul.products li.product .spr-product-card__title {
  margin: 0;
  padding: 0;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 500;
  color: #181818;
}
.spr-product-card__rating { margin-top: 10px; }
.woocommerce ul.products li.product .star-rating { margin: 0; color: var(--spr-primary); }
.woocommerce ul.products li.product .spr-product-card__price {
  margin: 16px 0 0;
  color: var(--spr-primary);
  font-size: 19px;
  font-weight: 700;
}
.woocommerce ul.products li.product .spr-product-card__price del {
  color: #979797;
  font-size: 14px;
  opacity: 1;
}
.woocommerce ul.products li.product .spr-product-card__price ins { text-decoration: none; }
.spr-product-card__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  gap: 10px;
  margin-top: auto;
  padding-top: 24px;
}
.spr-product-more,
.woocommerce ul.products li.product .spr-product-cart-button {
  min-height: 52px;
  margin: 0;
  border-radius: 999px;
}
.spr-product-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  background: #1a1a1a;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  transition: background .2s ease, transform .2s ease;
}
.spr-product-more:hover { background: #000; transform: translateY(-1px); }
.woocommerce ul.products li.product .spr-product-cart-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  min-width: 54px;
  padding: 0;
  border: 0;
  background: var(--spr-primary);
  color: #fff;
  transition: filter .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product .spr-product-cart-button:hover {
  background: var(--spr-primary);
  color: #fff;
  filter: brightness(.92);
  transform: translateY(-1px);
}
.spr-product-cart-button__icon,
.spr-product-cart-button__icon svg {
  width: 22px;
  height: 22px;
}
.spr-product-cart-button__icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.woocommerce a.added_to_cart {
  grid-column: 1 / -1;
  margin-top: 5px;
  color: var(--spr-primary);
  font-size: 12px;
  font-weight: 600;
}
.woocommerce nav.woocommerce-pagination { margin-top: 54px; }
.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  justify-content: center;
  gap: 8px;
  border: 0;
}
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 50%;
  background: #fff;
  color: #222;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--spr-primary);
  color: #fff;
}
.spr-shop-empty {
  padding: 52px;
  border-radius: 14px;
  background: #fff;
  text-align: center;
}
.spr-shop-empty .woocommerce-info { margin: 0; }

/* Single product basics */
.spr-product-shell { padding-top: 64px; padding-bottom: 96px; }
.woocommerce div.product { color: #202020; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { margin-bottom: 52px; }
.woocommerce div.product .product_title {
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -.035em;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--spr-primary); font-size: 26px; font-weight: 700; }
.woocommerce div.product form.cart .button,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
  min-height: 52px;
  padding: 0 26px;
  border-radius: 999px;
  background: var(--spr-primary);
  color: #fff;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover { background: #e94f12; color: #fff; }

/* Cart / checkout / account visual integration */
.woocommerce-cart .spr-page-main,
.woocommerce-checkout .spr-page-main,
.woocommerce-account .spr-page-main { padding-top: var(--spr-header-height); }
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
  width: min(calc(100% - 64px), var(--spr-content-width));
  margin: 0 auto;
  padding: 64px 0 96px;
}
.woocommerce table.shop_table { border-color: #e1e1e1; border-radius: 10px; background: #fff; }
.woocommerce table.shop_table th { font-weight: 600; }
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
  min-height: 46px;
  border: 1px solid #d6d6d6;
  border-radius: 7px;
  background: #fff;
}
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button {
  border-radius: 999px;
}

@media (max-width: 980px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  body.woocommerce .spr-page-main,
  body.woocommerce-page .spr-page-main,
  .woocommerce-cart .spr-page-main,
  .woocommerce-checkout .spr-page-main,
  .woocommerce-account .spr-page-main { padding-top: 76px; }
  .spr-shop-container,
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce,
  .woocommerce-account .woocommerce { width: calc(100% - 32px); }
}
@media (max-width: 620px) {
  .spr-shop-hero { padding: 52px 0 48px; }
  .spr-shop-catalog { padding: 42px 0 72px; }
  .spr-shop-search .woocommerce-product-search { display: grid; }
  .spr-shop-search button { width: 100%; }
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering { float: none; width: 100%; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: 1fr; }
  .spr-product-card__body { padding: 20px; }
  .spr-shop-empty { padding: 30px 18px; }
}
