/* =========================================================
   Simply Pure Theme Styles (FULL FILE - MERGED + POLISHED)
   Includes: Base theme + Hero + Sections + Footer
            + Woo Shop Grid + Product Tiles
            + Woo Single Product + Tabs + Reviews
            + Woo Cart + Checkout
            + Woo My Account
            + Date hiding utility (optional, kept from original)
   ========================================================= */

:root{
  --sp-clay: #8B7353;
  --sp-cream: #F3EEE5;
  --sp-ink: #2A2520;
  --sp-muted: #6E6256;
  --sp-rust: #8A3A2B;
  --sp-line: rgba(42,37,32,.12);
  --sp-radius: 18px;

  /* Polish tokens (safe add) */
  --sp-shadow-sm: 0 10px 22px rgba(0,0,0,.06);
  --sp-shadow-md: 0 18px 44px rgba(0,0,0,.08);
  --sp-shadow-lg: 0 24px 54px rgba(0,0,0,.10);
  --sp-glass: rgba(255,255,255,.35);
  --sp-glass-strong: rgba(255,255,255,.42);
}

/* Base */
body{
  background: var(--sp-cream);
  color: var(--sp-ink);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

.sp-muted{ color: var(--sp-muted); }
.sp-hr{ border-color: var(--sp-line); opacity: 1; }
.sp-link{ color: var(--sp-rust); text-decoration: none; font-weight: 650; }
.sp-link:hover{ text-decoration: underline; }

/* Topbar */
.sp-topbar{ background: rgba(138,58,43,.08); border-bottom: 1px solid var(--sp-line); }
.sp-toplink{ color: var(--sp-ink); opacity: .75; text-decoration: none; }
.sp-toplink:hover{ opacity: 1; color: var(--sp-rust); }

/* Nav */
.sp-nav{
  background: var(--sp-cream);
  border-bottom: 1px solid var(--sp-line);
  position: sticky; top: 0; z-index: 1030;
}
.sp-brand-mark{
  width: 44px; height: 44px; border-radius: 999px;
  background:
    radial-gradient(circle at 35% 35%, rgba(255,255,255,.8), rgba(255,255,255,0) 60%),
    linear-gradient(180deg, rgba(138,58,43,.25), rgba(138,58,43,.10)),
    var(--sp-cream);
  border: 2px solid rgba(138,58,43,.65);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}
.sp-brand-name{ font-weight: 900; letter-spacing: .3px; line-height: 1.05; color: #8A3A2B; }
.sp-brand-sub{ font-size: .85rem; color: var(--sp-muted); margin-top: 2px;text-align: center; }
.sp-navlink{
  color: var(--sp-ink); text-decoration: none;
  font-weight: 650; opacity: .85;
  padding: .25rem 0; border-bottom: 2px solid transparent;
}
.sp-navlink:hover{
  opacity: 1; border-bottom-color: rgba(138,58,43,.55); color: var(--sp-ink);
}

/* Icon buttons */
.sp-iconbtn{
  width: 40px; height: 40px; border-radius: 999px;
  display: grid; place-items: center;
  border: 1px solid var(--sp-line);
  color: var(--sp-ink); text-decoration: none;
  background: rgba(255,255,255,.35);
}
.sp-iconbtn:hover{ border-color: rgba(138,58,43,.45); color: var(--sp-rust); }
.sp-badge{
  position: absolute; top: -6px; right: -6px;
  min-width: 18px; height: 18px; border-radius: 999px;
  background: var(--sp-rust); color: var(--sp-cream);
  font-size: 11px; display: grid; place-items: center;
  padding: 0 5px; border: 2px solid var(--sp-cream);
}

/* Offcanvas */
.sp-offcanvas{ background: var(--sp-cream); }
.sp-close{
  width: 44px; height: 44px; border-radius: 999px;
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.35);
}
.sp-moblink{
  display: flex; align-items: center; gap: .75rem;
  padding: .8rem .9rem; border-radius: 14px;
  text-decoration: none; color: var(--sp-ink);
  font-weight: 700; border: 1px solid rgba(0,0,0,0);
}
.sp-moblink:hover{ border-color: rgba(138,58,43,.30); background: rgba(138,58,43,.06); }
.sp-pill{
  background: rgba(138,58,43,.12);
  color: var(--sp-rust);
  font-weight: 800;
  border-radius: 999px;
  padding: .2rem .55rem;
}

/* Hero */
.sp-hero{
  position: relative; overflow: hidden;
  border-bottom: 1px solid var(--sp-line);
}

.sp-hero-media {
    position: relative;
    height: clamp(420px, 62vh, 680px);
    background-image: url(../img/background.jpeg);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.sp-hero-media::before {
    content: "";
    position: absolute;
    inset: 0;
    
    background:
        linear-gradient(120deg, rgba(42, 37, 32, .65), rgba(42, 37, 32, .15) 55%, rgba(243, 238, 229, 0)),
        radial-gradient(circle at 30% 20%, rgba(243, 238, 229, .35), rgba(243, 238, 229, 0) 55%),
        linear-gradient(0deg, rgba(139, 115, 83, .25), rgba(139, 115, 83, .25));

    pointer-events: none;
}

.sp-hero-card{
  margin-left: 10%;
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  justify-content: center; padding: 2.2rem 0;
}
.sp-eyebrow{
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .78rem;
  color: rgba(243,238,229,.92);
  font-weight: 800;
  margin-bottom: .75rem;
}
.sp-hero-title{
  font-size: clamp(2.1rem, 4.3vw, 3.4rem);
  line-height: 1.04;
  letter-spacing: .01em;
  color: var(--sp-cream);
  font-weight: 950;
  margin-bottom: .8rem;
  max-width: 720px;
}
.sp-hero-sub{
  color: rgba(243,238,229,.88);
  font-size: 1.05rem;
  margin-bottom: 1.25rem;
  max-width: 560px;
}

/* Buttons */
.sp-btn{
  border-radius: 26px;
  padding: .75rem 1.1rem;
  font-weight: 850;
  border: 1px solid transparent;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background-color .12s ease, color .12s ease;
}
.sp-btn:active{ transform: translateY(1px); }

.sp-btn-primary{
  background: var(--sp-cream);
  color: var(--sp-ink);
  border-color: rgba(243,238,229,.85);
  box-shadow: 0 6px 12px rgba(0,0,0,.14);
}
.sp-btn-primary:hover{
  color: var(--sp-rust);
  border-color: rgba(138,58,43,.35);
}

.sp-btn-ghost{
  background: rgba(243,238,229,.14);
  color: var(--sp-cream);
  border-color: rgba(243,238,229,.35);
}
.sp-btn-ghost:hover{
  background: rgba(243,238,229,.20);
  border-color: rgba(243,238,229,.55);
  color: var(--sp-cream);
}

.sp-btn-mini{
  border-radius: 26px;
  background: rgba(138,58,43,.10);
  border: 1px solid rgba(138,58,43,.22);
  color: var(--sp-rust);
  font-weight: 900;
  padding: .45rem .85rem;
  line-height: 1;
  font-size: .9rem;
  box-shadow: var(--sp-shadow-sm);
}
.sp-btn-mini:hover{ background: rgba(138,58,43,.14); color: var(--sp-rust); }

/* Trust */
.sp-trust{
  background: rgba(139,115,83,.10);
  padding: 1.25rem 0;
}
.sp-trust-item{
  background: rgba(243,238,229,.75);
  border: 1px solid var(--sp-line);
  border-radius: var(--sp-radius);
  padding: .9rem 1rem;
  display: flex;
  gap: .85rem;
  align-items: center;
  height: 100%;
}
.sp-trust-item i{
  width: 38px; height: 38px;
  border-radius: 14px;
  display: grid; place-items: center;
  color: var(--sp-rust);
  background: rgba(138,58,43,.10);
  border: 1px solid rgba(138,58,43,.18);
}
.sp-trust-title{ font-weight: 950; }

/* Sections */
.sp-section{ padding: 4rem 0; }
.sp-h2{ font-weight: 950; letter-spacing: .01em; line-height: 1.1; }

/* Cards */
.sp-card{
  border-radius: var(--sp-radius);
  border: 1px solid var(--sp-line);
  background: var(--sp-glass);
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,.06);
  height: 100%;
}
.sp-card-media{
  height: 210px;
  background:
    linear-gradient(180deg, rgba(42,37,32,.05), rgba(42,37,32,.08)),
    radial-gradient(circle at 30% 20%, rgba(243,238,229,.75), rgba(243,238,229,0) 60%),
    linear-gradient(0deg, rgba(139,115,83,.18), rgba(139,115,83,.18));
}
.sp-card-title{ font-weight: 900; }
.sp-price{ font-weight: 950; color: var(--sp-ink); }

/* Why */
.sp-why{ background: rgba(139,115,83,.08); }
.sp-photo{
  height: 420px;
  border-radius: calc(var(--sp-radius) + 6px);
  border: 1px solid var(--sp-line);
  background:
    linear-gradient(120deg, rgba(42,37,32,.10), rgba(42,37,32,.02)),
    radial-gradient(circle at 25% 20%, rgba(243,238,229,.85), rgba(243,238,229,0) 58%),
    linear-gradient(0deg, rgba(139,115,83,.18), rgba(139,115,83,.18));
  box-shadow: var(--sp-shadow-md);
}
.sp-mini{
  border-radius: var(--sp-radius);
  border: 1px solid var(--sp-line);
  background: rgba(243,238,229,.68);
  padding: .9rem 1rem;
  height: 100%;
}
.sp-mini-title{ font-weight: 950; }

/* Subscribe */
.sp-subscribe{
  background: linear-gradient(180deg, rgba(138,58,43,.06), rgba(138,58,43,.02));
}
.sp-sub-card{
  border-radius: calc(var(--sp-radius) + 8px);
  border: 1px solid rgba(138,58,43,.18);
  background: rgba(243,238,229,.85);
  padding: 1.25rem 1.25rem;
  box-shadow: var(--sp-shadow-md);
}
.sp-sub-title{ font-weight: 980; letter-spacing: .01em; }

/* Clean Promise section */
.sp-promise{
  background: rgba(243,238,229,.55);
  border-top: 1px solid var(--sp-line);
  border-bottom: 1px solid var(--sp-line);
}
.sp-promise-card{
  border-radius: calc(var(--sp-radius) + 10px);
  border: 1px solid rgba(138,58,43,.16);
  background: rgba(255,255,255,.25);
  box-shadow: 0 18px 44px rgba(0,0,0,.06);
  overflow: hidden;
}
.sp-promise-left{ padding: 2rem; }
.sp-promise-right{
  padding: 2rem;
  background: rgba(138,58,43,.04);
  border-left: 1px solid rgba(42,37,32,.08);
}
.sp-kicker{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .35rem .75rem;
  border-radius: 999px;
  border: 1px solid rgba(138,58,43,.20);
  background: rgba(138,58,43,.06);
  color: var(--sp-rust);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .72rem;
}
.sp-bullets{
  list-style: none;
  padding-left: 0;
  margin: 1rem 0 0 0;
  display: grid;
  gap: .6rem;
}
.sp-bullets li{
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding: .55rem .65rem;
  border-radius: 14px;
  border: 1px solid rgba(42,37,32,.08);
  background: rgba(243,238,229,.60);
}
.sp-bullets i{ margin-top: .15rem; color: var(--sp-rust); }
.sp-bullets strong{ font-weight: 950; }
.sp-fineprint{
  font-size: .85rem;
  color: var(--sp-muted);
  margin-top: 1rem;
}

/* Footer */
.sp-footer{ background: rgba(139,115,83,.12); border-top: 1px solid var(--sp-line); }
.sp-foot-title{ font-weight: 950; margin-bottom: .75rem; }
.sp-foot-link{
  display:block; padding:.25rem 0;
  text-decoration:none; color: var(--sp-ink); opacity:.82;
}
.sp-foot-link:hover{ opacity:1; color: var(--sp-rust); }
.sp-foot-link-inline{
  text-decoration:none; color: var(--sp-ink); opacity:.72;
}
.sp-foot-link-inline:hover{ opacity:1; color: var(--sp-rust); }

.sp-input{
  border-radius: 999px;
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.5);
}

