/* RuCollection Atelier v1.2.1 — precise editorial product grid + premium WooCommerce product page. */
:root {
  --rc-ink:#191816;
  --rc-linen:#f5f0ec;
  --rc-off:#fbf9f6;
  --rc-stone:#ded6cf;
  --rc-blue:#dfe7fa;
  --rc-blue-text:#2f55bb;
  --rc-rounded:24px;
}

/* Brand: use custom logo when provided; otherwise the RuCollection wordmark. */
.site-header .site-brand {font-size:clamp(24px,2.4vw,36px);letter-spacing:-.065em;font-weight:600;color:var(--rc-ink);text-transform:none !important}
.site-header .header-pill {background:rgba(246,242,238,.91);border-radius:28px;backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px)}
.site-header .header-pill .desktop-nav .menu>li>a {font-weight:500}
.footer-logo {font-family:var(--font-body);font-weight:650;letter-spacing:-.055em}

/* Editorial product archive: EXACT 1:2:1 / 2:1:1 tracks like the reference. */
.archive-products,
.product-section,
.section:has(> .section-heading + ul.products.products-grid--latest) {
  min-width:0;
  container-type:inline-size;
}
.archive-products ul.products,
.woocommerce .archive-products ul.products,
.woocommerce-page .archive-products ul.products,
.product-section ul.products.products-grid--home,
.woocommerce .product-section ul.products.products-grid--home,
.section ul.products.products-grid--latest,
.woocommerce .section ul.products.products-grid--latest {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:clamp(250px,36cqw,500px) !important;
  grid-auto-flow:row dense !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  width:100% !important;
}
:is(.archive-products,.product-section,.section) ul.products > li.product {
  float:none !important;
  clear:none !important;
  display:block !important;
  position:relative;
  box-sizing:border-box;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  height:100%;
  grid-column:span 1 !important;
}
:is(.archive-products,.product-section,.section) ul.products > li.product:nth-child(6n + 2),
:is(.archive-products,.product-section,.section) ul.products > li.product:nth-child(6n + 4) {
  grid-column:span 2 !important;
}
:is(.archive-products,.product-section,.section) ul.products > li.product:nth-child(6n + 1),
:is(.archive-products,.product-section,.section) ul.products > li.product:nth-child(6n + 3),
:is(.archive-products,.product-section,.section) ul.products > li.product:nth-child(6n + 5),
:is(.archive-products,.product-section,.section) ul.products > li.product:nth-child(6n + 6) {
  grid-column:span 1 !important;
}
.archive-products ul.products::before,
.archive-products ul.products::after,
.product-section ul.products::before,
.product-section ul.products::after {display:none !important;content:none !important}

