
:root{
  --black:#0b0b0b;
  --soft:#1a1a1a;
  --orange:#ff5a00;
  --orange-dark:#d94800;
  --line:#ddd8d2;
  --off:#f5f3ef;
  --muted:#6f6b66;
  --max:1440px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body.rareedge-theme{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--black);
  background:#fff;
  line-height:1.5;
}

body.rareedge-theme a{
  color:var(--black);
  text-decoration-color:currentColor;
}

body.rareedge-theme a:visited{
  color:var(--black);
}

body.rareedge-theme img{
  max-width:100%;
  height:auto;
}

.re-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px);
}

.admin-bar .re-header{top:32px}

.re-header-inner{
  max-width:var(--max);
  margin:auto;
  min-height:88px;
  padding:0 28px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
}

.re-brand{
  color:var(--black)!important;
  text-decoration:none!important;
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1;
  width:max-content;
}

.re-brand strong{
  color:var(--black);
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:29px;
  letter-spacing:.085em;
  font-weight:900;
}

.re-brand small{
  color:var(--orange);
  font-weight:900;
  letter-spacing:.22em;
  font-size:9px;
  margin-top:6px;
}

.re-custom-logo .custom-logo-link{display:block}
.re-custom-logo img{display:block;max-height:52px;width:auto}

.re-nav{justify-self:center}
.re-nav ul{
  display:flex;
  list-style:none;
  gap:28px;
  margin:0;
  padding:0;
}

.re-nav a,
.re-actions a{
  color:var(--black)!important;
  text-decoration:none!important;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
  font-size:13px;
}

.re-nav a:hover,
.re-actions a:hover{
  color:var(--orange)!important;
}

.re-actions{
  justify-self:end;
  display:flex;
  gap:22px;
  align-items:center;
}

.re-cart span{
  display:inline-grid;
  place-items:center;
  background:var(--orange);
  color:#fff;
  border-radius:999px;
  min-width:23px;
  height:23px;
  padding:0 6px;
  margin-left:5px;
  font-size:11px;
}

.re-main{min-height:65vh}

.re-wrap{
  max-width:var(--max);
  margin:auto;
  padding:62px 28px 94px;
}

.re-hero{
  max-width:var(--max);
  margin:auto;
  padding:76px 28px 68px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:36px;
  align-items:stretch;
}

.re-hero-copy{
  min-width:0;
  align-self:center;
}

.re-kicker,
.re-product-eyebrow{
  display:block;
  color:var(--orange);
  font-weight:900;
  letter-spacing:.22em;
  font-size:12px;
  text-transform:uppercase;
}

.re-hero h1{
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:clamp(78px,9vw,145px);
  line-height:.81;
  letter-spacing:.005em;
  margin:14px 0 22px;
  text-transform:uppercase;
}

.re-hero h1 em{
  color:var(--orange);
  font-style:normal;
}

.re-hero p{
  font-size:clamp(19px,2vw,28px);
  max-width:700px;
  line-height:1.25;
  margin:0;
}

.re-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  background:var(--black);
  color:#fff!important;
  text-decoration:none!important;
  padding:0 25px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
  margin-top:28px;
  border:2px solid var(--black);
}

.re-btn:hover{
  background:var(--orange);
  border-color:var(--orange);
}

.re-panel{
  position:relative;
  overflow:hidden;
  background:var(--black);
  color:#fff;
  min-height:510px;
  padding:42px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:clamp(42px,4.2vw,68px);
  line-height:.94;
  text-transform:uppercase;
}

.re-panel:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:110px;
  height:8px;
  background:var(--orange);
}

.re-panel>div{
  position:relative;
  z-index:1;
}

.re-panel span,
.re-panel strong{
  display:block;
}

.re-panel strong{
  color:var(--orange);
  font-weight:inherit;
}

.re-section-head{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:flex-end;
  margin-bottom:28px;
  padding-top:20px;
  border-top:1px solid var(--line);
}