/* =========================================================
   WooCommerce — Shop Grid + Tile Polish (MERGED)
   ========================================================= */

/* Product grid: clean responsive layout */
.woocommerce ul.products,
.woocommerce-page ul.products{
  gap: 1.25rem;
}

.woocommerce ul.products{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  padding-left: 0;
  margin: 0;
}
@media (max-width: 1199.98px){
  .woocommerce ul.products{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px){
  .woocommerce ul.products{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px){
  .woocommerce ul.products{ grid-template-columns: 1fr; }
}

/* Kill Woo clearfix spacing */
.woocommerce ul.products::before,
.woocommerce ul.products::after{
  display: none !important;
}

.woocommerce ul.products li.product{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  list-style: none;
}

/* Fallback styling for default Woo product markup (keeps it pretty even without custom templates) */
.woocommerce ul.products li.product{
  border-radius: var(--sp-radius);
  border: 1px solid var(--sp-line);
  background: var(--sp-glass);
  box-shadow: 0 18px 40px rgba(0,0,0,.06);
  padding: 14px;
  overflow: hidden;
}
.woocommerce ul.products li.product a img{
  border-radius: calc(var(--sp-radius) - 4px);
  margin-bottom: 12px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-weight: 900;
  color: var(--sp-ink);
  font-size: 1.05rem;
  padding: 0;
  margin: 0 0 .35rem 0;
}
.woocommerce ul.products li.product .price{
  font-weight: 950;
  color: var(--sp-ink);
  font-size: 1.05rem;
}
.woocommerce ul.products li.product .button{
  width: 100%;
  text-align: center;
  margin-top: 10px;
  border-radius: 26px;
  font-weight: 850;
}

/* Custom tile interactions (if your loop template outputs .sp-woo-*) */
.sp-woo-card{
  position: relative;
  background: var(--sp-glass-strong);
  backdrop-filter: blur(6px);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.sp-woo-card:hover{
  transform: translateY(-3px);
  border-color: rgba(138,58,43,.22);
  box-shadow: var(--sp-shadow-lg);
}
.sp-woo-card-link{
  display: block;
  color: inherit;
  text-decoration: none;
  height: 100%;
}
.sp-woo-card-link:focus-visible{
  outline: 3px solid rgba(138,58,43,.35);
  outline-offset: 4px;
  border-radius: calc(var(--sp-radius) + 2px);
}
.sp-woo-media{
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(42,37,32,.08);
  background:
    radial-gradient(circle at 30% 20%, rgba(243,238,229,.85), rgba(243,238,229,0) 60%),
    linear-gradient(0deg, rgba(139,115,83,.16), rgba(139,115,83,.16));
}
.sp-woo-thumb{
  width: 100% !important;
  height: 240px !important;
  object-fit: cover;
  display: block;
  transition: transform .22s ease, filter .22s ease;
  filter: saturate(.98);
}
.sp-woo-card:hover .sp-woo-thumb{
  transform: scale(1.04);
  filter: saturate(1.02);
}
.sp-woo-title{
  font-size: 1.05rem;
  line-height: 1.15;
  letter-spacing: .01em;
  color: var(--sp-ink);
}
.sp-woo-price,
.sp-woo-price .price,
.sp-woo-price .amount{
  font-weight: 950;
  color: var(--sp-ink);
}
.sp-woo-price del{ opacity: .55; font-weight: 800; }
.sp-woo-price ins{ text-decoration: none; }

/* Quick add-to-cart overlay */
.sp-woo-quick{
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
}
.sp-woo-card:hover .sp-woo-quick{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.sp-woo-quick .button{
  width: 100%;
  border-radius: 999px;
  border: 1px solid rgba(138,58,43,.22);
  background: rgba(138,58,43,.10);
  color: var(--sp-rust);
  font-weight: 900;
  padding: .7rem 1rem;
}
.sp-woo-quick .button:hover{
  background: rgba(138,58,43,.14);
  border-color: rgba(138,58,43,.30);
}

/* Ordering dropdown */
.woocommerce .woocommerce-ordering select{
  border-radius: 999px;
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.5);
  padding: .55rem .75rem;
}

/* Sale badge */
.woocommerce span.onsale{
  min-height: auto;
  min-width: auto;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: var(--sp-rust);
  color: var(--sp-cream);
  font-weight: 950;
  letter-spacing: .02em;
  border: 2px solid rgba(243,238,229,.95);
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}

/* =========================================================
   WooCommerce — Single Product + Tabs + Reviews (MERGED)
   ========================================================= */

.woocommerce div.product .product_title,
.sp-single .product_title{
  font-weight: 950;
  letter-spacing: .01em;
  line-height: 1.05;
}

.woocommerce div.product div.images img{
  border-radius: var(--sp-radius);
  border: 1px solid var(--sp-line);
}

.woocommerce div.product .summary{
  background: rgba(255,255,255,.25);
  border: 1px solid var(--sp-line);
  border-radius: var(--sp-radius);
  padding: 18px;
}

/* Optional wrappers if your template uses them */
.sp-product-gallery{
  border-radius: calc(var(--sp-radius) + 6px);
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.25);
  box-shadow: 0 18px 44px rgba(0,0,0,.06);
}
.sp-buybox{
  border-radius: calc(var(--sp-radius) + 8px);
  border: 1px solid rgba(138,58,43,.18);
  background: rgba(243,238,229,.86);
  box-shadow: 0 18px 44px rgba(0,0,0,.08);
  position: sticky;
  top: 96px;
}
.sp-single .price,
.woocommerce div.product .summary .price{
  font-weight: 950;
  font-size: 1.35rem;
  color: var(--sp-ink);
}

/* Add to cart button */
.sp-single button.single_add_to_cart_button,
.woocommerce button.single_add_to_cart_button{
  border-radius: 26px !important;
  padding: .85rem 1.1rem !important;
  font-weight: 900 !important;
  background: var(--sp-ink) !important;
  border: 1px solid rgba(42,37,32,.35) !important;
  color: var(--sp-cream) !important;
  box-shadow: 0 10px 18px rgba(0,0,0,.14);
}
.sp-single button.single_add_to_cart_button:hover,
.woocommerce button.single_add_to_cart_button:hover{
  background: var(--sp-rust) !important;
  border-color: rgba(138,58,43,.45) !important;
}

/* Inputs */
.sp-single .quantity .qty,
.sp-single table.variations select,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"]{
  border-radius: 18px;
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.6);
}

/* Out of stock callout */
.sp-oos{
  border-radius: var(--sp-radius);
  border: 1px solid rgba(138,58,43,.18);
  background: rgba(138,58,43,.06);
}

/* Tabs container (optional wrapper) */
.sp-product-bottom .woocommerce-tabs{
  border-radius: var(--sp-radius);
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.25);
  padding: 18px;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  padding-left: 0;
  margin: 0 0 1rem 0;
  border-bottom: 1px solid var(--sp-line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  border: none;
  background: transparent;
  margin: 0 1rem 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display: inline-block;
  padding: .65rem 0;
  font-weight: 900;
  color: var(--sp-ink);
  opacity: .8;
  border-bottom: 2px solid transparent;
  text-decoration: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
  opacity: 1;
  border-bottom-color: rgba(138,58,43,.55);
}

/* Reviews list */
.woocommerce #reviews #comments ol.commentlist{
  margin: 0;
  padding: 0;
}
.woocommerce #reviews #comments ol.commentlist li{
  list-style: none;
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.35);
  border-radius: var(--sp-radius);
  padding: 14px;
  margin: 0 0 12px 0;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar{
  border-radius: 999px;
  border: 1px solid var(--sp-line);
}
.woocommerce #reviews #comments ol.commentlist li .comment-text{
  border: none;
  margin-left: 0;
}
.woocommerce #reviews #comments .meta{
  color: var(--sp-muted);
  font-size: .9rem;
}
.woocommerce #reviews #comments .description{
  color: var(--sp-ink);
}

/* Stars */
.woocommerce .star-rating span::before{
  color: var(--sp-rust);
}
.woocommerce p.stars a{
  color: var(--sp-rust);
}

/* Review form */
.woocommerce #review_form_wrapper{ margin-top: 1rem; }
.woocommerce #review_form{
  border: 1px solid var(--sp-line);
  border-radius: var(--sp-radius);
  background: rgba(255,255,255,.25);
  padding: 16px;
}
.woocommerce #review_form input,
.woocommerce #review_form textarea{
  border-radius: 18px;
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.55);
}