/* Each item fills exactly one row, regardless of media image aspect ratio. */
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__shell {height:100%;min-height:0}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__media,
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card:nth-child(n) .product-card__media {
  aspect-ratio:auto !important;
  height:100% !important;
  min-height:0 !important;
  border-radius:22px !important;
  background:#c9c0bb !important;
  isolation:isolate;
  overflow:hidden !important;
}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__media>a:first-child {position:absolute;inset:0;display:block;width:100%;height:100%}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__main-image,
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__hover-image {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center;
}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__footer-overlay {
  inset:auto 10px 10px 10px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:9px;
  width:auto;
}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__title-pill {
  max-width:max-content;
  min-width:0;
  padding:9px 12px 10px;
  border-radius:18px;
  background:rgba(245,241,236,.95);
}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .woocommerce-loop-product__title {
  margin:0 !important;
  font-family:var(--font-body) !important;
  font-weight:500 !important;
  font-size:clamp(13px,1.45vw,19px) !important;
  line-height:1.15 !important;
  letter-spacing:-.03em !important;
  overflow-wrap:anywhere;
}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__price-pill {
  min-width:0;
  padding:8px 11px 9px;
  border-radius:18px;
  background:rgba(245,241,236,.95);
  line-height:1.12;
  text-align:right;
}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__price-pill :is(.woocommerce-Price-amount,.price) {
  font-size:clamp(12px,1.35vw,18px) !important;
  font-weight:600;
}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__price-pill del .woocommerce-Price-amount {font-size:11px !important;color:#88817b !important}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__chips--left {top:8px;left:8px}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__chips--right {top:8px;right:8px}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-chip {
  padding:6px 10px;
  min-height:30px;
  font-size:12px;
  border-radius:999px;
}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__actions {
  opacity:0;
  pointer-events:none;
  transition:opacity .2s;
}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card:hover .product-card__actions,
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card:focus-within .product-card__actions {opacity:1;pointer-events:auto}
:is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__media:focus-within {outline:2px solid #514941;outline-offset:2px}

/* Related products are a simple 4-up product selection, not an editorial masonry grid. */
.woocommerce .ruc-single-product .related.products ul.products,
.woocommerce .ruc-single-product .upsells.products ul.products,
.ruc-single-product .related.products ul.products,
.ruc-single-product .upsells.products ul.products {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  gap:12px !important;
}
.woocommerce .ruc-single-product .related.products ul.products > li.product,
.woocommerce .ruc-single-product .upsells.products ul.products > li.product,
.ruc-single-product .related.products ul.products > li.product,
.ruc-single-product .upsells.products ul.products > li.product {
  grid-column:span 1 !important;
  width:auto !important;
  margin:0 !important;
}
.ruc-single-product .related.products .product-card__media,
.ruc-single-product .upsells.products .product-card__media {aspect-ratio:3/4 !important;height:auto !important}

/* RuCollection single product: paired image/editorial purchase column. */
.single-product-page.container {width:min(100% - (var(--gutter)*2),1500px);padding-top:20px;padding-bottom:100px}
.single-product-page .woocommerce-breadcrumb {font-size:11px !important;color:#857b73 !important;margin:8px 0 22px !important}
.ruc-single-product .product-detail-grid {
  display:grid !important;
  grid-template-columns:minmax(0,1.09fr) minmax(330px,.91fr) !important;
  gap:clamp(24px,4.5vw,68px) !important;
  align-items:start;
}
.ruc-single-product .product-detail-media {position:relative;min-width:0}
.ruc-single-product .product-detail-media .woocommerce-product-gallery {width:100% !important;float:none !important;margin:0 !important}
.ruc-single-product .product-detail-media .woocommerce-product-gallery__wrapper,
.ruc-single-product .product-detail-media .flex-viewport {
  border-radius:26px !important;
  background:#c6bbb3;
  overflow:hidden !important;
}
.ruc-single-product .product-detail-media .woocommerce-product-gallery__image {overflow:hidden !important;background:#cbc0b7}
.ruc-single-product .product-detail-media .woocommerce-product-gallery__image img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:1.02/1 !important;
  object-fit:cover !important;
}
.ruc-single-product .product-detail-media .woocommerce-product-gallery .flex-control-thumbs {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:12px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
}
.ruc-single-product .product-detail-media .woocommerce-product-gallery .flex-control-thumbs li {width:100% !important;float:none !important;border-radius:16px;background:#e3dad3;overflow:hidden}
.ruc-single-product .product-detail-media .woocommerce-product-gallery .flex-control-thumbs img {width:100% !important;height:auto !important;aspect-ratio:1.05/1 !important;object-fit:cover !important;opacity:.75}
.ruc-single-product .product-detail-media .woocommerce-product-gallery .flex-control-thumbs img.flex-active {opacity:1;outline:2px solid #62594f;outline-offset:-2px}
.ruc-single-product .product-detail-media .woocommerce-product-gallery .woocommerce-product-gallery__trigger {top:12px !important;right:12px !important;border-radius:999px !important;background:#f6f3ef !important;z-index:7 !important}
.ruc-single-product .product-detail-media .onsale {display:none !important}
.ruc-product-image-badges {position:absolute;top:12px;left:12px;z-index:5;display:flex;flex-direction:column;align-items:flex-start;gap:7px;pointer-events:none}
.ruc-product-image-badges > span {border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:9px 15px;min-height:36px;background:var(--rc-blue);color:var(--rc-blue-text);font-size:13px;font-weight:700;box-shadow:0 6px 15px #34291e1a}
.ruc-product-image-badges > .ruc-gallery-stock {font-size:11px;min-height:29px;padding:6px 12px;background:rgba(247,243,240,.92);color:#342b26}
.ruc-single-product .product-summary-sticky {position:sticky;top:115px;padding:16px 0 0}
.ruc-product-topline {display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:12px;border-bottom:1px solid #e3dcd6}
.ruc-single-product .product-detail-kicker {font-family:var(--font-body);font-size:11px;font-weight:650;letter-spacing:.11em;color:#77695d}
.ruc-product-sku {max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9c928a;font-size:11px}
.ruc-product-category {display:flex;flex-wrap:wrap;gap:6px;margin-top:23px}
.ruc-product-category a {display:inline-flex;align-items:center;border:1px solid #ddd5cd;border-radius:999px;padding:6px 13px;color:#63584d;font-size:11px;font-weight:600;line-height:1.25;background:#f6f1ec}
.ruc-single-product .product-detail-info .summary.entry-summary {float:none !important;width:100% !important;margin:8px 0 0 !important}
.ruc-single-product .product-detail-info .product_title {
  font-family:var(--font-body) !important;
  color:var(--rc-ink);
  font-weight:500 !important;
  letter-spacing:-.06em !important;
  font-size:clamp(36px,4vw,62px) !important;
  line-height:1.04 !important;
  margin:12px 0 21px !important;
}
.ruc-single-product .product-detail-info .woocommerce-product-rating {margin:0 0 18px !important;font-size:12px}
.ruc-single-product .product-detail-info .summary > p.price,
.ruc-single-product .product-detail-info .summary > div.price {
  display:inline-flex !important;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:center;
  gap:10px;
  margin:0 0 25px !important;
  background:#eee7e1 !important;
  border-radius:19px !important;
  padding:14px 19px !important;
  font:600 clamp(22px,2.4vw,33px)/1.1 var(--font-body) !important;
  color:#26221f !important;
}
.ruc-single-product .product-detail-info .summary > .price .woocommerce-Price-amount {font:inherit;color:inherit}
.ruc-single-product .product-detail-info .summary > .price del {order:1;display:inline-block;color:#9b9087;font-size:14px;opacity:1;margin-right:3px}
.ruc-single-product .product-detail-info .summary > .price del .woocommerce-Price-amount {font-size:14px !important;color:#9b9087}
.ruc-single-product .product-detail-info .summary > .price ins {order:2;text-decoration:none;color:#2b2621}
.ruc-single-product .woocommerce-product-details__short-description {font-size:14px;color:#756e67;line-height:1.75;border-top:1px solid #e6e0da;padding:20px 0 0;margin:0 0 18px}
.ruc-single-product .product-detail-info form.cart {display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:16px 0 0 !important;padding:15px 0 0;border-top:1px solid #e7dfd9}
.ruc-single-product .product-detail-info form.cart .quantity {flex:0 0 auto;margin:0 !important}
.ruc-single-product .product-detail-info form.cart .quantity input.qty {border-radius:16px !important;border:1px solid #d7cec6 !important;min-width:76px;height:58px !important;font-size:16px !important;background:#f7f2ee}
.woocommerce .ruc-single-product .product-detail-info form.cart button.single_add_to_cart_button,
.woocommerce .ruc-single-product .product-detail-info form.cart a.single_add_to_cart_button,
.ruc-single-product .product-detail-info form.cart .single_add_to_cart_button {
  flex:1 1 240px;
  min-height:58px !important;
  border-radius:16px !important;
  background:#292420 !important;
  border:1px solid #292420 !important;
  color:#fff !important;
  font:600 13px/1.2 var(--font-body) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  padding:16px 25px !important;
  box-shadow:none;
}
.woocommerce .ruc-single-product .product-detail-info form.cart button.single_add_to_cart_button:hover {background:#50453e !important;border-color:#50453e !important}
.ruc-single-product .product-detail-info form.cart .variations {margin:0 0 8px !important}
.ruc-single-product .product-detail-info form.cart .variations label {font-size:12px !important;letter-spacing:0 !important;text-transform:none !important;font-weight:650 !important}
.ruc-single-product .product-detail-info form.cart .variations select {border-radius:14px !important;border:1px solid #d9d1ca !important;background:#f7f4f1 !important;min-height:51px !important;padding:11px 16px !important;color:#26221f}
.ruc-single-product .product-detail-info form.cart .woocommerce-variation-add-to-cart {display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.ruc-single-product .product-detail-info form.cart .single_variation_wrap {width:100%}
.ruc-single-product .product-detail-info form.cart .woocommerce-variation-price .price {display:inline-flex !important;padding:9px 0 !important;font-size:21px !important;color:#292420 !important}
.ruc-single-product .product-detail-info form.cart .reset_variations {color:#94867b;font-size:12px}
.ruc-single-product .product-detail-info .product_meta {border:0 !important;padding:2px 0 0 !important;margin:19px 0 0 !important;font-size:11px;color:#8b8177;gap:6px}
.ruc-single-product .ruc-product-services {
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  border:1px solid #e5dfd9;
  background:#f6f2ee;
  border-radius:22px;
  margin:25px 0 0;
  padding:19px 22px;
}
.ruc-single-product .ruc-product-services > div {display:flex;align-items:center;gap:11px;font-size:12px;color:#615850;line-height:1.4}
.ruc-single-product .ruc-service-icon {display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border:1px solid #d7cfc7;border-radius:50%;font-size:14px;color:#4b3e34}
.ruc-single-product .product-detail-extras {padding-top:clamp(55px,7vw,110px);clear:both}
.ruc-single-product .woocommerce-tabs {border-top:1px solid #e4ddd5;padding-top:30px}
.ruc-single-product .woocommerce-tabs ul.tabs {gap:clamp(15px,2.5vw,44px) !important}
.ruc-single-product .woocommerce-tabs ul.tabs li a {font:600 12px var(--font-body) !important;letter-spacing:0 !important;text-transform:none !important}
.ruc-single-product .woocommerce-tabs .panel {max-width:970px;margin-bottom:75px !important;font-size:14px;line-height:1.9}
.ruc-single-product .related.products>h2,.ruc-single-product .upsells.products>h2 {font:500 clamp(29px,3vw,44px)/1.2 var(--font-body) !important;letter-spacing:-.04em;margin-bottom:24px}

/* Shop cards use fewer effects on touch devices so buttons remain usable. */
@media (hover:none) {
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__actions {opacity:1;pointer-events:auto}
}

@media(max-width:1000px){
  .ruc-single-product .product-detail-grid {grid-template-columns:minmax(0,1fr) minmax(290px,.9fr) !important;gap:25px !important}
  .ruc-single-product .product-summary-sticky {top:95px}
  .ruc-single-product .product-detail-info .product_title {font-size:clamp(32px,4.3vw,48px) !important}
  .ruc-single-product .related.products ul.products,.woocommerce .ruc-single-product .related.products ul.products {grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:800px){
  .archive-products ul.products,
  .woocommerce .archive-products ul.products,
  .woocommerce-page .archive-products ul.products,
  .product-section ul.products.products-grid--home,
  .woocommerce .product-section ul.products.products-grid--home,
  .section ul.products.products-grid--latest,
  .woocommerce .section ul.products.products-grid--latest {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows:auto !important;
    grid-auto-flow:row !important;
    gap:11px !important;
  }
  :is(.archive-products,.product-section,.section) ul.products > li.product,
  :is(.archive-products,.product-section,.section) ul.products > li.product:nth-child(6n + 2),
  :is(.archive-products,.product-section,.section) ul.products > li.product:nth-child(6n + 4) {grid-column:span 1 !important;height:auto !important}
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__media,
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card:nth-child(n) .product-card__media {height:auto !important;aspect-ratio:.76/1 !important}
  .ruc-single-product .product-detail-grid {grid-template-columns:1fr !important;gap:32px !important}
  .ruc-single-product .product-summary-sticky {position:static;padding-top:0}
  .ruc-single-product .product-detail-info .product_title {font-size:clamp(35px,7vw,52px) !important}
  .ruc-single-product .product-detail-media {margin:0}
}
@media(max-width:580px){
  .site-header .site-brand {font-size:23px}
  .single-product-page.container {width:calc(100% - 28px);padding:14px 0 75px}
  .ruc-single-product .product-detail-media .woocommerce-product-gallery__wrapper,
  .ruc-single-product .product-detail-media .flex-viewport {border-radius:20px !important}
  .ruc-single-product .product-detail-media .woocommerce-product-gallery .flex-control-thumbs {gap:7px !important;margin-top:8px !important}
  .ruc-single-product .product-detail-media .woocommerce-product-gallery .flex-control-thumbs li {border-radius:10px}
  .ruc-single-product .product-detail-info {padding-top:0}
  .ruc-single-product .product-detail-info .product_title {font-size:36px !important}
  .ruc-single-product .product-detail-info .summary > p.price {font-size:24px !important;margin-bottom:18px !important}
  .ruc-single-product .product-detail-info form.cart {gap:8px}
  .ruc-single-product .product-detail-info form.cart .quantity input.qty {width:67px !important;min-width:67px;height:54px !important}
  .woocommerce .ruc-single-product .product-detail-info form.cart button.single_add_to_cart_button {min-height:54px !important;flex:1 1 140px}
  .ruc-single-product .ruc-product-services {padding:16px}
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__media,
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card:nth-child(n) .product-card__media {aspect-ratio:.79/1 !important;border-radius:17px !important}
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__footer-overlay {left:6px;right:6px;bottom:7px;gap:5px}
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__title-pill {padding:6px 7px;border-radius:10px;max-width:none}
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .woocommerce-loop-product__title {font-size:12px !important;line-height:1.15 !important}
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__price-pill {padding:6px 7px;border-radius:10px}
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__price-pill :is(.woocommerce-Price-amount,.price) {font-size:11px !important}
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__price-pill del .woocommerce-Price-amount {font-size:9px !important}
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-chip {font-size:10px;min-height:24px;padding:4px 8px}
  :is(.archive-products,.product-section,.section) ul.products > li.product.forma-product-card .product-card__actions {top:auto;bottom:51px;right:6px;transform:none}
}


/* v1.2.1 hero visibility: the opaque legacy ::before pseudo-element was hiding the photo. */
.home-hero {
  position:relative;
  isolation:isolate;
  background-color:#9c8574;
  background-repeat:no-repeat;
  background-position:center 30%;
  background-size:cover;
  overflow:hidden;
}
.home-hero::before {content:none !important;display:none !important}
.home-hero__image {
  position:absolute;
  inset:0;
  z-index:-2;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center 30%;
  pointer-events:none;
}
.home-hero .hero-scrim {
  z-index:-1;
  background:linear-gradient(90deg,rgba(20,18,16,.25),transparent 76%),
             linear-gradient(0deg,rgba(20,18,16,.32),transparent 50%);
}
.home-hero .hero-content {position:relative;z-index:1}
@media (max-width:580px) {
  .home-hero {background-position:center center}
  .home-hero__image {object-position:center center}
}
