/*
 * ConjuresUp Phase IV Sprint 1 — Premium WooCommerce Product Grid
 * Scope: Shop/product grids, related products, sorting/result controls, empty state.
 * Lightweight CSS only: no JavaScript, no heavy animations.
 */

:root{
  --csu-commerce-bg:#090411;
  --csu-commerce-bg-2:#160822;
  --csu-commerce-panel:#24113f;
  --csu-commerce-panel-2:#301856;
  --csu-commerce-gold:#f2c777;
  --csu-commerce-gold-2:#ffe39a;
  --csu-commerce-white:#ffffff;
  --csu-commerce-muted:rgba(255,255,255,.78);
  --csu-commerce-shadow:0 18px 42px rgba(0,0,0,.34);
}

body.woocommerce,
body.woocommerce-page,
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag{
  background:
    radial-gradient(circle at top, rgba(255,215,120,.08), transparent 58%),
    linear-gradient(180deg,#12061f 0%,#24113d 48%,#0f0718 100%) !important;
  color:var(--csu-commerce-white) !important;
}

body.woocommerce main,
body.woocommerce-page main,
body.woocommerce .site-main,
body.woocommerce-page .site-main,
body.woocommerce .content-area,
body.woocommerce-page .content-area,
body.woocommerce .wp-site-blocks,
body.woocommerce-page .wp-site-blocks{
  background:transparent !important;
}

body.woocommerce .woocommerce,
body.woocommerce-page .woocommerce{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  padding:10px 18px 44px;
}

/* Product archive controls */
body.woocommerce .woocommerce-result-count,
body.woocommerce-page .woocommerce-result-count{
  color:var(--csu-commerce-gold-2) !important;
  font-weight:800;
  letter-spacing:.03em;
  margin:10px 0 18px !important;
}

body.woocommerce .woocommerce-ordering,
body.woocommerce-page .woocommerce-ordering{
  margin:0 0 22px !important;
}

body.woocommerce .woocommerce-ordering select,
body.woocommerce-page .woocommerce-ordering select,
body.woocommerce select.orderby{
  min-height:42px;
  border-radius:999px !important;
  border:1px solid rgba(242,199,119,.9) !important;
  background:#24113f !important;
  color:#fff !important;
  padding:8px 18px !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  font-weight:800;
}

/* Catalog grids */
body.woocommerce ul.products,
body.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:30px !important;
  align-items:stretch;
  margin:18px auto 44px !important;
  clear:both;
}

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

body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
body.woocommerce .related ul.products li.product,
body.woocommerce-page .related ul.products li.product{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  padding:20px 20px 24px !important;
  min-height:100%;
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(48,24,86,.96),rgba(32,13,58,.98)) !important;
  border:1px solid rgba(242,199,119,.45) !important;
  box-shadow:var(--csu-commerce-shadow),0 0 26px rgba(242,199,119,.08) !important;
  text-align:center !important;
  overflow:hidden;
  position:relative;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

body.woocommerce ul.products li.product:hover,
body.woocommerce-page ul.products li.product:hover{
  transform:translateY(-6px);
  border-color:var(--csu-commerce-gold) !important;
  box-shadow:0 24px 52px rgba(0,0,0,.42),0 0 30px rgba(242,199,119,.24) !important;
}

body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex;
  flex-direction:column;
  height:100%;
  text-decoration:none !important;
}

body.woocommerce ul.products li.product img,
body.woocommerce-page ul.products li.product img{
  width:100% !important;
  aspect-ratio:1 / 1;
  object-fit:cover;
  margin:0 auto 18px !important;
  padding:10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px !important;
  box-shadow:inset 0 0 0 1px rgba(242,199,119,.08);
  transition:transform .28s ease;
}

body.woocommerce ul.products li.product:hover img,
body.woocommerce-page ul.products li.product:hover img{
  transform:scale(1.03);
}

body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.woocommerce ul.products li.product h2,
body.woocommerce-page ul.products li.product h2,
body.woocommerce ul.products li.product h3,
body.woocommerce-page ul.products li.product h3{
  color:var(--csu-commerce-gold-2) !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:.045em;
  margin:0 0 14px !important;
  padding:0 !important;
  text-shadow:0 2px 8px rgba(0,0,0,.45);
}

body.woocommerce ul.products li.product .price,
body.woocommerce-page ul.products li.product .price,
body.woocommerce div.product p.price,
body.woocommerce div.product span.price{
  color:var(--csu-commerce-gold-2) !important;
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  margin:0 0 16px !important;
}

body.woocommerce ul.products li.product .price ins,
body.woocommerce-page ul.products li.product .price ins,
body.woocommerce div.product p.price ins,
body.woocommerce div.product span.price ins{
  color:#fff !important;
  text-decoration:none !important;
}

body.woocommerce ul.products li.product .price del,
body.woocommerce-page ul.products li.product .price del,
body.woocommerce div.product p.price del,
body.woocommerce div.product span.price del{
  color:rgba(255,255,255,.48) !important;
  opacity:1 !important;
}

/* Buttons */
body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce #respond input#submit,
body.woocommerce-page a.button,
body.woocommerce-page button.button,
body.woocommerce-page input.button,
body.woocommerce-page #respond input#submit,
body.woocommerce ul.products li.product .button,
body.woocommerce-page ul.products li.product .button{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-radius:999px !important;
  border:1px solid var(--csu-commerce-gold-2) !important;
  background:linear-gradient(135deg,#d4af37,#f6d365) !important;
  color:#24113d !important;
  font-weight:900 !important;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:12px 20px !important;
  box-shadow:0 10px 24px rgba(0,0,0,.25),0 0 16px rgba(242,199,119,.18) !important;
  text-decoration:none !important;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}

body.woocommerce a.button:hover,
body.woocommerce button.button:hover,
body.woocommerce input.button:hover,
body.woocommerce #respond input#submit:hover,
body.woocommerce-page a.button:hover,
body.woocommerce-page button.button:hover,
body.woocommerce-page input.button:hover,
body.woocommerce-page #respond input#submit:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.32),0 0 22px rgba(242,199,119,.32) !important;
  filter:saturate(1.08);
}

/* Badges */
body.woocommerce span.onsale,
body.woocommerce-page span.onsale{
  min-height:0 !important;
  min-width:0 !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#d4af37,#f6d365) !important;
  color:#24113d !important;
  border:1px solid #ffe39a !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase;
  box-shadow:0 10px 24px rgba(0,0,0,.30),0 0 18px rgba(242,199,119,.24);
}

body.woocommerce ul.products li.product.outofstock::after,
body.woocommerce-page ul.products li.product.outofstock::after{
  content:'Mystically Reserved';
  position:absolute;
  top:16px;
  right:16px;
  z-index:5;
  border-radius:999px;
  border:1px solid var(--csu-commerce-gold);
  background:#24113f;
  color:var(--csu-commerce-gold-2);
  padding:8px 12px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* Pagination */
body.woocommerce nav.woocommerce-pagination,
body.woocommerce-page nav.woocommerce-pagination{
  margin:12px auto 40px !important;
  text-align:center;
}

body.woocommerce nav.woocommerce-pagination ul,
body.woocommerce-page nav.woocommerce-pagination ul{
  border:0 !important;
  display:inline-flex;
  gap:10px;
}

body.woocommerce nav.woocommerce-pagination ul li,
body.woocommerce-page nav.woocommerce-pagination ul li{
  border:0 !important;
}

body.woocommerce nav.woocommerce-pagination ul li a,
body.woocommerce nav.woocommerce-pagination ul li span,
body.woocommerce-page nav.woocommerce-pagination ul li a,
body.woocommerce-page nav.woocommerce-pagination ul li span{
  min-width:44px;
  min-height:44px;
  border-radius:50% !important;
  border:1px solid rgba(242,199,119,.65) !important;
  background:#24113f !important;
  color:var(--csu-commerce-gold-2) !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  font-weight:900;
}

body.woocommerce nav.woocommerce-pagination ul li span.current,
body.woocommerce nav.woocommerce-pagination ul li a:hover,
body.woocommerce-page nav.woocommerce-pagination ul li span.current,
body.woocommerce-page nav.woocommerce-pagination ul li a:hover{
  background:linear-gradient(135deg,#d4af37,#f6d365) !important;
  color:#24113d !important;
}

/* Empty catalog state */
body.woocommerce .woocommerce-info,
body.woocommerce-page .woocommerce-info{
  max-width:760px;
  margin:34px auto !important;
  padding:32px 26px !important;
  border:1px solid rgba(242,199,119,.62) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,rgba(48,24,86,.96),rgba(20,8,34,.98)) !important;
  color:#fff !important;
  text-align:center;
  box-shadow:var(--csu-commerce-shadow);
}

body.woocommerce .woocommerce-info::before,
body.woocommerce-page .woocommerce-info::before{
  color:var(--csu-commerce-gold-2) !important;
}

/* Single-product related grid inherits the same card system */
body.single-product .related.products,
body.single-product .upsells.products{
  max-width:1180px;
  margin:56px auto 34px !important;
}

body.single-product .related.products > h2,
body.single-product .upsells.products > h2{
  color:#14051f !important;
  text-align:center;
  font-size:34px !important;
  line-height:1.2;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin:0 0 28px !important;
}

body.single-product .related ul.products,
body.single-product .upsells ul.products{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:820px;
}

/* Mobile */
@media (max-width:900px){
  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.single-product .related ul.products,
  body.single-product .upsells ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px !important;
  }
}

@media (max-width:640px){
  body.woocommerce .woocommerce,
  body.woocommerce-page .woocommerce{
    padding-left:14px;
    padding-right:14px;
  }

  body.woocommerce .woocommerce-result-count,
  body.woocommerce .woocommerce-ordering,
  body.woocommerce-page .woocommerce-result-count,
  body.woocommerce-page .woocommerce-ordering{
    float:none !important;
    width:100%;
    text-align:center;
  }

  body.woocommerce .woocommerce-ordering select,
  body.woocommerce-page .woocommerce-ordering select{
    width:100%;
  }

  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.single-product .related ul.products,
  body.single-product .upsells ul.products{
    grid-template-columns:1fr;
    max-width:420px;
  }

  body.woocommerce ul.products li.product,
  body.woocommerce-page ul.products li.product{
    padding:18px 18px 22px !important;
  }

  body.woocommerce ul.products li.product .button,
  body.woocommerce-page ul.products li.product .button{
    width:100%;
  }
}

/*
 * ConjuresUp Phase IV Sprint 2 — Premium Product + Ritual Satchel/Checkout Wrappers
 * Scope: Single product purchase area, product tabs/description, WooCommerce Cart/Checkout Blocks.
 */

/* Single product shell */
body.single-product{
  background:
    radial-gradient(circle at 18% 8%, rgba(242,199,119,.08), transparent 34%),
    radial-gradient(circle at 78% 16%, rgba(136,71,198,.12), transparent 38%),
    linear-gradient(180deg,#12061f 0%,#24113d 52%,#0f0718 100%) !important;
  color:#fff !important;
}

body.single-product main,
body.single-product .site-main,
body.single-product .content-area,
body.single-product .wp-site-blocks{
  background:transparent !important;
}

body.single-product div.product{
  max-width:1180px;
  margin:28px auto 54px !important;
  padding:34px !important;
  border-radius:34px;
  background:linear-gradient(180deg,rgba(9,4,17,.96),rgba(26,11,43,.98)) !important;
  border:1px solid rgba(242,199,119,.52);
  box-shadow:0 30px 80px rgba(0,0,0,.44),0 0 34px rgba(242,199,119,.10);
  overflow:hidden;
}

body.single-product div.product::before,
body.single-product div.product::after{
  content:"";
  display:table;
  clear:both;
}

body.single-product div.product div.images,
body.single-product div.product div.summary{
  margin-bottom:28px !important;
}

body.single-product div.product div.images{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(242,199,119,.22);
  border-radius:28px;
  padding:18px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 18px 42px rgba(0,0,0,.24);
}

body.single-product .woocommerce-product-gallery__image img,
body.single-product div.product div.images img{
  border-radius:22px !important;
  background:#fff;
}

body.single-product div.product div.images .flex-control-thumbs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:16px !important;
}

body.single-product div.product div.images .flex-control-thumbs li{
  width:auto !important;
  float:none !important;
}

body.single-product div.product div.images .flex-control-thumbs img{
  border-radius:14px !important;
  border:1px solid rgba(242,199,119,.35);
  opacity:.72 !important;
  padding:4px;
  background:rgba(255,255,255,.06);
  transition:opacity .2s ease,transform .2s ease,border-color .2s ease;
}

body.single-product div.product div.images .flex-control-thumbs img.flex-active,
body.single-product div.product div.images .flex-control-thumbs img:hover{
  opacity:1 !important;
  transform:translateY(-2px);
  border-color:#f2c777;
}

body.single-product div.product .summary{
  padding:12px 6px 12px 34px;
  color:#fff !important;
}

body.single-product div.product .product_title{
  color:#ffe39a !important;
  font-size:clamp(34px,4.6vw,58px) !important;
  line-height:1.04 !important;
  letter-spacing:.045em;
  text-transform:uppercase;
  margin:0 0 18px !important;
  text-shadow:0 3px 18px rgba(0,0,0,.45);
}