/* =========================================================
   WooCommerce — Cart + Checkout (MERGED)
   ========================================================= */

.sp-wc .sp-line{ height:1px; background: var(--sp-line); border:0; }

.sp-wc .woocommerce-notices-wrapper{ margin-bottom: 16px; }

.sp-wc .woocommerce-message,
.sp-wc .woocommerce-info,
.sp-wc .woocommerce-error{
  border-radius: 18px;
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.35);
  box-shadow: 0 20px 60px rgba(42,37,32,.08);
  padding: 14px 16px;
}

.sp-wc-table th,
.sp-wc-table td{
  vertical-align: middle;
}

.sp-wc-table thead th{
  font-weight: 900;
  color: var(--sp-ink);
  border-bottom: 1px solid var(--sp-line) !important;
}

.sp-wc-table tbody td{
  border-top: 1px solid rgba(42,37,32,.08) !important;
}

.sp-wc-prod-title a{
  color: var(--sp-ink);
  text-decoration: none;
  font-weight: 950;
}
.sp-wc-prod-title a:hover{ text-decoration: underline; }

.sp-wc-remove{
  display:inline-flex;
  width: 34px;
  height: 34px;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  border: 1px solid rgba(42,37,32,.14);
  background: rgba(255,255,255,.40);
  color: var(--sp-ink);
  text-decoration:none;
  font-size: 18px;
  line-height: 1;
}

.sp-wc .quantity .qty,
.sp-wc input[type="text"],
.sp-wc input[type="email"],
.sp-wc input[type="tel"],
.sp-wc input[type="password"],
.sp-wc input[type="number"],
.sp-wc select,
.sp-wc textarea{
  border-radius: 14px !important;
  border: 1px solid rgba(42,37,32,.14) !important;
  background: rgba(255,255,255,.55) !important;
  box-shadow: none !important;
  padding: 10px 12px !important;
}

.sp-wc input:focus,
.sp-wc select:focus,
.sp-wc textarea:focus{
  outline: none !important;
  box-shadow: 0 0 0 .25rem rgba(138,58,43,.18) !important;
  border-color: rgba(138,58,43,.35) !important;
}

.sp-checkout-sticky{
  position: sticky;
  top: 18px;
}

.sp-wc-review-items{
  display:flex;
  flex-direction: column;
  gap: 12px;
}

.sp-wc-review-row{
  display:grid;
  grid-template-columns: 56px 1fr auto;
  gap: 12px;
  align-items:center;
}

.sp-wc-review-thumb img{
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(42,37,32,.12);
}

.sp-wc-review-title{
  font-weight: 950;
  line-height: 1.15;
}

.sp-wc-review-price{
  font-weight: 950;
}

.sp-wc-summary th{
  font-weight: 900;
  color: var(--sp-ink);
  padding: 10px 0 !important;
}

.sp-wc-summary td{
  text-align: right;
  padding: 10px 0 !important;
}

.sp-wc-payment .wc_payment_methods{
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.sp-wc-payment .wc_payment_method{
  border: 1px solid rgba(42,37,32,.14);
  background: rgba(255,255,255,.35);
  border-radius: 18px;
  padding: 12px 12px;
}

.sp-wc-payment .payment_box{
  margin-top: 10px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(42,37,32,.12) !important;
  background: rgba(255,255,255,.50) !important;
}

.sp-wc .woocommerce form .form-row{
  margin-bottom: 12px;
}

/* =========================================================
   WooCommerce — My Account (MERGED)
   ========================================================= */

.sp-account .sp-account-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(42,37,32,.12);
  background: rgba(255,255,255,.35);
  color: var(--sp-ink);
  text-decoration:none;
  font-weight: 850;
}

.sp-account .is-active > .sp-account-link{
  background: rgba(138,58,43,.10);
  border-color: rgba(138,58,43,.22);
}

.sp-account .sp-account-link:hover{
  text-decoration:none;
  background: rgba(255,255,255,.55);
}

.sp-account .sp-pill-mini{
  display:inline-flex;
  align-items:center;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(42,37,32,.12);
  background: rgba(255,255,255,.35);
  font-weight: 900;
  font-size: 12px;
}

.sp-account .woocommerce-MyAccount-content h2,
.sp-account .woocommerce-MyAccount-content h3{
  margin-top: 0;
}

/* =========================================================
   Responsive tweaks
   ========================================================= */

@media (max-width: 991.98px){
  .sp-hero-card{ padding: 2rem 0; }
  .sp-eyebrow{ color: rgba(42,37,32,.70); }
  .sp-hero-title{ color: var(--sp-ink); }
  .sp-hero-sub{ color: var(--sp-muted); }
  .sp-hero-media{ height: 360px; }

  .sp-promise-right{
    border-left: none;
    border-top: 1px solid rgba(42,37,32,.08);
  }
}

@media (max-width: 575.98px){
  .sp-woo-thumb{ height: 220px !important; }
}

/* =========================================================
   Optional: Hide dates site-wide (from original)
   ========================================================= */
.entry-date,
.posted-on,
.entry-meta .date,
.post-meta .date,
time.entry-date{
  display: none !important;
}
/* =========================================================
   WooCommerce — My Account Login/Register (THEME FIT)
   Drop this at the END of your merged CSS file
   ========================================================= */

/* Page spacing + center */
.woocommerce-account .woocommerce{
  padding: 2.25rem 0;
}

.woocommerce-account .woocommerce-notices-wrapper{
  margin-bottom: 16px;
}

/* Card wrapper for the login/register form */
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register,
.woocommerce-account .woocommerce form.lost_reset_password{
  max-width: 560px;
  margin: 0 auto;
  border-radius: calc(var(--sp-radius) + 8px);
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.32);
  box-shadow: var(--sp-shadow-md);
  padding: 22px;
}

/* Heading above the form (“Login”) */
.woocommerce-account .woocommerce > h2,
.woocommerce-account .woocommerce h2{
  max-width: 560px;
  margin: 0 auto 14px auto;
  font-weight: 950;
  letter-spacing: .01em;
  line-height: 1.1;
  color: var(--sp-ink);
}

/* Form rows / labels */
.woocommerce-account .woocommerce form .form-row{
  margin: 0 0 12px 0;
}

.woocommerce-account .woocommerce form .form-row label{
  font-weight: 900;
  color: var(--sp-ink);
  margin-bottom: 6px;
  display: inline-block;
}

/* Inputs */
.woocommerce-account .woocommerce form.login input.input-text,
.woocommerce-account .woocommerce form.register input.input-text,
.woocommerce-account .woocommerce form.lost_reset_password input.input-text,
.woocommerce-account .woocommerce form.login input[type="text"],
.woocommerce-account .woocommerce form.login input[type="email"],
.woocommerce-account .woocommerce form.login input[type="password"],
.woocommerce-account .woocommerce form.register input[type="text"],
.woocommerce-account .woocommerce form.register input[type="email"],
.woocommerce-account .woocommerce form.register input[type="password"],
.woocommerce-account .woocommerce form.lost_reset_password input[type="email"],
.woocommerce-account .woocommerce form.lost_reset_password input[type="password"]{
  width: 100%;
  border-radius: 999px;
  border: 1px solid rgba(42,37,32,.14);
  background: rgba(255,255,255,.55);
  padding: 12px 14px;
  box-shadow: none;
}

/* Focus ring (theme) */
.woocommerce-account .woocommerce form.login input:focus,
.woocommerce-account .woocommerce form.register input:focus,
.woocommerce-account .woocommerce form.lost_reset_password input:focus{
  outline: none;
  border-color: rgba(138,58,43,.35);
  box-shadow: 0 0 0 .25rem rgba(138,58,43,.14);
}

/* Remember me row */
.woocommerce-account .woocommerce form.login .form-row.rememberme{
  display: flex;
  align-items: center;
  gap: .6rem;
}
.woocommerce-account .woocommerce form.login .form-row.rememberme label{
  margin: 0;
  font-weight: 800;
  color: var(--sp-muted);
}

/* Buttons */
.woocommerce-account .woocommerce form.login button.button,
.woocommerce-account .woocommerce form.register button.button,
.woocommerce-account .woocommerce form.lost_reset_password button.button{
  width: 100%;
  margin-top: 8px;
  border-radius: 999px;
  padding: .85rem 1.1rem;
  font-weight: 900;
  background: var(--sp-ink);
  border: 1px solid rgba(42,37,32,.35);
  color: var(--sp-cream);
  box-shadow: 0 10px 18px rgba(0,0,0,.12);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background-color .12s ease;
}
.woocommerce-account .woocommerce form.login button.button:hover,
.woocommerce-account .woocommerce form.register button.button:hover,
.woocommerce-account .woocommerce form.lost_reset_password button.button:hover{
  background: var(--sp-rust);
  border-color: rgba(138,58,43,.45);
}
.woocommerce-account .woocommerce form.login button.button:active,
.woocommerce-account .woocommerce form.register button.button:active,
.woocommerce-account .woocommerce form.lost_reset_password button.button:active{
  transform: translateY(1px);
}

/* Lost password / helper links */
.woocommerce-account .woocommerce a{
  color: var(--sp-rust);
  font-weight: 750;
  text-decoration: none;
}
.woocommerce-account .woocommerce a:hover{
  text-decoration: underline;
}

/* When Woo prints “Lost your password?” under the form */
.woocommerce-account .woocommerce form.login p.lost_password{
  margin: 12px 0 0 0;
}

/* Notices (match your sp-wc look even if wrapper class isn’t present) */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error{
  border-radius: 18px;
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.35);
  box-shadow: 0 20px 60px rgba(42,37,32,.08);
  padding: 14px 16px;
}

/* Mobile padding */
@media (max-width: 575.98px){
  .woocommerce-account .woocommerce form.login,
  .woocommerce-account .woocommerce form.register,
  .woocommerce-account .woocommerce form.lost_reset_password{
    padding: 18px;
  }
}
/* Remember me checkbox — Simply Pure style */
.woocommerce-account .form-row.rememberme input[type="checkbox"]{
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  border: 1px solid rgba(42,37,32,.35);
  background: rgba(255,255,255,.6);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  margin: 0;
}

.woocommerce-account .form-row.rememberme input[type="checkbox"]::after{
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: var(--sp-rust);
  transform: scale(0);
  transition: transform .12s ease;
}

