/* =========================================================================
   RC 1.5 — WooCommerce (replaces Woo's own front-end CSS, which is dequeued)
   ========================================================================= */

/* ---------- Breadcrumbs ---------- */
.rc-crumbs{font-family:var(--rc-font-mono);font-size:12px;letter-spacing:.04em;color:var(--rc-muted);margin:0 0 22px;line-height:1.7}
.rc-crumbs a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.rc-crumbs a:hover{color:var(--rc-orange);border-color:var(--rc-orange)}
.rc-crumbs__sep{margin:0 8px;opacity:.6}

/* ---------- Shop hero ---------- */
.shop-hero{position:relative;overflow:hidden;background:var(--rc-ink);color:var(--rc-paper);padding:56px var(--rc-gutter) 64px;border-bottom:2px solid var(--rc-ink)}
.shop-hero__inner{position:relative;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:56px;align-items:center}
.shop-hero--media .shop-hero__inner{grid-template-columns:1.2fr .8fr}
.shop-hero .rc-crumbs{color:#A9A398}
.shop-hero .hero__eyebrow{margin-bottom:14px}
.shop-hero__title{font-size:clamp(34px,5vw,56px);line-height:1.04;font-weight:700;letter-spacing:-.02em;margin:0 0 18px;max-width:900px}
.shop-hero__desc{font-size:17px;line-height:1.6;color:#D8D3C9;max-width:680px;margin-bottom:28px}
.shop-hero__desc p{margin:0 0 .8em}
.shop-hero__desc a{color:var(--rc-orange)}
.shop-hero__ctas .btn{padding:13px 22px;font-size:13px}
.shop-hero__media .hero__frame img{display:block;width:100%;height:300px;object-fit:cover;background:#fff}

/* ---------- Layout ---------- */
.shop-layout{max-width:1400px;margin:0 auto;padding:56px var(--rc-gutter) 96px}
.shop-layout--sidebar{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:start}
.shop-sidebar{position:sticky;top:110px}
.admin-bar .shop-sidebar{top:142px}

.shop-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:28px;padding-bottom:18px;border-bottom:2px solid var(--rc-ink)}
.shop-toolbar .woocommerce-notices-wrapper{flex-basis:100%}
.shop-toolbar .woocommerce-notices-wrapper:empty{display:none}
.woocommerce-result-count{margin:0;font-family:var(--rc-font-mono);font-size:13px;color:var(--rc-muted)}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select,.rc-facets select,.widget select{font-family:var(--rc-font-mono);font-size:13px;padding:10px 36px 10px 12px;border:2px solid var(--rc-ink);border-radius:0;background:var(--rc-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2312100E' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;color:var(--rc-ink);-webkit-appearance:none;appearance:none;cursor:pointer;max-width:100%}

/* ---------- Facet / widget sidebar (from the design's facets.css) ---------- */
.rc-facets{font-family:var(--rc-font-display);color:var(--rc-ink);width:100%}
.rc-facets__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;margin-bottom:8px;border-bottom:2px solid var(--rc-ink)}
.rc-facets__heading{font-size:13px;font-family:var(--rc-font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0}
.rc-facet-group{border-bottom:2px solid var(--rc-ink);padding:16px 2px 22px}
.rc-facet-group__title{font-weight:700;font-size:15px;letter-spacing:-.01em;margin:0 0 12px}
.rc-facet-group select{width:100%}
.rc-facet-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:14px}
.rc-facet-group ul ul{padding-left:14px;margin-top:2px}
.rc-facet-group li a{display:block;padding:6px 4px;color:var(--rc-ink);text-decoration:none}
.rc-facet-group li a:hover,.rc-facet-group li.current-cat > a{color:var(--rc-orange)}
.rc-facet-group .count{font-family:var(--rc-font-mono);font-size:12px;color:#9A9488}
.rc-facet-group button,.rc-facet-group input[type=submit]{margin-top:10px;font-family:var(--rc-font-mono);font-size:13px;font-weight:600;padding:10px 14px;background:var(--rc-orange);color:var(--rc-ink);border:2px solid var(--rc-ink);border-radius:0;cursor:pointer}
.rc-facets-toggle{display:none;align-items:center;gap:8px;font-family:var(--rc-font-mono);font-size:13px;font-weight:600;padding:12px 18px;background:var(--rc-paper);border:2px solid var(--rc-ink);cursor:pointer;margin-bottom:20px;color:var(--rc-ink)}
.rc-facets-toggle:hover,.rc-facets-toggle[aria-expanded="true"]{box-shadow:4px 4px 0 var(--rc-ink)}
.select2-container--default .select2-selection--single{border:2px solid var(--rc-ink)!important;border-radius:0!important;height:42px!important}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:38px!important;font-family:var(--rc-font-mono);font-size:13px}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:38px!important}
.select2-dropdown{border:2px solid var(--rc-ink)!important;border-radius:0!important}

/* ---------- Product grids (loops + [products] shortcodes inside page content) ---------- */
ul.products{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
ul.products::before,ul.products::after{display:none!important;content:none!important}
.columns-1 ul.products,ul.products.columns-1{grid-template-columns:minmax(0,1fr)}
.columns-2 ul.products,ul.products.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.columns-3 ul.products,ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.columns-5 ul.products,ul.products.columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.columns-6 ul.products,ul.products.columns-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.shop-layout--sidebar ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
ul.products li.product,ul.products li.product-category{width:auto!important;float:none!important;margin:0!important;padding:0!important;border:2px solid var(--rc-ink);background:var(--rc-paper);position:relative;list-style:none;text-align:left}
ul.products li.product-card:hover{transform:translateY(-6px);box-shadow:8px 8px 0 var(--rc-ink)}
ul.products li.product-card--cat .product-card__meta{color:var(--rc-blue)}
/* Cards from plugins/old templates that don't use the theme card markup */
ul.products li.product:not(.product-card) a{display:block;color:var(--rc-ink);text-decoration:none}
ul.products li.product:not(.product-card) img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-bottom:2px solid var(--rc-ink);margin:0}
ul.products li.product:not(.product-card) h2,ul.products li.product:not(.product-card) .woocommerce-loop-product__title{font-size:15px;font-weight:600;padding:14px 16px;margin:0}
ul.products li .price,ul.products li .button,ul.products li .added_to_cart,ul.products li .onsale,ul.products li .star-rating{display:none!important}

/* ---------- Notices ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{list-style:none;margin:0 0 24px;padding:16px 18px;border:2px solid var(--rc-ink);background:var(--rc-sand);font-family:var(--rc-font-mono);font-size:13px;color:var(--rc-ink)}
.woocommerce-error{background:#FFE3D6}
.woocommerce-message .button,.woocommerce-info .button{float:right;font-family:var(--rc-font-mono);font-weight:600;color:var(--rc-ink)}

/* ---------- Single product ---------- */
.product-page{max-width:1400px;margin:0 auto;padding:36px var(--rc-gutter) 0}
.rc-product__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:start;padding-bottom:88px}
.rc-product__media{position:sticky;top:110px}
.admin-bar .rc-product__media{top:142px}

/* Gallery */
.woocommerce-product-gallery{position:relative;margin:0;opacity:1!important}
.woocommerce-product-gallery__wrapper{margin:0;transition:all cubic-bezier(.795,-.035,0,1) .5s}
.woocommerce-product-gallery .flex-viewport,.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper{border:3px solid var(--rc-ink);box-shadow:14px 14px 0 var(--rc-blue);background:#fff}
.woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper{border:0;box-shadow:none}
.woocommerce-product-gallery__image a{display:block}
.woocommerce-product-gallery__image img{display:block;width:100%;height:auto;margin:0}
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:nth-child(n+2){display:inline-block;width:calc(25% - 3px);border-top:2px solid var(--rc-ink)}
.woocommerce-product-gallery__trigger{position:absolute;top:14px;right:14px;z-index:9;width:40px;height:40px;background:var(--rc-paper);border:2px solid var(--rc-ink);font-size:0;text-indent:-9999px;overflow:hidden}
.woocommerce-product-gallery__trigger::before{content:'';position:absolute;top:9px;left:9px;width:13px;height:13px;border:2px solid var(--rc-ink);border-radius:50%}
.woocommerce-product-gallery__trigger::after{content:'';position:absolute;top:24px;left:22px;width:8px;height:2px;background:var(--rc-ink);transform:rotate(45deg)}
.woocommerce-product-gallery__trigger:hover{background:var(--rc-orange)}
.woocommerce-product-gallery .flex-control-thumbs{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.woocommerce-product-gallery .flex-control-thumbs li{margin:0}
.woocommerce-product-gallery .flex-control-thumbs img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:2px solid var(--rc-ink);cursor:pointer;opacity:.6;transition:opacity .15s ease,box-shadow .15s ease}
.woocommerce-product-gallery .flex-control-thumbs img:hover,.woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active{box-shadow:4px 4px 0 var(--rc-orange)}

/* Summary */
.rc-product__summary{min-width:0}
.rc-product__eyebrow{margin-bottom:12px}
.rc-product__summary .product_title{font-size:clamp(30px,3.4vw,44px);line-height:1.06;font-weight:700;letter-spacing:-.02em;margin:0 0 24px}
.woocommerce-product-details__short-description{font-size:17px;line-height:1.65;color:var(--rc-body);margin-bottom:28px}
.woocommerce-product-details__short-description > p{margin:0 0 1em}
.woocommerce-product-details__short-description > p:empty{display:none}
.woocommerce-product-details__short-description a{color:var(--rc-blue)}
.woocommerce-product-details__short-description ul{padding-left:1.2em}
.woocommerce-product-details__short-description #prod-contact{display:none}/* old in-content CTA, replaced by the quote box */

/* Swatch links + panels (content from /wp-content/uploads/swatches/*.html) */
.swatch-onpage{border:2px solid var(--rc-ink);background:var(--rc-paper);margin:0 0 -2px}
.swatch-onpage + :not(.swatch-onpage){margin-top:24px}
.swatch-onpage > p:empty,.swatch-onpage > br{display:none}
.swatch-onpage > a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;font-family:var(--rc-font-mono);font-size:14px;font-weight:600;color:var(--rc-ink)!important;text-decoration:none;cursor:pointer}
.swatch-onpage > a::after{content:'';width:14px;height:14px;flex:none;background:linear-gradient(var(--rc-ink),var(--rc-ink)) center/14px 2px no-repeat,linear-gradient(var(--rc-ink),var(--rc-ink)) center/2px 14px no-repeat;transition:transform .2s ease}
.swatch-onpage > a:hover{background:var(--rc-orange)}
.swatch-onpage.is-open > a{background:var(--rc-ink);color:var(--rc-paper)!important}
.swatch-onpage.is-open > a::after{background:linear-gradient(var(--rc-paper),var(--rc-paper)) center/14px 2px no-repeat;transform:rotate(180deg)}
.iswatch{height:0;overflow:hidden;background:transparent!important;border:0!important;box-shadow:none!important}
.iswatch.is-open{height:auto;max-height:520px;overflow-y:auto;border-top:2px solid var(--rc-ink)!important;overscroll-behavior:contain;scrollbar-color:var(--rc-orange) var(--rc-sand)}
.iswatch__loading{padding:20px 18px;font-family:var(--rc-font-mono);font-size:13px;color:var(--rc-muted)}
.iswatch .outer-swatch{width:100%;height:auto;max-height:none;overflow:visible;text-align:left;padding:16px 18px 22px}
.iswatch .swatch-banner{height:auto;margin:0 0 6px;text-align:left}
.iswatch .swatch-banner h2{font-family:var(--rc-font-mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--rc-blue);margin:0;height:auto}
.iswatch .int-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:12px 10px;text-align:left;min-height:0;min-width:0}
.iswatch .grade{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:12px 10px;width:auto!important;height:auto!important;margin:0!important}
.iswatch .grade > br{display:none}
.iswatch .line-out{grid-column:1/-1;display:block;width:100%;margin:12px 0 2px}
.iswatch .line-out h3{margin:0;font-family:var(--rc-font-mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--rc-ink);border-bottom:2px solid var(--rc-ink);padding-bottom:6px;text-align:left}
.iswatch .line-out h3 span{background:none;position:static;padding:0}
.iswatch .choice-img{position:relative;display:flex!important;flex-direction:column;gap:6px;width:auto!important;height:auto!important;padding:0!important;margin:0!important;cursor:pointer;text-align:left}
.iswatch .choice-img img,.iswatch .swatch-inside{display:block;width:100%!important;height:auto!important;aspect-ratio:1;object-fit:cover;border:2px solid var(--rc-ink)!important;border-radius:0!important;background:var(--rc-sand);transition:transform .15s ease,box-shadow .15s ease}
.iswatch .choice-img:hover img{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--rc-orange)}
.iswatch .choice-hov{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;background:transparent!important;border:0;opacity:0;cursor:pointer;z-index:1;border-radius:0}
.iswatch .swatch-title,.iswatch .choice-img h4{display:block!important;width:auto;margin:0;font-family:var(--rc-font-mono);font-size:11px;font-weight:500;line-height:1.3;color:var(--rc-ink);text-align:left;word-break:break-word}
.iswatch .choice-img.is-active{grid-column:1/-1;flex-direction:row;align-items:center;gap:18px;background:var(--rc-sand);border:2px solid var(--rc-ink);padding:12px!important}
.iswatch .choice-img.is-active img{width:180px!important;max-width:45%;box-shadow:6px 6px 0 var(--rc-orange)}
.iswatch .choice-img.is-active h4{font-family:var(--rc-font-display);font-size:20px;font-weight:700}
.iswatch .choice-img.is-active .choice-hov{z-index:2}
/* Fallback for swatch files with other markup */
.iswatch img{max-width:100%}