body.single-product div.product .summary::before{
  content:"✦ Premium Ritual Goods ✦";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 0 16px;
  padding:9px 15px;
  border:1px solid rgba(242,199,119,.68);
  border-radius:999px;
  color:#f2c777;
  background:rgba(48,24,86,.72);
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

body.single-product div.product p.price,
body.single-product div.product span.price{
  color:#ffd76d !important;
  font-size:clamp(24px,3vw,36px) !important;
  font-weight:900 !important;
  margin:0 0 20px !important;
}

body.single-product div.product .woocommerce-product-details__short-description,
body.single-product div.product .woocommerce-product-details__short-description p{
  color:rgba(255,255,255,.88) !important;
  font-size:17px !important;
  line-height:1.72 !important;
}

body.single-product .variations,
body.single-product form.cart{
  color:#fff !important;
}

body.single-product table.variations,
body.single-product table.variations tbody,
body.single-product table.variations tr,
body.single-product table.variations td,
body.single-product table.variations th{
  display:block !important;
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
}

body.single-product table.variations label,
body.single-product .quantity::before{
  display:block;
  color:#f2c777 !important;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin:18px 0 10px;
}

body.single-product .quantity::before{ content:"Quantity"; }

body.single-product table.variations select,
body.single-product .woocommerce-variation-add-to-cart select{
  width:100% !important;
  min-height:48px;
  border-radius:999px !important;
  border:1px solid rgba(242,199,119,.72) !important;
  background:#24113f !important;
  color:#fff !important;
  padding:10px 16px !important;
  font-weight:800;
}

body.single-product .quantity{
  display:block !important;
  float:none !important;
  margin:0 0 16px !important;
}

body.single-product .quantity input.qty{
  width:110px !important;
  min-height:48px;
  border-radius:14px !important;
  border:1px solid rgba(242,199,119,.72) !important;
  background:#fff !important;
  color:#24113d !important;
  font-weight:900;
  text-align:center;
}

body.single-product div.product form.cart .button,
body.single-product div.product form.cart button.single_add_to_cart_button{
  width:100% !important;
  min-height:58px !important;
  margin:10px 0 0 !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#d4af37,#ffe39a,#f6d365) !important;
  color:#24113d !important;
  border:1px solid #ffe39a !important;
  box-shadow:0 14px 34px rgba(0,0,0,.35),0 0 26px rgba(242,199,119,.30) !important;
  font-size:15px !important;
  font-weight:950 !important;
  letter-spacing:.09em;
  text-transform:uppercase;
}

body.single-product div.product form.cart button.single_add_to_cart_button::before{
  content:"✦ ";
}

body.single-product div.product form.cart button.single_add_to_cart_button::after{
  content:" ✦";
}

body.single-product div.product form.cart .button:hover,
body.single-product div.product form.cart button.single_add_to_cart_button:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(0,0,0,.38),0 0 36px rgba(242,199,119,.42) !important;
}

body.single-product .product_meta{
  margin-top:20px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(242,199,119,.18);
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.70) !important;
  font-size:12px !important;
  line-height:1.7;
}

body.single-product .product_meta a{
  color:#ffe39a !important;
}

.csu-product-trust-panel{
  margin:18px 0 4px;
  padding:20px;
  border-radius:22px;
  border:1px solid rgba(242,199,119,.45);
  background:linear-gradient(180deg,rgba(48,24,86,.86),rgba(18,6,31,.94));
  box-shadow:0 14px 30px rgba(0,0,0,.25);
}

.csu-product-trust-panel__title{
  color:#ffe39a;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 0 12px;
  font-size:14px;
}

.csu-product-trust-panel__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.csu-product-trust-panel__item{
  color:#fff;
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}

/* Tabs and description */
body.single-product .woocommerce-tabs{
  clear:both;
  margin-top:38px !important;
  padding:28px !important;
  border-radius:28px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(242,199,119,.30);
}

body.single-product .woocommerce-tabs ul.tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding:0 !important;
  margin:0 0 24px !important;
  border:0 !important;
}

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

body.single-product .woocommerce-tabs ul.tabs li{
  border:1px solid rgba(242,199,119,.50) !important;
  border-radius:999px !important;
  background:#24113f !important;
  padding:0 !important;
  margin:0 !important;
}

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

body.single-product .woocommerce-tabs ul.tabs li a{
  color:#ffe39a !important;
  padding:12px 18px !important;
  font-weight:900 !important;
  letter-spacing:.06em;
  text-transform:uppercase;
}

body.single-product .woocommerce-tabs ul.tabs li.active{
  background:linear-gradient(135deg,#d4af37,#f6d365) !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a{
  color:#24113d !important;
}

body.single-product .woocommerce-Tabs-panel,
body.single-product .woocommerce-Tabs-panel p,
body.single-product .woocommerce-Tabs-panel li{
  color:#fff !important;
  font-size:17px !important;
  line-height:1.75 !important;
}

body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-Tabs-panel h3,
body.single-product .woocommerce-Reviews-title,
body.single-product #review_form #reply-title{
  color:#ffe39a !important;
  font-size:clamp(26px,3vw,38px) !important;
  letter-spacing:.05em;
  text-transform:uppercase;
}

body.single-product .woocommerce-Tabs-panel ul,
body.single-product .woocommerce-Tabs-panel ol{
  padding-left:1.2em;
}

body.single-product #reviews,
body.single-product #review_form_wrapper{
  color:#fff !important;
}

body.single-product #review_form input,
body.single-product #review_form textarea{
  border-radius:16px !important;
  border:1px solid rgba(242,199,119,.45) !important;
  background:#fff !important;
  color:#24113d !important;
}