.woocommerce-account .form-row.rememberme input[type="checkbox"]:checked::after{
  transform: scale(1);
}
/* =========================================
   WooCommerce "Show password" button styling
   (fixes tiny blank square)
   ========================================= */

.woocommerce-account .password-input{
  position: relative;
}

/* The toggle button itself */
.woocommerce-account .show-password-input{
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(42,37,32,.14);
  background: rgba(255,255,255,.45);
  display: grid;
  place-items: center;
  padding: 0;
  cursor: pointer;
  transition: background-color .12s ease, border-color .12s ease, transform .12s ease;
  z-index: 3;
}

/* Add the “eye” icon (FontAwesome 6 Free) */
.woocommerce-account .show-password-input::before{
  content: "\f06e"; /* fa-eye */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 15px;
  line-height: 1;
  color: var(--sp-rust);
  opacity: .85;
}

/* When Woo switches state (it toggles this class) */
.woocommerce-account .show-password-input.display-password::before{
  content: "\f070"; /* fa-eye-slash */
}

/* Hover / focus */
.woocommerce-account .show-password-input:hover{
  background: rgba(138,58,43,.10);
  border-color: rgba(138,58,43,.28);
}
.woocommerce-account .show-password-input:active{
  transform: translateY(-50%) scale(.98);
}
.woocommerce-account .show-password-input:focus-visible{
  outline: none;
  box-shadow: 0 0 0 .25rem rgba(138,58,43,.16);
}

/* Make sure the password input leaves room for the button */
.woocommerce-account .password-input input[type="password"],
.woocommerce-account .password-input input[type="text"]{
  padding-right: 64px !important;
}

/* If Woo outputs a wrapper span, make sure it fills width */
.woocommerce-account .password-input{
  display: block;
  width: 100%;
}
/* ---------- Page wrapper spacing ---------- */
.wp-block-woocommerce-cart{
  margin-top: 0;
}

.wp-block-woocommerce-cart.alignwide{
  width: 100%;
}

/* Notices in blocks */
.wp-block-woocommerce-cart .wc-block-components-notices{
  margin: 0 0 16px 0;
}

.wp-block-woocommerce-cart .wc-block-components-notice-banner,
.wp-block-woocommerce-cart .wc-block-components-notice-snackbar{
  border-radius: 18px;
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.35);
  box-shadow: 0 20px 60px rgba(42,37,32,.08);
}

/* ---------- Two-column layout (desktop) ---------- */
@media (min-width: 992px){
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 380px !important;
    gap: 2rem !important;
    align-items: start !important;
  }

  .wp-block-woocommerce-cart .wc-block-components-main{
    width: 100% !important;
    min-width: 0 !important;
  }

  .wp-block-woocommerce-cart .wc-block-components-sidebar{
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Sticky totals */
  .wp-block-woocommerce-cart .wc-block-cart__sidebar{
    position: sticky;
    top: 120px; /* adjust if your sticky nav is taller */
  }
}

/* ---------- Section “cards” (left + right) ---------- */
.wp-block-woocommerce-cart .wc-block-cart__main{
  background: rgba(255,255,255,.28);
  border: 1px solid var(--sp-line);
  border-radius: calc(var(--sp-radius) + 10px);
  box-shadow: var(--sp-shadow-md);
  padding: 22px;
}

.wp-block-woocommerce-cart .wc-block-cart__sidebar{
  background: rgba(255,255,255,.28);
  border: 1px solid var(--sp-line);
  border-radius: calc(var(--sp-radius) + 10px);
  box-shadow: var(--sp-shadow-md);
  padding: 22px;
}

/* ---------- Headings ---------- */
.wp-block-woocommerce-cart .wc-block-cart__totals-title,
.wp-block-woocommerce-cart .wc-block-cart-items__header th{
  font-weight: 950 !important;
  letter-spacing: .01em;
  color: var(--sp-ink) !important;
  text-transform: uppercase;
  font-size: .82rem;
  opacity: .9;
}

/* Remove heavy default table look */
.wp-block-woocommerce-cart table.wc-block-cart-items{
  border: none;
  margin: 0;
}

/* Header row line */
.wp-block-woocommerce-cart .wc-block-cart-items__header{
  border-bottom: 1px solid rgba(42,37,32,.10);
}

/* ---------- Row “cards” ---------- */
.wp-block-woocommerce-cart .wc-block-cart-items__row{
  background: rgba(243,238,229,.60);
  border: 1px solid rgba(42,37,32,.10);
  border-radius: calc(var(--sp-radius) + 6px);
  box-shadow: var(--sp-shadow-sm);
  overflow: hidden;
}

.wp-block-woocommerce-cart .wc-block-cart-item__image,
.wp-block-woocommerce-cart .wc-block-cart-item__product,
.wp-block-woocommerce-cart .wc-block-cart-item__total{
  padding: 16px !important;
  vertical-align: middle;
  border: none !important;
}

/* Product image */
.wp-block-woocommerce-cart .wc-block-cart-item__image img{
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(42,37,32,.10);
  background: rgba(255,255,255,.5);
}

/* Product name */
.wp-block-woocommerce-cart .wc-block-components-product-name{
  color: var(--sp-ink);
  font-weight: 950;
  text-decoration: none;
}
.wp-block-woocommerce-cart .wc-block-components-product-name:hover{
  text-decoration: underline;
  color: var(--sp-rust);
}

/* Price text */
.wp-block-woocommerce-cart .wc-block-components-product-price__value{
  font-weight: 950;
  color: var(--sp-ink);
}

/* Description (the “test” line) */
.wp-block-woocommerce-cart .wc-block-components-product-metadata__description{
  color: var(--sp-muted);
  font-size: .95rem;
  margin-top: 6px;
}

