/*
Theme Name: Sklep Gor
Version: 2.1.6
Description: Custom WooCommerce theme for Sklep Górski, no Elementor dependency.
Author: Sklep Górski
Text Domain: sklep-gor
*/

/* ============================================================================
   PRODUCT CARD: Equal-height product tiles
   - Ensures product listing/grid tiles are vertically consistent by using
     a column flex layout inside each card and a fixed-size image area.
   - Adjust --card-image-height to taste or switch to viewport units for
     responsive sizing (e.g. use 40vh on small screens).
   ========================================================================== */

.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
  align-items: start;
  /* Make grid rows take available space; each card will stretch to same height */
  grid-auto-rows: 1fr;
}

/* Each product card becomes a column flexbox so its footer can stick to bottom */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Thumbnail / image area: fixed height so all cards align vertically */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .product-thumbnail,
.woocommerce ul.products li.product .product-image,
.woocommerce ul.products li.product .post-thumbnail {
  --card-image-height: 320px;
  flex: 0 0 var(--card-image-height);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Make the image scale down and keep aspect ratio */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Info area grows to fill remaining space so footers/prices align */
.woocommerce ul.products li.product .entry-summary,
.woocommerce ul.products li.product .summary,
.woocommerce ul.products li.product .product-info {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* Keep actions / price at the bottom for consistent alignment */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add-to-cart,
.woocommerce ul.products li.product .product-actions {
  margin-top: auto;
}

/* Responsive tweaks */
@media (max-width: 900px) {
  .woocommerce ul.products li.product .woocommerce-LoopProduct-link,
  .woocommerce ul.products li.product .product-thumbnail {
    --card-image-height: 40vh;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    gap: 16px;
  }
  .woocommerce ul.products li.product .woocommerce-LoopProduct-link,
  .woocommerce ul.products li.product .product-thumbnail {
    --card-image-height: 36vh;
  }
}

/* ============================================================================
   RELATED / "Podobne produkty": Equal-height related cards
   - Uses the same principle as product cards: grid with rows that stretch,
     and each related card is a column flexbox with a fixed image area.
   - Targets the theme's related-product markup: .sgor-sp__related-grid and
     .sgor-sp__related-card
   ========================================================================== */

.sgor-sp__related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 24px;
  align-items: start;
  grid-auto-rows: 1fr;
}

/* Each related card becomes a column flexbox and stretches to full row height */
.sgor-sp__related-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
  /* optional visual: border/background to match product cards */
  border: 1px solid var(--gory-grey-border);
  background: var(--gory-white);
}

/* Image wrapper in related card: fixed height */
.sgor-sp__related-image-wrap {
  --related-image-height: 320px;
  flex: 0 0 var(--related-image-height);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: transparent;
}

/* Related image scaling */
.sgor-sp__related-image {
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Content area grows so price stays anchored at the bottom */
.sgor-sp__related-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 16px;
}

/* Put brand/name at top, price/actions at bottom */
.sgor-sp__related-brand,
.sgor-sp__related-name {
  margin-bottom: 8px;
}

/* Anchor price to bottom for consistent alignment */
.sgor-sp__related-price {
  margin-top: auto;
}

/* Responsive tweaks for related items */
@media (max-width: 900px) {
  .sgor-sp__related-image-wrap {
    --related-image-height: 40vh;
  }
}

@media (max-width: 480px) {
  .sgor-sp__related-grid {
    gap: 16px;
  }
  .sgor-sp__related-image-wrap {
    --related-image-height: 36vh;
  }
}


/* =============================================================================
   CSS CUSTOM PROPERTIES
   ============================================================================= */

:root {
  --gory-font: "Montserrat", system-ui, -apple-system, sans-serif;
  --gory-font-size: 16px;
  --gory-line-height: 1.6;
  
  /* Colors */
  --gory-red: #d71d24;
  --gory-red-hover: #b01820;
  --gory-navy: #01172F;
  --gory-orange: #FF621F;
  --gory-grey: #959595;
  --gory-grey-light: #C7C7C7;
  --gory-grey-border: #e5e5e5;
  --gory-white: #ffffff;
  --gory-black: #000000;
  
  /* Spacing */
  --gory-spacing-xs: 4px;
  --gory-spacing-sm: 8px;
  --gory-spacing-md: 16px;
  --gory-spacing-lg: 24px;
  --gory-spacing-xl: 32px;
  --gory-spacing-2xl: 48px;
}

