/**
 * Portão de Cambuí Store — main stylesheet
 */

:root {
  --red: #C8102E;
  --red-hover: #a50d25;
  --amber: #D4A017;
  --pink: #FADADD;
  --bg: #F5F5F5;
  --text: #1a1a1a;
  --white: #ffffff;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --container: 80rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --radius-full: 9999px;
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'Inter', system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

body.store-body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}

.font-serif-display,
.store-shop__title,
.cart-page-title,
.fav-header__title,
.product-info__title,
.nutritional-section__title,
.related-products-section__title,
.order-summary-card__title,
.newsletter-card__title {
  font-family: var(--font-serif);
}

.store-container {
  max-width: var(--container);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* Buttons */
.btn-red {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--red);
  color: var(--white);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  border-radius: var(--radius-full);
  padding: 0.625rem 1.75rem;
  cursor: pointer;
  transition: background 0.2s;
}
.btn-red:hover { background: var(--red-hover); color: var(--white); }

.btn-amber-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--amber);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid var(--amber);
  border-radius: var(--radius-full);
  padding: 0.75rem 1.5rem;
  transition: background 0.2s, color 0.2s;
}
.btn-amber-outline:hover { background: var(--amber); color: var(--white); }

.btn-red-outline {
  border: 2px solid var(--red);
  color: var(--red);
  background: transparent;
  border-radius: var(--radius-full);
  padding: 0.5rem 1.25rem;
  font-weight: 700;
  font-size: 0.6875rem;
  text-decoration: none;
}

/* Navbar */
.store-navbar { width: 100%; background: var(--white); }

.store-nav-top__inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  color: var(--gray-600);
}
.store-nav-top__link { color: inherit; text-decoration: none; }
.store-nav-top__link:hover { color: var(--red); }
.store-nav-top__sep { color: var(--gray-300); }

.store-nav-main__inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.store-logo { text-decoration: none; }
.store-logo img { max-height: 60px; width: auto; }
.store-logo__text {
  font-family: var(--font-serif);
  font-weight: 900;
  color: var(--red);
  font-size: 1.25rem;
  line-height: 1.1;
}
.store-logo__sub { font-size: 1.125rem; }

.store-search { flex: 1; max-width: 42rem; margin: 0 auto; position: relative; }

.store-search-form {
  position: relative;
  width: 100%;
}
.store-search-form__icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gray-400);
  pointer-events: none;
}
.store-search-form__input {
  width: 100%;
  background: var(--gray-100);
  border: none;
  border-radius: var(--radius-full);
  padding: 0.625rem 1rem 0.625rem 2.75rem;
  font-size: 0.875rem;
  outline: none;
}
.store-search-form__input:focus {
  box-shadow: 0 0 0 2px rgba(200, 16, 46, 0.3);
}

.store-nav-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.store-nav-actions__user,
.store-nav-actions__cart,
.store-nav-actions__fav {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--gray-700);
  text-decoration: none;
  font-size: 0.75rem;
}
.store-nav-actions__user:hover,
.store-nav-actions__cart:hover,
.store-nav-actions__fav:hover { color: var(--red); }
.store-nav-actions__logout {
  font-size: 0.6875rem;
  color: var(--gray-500);
  text-decoration: none;
}
.store-nav-actions__logout:hover { color: var(--red); }

.cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.25rem;
  background: var(--red);
  color: var(--white);
  font-size: 0.625rem;
  font-weight: 700;
  border-radius: var(--radius-full);
}

.store-nav-categories__inner { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.store-nav-categories__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 1.75rem;
}
.store-nav-categories__menu a,
.store-nav-categories__link {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--gray-700);
  text-decoration: none;
}
.store-nav-categories__menu a:hover,
.store-nav-categories__link:hover { color: var(--red); }

/* Main */
.store-main { padding-top: 1.5rem; padding-bottom: 2rem; }
.store-home__inner { display: flex; flex-direction: column; gap: 2rem; }

/* Hero */
.home-hero {
  background: var(--pink);
  border-radius: var(--radius-2xl);
  min-height: 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 2rem;
}
.home-hero__icon { color: var(--amber); }