/* ---------- Quantity selector ---------- */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector{
  border-radius: 999px;
  border: 1px solid rgba(42,37,32,.12);
  background: rgba(255,255,255,.55);
  overflow: hidden;
  display: inline-flex;
  align-items: center;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__input{
  width: 64px !important;
  border: none !important;
  background: transparent !important;
  padding: 10px 10px !important;
  text-align: center;
  font-weight: 900;
  color: var(--sp-ink);
  box-shadow: none !important;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button{
  border: none !important;
  background: rgba(138,58,43,.08) !important;
  color: var(--sp-rust) !important;
  font-weight: 950 !important;
  width: 42px !important;
  height: 42px !important;
  cursor: pointer;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:hover{
  background: rgba(138,58,43,.12) !important;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:disabled{
  opacity: .45;
  cursor: not-allowed;
}

/* Remove item link */
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link{
  margin-top: 10px;
  color: var(--sp-rust);
  font-weight: 850;
  text-decoration: none;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover{
  text-decoration: underline;
}

/* ---------- Cart totals panel (right column) ---------- */
.wp-block-woocommerce-cart .wc-block-components-totals-wrapper{
  border-top: 1px solid rgba(42,37,32,.10);
  padding-top: 14px;
  margin-top: 14px;
}

.wp-block-woocommerce-cart .wc-block-components-totals-item__label{
  color: var(--sp-muted);
  font-weight: 850;
}

.wp-block-woocommerce-cart .wc-block-components-totals-item__value{
  font-weight: 950;
  color: var(--sp-ink);
}

.wp-block-woocommerce-cart .wc-block-components-totals-footer-item{
  padding-top: 14px;
  margin-top: 14px;
  border-top: 1px solid rgba(42,37,32,.10);
}

/* Coupon accordion */
.wp-block-woocommerce-cart .wc-block-components-panel__button{
  border-radius: 14px;
  border: 1px solid rgba(42,37,32,.10);
  background: rgba(243,238,229,.55);
  padding: 12px 12px;
  font-weight: 900;
  color: var(--sp-ink);
}

.wp-block-woocommerce-cart .wc-block-components-panel__button:hover{
  background: rgba(138,58,43,.06);
  border-color: rgba(138,58,43,.18);
}

/* ---------- Proceed to checkout button ---------- */
.wp-block-woocommerce-cart .wc-block-cart__submit-container{
  margin-top: 16px;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button{
  width: 100% !important;
  border-radius: 999px !important;
  padding: .95rem 1.1rem !important;
  font-weight: 900 !important;
  background: var(--sp-ink) !important;
  border: 1px solid rgba(42,37,32,.35) !important;
  color: var(--sp-cream) !important;
  box-shadow: 0 12px 22px rgba(0,0,0,.12) !important;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background-color .12s ease;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover{
  background: var(--sp-rust) !important;
  border-color: rgba(138,58,43,.45) !important;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button:active{
  transform: translateY(1px);
}

/* ---------- Mobile cleanup ---------- */
@media (max-width: 991.98px){
  .wp-block-woocommerce-cart .wc-block-cart__main,
  .wp-block-woocommerce-cart .wc-block-cart__sidebar{
    padding: 18px;
  }

  .wp-block-woocommerce-cart .wc-block-cart-item__image img{
    width: 62px;
    height: 62px;
  }
}
/* =========================================================
   Woo Blocks Cart — Coupon section (make it match Simply Pure)
   ========================================================= */

/* Coupon wrapper spacing (inside totals card) */
.wp-block-woocommerce-cart .wc-block-components-totals-coupon{
  margin: 12px 0 16px 0 !important;
}

/* Panel shell: remove “random pill” look */
.wp-block-woocommerce-cart .wc-block-components-totals-coupon.wc-block-components-panel{
  border: 1px solid rgba(42,37,32,.12) !important;
  border-radius: calc(var(--sp-radius) - 2px) !important;
  background: rgba(255,255,255,.28) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* The clickable header row (“Add coupons”) */
.wp-block-woocommerce-cart .wc-block-components-panel__button{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;

  padding: 14px 14px !important;
  border: none !important;
  border-radius: 0 !important;

  background: transparent !important;
  color: var(--sp-ink) !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}

/* Make the chevron feel intentional */
.wp-block-woocommerce-cart .wc-block-components-panel__button-icon{
  width: 18px !important;
  height: 18px !important;
  opacity: .75 !important;
  transition: transform .16s ease, opacity .16s ease !important;
}

/* Hover state */
.wp-block-woocommerce-cart .wc-block-components-panel__button:hover{
  background: rgba(138,58,43,.06) !important;
}

/* When expanded, give a soft “active” state */
.wp-block-woocommerce-cart .wc-block-components-panel__button[aria-expanded="true"]{
  background: rgba(138,58,43,.08) !important;
}

/* Rotate chevron when open */
.wp-block-woocommerce-cart .wc-block-components-panel__button[aria-expanded="true"] .wc-block-components-panel__button-icon{
  transform: rotate(180deg) !important;
  opacity: 1 !important;
}

/* Coupon content area (when opened) */
.wp-block-woocommerce-cart .wc-block-components-panel__content{
  border-top: 1px solid rgba(42,37,32,.10) !important;
  padding: 14px !important;
  background: rgba(243,238,229,.45) !important;
}

/* Coupon input */
.wp-block-woocommerce-cart input.wc-block-components-text-input__control{
  border-radius: 999px !important;
  border: 1px solid rgba(42,37,32,.14) !important;
  background: rgba(255,255,255,.60) !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
}

/* Focus ring (matches theme) */
.wp-block-woocommerce-cart input.wc-block-components-text-input__control:focus{
  outline: none !important;
  border-color: rgba(138,58,43,.35) !important;
  box-shadow: 0 0 0 .25rem rgba(138,58,43,.14) !important;
}

/* Apply button */
.wp-block-woocommerce-cart button.wc-block-components-button{
  border-radius: 999px !important;
  font-weight: 900 !important;
}

/* Make the "Apply" button match your dark pill vibe */
.wp-block-woocommerce-cart button.wc-block-components-button.is-primary,
.wp-block-woocommerce-cart button.wc-block-components-button.contained{
  background: var(--sp-ink) !important;
  border: 1px solid rgba(42,37,32,.35) !important;
  color: var(--sp-cream) !important;
  box-shadow: 0 10px 18px rgba(0,0,0,.10) !important;
}

.wp-block-woocommerce-cart button.wc-block-components-button.is-primary:hover,
.wp-block-woocommerce-cart button.wc-block-components-button.contained:hover{
  background: var(--sp-rust) !important;
  border-color: rgba(138,58,43,.45) !important;
}
/* Lock geometry: no border/padding changes between states */
.wp-block-woocommerce-cart .wc-block-components-totals-coupon.wc-block-components-panel{
  box-sizing: border-box !important;
}

/* Ensure the header button never changes its left inset */
.wp-block-woocommerce-cart .wc-block-components-panel__button{
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 14px 14px !important;
  border: 0 !important;              /* border changes cause bounce */
  outline: 0 !important;             /* outline can shift in some themes */
  transform: none !important;        /* if any transform sneaks in */
}

/* Keep hover/focus strictly visual */
.wp-block-woocommerce-cart .wc-block-components-panel__button:hover,
.wp-block-woocommerce-cart .wc-block-components-panel__button:focus,
.wp-block-woocommerce-cart .wc-block-components-panel__button:focus-visible{
  margin: 0 !important;
  padding: 14px 14px !important;
  border: 0 !important;
  outline: 0 !important;
  transform: none !important;
}

/* If Woo adds focus ring via box-shadow, make sure it doesn't "push" anything */
.wp-block-woocommerce-cart .wc-block-components-panel__button:focus-visible{
  box-shadow: 0 0 0 .25rem rgba(138,58,43,.14) !important; /* overlay-only */
}

/* Lock icon box so flex doesn't re-measure on hover/open */
.wp-block-woocommerce-cart .wc-block-components-panel__button-icon{
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
}

/* Some block styles animate with translateX on hover; kill that specifically */
.wp-block-woocommerce-cart .wc-block-components-panel__button *{
  transform: none !important;
}
/* =========================================================
   Woo Blocks — Remove underline from Proceed to Checkout
   ========================================================= */

.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-cart .wc-block-cart__submit-button:focus,
.wp-block-woocommerce-cart .wc-block-cart__submit-button:active{
  text-decoration: none !important;
}

.dgwt-wcas-ico-magnifier-handler {
    margin-bottom: 0!important;
    width: 100%;
}

/* =============================================================
   SIMPLY PURE — FORMS v2 (Checkout, Login, Register, Account)
   =============================================================
   Revamped to be coherent with the overall brand design:
   warm cream palette, rounded cards, sp-rust accents.
   ============================================================= */

/* ── Shared form input upgrade ──────────────────────────────── */
.sp-wc input[type="text"],
.sp-wc input[type="email"],
.sp-wc input[type="tel"],
.sp-wc input[type="password"],
.sp-wc input[type="number"],
.sp-wc select,
.sp-wc textarea,
.woocommerce-account .woocommerce form.login input.input-text,
.woocommerce-account .woocommerce form.register input.input-text,
.woocommerce-account .woocommerce form.lost_reset_password input.input-text{
  width: 100%;
  border-radius: 14px !important;
  border: 1px solid rgba(42,37,32,.16) !important;
  background: rgba(255,255,255,.72) !important;
  padding: 13px 16px !important;
  font-size: .97rem;
  color: var(--sp-ink);
  box-shadow: 0 2px 6px rgba(0,0,0,.04) !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
  appearance: none;
}
.sp-wc input:focus,
.sp-wc select:focus,
.sp-wc textarea:focus,
.woocommerce-account .woocommerce form.login input:focus,
.woocommerce-account .woocommerce form.register input:focus,
.woocommerce-account .woocommerce form.lost_reset_password input:focus{
  outline: none !important;
  border-color: rgba(138,58,43,.40) !important;
  box-shadow: 0 0 0 3px rgba(138,58,43,.12) !important;
}
.sp-wc label,
.woocommerce-account .woocommerce form .form-row label{
  font-weight: 800;
  font-size: .88rem;
  color: var(--sp-muted);
  letter-spacing: .02em;
  text-transform: uppercase;
  margin-bottom: 7px;
  display: block;
}
.sp-wc select{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%236E6256' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 38px !important;
}
.sp-wc .woocommerce-input-wrapper{
  width: 100%;
}

/* ── Checkout v2 — Page header ──────────────────────────────── */
.sp-eyebrow--dark{
  color: rgba(42,37,32,.60);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .78rem;
  font-weight: 800;
  margin-bottom: .6rem;
}

/* ── Checkout v2 — Progress steps ───────────────────────────── */
.sp-co-steps{
  display: flex;
  align-items: center;
  gap: 0;
  max-width: 400px;
}
.sp-co-step{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 60px;
}
.sp-co-step-dot{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1.5px solid rgba(42,37,32,.18);
  background: rgba(255,255,255,.55);
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: .85rem;
  color: var(--sp-muted);
  transition: background .2s, border-color .2s, color .2s;
}
.sp-co-step-label{
  font-size: .78rem;
  font-weight: 800;
  color: var(--sp-muted);
  letter-spacing: .03em;
}
.sp-co-step--active .sp-co-step-dot{
  background: var(--sp-ink);
  border-color: var(--sp-ink);
  color: var(--sp-cream);
}
.sp-co-step--active .sp-co-step-label{
  color: var(--sp-ink);
}
.sp-co-step--done .sp-co-step-dot{
  background: var(--sp-rust);
  border-color: var(--sp-rust);
  color: var(--sp-cream);
}
.sp-co-step--done .sp-co-step-label{
  color: var(--sp-rust);
}
.sp-co-step-line{
  flex: 1;
  height: 1.5px;
  background: rgba(42,37,32,.14);
  margin: 0 4px;
  margin-bottom: 22px; /* align with dot center */
}

/* ── Checkout v2 — Section cards ────────────────────────────── */
.sp-co-section{
  border-radius: calc(var(--sp-radius) + 4px);
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.45);
  box-shadow: var(--sp-shadow-sm);
  overflow: hidden;
}
.sp-co-section--soft{
  background: rgba(243,238,229,.45);
  border-color: rgba(42,37,32,.09);
  box-shadow: none;
}
.sp-co-section-head{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 22px;
  border-bottom: 1px solid var(--sp-line);
  background: rgba(255,255,255,.30);
}
.sp-co-section--soft .sp-co-section-head{
  background: transparent;
  border-bottom-color: rgba(42,37,32,.08);
}
.sp-co-step-num{
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: var(--sp-ink);
  color: var(--sp-cream);
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: .92rem;
  flex-shrink: 0;
}
.sp-co-step-num--soft{
  background: rgba(139,115,83,.18);
  color: var(--sp-clay);
}
.sp-co-section-title{
  font-weight: 950;
  font-size: 1.05rem;
  color: var(--sp-ink);
  line-height: 1.1;
}
.sp-co-section-sub{
  font-size: .82rem;
  color: var(--sp-muted);
  margin-top: 2px;
  font-weight: 600;
}
.sp-co-section-body{
  padding: 22px;
}
.sp-co-section-body .woocommerce-billing-fields,
.sp-co-section-body .woocommerce-shipping-fields,
.sp-co-section-body .woocommerce-additional-fields{
  margin: 0;
}
.sp-co-section-body .woocommerce-billing-fields h3,
.sp-co-section-body .woocommerce-shipping-fields h3,
.sp-co-section-body .woocommerce-additional-fields h3{
  display: none; /* title already shown in section head */
}
.sp-co-section-body .form-row{
  margin-bottom: 14px !important;
}

/* ── Checkout v2 — Trust bar ────────────────────────────────── */
.sp-co-trust{
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}
.sp-co-trust-item{
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .8rem;
  font-weight: 800;
  color: var(--sp-muted);
  letter-spacing: .02em;
}

/* ── Checkout v2 — Order summary panel ──────────────────────── */
.sp-co-summary{
  border-radius: calc(var(--sp-radius) + 4px);
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.48);
  box-shadow: var(--sp-shadow-md);
  padding: 24px;
}
.sp-co-summary-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}
.sp-co-summary-title{
  font-weight: 950;
  font-size: 1.05rem;
  color: var(--sp-ink);
}
.sp-co-summary-edit{
  font-size: .82rem;
  font-weight: 800;
  color: var(--sp-rust);
  text-decoration: none;
  opacity: .8;
}
.sp-co-summary-edit:hover{ opacity: 1; text-decoration: underline; }

/* Items */
.sp-co-items{
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 18px;
}
.sp-co-item{
  display: grid;
  grid-template-columns: 52px 1fr auto;
  gap: 12px;
  align-items: center;
}
.sp-co-item-img{
  position: relative;
  width: 52px;
  height: 52px;
  flex-shrink: 0;
}
.sp-co-item-img img{
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid var(--sp-line);
  display: block;
}
.sp-co-item-qty{
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--sp-ink);
  color: var(--sp-cream);
  font-size: 11px;
  font-weight: 900;
  display: grid;
  place-items: center;
  border: 2px solid var(--sp-cream);
}
.sp-co-item-name{
  font-weight: 850;
  font-size: .9rem;
  color: var(--sp-ink);
  line-height: 1.25;
}
.sp-co-item-price{
  font-weight: 950;
  font-size: .92rem;
  white-space: nowrap;
}

/* Divider */
.sp-co-divider{
  height: 1px;
  background: var(--sp-line);
  margin: 16px 0;
}

/* Totals */
.sp-co-totals{
  font-size: .9rem;
}
.sp-co-total-row{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
  color: var(--sp-muted);
  font-weight: 700;
}
.sp-co-total-row--discount{
  color: #3a7a3a;
}
.sp-co-total-row--grand{
  font-size: 1.08rem;
  font-weight: 950;
  color: var(--sp-ink);
  padding: 6px 0;
}

/* Payment section */
.sp-co-pay{
  margin-top: 4px;
}
.sp-co-pay-label{
  font-weight: 900;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--sp-muted);
  margin-bottom: 12px;
}
.sp-co-pay-methods .wc_payment_methods{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sp-co-pay-methods .wc_payment_method{
  border: 1.5px solid rgba(42,37,32,.14);
  background: rgba(255,255,255,.42);
  border-radius: 16px;
  padding: 13px 15px;
  transition: border-color .15s ease, background .15s ease;
}
.sp-co-pay-methods .wc_payment_method:has(input:checked){
  border-color: rgba(138,58,43,.40);
  background: rgba(138,58,43,.05);
}
.sp-co-pay-methods .wc_payment_method label{
  font-weight: 800 !important;
  font-size: .9rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--sp-ink) !important;
  cursor: pointer;
}
.sp-co-pay-methods .payment_box{
  margin-top: 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(42,37,32,.10) !important;
  background: rgba(255,255,255,.55) !important;
  padding: 12px !important;
  font-size: .88rem;
  color: var(--sp-muted);
}
.sp-co-pay-empty{
  border-radius: 14px;
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.35);
  padding: 14px 16px;
  font-size: .9rem;
  color: var(--sp-muted);
}
.sp-co-terms{
  font-size: .8rem;
  color: var(--sp-muted);
  font-weight: 600;
  margin-bottom: 14px;
  line-height: 1.5;
}
.sp-co-terms .sp-link{
  font-weight: 800;
}

/* Place order button */
.sp-co-place-order{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 16px 22px;
  border-radius: 999px;
  background: var(--sp-ink);
  color: var(--sp-cream);
  font-weight: 900;
  font-size: 1rem;
  border: 1.5px solid rgba(42,37,32,.45);
  box-shadow: 0 12px 28px rgba(42,37,32,.18);
  cursor: pointer;
  letter-spacing: .01em;
  transition: background .14s ease, transform .12s ease, box-shadow .12s ease;
}
.sp-co-place-order:hover{
  background: var(--sp-rust);
  border-color: rgba(138,58,43,.55);
  box-shadow: 0 14px 32px rgba(138,58,43,.22);
}
.sp-co-place-order:active{
  transform: translateY(1px);
  box-shadow: 0 6px 14px rgba(0,0,0,.14);
}

/* ── Login / Register form upgrades ─────────────────────────── */
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register,
.woocommerce-account .woocommerce form.lost_reset_password{
  max-width: 500px;
  margin: 0 auto;
  border-radius: calc(var(--sp-radius) + 8px);
  border: 1px solid var(--sp-line);
  background: rgba(255,255,255,.45);
  box-shadow: var(--sp-shadow-md);
  padding: 30px 28px;
}
.woocommerce-account .woocommerce form.login p:first-of-type,
.woocommerce-account .woocommerce form.register p:first-of-type{
  /* Woo sometimes injects "returning customer?" text */
  color: var(--sp-muted);
  font-size: .9rem;
}
.woocommerce-account .woocommerce form .form-row{
  margin: 0 0 14px 0 !important;
}
.woocommerce-account .woocommerce form .form-row label{
  font-weight: 800;
  font-size: .85rem;
  color: var(--sp-muted);
  letter-spacing: .03em;
  text-transform: uppercase;
  margin-bottom: 7px;
}
.woocommerce-account .woocommerce form.login input.input-text,
.woocommerce-account .woocommerce form.register input.input-text,
.woocommerce-account .woocommerce form.lost_reset_password input.input-text{
  border-radius: 14px !important;
  border: 1px solid rgba(42,37,32,.16) !important;
  background: rgba(255,255,255,.72) !important;
  padding: 13px 16px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.04) !important;
}
/* Button */
.woocommerce-account .woocommerce form.login button.button,
.woocommerce-account .woocommerce form.register button.button,
.woocommerce-account .woocommerce form.lost_reset_password button.button{
  width: 100%;
  margin-top: 6px;
  border-radius: 999px !important;
  padding: 14px 22px;
  font-weight: 900;
  font-size: 1rem;
  background: var(--sp-ink);
  border: 1.5px solid rgba(42,37,32,.40);
  color: var(--sp-cream);
  box-shadow: 0 10px 24px rgba(42,37,32,.16);
  transition: background .14s ease, transform .12s ease;
}
.woocommerce-account .woocommerce form.login button.button:hover,
.woocommerce-account .woocommerce form.register button.button:hover,
.woocommerce-account .woocommerce form.lost_reset_password button.button:hover{
  background: var(--sp-rust);
  border-color: rgba(138,58,43,.45);
}
.woocommerce-account .woocommerce form.login button.button:active,
.woocommerce-account .woocommerce form.register button.button:active,
.woocommerce-account .woocommerce form.lost_reset_password button.button:active{
  transform: translateY(1px);
}
/* Remember me + lost password links */
.woocommerce-account .woocommerce form.login .form-row.rememberme{
  display: flex; align-items: center; gap: .6rem;
}
.woocommerce-account .woocommerce form.login .form-row.rememberme label{
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: .88rem;
  font-weight: 750;
  color: var(--sp-muted);
  margin: 0;
}
.woocommerce-account .woocommerce form.login p.lost_password{ margin-top: 14px; }
.woocommerce-account .woocommerce a{ color: var(--sp-rust); font-weight: 750; text-decoration: none; }
.woocommerce-account .woocommerce a:hover{ text-decoration: underline; }

/* Checkbox style */
.woocommerce-account .form-row.rememberme input[type="checkbox"]{
  appearance: none; -webkit-appearance: none;
  width: 18px; height: 18px;
  border-radius: 6px;
  border: 1.5px solid rgba(42,37,32,.28);
  background: rgba(255,255,255,.7);
  display: inline-grid; place-items: center;
  cursor: pointer; margin: 0; flex-shrink: 0;
  transition: background .12s, border-color .12s;
}
.woocommerce-account .form-row.rememberme input[type="checkbox"]::after{
  content: "";
  display: block;
  width: 5px; height: 9px;
  border: 2px solid var(--sp-cream);
  border-top: none; border-left: none;
  transform: rotate(45deg) translate(-1px, -1px);
  opacity: 0;
  transition: opacity .12s;
}
.woocommerce-account .form-row.rememberme input[type="checkbox"]:checked{
  background: var(--sp-rust);
  border-color: var(--sp-rust);
}
.woocommerce-account .form-row.rememberme input[type="checkbox"]:checked::after{
  opacity: 1;
}

/* ── My Account — polished layout ───────────────────────────── */
.sp-account .sp-account-link{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 14px;
  border-radius: 14px;
  border: 1px solid rgba(42,37,32,.10);
  background: rgba(255,255,255,.30);
  color: var(--sp-ink);
  text-decoration: none;
  font-weight: 850;
  font-size: .92rem;
  transition: background .12s, border-color .12s;
  margin-bottom: 4px;
}
.sp-account .is-active > .sp-account-link{
  background: rgba(138,58,43,.08);
  border-color: rgba(138,58,43,.25);
  color: var(--sp-rust);
}
.sp-account .sp-account-link:hover{
  background: rgba(255,255,255,.55);
  text-decoration: none;
}
.sp-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row{
  margin-bottom: 14px !important;
}
.sp-account .woocommerce-MyAccount-content input[type="text"],
.sp-account .woocommerce-MyAccount-content input[type="email"],
.sp-account .woocommerce-MyAccount-content input[type="password"]{
  border-radius: 14px !important;
  border: 1px solid rgba(42,37,32,.16) !important;
  background: rgba(255,255,255,.72) !important;
  padding: 13px 16px !important;
}
.sp-account .woocommerce-MyAccount-content button[type="submit"]{
  border-radius: 999px !important;
  padding: 13px 28px !important;
  font-weight: 900 !important;
  background: var(--sp-ink) !important;
  color: var(--sp-cream) !important;
  border: 1.5px solid rgba(42,37,32,.35) !important;
  box-shadow: 0 8px 20px rgba(42,37,32,.14) !important;
  transition: background .14s ease !important;
}
.sp-account .woocommerce-MyAccount-content button[type="submit"]:hover{
  background: var(--sp-rust) !important;
  border-color: rgba(138,58,43,.45) !important;
}

/* ── Responsive tweaks ──────────────────────────────────────── */
@media (max-width: 991.98px){
  .sp-co-summary{
    padding: 20px 18px;
  }
  .sp-checkout-sticky{
    position: static;
  }
}
@media (max-width: 575.98px){
  .sp-co-section-body{ padding: 18px; }
  .sp-co-section-head{ padding: 16px 18px; }
  .woocommerce-account .woocommerce form.login,
  .woocommerce-account .woocommerce form.register,
  .woocommerce-account .woocommerce form.lost_reset_password{
    padding: 22px 18px;
  }
}


/* =============================================================
   SIMPLY PURE — WooCommerce Blocks Checkout
   Built on Bootstrap 5 patterns. Clean, predictable, scoped.
   ============================================================= */

/* ── Design tokens ──────────────────────────────────────────── */
.wp-block-woocommerce-checkout {
  --sp-cream:      #F3EEE5;
  --sp-ink:        #2A2520;
  --sp-muted:      #6E6256;
  --sp-rust:       #8A3A2B;
  --sp-clay:       #8B7353;
  --sp-line:       rgba(42,37,32,.13);
  --sp-card-bg:    rgba(255,255,255,.55);
  --sp-focus:      rgba(138,58,43,.18);

  /* Bootstrap 5 overrides */
  --bs-border-radius:    .75rem;
  --bs-border-radius-lg: 1.25rem;
  --bs-body-color:       #2A2520;
  --bs-border-color:     rgba(42,37,32,.18);
}

/* ── Page shell ─────────────────────────────────────────────── */
body.woocommerce-checkout { background: var(--sp-cream) !important; }

.wp-block-woocommerce-checkout {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 3rem 1.25rem 5rem !important;
}

/* ── Two-column grid ────────────────────────────────────────── */
@media (min-width: 900px) {
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 2rem !important;
    align-items: start !important;
  }
  .wp-block-woocommerce-checkout .wc-block-components-main,
  .wp-block-woocommerce-checkout .wc-block-components-sidebar {
    width: 100% !important;
    min-width: 0 !important;
  }
  .wp-block-woocommerce-checkout .wc-block-components-sidebar {
    position: sticky !important;
    top: 100px !important;
  }
}

/* ── Step cards (Bootstrap card pattern) ────────────────────── */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step {
  background: var(--sp-card-bg) !important;
  border: 1px solid var(--sp-line) !important;
  border-radius: 1.25rem !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.055) !important;
  margin-bottom: 1rem !important;
  overflow: hidden !important;
  padding: 0 !important;
}

