/* ==========================================================================
   RYMIA — WooCommerce
   ========================================================================== */

.rymia-shop { padding: clamp(40px, 6vw, 80px) 0 clamp(70px, 9vw, 120px); }
.rymia-shop-header { text-align: center; margin: 0 auto clamp(40px, 6vw, 70px); }
.rymia-shop-header h1 { font-size: clamp(2.4rem, 5vw, 4rem); }
.rymia-shop-header__desc { max-width: 60ch; margin: 16px auto 0; color: var(--rymia-muted); }

.rymia-breadcrumb {
  font-family: var(--rymia-font-label); text-transform: uppercase; letter-spacing: 0.18em;
  font-size: 10.5px; color: var(--rymia-muted); margin-bottom: 30px;
}
.rymia-breadcrumb a { color: var(--rymia-emerald); }
.rymia-crumb-sep { margin: 0 10px; color: var(--rymia-gold); }

/* Result count + ordering */
.woocommerce-result-count {
  font-family: var(--rymia-font-label); letter-spacing: 0.14em; text-transform: uppercase;
  font-size: 11px; color: var(--rymia-muted); margin-bottom: 30px;
}
.woocommerce-ordering select {
  font-family: var(--rymia-font-label); text-transform: uppercase; letter-spacing: 0.14em;
  font-size: 11px; padding: 12px 36px 12px 16px; border: 1px solid color-mix(in srgb, var(--rymia-gold) 40%, transparent);
  background: var(--rymia-ivory); color: var(--rymia-emerald); border-radius: 0; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23B68A3E' fill='none' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}

/* ----- Product grid / cards ----- */
.woocommerce ul.products,
.rymia-products .products {
  display: grid !important; grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.6vw, 44px); margin: 0; padding: 0; list-style: none;
}
.woocommerce ul.products li.product,
.rymia-products .products li.product { margin: 0 !important; width: auto !important; float: none !important; text-align: left; }

.woocommerce ul.products li.product .rymia-card__media,
li.product .rymia-card__media {
  position: relative; aspect-ratio: 1/1; overflow: hidden; background: var(--rymia-sand); margin-bottom: 20px;
}
.rymia-card__media .rymia-card__img,
li.product .rymia-card__media img {
  width: 100%; height: 100%; object-fit: cover; margin: 0;
}
.rymia-card__img--main { transition: opacity 0.7s var(--rymia-ease), transform 1.1s var(--rymia-ease); }
.rymia-card__img--hover {
  position: absolute; inset: 0; opacity: 0; transition: opacity 0.7s var(--rymia-ease), transform 1.1s var(--rymia-ease);
}
li.product:hover .rymia-card__img--main { opacity: 0; }
li.product:hover .rymia-card__img--hover { opacity: 1; }
li.product:hover .rymia-card__media img { transform: scale(1.04); }

.rymia-onsale, .woocommerce span.onsale {
  position: absolute; top: 14px; left: 14px; z-index: 3; margin: 0;
  background: var(--rymia-emerald); color: var(--rymia-gold-soft);
  font-family: var(--rymia-font-label); letter-spacing: 0.2em; text-transform: uppercase;
  font-size: 10px; padding: 7px 13px; min-height: 0; min-width: 0; border-radius: 0; line-height: 1;
}

.rymia-card__eyebrow {
  display: block; font-family: var(--rymia-font-label); text-transform: uppercase;
  letter-spacing: 0.2em; font-size: 10px; color: var(--rymia-gold); margin-bottom: 8px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
li.product .woocommerce-loop-product__title {
  font-family: var(--rymia-font-display) !important; font-weight: 400 !important;
  font-size: 1.4rem !important; line-height: 1.2; color: var(--rymia-emerald);
  padding: 0 !important; margin: 0 0 8px !important;
}
.woocommerce ul.products li.product .price,
li.product .price {
  font-family: var(--rymia-font-body) !important; font-weight: 300; color: var(--rymia-ink) !important;
  font-size: 1rem !important;
}
.woocommerce ul.products li.product .price del { color: var(--rymia-muted); opacity: 0.7; margin-right: 8px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--rymia-gold); }

/* Loop add to cart — quiet, reveal on hover (desktop) */
.woocommerce ul.products li.product .button,
li.product .added_to_cart {
  margin-top: 14px; font-size: 10.5px; padding: 12px 20px;
  border-color: color-mix(in srgb, var(--rymia-emerald) 58%, transparent);
  background: transparent; color: var(--rymia-emerald);
}
@media (hover: hover) and (min-width: 900px) {
  .woocommerce ul.products li.product .button {
    opacity: 0; transform: translateY(6px); transition: opacity 0.4s var(--rymia-ease), transform 0.4s var(--rymia-ease), background 0.4s var(--rymia-ease), color 0.4s var(--rymia-ease);
  }
  li.product:hover .button { opacity: 1; transform: none; }
}

/* Star ratings in gold */
.woocommerce .star-rating span::before,
.woocommerce p.stars a::before { color: var(--rymia-gold); }