/* Variations (attribute pickers stay, no price / button) */
.variations_form{margin:0 0 28px}
table.variations{border-collapse:collapse;width:100%;margin:0 0 8px}
table.variations th,table.variations td{display:block;text-align:left;padding:0;border:0}
table.variations th.label,table.variations td.label{font-family:var(--rc-font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:14px 0 8px}
table.variations td.value select{width:100%;font-family:var(--rc-font-mono);font-size:14px;padding:12px 36px 12px 12px;border:2px solid var(--rc-ink);border-radius:0;background:var(--rc-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2312100E' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;appearance:none}
.reset_variations{display:inline-block;margin-top:8px;font-family:var(--rc-font-mono);font-size:12px;color:var(--rc-orange)}
.single_variation_wrap .quantity,.single_variation_wrap .single_add_to_cart_button,.woocommerce-variation-price,.woocommerce-variation-availability{display:none!important}
/* Woo Variation Swatches plugin */
.variable-items-wrapper .variable-item:not(.radio-variable-item){border-radius:0!important;box-shadow:0 0 0 2px var(--rc-ink)!important}
.variable-items-wrapper .variable-item:not(.radio-variable-item).selected{box-shadow:0 0 0 2px var(--rc-ink),4px 4px 0 2px var(--rc-orange)!important}
.variable-items-wrapper .variable-item .variable-item-span{font-family:var(--rc-font-mono)}

/* Quote box on product */
.quote-box--product{margin:8px 0 32px;box-shadow:10px 10px 0 var(--rc-ink);padding:30px 28px}
.quote-box--product .quote-box__title{font-size:26px;margin-bottom:22px}
.quote-box--product .quote-box__ctas .btn{padding:14px 22px}

/* Meta */
.product_meta{display:grid;gap:10px;font-family:var(--rc-font-mono);font-size:12.5px;color:var(--rc-muted);border-top:2px solid var(--rc-ink);padding-top:18px}
.product_meta > span{display:block;line-height:1.6}
.product_meta a{color:var(--rc-ink);text-decoration:none;border-bottom:1px solid rgba(18,16,14,.25)}
.product_meta a:hover{color:var(--rc-orange);border-color:var(--rc-orange)}
.product_meta .sku{color:var(--rc-ink);font-weight:600}

/* Details */
.rc-product__details{border-top:2px solid var(--rc-ink);padding:64px 0 72px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px}
.rc-product__details-body{font-size:17px;line-height:1.7;color:var(--rc-body);max-width:860px}
.rc-product__details-body p{margin:0 0 1em}
.rc-product__details-body ul{padding-left:1.2em}
.rc-product__details-body table{border-collapse:collapse;width:100%}
.rc-product__details-body td,.rc-product__details-body th{border:2px solid var(--rc-ink);padding:8px 12px;text-align:left}

/* Related / upsells */
.related.products,.upsells.products{margin:0 calc(50% - 50vw);padding:80px max(var(--rc-gutter), calc(50vw - 700px)) 96px;background:var(--rc-sand);border-top:2px solid var(--rc-ink)}
.related.products > h2,.upsells.products > h2{font-size:32px;font-weight:700;letter-spacing:-.01em;margin:0 0 32px}
.related.products > h2::before,.upsells.products > h2::before{content:'YOU MAY ALSO NEED';display:block;font-family:var(--rc-font-mono);font-size:13px;font-weight:400;letter-spacing:.12em;color:var(--rc-blue);margin-bottom:12px}
.upsells.products + .related.products{border-top:0;padding-top:0}

/* Lightbox (photoswipe) tidy */
.pswp__caption{display:none}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shop-layout--sidebar ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:989px){
  .shop-layout--sidebar{grid-template-columns:1fr;gap:0}
  .shop-sidebar{position:static}
  .rc-facets-toggle{display:inline-flex}
  .rc-facets:not(.is-open){display:none}
  .rc-facets{margin-bottom:28px}
  .rc-product__grid{grid-template-columns:1fr;gap:48px}
  .rc-product__media{position:static}
  .shop-hero--media .shop-hero__inner{grid-template-columns:1fr}
  .shop-hero__media{display:none}
  .rc-product__details{grid-template-columns:1fr;gap:20px}
}
@media (max-width:760px){
  ul.products,.shop-layout--sidebar ul.products,.columns-3 ul.products,.columns-4 ul.products,.columns-5 ul.products,.columns-6 ul.products,ul.products[class*=columns-]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  ul.products .product-card__body{padding:12px}
  ul.products .product-card .product-card__name{font-size:14px}
}
@media (max-width:600px){
  .shop-hero{padding:40px var(--rc-gutter) 44px}
  .shop-layout{padding:32px var(--rc-gutter) 64px}
  .product-page{padding-top:24px}
  .rc-product__grid{padding-bottom:56px}
  .woocommerce-product-gallery .flex-viewport,.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper{box-shadow:8px 8px 0 var(--rc-blue)}
  .quote-box--product{padding:24px 20px;box-shadow:8px 8px 0 var(--rc-ink)}
  .quote-box--product .quote-box__ctas .btn{flex:1 1 auto}
  .related.products,.upsells.products{padding:56px var(--rc-gutter) 64px}
  .iswatch .choice-img.is-active{flex-direction:column;align-items:flex-start}
  .iswatch .choice-img.is-active img{width:100%!important;max-width:220px}
}