.re-section-head h2{
  margin:7px 0 0;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:clamp(42px,4vw,64px);
  line-height:.95;
  text-transform:uppercase;
}

.re-section-head>a{
  color:var(--black)!important;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  text-decoration:none;
  border-bottom:2px solid var(--orange);
  padding-bottom:3px;
}

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb{
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:28px;
}

.woocommerce .woocommerce-breadcrumb a{
  color:var(--muted)!important;
  text-decoration:none;
}

.woocommerce div.product{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:clamp(42px,6vw,92px);
  align-items:start;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary{
  float:none;
  width:auto;
  margin:0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{
  background:var(--off);
}

.woocommerce div.product div.images .flex-control-thumbs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.woocommerce div.product div.images .flex-control-thumbs li{
  float:none;
  width:auto;
}

.woocommerce div.product .product_title{
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:clamp(50px,5vw,76px);
  text-transform:uppercase;
  line-height:.94;
  margin:8px 0 17px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--black);
  font-size:28px;
  font-weight:900;
}

.woocommerce div.product .woocommerce-product-details__short-description{
  font-size:18px;
  margin:20px 0 24px;
}

.woocommerce div.product form.cart{
  margin-top:26px;
}

.woocommerce div.product form.cart .variations{
  margin-bottom:18px;
}

.woocommerce div.product form.cart .variations tr{
  display:grid;
  grid-template-columns:105px 1fr;
  gap:18px;
  align-items:start;
  margin-bottom:19px;
}

.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td{
  display:block;
  padding:0;
  line-height:1.2;
}

.woocommerce div.product form.cart .variations label{
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.woocommerce div.product form.cart .variations select{
  width:100%;
  min-height:50px;
  border:1px solid var(--line);
  background:#fff;
  padding:0 14px;
}

.re-choice-set{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.re-choice{
  min-height:44px;
  min-width:48px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--black);
  padding:8px 12px;
  font-weight:900;
  cursor:pointer;
  transition:.15s ease;
}

.re-choice:hover,
.re-choice.is-active{
  border-color:var(--black);
  box-shadow:inset 0 0 0 1px var(--black);
}

.re-choice-colour{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:116px;
  justify-content:flex-start;
}

.re-colour-dot{
  width:16px;
  height:16px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.22);
  background:var(--swatch,#aaa);
  flex:0 0 16px;
}

.re-select-enhanced{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.woocommerce div.product form.cart .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  background:var(--black);
  color:#fff!important;
  border-radius:0;
  min-height:52px;
  padding:0 24px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  background:var(--orange);
  color:#fff!important;
}

.woocommerce .quantity .qty{
  min-height:52px;
  border:1px solid var(--line);
}

.woocommerce div.product .product_meta{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
}

.re-assurances{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-top:24px;
}

.re-assurances span{
  background:#fff;
  padding:12px 8px;
  text-align:center;
  font-size:10px;
  line-height:1.25;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.woocommerce div.product .woocommerce-tabs{
  grid-column:1/-1;
  margin-top:48px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;
  gap:28px;
  padding:0;
  border-bottom:1px solid var(--line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs:before,
.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{
  background:transparent;
  border:0;
  margin:0;
  padding:0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  padding:15px 0;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.woocommerce ul.products{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:34px 22px;
}

.woocommerce ul.products:before,
.woocommerce ul.products:after{
  display:none;
}

.woocommerce ul.products li.product{
  float:none;
  width:auto;
  margin:0;
}

.woocommerce ul.products li.product a{
  text-decoration:none;
}

.woocommerce ul.products li.product a img{
  background:var(--off);
  margin-bottom:14px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:var(--black);
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:27px;
  line-height:1;
  text-transform:uppercase;
}

.woocommerce ul.products li.product .price{
  color:var(--black);
  font-weight:900;
}

/* Footer */
.re-footer{
  background:var(--black);
  color:#fff;
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:40px;
  padding:58px max(28px,calc((100vw - var(--max))/2 + 28px));
  margin-top:72px;
}

.re-footer>div{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.re-footer strong{
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:34px;
  letter-spacing:.08em;
}

.re-footer span{
  color:var(--orange);
  font-weight:900;
  letter-spacing:.17em;
  font-size:12px;
}

.re-footer a{
  color:#fff!important;
  text-decoration:none;
}

.re-footer a:hover{
  color:var(--orange)!important;
}

/* Tablet */
@media(max-width:1050px){
  .re-header-inner{
    grid-template-columns:1fr auto;
  }

  .re-nav{
    display:none;
  }

  .re-hero{
    grid-template-columns:1fr;
    gap:28px;
    padding-top:58px;
  }

  .re-panel{
    min-height:290px;
    padding:34px;
    font-size:clamp(38px,7vw,62px);
  }

  .woocommerce div.product{
    grid-template-columns:1fr;
    gap:34px;
  }

  .woocommerce div.product .woocommerce-tabs{
    margin-top:20px;
  }

  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .re-footer{
    grid-template-columns:1fr 1fr;
  }
}

/* Mobile */
@media(max-width:620px){
  .admin-bar .re-header{top:46px}

  .re-header-inner{
    min-height:72px;
    padding:0 16px;
  }

  .re-brand strong{
    font-size:23px;
  }

  .re-brand small{
    font-size:8px;
  }

  .re-actions{
    gap:12px;
  }

  .re-actions>a{
    font-size:11px;
  }

  .re-wrap,
  .re-hero{
    padding-left:16px;
    padding-right:16px;
  }

  .re-hero{
    padding-top:44px;
  }

  .re-hero h1{
    font-size:72px;
  }

  .re-hero p{
    font-size:19px;
  }

  .re-panel{
    min-height:230px;
    padding:26px;
    font-size:42px;
  }

  .re-section-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .woocommerce div.product .product_title{
    font-size:50px;
  }

  .woocommerce div.product form.cart .variations tr{
    grid-template-columns:1fr;
    gap:8px;
  }

  .re-assurances{
    grid-template-columns:1fr;
  }

  .woocommerce ul.products{
    grid-template-columns:1fr;
  }

  .re-footer{
    grid-template-columns:1fr;
    padding-left:18px;
    padding-right:18px;
  }
}


/* RareEdge v0.3.1 safe visual polish only */

/* Stronger selected state, CSS only */
.rareedge-choice.is-active,
.re-choice.is-active{
  border-color:var(--re-orange, var(--orange, #ff5a00));
  box-shadow:inset 0 0 0 2px var(--re-orange, var(--orange, #ff5a00));
}

.rareedge-choice.is-active .rareedge-colour-dot,
.re-choice.is-active .re-colour-dot{
  outline:2px solid var(--re-orange, var(--orange, #ff5a00));
  outline-offset:2px;
}

/* Clearer gallery thumbnails, CSS only */
.woocommerce div.product div.images .flex-control-thumbs{
  gap:12px;
}

.woocommerce div.product div.images .flex-control-thumbs li{
  border:2px solid transparent;
  background:var(--re-offwhite, var(--off, #f5f3ef));
  transition:border-color .15s ease, opacity .15s ease;
}

.woocommerce div.product div.images .flex-control-thumbs li:hover{
  border-color:var(--re-orange, var(--orange, #ff5a00));
}

.woocommerce div.product div.images .flex-control-thumbs img{
  opacity:.72;
  transition:opacity .15s ease;
}

.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover{
  opacity:1;
}

/* Tighter First Drop presentation, CSS only */
.rareedge-home-products,
.re-drop{
  padding-top:42px;
}

.rareedge-home-products .woocommerce ul.products,
.re-drop .woocommerce ul.products{
  grid-template-columns:minmax(280px,460px);
  justify-content:start;
}

.rareedge-home-products .woocommerce ul.products li.product,
.re-drop .woocommerce ul.products li.product{
  max-width:460px;
}

.rareedge-home-products .woocommerce ul.products li.product a img,
.re-drop .woocommerce ul.products li.product a img{
  aspect-ratio:4 / 5;
  object-fit:contain;
  background:var(--re-offwhite, var(--off, #f5f3ef));
  margin-bottom:16px;
}

.rareedge-home-products .woocommerce ul.products li.product .woocommerce-loop-product__title,
.re-drop .woocommerce ul.products li.product .woocommerce-loop-product__title{
  max-width:430px;
  font-size:30px;
}

/* Keep archive/category grids unchanged */
body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media(max-width:1050px){
  .rareedge-home-products .woocommerce ul.products,
  .re-drop .woocommerce ul.products{
    grid-template-columns:minmax(260px,420px);
  }
}

@media(max-width:620px){
  .rareedge-home-products .woocommerce ul.products,
  .re-drop .woocommerce ul.products{
    grid-template-columns:1fr;
  }

  .rareedge-home-products .woocommerce ul.products li.product,
  .re-drop .woocommerce ul.products li.product{
    max-width:none;
  }
}


/* RareEdge v0.3.2 bespoke homepage featured product */

.re-featured{
  max-width:var(--max);
  margin:0 auto;
  padding:46px 28px 92px;
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);
  gap:clamp(44px,7vw,96px);
  align-items:center;
  border-top:1px solid var(--line);
}

.re-featured-media{
  background:var(--off);
  min-height:560px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.re-featured-media a{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
}

.re-featured-image{
  width:100%;
  max-width:520px;
  max-height:620px;
  object-fit:contain;
  display:block;
}

.re-featured-copy{
  max-width:660px;
}

.re-featured-copy h2{
  margin:10px 0 18px;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:clamp(52px,5.5vw,82px);
  line-height:.92;
  text-transform:uppercase;
}

.re-featured-statement{
  margin:0 0 18px;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:clamp(34px,3.4vw,52px);
  line-height:.96;
  text-transform:uppercase;
}

.re-featured-statement strong{
  color:var(--orange);
  font-weight:inherit;
}

.re-featured-price{
  margin:18px 0 18px;
  font-size:24px;
  font-weight:900;
}

.re-featured-price del{
  opacity:.45;
  margin-right:8px;
}

.re-featured-price ins{
  text-decoration:none;
}

.re-featured-text{
  font-size:18px;
  line-height:1.45;
  max-width:620px;
  margin:0 0 24px;
}

@media(max-width:1050px){
  .re-featured{
    grid-template-columns:1fr;
    gap:30px;
  }

  .re-featured-media{
    min-height:420px;
  }

  .re-featured-image{
    max-height:500px;
  }
}

@media(max-width:620px){
  .re-featured{
    padding:34px 16px 70px;
  }

  .re-featured-media{
    min-height:320px;
  }

  .re-featured-copy h2{
    font-size:50px;
  }

  .re-featured-statement{
    font-size:34px;
  }

  .re-featured-text{
    font-size:17px;
  }
}


/* RareEdge v0.3.4 homepage featured image selector */

.re-featured-media{
  display:block;
  min-height:0;
  background:transparent;
}

.re-featured-stage{
  background:var(--off);
  min-height:560px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.re-featured-thumbs{
  display:flex;
  gap:12px;
  margin-top:14px;
}

.re-featured-thumb{
  appearance:none;
  border:1px solid var(--line);
  background:#fff;
  color:var(--black);
  padding:7px;
  width:94px;
  cursor:pointer;
  display:grid;
  gap:6px;
  text-align:center;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.re-featured-thumb img{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:contain;
  background:var(--off);
}

.re-featured-thumb:hover{
  border-color:var(--black);
}

.re-featured-thumb.is-active{
  border-color:var(--orange);
  box-shadow:inset 0 0 0 2px var(--orange);
}

@media(max-width:1050px){
  .re-featured-stage{
    min-height:420px;
  }
}

@media(max-width:620px){
  .re-featured-stage{
    min-height:320px;
  }

  .re-featured-thumb{
    width:82px;
  }
}


/* RareEdge v0.3.5 variation UI stability */
.re-choice.is-disabled,
.re-choice:disabled{
  opacity:.36;
  cursor:not-allowed;
  background:#f7f5f2;
  border-color:#e3ded8;
  box-shadow:none;
}

.re-choice:not(:disabled){
  cursor:pointer;
}


/* RareEdge v0.3.6 cursor correction */
/* Selectable colour/size choices use the normal selection hand. */
.re-choice:not(:disabled),
.rareedge-choice:not(:disabled){
  cursor:pointer !important;
}

/* Unavailable options stay visually muted, but never show the hostile no-entry cursor. */
.re-choice:disabled,
.re-choice.is-disabled,
.rareedge-choice:disabled,
.rareedge-choice.is-disabled{
  cursor:default !important;
}


/* RareEdge v0.3.8 product image cursor / zoom UX */
.woocommerce div.product div.images,
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{
  cursor:default !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a,
.woocommerce div.product div.images .woocommerce-product-gallery__image > a,
.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
  cursor:zoom-in !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
  display:block !important;
  pointer-events:auto !important;
}

.woocommerce div.product div.images .flex-control-thumbs img{
  cursor:pointer !important;
}

/* PhotoSwipe controls should always feel clickable when the lightbox is open. */
.pswp button,
.pswp__button{
  cursor:pointer !important;
}


/* RareEdge v0.4.0 shop archive */
body.post-type-archive-product main,
body.tax-product_cat main{
  max-width:var(--max);
  margin:0 auto;
  padding:54px 28px 96px;
}

body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header{
  margin:0 0 38px;
  padding:0;
}

body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title{
  margin:0;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:clamp(54px,7vw,96px);
  line-height:.9;
  text-transform:uppercase;
}

body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:42px 28px;
  margin:0;
}

body.post-type-archive-product .woocommerce ul.products::before,
body.post-type-archive-product .woocommerce ul.products::after,
body.tax-product_cat .woocommerce ul.products::before,
body.tax-product_cat .woocommerce ul.products::after{
  display:none;
}

body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product{
  float:none;
  width:auto;
  margin:0;
  padding:0;
  text-align:left;
}

body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:block;
  color:var(--black);
  text-decoration:none;
}

body.post-type-archive-product .woocommerce ul.products li.product a img,
body.tax-product_cat .woocommerce ul.products li.product a img{
  width:100%;
  aspect-ratio:4 / 5;
  object-fit:contain;
  background:var(--off);
  margin:0 0 18px;
  display:block;
}

body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title{
  margin:0 0 10px;
  padding:0;
  max-width:560px;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:clamp(30px,3vw,42px);
  line-height:.92;
  text-transform:uppercase;
}

body.post-type-archive-product .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price{
  display:block;
  margin:0 0 14px;
  color:var(--black);
  font-size:20px;
  font-weight:900;
}

body.post-type-archive-product .woocommerce ul.products li.product .button,
body.tax-product_cat .woocommerce ul.products li.product .button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
  padding:0 0 5px;
  min-height:0;
  border:0;
  border-bottom:3px solid var(--orange);
  border-radius:0;
  background:transparent;
  color:var(--black);
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:none;
}

body.post-type-archive-product .woocommerce ul.products li.product .button::after,
body.tax-product_cat .woocommerce ul.products li.product .button::after{
  content:"→";
  font-size:17px;
  line-height:1;
}

body.post-type-archive-product .woocommerce ul.products li.product .button:hover,
body.tax-product_cat .woocommerce ul.products li.product .button:hover{
  color:var(--orange);
  background:transparent;
}

@media(max-width:900px){
  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  body.post-type-archive-product main,
  body.tax-product_cat main{
    padding:34px 16px 72px;
  }

  body.post-type-archive-product .woocommerce-products-header,
  body.tax-product_cat .woocommerce-products-header{
    margin-bottom:28px;
  }

  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products{
    grid-template-columns:1fr;
    gap:36px;
  }

  body.post-type-archive-product .woocommerce ul.products li.product a img,
  body.tax-product_cat .woocommerce ul.products li.product a img{
    aspect-ratio:5 / 6;
    margin-bottom:16px;
  }

  body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:34px;
    max-width:none;
  }

  body.post-type-archive-product .woocommerce ul.products li.product .price,
  body.tax-product_cat .woocommerce ul.products li.product .price{
    font-size:19px;
  }
}


/* RareEdge v0.4.1 clean product-grid treatment */

/* WooCommerce's own float widths can survive inside our CSS grid.
   Force each product to occupy its actual grid column. */
.woocommerce ul.products li.product{
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

/* Clean archive heading */
.woocommerce .woocommerce-products-header,
.woocommerce-products-header{
  margin:0 0 34px;
}

.woocommerce .woocommerce-products-header__title,
.woocommerce .page-title,
.woocommerce-products-header__title{
  margin:0;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:clamp(46px,6vw,76px);
  line-height:.92;
  text-transform:uppercase;
}

/* Product grid */
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:42px 28px !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after{
  display:none !important;
}

/* Product card */
.woocommerce ul.products li.product a{
  color:var(--black);
  text-decoration:none;
}

.woocommerce ul.products li.product a img{
  display:block;
  width:100% !important;
  aspect-ratio:4 / 5;
  object-fit:contain;
  background:var(--off);
  margin:0 0 16px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  margin:0 0 9px !important;
  padding:0 !important;
  color:var(--black);
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:30px !important;
  line-height:.94 !important;
  text-transform:uppercase;
}

.woocommerce ul.products li.product .price{
  display:block;
  margin:0 !important;
  color:var(--black) !important;
  font-size:18px !important;
  font-weight:900 !important;
}

/* No catalogue CTA button. The image, title and price already link to the product. */
.woocommerce ul.products li.product .button{
  display:none !important;
}

@media(max-width:900px){
  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:620px){
  .re-wrap{
    padding-top:34px;
  }

  .woocommerce .woocommerce-products-header,
  .woocommerce-products-header{
    margin-bottom:26px;
  }

  .woocommerce .woocommerce-products-header__title,
  .woocommerce .page-title,
  .woocommerce-products-header__title{
    font-size:46px;
  }

  .woocommerce ul.products{
    grid-template-columns:1fr !important;
    gap:36px !important;
  }

  .woocommerce ul.products li.product a img{
    aspect-ratio:5 / 6;
    margin-bottom:15px !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:29px !important;
    max-width:100%;
  }

  .woocommerce ul.products li.product .price{
    font-size:18px !important;
  }
}


/* RareEdge v0.4.2 product-page polish only */

/* Remove customer-facing WooCommerce metadata noise */
.single-product .product_meta{
  display:none !important;
}

/* Variation controls: better touch targets and breathing room */
.single-product .re-choice-set{
  gap:8px !important;
  margin-bottom:18px;
}

.single-product .re-choice{
  min-height:44px;
  padding:10px 13px;
}

/* Make Add to Basket the clear primary action */
.single-product form.cart{
  margin-top:18px !important;
}

.single-product form.cart .single_add_to_cart_button{
  min-height:50px;
  padding:0 24px !important;
  font-size:15px !important;
  letter-spacing:.04em;
  font-weight:900 !important;
}

/* Give express-payment buttons separation without altering provider branding */
.single-product .wc-stripe-payment-request-wrapper,
.single-product .wc-stripe-payment-request-button-separator,
.single-product .ppc-button-wrapper,
.single-product .ppcp-button-container,
.single-product .express-payment-buttons,
.single-product .express-checkout{
  margin-top:10px !important;
}

/* Clean RareEdge treatment for WooCommerce tabs */
.single-product .woocommerce-tabs{
  margin-top:54px;
}

.single-product .woocommerce-tabs ul.tabs{
  display:flex;
  gap:24px;
  margin:0 0 28px !important;
  padding:0 !important;
  border-bottom:1px solid var(--line);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after{
  display:none !important;
}

.single-product .woocommerce-tabs ul.tabs li{
  margin:0 !important;
  padding:0 0 11px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  white-space:nowrap;
}

.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{
  display:none !important;
}

.single-product .woocommerce-tabs ul.tabs li a{
  padding:0 !important;
  color:var(--black) !important;
  font-size:12px;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900 !important;
}

.single-product .woocommerce-tabs ul.tabs li.active{
  border-bottom:3px solid var(--orange) !important;
}

.single-product .woocommerce-tabs .panel{
  margin:0 !important;
  padding:0 !important;
}

.single-product .woocommerce-tabs .panel h2{
  margin:0 0 22px;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:34px;
  line-height:.95;
  text-transform:uppercase;
}

.single-product .woocommerce-tabs .panel p{
  margin:0 0 18px;
  line-height:1.55;
}

.single-product .woocommerce-tabs .panel ul{
  margin:10px 0 20px 20px;
  padding:0;
}

.single-product .woocommerce-tabs .panel li{
  margin-bottom:7px;
}

/* Mobile: reduce title dominance and improve rhythm */
@media(max-width:620px){
  .single-product div.product .summary .product_title,
  .single-product .product_title{
    font-size:42px !important;
    line-height:.9 !important;
    margin-bottom:18px !important;
  }

  .single-product div.product .summary{
    padding-top:26px;
  }

  .single-product .re-choice-set{
    gap:7px !important;
    margin-bottom:16px;
  }

  .single-product .re-choice{
    min-height:44px;
    padding:9px 11px;
    font-size:12px;
  }

  .single-product form.cart{
    margin-top:16px !important;
  }

  .single-product form.cart .single_add_to_cart_button{
    min-height:52px;
    padding:0 22px !important;
  }

  .single-product .woocommerce-tabs{
    margin-top:44px;
  }

  .single-product .woocommerce-tabs ul.tabs{
    gap:18px;
    margin-bottom:24px !important;
  }

  .single-product .woocommerce-tabs .panel h2{
    font-size:30px;
  }

  .single-product .woocommerce-tabs .panel p{
    line-height:1.6;
  }
}


/* RareEdge v0.4.3 final product-page polish */

/* Stronger primary Add to Basket action */
.single-product form.cart .single_add_to_cart_button{
  background:var(--black) !important;
  color:#fff !important;
  border:2px solid var(--black) !important;
  min-height:54px;
  padding:0 30px !important;
  font-size:15px !important;
  letter-spacing:.05em;
  font-weight:900 !important;
  box-shadow:none !important;
}

.single-product form.cart .single_add_to_cart_button:hover,
.single-product form.cart .single_add_to_cart_button:focus{
  background:var(--orange) !important;
  border-color:var(--orange) !important;
  color:#fff !important;
}

/* Keep express pay available, but give the primary action more separation */
.single-product .wc-stripe-payment-request-wrapper,
.single-product .wc-stripe-payment-request-button-separator,
.single-product .ppc-button-wrapper,
.single-product .ppcp-button-container,
.single-product .express-payment-buttons,
.single-product .express-checkout{
  margin-top:14px !important;
}

/* Tabs: larger, easier to read and tap */
.single-product .woocommerce-tabs ul.tabs{
  gap:26px;
}

.single-product .woocommerce-tabs ul.tabs li{
  min-height:40px;
  display:flex;
  align-items:flex-end;
  padding-bottom:10px !important;
}

.single-product .woocommerce-tabs ul.tabs li a{
  font-size:13px !important;
  line-height:1.25 !important;
  letter-spacing:.065em;
}

/* Product specification block */
.single-product .re-specs{
  margin-top:30px;
  border-top:1px solid var(--line);
  padding-top:22px;
}

.single-product .re-specs h3{
  margin:0 0 14px;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:25px;
  line-height:1;
  text-transform:uppercase;
}

.single-product .re-specs dl{
  margin:0;
}

.single-product .re-specs dl > div{
  display:grid;
  grid-template-columns:minmax(100px,150px) 1fr;
  gap:18px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}

.single-product .re-specs dt{
  margin:0;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.single-product .re-specs dd{
  margin:0;
  line-height:1.4;
}

@media(max-width:620px){
  .single-product form.cart .single_add_to_cart_button{
    min-height:54px;
    padding:0 24px !important;
    font-size:14px !important;
  }

  .single-product .woocommerce-tabs ul.tabs{
    gap:20px;
  }

  .single-product .woocommerce-tabs ul.tabs li{
    min-height:42px;
  }

  .single-product .woocommerce-tabs ul.tabs li a{
    font-size:12px !important;
    letter-spacing:.05em;
  }

  .single-product .re-specs{
    margin-top:26px;
  }

  .single-product .re-specs dl > div{
    grid-template-columns:105px 1fr;
    gap:14px;
    padding:9px 0;
  }
}


/* RareEdge v0.4.5 native vest specifications */
.single-product .woocommerce-tabs .re-specs{
  display:block;
  margin-top:30px;
  border-top:1px solid var(--line);
  padding-top:22px;
}

.single-product .woocommerce-tabs .re-specs h3{
  margin:0 0 14px;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:25px;
  line-height:1;
  text-transform:uppercase;
}

.single-product .woocommerce-tabs .re-specs dl{
  margin:0;
}

.single-product .woocommerce-tabs .re-specs dl > div{
  display:grid;
  grid-template-columns:minmax(100px,150px) 1fr;
  gap:18px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}

.single-product .woocommerce-tabs .re-specs dt{
  margin:0;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.single-product .woocommerce-tabs .re-specs dd{
  margin:0;
  line-height:1.4;
}

@media(max-width:620px){
  .single-product .woocommerce-tabs .re-specs{
    margin-top:26px;
  }

  .single-product .woocommerce-tabs .re-specs dl > div{
    grid-template-columns:105px 1fr;
    gap:14px;
    padding:9px 0;
  }
}


/* RareEdge v0.4.6 vest range display policy */

/* Shop card: back design is the differentiator */
.woocommerce ul.products li.product .re-card-image{
  position:relative;
  display:block;
}

.woocommerce ul.products li.product .re-card-image img{
  margin-bottom:0 !important;
}

.woocommerce ul.products li.product .re-card-view-label{
  display:inline-block;
  margin:10px 0 14px;
  color:var(--black);
  font-size:10px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Product page: make Front / Back explicit */
.rareedge-vest-product .woocommerce-product-gallery .flex-control-thumbs li{
  position:relative;
}

.rareedge-vest-product .woocommerce-product-gallery .re-gallery-side-label{
  display:block;
  margin-top:6px;
  color:var(--black);
  font-size:10px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.07em;
  text-align:center;
  text-transform:uppercase;
}

.rareedge-vest-product .re-product-view-note,
.re-featured .re-view-note{
  margin:10px 0 0;
  color:#555;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
}

/* Homepage featured selectors already carry Front / Back text; the note explains why Back leads. */
.re-featured .re-view-note{
  max-width:420px;
}

@media(max-width:620px){
  .woocommerce ul.products li.product .re-card-view-label{
    margin-top:8px;
    margin-bottom:12px;
  }

  .rareedge-vest-product .re-product-view-note,
  .re-featured .re-view-note{
    font-size:11px;
  }
}