/* ----- Single product ----- */
.single-product .rymia-shop { padding-top: clamp(30px, 4vw, 50px); }
.woocommerce div.product { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(32px, 5vw, 80px); }
.woocommerce div.product .woocommerce-product-gallery { margin: 0; width: 100% !important; }
.woocommerce div.product .woocommerce-product-gallery__image img { border-radius: 0; }
.woocommerce div.product .entry-summary { margin: 0; align-self: start; position: sticky; top: 110px; }
.woocommerce div.product .product_title {
  font-family: var(--rymia-font-display); font-weight: 300; font-size: clamp(2rem, 3.6vw, 3rem);
  color: var(--rymia-emerald); margin: 0 0 6px; line-height: 1.05;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--rymia-font-body); font-weight: 300; color: var(--rymia-ink) !important;
  font-size: 1.3rem !important; margin-bottom: 0;
}
.woocommerce div.product p.price ins { text-decoration: none; color: var(--rymia-gold); }
.rymia-single-rule { width: 60px; height: 1px; background: var(--rymia-gold); margin: 22px 0; }
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--rymia-ink); line-height: 1.8; margin-bottom: 30px;
}
.woocommerce div.product form.cart { margin: 26px 0; display: flex; flex-wrap: wrap; gap: 14px; align-items: stretch; }
.woocommerce div.product form.cart .quantity { display: inline-flex; }
.woocommerce .quantity input.qty {
  width: 70px; min-height: 56px; text-align: center; border: 1px solid var(--rymia-emerald);
  background: var(--rymia-ivory); font-family: var(--rymia-font-body); border-radius: 0;
}
.woocommerce div.product form.cart .button { flex: 1; min-height: 56px; }
.woocommerce div.product .product_meta {
  margin-top: 24px; padding-top: 22px; border-top: 1px solid color-mix(in srgb, var(--rymia-gold) 26%, transparent);
  font-family: var(--rymia-font-label); text-transform: uppercase; letter-spacing: 0.12em; font-size: 11px; color: var(--rymia-muted);
}
.woocommerce div.product .product_meta a { color: var(--rymia-emerald); }

/* Trust list */
.rymia-trust { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; }
.rymia-trust li {
  display: flex; align-items: center; gap: 12px; font-family: var(--rymia-font-label);
  text-transform: uppercase; letter-spacing: 0.12em; font-size: 11px; color: var(--rymia-muted);
}
.rymia-trust__dot { width: 5px; height: 5px; background: var(--rymia-gold); border-radius: 50%; flex: none; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: clamp(50px, 7vw, 90px); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 30px; border-bottom: 1px solid color-mix(in srgb, var(--rymia-gold) 26%, transparent); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none; border: 0; border-radius: 0; padding: 0; margin: 0 36px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--rymia-font-label); text-transform: uppercase; letter-spacing: 0.18em;
  font-size: 12px; color: var(--rymia-muted); padding: 0 0 16px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--rymia-emerald); box-shadow: inset 0 -1px 0 var(--rymia-gold); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 760px; }
.woocommerce div.product .woocommerce-tabs h2 { font-size: 1.6rem; }

/* Related */
.woocommerce .related > h2, .woocommerce .upsells > h2 {
  font-family: var(--rymia-font-display); font-weight: 300; font-size: 2rem; text-align: center;
  margin-bottom: 44px; color: var(--rymia-emerald);
}
.woocommerce .related, .woocommerce .upsells { grid-column: 1 / -1; margin-top: clamp(50px, 7vw, 90px); }

/* ----- Notices ----- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top-color: var(--rymia-gold); background: var(--rymia-sand-soft); border-radius: 0;
  font-family: var(--rymia-font-body); color: var(--rymia-ink);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--rymia-gold); }

/* ----- Cart & checkout ----- */
.woocommerce-cart .rymia-shop, .woocommerce-checkout .rymia-shop, .woocommerce-account .rymia-shop { padding-top: clamp(30px,4vw,60px); }
.woocommerce table.shop_table {
  border: 1px solid color-mix(in srgb, var(--rymia-gold) 24%, transparent); border-radius: 0; border-collapse: collapse;
}
.woocommerce table.shop_table th {
  font-family: var(--rymia-font-label); text-transform: uppercase; letter-spacing: 0.14em; font-size: 11px; color: var(--rymia-emerald);
}
.woocommerce-cart table.cart img { width: 90px; }
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt, .woocommerce button.button.alt {
  background: var(--rymia-emerald); border-color: var(--rymia-emerald);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection {
  border: 1px solid color-mix(in srgb, var(--rymia-emerald) 40%, transparent); border-radius: 0;
  padding: 14px 16px; font-family: var(--rymia-font-body); background: var(--rymia-ivory);
}
.woocommerce-checkout #payment { background: var(--rymia-sand-soft); border-radius: 0; }
.cart_totals h2, .woocommerce-checkout h3, .woocommerce-billing-fields h3 {
  font-family: var(--rymia-font-display); font-weight: 300; color: var(--rymia-emerald);
}

@media (max-width: 980px) {
  .woocommerce ul.products, .rymia-products .products { grid-template-columns: repeat(2, 1fr); }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce div.product .entry-summary { position: static; }
}
@media (max-width: 480px) {
  .woocommerce ul.products, .rymia-products .products { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.15rem !important; }
}