/* Step heading — card-header pattern */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading {
  display: flex !important;
  align-items: center !important;
  gap: .875rem !important;
  padding: 1.1rem 1.5rem !important;
  background: rgba(255,255,255,.3) !important;
  border-bottom: 1px solid var(--sp-line) !important;
  margin: 0 !important;
}

/* Step number badge */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__index {
  flex-shrink: 0 !important;
  width: 2.25rem !important;
  height: 2.25rem !important;
  min-width: 2.25rem !important;
  border-radius: 50% !important;
  background: var(--sp-ink) !important;
  color: var(--sp-cream) !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  box-shadow: 0 3px 8px rgba(42,37,32,.22) !important;
  line-height: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--sp-ink) !important;
  margin: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__description {
  font-size: .8rem !important;
  color: var(--sp-muted) !important;
  font-weight: 500 !important;
  margin: .2rem 0 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Log in link */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading a {
  margin-left: auto !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  color: var(--sp-rust) !important;
  text-decoration: none !important;
}

/* Step body — card-body pattern */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__container {
  padding: 1.5rem !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__content {
  padding: 0 !important;
}

/* ── Bootstrap 5 form-control inputs ────────────────────────── */
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout input[type="password"],
.wp-block-woocommerce-checkout input[type="number"],
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-country-input input,
.wp-block-woocommerce-checkout .wc-block-components-state-input input,
.wp-block-woocommerce-checkout .wc-block-components-combobox input,
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea {
  /* Bootstrap 5 form-control base */
  display: block !important;
  width: 100% !important;
  padding: .625rem 1rem !important;
  font-size: .95rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: var(--sp-ink) !important;
  background-color: rgba(255,255,255,.82) !important;
  background-clip: padding-box !important;
  border: 1.5px solid rgba(42,37,32,.18) !important;
  border-radius: .75rem !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.04) !important;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  height: auto !important;
  min-height: 48px !important;
}
.wp-block-woocommerce-checkout input::placeholder,
.wp-block-woocommerce-checkout textarea::placeholder {
  color: rgba(110,98,86,.42) !important;
}
.wp-block-woocommerce-checkout input:focus,
.wp-block-woocommerce-checkout select:focus,
.wp-block-woocommerce-checkout textarea:focus {
  /* Bootstrap 5 focus ring — using brand color */
  color: var(--sp-ink) !important;
  background-color: #fff !important;
  border-color: var(--sp-rust) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 .25rem var(--sp-focus) !important;
}
.wp-block-woocommerce-checkout textarea {
  min-height: 90px !important;
  resize: vertical !important;
}
/* Custom select chevron */
.wp-block-woocommerce-checkout select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236E6256' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  padding-right: 2.5rem !important;
}