/* Categories */
.home-categories { display: flex; flex-direction: column; gap: 1rem; }
.home-categories__large {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.home-categories__small {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 768px) {
  .home-categories__large { grid-template-columns: repeat(2, 1fr); }
  .home-categories__small { grid-template-columns: repeat(3, 1fr); }
}

.cat-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--white);
  border-radius: var(--radius-xl);
  border: 1px solid var(--gray-100);
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  padding: 1.25rem;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.2s;
}
.cat-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.cat-card__bar {
  display: block;
  height: 0.625rem;
  width: 6rem;
  background: var(--red);
  border-radius: var(--radius-full);
  margin-bottom: 0.75rem;
}
.cat-card__bar--sm { height: 0.5rem; width: 5rem; }
.cat-card__title { margin: 0 0 0.25rem; font-size: 1rem; font-weight: 600; }
.cat-card__desc { margin: 0; font-size: 0.8125rem; color: var(--gray-600); }
.cat-card__icon { width: 3rem; height: 3rem; color: var(--amber); flex-shrink: 0; }
.cat-card__icon--sm { width: 2rem; height: 2rem; }

/* Product cards */
.products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (min-width: 768px) {
  .products-grid { grid-template-columns: repeat(4, 1fr); }
}

.product-card {
  background: var(--white);
  border-radius: var(--radius-xl);
  border: 1px solid var(--gray-100);
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.product-card--pink { background: var(--pink); }
.product-card__image { width: 100%; border-radius: var(--radius-xl); height: auto; display: block; }
.product-card__image-link { display: block; }
.product-card__title { margin: 0; font-size: 0.875rem; font-weight: 600; }
.product-card__title a { color: inherit; text-decoration: none; }
.product-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 0.5rem;
}
.product-card__price { font-size: 0.875rem; font-weight: 600; }
.product-card__buy,
.product-card .button {
  font-size: 0.6875rem !important;
  padding: 0.375rem 1rem !important;
  border-radius: var(--radius-full) !important;
  background: var(--red) !important;
  color: var(--white) !important;
  border: none !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}
.product-card__buy:hover,
.product-card .button:hover { background: var(--red-hover) !important; }

/* Newsletter section */
.home-newsletter {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 768px) {
  .home-newsletter { grid-template-columns: repeat(3, 1fr); }
}
.news-card {
  background: var(--white);
  border-radius: var(--radius-xl);
  border: 1px solid var(--gray-100);
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  padding: 1.25rem;
}
.news-card__bar {
  display: block;
  height: 0.625rem;
  width: 6rem;
  background: var(--red);
  border-radius: var(--radius-full);
  margin-bottom: 0.75rem;
}
.news-card__title { margin: 0 0 0.5rem; font-size: 1rem; }
.news-card__title a { color: inherit; text-decoration: none; }
.news-card__excerpt { margin: 0; font-size: 0.875rem; color: var(--gray-600); }