/* =============================================================================
   GLOBAL RESET & BASE
   ============================================================================= */

html,
body {
  margin: 0;
  padding: 0;
  font-family: var(--gory-font);
  font-size: var(--gory-font-size);
  line-height: var(--gory-line-height);
  min-height: 100vh;
  overflow-x: hidden;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main#content.site-main {
  flex: 1 0 auto;
  margin: 0;
  padding: 0;
}

footer,
.site-footer {
  flex-shrink: 0;
}

/* Links */
a {
  color: var(--gory-red);
  text-decoration: none;
  transition: color 150ms ease;
}

a:hover,
a:active {
  color: var(--gory-red-hover);
}

/* =============================================================================
   PAGE TEMPLATES — Layout resets
   ============================================================================= */

/* Homepage */
body.page-template-page-home-php {
  margin: 0;
  padding: 0;
}

body.page-template-page-home-php main#content.site-main,
body.page-template-page-home-php main.site-main {
  margin: 0;
  padding: 0;
  max-width: none;
  width: 100%;
}

/* Single product */
body.single-product {
  margin: 0;
  padding: 0;
}

body.single-product main#content.site-main,
body.single-product main.site-main {
  margin: 0;
  padding: 0;
  max-width: none;
  width: 100%;
}

/* =============================================================================
   STANDARD PAGE WRAPPER (.gory-page-inner)
   Used by page.php — cart, checkout, account, informational pages.
   Was lost during style.css refactor — restored here.
   ============================================================================= */

.gory-page-inner {
  box-sizing: border-box;
  width: 92%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 40px;
  padding-bottom: 64px;
}

/* Narrower content cap for non-WooCommerce informational pages */
body:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .gory-page-inner {
  max-width: 960px;
}

/* H1 shown on informational pages (suppressed on cart / checkout / account) */
.gory-page-title {
  font-family: var(--gory-font);
  font-size: clamp(1.4rem, 2.5vw, 1.875rem);
  font-weight: 700;
  color: var(--gory-navy);
  margin: 0 0 32px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

/* =============================================================================
   PRODUCT CARD (.skp-card) — Archive/Category pages
   High specificity selectors to override WooCommerce defaults
   ============================================================================= */

body.woocommerce ul.products li.skp-card,
body.woocommerce-page ul.products li.skp-card,
body.archive ul.products li.skp-card {
  font-family: var(--gory-font);
}

body.woocommerce ul.products li.skp-card .skp-card__inner,
body.woocommerce-page ul.products li.skp-card .skp-card__inner {
  display: flex;
  flex-direction: column;
}

body.woocommerce ul.products li.skp-card .skp-card__link,
body.woocommerce ul.products li.skp-card .skp-card__image-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

/* Image area — forced 4:5 aspect ratio */
body.woocommerce ul.products li.skp-card .skp-card__media {
  position: relative;
  overflow: hidden;
  height: 0;
  padding-top: 125%; /* 4:5 ratio */
  min-height: 0;
  max-height: none;
}

body.woocommerce ul.products li.skp-card .skp-card__image-link {
  position: absolute !important;
  inset: 0;
  font-size: 0;
  line-height: 0;
}

body.woocommerce ul.products li.skp-card img.skp-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  max-width: none;
  max-height: none;
}

/* Actions overlay — hidden by default, shown on hover */
body.woocommerce ul.products li.skp-card .skp-card__actions {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  padding: 10px;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
}