/* Field labels — Bootstrap 5 form-label pattern */
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-label,
.wp-block-woocommerce-checkout .wc-block-components-text-input label {
  display: inline-block !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  color: var(--sp-muted) !important;
  margin-bottom: .4rem !important;
}

/* Validation error */
.wp-block-woocommerce-checkout .wc-block-components-validation-error {
  display: block !important;
  font-size: .8rem !important;
  color: #b02a37 !important;
  font-weight: 600 !important;
  margin-top: .3rem !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input.has-error input {
  border-color: #b02a37 !important;
  box-shadow: 0 0 0 .25rem rgba(176,42,55,.15) !important;
}

/* Spacing between fields */
.wp-block-woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-text-input {
  margin-bottom: .85rem !important;
}

/* ── Bootstrap 5 form-check — checkbox ──────────────────────── */
/* Key: BS5 uses padding-left on wrapper + float/flex for input  */
.wp-block-woocommerce-checkout .wc-block-components-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: .6rem !important;
  cursor: pointer !important;
  margin: .5rem 0 !important;
}
/* Hide WC's SVG mark — we use CSS */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark { display: none !important; }

/* Checkbox input — Bootstrap 5 form-check-input pattern */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input,
.wp-block-woocommerce-checkout input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  /* Bootstrap 5: flex-shrink so it doesn't collapse */
  flex-shrink: 0 !important;
  /* Critical: NOT position:absolute */
  position: static !important;
  float: none !important;
  width: 1.2rem !important;
  height: 1.2rem !important;
  margin-top: .15rem !important;
  background-color: rgba(255,255,255,.85) !important;
  border: 1.5px solid rgba(42,37,32,.3) !important;
  border-radius: .3rem !important;
  cursor: pointer !important;
  background-image: none !important;
  transition: background-color .15s ease-in-out, border-color .15s ease-in-out !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked,