.newsletter-card {
  background: var(--white);
  border-radius: var(--radius-xl);
  border-left: 4px solid var(--red);
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.newsletter-card__title {
  font-family: var(--font-serif);
  color: var(--amber);
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.3;
  margin: 0;
}
.newsletter-form__input {
  width: 100%;
  background: var(--gray-100);
  border: none;
  border-radius: var(--radius-xl);
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
}
.newsletter-form__submit { width: 100%; }
.newsletter-form__message { font-size: 0.75rem; margin: 0; }
.newsletter-form__message.is-success { color: #15803d; }
.newsletter-form__message.is-error { color: var(--red); }

/* Features */
.home-features { padding: 1.5rem 0; display: flex; flex-direction: column; gap: 1.5rem; }
.home-features__badge-wrap { display: flex; justify-content: center; }
.home-features__badge {
  background: var(--red);
  color: var(--white);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  border-radius: var(--radius-full);
  padding: 0.5rem 1.5rem;
}
.home-features__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (min-width: 768px) {
  .home-features__grid { grid-template-columns: repeat(4, 1fr); }
}
.feature-card {
  background: var(--white);
  border-radius: var(--radius-xl);
  padding: 1.25rem;
  text-align: center;
}
.feature-card__icon {
  width: 2.5rem;
  height: 2.5rem;
  color: var(--amber);
  margin: 0 auto 0.75rem;
}
.feature-card__icon svg { width: 100%; height: 100%; }
.feature-card__bar {
  display: block;
  height: 0.5rem;
  width: 5rem;
  background: var(--red);
  border-radius: var(--radius-full);
  margin: 0 auto 0.5rem;
}
.feature-card__title { margin: 0 0 0.25rem; font-size: 0.875rem; font-weight: 600; }
.feature-card__desc { margin: 0; font-size: 0.75rem; color: var(--gray-600); }
.home-features__cta-wrap { display: flex; justify-content: center; }
.home-features__cta { padding: 0.75rem 2rem; }

/* Shop archive */
.store-shop__header { margin-bottom: 1.5rem; }
.store-shop__title {
  font-family: var(--font-serif);
  color: var(--red);
  font-size: 2rem;
  font-weight: 900;
  margin: 0 0 0.5rem;
}
.woocommerce-breadcrumb {
  font-size: 0.75rem;
  color: var(--gray-500);
  margin-bottom: 1rem;
}
.woocommerce-breadcrumb a { color: var(--gray-600); }

/* Single product */
.product-single {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .product-single { grid-template-columns: 1fr 1fr; }
}

.product-gallery__main-img {
  width: 100%;
  border-radius: var(--radius-2xl);
  display: block;
}
.product-gallery__thumbs {
  display: flex;
  gap: 0.75rem;
  margin-top: 1rem;
}
.product-gallery__thumb {
  border: 2px solid transparent;
  border-radius: var(--radius-xl);
  padding: 0;
  background: none;
  cursor: pointer;
  overflow: hidden;
}
.product-gallery__thumb.is-active { border-color: var(--red); }
.product-gallery__thumb img { display: block; width: 100px; height: 80px; object-fit: cover; }

.product-info__brand {
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  color: var(--gray-500);
  margin: 0 0 0.75rem;
}
.product-info__title-bar {
  background: var(--red);
  border-radius: var(--radius-xl);
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
}
.product-info__title {
  margin: 0;
  color: var(--white);
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 700;
}
.product-info__excerpt { margin-bottom: 1rem; color: var(--gray-700); font-size: 0.9375rem; }
.product-info__price { margin-bottom: 1rem; font-size: 1.25rem; font-weight: 700; }

.product-add-to-cart__row {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.product-add-to-cart .single_add_to_cart_button { flex: 1; min-width: 200px; padding: 0.75rem 1.5rem !important; font-size: 0.875rem !important; }

.qty-control {
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-full);
  overflow: hidden;
}
.qty-control--pink { background: var(--pink); }
.qty-control--gray { background: var(--gray-100); }
.qty-control__btn {
  background: none;
  border: none;
  color: var(--amber);
  font-size: 1.125rem;
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  line-height: 1;
}
.qty-control__input,
.qty-control input.qty {
  width: 2.5rem !important;
  text-align: center;
  border: none !important;
  background: transparent !important;
  font-weight: 700;
  font-size: 0.875rem;
  padding: 0.5rem 0 !important;
  margin: 0 !important;
  -moz-appearance: textfield;
}
.qty-control__input::-webkit-outer-spin-button,
.qty-control__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.product-wishlist-fallback,
.product-info__wishlist a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--gray-600);
  text-decoration: none;
  margin-top: 0.75rem;
}
.product-wishlist-fallback:hover { color: var(--red); }

/* Nutritional */
.nutritional-section {
  background: var(--white);
  border-radius: var(--radius-2xl);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  padding: 1.5rem;
  margin-bottom: 2rem;
}
.nutritional-section__title {
  font-family: var(--font-serif);
  color: var(--amber);
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 1rem;
}
.nutritional-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.nutritional-table thead tr { background: var(--gray-100); }
.nutritional-table th {
  text-align: left;
  padding: 0.75rem;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  color: var(--gray-600);
  font-weight: 700;
}
.nutritional-table td { padding: 0.75rem; border-bottom: 1px solid var(--gray-100); }
.nutritional-section__note {
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  color: var(--gray-500);
  margin: 1rem 0 0;
}

/* Related */
.related-products-section__title {
  font-family: var(--font-serif);
  color: var(--amber);
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 1rem;
}
.related-products-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .related-products-grid { grid-template-columns: repeat(3, 1fr); }
}
.related-card {
  background: var(--white);
  border-radius: var(--radius-xl);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  overflow: hidden;
}
.related-card__image { width: 100%; display: block; }
.related-card__bar { height: 0.5rem; background: var(--red); }
.related-card__body { padding: 1rem; }
.related-card__title { margin: 0 0 0.5rem; font-size: 0.9375rem; }
.related-card__title a { color: inherit; text-decoration: none; }
.related-card__price { font-weight: 600; }

/* Cart */
.cart-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .cart-layout { grid-template-columns: 1fr 400px; }
}
.cart-page-title {
  font-family: var(--font-serif);
  color: var(--amber);
  font-weight: 900;
  font-size: 2.5rem;
  margin: 0 0 2rem;
}
@media (min-width: 768px) {
  .cart-page-title { font-size: 3rem; }
}