body.woocommerce ul.products li.skp-card .skp-card__inner:hover .skp-card__actions {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Add to cart button */
body.woocommerce ul.products li.skp-card .skp-card__atc {
  width: 100%;
  background: var(--gory-red);
  color: var(--gory-white);
  font-weight: 400;
  font-size: 1em;
  text-transform: capitalize;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  margin: 0;
  padding: 12px 10px;
  cursor: pointer;
}

body.woocommerce ul.products li.skp-card .skp-card__atc.button {
  border-radius: 0;
  box-shadow: none;
}

body.woocommerce ul.products li.skp-card .skp-card__atc:hover {
  background: var(--gory-red-hover);
}

/* Meta section — brand, title, price */
body.woocommerce ul.products li.skp-card .skp-card__meta {
  padding-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.woocommerce ul.products li.skp-card .skp-card__brand {
  font-weight: 300;
  font-size: 0.8em;
  text-align: left;
  color: var(--gory-grey-light);
  margin: 0;
}

body.woocommerce ul.products li.skp-card .skp-card__title {
  font-weight: 500;
  font-size: 1.1em;
  text-transform: uppercase;
  text-align: left;
  color: var(--gory-navy);
  line-height: 1.3;
  margin: 0;
  min-height: calc(1.3em * 2.4);
  overflow: hidden;
  letter-spacing: 0.01em;
}

body.woocommerce ul.products li.skp-card .skp-card__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px; /* reduced gap between price items / rows */
  margin: 6px 0 0;
  font-size: 1.05em;
  font-weight: 400;
  text-align: left;
  color: var(--gory-red, #d71d24);
}

body.woocommerce ul.products li.skp-card .skp-card__price * {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

/* Price rows: ensure compact vertical spacing and smaller old price */
body.woocommerce ul.products li.skp-card .skp-card__price .skp-card__price-row {
  margin: 0;
  line-height: 1;
}

body.woocommerce ul.products li.skp-card .skp-card__price .skp-card__price-new {
  /* new price row — keep prominent */
}

body.woocommerce ul.products li.skp-card .skp-card__price .skp-card__price-old {
  font-size: 0.88em; /* slightly smaller */
  color: rgba(17,17,17,0.6);
}

body.woocommerce ul.products li.skp-card .skp-card__price .skp-card__price-new ins {
  color: var(--gory-red, #d71d24);
  font-weight: 700;
  text-decoration: none;
}

body.woocommerce ul.products li.skp-card .skp-card__price .skp-card__price-range-max {
  color: inherit;
  font-weight: 400;
}

body.woocommerce ul.products li.skp-card .skp-card__price del {
  color: rgba(17, 17, 17, 0.45);
  font-weight: 400;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(17, 17, 17, 0.2);
}

body.woocommerce ul.products li.skp-card .skp-card__price del span,
body.woocommerce ul.products li.skp-card .skp-card__price del bdi,
body.woocommerce ul.products li.skp-card .skp-card__price del * {
  color: inherit !important;
}

body.woocommerce ul.products li.skp-card .skp-card__price ins {
  color: var(--gory-red, #d71d24);
  font-weight: 700;
  text-decoration: none;
}

body.woocommerce ul.products li.skp-card .skp-card__price ins span {
  color: inherit;
}

/* Archive wrapper */
.skp-cat-archive {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
}

/* =============================================================================
   SINGLE PRODUCT — Add to Cart Form
   ============================================================================= */

body.single-product .sgpp-atc-form {
  margin-top: 20px;
}

body.single-product .sgpp-atc-form .cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

/* Variations table */
body.single-product .sgpp-atc-form table.variations {
  width: 100%;
  margin-bottom: 16px;
  border: none;
}

body.single-product .sgpp-atc-form table.variations td,
body.single-product .sgpp-atc-form table.variations th {
  padding: 8px 0;
  border: none;
  background: transparent;
  vertical-align: middle;
}

body.single-product .sgpp-atc-form table.variations .label label {
  font-family: var(--gory-font);
  font-weight: 600;
  font-size: 0.9em;
  color: var(--gory-navy);
}

body.single-product .sgpp-atc-form table.variations td.value select {
  font-family: var(--gory-font);
  font-size: 0.95em;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 0;
  width: 100%;
  max-width: 300px;
  background: var(--gory-white);
}

body.single-product .sgpp-atc-form .reset_variations {
  font-family: var(--gory-font);
  font-size: 0.85em;
  color: #666;
  margin-left: 8px;
}

body.single-product .sgpp-atc-form .reset_variations:hover {
  color: var(--gory-red);
}

body.single-product .sgpp-atc-form .woocommerce-variation-price {
  margin-bottom: 8px;
}

/* Variation Swatches - Compact styling */
body.single-product .sgpp-atc-form table.variations {
  margin-bottom: 10px;
}

body.single-product .sgpp-atc-form table.variations td,
body.single-product .sgpp-atc-form table.variations th {
  padding: 4px 0;
}

body.single-product .sgpp-atc-form .swatch.selected,
body.single-product .sgpp-atc-form .swatch-anchor.selected,
body.single-product .sgpp-atc-form [data-value].selected {
  border-color: #01172F !important;
  border-width: 4px !important;
  box-shadow: 0 0 0 2px rgba(1, 23, 47, 0.3) !important;
  outline: none !important;
  font-weight: 600;
}

/* Hide variation description on swatch selection */
body.single-product .sgpp-atc-form .woocommerce-variation-description {
  display: none !important;
}

/* Text/button swatches */
body.single-product .sgpp-atc-form .swatch.swatch-label,
body.single-product .sgpp-atc-form .swatch-anchor {
  width: auto;
  min-width: 36px;
  height: 32px;
  min-height: 32px;
  padding: 0 10px;
  font-size: 0.8em;
  font-weight: 500;
  border: 2px solid #ddd;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  transition: border-color 150ms ease;
}

body.single-product .sgpp-atc-form .swatch.swatch-label.selected,
body.single-product .sgpp-atc-form .swatch-anchor.selected {
  border-color: #01172F;
  border-width: 2px;
  box-shadow: none;
  font-weight: 600;
  background: #fff;
}

/* Add to cart button - inactive/disabled state (white bg, black text) */
body.single-product .sgpp-atc-form button.single_add_to_cart_button.disabled,
body.single-product .sgpp-atc-form button.single_add_to_cart_button:disabled,
body.single-product .sgpp-atc-form button.single_add_to_cart_button.wc-variation-selection-needed {
  background: #fff;
  color: #01172F;
  border: 1px solid #ddd;
  cursor: not-allowed;
  opacity: 0.7;
}

body.single-product .sgpp-atc-form button.single_add_to_cart_button.disabled:hover,
body.single-product .sgpp-atc-form button.single_add_to_cart_button:disabled:hover,
body.single-product .sgpp-atc-form button.single_add_to_cart_button.wc-variation-selection-needed:hover {
  background: #f5f5f5;
  color: #01172F;
  border-color: #ccc;
}

/* Reset variations link */
body.single-product .sgpp-atc-form .reset_variations {
  font-size: 0.75em;
  margin-top: 2px;
  display: inline-block;
}

/* Stock status - compact */
body.single-product .sgpp-atc-form .woocommerce-variation-availability,
body.single-product .sgpp-atc-form .stock {
  font-family: var(--gory-font);
  font-size: 0.8em;
  margin: 4px 0 4px;
  padding: 0;
}

body.single-product .sgpp-atc-form .stock.in-stock {
  color: #2e7d32;
}

body.single-product .sgpp-atc-form .stock.out-of-stock {
  color: var(--gory-red);
}

/* Mobile: compact spacing for variation form */
@media (max-width: 768px) {
  body.single-product .sgpp-atc-form table.variations {
    margin-bottom: 6px;
  }
  
  body.single-product .sgpp-atc-form .reset_variations {
    margin-bottom: 4px;
  }
  
  body.single-product .sgpp-atc-form .woocommerce-variation-availability,
  body.single-product .sgpp-atc-form .stock {
    margin: 2px 0 6px;
  }
  
  body.single-product .sgpp-atc-form .woocommerce-variation-add-to-cart,
  body.single-product .sgpp-atc-form form.cart:not(.variations_form) {
    flex-wrap: nowrap;
  }
  
  body.single-product .sgpp-atc-form .quantity {
    flex: 0 0 auto;
  }
  
  body.single-product .sgpp-atc-form .quantity .qty {
    width: 50px;
    padding: 10px 6px;
  }
  
  body.single-product .sgpp-atc-form button.single_add_to_cart_button {
    flex: 1;
    padding: 12px 16px;
  }
}

/* Quantity + Add to cart row - inline compact */
body.single-product .sgpp-atc-form .woocommerce-variation-add-to-cart,
body.single-product .sgpp-atc-form form.cart:not(.variations_form) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

body.single-product .sgpp-atc-form .quantity .qty {
  width: 60px;
  padding: 10px 8px;
  font-size: 0.95em;
}

body.single-product .sgpp-atc-form button.single_add_to_cart_button {
  padding: 11px 24px;
  font-size: 0.9em;
}

/* Quantity input */
body.single-product .sgpp-atc-form .quantity {
  display: inline-flex;
  align-items: center;
}

body.single-product .sgpp-atc-form .quantity .qty {
  font-family: var(--gory-font);
  font-size: 1em;
  width: 70px;
  padding: 12px;
  border: 1px solid #ddd;
  text-align: center;
  border-radius: 0;
}

/* Add to Cart button */
body.single-product .sgpp-atc-form button.single_add_to_cart_button,
body.single-product .sgpp-atc-form .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  line-height: 1;
  white-space: nowrap;
  font-family: var(--gory-font);
  font-size: 1em;
  font-weight: 600;
  background: var(--gory-red);
  color: var(--gory-white);
  border: 1px solid var(--gory-red);
  padding: 14px 32px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
  border-radius: 0;
}

body.single-product .sgpp-atc-form button.single_add_to_cart_button:hover,
body.single-product .sgpp-atc-form .single_add_to_cart_button:hover {
  background: var(--gory-white);
  color: var(--gory-red);
  border: 1px solid var(--gory-red);
}

body.single-product .sgpp-atc-form button.single_add_to_cart_button:disabled {
  background: #ccc;
  cursor: not-allowed;
}

body.single-product .sgpp-atc-form .out-of-stock {
  font-family: var(--gory-font);
  color: var(--gory-red);
  font-weight: 600;
}

/* =============================================================================
   PRODUCT ATTRIBUTES TABLE
   ============================================================================= */

body.single-product table.shop_attributes,
body.single-product table.woocommerce-product-attributes {
  width: 100%;
  border: 0;
  border-top: 1px dotted rgba(0,0,0,.1);
  border-collapse: collapse;
  margin-bottom: 1.618em;
  font-family: var(--gory-font);
}

body.single-product table.shop_attributes tr,
body.single-product table.shop_attributes th,
body.single-product table.shop_attributes td,
body.single-product table.woocommerce-product-attributes tr,
body.single-product table.woocommerce-product-attributes th,
body.single-product table.woocommerce-product-attributes td {
  background: transparent;
}

body.single-product table.shop_attributes th,
body.single-product table.woocommerce-product-attributes th,
body.single-product .woocommerce-product-attributes-item__label {
  width: 20vw;
  min-width: 20vw;
  white-space: nowrap;
  text-align: right;
  padding: 0.6vw 1vw 0.6vw 0;
  font-family: var(--gory-font);
  font-weight: 700;
  font-size: clamp(13px, 0.9vw, 17px);
  font-style: normal;
  line-height: 1.5;
  border: 0;
  border-bottom: 1px dotted rgba(0,0,0,.1);
  vertical-align: top;
  margin: 0;
}

body.single-product table.shop_attributes td,
body.single-product table.woocommerce-product-attributes td,
body.single-product .woocommerce-product-attributes-item__value {
  text-align: left;
  padding: 0.6vw 0 0.6vw 1vw;
  font-family: var(--gory-font);
  font-weight: 400;
  font-size: clamp(13px, 0.9vw, 17px);
  font-style: normal;
  line-height: 1.5;
  border: 0;
  border-bottom: 1px dotted rgba(0,0,0,.1);
  vertical-align: top;
  margin: 0;
}

body.single-product table.shop_attributes td p,
body.single-product table.woocommerce-product-attributes td p {
  margin: 0;
  padding: 0;
  font-style: normal;
  font-family: var(--gory-font);
  font-weight: 400;
  font-size: clamp(13px, 0.9vw, 17px);
  line-height: 1.5;
}

/* =============================================================================
   BRAND HEADER (ACF fields)
   ============================================================================= */

.skp-term-header {
  margin: 18px 0 22px 0;
}

.skp-term-header__banner-wrap {
  margin: 0 0 14px 0;
}

.skp-term-header__banner {
  width: 100%;
  height: auto;
  display: block;
}

.skp-term-header__content {
  width: 100%;
  line-height: 1.4;
  font-size: 1em;
  font-weight: 300;
}

.skp-term-header__content p {
  margin: 0 0 10px 0;
}

/* =============================================================================
   WOOCOMMERCE BUTTONS — Theme colors
   Using body prefix for specificity without !important
   ============================================================================= */

body.woocommerce [type=button]:not(.sgpp-atc-btn):not(.gory-iconbtn):not(.sgor-hero__arrow):not(.sgpp-pie-head):not(.sgpp-ptabs__tab):not(.sgor-sp__tab-button):not(.sgor-sp__swatch):not(.sgor-sp__description-jump):not(.sgpp-waitlist-link):not(.sgpp-share-btn):not(.sgpp-showmore-btn):not(.sgpp-lightbox__close):not(.sgor-sp__lightbox-close):not(.gory-hdr__search-btn),
body.woocommerce [type=submit]:not(.sgpp-atc-btn):not(.single_add_to_cart_button):not(.gory-hdr__search-btn),
body.woocommerce button:not(.sgpp-atc-btn):not(.gory-iconbtn):not(.sgor-hero__arrow):not(.sgpp-pie-head):not(.sgpp-ptabs__tab):not(.sgor-sp__tab-button):not(.sgor-sp__swatch):not(.sgor-sp__description-jump):not(.sgpp-waitlist-link):not(.sgpp-share-btn):not(.sgpp-showmore-btn):not(.sgpp-lightbox__close):not(.sgor-sp__lightbox-close):not(.single_add_to_cart_button):not(.gory-hdr__search-btn) {
  color: var(--gory-red);
  border-color: var(--gory-red);
}

body.woocommerce [type=button]:not(.sgpp-atc-btn):not(.gory-iconbtn):not(.sgpp-pie-head):not(.sgpp-ptabs__tab):not(.sgor-sp__tab-button):not(.sgor-sp__swatch):not(.sgor-sp__description-jump):not(.sgpp-waitlist-link):not(.sgpp-share-btn):not(.sgpp-showmore-btn):not(.sgpp-lightbox__close):not(.sgor-sp__lightbox-close):not(.gory-hdr__search-btn):hover,
body.woocommerce [type=submit]:not(.sgpp-atc-btn):not(.single_add_to_cart_button):not(.gory-hdr__search-btn):hover,
body.woocommerce button:not(.sgpp-atc-btn):not(.gory-iconbtn):not(.sgpp-pie-head):not(.sgpp-ptabs__tab):not(.sgor-sp__tab-button):not(.sgor-sp__swatch):not(.sgor-sp__description-jump):not(.sgpp-waitlist-link):not(.sgpp-share-btn):not(.sgpp-showmore-btn):not(.sgpp-lightbox__close):not(.sgor-sp__lightbox-close):not(.single_add_to_cart_button):not(.gory-hdr__search-btn):hover {
  background-color: var(--gory-red);
  border-color: var(--gory-red);
  color: var(--gory-white);
}

/* =============================================================================
   SIDEBAR BRAND MENU
   ============================================================================= */

.skp-brand-menu a,
.skp-brand-menu .sub-menu a {
  color: var(--gory-black);
  text-decoration: none;
}

.skp-brand-menu a:hover,
.skp-brand-menu a:focus,
.skp-brand-menu a:active,
.skp-brand-menu .sub-menu a:hover,
.skp-brand-menu .sub-menu a:focus,
.skp-brand-menu .sub-menu a:active {
  color: var(--gory-red);
}

.skp-brand-menu li.current-menu-item > a,
.skp-brand-menu li.current-menu-ancestor > a,
.skp-brand-menu li.current-menu-parent > a {
  color: var(--gory-black);
  font-weight: 600;
}

.skp-brand-menu > li.menu-item-has-children:hover > a,
.skp-brand-menu > li.menu-item-has-children:focus-within > a {
  color: var(--gory-red);
}

/* =============================================================================
   SGPP BREADCRUMBS
   ============================================================================= */

body.single-product .sgpp-bc-breadcrumb a {
  color: var(--gory-grey);
  text-decoration: none;
}

body.single-product .sgpp-bc-breadcrumb a:hover,
body.single-product .sgpp-bc-breadcrumb a:focus {
  color: var(--gory-black);
}

body.single-product .sgpp-bc-breadcrumb .breadcrumb_last {
  color: var(--gory-grey);
}

body.single-product .sgpp-bc-breadcrumb .sgpp-bc-delim {
  color: var(--gory-grey);
}

/* =============================================================================
   SGPP PRODUCT INFO EXTENDED (Accordion)
   ============================================================================= */

body.single-product .sgpp-pie {
  border-color: var(--gory-grey);
}

body.single-product .sgpp-pie-item {
  border-top-color: var(--gory-grey);
  border-bottom-color: var(--gory-grey);
}

body.single-product .sgpp-pie button.sgpp-pie-head,
body.single-product .sgpp-pie .sgpp-pie-head--static {
  border: 0;
  border-bottom: 1px solid var(--gory-grey);
  background: transparent;
  box-shadow: none;
  color: inherit;
}

body.single-product .sgpp-pie button.sgpp-pie-head:hover,
body.single-product .sgpp-pie button.sgpp-pie-head:focus {
  background: transparent;
  color: inherit;
}

body.single-product .sgpp-pie .sgpp-pie-item:first-child .sgpp-pie-head--static,
body.single-product .sgpp-pie .sgpp-pie-item:first-child button.sgpp-pie-head {
  border-top: 1px solid var(--gory-grey);
}

body.single-product .sgpp-pie .sgpp-pie-panel {
  border-bottom: 1px solid var(--gory-grey);
}

body.single-product .sgpp-pie .sgpp-pie-plus::before,
body.single-product .sgpp-pie .sgpp-pie-plus::after {
  background-color: var(--gory-grey);
}

body.single-product .sgpp-pie a {
  text-decoration: none;
}

/* =============================================================================
   SGPP PRODUCT TABS
   ============================================================================= */

body.single-product .sgpp-ptabs .sgpp-ptabs__nav {
  background: transparent;
  border-color: var(--gory-grey);
}

body.single-product .sgpp-ptabs button.sgpp-ptabs__tab {
  background: transparent;
  color: var(--gory-grey);
  border: 0;
  border-bottom: 1px solid var(--gory-grey);
  box-shadow: none;
}

body.single-product .sgpp-ptabs button.sgpp-ptabs__tab:hover,
body.single-product .sgpp-ptabs button.sgpp-ptabs__tab:focus {
  background: transparent;
  color: var(--gory-black);
}

body.single-product .sgpp-ptabs button.sgpp-ptabs__tab.is-active,
body.single-product .sgpp-ptabs button.sgpp-ptabs__tab[aria-selected="true"] {
  background: transparent;
  color: var(--gory-black);
  border-bottom-color: var(--gory-red);
}

/* =============================================================================
   SGPP BUTTONS
   ============================================================================= */

/* Add to cart button on single product */
body.single-product button.sgpp-atc-btn {
  background: var(--gory-red);
  color: var(--gory-white);
  border: 1px solid var(--gory-red);
}

body.single-product button.sgpp-atc-btn:hover,
body.single-product button.sgpp-atc-btn:focus {
  background: var(--gory-white);
  color: var(--gory-red);
  border: 1px solid var(--gory-red);
}

/* Waitlist link */
body.single-product button.sgpp-waitlist-link {
  background: transparent;
  border: 0;
  box-shadow: none;
  text-decoration: none;
  color: var(--gory-grey);
}

body.single-product button.sgpp-waitlist-link:hover,
body.single-product button.sgpp-waitlist-link:focus {
  background: transparent;
  color: var(--gory-red);
}

/* Share button */
body.single-product .sgpp-share-btn {
  background: transparent;
  border: 1px solid #ddd;
}

body.single-product .sgpp-share-btn:hover,
body.single-product .sgpp-share-btn:focus {
  background: #f9f9f9;
  border-color: var(--gory-navy);
}

/* =============================================================================
   LOAD MORE BUTTON
   ============================================================================= */

#skp-load-more {
  background: var(--gory-white);
  color: var(--gory-grey);
  border: 1px solid var(--gory-grey);
  font-family: var(--gory-font);
  padding: 12px 24px;
  cursor: pointer;
  transition: all 150ms ease;
}

#skp-load-more:hover,
#skp-load-more:focus {
  background: var(--gory-red);
  color: var(--gory-white);
  border: 1px solid var(--gory-red);
}

/* =============================================================================
   HERO SLIDER ARROWS
   ============================================================================= */

button.sgor-hero__arrow {
  background: transparent;
  border-color: var(--gory-white);
}

button.sgor-hero__arrow,
button.sgor-hero__arrow svg,
button.sgor-hero__arrow .sgor-hero__chev,
button.sgor-hero__arrow .sgor-hero__chev line {
  color: var(--gory-white);
  stroke: var(--gory-white);
}

button.sgor-hero__arrow:hover,
button.sgor-hero__arrow:focus {
  background: var(--gory-red);
  border-color: var(--gory-red);
}

/* =============================================================================
   FOOTER LINKS
   ============================================================================= */

.sgor-footer__link {
  color: var(--gory-white);
  text-decoration: none;
}

.sgor-footer__link:hover,
.sgor-footer__link:focus {
  color: var(--gory-red);
}

.sgor-footer__social-link,
.sgor-footer__social-link svg {
  color: var(--gory-white);
  fill: currentColor;
}

.sgor-footer__social-link:hover,
.sgor-footer__social-link:focus {
  color: var(--gory-red);
}

/* =============================================================================
   MAILPOET
   ============================================================================= */

.mailpoet_submit {
  border: none;
  outline: none;
  box-shadow: none;
}

/* =============================================================================
   MY ACCOUNT
   ============================================================================= */

.woocommerce-MyAccount-navigation ul li a {
  text-decoration: none;
  color: var(--gory-black);
}

.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--gory-red);
}