body.single-product .star-rating,
body.single-product p.stars a{ color:#ffd76d !important; }

body.single-product .related.products > h2,
body.single-product .upsells.products > h2{
  color:#ffe39a !important;
  text-shadow:0 3px 18px rgba(0,0,0,.45);
}

/* WooCommerce block Cart and Checkout pages */
body.woocommerce-cart,
body.woocommerce-checkout,
body.page .wc-block-cart,
body.page .wc-block-checkout{
  background:
    radial-gradient(circle at top, rgba(255,215,120,.08), transparent 58%),
    linear-gradient(180deg,#12061f 0%,#24113d 48%,#0f0718 100%) !important;
}

body.woocommerce-cart main,
body.woocommerce-checkout main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-cart .content-area,
body.woocommerce-checkout .content-area{
  background:transparent !important;
}

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content{
  max-width:1180px;
  margin:0 auto;
  padding:28px 18px 58px;
  color:#fff !important;
}

body.woocommerce-cart .entry-content > p:first-child,
body.woocommerce-checkout .entry-content > p:first-child{
  margin:0 auto 24px;
  padding:26px 28px;
  border-radius:28px;
  border:1px solid rgba(242,199,119,.45);
  background:linear-gradient(180deg,rgba(9,4,17,.96),rgba(36,17,63,.96));
  color:#fff !important;
  font-size:18px;
  line-height:1.7;
  box-shadow:0 18px 42px rgba(0,0,0,.32);
  text-align:center;
}

body.woocommerce-cart .entry-content > p:first-child::before{
  content:"🛍️ Your Ritual Satchel";
  display:block;
  color:#ffe39a;
  font-size:clamp(30px,4vw,48px);
  line-height:1.1;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin:0 0 12px;
}

body.woocommerce-checkout .entry-content > p:first-child::before{
  content:"✨ Complete Your Ritual";
  display:block;
  color:#ffe39a;
  font-size:clamp(30px,4vw,48px);
  line-height:1.1;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin:0 0 12px;
}

body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce{
  padding:28px !important;
  border-radius:30px;
  border:1px solid rgba(242,199,119,.42);
  background:linear-gradient(180deg,rgba(9,4,17,.96),rgba(26,11,43,.98)) !important;
  box-shadow:0 30px 80px rgba(0,0,0,.44),0 0 34px rgba(242,199,119,.10);
  color:#fff !important;
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-checkout__main{
  color:#fff !important;
}

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart-items th,
body.woocommerce-cart .wc-block-cart-items td,
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-checkout-step{
  border-color:rgba(242,199,119,.24) !important;
  color:#fff !important;
}

body.woocommerce-cart .wc-block-cart-item__wrap,
body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-cart-item__total,
body.woocommerce-cart .wc-block-cart-item__quantity,
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-checkout-step__description,
body.woocommerce-checkout label,
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle,
body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-components-totals-coupon-link,
body.woocommerce-cart .wc-block-components-shipping-rates-control__package-title{
  color:#fff !important;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name{
  color:#ffe39a !important;
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:.04em;
}

body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-checkout .wc-block-components-order-summary-item__image img{
  border-radius:14px !important;
  border:1px solid rgba(242,199,119,.35);
  background:rgba(255,255,255,.06);
}

body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout .woocommerce-checkout-review-order{
  border-radius:24px;
  border:1px solid rgba(242,199,119,.35);
  background:rgba(48,24,86,.64) !important;
  padding:22px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.24);
}

body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-cart .checkout-button,
body.woocommerce-checkout #place_order{
  min-height:58px !important;
  border-radius:999px !important;
  border:1px solid #ffe39a !important;
  background:linear-gradient(135deg,#d4af37,#ffe39a,#f6d365) !important;
  color:#24113d !important;
  font-size:15px !important;
  font-weight:950 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 14px 34px rgba(0,0,0,.35),0 0 26px rgba(242,199,119,.30) !important;
}

body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text::before{ content:"✦ "; }
body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text::after{ content:" ✦"; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text::before{ content:"✦ "; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text::after{ content:" ✦"; }

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(0,0,0,.38),0 0 36px rgba(242,199,119,.42) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .wc-block-components-quantity-selector button,
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-cart input,
body.woocommerce-cart select,
body.woocommerce-cart textarea{
  border-color:rgba(242,199,119,.55) !important;
  border-radius:14px !important;
}

body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-cart input,
body.woocommerce-cart select,
body.woocommerce-cart textarea{
  background:#fff !important;
  color:#24113d !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector button,
body.woocommerce-cart .wc-block-components-quantity-selector input{
  background:#fff !important;
  color:#24113d !important;
  font-weight:900;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title{
  color:#ffe39a !important;
  font-size:clamp(32px,4.5vw,54px) !important;
  letter-spacing:.06em;
  text-transform:uppercase;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title::before{
  content:"✨";
  display:block;
  font-size:72px;
  line-height:1;
  margin:0 0 12px;
}

body.woocommerce-cart .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-product-new ul.products{
  gap:24px !important;
}

body.woocommerce-cart .wc-block-grid__product,
body.woocommerce-cart .wp-block-woocommerce-product-new li.product{
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(48,24,86,.96),rgba(32,13,58,.98)) !important;
  border:1px solid rgba(242,199,119,.45) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.34),0 0 26px rgba(242,199,119,.08) !important;
  padding:18px !important;
  color:#fff !important;
}

body.woocommerce-cart .wc-block-grid__product-title,
body.woocommerce-cart .wp-block-woocommerce-product-new .woocommerce-loop-product__title{
  color:#ffe39a !important;
  font-weight:900 !important;
  text-transform:uppercase;
}

/* Notices */
body.woocommerce .woocommerce-message,
body.woocommerce-page .woocommerce-message,
body.woocommerce .woocommerce-error,
body.woocommerce-page .woocommerce-error,
body.woocommerce .woocommerce-info,
body.woocommerce-page .woocommerce-info{
  border-top:0 !important;
  border:1px solid rgba(242,199,119,.55) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(48,24,86,.96),rgba(18,6,31,.98)) !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(0,0,0,.25);
}

body.woocommerce .woocommerce-message a,
body.woocommerce-page .woocommerce-message a,
body.woocommerce .woocommerce-info a,
body.woocommerce-page .woocommerce-info a{
  color:#ffe39a !important;
  font-weight:900;
}

body.woocommerce .woocommerce-message::before,
body.woocommerce-page .woocommerce-message::before,
body.woocommerce .woocommerce-info::before,
body.woocommerce-page .woocommerce-info::before{
  color:#ffe39a !important;
}

@media (max-width:900px){
  body.single-product div.product{
    padding:22px !important;
    margin:18px 12px 42px !important;
  }
  body.single-product div.product div.images,
  body.single-product div.product div.summary{
    width:100% !important;
    float:none !important;
    padding-left:0 !important;
  }
  body.single-product div.product .summary{
    text-align:center;
  }
  .csu-product-trust-panel__grid{
    grid-template-columns:1fr;
    text-align:left;
  }
  body.woocommerce-cart .wc-block-cart,
  body.woocommerce-checkout .wc-block-checkout,
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce{
    padding:18px !important;
  }
}

@media (max-width:640px){
  body.single-product .woocommerce-tabs{
    padding:18px !important;
  }
  body.single-product div.product div.images .flex-control-thumbs{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  body.woocommerce-cart .entry-content,
  body.woocommerce-checkout .entry-content{
    padding-left:12px;
    padding-right:12px;
  }
  body.woocommerce-cart .entry-content > p:first-child,
  body.woocommerce-checkout .entry-content > p:first-child{
    padding:22px 18px;
  }
}


/*
 * ConjuresUp Phase IV Sprint 2.5 — Luxury Commerce Polish
 * Focus: contrast lock, stronger purchase CTA, empty cart cleanup, mobile title/price polish.
 */
body.woocommerce,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.single-product{
  --csu-commerce-ink:#ffffff;
  --csu-commerce-heading:#ffe39a;
  --csu-commerce-subtle:rgba(255,255,255,.82);
}

/* Global commerce contrast lock: no black typography on dark purple commerce surfaces. */
body.woocommerce .woocommerce,
body.woocommerce-page .woocommerce,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.single-product div.product,
body.single-product .woocommerce-tabs,
body.single-product .related,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block{
  color:#fff !important;
}

body.woocommerce h1,
body.woocommerce h2,
body.woocommerce h3,
body.woocommerce h4,
body.woocommerce-page h1,
body.woocommerce-page h2,
body.woocommerce-page h3,
body.woocommerce-page h4,
body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .wp-block-heading,
body.woocommerce-cart .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-title,
body.single-product .product_title,
body.single-product .related > h2{
  color:#ffe39a !important;
  text-shadow:0 2px 10px rgba(0,0,0,.46);
}

body.woocommerce p,
body.woocommerce li,
body.woocommerce label,
body.woocommerce small,
body.woocommerce-page p,
body.woocommerce-page li,
body.woocommerce-page label,
body.woocommerce-page small,
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-components-totals-shipping,
body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-checkout .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item{
  color:#fff !important;
}

body.woocommerce a,
body.woocommerce-page a,
body.woocommerce-cart a,
body.woocommerce-checkout a{
  color:#ffe39a !important;
  text-decoration-color:rgba(255,227,154,.55) !important;
}

/* Empty cart: remove sad default icon and turn the area into an on-brand invitation. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .wc-block-cart__empty-cart{
  text-align:center !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block svg,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__icon,
body.woocommerce-cart .wc-block-cart__empty-cart__title svg,
body.woocommerce-cart .wc-block-cart__empty-cart-icon,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > svg{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title{
  display:block !important;
  margin:26px auto 12px !important;
  max-width:820px;
  color:#ffe39a !important;
  font-size:clamp(30px,5.2vw,58px) !important;
  line-height:1.05 !important;
  letter-spacing:.075em !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title::before{
  content:"✨" !important;
  display:block !important;
  font-size:clamp(52px,12vw,96px) !important;
  line-height:1 !important;
  margin:0 auto 18px !important;
  filter:drop-shadow(0 0 18px rgba(242,199,119,.32));
}

body.woocommerce-cart .wc-block-cart__empty-cart__title::after{
  content:"No magical artifacts have been chosen yet. Explore the Marketplace and fill your satchel with something worthy of the journey.";
  display:block;
  max-width:680px;
  margin:18px auto 0;
  color:#fff;
  font-family:inherit;
  font-size:clamp(15px,2.4vw,19px);
  line-height:1.75;
  letter-spacing:0;
  text-transform:none;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading{
  color:#ffe39a !important;
  font-size:clamp(24px,4vw,40px) !important;
  margin-top:38px !important;
  text-transform:uppercase;
  letter-spacing:.08em;
}

/* Single product polish: make title/price/CTA feel like the purchase path. */
body.single-product div.product .summary .product_title{
  font-size:clamp(34px,4.8vw,62px) !important;
  line-height:1.02 !important;
  letter-spacing:.045em !important;
  margin-bottom:16px !important;
  overflow-wrap:normal;
  hyphens:none;
}

body.single-product div.product p.price,
body.single-product div.product span.price,
body.single-product div.product .summary .price{
  display:block !important;
  color:#ffe39a !important;
  font-size:clamp(24px,3vw,38px) !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  margin:12px 0 20px !important;
  text-shadow:0 0 16px rgba(242,199,119,.22);
}

body.single-product div.product p.price del,
body.single-product div.product span.price del,
body.single-product div.product .summary .price del{
  color:rgba(255,255,255,.48) !important;
  font-size:.72em !important;
  margin-right:8px;
}

body.single-product div.product p.price ins,
body.single-product div.product span.price ins,
body.single-product div.product .summary .price ins{
  color:#ffe39a !important;
  text-decoration:none !important;
}

body.single-product div.product form.cart{
  margin-top:18px !important;
}

body.single-product div.product form.cart .button,
body.single-product div.product .single_add_to_cart_button,
body.single-product div.product button.single_add_to_cart_button,
body.single-product div.product form.cart button[type="submit"]{
  width:100% !important;
  max-width:440px;
  min-height:58px !important;
  margin:12px 0 0 !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#d4af37 0%,#ffe39a 50%,#f6d365 100%) !important;
  color:#24113d !important;
  border:1px solid #ffe39a !important;
  font-size:16px !important;
  font-weight:950 !important;
  letter-spacing:.105em !important;
  text-transform:uppercase !important;
  box-shadow:0 18px 42px rgba(0,0,0,.38),0 0 34px rgba(242,199,119,.36) !important;
}

body.single-product div.product form.cart .button::before,
body.single-product div.product .single_add_to_cart_button::before{
  content:"✦ ";
}
body.single-product div.product form.cart .button::after,
body.single-product div.product .single_add_to_cart_button::after{
  content:" ✦";
}

body.single-product div.product form.cart .button:hover,
body.single-product div.product .single_add_to_cart_button:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 52px rgba(0,0,0,.42),0 0 44px rgba(242,199,119,.48) !important;
}

/* De-emphasize gallery/compare helpers so they do not compete with buying. */
body.single-product .summary a.compare,
body.single-product .summary .compare,
body.single-product .summary .yith-wcwl-add-to-wishlist,
body.single-product .summary .product_meta{
  color:rgba(255,255,255,.66) !important;
  font-size:12px !important;
  opacity:.78;
}

body.single-product .summary .product_meta{
  border-top:1px solid rgba(242,199,119,.22);
  margin-top:18px !important;
  padding-top:14px !important;
}

body.single-product .summary .product_meta a{
  color:#ffe39a !important;
}

/* Size/variation buttons and quantity controls. */
body.single-product div.product table.variations,
body.single-product div.product .variations{
  margin:12px 0 16px !important;
}
body.single-product div.product table.variations td,
body.single-product div.product table.variations th{
  display:block !important;
  padding:0 0 8px !important;
  text-align:left !important;
  color:#fff !important;
}
body.single-product div.product table.variations label{
  color:#ffe39a !important;
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
body.single-product div.product table.variations select,
body.single-product div.product form.cart .quantity input.qty{
  min-height:48px !important;
  border-radius:999px !important;
  border:1px solid rgba(242,199,119,.75) !important;
  background:#fff !important;
  color:#24113d !important;
  font-weight:900 !important;
  text-align:center;
}

body.single-product div.product .summary .reset_variations{
  color:#ffe39a !important;
  font-weight:900;
}

/* Product description readability. */
body.single-product .woocommerce-tabs .panel,
body.single-product .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs p,
body.single-product .woocommerce-tabs li{
  color:#fff !important;
  font-size:clamp(14px,1.65vw,17px) !important;
  line-height:1.82 !important;
}
body.single-product .woocommerce-tabs h2,
body.single-product .woocommerce-Tabs-panel h2{
  color:#ffe39a !important;
  font-size:clamp(28px,4vw,44px) !important;
}

/* Cart and checkout blocks: make totals and labels legible on dark backgrounds. */
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-checkout__form,
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar{
  border-color:rgba(242,199,119,.28) !important;
}

body.woocommerce-cart .wc-block-components-formatted-money-amount,
body.woocommerce-checkout .wc-block-components-formatted-money-amount,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:#ffe39a !important;
  font-weight:950 !important;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name{
  color:#ffe39a !important;
  font-weight:900 !important;
}

/* Related/new product cards hover polish. */
body.single-product .related ul.products li.product,
body.woocommerce-cart .wc-block-grid__product,
body.woocommerce-cart .wp-block-woocommerce-product-new li.product{
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease !important;
}
body.single-product .related ul.products li.product:hover,
body.woocommerce-cart .wc-block-grid__product:hover,
body.woocommerce-cart .wp-block-woocommerce-product-new li.product:hover{
  transform:translateY(-6px) !important;
  border-color:#f2c777 !important;
  box-shadow:0 24px 52px rgba(0,0,0,.42),0 0 32px rgba(242,199,119,.24) !important;
}

@media (max-width:900px){
  body.single-product div.product .summary .product_title{
    font-size:clamp(30px,8vw,46px) !important;
    line-height:1.05 !important;
    max-width:680px;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.single-product div.product form.cart .button,
  body.single-product div.product .single_add_to_cart_button,
  body.single-product div.product button.single_add_to_cart_button{
    max-width:none;
  }
  body.single-product div.product table.variations td,
  body.single-product div.product table.variations th{
    text-align:center !important;
  }
}

@media (max-width:520px){
  body.single-product div.product .summary .product_title{
    font-size:32px !important;
    letter-spacing:.025em !important;
  }
  body.single-product div.product p.price,
  body.single-product div.product span.price,
  body.single-product div.product .summary .price{
    font-size:27px !important;
  }
  body.woocommerce-cart .wc-block-cart__empty-cart__title{
    font-size:30px !important;
  }
}

/*
 * ConjuresUp Phase IV Sprint 2.6 — Commerce Lockdown
 * Purpose: enforce one commerce design system across WooCommerce products, cart, checkout, blocks, and helper plugins.
 */
:root{
  --csu-commerce-bg:#090411;
  --csu-commerce-bg-2:#12061f;
  --csu-commerce-panel:#24113f;
  --csu-commerce-panel-2:#301856;
  --csu-commerce-gold:#f2c777;
  --csu-commerce-gold-bright:#ffe39a;
  --csu-commerce-text:#ffffff;
  --csu-commerce-text-soft:#d8d2e8;
  --csu-commerce-meta:#b7afc8;
  --csu-commerce-border:rgba(242,199,119,.45);
  --csu-commerce-border-strong:rgba(242,199,119,.72);
}

/* Universal commerce contrast lock. */
body.woocommerce,
body.woocommerce-page,
body.single-product,
body.woocommerce-cart,
body.woocommerce-checkout{
  background:radial-gradient(circle at top,rgba(255,215,120,.08),transparent 58%),linear-gradient(180deg,#12061f 0%,#24113d 48%,#0f0718 100%) !important;
  color:var(--csu-commerce-text) !important;
}

body.woocommerce :where(h1,h2,h3,h4,h5,h6,.wc-block-cart__empty-cart__title,.wp-block-heading,.cart_totals h2),
body.woocommerce-page :where(h1,h2,h3,h4,h5,h6,.wc-block-cart__empty-cart__title,.wp-block-heading,.cart_totals h2),
body.single-product :where(h1,h2,h3,h4,h5,h6),
body.woocommerce-cart :where(h1,h2,h3,h4,h5,h6,.wc-block-cart__empty-cart__title,.wp-block-heading),
body.woocommerce-checkout :where(h1,h2,h3,h4,h5,h6,.wc-block-components-title){
  color:var(--csu-commerce-gold-bright) !important;
  text-shadow:0 3px 18px rgba(0,0,0,.42);
}

body.woocommerce :where(p,li,td,th,label,small,span,div),
body.woocommerce-page :where(p,li,td,th,label,small,span,div),
body.single-product :where(p,li,td,th,label,small,span,div),
body.woocommerce-cart :where(p,li,td,th,label,small,span,div),
body.woocommerce-checkout :where(p,li,td,th,label,small,span,div){
  color:inherit;
}

body.woocommerce :where(a),
body.woocommerce-page :where(a),
body.single-product :where(a),
body.woocommerce-cart :where(a),
body.woocommerce-checkout :where(a){
  color:var(--csu-commerce-gold-bright) !important;
  text-decoration-color:rgba(255,227,154,.55) !important;
}

body.woocommerce :where(a:hover),
body.woocommerce-page :where(a:hover),
body.single-product :where(a:hover),
body.woocommerce-cart :where(a:hover),
body.woocommerce-checkout :where(a:hover){
  color:#fff4c2 !important;
}

/* Never allow hidden WooCommerce helper/meta text to become black on purple. */
body.single-product :where(.reset_variations,.product_meta,.product_meta span,.product_meta a,.sku_wrapper,.posted_in,.tagged_as,.compare,.size-guide,.SizeGuide,.yith-wcwl-add-to-wishlist),
body.woocommerce-cart :where(.wc-block-components-product-metadata,.wc-block-components-product-metadata__description,.wc-block-components-product-details,.wc-block-components-product-details__name,.wc-block-components-product-details__value,.wc-block-components-totals-coupon-link,.wc-block-components-shipping-rates-control__package-title),
body.woocommerce-checkout :where(.wc-block-components-product-metadata,.wc-block-components-product-details,.wc-block-components-product-details__name,.wc-block-components-product-details__value,.wc-block-components-checkout-step__description,.wc-block-components-address-card,.wc-block-components-totals-coupon-link){
  color:var(--csu-commerce-text-soft) !important;
}

body.single-product .product_meta{
  position:relative;
  margin-top:22px !important;
  padding:38px 18px 18px !important;
  border-radius:18px !important;
  border:1px solid rgba(242,199,119,.26) !important;
  background:rgba(255,255,255,.05) !important;
  opacity:1 !important;
}
body.single-product .product_meta::before{
  content:"Product Details";
  position:absolute;
  top:14px;
  left:18px;
  color:var(--csu-commerce-gold-bright);
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
}

/* Product purchase path hierarchy. */
body.single-product div.product .summary .product_title{
  color:var(--csu-commerce-gold-bright) !important;
  font-size:clamp(32px,4.1vw,56px) !important;
  line-height:1.05 !important;
  letter-spacing:.04em !important;
}
body.single-product div.product .summary .price,
body.single-product div.product p.price,
body.single-product div.product span.price,
body.single-product .woocommerce-variation-price .price{
  color:var(--csu-commerce-gold-bright) !important;
  font-size:clamp(28px,3.2vw,42px) !important;
  line-height:1.12 !important;
  font-weight:950 !important;
  margin:14px 0 22px !important;
}
body.single-product div.product .summary .price del,
body.single-product div.product p.price del,
body.single-product div.product span.price del{
  color:rgba(216,210,232,.58) !important;
  opacity:1 !important;
}
body.single-product div.product .summary .price ins,
body.single-product div.product p.price ins,
body.single-product div.product span.price ins{
  color:var(--csu-commerce-gold-bright) !important;
  text-decoration:none !important;
}

body.single-product div.product form.cart .button,
body.single-product div.product .single_add_to_cart_button,
body.single-product div.product button.single_add_to_cart_button,
body.single-product div.product form.cart button[type="submit"]{
  min-height:64px !important;
  font-size:17px !important;
  letter-spacing:.12em !important;
  box-shadow:0 20px 48px rgba(0,0,0,.42),0 0 42px rgba(242,199,119,.40) !important;
}
body.single-product div.product .single_add_to_cart_button.disabled,
body.single-product div.product .single_add_to_cart_button:disabled,
body.single-product div.product .single_add_to_cart_button.wc-variation-selection-needed{
  opacity:.62 !important;
  filter:saturate(.65) !important;
  cursor:not-allowed !important;
}

/* Variation and size swatch lockdown: supports native selects plus common swatch plugins. */
body.single-product table.variations label,
body.single-product .variations label,
body.single-product .quantity::before,
body.single-product .label label{
  color:var(--csu-commerce-gold-bright) !important;
}
body.single-product .variations select,
body.single-product form.cart select,
body.single-product .quantity input.qty{
  background:#fff !important;
  color:#24113d !important;
  border:1px solid var(--csu-commerce-border-strong) !important;
}
body.single-product :where(.variable-items-wrapper,.woo-variation-items-wrapper,.cfvsw-swatches-container,.wvs-style-squared.variable-items-wrapper){
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  align-items:center !important;
  margin:8px 0 14px !important;
}
body.single-product :where(.variable-item,.button-variable-item,.image-variable-item,.color-variable-item,.cfvsw-swatches-option,.woo-variation-swatches .variable-item){
  min-width:46px !important;
  min-height:42px !important;
  border-radius:999px !important;
  border:1px solid var(--csu-commerce-border-strong) !important;
  background:rgba(36,17,63,.92) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(0,0,0,.26) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px 13px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
body.single-product :where(.variable-item span,.button-variable-item span,.variable-item-span,.variable-item-span-button,.cfvsw-swatches-option span){
  color:#fff !important;
  font-size:13px !important;
  font-weight:950 !important;
  line-height:1 !important;
  text-indent:0 !important;
}
body.single-product :where(.variable-item.selected,.variable-item[aria-checked="true"],.button-variable-item.selected,.cfvsw-selected-swatch,.cfvsw-swatches-option.cfvsw-selected-swatch){
  background:linear-gradient(135deg,#d4af37,#ffe39a,#f6d365) !important;
  color:#24113d !important;
  border-color:#ffe39a !important;
}
body.single-product :where(.variable-item.selected span,.variable-item[aria-checked="true"] span,.button-variable-item.selected span,.cfvsw-selected-swatch span){
  color:#24113d !important;
}

/* Trust panel spacing/readability. */
.csu-product-trust-panel{
  margin:22px 0 8px !important;
  padding:22px !important;
}
.csu-product-trust-panel__title{
  color:var(--csu-commerce-gold-bright) !important;
}
.csu-product-trust-panel__item{
  color:#fff !important;
  padding:4px 0;
}

/* Cart and checkout block lockdown. */
body.woocommerce-cart .entry-content > p,
body.woocommerce-checkout .entry-content > p,
body.woocommerce-cart .entry-content > p a,
body.woocommerce-checkout .entry-content > p a{
  color:var(--csu-commerce-text) !important;
}
body.woocommerce-cart :where(.wc-block-cart,.wc-block-components-sidebar,.wc-block-cart__sidebar,.wc-block-components-totals-wrapper,.wc-block-components-main,.wc-block-cart-items),
body.woocommerce-checkout :where(.wc-block-checkout,.wc-block-components-sidebar,.wc-block-components-checkout-step,.wc-block-checkout__main,.wc-block-components-order-summary){
  color:#fff !important;
  border-color:rgba(242,199,119,.30) !important;
}
body.woocommerce-cart :where(.wc-block-components-totals-item__label,.wc-block-components-totals-item__value,.wc-block-components-totals-footer-item,.wc-block-cart-item__total,.wc-block-cart-item__prices,.wc-block-cart-item__quantity),
body.woocommerce-checkout :where(.wc-block-components-totals-item__label,.wc-block-components-totals-item__value,.wc-block-components-totals-footer-item,.wc-block-components-order-summary-item__quantity,.wc-block-components-order-summary-item__total-price){
  color:#fff !important;
}
body.woocommerce-cart :where(.wc-block-components-formatted-money-amount,.wc-block-components-totals-footer-item .wc-block-components-totals-item__value),
body.woocommerce-checkout :where(.wc-block-components-formatted-money-amount,.wc-block-components-totals-footer-item .wc-block-components-totals-item__value){
  color:var(--csu-commerce-gold-bright) !important;
  font-weight:950 !important;
}

/* Empty cart: remove the default sad glyph everywhere and replace with an inviting ritual satchel message. */
body.woocommerce-cart :where(.wp-block-woocommerce-empty-cart-block svg,.wp-block-woocommerce-empty-cart-block img,.wc-block-cart__empty-cart__icon,.wc-block-cart__empty-cart-icon,.wc-block-components-empty-cart__icon,.wc-block-cart__empty-cart-container svg,.wc-block-cart__empty-cart-container img){
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  max-width:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title{
  color:var(--csu-commerce-gold-bright) !important;
  margin-top:30px !important;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title::before{
  content:"✨" !important;
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  color:var(--csu-commerce-gold-bright) !important;
  font-size:clamp(58px,11vw,104px) !important;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title::after{
  color:#fff !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading{
  color:var(--csu-commerce-gold-bright) !important;
}

/* Product/new-in-store block card and button lock. */
body.woocommerce-cart :where(.wc-block-grid__product,.wp-block-woocommerce-product-new li.product,.wp-block-woocommerce-product-template li){
  background:linear-gradient(180deg,rgba(48,24,86,.96),rgba(32,13,58,.98)) !important;
  border:1px solid var(--csu-commerce-border) !important;
  border-radius:22px !important;
  color:#fff !important;
}
body.woocommerce-cart :where(.wc-block-grid__product-title,.wp-block-woocommerce-product-new .woocommerce-loop-product__title,.wc-block-components-product-title){
  color:var(--csu-commerce-gold-bright) !important;
}
body.woocommerce-cart :where(.wc-block-grid__product-price,.wc-block-grid__product-price span,.wc-block-grid__product-price ins,.wc-block-grid__product-price del){
  color:var(--csu-commerce-gold-bright) !important;
}
body.woocommerce-cart :where(.wc-block-grid__product-add-to-cart .wp-block-button__link,.wp-block-button__link.add_to_cart_button){
  background:#090411 !important;
  color:#fff !important;
  border:1px solid var(--csu-commerce-border) !important;
  border-radius:999px !important;
}

/* Form field exception: readable text inside white controls only. */
body.woocommerce :where(input,select,textarea),
body.woocommerce-page :where(input,select,textarea),
body.single-product :where(input,select,textarea),
body.woocommerce-cart :where(input,select,textarea),
body.woocommerce-checkout :where(input,select,textarea){
  color:#24113d !important;
}
body.woocommerce :where(input::placeholder,textarea::placeholder),
body.woocommerce-page :where(input::placeholder,textarea::placeholder),
body.woocommerce-checkout :where(input::placeholder,textarea::placeholder){
  color:rgba(36,17,61,.60) !important;
}

@media (max-width:900px){
  body.single-product div.product .summary .product_title{
    font-size:clamp(30px,7.2vw,44px) !important;
    line-height:1.07 !important;
  }
  body.single-product div.product .summary .price,
  body.single-product div.product p.price,
  body.single-product div.product span.price,
  body.single-product .woocommerce-variation-price .price{
    font-size:clamp(26px,6vw,34px) !important;
  }
  body.single-product :where(.variable-items-wrapper,.woo-variation-items-wrapper,.cfvsw-swatches-container){
    justify-content:center !important;
  }
}

@media (max-width:520px){
  body.single-product div.product .summary .product_title{
    font-size:29px !important;
    letter-spacing:.025em !important;
  }
  body.single-product div.product form.cart .button,
  body.single-product div.product .single_add_to_cart_button,
  body.single-product div.product button.single_add_to_cart_button,
  body.single-product div.product form.cart button[type="submit"]{
    min-height:60px !important;
    font-size:15px !important;
  }
  body.single-product :where(.variable-item,.button-variable-item,.cfvsw-swatches-option){
    min-width:44px !important;
    min-height:40px !important;
    padding:7px 11px !important;
  }
}

/*
 * ConjuresUp Phase IV Sprint 2.7 — CSS Containment & Commerce Isolation
 * Purpose: keep premium commerce styling inside WooCommerce purchase surfaces without recoloring the locked site header/navigation.
 */

/* Header/menu restoration on WooCommerce pages: do not let commerce link locks recolor the global navigation. */
body.woocommerce header .simple-navbar-wpdevart a,
body.woocommerce-page header .simple-navbar-wpdevart a,
body.single-product header .simple-navbar-wpdevart a,
body.woocommerce-cart header .simple-navbar-wpdevart a,
body.woocommerce-checkout header .simple-navbar-wpdevart a,
body.woocommerce header .navbar-wpdevart > ul > li > a,
body.woocommerce-page header .navbar-wpdevart > ul > li > a,
body.single-product header .navbar-wpdevart > ul > li > a,
body.woocommerce-cart header .navbar-wpdevart > ul > li > a,
body.woocommerce-checkout header .navbar-wpdevart > ul > li > a,
body.woocommerce header .wpdevart-menu-items-color,
body.woocommerce-page header .wpdevart-menu-items-color,
body.single-product header .wpdevart-menu-items-color,
body.woocommerce-cart header .wpdevart-menu-items-color,
body.woocommerce-checkout header .wpdevart-menu-items-color{
  color:#ffffff !important;
  text-shadow:none !important;
}

/* Keep dropdowns readable on their white dropdown panels. */
body.woocommerce header .navbar-wpdevart .dropdown-menu a,
body.woocommerce-page header .navbar-wpdevart .dropdown-menu a,
body.single-product header .navbar-wpdevart .dropdown-menu a,
body.woocommerce-cart header .navbar-wpdevart .dropdown-menu a,
body.woocommerce-checkout header .navbar-wpdevart .dropdown-menu a,
body.woocommerce header .navbar-wpdevart .sub-menu a,
body.woocommerce-page header .navbar-wpdevart .sub-menu a,
body.single-product header .navbar-wpdevart .sub-menu a,
body.woocommerce-cart header .navbar-wpdevart .sub-menu a,
body.woocommerce-checkout header .navbar-wpdevart .sub-menu a,
body.woocommerce header .wpdevart-sub-menu-link-color,
body.woocommerce-page header .wpdevart-sub-menu-link-color,
body.single-product header .wpdevart-sub-menu-link-color,
body.woocommerce-cart header .wpdevart-sub-menu-link-color,
body.woocommerce-checkout header .wpdevart-sub-menu-link-color{
  color:#000000 !important;
}

/* Do not recolor header utility links/icons with commerce gold. */
body.woocommerce header :where(.wpdevart-menu-button-icon,.wpdevart-sub-menu-button-icon),
body.woocommerce-page header :where(.wpdevart-menu-button-icon,.wpdevart-sub-menu-button-icon),
body.single-product header :where(.wpdevart-menu-button-icon,.wpdevart-sub-menu-button-icon),
body.woocommerce-cart header :where(.wpdevart-menu-button-icon,.wpdevart-sub-menu-button-icon),
body.woocommerce-checkout header :where(.wpdevart-menu-button-icon,.wpdevart-sub-menu-button-icon){
  color:inherit !important;
}

/* Cart/checkout page intro copy from the old Gutenberg wrapper is redundant after the premium satchel styling. */
body.woocommerce-cart .entry-content > p:first-child,
body.woocommerce-checkout .entry-content > p:first-child{
  display:none !important;
}

/* Product meta gets its own clean panel; no overlapping tiny developer-style line. */
body.single-product .product_meta{
  color:#d8d2e8 !important;
  font-size:13px !important;
  line-height:1.8 !important;
  text-align:left !important;
}
body.single-product .product_meta > span,
body.single-product .product_meta .sku_wrapper,
body.single-product .product_meta .posted_in,
body.single-product .product_meta .tagged_as{
  display:block !important;
  margin:3px 0 !important;
  color:#d8d2e8 !important;
}
body.single-product .product_meta a,
body.single-product .reset_variations{
  color:#ffe39a !important;
  text-decoration-color:rgba(255,227,154,.55) !important;
  font-weight:800 !important;
}

/* Hide compare in the purchase area so it no longer competes with Add to Cart. */
body.single-product .summary a.compare,
body.single-product .summary .compare{
  display:none !important;
}

/* Keep variation helpers readable without turning selected/white controls unreadable. */
body.single-product .variations .label,
body.single-product .variations .label label,
body.single-product .woocommerce-variation-description,
body.single-product .woocommerce-variation-availability{
  color:#d8d2e8 !important;
}
body.single-product :where(.variable-item.selected,.variable-item[aria-checked="true"],.button-variable-item.selected,.cfvsw-selected-swatch,.cfvsw-swatches-option.cfvsw-selected-swatch){
  background:linear-gradient(135deg,#d4af37,#ffe39a,#f6d365) !important;
  color:#24113d !important;
  box-shadow:0 10px 24px rgba(0,0,0,.28),0 0 20px rgba(242,199,119,.34) !important;
}

/* Commerce buttons stay premium, but only inside WooCommerce purchase surfaces. */
body.single-product div.product form.cart button.single_add_to_cart_button:not(.disabled):not(:disabled),
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button{
  background:linear-gradient(135deg,#d4af37 0%,#ffe39a 52%,#f6d365 100%) !important;
  color:#24113d !important;
}

/* Cart page surface polish after hiding the old intro copy. */
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout{
  margin-top:0 !important;
}

/* Mobile containment: preserve header behavior and avoid accidental menu overflow changes. */
@media (max-width:959px){
  body.woocommerce header #wpdevartmobilemenu a,
  body.woocommerce-page header #wpdevartmobilemenu a,
  body.single-product header #wpdevartmobilemenu a,
  body.woocommerce-cart header #wpdevartmobilemenu a,
  body.woocommerce-checkout header #wpdevartmobilemenu a{
    color:inherit !important;
  }
}

/*
 * ConjuresUp Phase IV Sprint 2.8 — Commerce Contrast Final Pass
 * Purpose: eliminate remaining charcoal/black helper text on dark commerce panels, remove hot-pink tab remnants,
 * and keep Stripe/Woo blocks readable without affecting global navigation.
 */

/* Product page remaining helper links/labels. */
body.single-product div.product :where(.reset_variations,.clear,.woocommerce-variation-description,.woocommerce-variation-availability,.stock,.size-guide,.SizeGuide,.product_meta,.product_meta span,.product_meta a,.summary small,.summary .label,.summary label){
  color:#d8d2e8 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
body.single-product div.product .reset_variations,
body.single-product div.product a.reset_variations,
body.single-product div.product .summary a:not(.button):not(.single_add_to_cart_button){
  color:#ffe39a !important;
  text-decoration-color:rgba(255,227,154,.62) !important;
}
body.single-product div.product table.variations .label,
body.single-product div.product table.variations label,
body.single-product div.product .quantity::before{
  color:#ffe39a !important;
  opacity:1 !important;
}

/* Product details card readability. */
body.single-product .product_meta::before{
  color:#ffe39a !important;
  background:transparent !important;
  text-shadow:0 2px 8px rgba(0,0,0,.45) !important;
}
body.single-product .product_meta,
body.single-product .product_meta *{
  color:#d8d2e8 !important;
}
body.single-product .product_meta a{
  color:#ffe39a !important;
}

/* Remove hot pink/magenta tab residue and force premium tab contrast. */
body.single-product .woocommerce-tabs ul.tabs li,
body.single-product .woocommerce-tabs ul.tabs li a,
body.single-product .woocommerce-tabs ul.tabs li.active,
body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li:hover a{
  text-shadow:none !important;
}
body.single-product .woocommerce-tabs ul.tabs li:not(.active) a{
  color:#ffe39a !important;
  background:transparent !important;
}
body.single-product .woocommerce-tabs ul.tabs li.active,
body.single-product .woocommerce-tabs ul.tabs li.active:hover{
  background:linear-gradient(135deg,#d4af37,#ffe39a,#f6d365) !important;
  border-color:#ffe39a !important;
}
body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li.active:hover a{
  color:#24113d !important;
  background:transparent !important;
}

/* Notice View Cart CTA: keep the button gold but make text unmistakably readable. */
body.woocommerce .woocommerce-message .button,
body.woocommerce-page .woocommerce-message .button,
body.single-product .woocommerce-message .button,
body.woocommerce-cart .woocommerce-message .button,
body.woocommerce-checkout .woocommerce-message .button{
  background:linear-gradient(135deg,#d4af37,#ffe39a,#f6d365) !important;
  color:#24113d !important;
  border:1px solid #ffe39a !important;
  font-weight:950 !important;
  text-shadow:none !important;
  box-shadow:0 8px 20px rgba(0,0,0,.28),0 0 18px rgba(242,199,119,.26) !important;
}
body.woocommerce .woocommerce-message .button *,
body.woocommerce-page .woocommerce-message .button *,
body.single-product .woocommerce-message .button *{
  color:#24113d !important;
}

/* Cart/checkout: hide old Gutenberg intro copy wherever the page builder places it. */
body.woocommerce-cart .entry-content > p:first-of-type,
body.woocommerce-checkout .entry-content > p:first-of-type,
body.woocommerce-cart .wp-block-post-content > p:first-of-type,
body.woocommerce-checkout .wp-block-post-content > p:first-of-type,
body.woocommerce-cart main p:has(a[href*="feedback"]),
body.woocommerce-checkout main p:has(a[href*="feedback"]),
body.woocommerce-cart main p:has(a[href*="shipping"]),
body.woocommerce-checkout main p:has(a[href*="shipping"]){
  display:none !important;
}

/* Cart block remaining dark text and icons. */
body.woocommerce-cart :where(.wc-block-cart,.wc-block-cart *:not(input):not(select):not(textarea):not(button):not(.wc-block-components-button):not(.wc-block-components-button__text)),
body.woocommerce-checkout :where(.wc-block-checkout,.wc-block-checkout *:not(input):not(select):not(textarea):not(button):not(.wc-block-components-button):not(.wc-block-components-button__text)){
  color:#ffffff !important;
}
body.woocommerce-cart :where(.wc-block-components-product-metadata,.wc-block-components-product-details,.wc-block-components-product-details__name,.wc-block-components-product-details__value,.wc-block-components-totals-coupon-link,.wc-block-components-shipping-rates-control__package-title,.wc-block-cart-item__remove-link),
body.woocommerce-checkout :where(.wc-block-components-product-metadata,.wc-block-components-product-details,.wc-block-components-product-details__name,.wc-block-components-product-details__value,.wc-block-components-checkout-step__description,.wc-block-components-address-card,.wc-block-components-totals-coupon-link,.wc-block-components-checkbox__label){
  color:#d8d2e8 !important;
}
body.woocommerce-cart :where(.wc-block-components-product-name,.wc-block-components-product-name a,.wc-block-components-formatted-money-amount),
body.woocommerce-checkout :where(.wc-block-components-product-name,.wc-block-components-product-name a,.wc-block-components-formatted-money-amount){
  color:#ffe39a !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector svg,
body.woocommerce-cart .wc-block-cart-item__remove-link svg,
body.woocommerce-cart .wc-block-components-totals-coupon-link svg,
body.woocommerce-checkout .wc-block-components-totals-coupon-link svg{
  fill:#ffffff !important;
  color:#ffffff !important;
}

/* Cart/checkout buttons: visible button text, including nested spans. */
body.woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-button,
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button{
  text-shadow:none !important;
}
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-button *,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button *{
  color:#24113d !important;
  font-weight:950 !important;
}

/* Checkout block form readability: white panels/inputs get dark ink, dark panels get white labels. */
body.woocommerce-checkout :where(.wc-block-components-text-input input,.wc-block-components-select select,.wc-block-components-combobox input,.wc-block-components-country-input input,.wc-block-components-state-input input,.wc-block-components-address-form input,.wc-block-components-address-form select,.wc-block-components-validation-error input),
body.woocommerce-cart :where(.wc-block-components-text-input input,.wc-block-components-select select){
  background:#ffffff !important;
  color:#24113d !important;
  -webkit-text-fill-color:#24113d !important;
}
body.woocommerce-checkout :where(.wc-block-components-text-input label,.wc-block-components-select label,.wc-block-components-combobox label,.wc-block-components-address-form label){
  color:#d8d2e8 !important;
  opacity:1 !important;
}
body.woocommerce-checkout :where(.wc-block-components-text-input.is-active label,.wc-block-components-text-input.has-value label,.wc-block-components-select .wc-block-components-select__label){
  color:#24113d !important;
  background:#ffffff !important;
  padding:0 5px !important;
  border-radius:4px !important;
}
body.woocommerce-checkout :where(.wc-block-components-validation-error,.wc-block-components-validation-error p,.wc-block-components-validation-error span){
  color:#ffe39a !important;
}

/* Express payment buttons are third-party surfaces; do not force their internal text gold/white. */
body.single-product :where(.wc-stripe-product-checkout-container,.wc-stripe-product-checkout-container *),
body.woocommerce-cart :where(.wc-block-components-express-payment,.wc-block-components-express-payment *),
body.woocommerce-checkout :where(.wc-block-components-express-payment,.wc-block-components-express-payment *){
  text-shadow:none !important;
}

/* Size swatches: eliminate blank-looking white boxes; unselected pills stay purple, selected pills go gold. */
body.single-product :where(.variable-item,.button-variable-item,.cfvsw-swatches-option):not(.selected):not([aria-checked="true"]):not(.cfvsw-selected-swatch){
  background:#24113f !important;
  color:#ffffff !important;
}
body.single-product :where(.variable-item:not(.selected):not([aria-checked="true"]) span,.button-variable-item:not(.selected):not([aria-checked="true"]) span,.cfvsw-swatches-option:not(.cfvsw-selected-swatch) span){
  color:#ffffff !important;
}

/* Keep disabled add-to-cart readable while signalling that a variation must be selected. */
body.single-product div.product .single_add_to_cart_button.disabled,
body.single-product div.product .single_add_to_cart_button:disabled,
body.single-product div.product .single_add_to_cart_button.wc-variation-selection-needed{
  background:linear-gradient(135deg,rgba(212,175,55,.55),rgba(255,227,154,.60)) !important;
  color:#24113d !important;
  opacity:.78 !important;
  text-shadow:none !important;
}


/*
 * ConjuresUp Phase IV Sprint 2.9 — Commerce Readability + Empty Cart Product Media Restore
 * Focus: scoped contrast fixes, no hot-pink remnants, readable links, product-details spacing,
 * restore empty-cart recommended product thumbnails, and keep checkout/cart text legible.
 */

/* Keep commerce-only links readable and eliminate magenta/pink hover residues. */
body.woocommerce-page :where(.entry-content,.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout,.wc-block-components-notice-banner) a,
body.single-product :where(.entry-summary,.woocommerce-tabs,.woocommerce-notices-wrapper) a,
body.woocommerce-cart :where(.entry-content,.wp-block-woocommerce-cart,.wp-block-woocommerce-empty-cart-block) a,
body.woocommerce-checkout :where(.entry-content,.wp-block-woocommerce-checkout) a{
  color:#ffe39a !important;
  text-decoration-color:rgba(255,227,154,.58) !important;
  -webkit-text-fill-color:#ffe39a !important;
}
body.woocommerce-page :where(.entry-content,.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) a:hover,
body.single-product :where(.entry-summary,.woocommerce-tabs,.woocommerce-notices-wrapper) a:hover,
body.woocommerce-cart :where(.entry-content,.wp-block-woocommerce-cart,.wp-block-woocommerce-empty-cart-block) a:hover,
body.woocommerce-checkout :where(.entry-content,.wp-block-woocommerce-checkout) a:hover{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration-color:#ffffff !important;
}

/* Hide the old cart intro/My Account fragments that are not part of the premium journey. */
body.woocommerce-cart .entry-content > p:first-child,
body.woocommerce-checkout .entry-content > p:first-child,
body.woocommerce-cart .entry-content > .wp-block-loginout,
body.woocommerce-cart .entry-content > .wp-block-group:has(.wp-block-loginout){
  display:none !important;
}

/* Any remaining charcoal helper text on cart/checkout becomes readable. */
body.woocommerce-cart :where(.entry-content,.wc-block-cart,.wc-block-components-sidebar,.wc-block-components-main,.wc-block-components-totals-wrapper,.wc-block-components-product-details,.wc-block-components-product-metadata,.wc-block-cart-item__quantity,.wc-block-components-quantity-selector,.wc-block-components-quantity-selector__button,.wc-block-components-quantity-selector__input,.wc-block-components-totals-coupon,.wc-block-components-totals-coupon-link,.wc-block-components-shipping-rates-control),
body.woocommerce-checkout :where(.entry-content,.wc-block-checkout,.wc-block-components-sidebar,.wc-block-components-main,.wc-block-components-checkout-step,.wc-block-components-address-form,.wc-block-components-order-summary,.wc-block-components-product-details,.wc-block-components-product-metadata,.wc-block-components-totals-coupon,.wc-block-components-totals-coupon-link,.wc-block-components-checkout-step__description){
  color:#ffffff !important;
}
body.woocommerce-cart :where(.wc-block-components-product-details__name,.wc-block-components-product-details__value,.wc-block-cart-item__prices,.wc-block-cart-item__total,.wc-block-components-formatted-money-amount),
body.woocommerce-checkout :where(.wc-block-components-product-details__name,.wc-block-components-product-details__value,.wc-block-components-order-summary-item__total-price,.wc-block-components-formatted-money-amount){
  color:#ffe39a !important;
}

/* Product details card: stop label overlap and make every line readable. */
body.single-product .product_meta{
  padding:20px 22px 18px !important;
  display:block !important;
  line-height:1.75 !important;
  min-height:0 !important;
}
body.single-product .product_meta::before{
  position:static !important;
  display:block !important;
  margin:0 0 10px !important;
  line-height:1.2 !important;
  font-size:13px !important;
  color:#ffe39a !important;
}
body.single-product .product_meta,
body.single-product .product_meta span,
body.single-product .product_meta .sku_wrapper,
body.single-product .product_meta .posted_in,
body.single-product .product_meta .tagged_as{
  color:#ffffff !important;
}
body.single-product .product_meta a,
body.single-product .reset_variations,
body.single-product a.reset_variations,
body.single-product .compare,
body.single-product a.compare{
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  opacity:1 !important;
}
body.single-product .reset_variations:hover,
body.single-product a.reset_variations:hover,
body.single-product .compare:hover,
body.single-product a.compare:hover{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Trust panel title was too dark; lock it bright. */
body.single-product .csu-product-trust-panel__title{
  color:#ffe39a !important;
  opacity:1 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.42) !important;
}

/* Tabs: remove hot pink and ensure selected tab text is readable on gold. */
body.single-product .woocommerce-tabs ul.tabs li a,
body.single-product .woocommerce-tabs ul.tabs li:not(.active) a{
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  text-decoration:none !important;
}
body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li.active a:hover{
  color:#24113d !important;
  -webkit-text-fill-color:#24113d !important;
}
body.single-product .woocommerce-tabs ul.tabs li a:hover{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Restore recommended product thumbnails inside the empty cart block; only hide default empty-cart icons. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image a,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-image,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-image img,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .attachment-woocommerce_thumbnail,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .woocommerce-placeholder{
  display:block !important;
  visibility:visible !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  overflow:visible !important;
  opacity:1 !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-image img,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .attachment-woocommerce_thumbnail{
  width:100% !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  border-radius:16px !important;
  margin:0 auto 18px !important;
  background:#ffffff !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :where(.wc-block-cart__empty-cart__icon,.wc-block-components-empty-cart__icon) img,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :where(.wc-block-cart__empty-cart__icon,.wc-block-components-empty-cart__icon) svg{
  display:none !important;
  visibility:hidden !important;
}

/* Empty cart product cards need image spacing and premium CTA, not black blocks. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :where(.wc-block-grid__product,.wp-block-woocommerce-product-new li.product,.wp-block-woocommerce-product-template li){
  padding:18px !important;
  min-height:0 !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :where(.wp-block-button__link,.wc-block-grid__product-add-to-cart a,.add_to_cart_button){
  background:linear-gradient(135deg,#d4af37,#ffe39a,#f6d365) !important;
  color:#24113d !important;
  -webkit-text-fill-color:#24113d !important;
  border:1px solid #ffe39a !important;
  border-radius:999px !important;
  font-weight:950 !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :where(.wp-block-button__link,.wc-block-grid__product-add-to-cart a,.add_to_cart_button):hover{
  color:#24113d !important;
  -webkit-text-fill-color:#24113d !important;
  filter:brightness(1.06) !important;
}

/* View cart notice button text/readability. */
body.single-product .woocommerce-message .button,
body.woocommerce-page .woocommerce-message .button,
body.woocommerce .woocommerce-message .button,
body.single-product .wc-block-components-notice-banner .button,
body.woocommerce-page .wc-block-components-notice-banner .button{
  background:linear-gradient(135deg,#d4af37,#ffe39a,#f6d365) !important;
  color:#24113d !important;
  -webkit-text-fill-color:#24113d !important;
  border:1px solid #ffe39a !important;
  text-shadow:none !important;
  font-weight:950 !important;
}

/* Checkout form fields: dark text only inside white fields; labels/descriptions stay bright. */
body.woocommerce-checkout :where(label,.wc-block-components-checkout-step__title,.wc-block-components-checkout-step__description,.wc-block-components-checkbox .wc-block-components-checkbox__label){
  color:#ffffff !important;
}
body.woocommerce-checkout :where(input,select,textarea,.wc-block-components-text-input input,.wc-block-components-combobox-control input){
  background:#ffffff !important;
  color:#24113d !important;
  -webkit-text-fill-color:#24113d !important;
}
body.woocommerce-checkout :where(input::placeholder,textarea::placeholder){
  color:#6f657c !important;
  -webkit-text-fill-color:#6f657c !important;
}

/*
 * ConjuresUp Phase IV Sprint 2.10 — Commerce CTA + Contrast Hardening
 * Fixes: black/charcoal checkout text, unreadable empty-cart product buttons,
 * product Size label, product details heading overlap, and pink/purple button text bleed.
 */

/* Cart/checkout remaining Gutenberg page text should be readable or hidden if legacy intro copy. */
body.woocommerce-cart .entry-content > p,
body.woocommerce-checkout .entry-content > p{
  color:#d8d2e8 !important;
  -webkit-text-fill-color:#d8d2e8 !important;
}
body.woocommerce-cart .entry-content > p:first-of-type,
body.woocommerce-checkout .entry-content > p:first-of-type{
  display:none !important;
}
body.woocommerce-cart .entry-content > p a,
body.woocommerce-checkout .entry-content > p a{
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
}

/* Strongly lock all WooCommerce block headings/labels inside cart + checkout. */
body.woocommerce-cart :where(.wc-block-cart,.wp-block-woocommerce-cart,.wc-block-components-sidebar,.wc-block-components-main) :where(h1,h2,h3,h4,h5,h6,legend,label,dt,th,strong,b),
body.woocommerce-checkout :where(.wc-block-checkout,.wp-block-woocommerce-checkout,.wc-block-components-sidebar,.wc-block-components-main) :where(h1,h2,h3,h4,h5,h6,legend,label,dt,th,strong,b){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.woocommerce-cart :where(.wc-block-components-totals-wrapper,.wc-block-components-sidebar,.wc-block-components-main,.wc-block-cart-items,.wc-block-cart-item__wrap,.wc-block-components-product-details,.wc-block-components-product-metadata) :where(span,div,p,small,em),
body.woocommerce-checkout :where(.wc-block-components-totals-wrapper,.wc-block-components-sidebar,.wc-block-components-main,.wc-block-components-order-summary,.wc-block-components-product-details,.wc-block-components-product-metadata) :where(span,div,p,small,em){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.woocommerce-cart :where(.wc-block-components-sidebar,.wc-block-components-main) :where(.wc-block-components-formatted-money-amount,.wc-block-components-totals-item__value),
body.woocommerce-checkout :where(.wc-block-components-sidebar,.wc-block-components-main) :where(.wc-block-components-formatted-money-amount,.wc-block-components-totals-item__value){
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
}

/* Cart totals heading specifically was still black in the sidebar. */
body.woocommerce-cart :where(.wc-block-cart__totals-title,.wc-block-components-totals-wrapper h2,.wc-block-components-sidebar h2),
body.woocommerce-checkout :where(.wc-block-components-checkout-order-summary__title,.wc-block-components-totals-wrapper h2,.wc-block-components-sidebar h2){
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  opacity:1 !important;
}

/* Product page variation/attribute labels: no charcoal labels. */
body.single-product div.product form.cart .variations label,
body.single-product div.product form.cart .variations .label,
body.single-product div.product form.cart .variations .label label,
body.single-product div.product form.cart .variations td.label,
body.single-product div.product form.cart .variations th.label,
body.single-product div.product .variation label,
body.single-product div.product .value > label,
body.single-product .summary :where(.variations,label,.label,th,td) {
  color:#d8d2e8 !important;
  -webkit-text-fill-color:#d8d2e8 !important;
  opacity:1 !important;
}
body.single-product div.product form.cart .variations .label label,
body.single-product div.product form.cart .variations th.label label{
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
}

/* Reset/Clear/Compare links are readable but subdued. */
body.single-product a.reset_variations,
body.single-product .reset_variations,
body.single-product a.compare,
body.single-product .compare{
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  opacity:.92 !important;
  text-decoration-color:rgba(255,227,154,.65) !important;
  text-shadow:0 2px 10px rgba(0,0,0,.42) !important;
}
body.single-product a.reset_variations:hover,
body.single-product .reset_variations:hover,
body.single-product a.compare:hover,
body.single-product .compare:hover{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Product details card: separate title from metadata cleanly and prevent collisions. */
body.single-product .product_meta{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  padding:22px 24px !important;
  line-height:1.55 !important;
  overflow:visible !important;
}
body.single-product .product_meta::before{
  content:'Product Details' !important;
  display:block !important;
  width:100% !important;
  margin:0 0 6px !important;
  padding:0 !important;
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  font-size:13px !important;
  line-height:1.2 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  font-weight:950 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.44) !important;
}
body.single-product .product_meta > span{
  display:block !important;
  margin:0 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  line-height:1.6 !important;
}
body.single-product .product_meta a{
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  font-weight:850 !important;
}

/* Primary commerce CTAs: never black block / purple text. */
body.woocommerce-page :where(.wp-block-button__link,.wc-block-components-button:not(.wc-block-components-express-payment__button),.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,.add_to_cart_button,.single_add_to_cart_button,.checkout-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button),
body.single-product div.product :where(.single_add_to_cart_button,.add_to_cart_button),
body.woocommerce-cart :where(.wp-block-button__link,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,.add_to_cart_button,.wc-block-cart__submit-button,.wc-block-components-button),
body.woocommerce-checkout :where(.wp-block-button__link,.wc-block-components-checkout-place-order-button,.wc-block-components-button){
  background:linear-gradient(135deg,#d4af37 0%,#ffe39a 55%,#f6d365 100%) !important;
  color:#24113d !important;
  -webkit-text-fill-color:#24113d !important;
  border:1px solid #ffe39a !important;
  text-shadow:none !important;
  box-shadow:0 14px 34px rgba(242,199,119,.22) !important;
  font-weight:950 !important;
  opacity:1 !important;
}
body.woocommerce-page :where(.wp-block-button__link,.wc-block-components-button:not(.wc-block-components-express-payment__button),.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,.add_to_cart_button,.single_add_to_cart_button,.checkout-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button):hover,
body.single-product div.product :where(.single_add_to_cart_button,.add_to_cart_button):hover,
body.woocommerce-cart :where(.wp-block-button__link,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,.add_to_cart_button,.wc-block-cart__submit-button,.wc-block-components-button):hover,
body.woocommerce-checkout :where(.wp-block-button__link,.wc-block-components-checkout-place-order-button,.wc-block-components-button):hover{
  background:linear-gradient(135deg,#ffe39a 0%,#f2c777 52%,#d4af37 100%) !important;
  color:#12061f !important;
  -webkit-text-fill-color:#12061f !important;
  filter:none !important;
  transform:translateY(-1px) !important;
}

/* Preserve Stripe/Link express buttons and their native branding; do not turn them gold. */
body.woocommerce-page :where(.wc-block-components-express-payment__button,.wc-block-components-express-payment__button *,#link-button,#link-button *,[id*="link"],[class*="stripe"],[class*="express-payment"]){
  -webkit-text-fill-color:initial;
  text-shadow:initial !important;
}

/* Empty-cart recommended products: force visible media and correct CTA text on all product block variants. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :where(.wc-block-grid__product,.product,.wp-block-post){
  background:#24113f !important;
  border:1px solid rgba(242,199,119,.58) !important;
  border-radius:22px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.35) !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :where(.wc-block-grid__product-title,.woocommerce-loop-product__title,.wp-block-post-title a,.wp-block-post-title){
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :where(.price,.wc-block-grid__product-price,.amount){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :where(.wp-block-button__link,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,.add_to_cart_button,.button){
  background:linear-gradient(135deg,#d4af37,#ffe39a,#f6d365) !important;
  color:#24113d !important;
  -webkit-text-fill-color:#24113d !important;
  border:1px solid #ffe39a !important;
  border-radius:999px !important;
  font-weight:950 !important;
  min-height:42px !important;
  padding:12px 22px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :where(.wp-block-button__link,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,.add_to_cart_button,.button):hover{
  background:linear-gradient(135deg,#ffe39a,#f2c777,#d4af37) !important;
  color:#12061f !important;
  -webkit-text-fill-color:#12061f !important;
}

/* Price and product titles in cart item rows remain readable without over-dark inherited spans. */
body.woocommerce-cart :where(.wc-block-cart-items__row,.wc-block-cart-item__wrap) :where(a,span,p,div,small),
body.woocommerce-checkout :where(.wc-block-components-order-summary-item,.wc-block-components-product-metadata) :where(a,span,p,div,small){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.woocommerce-cart :where(.wc-block-cart-items__row,.wc-block-cart-item__wrap) :where(.wc-block-components-product-name,.wc-block-cart-item__product a),
body.woocommerce-checkout :where(.wc-block-components-order-summary-item) :where(.wc-block-components-product-name){
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
}

@media (max-width: 782px){
  body.single-product .product_meta{padding:18px 18px !important;}
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :where(.wp-block-button__link,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,.add_to_cart_button,.button){
    width:100% !important;
  }
}

/*
 * ConjuresUp Phase IV Sprint 2.10 Final — Commerce Design System Hard Lock
 * Purpose: final containment-safe contrast and CTA pass for WooCommerce Blocks, product pages,
 * empty cart recommendations, and variable product helpers.
 */

/* WooCommerce Block containment: only cart/checkout pages, never global theme pages. */
body.woocommerce-cart :where(.wc-block-cart,.wp-block-woocommerce-empty-cart-block,.wp-block-woocommerce-cart),
body.woocommerce-checkout :where(.wc-block-checkout,.wp-block-woocommerce-checkout){
  color:#ffffff !important;
  --wp--preset--color--foreground:#ffffff;
  --wp--preset--color--background:#090411;
}
body.woocommerce-cart :where(.wc-block-cart,.wp-block-woocommerce-empty-cart-block,.wp-block-woocommerce-cart) :where(p,span,div,li,dt,dd,th,td,label,small,strong,b,em,legend),
body.woocommerce-checkout :where(.wc-block-checkout,.wp-block-woocommerce-checkout) :where(p,span,div,li,dt,dd,th,td,label,small,strong,b,em,legend){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}
body.woocommerce-cart :where(.wc-block-cart,.wp-block-woocommerce-empty-cart-block,.wp-block-woocommerce-cart) :where(h1,h2,h3,h4,h5,h6,.wp-block-heading,.wc-block-cart__empty-cart__title,.wc-block-components-title,.wc-block-cart__totals-title),
body.woocommerce-checkout :where(.wc-block-checkout,.wp-block-woocommerce-checkout) :where(h1,h2,h3,h4,h5,h6,.wp-block-heading,.wc-block-components-title,.wc-block-components-checkout-order-summary__title){
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  opacity:1 !important;
  text-shadow:0 3px 18px rgba(0,0,0,.42) !important;
}
body.woocommerce-cart :where(.wc-block-cart,.wp-block-woocommerce-empty-cart-block,.wp-block-woocommerce-cart) :where(a:not(.wp-block-button__link):not(.wc-block-components-button):not(.button):not(.add_to_cart_button)),
body.woocommerce-checkout :where(.wc-block-checkout,.wp-block-woocommerce-checkout) :where(a:not(.wp-block-button__link):not(.wc-block-components-button):not(.button):not(.add_to_cart_button)){
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  text-decoration-color:rgba(255,227,154,.65) !important;
}
body.woocommerce-cart :where(.wc-block-cart,.wp-block-woocommerce-empty-cart-block,.wp-block-woocommerce-cart) :where(a:not(.wp-block-button__link):not(.wc-block-components-button):not(.button):not(.add_to_cart_button)):hover,
body.woocommerce-checkout :where(.wc-block-checkout,.wp-block-woocommerce-checkout) :where(a:not(.wp-block-button__link):not(.wc-block-components-button):not(.button):not(.add_to_cart_button)):hover{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration-color:#ffffff !important;
}

/* Strong block-button reset, scoped only to cart/empty-cart commerce blocks. */
body.woocommerce-cart :where(.wc-block-cart,.wp-block-woocommerce-empty-cart-block,.wp-block-woocommerce-cart,.wc-block-grid) :where(.wp-element-button,.wp-block-button__link,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,.add_to_cart_button,.product_type_simple,.product_type_variable,.button){
  background:linear-gradient(135deg,#d4af37 0%,#ffe39a 55%,#f6d365 100%) !important;
  background-color:#f2c777 !important;
  color:#24113d !important;
  -webkit-text-fill-color:#24113d !important;
  border:1px solid #ffe39a !important;
  border-radius:999px !important;
  text-shadow:none !important;
  font-weight:950 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
  box-shadow:0 12px 28px rgba(0,0,0,.28),0 0 20px rgba(242,199,119,.26) !important;
  opacity:1 !important;
}
body.woocommerce-cart :where(.wc-block-cart,.wp-block-woocommerce-empty-cart-block,.wp-block-woocommerce-cart,.wc-block-grid) :where(.wp-element-button,.wp-block-button__link,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,.add_to_cart_button,.product_type_simple,.product_type_variable,.button) *{
  color:#24113d !important;
  -webkit-text-fill-color:#24113d !important;
  text-shadow:none !important;
}
body.woocommerce-cart :where(.wc-block-cart,.wp-block-woocommerce-empty-cart-block,.wp-block-woocommerce-cart,.wc-block-grid) :where(.wp-element-button,.wp-block-button__link,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,.add_to_cart_button,.product_type_simple,.product_type_variable,.button):hover{
  background:linear-gradient(135deg,#ffe39a 0%,#f2c777 52%,#d4af37 100%) !important;
  color:#12061f !important;
  -webkit-text-fill-color:#12061f !important;
  opacity:1 !important;
}

/* Do not restyle Stripe/Google Pay/Link express payment surfaces. */
:where(.wc-block-components-express-payment,.wc-block-components-express-payment__button,.wc-stripe-product-checkout-container,.wc-stripe-product-checkout-container *,.wc-block-components-express-payment *){
  text-shadow:none !important;
  box-shadow:none;
}

/* Cart totals/sidebar text hard lock, including plain Gutenberg cart pages. */
:where(.wc-block-components-sidebar,.wc-block-cart__sidebar,.wc-block-components-main,.wc-block-checkout__main,.wc-block-cart__main,.wc-block-components-totals-wrapper,.wp-block-woocommerce-cart-totals-block,.wp-block-woocommerce-checkout-order-summary-block){
  color:#ffffff !important;
}
:where(.wc-block-components-sidebar,.wc-block-cart__sidebar,.wc-block-components-main,.wc-block-checkout__main,.wc-block-cart__main,.wc-block-components-totals-wrapper,.wp-block-woocommerce-cart-totals-block,.wp-block-woocommerce-checkout-order-summary-block) :where(p,span,div,li,dt,dd,th,td,label,small,strong,b,em,legend){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}
:where(.wc-block-components-sidebar,.wc-block-cart__sidebar,.wc-block-components-main,.wc-block-checkout__main,.wc-block-cart__main,.wc-block-components-totals-wrapper,.wp-block-woocommerce-cart-totals-block,.wp-block-woocommerce-checkout-order-summary-block) :where(.wc-block-components-formatted-money-amount,.wc-block-components-totals-item__value,.wc-block-cart-item__total-price-and-sale-badge-wrapper,.amount){
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  font-weight:950 !important;
}

/* Quantity selector remains readable but keeps its white control surface. */
:where(.wc-block-components-quantity-selector) :where(input,button){
  background:#ffffff !important;
  color:#24113d !important;
  -webkit-text-fill-color:#24113d !important;
  border-color:rgba(242,199,119,.70) !important;
  text-shadow:none !important;
}

/* Product page variation labels, selected-size helper, clear link, and Product Details card. */
body.single-product div.product :where(.variations,.variations *, .woo-selected-variation-item-name,.woo-variation-raw-select,.woo-variation-items-wrapper,.woocommerce-variation,.woocommerce-variation-description,.woocommerce-variation-availability,.reset_variations,.clear){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}
body.single-product div.product :where(.variations label,.variations th.label,.variations td.label,.label label,.quantity::before,.reset_variations,a.reset_variations){
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  opacity:1 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.42) !important;
}
body.single-product div.product .product_meta,
body.single-product div.product .product_meta :where(span,div,p,small){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.single-product div.product .product_meta::before,
body.single-product div.product .product_meta a{
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
}

/* Product trust card title should never fall back to charcoal. */
body.single-product .csu-product-trust-panel__title,
body.single-product .csu-product-trust-panel :where(h1,h2,h3,h4,h5,h6,strong,b){
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
}
body.single-product .csu-product-trust-panel__item,
body.single-product .csu-product-trust-panel__grid,
body.single-product .csu-product-trust-panel :where(p,span,div){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Checkout field exception: labels on dark panels are white; text inside white inputs is dark. */
:where(.wc-block-checkout,.wp-block-woocommerce-checkout) :where(label,.wc-block-components-checkout-step__description,.wc-block-components-checkbox__label,.wc-block-components-address-card,.wc-block-components-address-form){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
:where(.wc-block-checkout,.wp-block-woocommerce-checkout) :where(input,select,textarea,.wc-block-components-text-input input,.wc-block-components-combobox-control input,.wc-block-components-select select),
body.single-product div.product :where(input.qty,select){
  background:#ffffff !important;
  color:#24113d !important;
  -webkit-text-fill-color:#24113d !important;
  text-shadow:none !important;
}
:where(.wc-block-checkout,.wp-block-woocommerce-checkout) :where(input::placeholder,textarea::placeholder){
  color:#6f657c !important;
  -webkit-text-fill-color:#6f657c !important;
}

/* Empty-cart product media stays visible; only the empty-cart icon is hidden. */
.wp-block-woocommerce-empty-cart-block :where(.wc-block-grid__product-image,.wc-block-grid__product-image a,.wc-block-grid__product-image img,.wc-block-components-product-image,.wc-block-components-product-image img,.attachment-woocommerce_thumbnail,.woocommerce-placeholder){
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
}
.wp-block-woocommerce-empty-cart-block :where(.wc-block-cart__empty-cart__icon,.wc-block-components-empty-cart__icon,.wc-block-cart__empty-cart-icon) :where(img,svg),
.wp-block-woocommerce-empty-cart-block > :where(svg,img){
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
}

/*
 * ConjuresUp Phase IV Sprint 2.11 — Empty Cart CTA + Cart Intro Contrast Patch
 * Fixes remaining empty-cart recommendation buttons and Gutenberg intro text.
 */
body.woocommerce-cart .entry-content > p,
body.woocommerce-cart .entry-content > p :where(a,span,strong,em),
body.woocommerce-cart main .entry-content > p,
body.woocommerce-cart main .entry-content > p :where(a,span,strong,em),
body.woocommerce-cart .wp-site-blocks .entry-content > p,
body.woocommerce-cart .wp-site-blocks .entry-content > p :where(a,span,strong,em){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}
body.woocommerce-cart .entry-content > p a,
body.woocommerce-cart main .entry-content > p a,
body.woocommerce-cart .wp-site-blocks .entry-content > p a{
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  text-decoration-color:rgba(255,227,154,.72) !important;
  text-shadow:0 2px 12px rgba(0,0,0,.48) !important;
}
body.woocommerce-cart .entry-content > p a:hover,
body.woocommerce-cart main .entry-content > p a:hover,
body.woocommerce-cart .wp-site-blocks .entry-content > p a:hover{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration-color:#ffffff !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button{
  text-align:center !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.add_to_cart_button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.product_type_simple,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.product_type_variable,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-element-button{
  background:#f2c777 !important;
  background-image:linear-gradient(135deg,#d4af37 0%,#ffe39a 58%,#f6d365 100%) !important;
  color:#1b0b2a !important;
  -webkit-text-fill-color:#1b0b2a !important;
  border:1px solid #ffe39a !important;
  border-radius:999px !important;
  min-height:44px !important;
  padding:13px 24px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-weight:950 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  line-height:1.15 !important;
  text-shadow:none !important;
  opacity:1 !important;
  box-shadow:0 14px 30px rgba(0,0,0,.34),0 0 22px rgba(242,199,119,.24) !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a *,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart button *,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link *,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.add_to_cart_button *,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.product_type_simple *,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.product_type_variable *,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .button *,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-element-button *{
  color:#1b0b2a !important;
  -webkit-text-fill-color:#1b0b2a !important;
  text-shadow:none !important;
  opacity:1 !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart button:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.add_to_cart_button:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.product_type_simple:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.product_type_variable:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .button:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-element-button:hover{
  background:#ffe39a !important;
  background-image:linear-gradient(135deg,#ffe39a 0%,#f2c777 55%,#d4af37 100%) !important;
  color:#12061f !important;
  -webkit-text-fill-color:#12061f !important;
  transform:translateY(-2px) !important;
}

/* Empty cart product card text/link hover lock. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product :where(.wc-block-grid__product-title,.wc-block-grid__product-title a,.wc-block-components-product-title,.wc-block-components-product-title a){
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product :where(.wc-block-grid__product-price,.wc-block-grid__product-price span,.amount,.price){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/*
 * ConjuresUp Phase IV Sprint 2.12 — Real Empty Cart Lockdown Patch
 * Final scoped fixes for Gutenberg/WooCommerce empty-cart text and product CTA buttons.
 */
body.woocommerce-cart .entry-content > p:first-child,
body.woocommerce-cart .wp-block-post-content > p:first-child,
body.woocommerce-cart .wp-site-blocks main p:first-child{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:.94 !important;
  text-shadow:0 2px 14px rgba(0,0,0,.55) !important;
  line-height:1.7 !important;
}
body.woocommerce-cart .entry-content > p:first-child a,
body.woocommerce-cart .wp-block-post-content > p:first-child a,
body.woocommerce-cart .wp-site-blocks main p:first-child a{
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  opacity:1 !important;
  text-decoration-color:rgba(255,227,154,.78) !important;
}
body.woocommerce-cart .entry-content > p:first-child a:hover,
body.woocommerce-cart .wp-block-post-content > p:first-child a:hover,
body.woocommerce-cart .wp-site-blocks main p:first-child a:hover{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration-color:#ffffff !important;
}

/* Empty cart recommended-product CTA hard override. Catches Woo block, classic loop, and theme buttons. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(.wp-block-button__link,.wp-element-button,.button,.add_to_cart_button,.product_type_simple,.product_type_variable,.wc-block-components-product-button__button,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,button[type="submit"],input[type="submit"]),
body.woocommerce-cart .wc-block-grid__product :is(.wp-block-button__link,.wp-element-button,.button,.add_to_cart_button,.product_type_simple,.product_type_variable,.wc-block-components-product-button__button,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button),
body.woocommerce-cart .products li.product :is(.button,.add_to_cart_button,.product_type_simple,.product_type_variable){
  background:#f2c777 !important;
  background-image:linear-gradient(135deg,#d4af37 0%,#f2c777 48%,#ffe39a 100%) !important;
  color:#1b0b2a !important;
  -webkit-text-fill-color:#1b0b2a !important;
  border:1px solid #ffe39a !important;
  border-radius:999px !important;
  min-height:46px !important;
  padding:14px 26px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  line-height:1.15 !important;
  text-align:center !important;
  opacity:1 !important;
  text-shadow:none !important;
  box-shadow:0 12px 28px rgba(0,0,0,.34),0 0 22px rgba(242,199,119,.30) !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(.wp-block-button__link,.wp-element-button,.button,.add_to_cart_button,.product_type_simple,.product_type_variable,.wc-block-components-product-button__button,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,button[type="submit"],input[type="submit"]) *,
body.woocommerce-cart .wc-block-grid__product :is(.wp-block-button__link,.wp-element-button,.button,.add_to_cart_button,.product_type_simple,.product_type_variable,.wc-block-components-product-button__button,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button) *,
body.woocommerce-cart .products li.product :is(.button,.add_to_cart_button,.product_type_simple,.product_type_variable) *{
  color:#1b0b2a !important;
  -webkit-text-fill-color:#1b0b2a !important;
  text-shadow:none !important;
  opacity:1 !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(.wp-block-button__link,.wp-element-button,.button,.add_to_cart_button,.product_type_simple,.product_type_variable,.wc-block-components-product-button__button,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button,button[type="submit"],input[type="submit"]):hover,
body.woocommerce-cart .wc-block-grid__product :is(.wp-block-button__link,.wp-element-button,.button,.add_to_cart_button,.product_type_simple,.product_type_variable,.wc-block-components-product-button__button,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button):hover,
body.woocommerce-cart .products li.product :is(.button,.add_to_cart_button,.product_type_simple,.product_type_variable):hover{
  background:#ffe39a !important;
  background-image:linear-gradient(135deg,#ffe39a 0%,#f2c777 52%,#d4af37 100%) !important;
  color:#12061f !important;
  -webkit-text-fill-color:#12061f !important;
  transform:translateY(-2px) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.38),0 0 28px rgba(242,199,119,.42) !important;
}

/* Recommended products in the empty cart: keep headings/prices readable and preserve images. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-title,.wc-block-grid__product-title a,.woocommerce-loop-product__title,.woocommerce-loop-product__title a,.wc-block-components-product-title,.wc-block-components-product-title a){
  color:#ffe39a !important;
  -webkit-text-fill-color:#ffe39a !important;
  opacity:1 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.55) !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(.price,.amount,.wc-block-grid__product-price,.wc-block-grid__product-price span){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-image img,.attachment-woocommerce_thumbnail,.woocommerce-placeholder){
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
}


/*
 * ConjuresUp Phase IV Sprint 2.13 — Cart Intro Removal + Commerce CSS Containment
 * Removes the remaining Gutenberg intro sentence on the cart page and prevents cart/empty-cart button rules from styling non-commerce portal/tool buttons.
 */
body.woocommerce-cart .entry-content > p:first-child,
body.woocommerce-cart .wp-block-post-content > p:first-child,
body.woocommerce-cart main > p:first-child,
body.woocommerce-cart .site-main > p:first-child{
  display:none !important;
}

/* Keep the recommendation buttons styled only inside the empty cart/new-store commerce area. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(.wp-block-button__link,.wp-element-button,.button,.add_to_cart_button,.product_type_simple,.product_type_variable,.wc-block-components-product-button__button,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button),
body.woocommerce-cart .wc-block-grid__product :is(.wp-block-button__link,.wp-element-button,.button,.add_to_cart_button,.product_type_simple,.product_type_variable,.wc-block-components-product-button__button,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button){
  background:#f2c777 !important;
  background-image:linear-gradient(135deg,#d4af37 0%,#f2c777 48%,#ffe39a 100%) !important;
  color:#1b0b2a !important;
  -webkit-text-fill-color:#1b0b2a !important;
  border:1px solid #ffe39a !important;
  border-radius:999px !important;
  text-shadow:none !important;
  font-weight:950 !important;
  opacity:1 !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(.wp-block-button__link,.wp-element-button,.button,.add_to_cart_button,.product_type_simple,.product_type_variable,.wc-block-components-product-button__button,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button) *,
body.woocommerce-cart .wc-block-grid__product :is(.wp-block-button__link,.wp-element-button,.button,.add_to_cart_button,.product_type_simple,.product_type_variable,.wc-block-components-product-button__button,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button) *{
  color:#1b0b2a !important;
  -webkit-text-fill-color:#1b0b2a !important;
  text-shadow:none !important;
}

/* Belt-and-suspenders reset: never let commerce CTA lockdown affect ordinary non-commerce Gutenberg buttons. */
body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) .wp-block-button__link,
body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) .wp-element-button{
  -webkit-text-fill-color:currentColor !important;
  text-shadow:inherit;
}

/*
 * ConjuresUp Phase IV Sprint 2.14 — Final containment and non-commerce button repair
 * 1) Hide the old Gutenberg cart helper sentence even when it contains linked words.
 * 2) Restore normal page headings outside WooCommerce where commerce color rules leaked.
 * 3) Give non-commerce gold Gutenberg buttons clearer definition without touching WooCommerce CTAs.
 */
body.woocommerce-cart :where(.entry-content,.wp-block-post-content,.wp-site-blocks main,.site-main) p:has(a[href*="feedback" i]),
body.woocommerce-cart :where(.entry-content,.wp-block-post-content,.wp-site-blocks main,.site-main) p:has(a[href*="shipping" i]){
  display:none !important;
}

body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) :where(.entry-content,.wp-block-post-content) > h1.wp-block-heading,
body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) :where(.entry-content,.wp-block-post-content) > h2.wp-block-heading{
  color:#1b0e05 !important;
  -webkit-text-fill-color:#1b0e05 !important;
}

body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) .wp-block-button:not(.is-style-outline) .wp-block-button__link,
body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) .wp-block-button:not(.is-style-outline) .wp-element-button{
  border:1px solid #ffe39a !important;
  box-shadow:0 10px 24px rgba(0,0,0,.24),0 0 16px rgba(242,199,119,.24) !important;
  text-shadow:none !important;
}

body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) .wp-block-button:not(.is-style-outline) .wp-element-button:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.30),0 0 24px rgba(242,199,119,.34) !important;
}

/*
 * ConjuresUp Phase IV Sprint 2.15 — Final bleed containment + cart helper removal
 * 1) Hide the legacy cart helper paragraph outright on cart pages.
 * 2) Stop commerce gold rules from leaking into ordinary site pages, portal pages, and the WP admin bar.
 * 3) Keep non-commerce buttons defined with a visible border while preserving their existing page colors.
 */

/* The cart page already has the premium empty-cart/ritual-satchel copy, so the old Gutenberg paragraph is removed entirely. */
body.woocommerce-cart :where(.entry-content,.wp-block-post-content,.page-content,.site-main,.wp-site-blocks main) > p,
body.woocommerce-cart :where(.entry-content,.wp-block-post-content,.page-content,.site-main,.wp-site-blocks main) > .wp-block-paragraph,
body.woocommerce-cart :where(.entry-content,.wp-block-post-content,.page-content,.site-main,.wp-site-blocks main) p:first-of-type{
  display:none !important;
}

/* Admin bar is not part of the commerce theme. Do not let front-end gold/link rules touch it. */
#wpadminbar,
#wpadminbar *,
#wpadminbar a,
#wpadminbar .ab-item,
#wpadminbar .ab-label,
#wpadminbar .ab-icon::before{
  color:inherit !important;
  -webkit-text-fill-color:initial !important;
  text-shadow:none !important;
}
#wpadminbar a:hover,
#wpadminbar .ab-item:hover,
#wpadminbar li:hover > .ab-item{
  color:inherit !important;
  -webkit-text-fill-color:initial !important;
}

/* Non-commerce pages are locked back to their page-authored colors. This protects Free Tools, Portal, Grimoire, Workbooks, etc. */
body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) :where(.entry-content,.wp-block-post-content,.site-main,.wp-site-blocks main) :where(h1,h2,h3,h4,h5,h6):not([style]):not(.csu-gold):not(.conjuresup-gold){
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
}

/* Specific light-page correction: Free Tools heading should remain dark on white, not commerce gold. */
body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) :where(.entry-content,.wp-block-post-content,.site-main) :is(h1,h2,h3).wp-block-heading,
body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) :where(.entry-content,.wp-block-post-content,.site-main) > :is(h1,h2,h3){
  color:#1b0e05 !important;
  -webkit-text-fill-color:#1b0e05 !important;
}

/* Restore intentional portal/landing hero display when the heading is inside a dark themed panel. */
body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) :where(.csu-portal,.conjuresup-portal,.portal,.portal-page,.cu-portal,.csu-hero,.conjuresup-hero,[class*="portal" i],[class*="hero" i]) :where(h1,h2,h3,h4,h5,h6){
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
}

/* Non-commerce buttons: no commerce text recolor; add outline/definition only. */
body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) :where(.wp-block-button__link,.wp-element-button,.button,button:not(.components-button),input[type="submit"]){
  border:1px solid rgba(255,227,154,.92) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22),0 0 18px rgba(242,199,119,.22) !important;
  text-shadow:0 1px 4px rgba(0,0,0,.20) !important;
}
body:not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.single-product) :where(.wp-block-button__link,.wp-element-button,.button,button:not(.components-button),input[type="submit"]):hover{
  box-shadow:0 14px 30px rgba(0,0,0,.28),0 0 24px rgba(242,199,119,.34) !important;
}


/* ==========================================================
   ConjuresUp Phase IV Sprint 3 — Premium Cart Experience
   Scope: cart page only. No selectors below target non-commerce pages.
   ========================================================== */

body.woocommerce-cart .csu-cart-helper-hidden,
body.woocommerce-cart :where(.entry-content,.wp-block-post-content,.page-content,.site-main,.wp-site-blocks main) :is(p,.wp-block-paragraph):has(a[href*="feedback" i]),
body.woocommerce-cart :where(.entry-content,.wp-block-post-content,.page-content,.site-main,.wp-site-blocks main) :is(p,.wp-block-paragraph):has(a[href*="shipping" i]){
  display:none !important;
}

body.woocommerce-cart :where(.woocommerce,.entry-content,.wp-block-post-content,.wp-block-woocommerce-cart,.wp-block-woocommerce-empty-cart-block){
  --csu-bg:#090411;
  --csu-panel:#170b25;
  --csu-panel-2:#24113f;
  --csu-gold:#f2c777;
  --csu-gold-bright:#ffe39a;
  --csu-text:#ffffff;
  --csu-muted:#d8d2e8;
  --csu-border:rgba(242,199,119,.45);
}

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block{
  background:radial-gradient(circle at top,rgba(255,227,154,.08),transparent 52%),linear-gradient(180deg,#090411 0%,#160a24 56%,#24113f 100%) !important;
  border:1px solid var(--csu-border) !important;
  border-radius:32px !important;
  box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 32px rgba(242,199,119,.10) !important;
  color:var(--csu-text) !important;
  padding:34px !important;
  margin:34px auto !important;
  max-width:1240px !important;
}

body.woocommerce-cart .wc-block-cart::before{
  content:"🛍️ Your Ritual Satchel";
  display:block;
  color:var(--csu-gold-bright);
  font-size:clamp(28px,3vw,44px);
  font-weight:900;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
  margin:0 0 10px;
  text-shadow:0 3px 18px rgba(0,0,0,.55);
}
body.woocommerce-cart .wc-block-cart::after{
  content:"The magical artifacts below are gathered and ready for their journey to you.";
  display:block;
  color:var(--csu-text);
  font-size:16px;
  line-height:1.7;
  text-align:center;
  margin:-2px auto 28px;
  max-width:760px;
}

body.woocommerce-cart :is(.wc-block-cart-items,.wc-block-cart-items__row,.wc-block-cart__totals-title,.wc-block-components-totals-wrapper,.wc-block-components-totals-item,.wc-block-cart__submit-container,.wc-block-cart .wc-block-components-sidebar){
  color:var(--csu-text) !important;
}

body.woocommerce-cart .wc-block-cart-items{
  border:1px solid rgba(242,199,119,.32) !important;
  border-radius:26px !important;
  padding:18px !important;
  background:rgba(0,0,0,.20) !important;
}

body.woocommerce-cart .wc-block-cart-items__header,
body.woocommerce-cart .wc-block-cart-items__row{
  border-color:rgba(242,199,119,.28) !important;
}

body.woocommerce-cart :is(.wc-block-components-product-name,.wc-block-components-product-name a,.wc-block-cart-item__wrap a){
  color:var(--csu-gold-bright) !important;
  -webkit-text-fill-color:var(--csu-gold-bright) !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  text-decoration:none !important;
}
body.woocommerce-cart :is(.wc-block-cart-item__prices,.wc-block-components-product-metadata,.wc-block-components-product-metadata__description,.wc-block-components-product-metadata span,.wc-block-cart-item__total,.wc-block-components-totals-item__label){
  color:var(--csu-text) !important;
  opacity:1 !important;
}
body.woocommerce-cart :is(.wc-block-components-formatted-money-amount,.wc-block-components-totals-item__value,.wc-block-cart-item__total-price-and-sale-badge-wrapper){
  color:var(--csu-gold-bright) !important;
  -webkit-text-fill-color:var(--csu-gold-bright) !important;
  font-weight:900 !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar,
body.woocommerce-cart .cart_totals,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block{
  background:linear-gradient(180deg,rgba(54,23,86,.96),rgba(36,17,63,.96)) !important;
  border:1px solid rgba(242,199,119,.52) !important;
  border-radius:26px !important;
  box-shadow:0 22px 48px rgba(0,0,0,.34),0 0 24px rgba(242,199,119,.10) !important;
  padding:26px !important;
}

body.woocommerce-cart :is(.wc-block-components-totals-coupon-link,.wc-block-components-totals-coupon-link span,.wc-block-components-totals-coupon__button){
  color:var(--csu-text) !important;
  -webkit-text-fill-color:var(--csu-text) !important;
}

body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-button:not(.is-link),
body.woocommerce-cart .checkout-button,
body.woocommerce-cart a.checkout-button,
body.woocommerce-cart .button.checkout{
  background:#f2c777 !important;
  background-image:linear-gradient(135deg,#d4af37 0%,#f2c777 48%,#ffe39a 100%) !important;
  color:#160a24 !important;
  -webkit-text-fill-color:#160a24 !important;
  border:1px solid #ffe39a !important;
  border-radius:999px !important;
  box-shadow:0 16px 36px rgba(0,0,0,.38),0 0 26px rgba(242,199,119,.32) !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  min-height:58px !important;
  text-transform:uppercase !important;
  text-shadow:none !important;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-components-button:not(.is-link):hover,
body.woocommerce-cart .checkout-button:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 22px 44px rgba(0,0,0,.42),0 0 34px rgba(242,199,119,.48) !important;
  filter:saturate(1.08) brightness(1.03) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector{
  background:#ffffff !important;
  border:1px solid var(--csu-gold) !important;
  border-radius:999px !important;
  box-shadow:0 8px 18px rgba(0,0,0,.28) !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .wc-block-components-quantity-selector button{
  color:#160a24 !important;
  -webkit-text-fill-color:#160a24 !important;
  font-weight:900 !important;
}

body.woocommerce-cart .wc-block-components-product-badge,
body.woocommerce-cart .wc-block-components-sale-badge{
  background:var(--csu-gold) !important;
  color:#160a24 !important;
  border-color:var(--csu-gold-bright) !important;
  border-radius:999px !important;
  font-weight:900 !important;
}

body.woocommerce-cart .wc-block-cart__payment-options,
body.woocommerce-cart .wc-block-components-express-payment,
body.woocommerce-cart .wc-block-components-express-payment__event-buttons{
  color:var(--csu-text) !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-title,.wc-block-grid__product-title a,.woocommerce-loop-product__title,.woocommerce-loop-product__title a){
  color:var(--csu-gold-bright) !important;
  -webkit-text-fill-color:var(--csu-gold-bright) !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{
  gap:28px !important;
  justify-content:center !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product{
  background:rgba(54,23,86,.78) !important;
  border:1px solid rgba(242,199,119,.52) !important;
  border-radius:22px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.30) !important;
  padding:22px !important;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover{
  transform:translateY(-5px) !important;
  border-color:var(--csu-gold-bright) !important;
  box-shadow:0 24px 52px rgba(0,0,0,.38),0 0 26px rgba(242,199,119,.18) !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(.wp-block-button__link,.wp-element-button,.button,.add_to_cart_button,.product_type_simple,.product_type_variable,.wc-block-components-product-button__button,.wc-block-grid__product-add-to-cart a,.wc-block-grid__product-add-to-cart button){
  background:#f2c777 !important;
  background-image:linear-gradient(135deg,#d4af37 0%,#f2c777 48%,#ffe39a 100%) !important;
  color:#160a24 !important;
  -webkit-text-fill-color:#160a24 !important;
  border:1px solid #ffe39a !important;
  border-radius:999px !important;
  box-shadow:0 12px 28px rgba(0,0,0,.34),0 0 20px rgba(242,199,119,.24) !important;
  font-weight:950 !important;
  padding:12px 22px !important;
  text-shadow:none !important;
}

@media (max-width: 781px){
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-cart .wc-block-cart,
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block{
    border-radius:22px !important;
    padding:22px 16px !important;
    margin:24px 10px !important;
  }
  body.woocommerce-cart .wc-block-cart::before{
    font-size:28px !important;
  }
  body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar,
  body.woocommerce-cart .cart_totals,
  body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block{
    padding:20px !important;
  }
}

/* ==========================================================
   ConjuresUp Phase V Sprint 2 — Focused Commerce Refinement
   Scope: WooCommerce product/cart/checkout pages only.
   ========================================================== */

/* Remove leftover page-builder helper text on checkout/cart without affecting other pages. */
body.woocommerce-cart .csu-commerce-helper-hidden,
body.woocommerce-checkout .csu-commerce-helper-hidden,
body.woocommerce-cart :where(.entry-content,.wp-block-post-content,.page-content) > p:first-child,
body.woocommerce-checkout :where(.entry-content,.wp-block-post-content,.page-content) > p:first-child{
  display:none !important;
}

/* Cart subtitle/purchase reassurance: make the existing cart intro feel intentional. */
body.woocommerce-cart .wc-block-cart::before{
  margin-bottom:6px !important;
}
body.woocommerce-cart .wc-block-cart::after{
  content:"Your selected magical artifacts are gathered and ready for their journey to you." !important;
  display:block !important;
  max-width:780px !important;
  margin:4px auto 30px !important;
  color:#ffffff !important;
  font-size:clamp(14px,1.6vw,17px) !important;
  line-height:1.7 !important;
  text-align:center !important;
  letter-spacing:.02em !important;
}

/* Rename/visually elevate summary titles where block text cannot be filtered reliably. */
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-order-summary__button-text,
body.woocommerce-checkout .wc-block-components-order-summary__title{
  color:#ffe39a !important;
  font-weight:950 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
}

/* Additional Information tab: no more invisible charcoal text on dark surfaces. */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information,
body.single-product .woocommerce-tabs .woocommerce-product-attributes,
body.single-product .woocommerce-tabs .shop_attributes{
  color:#fff !important;
}
body.single-product .woocommerce-tabs .woocommerce-product-attributes,
body.single-product .woocommerce-tabs .shop_attributes{
  width:100% !important;
  margin:20px 0 0 !important;
  border:1px solid rgba(242,199,119,.34) !important;
  border-radius:20px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.035) !important;
}
body.single-product .woocommerce-tabs .woocommerce-product-attributes tr,
body.single-product .woocommerce-tabs .shop_attributes tr{
  border-color:rgba(242,199,119,.22) !important;
}
body.single-product .woocommerce-tabs .woocommerce-product-attributes th,
body.single-product .woocommerce-tabs .shop_attributes th{
  color:#ffffff !important;
  font-weight:950 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
  background:rgba(48,24,86,.44) !important;
  border-color:rgba(242,199,119,.22) !important;
  padding:16px 18px !important;
}
body.single-product .woocommerce-tabs .woocommerce-product-attributes td,
body.single-product .woocommerce-tabs .woocommerce-product-attributes td p,
body.single-product .woocommerce-tabs .shop_attributes td,
body.single-product .woocommerce-tabs .shop_attributes td p{
  color:#ffe39a !important;
  font-weight:800 !important;
  background:rgba(9,4,17,.18) !important;
  border-color:rgba(242,199,119,.22) !important;
  padding:16px 18px !important;
  opacity:1 !important;
}
body.single-product .woocommerce-Tabs-panel--additional_information > h2{
  color:#ffe39a !important;
  margin-bottom:18px !important;
}

/* Related products becomes a curated ritual-pairing section. */
body.single-product .related.products > h2,
body.single-product .upsells.products > h2{
  color:#ffe39a !important;
  text-align:center !important;
  font-size:clamp(30px,4vw,48px) !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  margin:0 0 34px !important;
  text-shadow:0 3px 18px rgba(0,0,0,.55),0 0 24px rgba(242,199,119,.20) !important;
}
body.single-product .related.products > h2::after,
body.single-product .upsells.products > h2::after{
  content:"Frequently chosen together";
  display:block;
  margin:10px auto 0;
  color:#fff !important;
  font-size:15px;
  line-height:1.6;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:none;
}

/* Checkout refinement: stronger language and cleaner summary/card hierarchy. */
body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-title,
body.woocommerce-checkout .wc-block-checkout__main h2,
body.woocommerce-checkout .wc-block-checkout__main h3{
  color:#ffe39a !important;
  text-shadow:0 2px 10px rgba(0,0,0,.46) !important;
}
body.woocommerce-checkout .wc-block-checkout__main .wc-block-checkout__terms,
body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkbox__label{
  color:#fff !important;
}
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:#ffe39a !important;
  font-size:clamp(20px,2.2vw,28px) !important;
  font-weight:950 !important;
}
body.woocommerce-checkout .wc-block-components-sidebar::after{
  content:"Crafted with intention. Delivered with care.";
  display:block;
  margin:14px auto 0;
  color:#fff;
  font-size:14px;
  font-weight:800;
  line-height:1.55;
  text-align:center;
  opacity:.92;
}

@media (max-width:760px){
  body.single-product .woocommerce-tabs .woocommerce-product-attributes th,
  body.single-product .woocommerce-tabs .woocommerce-product-attributes td,
  body.single-product .woocommerce-tabs .shop_attributes th,
  body.single-product .woocommerce-tabs .shop_attributes td{
    display:block !important;
    width:100% !important;
    text-align:center !important;
  }
}