.cart-item {
  background: var(--white);
  border-radius: var(--radius-2xl);
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  padding: 1rem;
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
}
.cart-item__image img { border-radius: var(--radius-xl); max-width: 140px; height: auto; }
.cart-item__details { flex: 1; }
.cart-item__name { margin: 0 0 0.5rem; font-size: 1rem; }
.cart-item__name a { color: inherit; text-decoration: none; }
.cart-item__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 0.75rem;
}
.cart-item__remove {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  color: var(--gray-500);
  text-decoration: none;
}
.cart-item__remove:hover { color: var(--red); }
.cart-item__price { font-weight: 600; white-space: nowrap; }

.cart-coupon {
  display: flex;
  gap: 0.5rem;
  padding-top: 1rem;
}
.cart-coupon__input {
  flex: 1;
  background: var(--gray-100);
  border: none;
  border-radius: var(--radius-xl);
  padding: 0.75rem 1rem;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  outline: none;
}
.cart-coupon__apply { border-radius: var(--radius-xl) !important; padding: 0.75rem 1.5rem !important; }

.order-summary-card {
  background: var(--white);
  border-radius: var(--radius-2xl);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  height: fit-content;
}
.order-summary-card__label {
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  color: var(--gray-500);
  margin: 0;
}
.order-summary-card__title {
  font-family: var(--font-serif);
  color: var(--amber);
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
}
.order-summary-card__hr { border: none; border-top: 1px solid var(--gray-200); margin: 0.25rem 0; }
.order-summary-card__row {
  display: flex;
  justify-content: space-between;
  font-size: 0.875rem;
}
.order-summary-card__row--total {
  font-family: var(--font-serif);
  color: var(--amber);
  font-weight: 700;
  font-size: 1.125rem;
}
.order-summary-card__checkout,
.order-summary-card__continue { width: 100%; text-align: center; margin-top: 0.25rem; }

/* Checkout */
.store-checkout__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .store-checkout__grid { grid-template-columns: 1fr 1fr; }
}
.store-checkout .form-row input,
.store-checkout .form-row textarea,
.store-checkout .form-row select {
  background: var(--gray-100);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-xl);
  padding: 0.625rem 0.875rem;
}
.store-checkout #place_order,
.store-checkout .button.alt {
  background: var(--red) !important;
  color: var(--white) !important;
  border-radius: var(--radius-full) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  width: 100%;
  padding: 0.875rem !important;
}
.store-checkout__review-title {
  font-family: var(--font-serif);
  color: var(--amber);
  margin-bottom: 1rem;
}

/* Favoritos */
.fav-header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .fav-header { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
.fav-header__label {
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  color: var(--gray-500);
  margin: 0 0 0.5rem;
}
.fav-header__title {
  font-family: var(--font-serif);
  color: var(--red);
  font-weight: 900;
  font-size: 2.5rem;
  margin: 0;
}
@media (min-width: 768px) {
  .fav-header__title { font-size: 3rem; }
}
.fav-header__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
}
.fav-header__sort-select {
  border: none;
  background: transparent;
  font-weight: 600;
  color: var(--gray-700);
  cursor: pointer;
}

.fav-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 640px) {
  .fav-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .fav-grid { grid-template-columns: repeat(3, 1fr); }
}

.fav-card {
  background: var(--white);
  border-radius: var(--radius-xl);
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  overflow: hidden;
}
.fav-card__image-area {
  background: var(--pink);
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.fav-card__image-area img {
  max-height: 160px;
  width: auto;
  object-fit: contain;
}
.fav-card__heart {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text);
}
.fav-card__body { padding: 1rem; }
.fav-card__title { margin: 0 0 0.75rem; font-size: 0.9375rem; }
.fav-card__title a { color: inherit; text-decoration: none; }
.fav-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.fav-card__buy { font-size: 0.6875rem !important; padding: 0.375rem 1rem !important; }

.fav-add-more {
  border: 2px dashed var(--gray-300);
  border-radius: var(--radius-xl);
  background: var(--white);
  min-height: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  color: var(--gray-400);
  text-decoration: none;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  transition: border-color 0.2s, color 0.2s;
}
.fav-add-more:hover { border-color: var(--red); color: var(--red); }

.fav-fallback-message { grid-column: 1 / -1; color: var(--gray-600); }

/* Footer */
.store-footer {
  background: var(--white);
  border-top: 1px solid var(--gray-200);
  margin-top: 2rem;
  padding: 1.5rem 0;
}
.store-footer__copy { margin: 0; font-size: 0.8125rem; color: var(--gray-600); text-align: center; }

/* WooCommerce overrides */
.woocommerce .woocommerce-notices-wrapper { margin-bottom: 1rem; }
.woocommerce-pagination { margin-top: 2rem; text-align: center; }
.woocommerce-result-count,
.woocommerce-ordering { margin-bottom: 1rem; }

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