.wp-block-woocommerce-checkout input[type="checkbox"]:checked {
  background-color: var(--sp-rust) !important;
  border-color: var(--sp-rust) !important;
  /* BS5 uses background-image for the tick */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 75% !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkbox__label {
  font-size: .9rem !important;
  font-weight: 500 !important;
  color: var(--sp-muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.45 !important;
  cursor: pointer !important;
  margin: 0 !important;
}

/* Guest notice */
.wp-block-woocommerce-checkout .wc-block-checkout__guest-notice {
  font-size: .85rem !important;
  color: var(--sp-muted) !important;
  margin-bottom: .75rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Bootstrap 5 form-check — radio buttons ─────────────────── */
/* The wrapper option row */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option {
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  border: 1.5px solid rgba(42,37,32,.13) !important;
  border-radius: .875rem !important;
  background: rgba(255,255,255,.5) !important;
  margin-bottom: .6rem !important;
  overflow: hidden !important;
  transition: border-color .15s, background .15s !important;
  cursor: pointer !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option:hover {
  border-color: rgba(42,37,32,.24) !important;
  background: rgba(255,255,255,.7) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked) {
  border-color: rgba(138,58,43,.5) !important;
  background: rgba(138,58,43,.055) !important;
}

/* Inner label fills the row — BS5: label is flex container */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option > label,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  width: 100% !important;
  padding: .875rem 1.125rem !important;
  cursor: pointer !important;
  margin: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: inherit !important;
}

/* Container for the input — fixed size box */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input-container {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  position: static !important;
}

/* Radio input — BS5 form-check-input[type=radio] */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input {
  appearance: none !important;
  -webkit-appearance: none !important;
  /* CRITICAL: static, not absolute */
  position: static !important;
  float: none !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  opacity: 1 !important;
  flex-shrink: 0 !important;
  width: 1.15rem !important;
  height: 1.15rem !important;
  margin: 0 !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(42,37,32,.32) !important;
  background-color: rgba(255,255,255,.85) !important;
  background-image: none !important;
  cursor: pointer !important;
  transition: border-color .15s, background-color .15s !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked {
  /* BS5: background-image dot */
  background-color: #fff !important;
  border-color: var(--sp-rust) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%238A3A2B'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* Label text + price */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__label-group {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__label {
  flex: 1 !important;
  font-weight: 600 !important;
  font-size: .92rem !important;
  color: var(--sp-ink) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__secondary-label {
  font-weight: 700 !important;
  font-size: .88rem !important;
  color: var(--sp-ink) !important;
  margin-left: auto !important;
  white-space: nowrap !important;
}

/* ── Payment method accordion ───────────────────────────────── */
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  border: 1.5px solid rgba(42,37,32,.13) !important;
  border-radius: 1rem !important;
  background: rgba(255,255,255,.5) !important;
  margin-bottom: .6rem !important;
  overflow: hidden !important;
  transition: border-color .15s, background .15s !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(input:checked) {
  border-color: rgba(138,58,43,.5) !important;
  background: rgba(255,255,255,.75) !important;
}
/* Accordion header row */
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  margin: 0 !important;
}
/* Accordion expanded content */
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-content {
  border-top: 1px solid rgba(42,37,32,.09) !important;
  padding: 1.25rem !important;
  background: rgba(243,238,229,.28) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-content a {
  color: var(--sp-rust) !important;
  font-size: .84rem !important;
}

/* Payment method label (name + brand logos) */
.wp-block-woocommerce-checkout .wc-block-components-payment-method-label {
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
  font-weight: 600 !important;
  font-size: .92rem !important;
  color: var(--sp-ink) !important;
  flex: 1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-payment-method-label__brand-logo {
  max-height: 22px !important;
  width: auto !important;
  border-radius: 3px !important;
}

/* ── Place Order — Bootstrap 5 btn pattern ───────────────────── */
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
  /* BS5 btn base */
  display: inline-block !important;
  width: 100% !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  color: var(--sp-cream) !important;
  text-align: center !important;
  text-decoration: none !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  user-select: none !important;
  background-color: var(--sp-ink) !important;
  border: 1.5px solid var(--sp-ink) !important;
  padding: 1rem 2rem !important;
  font-size: 1rem !important;
  border-radius: 999px !important;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !important;
  box-shadow: 0 .25rem 1rem rgba(42,37,32,.22) !important;
  letter-spacing: .02em !important;
  margin-top: .5rem !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background-color: var(--sp-rust) !important;
  border-color: var(--sp-rust) !important;
  box-shadow: 0 .35rem 1.2rem rgba(138,58,43,.28) !important;
  text-decoration: none !important;
  color: var(--sp-cream) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:active {
  transform: translateY(1px) !important;
  box-shadow: 0 .1rem .4rem rgba(42,37,32,.18) !important;
}

/* Secondary buttons (Apply coupon etc.) */
.wp-block-woocommerce-checkout .wc-block-components-button:not(.wc-block-components-checkout-place-order-button) {
  display: inline-block !important;
  font-weight: 600 !important;
  text-align: center !important;
  cursor: pointer !important;
  border: 1.5px solid var(--sp-ink) !important;
  padding: .5rem 1.25rem !important;
  font-size: .88rem !important;
  border-radius: 999px !important;
  background: var(--sp-ink) !important;
  color: var(--sp-cream) !important;
  text-decoration: none !important;
  transition: background-color .15s, border-color .15s !important;
}
.wp-block-woocommerce-checkout .wc-block-components-button:not(.wc-block-components-checkout-place-order-button):hover {
  background: var(--sp-rust) !important;
  border-color: var(--sp-rust) !important;
}

/* Return to cart */
.wp-block-woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
  color: var(--sp-muted) !important;
  font-size: .84rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .3rem !important;
  margin-top: .75rem !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover {
  color: var(--sp-rust) !important;
}

/* Terms text */
.wp-block-woocommerce-checkout .wc-block-checkout__terms,
.wp-block-woocommerce-checkout .wc-block-checkout__terms p {
  font-size: .8rem !important;
  color: var(--sp-muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.55 !important;
}
.wp-block-woocommerce-checkout .wc-block-checkout__terms a {
  color: var(--sp-rust) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.wp-block-woocommerce-checkout .wc-block-checkout__terms a:hover {
  text-decoration: underline !important;
}

/* ── ORDER SUMMARY sidebar ───────────────────────────────────── */
.wp-block-woocommerce-checkout .wc-block-components-sidebar > *,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar > *,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  background: rgba(255,255,255,.55) !important;
  border: 1px solid var(--sp-line) !important;
  border-radius: 1.25rem !important;
  padding: 1.5rem !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.055) !important;
  margin-bottom: .75rem !important;
}

/* Summary title */
.wp-block-woocommerce-checkout .wc-block-components-order-summary__button-text,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--sp-ink) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Product rows */
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 3.5rem 1fr auto !important;
  gap: .75rem !important;
  align-items: center !important;
  padding: .875rem 0 !important;
  border-bottom: 1px solid rgba(42,37,32,.08) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item:last-child {
  border-bottom: none !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image-container {
  position: relative !important;
  width: 3.5rem !important;
  height: 3.5rem !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image img {
  width: 3.5rem !important;
  height: 3.5rem !important;
  object-fit: cover !important;
  border-radius: .625rem !important;
  border: 1px solid rgba(42,37,32,.10) !important;
  display: block !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  position: absolute !important;
  top: -6px !important;
  right: -6px !important;
  min-width: 1.25rem !important;
  height: 1.25rem !important;
  border-radius: 999px !important;
  background: var(--sp-ink) !important;
  color: var(--sp-cream) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid var(--sp-cream) !important;
  padding: 0 .2rem !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__full-name,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description {
  font-weight: 600 !important;
  font-size: .88rem !important;
  color: var(--sp-ink) !important;
  line-height: 1.3 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__individual-price,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price {
  font-weight: 700 !important;
  font-size: .9rem !important;
  color: var(--sp-ink) !important;
  white-space: nowrap !important;
}

/* Totals rows — Bootstrap table-like pattern */
.wp-block-woocommerce-checkout .wc-block-components-totals-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: .5rem 0 !important;
  border-top: none !important;
  border-bottom: none !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-item__label {
  font-size: .88rem !important;
  font-weight: 500 !important;
  color: var(--sp-muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-item__value {
  font-size: .9rem !important;
  font-weight: 700 !important;
  color: var(--sp-ink) !important;
}
/* Grand total */
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item {
  border-top: 1.5px solid rgba(42,37,32,.12) !important;
  margin-top: .5rem !important;
  padding-top: .75rem !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--sp-ink) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--sp-ink) !important;
}
/* Free shipping — green */
.wp-block-woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__value {
  color: #2d6a4f !important;
  font-weight: 700 !important;
}

/* Coupon accordion */
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon.wc-block-components-panel {
  border: 1px solid rgba(42,37,32,.12) !important;
  border-radius: .875rem !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.28) !important;
  margin: .75rem 0 !important;
  box-shadow: none !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: .75rem 1rem !important;
  border: none !important;
  background: transparent !important;
  font-weight: 600 !important;
  font-size: .88rem !important;
  color: var(--sp-ink) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
  background: rgba(138,58,43,.05) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__content {
  border-top: 1px solid rgba(42,37,32,.09) !important;
  padding: 1rem !important;
  background: rgba(243,238,229,.3) !important;
}

/* Notices */
.wp-block-woocommerce-checkout .wc-block-components-notice-banner,
.wp-block-woocommerce-checkout .wc-block-components-notice-snackbar {
  border-radius: 1rem !important;
  border: 1px solid var(--sp-line) !important;
  background: rgba(255,255,255,.55) !important;
  padding: .875rem 1.125rem !important;
  font-size: .9rem !important;
  margin-bottom: 1rem !important;
  box-shadow: none !important;
}

/* Links */
.wp-block-woocommerce-checkout a { color: var(--sp-rust) !important; }

/* ── Mobile ─────────────────────────────────────────────────── */
@media (max-width: 899px) {
  .wp-block-woocommerce-checkout { padding: 1.5rem .875rem 3rem !important; }
  .wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading { padding: .875rem 1.125rem !important; }
  .wp-block-woocommerce-checkout .wc-block-components-checkout-step__container { padding: 1.125rem !important; }
  .wp-block-woocommerce-checkout .wc-block-components-sidebar > *,
  .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { padding: 1.125rem !important; }
}


/* =========================================================
   Store block shell + stronger cart/checkout styling
   ========================================================= */
.sp-store-shell{
  padding: 2rem 0 4rem;
}
.sp-store-shell .container{
  max-width: 1240px;
}
.sp-store-head{
  margin: 0 auto 2rem;
  max-width: 860px;
}
.sp-store-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .45rem .85rem;
  border-radius: 999px;
  background: rgba(144,194,231,.16);
  color: #4f6783;
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sp-store-title{
  color: #193549;
  font-weight: 800;
  letter-spacing: -.02em;
}
.sp-store-subtitle{
  color: #64748b;
  font-size: 1.02rem;
}
.sp-store-badges{
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .75rem;
}
.sp-store-badge{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .75rem 1rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(79,103,131,.10);
  box-shadow: 0 10px 30px rgba(25,53,73,.06);
  color: #355066;
  font-weight: 600;
  font-size: .95rem;
}
.sp-store-badge i{
  color: #4f6783;
}
.sp-store-block-wrap{
  position: relative;
}
.sp-checkout-steps{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .9rem;
  margin-top: 1rem;
}
.sp-checkout-step{
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  padding: .65rem .95rem;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(79,103,131,.14);
  color: #5f7487;
  font-weight: 700;
}
.sp-checkout-step__num{
  width: 1.9rem;
  height: 1.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e9f3fb;
  color: #36546d;
  font-size: .84rem;
}
.sp-checkout-step.is-active{
  background: linear-gradient(180deg, #ffffff 0%, #f5fbff 100%);
  color: #21394d;
  box-shadow: 0 12px 28px rgba(25,53,73,.08);
}
.sp-cart-page .site-main,
.sp-checkout-page .site-main,
.sp-thankyou-page .site-main{
  background: linear-gradient(180deg, #f8fbfd 0%, #f5f7fa 100%);
}

/* stronger cart block shell */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{
  margin-top: 0 !important;
}
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
  gap: 1.5rem !important;
  align-items: flex-start !important;
}
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-checkout .wc-block-components-main{
  background: #fff;
  border: 1px solid rgba(79,103,131,.10);
  border-radius: 1.25rem;
  box-shadow: 0 20px 35px rgba(25,53,73,.06);
  padding: clamp(1rem, 2vw, 1.5rem) !important;
}
.wp-block-woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-checkout .wc-block-components-sidebar,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
  position: sticky;
  top: 1.5rem;
}
.wp-block-woocommerce-cart .wc-block-cart__sidebar > *,
.wp-block-woocommerce-checkout .wc-block-components-sidebar > *,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar > *{
  background: #fff;
  border: 1px solid rgba(79,103,131,.10);
  border-radius: 1.25rem;
  box-shadow: 0 20px 35px rgba(25,53,73,.06);
}
.wp-block-woocommerce-cart .wc-block-components-product-name,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__full-name{
  font-weight: 700 !important;
  color: #21394d !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item,
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item{
  margin-top: .6rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(79,103,131,.12) !important;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button{
  min-height: 56px;
  border-radius: 14px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
  box-shadow: 0 14px 30px rgba(79,103,131,.18);
}
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-button{
  border-radius: 12px !important;
}
.wp-block-woocommerce-cart .wc-block-components-text-input input,
.wp-block-woocommerce-cart .wc-block-components-text-input__input,
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-country-input input,
.wp-block-woocommerce-checkout .wc-block-components-state-input input,
.wp-block-woocommerce-checkout .wc-block-components-combobox input{
  min-height: 52px;
  border-radius: 14px !important;
  background: #fff !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step{
  overflow: hidden;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading{
  background: linear-gradient(180deg, #fff 0%, #f7fbff 100%) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title{
  font-weight: 800 !important;
  color: #21394d !important;
}
.wp-block-woocommerce-checkout .wc-block-checkout__actions_row{
  gap: .85rem;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary{
  padding-top: .25rem;
}
@media (max-width: 991.98px){
  .sp-store-shell{ padding: 1.25rem 0 2.5rem; }
  .sp-store-badge{ width: 100%; justify-content: center; }
  .sp-checkout-step{ width: 100%; justify-content: center; }
  .wp-block-woocommerce-cart .wc-block-cart__sidebar,
  .wp-block-woocommerce-checkout .wc-block-components-sidebar,
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
    position: static;
    top: auto;
  }
}