/* =============================================================================
   HEADER SEARCH BUTTON
   ============================================================================= */

.sgor-header-wrap button[data-sgor-search-open] {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.sgor-header-wrap button[data-sgor-search-open] svg,
.sgor-header-wrap button[data-sgor-search-open] .sgor-ico {
  color: var(--gory-black);
}

.sgor-header-wrap button[data-sgor-search-open]:hover svg,
.sgor-header-wrap button[data-sgor-search-open]:hover .sgor-ico {
  color: var(--gory-red);
}

/* =============================================================================
   WOOCOMMERCE CART/CHECKOUT BLOCKS
   ============================================================================= */

a.wc-block-components-product-name {
  color: var(--gory-black);
  text-decoration: none;
}

a.wc-block-components-product-name:hover {
  color: var(--gory-red);
}

button.wc-block-cart-item__remove-link {
  color: var(--gory-black);
  background: transparent;
  border: 0;
  text-decoration: none;
}

button.wc-block-cart-item__remove-link:hover {
  color: var(--gory-red);
}

.wc-block-cart__submit-container a,
.wc-block-cart__submit-container button {
  background: var(--gory-red);
  color: var(--gory-white);
  border: 1px solid var(--gory-red);
  text-decoration: none;
}

.wc-block-cart__submit-container a:hover,
.wc-block-cart__submit-container button:hover {
  background: var(--gory-white);
  color: var(--gory-red);
  border: 1px solid var(--gory-red);
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  background: transparent;
  color: var(--gory-navy);
  border-color: #ddd;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
  background: #f5f5f5;
  color: var(--gory-red);
}

/* =============================================================================
   MOBILE STYLES
   ============================================================================= */

@media (max-width: 600px) {
  /* Page inner wrapper */
  .gory-page-inner {
    padding-top: 24px;
    padding-bottom: 40px;
  }

  /* Single product ATC form */
  body.single-product .sgpp-atc-form .cart {
    flex-direction: column;
    align-items: stretch;
  }

  body.single-product .sgpp-atc-form .quantity {
    width: 100%;
    margin-bottom: 12px;
  }

  body.single-product .sgpp-atc-form .quantity .qty {
    width: 100%;
  }

  body.single-product .sgpp-atc-form button.single_add_to_cart_button,
  body.single-product .sgpp-atc-form .single_add_to_cart_button {
    width: 100%;
    padding: 16px 24px;
  }

  body.single-product .sgpp-atc-form table.variations td.value select {
    max-width: none;
  }
  
  /* Product card actions - hide hover overlay on touch */
  body.woocommerce ul.products li.skp-card .skp-card__actions {
    display: none;
  }
}

@media (max-width: 767px) {
  /* Tighter product card spacing */
  body.woocommerce ul.products li.skp-card .skp-card__meta {
    padding-top: 8px;
    gap: 4px;
  }
  
  body.woocommerce ul.products li.skp-card .skp-card__title {
    font-size: 0.9em;
    min-height: calc(1.25em * 2);
  }
  
  body.woocommerce ul.products li.skp-card .skp-card__brand {
    font-size: 0.7em;
  }
  
  body.woocommerce ul.products li.skp-card .skp-card__price {
    font-size: 0.9em;
  }
}

/* =============================================================================
   PRINT STYLES
   ============================================================================= */

@media print {
  body {
    background: white;
  }
  
  .sgor-header-wrap,
  .site-footer,
  .sgpp-share-row,
  .sgpp-atc-form,
  .sgpp-related {
    display: none;
  }
}