/* Crafty Corner v0.4.151 — cohesive single product experience.
   The scope prevents interference with shop, checkout, account and payment
   provider iframes. Visual styling only; original WooCommerce markup stays. */
body.single-product.woocommerce,
body.single-product.woocommerce-page {
  --cc151-midnight:#0B1119;
  --cc151-panel:#171B27;
  --cc151-gold:#D6B27C;
  --cc151-ivory:#F5EBD9;
  --cc151-muted:#DCCFBF;
  --cc151-line:rgba(214,178,124,.43);
  --cc151-radius:14px;
  background-color:var(--cc151-midnight);
  color:var(--cc151-ivory);
}
body.single-product.woocommerce :is(.site-main,.content-area,main#main,div.product) {
  color:var(--cc151-ivory);
}
body.single-product.woocommerce .woocommerce-breadcrumb,
body.single-product.woocommerce .woocommerce-breadcrumb a {
  color:var(--cc151-muted)!important;
  font-size:.89rem;
  text-decoration:none;
}
body.single-product.woocommerce .woocommerce-breadcrumb a:hover {color:var(--cc151-gold)!important}
body.single-product.woocommerce div.product {
  --cc151-card-gap:clamp(20px,3vw,42px);
}
body.single-product.woocommerce div.product .summary {
  background:linear-gradient(145deg,#1D2230 0%,#121923 100%)!important;
  background-image:linear-gradient(145deg,#1D2230 0%,#121923 100%)!important;
  border:1px solid var(--cc151-line)!important;
  border-radius:var(--cc151-radius)!important;
  box-shadow:0 20px 42px rgba(0,0,0,.23)!important;
  color:var(--cc151-ivory)!important;
  padding:clamp(20px,3vw,36px)!important;
}
body.single-product.woocommerce div.product .summary .product_title {
  font-family:'Cormorant Garamond',Georgia,serif!important;
  color:var(--cc151-ivory)!important;
  font-weight:600;
  font-size:clamp(2rem,3.5vw,3rem);
  line-height:1.12;
  letter-spacing:-.015em;
}
body.single-product.woocommerce div.product .summary .price,
body.single-product.woocommerce div.product .summary .price :is(span,bdi,ins),
body.single-product.woocommerce div.product .summary .woocommerce-variation-price .price,
body.single-product.woocommerce div.product .summary .woocommerce-variation-price .price * {
  color:var(--cc151-gold)!important;
}
body.single-product.woocommerce div.product .summary .price {
  font-size:clamp(1.45rem,2.4vw,2rem)!important;
  font-weight:700!important;
}
body.single-product.woocommerce div.product .summary :is(
 .woocommerce-product-details__short-description,
 .woocommerce-product-details__short-description p,
 .product_meta,.product_meta span,.woocommerce-variation-description,
 .woocommerce-variation-description p
){
  color:var(--cc151-muted)!important;
  line-height:1.7;
}
body.single-product.woocommerce div.product .summary .product_meta a {
 color:var(--cc151-gold)!important;
 text-decoration-color:rgba(214,178,124,.45);
}
body.single-product.woocommerce .cc-artwork-category {
  background:#282431!important;
  color:var(--cc151-ivory)!important;
  border:1px solid var(--cc151-line)!important;
  border-radius:999px!important;
}
body.single-product.woocommerce .cc-artwork-category:hover {
  background:#413345!important;
  color:var(--cc151-ivory)!important;
}
body.single-product.woocommerce div.product .summary .cc-artwork-back a{
  color:var(--cc151-gold)!important;
}
body.single-product.woocommerce div.product form.cart {
  margin-top:1.25rem;
}
body.single-product.woocommerce div.product form.cart table.variations {
  width:100%;
  border:0!important;
  margin:0 0 1rem;
}
body.single-product.woocommerce div.product form.cart table.variations :is(tr,th,td) {
  border:0!important;
  background:transparent!important;
  vertical-align:middle;
}
body.single-product.woocommerce div.product form.cart table.variations label,
body.single-product.woocommerce div.product form.cart label {
  color:var(--cc151-ivory)!important;
  font-weight:650;
}
body.single-product.woocommerce div.product form.cart :is(
 table.variations select,select,input.qty,input[type=number]
) {
  border:1px solid var(--cc151-line)!important;
  background-color:var(--cc151-midnight)!important;
  color:var(--cc151-ivory)!important;
  color-scheme:dark;
  border-radius:7px!important;
  min-height:46px;
  box-sizing:border-box;
}
body.single-product.woocommerce div.product form.cart select option{
  background-color:#171B27;
  color:var(--cc151-ivory);
}
body.single-product.woocommerce div.product form.cart .reset_variations,
body.single-product.woocommerce div.product form.cart .woocommerce-variation-availability{
  color:var(--cc151-gold)!important;
}
body.single-product.woocommerce div.product form.cart :is(
 .single_add_to_cart_button,.button.single_add_to_cart_button
){
  background:var(--cc151-gold)!important;
  border:1px solid #EAD3AE!important;
  border-radius:7px!important;
  color:var(--cc151-midnight)!important;
  min-height:48px;
  font-weight:750!important;
  box-shadow:none!important;
  opacity:1;
}
body.single-product.woocommerce div.product form.cart .single_add_to_cart_button:hover:not(:disabled) {
  background:#EAD3AE!important;
  color:var(--cc151-midnight)!important;
}
body.single-product.woocommerce div.product form.cart .single_add_to_cart_button:disabled,
body.single-product.woocommerce div.product form.cart .single_add_to_cart_button.disabled {
  opacity:.55!important;
  cursor:not-allowed!important;
}
body.single-product.woocommerce div.product .woocommerce-product-gallery {
  margin-bottom:1.35rem;
}
body.single-product.woocommerce div.product .woocommerce-product-gallery__wrapper :is(img,a),
body.single-product.woocommerce div.product .woocommerce-product-gallery__image img{
  background:var(--cc151-midnight)!important;
  background-color:var(--cc151-midnight)!important;
  border-color:var(--cc151-line)!important;
  border-radius:var(--cc151-radius)!important;
  box-shadow:none!important;
}
body.single-product.woocommerce div.product .woocommerce-product-gallery__image img{
  object-fit:var(--cc151-gallery-fit,contain)!important;
}
body.single-product.woocommerce div.product .flex-control-thumbs{
  gap:8px;
}
body.single-product.woocommerce div.product .flex-control-thumbs li{
  background:var(--cc151-midnight)!important;
  border:1px solid var(--cc151-line)!important;
  border-radius:8px!important;
  overflow:hidden;
}
body.single-product.woocommerce div.product .flex-control-thumbs li img{
  display:block;
  width:100%;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:var(--cc151-midnight)!important;
  border-radius:0!important;
  object-fit:cover!important;
}
body.single-product.woocommerce div.product .flex-control-thumbs img.flex-active,
body.single-product.woocommerce div.product .flex-control-thumbs li:focus-within{
  outline:2px solid var(--cc151-gold)!important;
  outline-offset:-2px;
}
body.single-product.woocommerce .cc-product-photo-open {
  background:var(--cc151-panel)!important;
  border:1px solid var(--cc151-gold)!important;
  color:var(--cc151-ivory)!important;
  border-radius:7px!important;
  min-height:44px;
}
body.single-product.woocommerce .cc-product-photo-open:hover{
  background:#302637!important;
  color:var(--cc151-ivory)!important;
}
body.single-product.woocommerce .woocommerce-tabs{
  padding-top:clamp(22px,3vw,42px);
  clear:both;
}
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:24px!important;
  padding:0!important;
  border-bottom:1px solid var(--cc151-line);
  background:transparent!important;
}
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  border:0!important;
  box-shadow:none!important;
}
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li,
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  border:1px solid var(--cc151-line)!important;
  border-radius:8px 8px 0 0!important;
  background:var(--cc151-panel)!important;
  color:var(--cc151-ivory)!important;
  box-shadow:none!important;
  margin:0!important;
}
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:#31283A!important;
  border-bottom-color:#31283A!important;
}
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li::after{
  display:none!important;
}
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  color:var(--cc151-ivory)!important;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:10px 17px;
}
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--cc151-gold)!important;
}
body.single-product.woocommerce div.product .woocommerce-tabs .panel{
  background:#111720!important;
  border:1px solid var(--cc151-line)!important;
  border-radius:0 10px 10px 10px!important;
  padding:clamp(18px,2.5vw,30px)!important;
  color:var(--cc151-muted)!important;
  line-height:1.8;
}
body.single-product.woocommerce div.product .woocommerce-tabs .panel :is(h2,h3,h4){
  color:var(--cc151-ivory)!important;
  font-family:'Cormorant Garamond',Georgia,serif!important;
}
body.single-product.woocommerce div.product .woocommerce-tabs .panel :is(a,button:not(.button)){
  color:var(--cc151-gold);
}
body.single-product.woocommerce div.product .woocommerce-tabs :is(
 .woocommerce-Reviews-title,.comment-reply-title, .woocommerce-noreviews
){
 color:var(--cc151-ivory)!important;
}
body.single-product.woocommerce div.product #review_form input:not([type=checkbox]),
body.single-product.woocommerce div.product #review_form textarea{
  background:var(--cc151-midnight)!important;
  border:1px solid var(--cc151-line)!important;
  color:var(--cc151-ivory)!important;
}
body.single-product.woocommerce div.product #review_form input[type=submit]{
 background:var(--cc151-gold)!important;
 color:var(--cc151-midnight)!important;
}
body.single-product.woocommerce .related.products,
body.single-product.woocommerce .upsells.products {
  clear:both;
  padding-top:clamp(22px,4vw,52px);
}
body.single-product.woocommerce :is(.related.products,.upsells.products)>h2{
  font-family:'Cormorant Garamond',Georgia,serif!important;
  color:var(--cc151-ivory)!important;
  font-size:clamp(1.8rem,3vw,2.6rem)!important;
  margin-bottom:20px!important;
}
body.single-product.woocommerce .related.products ul.products li.product,
body.single-product.woocommerce .upsells.products ul.products li.product{
  border-radius:var(--cc151-radius)!important;
}
body.single-product.woocommerce :is(.related,.upsells) ul.products li.product a.button{
  background:var(--cc151-gold)!important;
  color:var(--cc151-midnight)!important;
  border-color:var(--cc151-gold)!important;
}
body.single-product.woocommerce :is(.related,.upsells) ul.products li.product a.button:hover{
  background:#EAD3AE!important;
}
body.single-product.woocommerce :is(.related,.upsells) ul.products li.product img{
  background:var(--cc151-midnight)!important;
  border-radius:0!important;
}
body.single-product.woocommerce .cc-gallery-lightbox{
  background:#0B1119!important;
  color:#F5EBD9!important;
}
body.single-product.woocommerce .cc-gallery-lightbox :is(
 .cc-gallery-control,.cc-gallery-arrow,.cc-gallery-thumb
){
  background:#171B27!important;
  color:#F5EBD9!important;
  border-color:rgba(214,178,124,.5)!important;
}
body.single-product.woocommerce .cc-gallery-lightbox :is(
 .cc-gallery-control,.cc-gallery-arrow,.cc-gallery-thumb
):focus-visible,
body.single-product.woocommerce div.product :is(
 a,button,select,input,textarea,[role=button]
):focus-visible{
  outline:3px solid var(--cc151-gold)!important;
  outline-offset:3px!important;
}
body.single-product.woocommerce .cc-gallery-lightbox .cc-gallery-thumb-active{
  border-color:var(--cc151-gold)!important;
}
/* Provider payment widgets own their branded buttons and iframes.
   Do not rewrite Apple Pay, Google Pay, Amazon Pay, Klarna or Afterpay. */
@media(max-width:767px){
  body.single-product.woocommerce div.product .summary {
    padding:20px!important;
  }
  body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li {
    flex:1 1 auto;
    text-align:center;
  }
  body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a{
    justify-content:center;
    font-size:.88rem;
    padding:10px 12px;
  }
  body.single-product.woocommerce div.product .woocommerce-tabs .panel{
    padding:18px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.single-product.woocommerce .related.products ul.products li.product,
  body.single-product.woocommerce .upsells.products ul.products li.product{
    transform:none!important;
    transition:none!important;
  }
}
