 /* ══════════════════════════════════════════════════════════════════════════
    HEADER: Elementor controls ALL header layout, positioning, sticky,
    widget sizing, and image dimensions via its own settings.
    DO NOT add position/sticky/top/z-index/flex/max-height overrides here.
    ══════════════════════════════════════════════════════════════════════════ */

 :root {
  --bs-accent-red: #C41E3A;
  --bs-accent-yellow: #F5C518;
  --bs-heading-color: #1B2A4A;
  --bs-body-color: #666666;
  --bs-surface: #FFFFFF;
  --bs-surface-muted: #FAFAFA;
  --bs-border-soft: #E7ECF2;
  --bs-border-strong: #D8E0EA;
  --bs-shadow-soft: 0 10px 30px rgba(20, 33, 61, 0.06);
  --bs-shadow-hover: 0 16px 36px rgba(20, 33, 61, 0.10);
  --bs-font-heading: 'Poppins', sans-serif;
  --bs-font-body: 'Poppins', sans-serif;
  --bs-radius-md: 12px;
  --bs-radius-pill: 24px;
 }

 body {
  color: var(--bs-body-color);
  font-family: var(--bs-font-body);
  background: var(--bs-surface);
 }

 h1:not([class*="bkpc-"]):not([class*="elementor-"]),
 h2:not([class*="bkpc-"]):not([class*="elementor-"]),
 h3:not([class*="bkpc-"]):not([class*="elementor-"]),
 h4:not([class*="bkpc-"]):not([class*="elementor-"]),
 h5:not([class*="bkpc-"]):not([class*="elementor-"]),
 h6:not([class*="bkpc-"]):not([class*="elementor-"]),
 .woocommerce-Reviews-title,
 .woocommerce div.product .product_title,
 .woocommerce-tabs .tabs a {
  color: var(--bs-heading-color);
  font-family: var(--bs-font-heading);
 }

 /* Elementor widget headings: let widget settings control colors */
 .elementor-widget h1,
 .elementor-widget h2,
 .elementor-widget h3,
 .elementor-widget h4,
 .elementor-widget h5,
 .elementor-widget h6 {
  color: inherit;
  font-family: inherit;
 }

 .woocommerce .woocommerce-breadcrumb,
 .woocommerce-page .woocommerce-breadcrumb,
 .woocommerce .woocommerce-result-count {
  color: var(--bs-body-color);
  font-size: 14px;
 }

 /* ── Breadcrumb Styling ───────────────────────────────────────────── */
 body .breadcrumb-area {
  padding: 20px 0;
 }

 body .groser-breadcrumb li {
  font-family: var(--bs-font-body);
  font-size: 14px;
 }

 body .groser-breadcrumb li span {
  color: var(--bs-accent-red);
  font-family: var(--bs-font-heading);
  font-weight: 700;
 }

 body .groser-breadcrumb li a,
 body .groser-breadcrumb li a span {
  color: var(--bs-body-color);
  font-weight: 500;
  transition: color 0.2s ease;
 }

 body .groser-breadcrumb li a:hover,
 body .groser-breadcrumb li a:hover span {
  color: var(--bs-accent-red);
 }

 .woocommerce nav.woocommerce-pagination ul {
  border: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
 }

 .woocommerce nav.woocommerce-pagination ul li {
  border: 0;
 }

 .woocommerce nav.woocommerce-pagination ul li a,
 .woocommerce nav.woocommerce-pagination ul li span {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid var(--bs-border-soft);
  background: var(--bs-surface);
  color: var(--bs-heading-color);
  font-weight: 600;
 }

 .woocommerce nav.woocommerce-pagination ul li span.current,
 .woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--bs-accent-red);
  border-color: var(--bs-accent-red);
  color: #FFFFFF;
 }

 /* ── Product Cards (archive, shop, related, upsells) ─────────────────
    Matches Bakeshed Product Grid widget (bpg-*) for visual consistency.
    Colors driven by --bs-pc-* CSS variables from Bakeshed Options > Product Card Colors.
    ────────────────────────────────────────────────────────────────────── */

 .woocommerce ul.products,
 .woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  margin: 0;
  padding: 0;
  overflow: visible;
 }

 .woocommerce ul.products::before,
 .woocommerce ul.products::after,
 .woocommerce-page ul.products::before,
 .woocommerce-page ul.products::after {
  display: none;
 }

 .woocommerce ul.products li.product,
 .woocommerce-page ul.products li.product {
  width: auto;
  float: none;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--bs-pc-card-border, #E7ECF2);
  border-radius: var(--bs-pc-card-radius, 12px);
  background: var(--bs-pc-card-bg, #FFFFFF);
  overflow: hidden;
  transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.25s ease;
 }

 .woocommerce ul.products li.product:hover,
 .woocommerce-page ul.products li.product:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0,0,0,.08);
  border-color: var(--bs-border-strong, #D8E0EA);
 }

 /* Product image area — matches bpg-image */
 .woocommerce ul.products li.product a img,
 .woocommerce-page ul.products li.product a img {
  margin-bottom: 0;
  border-radius: 8px;
  background: #FFFFFF;
 }

 /* Product title — matches bpg-title */
 .woocommerce ul.products li.product .woocommerce-loop-product__title,
 .woocommerce ul.products li.product h3,
 .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
 .woocommerce-page ul.products li.product h3 {
  margin: 0 0 6px;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
  font-family: var(--bs-font-body);
  color: var(--bs-pc-title-color, #1B2A4A);
 }

 /* Product price — matches bpg-price */
 .woocommerce ul.products li.product .price,
 .woocommerce-page ul.products li.product .price {
  color: var(--bs-pc-price-color, #1B2A4A);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.3;
 }

 /* Single product price keeps accent red */
 .woocommerce div.product p.price,
 .woocommerce div.product span.price {
  color: var(--bs-accent-red);
  font-weight: 700;
  font-size: 16px;
 }

 .woocommerce ul.products li.product .price del,
 .woocommerce div.product .price del {
  opacity: 0.65;
  color: var(--bs-body-color);
  font-weight: 400;
  font-size: 13px;
 }

 .woocommerce ul.products li.product .price ins {
  text-decoration: none;
 }

 /* ── Sale Badge — matches bpg-sale-badge ──────────────────────────── */
 .woocommerce span.onsale,
 .woocommerce ul.products li.product .out-stock__badge {
  background: var(--bs-pc-sale-bg, #C41E3A) !important;
  color: var(--bs-pc-sale-color, #FFFFFF) !important;
  border-radius: 4px;
  padding: 3px 10px;
  min-width: auto;
  min-height: auto;
  line-height: 1.4;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
 }

 /* ── Category badge on single product page ──────────────────────── */
 .shop-single-section .thb-product-meta-before .product_meta > span {
  font-size: 15px;
  font-weight: 500;
  color: var(--bs-pc-title-color, #1B2A4A);
  display: block;
  margin-bottom: 12px;
 }

 .shop-single-section .thb-product-meta-before .product_meta > span > a,
 .shop-single-section .thb-product-meta-before .product_meta .posted_in a {
  color: var(--bs-pc-category-color, #1B2A4A);
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s ease;
 }

 .shop-single-section .thb-product-meta-before .product_meta .posted_in a:hover {
  color: var(--bs-accent-red);
 }

 /* "Category" label text badge — override WooCommerce purple default */
 .shop-single-section .thb-product-meta-before .product_meta > .posted_in > strong,
 .shop-single-section .thb-product-meta-before .product_meta > .posted_in > span:first-child {
  background: var(--bs-pc-category-bg, #1B2A4A);
  color: #FFFFFF;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
 }

 .woocommerce #respond input#submit,
 .woocommerce a.button,
 .woocommerce button.button,
 .woocommerce input.button,
 .woocommerce a.button.alt,
 .woocommerce button.button.alt,
 .woocommerce input.button.alt {
  border: 1px solid var(--bs-accent-red);
  border-radius: var(--bs-radius-pill);
  background: var(--bs-accent-red);
  color: #FFFFFF;
  font-family: var(--bs-font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  padding: 12px 22px;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
 }

 .woocommerce #respond input#submit:hover,
 .woocommerce a.button:hover,
 .woocommerce button.button:hover,
 .woocommerce input.button:hover,
 .woocommerce a.button.alt:hover,
 .woocommerce button.button.alt:hover,
 .woocommerce input.button.alt:hover {
  background: #A3182F;
  border-color: #A3182F;
  color: #FFFFFF;
  transform: translateY(-1px);
 }

 .woocommerce .quantity .qty,
 .woocommerce-cart table.cart td.actions .coupon .input-text,
 .woocommerce form .form-row input.input-text,
 .woocommerce form .form-row textarea,
 .woocommerce form .form-row select,
 .woocommerce-account .woocommerce form .input-text,
 .select2-container--default .select2-selection--single {
  min-height: 48px;
  border: 1px solid var(--bs-border-strong);
  border-radius: var(--bs-radius-md);
  background: #FFFFFF;
  color: var(--bs-heading-color);
  font-family: var(--bs-font-body);
  font-size: 14px;
  padding: 10px 14px;
  box-shadow: none;
 }

 .woocommerce form .form-row textarea {
  min-height: 130px;
 }

 .woocommerce form .form-row input.input-text:focus,
 .woocommerce form .form-row textarea:focus,
 .woocommerce form .form-row select:focus,
 .woocommerce-cart table.cart td.actions .coupon .input-text:focus,
 .woocommerce .quantity .qty:focus,
 .woocommerce-account .woocommerce form .input-text:focus {
  border-color: var(--bs-accent-red);
  outline: none;
 }

 .woocommerce-info,
 .woocommerce-message,
 .woocommerce-error {
  border: 1px solid var(--bs-border-soft);
  border-left: 4px solid var(--bs-accent-red);
  border-radius: var(--bs-radius-md);
  background: #FFFFFF;
  color: var(--bs-heading-color);
  box-shadow: var(--bs-shadow-soft);
 }

 .woocommerce-message::before,
 .woocommerce-info::before,
 .woocommerce-error::before {
  color: var(--bs-accent-red);
 }

 .woocommerce div.product div.summary,
 .woocommerce-tabs.wc-tabs-wrapper,
 .woocommerce #reviews,
 .woocommerce-cart .cart-collaterals .cart_totals,
 .woocommerce-checkout #customer_details,
 .woocommerce-checkout #order_review,
 .woocommerce-account .woocommerce-MyAccount-content {
  background: var(--bs-surface);
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  box-shadow: var(--bs-shadow-soft);
  padding: 24px;
 }

 .woocommerce div.product .product_title {
  font-size: 32px;
  line-height: 1.2;
  margin-bottom: 12px;
 }

 .woocommerce div.product .woocommerce-product-details__short-description,
 .woocommerce-product-details__short-description p {
  color: var(--bs-body-color);
  font-size: 15px;
  line-height: 1.7;
 }

 .woocommerce div.product form.cart {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
 }

 /* Single product Add to Cart button */
 .woocommerce div.product form.cart .single_add_to_cart_button {
  background: var(--bs-accent-red);
  border: 1px solid var(--bs-accent-red);
  color: #FFFFFF;
  border-radius: var(--bs-radius-pill);
  font-family: var(--bs-font-body);
  font-weight: 600;
  font-size: 15px;
  padding: 12px 30px;
  transition: background 0.2s ease, transform 0.15s ease;
 }

 .woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: #A3182F;
  border-color: #A3182F;
  transform: translateY(-1px);
 }

 /* Product meta (category, tags, SKU) */
 .woocommerce div.product .product_meta {
  font-size: 14px;
  color: var(--bs-body-color);
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--bs-border-soft);
 }

 .woocommerce div.product .product_meta a {
  color: var(--bs-accent-red);
 }

 /* Stock status */
 .woocommerce div.product .stock {
  font-weight: 600;
  font-size: 14px;
 }

 .woocommerce div.product .stock.in-stock {
  color: #28a745;
 }

 /* Related products */
 .woocommerce .related.products > h2,
 .woocommerce .upsells.products > h2 {
  font-size: 22px;
  font-family: var(--bs-font-heading);
  color: var(--bs-heading-color);
  margin-bottom: 20px;
 }

 /* Product image gallery */
 .woocommerce div.product div.images {
  border-radius: var(--bs-radius-md);
  overflow: hidden;
 }

 .woocommerce div.product div.images .woocommerce-product-gallery__image img {
  border-radius: var(--bs-radius-md);
 }

 .woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0 0 24px;
  border: 0;
 }

 .woocommerce div.product .woocommerce-tabs ul.tabs::before,
 .woocommerce div.product .woocommerce-tabs ul.tabs::after,
 .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
 .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
 }

 .woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: 0;
  background: transparent;
  margin: 0;
  padding: 0;
 }

 .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid var(--bs-border-soft);
  background: #FFFFFF;
  color: var(--bs-heading-color);
  font-size: 14px;
  font-weight: 600;
 }

 .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
 .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  background: var(--bs-accent-yellow);
  border-color: var(--bs-accent-yellow);
 }

 .woocommerce table.shop_table {
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  overflow: hidden;
 }

 .woocommerce table.shop_table th,
 .woocommerce table.shop_table td {
  padding: 16px;
  border-color: var(--bs-border-soft);
 }

 .woocommerce table.shop_table th {
  color: var(--bs-heading-color);
  font-family: var(--bs-font-heading);
  font-size: 14px;
  font-weight: 700;
  background: var(--bs-surface-muted);
 }

 /* ── My Account Page ─────────────────────────────────────────────────── */

 /* Page wrapper layout */
 body .woocommerce-account .woocommerce-MyAccount-navigation {
  background: #FFFFFF;
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
 }

 body .woocommerce-account .woocommerce-MyAccount-navigation ul {
  padding: 0;
  margin: 0;
  list-style: none;
 }

 body .woocommerce-account .woocommerce-MyAccount-navigation ul li {
  display: block;
  margin-bottom: 6px;
  border: none;
  border-radius: var(--bs-radius-md);
  background: transparent;
  overflow: hidden;
  padding: 0;
  transition: background 0.2s ease;
 }

 /* Kill the old green left-border bar from woocommerce.css */
 body .woocommerce-account .woocommerce-MyAccount-navigation ul li::before {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
 }

 body .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 16px;
  color: var(--bs-heading-color);
  font-family: var(--bs-font-body);
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
  border-radius: var(--bs-radius-md);
  transition: background 0.2s ease, color 0.2s ease;
 }

 body .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--bs-surface-muted);
  color: var(--bs-accent-red);
 }

 body .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--bs-accent-red);
  color: #FFFFFF;
  font-weight: 600;
 }

 /* Content area */
 body .woocommerce-account .woocommerce-MyAccount-content {
  background: #FFFFFF;
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  padding: 30px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
  font-family: var(--bs-font-body);
  font-size: 15px;
  color: var(--bs-body-color);
 }

 body .woocommerce-account .woocommerce-MyAccount-content p {
  font-family: var(--bs-font-body);
  color: var(--bs-body-color);
 }

 body .woocommerce-account .woocommerce-MyAccount-content a {
  color: var(--bs-accent-red);
 }

 body .woocommerce-account .woocommerce-MyAccount-content a:hover {
  color: #a31830;
 }

 /* My Account tables (orders, downloads) */
 body .woocommerce-account table.woocommerce-orders-table,
 body .woocommerce-account table.shop_table {
  border-collapse: collapse;
  width: 100%;
  font-family: var(--bs-font-body);
 }

 body .woocommerce-account table.shop_table th {
  font-family: var(--bs-font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--bs-heading-color);
  background: var(--bs-surface-muted);
  padding: 12px 16px;
  border-bottom: 2px solid var(--bs-border-soft);
 }

 body .woocommerce-account table.shop_table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--bs-border-soft);
  font-size: 14px;
  color: var(--bs-body-color);
  vertical-align: middle;
 }

 /* My Account action buttons (View Order, etc.) */
 body .woocommerce-account table.shop_table .woocommerce-button,
 body .woocommerce-account table.shop_table .button {
  background: var(--bs-accent-red);
  color: #FFFFFF;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-family: var(--bs-font-body);
  font-size: 13px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  transition: background 0.2s ease;
 }

 body .woocommerce-account table.shop_table .woocommerce-button:hover,
 body .woocommerce-account table.shop_table .button:hover {
  background: #a31830;
  color: #FFFFFF;
 }

 /* Address cards on My Account */
 body .woocommerce-account .woocommerce-Addresses .woocommerce-Address {
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  padding: 20px;
  background: var(--bs-surface-muted);
 }

 body .woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h3 {
  font-family: var(--bs-font-heading);
  font-size: 16px;
  font-weight: 700;
  color: var(--bs-heading-color);
  margin-bottom: 12px;
 }

 body .woocommerce-account .woocommerce-Addresses .woocommerce-Address-title a {
  font-size: 13px;
  font-weight: 600;
 }

 /* ── Login / Register Forms ─────────────────────────────────────────── */

 /* Override old sharp-corner forms from main.css */
 body .woocommerce form.login,
 body .woocommerce form.register {
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  padding: 30px;
  background: #FFFFFF;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
 }

 /* Form titles */
 body .woocommerce .account__title,
 body .woocommerce-account h2,
 body #customer_login h2 {
  font-family: var(--bs-font-heading);
  font-size: 22px;
  font-weight: 700;
  color: var(--bs-heading-color);
  margin-bottom: 20px;
 }

 /* Form labels */
 body .woocommerce form.login label,
 body .woocommerce form.register label,
 body .woocommerce .account__input-field label {
  font-family: var(--bs-font-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--bs-heading-color);
  margin-bottom: 8px;
 }

 /* Form inputs */
 body .woocommerce form.login input[type="text"],
 body .woocommerce form.login input[type="password"],
 body .woocommerce form.login input[type="email"],
 body .woocommerce form.register input[type="text"],
 body .woocommerce form.register input[type="password"],
 body .woocommerce form.register input[type="email"],
 body .woocommerce .account__input-field input {
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  padding: 12px 16px;
  font-family: var(--bs-font-body);
  font-size: 14px;
  color: var(--bs-heading-color);
  background: #FFFFFF;
  width: 100%;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
 }

 body .woocommerce form.login input:focus,
 body .woocommerce form.register input:focus,
 body .woocommerce .account__input-field input:focus {
  border-color: var(--bs-accent-red);
  outline: none;
  box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.1);
 }

 /* Login/Register submit buttons — override main.css uppercase/letter-spacing */
 body .woocommerce form.login input[type="submit"],
 body .woocommerce form.register input[type="submit"],
 body .woocommerce form.login button[type="submit"],
 body .woocommerce form.register button[type="submit"],
 body .woocommerce-account .account__btn .thm-btn {
  background: var(--bs-accent-red);
  color: #FFFFFF;
  border: none;
  border-radius: 6px;
  padding: 13px 28px;
  font-family: var(--bs-font-body);
  font-size: 15px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease;
 }

 body .woocommerce form.login input[type="submit"]:hover,
 body .woocommerce form.register input[type="submit"]:hover,
 body .woocommerce form.login button[type="submit"]:hover,
 body .woocommerce form.register button[type="submit"]:hover,
 body .woocommerce-account .account__btn .thm-btn:hover {
  background: #a31830;
  transform: translateY(-1px);
 }

 /* Fix the double-span button text color */
 body .woocommerce-account .account__btn .thm-btn span,
 body .woocommerce-account .account__btn .thm-btn .btn-wrap span {
  color: #FFFFFF;
 }

 /* Remember me checkbox area */
 body .woocommerce form.login .woocommerce-form__label-for-checkbox {
  font-family: var(--bs-font-body);
  font-size: 14px;
  color: var(--bs-body-color);
 }

 /* Lost password link */
 body .woocommerce form.login .woocommerce-LostPassword a,
 body .woocommerce form.login .lost_password a {
  color: var(--bs-accent-red);
  font-size: 13px;
  font-weight: 500;
 }

 body .woocommerce form.login .woocommerce-LostPassword a:hover,
 body .woocommerce form.login .lost_password a:hover {
  color: #a31830;
 }

 /* Edit Account form */
 body .woocommerce-account .woocommerce-EditAccountForm fieldset {
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  padding: 20px;
  margin-bottom: 20px;
 }

 body .woocommerce-account .woocommerce-EditAccountForm fieldset legend {
  font-family: var(--bs-font-heading);
  font-size: 16px;
  font-weight: 700;
  color: var(--bs-heading-color);
  padding: 0 8px;
 }

 body .woocommerce-account .woocommerce-EditAccountForm input[type="text"],
 body .woocommerce-account .woocommerce-EditAccountForm input[type="email"],
 body .woocommerce-account .woocommerce-EditAccountForm input[type="password"] {
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  padding: 12px 16px;
  font-family: var(--bs-font-body);
  font-size: 14px;
  width: 100%;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
 }

 body .woocommerce-account .woocommerce-EditAccountForm input:focus {
  border-color: var(--bs-accent-red);
  outline: none;
  box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.1);
 }

 body .woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button {
  background: var(--bs-accent-red);
  color: #FFFFFF;
  border: none;
  border-radius: 6px;
  padding: 13px 28px;
  font-family: var(--bs-font-body);
  font-size: 15px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  transition: background 0.2s ease;
 }

 body .woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button:hover {
  background: #a31830;
 }

 .woocommerce-checkout #payment {
  border-radius: var(--bs-radius-md);
  background: var(--bs-surface-muted);
 }

 .woocommerce-checkout #payment div.payment_box {
  background: #FFFFFF;
  border-radius: var(--bs-radius-md);
 }

 .woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #FFFFFF;
 }

 /* ── Product Carousel Clean Styling ───────────────────────────────────── */
 .gr-condiments-section {
  padding: 30px 0 40px;
 }

 /* Remove the green circle behind images */
 .gr-condiments-item-area .gr-condiments-img:before {
  display: none !important;
 }

 .gr-condiments-item-area:before {
  display: none !important;
 }

 .gr-condiments-item-area {
  max-width: none;
  background: transparent;
  border: none;
  box-shadow: none;
 }

 .gr-condiments-item-area .gr-condiments-img {
  padding-top: 0;
  margin-bottom: 10px;
 }

 .gr-condiments-item-area .gr-condiments-img .inner-img {
  background: #FFFFFF;
  border-radius: 8px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
 }

 .gr-condiments-item-area .gr-condiments-img .inner-img img {
  max-height: 200px;
  width: auto;
  object-fit: contain;
 }

 /* Product title */
 .gr-condiments-item-area .gr-condiments-text h3 {
  font-size: 14px;
  font-weight: 600;
  font-family: var(--bs-font-body);
  color: var(--bs-heading-color);
  padding-bottom: 4px;
 }

 .gr-condiments-item-area .gr-condiments-text h3 a {
  color: var(--bs-heading-color);
 }

 /* Price always visible */
 .gr-condiments-item-area .gr-condiments-text .gr-condiments-price {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
 }

 .gr-condiments-item-area .gr-condiments-text .gr-condiments-price .price,
 .gr-condiments-item-area .gr-condiments-text .gr-condiments-price .woocommerce-Price-amount {
  color: var(--bs-accent-red);
  font-weight: 700;
  font-size: 15px;
 }

 .gr-condiments-item-area .gr-condiments-text .gr-condiments-price h4 {
  font-size: 15px;
  padding-bottom: 8px;
 }

 /* Add to cart button always visible, clean style */
 .gr-condiments-item-area .gr-condiments-btn-grp {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  margin-top: 8px;
 }

 .gr-condiments-item-area .gr-condiments-btn-grp .product_btn_grp a,
 .gr-condiments-item-area .gr-condiments-btn-grp .product_btn_grp .woosw-btn {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  width: auto;
  height: auto;
  border-radius: var(--bs-radius-pill);
  background: var(--bs-accent-red);
  color: #FFFFFF;
  font-size: 13px;
  padding: 8px 18px;
 }

 .gr-condiments-item-area .gr-condiments-btn-grp .product_btn_grp a:hover {
  background: #A3182F;
 }

 /* Disable hover animations */
 .gr-condiments-item-area:hover .gr-condiments-text .gr-condiments-price {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
 }

 .gr-condiments-item-area:hover .gr-condiments-btn-grp .product_btn_grp a {
  transform: none !important;
 }

 .gr-condiments-item-area:hover .gr-condiments-img:before {
  display: none !important;
 }

 /* Navigation arrows */
 .gr-condiments-content .carousel_nav {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 20px;
 }

 .gr-condiments-content .carousel_nav button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--bs-border-soft);
  background: #FFFFFF;
  color: var(--bs-heading-color);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
 }

 .gr-condiments-content .carousel_nav button:hover {
  background: var(--bs-accent-red);
  border-color: var(--bs-accent-red);
  color: #FFFFFF;
 }

 /* Remove decorative shapes */
 .gr-condiments-section .leaf-shape-area {
  display: none;
 }

 /* ── Shop / Category Archive ─────────────────────────────────────────── */

 /* Grid container */
 .shop-section .products,
 .shop-area .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  float: none !important;
  flex-wrap: unset !important;
  list-style: none !important;
 }
 .shop-section .products::before,
 .shop-section .products::after,
 .shop-area .products::before,
 .shop-area .products::after {
  display: none !important;
  content: none !important;
 }

 /* Three-column layout */
 body .shop-section .products.three-column,
 body .shop-area .products.three-column {
  grid-template-columns: repeat(3, 1fr) !important;
 }

 /* Product card — matches bpg-card */
 body .shop-section .products > li,
 body .shop-area .products > li,
 body .shop-section .products > li.product,
 body .shop-area .products > li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  max-width: 100%;
  padding: 16px;
  border: 1px solid var(--bs-pc-card-border, #E7ECF2);
  border-radius: var(--bs-pc-card-radius, 12px);
  background: var(--bs-pc-card-bg, #FFFFFF);
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.25s ease;
 }
 body .shop-section .products > li:hover,
 body .shop-area .products > li:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0,0,0,.08);
  border-color: var(--bs-border-strong, #D8E0EA);
 }

 /* Product image holder — matches bpg-image */
 body .shop-area .product-holder,
 body .shop-section .product-holder {
  position: relative;
  width: 100%;
  height: 180px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 8px;
  background: var(--bs-surface-muted, #FAFAFA);
  padding: 12px;
 }

 /* Product-holder image — centered, contained */
 body .shop-area .product-holder img,
 body .shop-section .product-holder img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 0;
  margin: 0 auto;
 }

 /* Product link overlay — absolute so it doesn't take layout space */
 body .shop-area .product-holder > a.product__link,
 body .shop-section .product-holder > a.product__link,
 body .shop-area .product-holder > a:empty {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 2;
  padding: 0;
  margin: 0;
 }

 /* Action wrap (+) button */
 body .shop-area .product-holder .product__action-wrap,
 body .shop-section .product-holder .product__action-wrap {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
 }

 body .shop-area .product-holder .product__action-wrap .plus-icon,
 body .shop-section .product-holder .product__action-wrap .plus-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-pc-action-bg, #FFFFFF);
  border: 1px solid var(--bs-pc-card-border, #E7ECF2);
  border-radius: 50%;
  color: var(--bs-pc-action-color, #1B2A4A);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
 }

 body .shop-area .product-holder .product__action-wrap .plus-icon:hover,
 body .shop-section .product-holder .product__action-wrap .plus-icon:hover {
  background: var(--bs-pc-cart-bg, #C41E3A);
  color: var(--bs-pc-cart-color, #FFFFFF);
  border-color: var(--bs-pc-cart-bg, #C41E3A);
 }

 /* Action icons (quick view, wishlist, compare) — matches bpg style */
 body .shop-area .product__action2 li a,
 body .shop-section .product__action2 li a {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-pc-action-bg, #FFFFFF);
  border: 1px solid var(--bs-pc-card-border, #E7ECF2);
  border-radius: 50%;
  color: var(--bs-pc-action-color, #1B2A4A);
  font-size: 14px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
 }
 body .shop-area .product__action2 li a:hover,
 body .shop-section .product__action2 li a:hover {
  background: var(--bs-pc-cart-bg, #C41E3A);
  color: var(--bs-pc-cart-color, #FFFFFF);
  border-color: var(--bs-pc-cart-bg, #C41E3A);
 }

 /* Product info section */
 body .shop-area .product-info,
 body .shop-section .product-info,
 body .shop-area li.product .product-info,
 body .shop-section li.product .product-info {
  padding: 4px 2px 0;
  text-align: left;
  position: relative;
 }

 /* Hide empty rating */
 body .shop-area .product-info .product__review:empty,
 body .shop-section .product-info .product__review:empty {
  display: none;
 }

 /* Product title — matches bpg-title */
 body .shop-area .product-info h2.product__title,
 body .shop-section .product-info h2.product__title,
 body .shop-area .product-info .product__title,
 body .shop-section .product-info .product__title,
 body .shop-section .products > li h2,
 body .shop-section .products > li h3 {
  font-size: 14px;
  font-weight: 500;
  font-family: var(--bs-font-body);
  line-height: 1.4;
  color: var(--bs-pc-title-color, #1B2A4A);
  margin: 0 0 6px;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
  text-overflow: unset;
  overflow: visible;
 }
 body .shop-area .product-info .product__title a,
 body .shop-section .product-info .product__title a,
 body .shop-section .products > li h2 a {
  color: var(--bs-pc-title-color, #1B2A4A);
  text-decoration: none;
  transition: color 0.2s ease;
 }
 body .shop-area .product-info .product__title a:hover,
 body .shop-section .products > li h2 a:hover {
  color: var(--bs-accent-red);
 }

 /* Product price — matches bpg-price */
 body .shop-area .product-info h4.product__price,
 body .shop-section .product-info h4.product__price,
 body .shop-area .product-info .price,
 body .shop-section .product-info .price,
 body .shop-section .products > li .price {
  color: var(--bs-pc-price-color, #1B2A4A);
  font-weight: 700;
  font-size: 15px;
  font-family: var(--bs-font-body);
  line-height: 1.3;
  margin: 0;
 }
 body .shop-area .product-info .price span,
 body .shop-section .product-info .price span,
 body .shop-area .product-info .woocommerce-Price-amount,
 body .shop-section .product-info .woocommerce-Price-amount {
  color: var(--bs-pc-price-color, #1B2A4A);
  font-weight: 700;
 }
 body .shop-area .product-info del,
 body .shop-section .product-info del {
  color: #999;
  font-weight: 400;
  font-size: 13px;
 }
 body .shop-area .product-info del span,
 body .shop-section .product-info del span {
  color: #999;
 }
 body .shop-area .product-info ins,
 body .shop-section .product-info ins {
  text-decoration: none;
 }

 /* Add to cart — circle button matching bpg-cart-btn */
 body .shop-area li.product .product-info .groser-add-to-cart,
 body .shop-section li.product .product-info .groser-add-to-cart,
 body .shop-area li.product .add_to_cart_button,
 body .shop-section li.product .add_to_cart_button {
  position: absolute;
  bottom: 2px;
  right: 0;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-pc-cart-bg, #C41E3A);
  color: var(--bs-pc-cart-color, #FFFFFF) !important;
  border-radius: 50%;
  border: none;
  font-size: 0;
  padding: 0;
  cursor: pointer;
  z-index: 3;
  transition: background 0.2s ease, transform 0.2s ease;
  line-height: 1;
 }
 body .shop-area li.product .product-info .groser-add-to-cart i,
 body .shop-section li.product .product-info .groser-add-to-cart i,
 body .shop-area li.product .add_to_cart_button i,
 body .shop-section li.product .add_to_cart_button i {
  color: var(--bs-pc-cart-color, #FFFFFF) !important;
  font-size: 14px;
 }
 body .shop-area li.product .add_to_cart_button::before,
 body .shop-section li.product .add_to_cart_button::before {
  content: "\f07a";
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", FontAwesome;
  font-weight: 900;
  font-size: 14px;
  color: var(--bs-pc-cart-color, #FFFFFF) !important;
 }
 body .shop-area li.product .add_to_cart_button:hover,
 body .shop-section li.product .add_to_cart_button:hover,
 body .shop-area li.product .groser-add-to-cart:hover,
 body .shop-section li.product .groser-add-to-cart:hover {
  background: var(--bs-pc-cart-hover, #a31830);
  transform: scale(1.1);
 }

 /* Ensure cart icon inside action-cart is always white */
 body .shop-area li.product .action-cart i,
 body .shop-section li.product .action-cart i,
 body .shop-area li.product .action-cart .fas,
 body .shop-section li.product .action-cart .fas {
  color: var(--bs-pc-cart-color, #FFFFFF) !important;
 }

 /* Safety: hide any duplicate image outside product-holder */
 body .shop-area li.product > .attachment-woocommerce_thumbnail,
 body .shop-section li.product > .attachment-woocommerce_thumbnail,
 body .shop-area li.product > a > img,
 body .shop-section li.product > a > img {
  display: none;
 }

 /* Hide excerpt on archive cards */
 body .shop-area li.product .product-info .woocommerce-product-details__short-description,
 body .shop-section li.product .product-info .woocommerce-product-details__short-description {
  display: none;
 }

 /* Sidebar styling */
 body .shop-section .shop-sidebar .widget-title,
 body .shop-section .shop-sidebar h2 {
  font-size: 16px;
  font-family: var(--bs-font-heading);
  color: var(--bs-heading-color);
  margin-bottom: 14px;
 }
 body .shop-section .shop-sidebar ul li a {
  color: var(--bs-body-color);
  font-size: 14px;
  font-family: var(--bs-font-body);
 }
 body .shop-section .shop-sidebar ul li a:hover {
  color: var(--bs-accent-red);
 }

 /* ── Checkout Page — Bakeshed Rwanda ────────────────────────────────── */

 /* Hide country field (locked to Rwanda via PHP) */
 .bakeshed-hidden-field {
  display: none !important;
 }

 /* Two-column grid layout */
 .bakeshed-checkout {
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 15px 60px;
 }

 .bakeshed-checkout__grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 30px;
  align-items: start;
 }

 /* Card containers */
 .bakeshed-checkout__card {
  background: #FFFFFF;
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  padding: 28px;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
 }

 .bakeshed-checkout__card--sticky {
  position: sticky;
  top: 100px;
 }

 /* Step numbers + card titles */
 .bakeshed-checkout__card-title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--bs-font-heading);
  font-size: 18px;
  font-weight: 700;
  color: var(--bs-heading-color);
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--bs-border-soft);
 }

 .bakeshed-checkout__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--bs-accent-red);
  color: #FFFFFF;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
 }

 /* Override default WooCommerce checkout heading styles */
 body .bakeshed-checkout h3#order_review_heading {
  font-family: var(--bs-font-heading);
  font-size: 18px;
  color: var(--bs-heading-color);
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--bs-border-soft);
 }

 /* Form fields inside checkout */
 body .bakeshed-checkout .woocommerce-billing-fields__field-wrapper,
 body .bakeshed-checkout .woocommerce-shipping-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
 }

 body .bakeshed-checkout .form-row {
  margin: 0;
  padding: 0;
 }

 body .bakeshed-checkout .form-row-wide {
  flex: 0 0 100%;
 }

 body .bakeshed-checkout .form-row-first,
 body .bakeshed-checkout .form-row-last {
  flex: 1 1 calc(50% - 8px);
  min-width: 0;
 }

 body .bakeshed-checkout .form-row label {
  font-family: var(--bs-font-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--bs-heading-color);
  margin-bottom: 6px;
  display: block;
 }

 body .bakeshed-checkout .form-row label .optional {
  font-weight: 400;
  color: var(--bs-body-color);
  font-size: 12px;
 }

 body .bakeshed-checkout .form-row input.input-text,
 body .bakeshed-checkout .form-row textarea,
 body .bakeshed-checkout .form-row select,
 body .bakeshed-checkout .form-row .select2-container .select2-selection {
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  padding: 12px 16px;
  font-family: var(--bs-font-body);
  font-size: 14px;
  color: var(--bs-heading-color);
  background: #FFFFFF;
  width: 100%;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
 }

 body .bakeshed-checkout .form-row input.input-text:focus,
 body .bakeshed-checkout .form-row textarea:focus {
  border-color: var(--bs-accent-red);
  outline: none;
  box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.1);
 }

 body .bakeshed-checkout .form-row textarea {
  min-height: 80px;
  resize: vertical;
 }

 /* Order notes section */
 body .bakeshed-checkout .woocommerce-additional-fields h3 {
  font-family: var(--bs-font-heading);
  font-size: 15px;
  font-weight: 600;
  color: var(--bs-heading-color);
  margin: 8px 0 12px;
 }

 /* Order review table */
 body .bakeshed-checkout .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--bs-font-body);
  margin-bottom: 20px;
 }

 body .bakeshed-checkout .woocommerce-checkout-review-order-table th {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--bs-body-color);
  padding: 10px 0;
  border-bottom: 2px solid var(--bs-border-soft);
 }

 body .bakeshed-checkout .woocommerce-checkout-review-order-table td {
  padding: 12px 0;
  font-size: 14px;
  color: var(--bs-heading-color);
  border-bottom: 1px solid var(--bs-border-soft);
 }

 body .bakeshed-checkout .woocommerce-checkout-review-order-table .product-name {
  font-weight: 500;
 }

 body .bakeshed-checkout .woocommerce-checkout-review-order-table .product-quantity {
  color: var(--bs-body-color);
  font-weight: 400;
 }

 body .bakeshed-checkout .woocommerce-checkout-review-order-table .order-total th,
 body .bakeshed-checkout .woocommerce-checkout-review-order-table .order-total td {
  font-size: 16px;
  font-weight: 700;
  color: var(--bs-heading-color);
  border-bottom: none;
  padding-top: 16px;
 }

 body .bakeshed-checkout .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
  color: var(--bs-accent-red);
  font-size: 18px;
 }

 /* Payment methods */
 body .bakeshed-checkout #payment {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
 }

 body .bakeshed-checkout #payment ul.payment_methods {
  padding: 0;
  margin: 0 0 20px;
  border: none;
 }

 body .bakeshed-checkout #payment ul.payment_methods li {
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  margin-bottom: 8px;
  padding: 14px 16px;
  background: var(--bs-surface-muted);
  transition: border-color 0.2s ease;
 }

 body .bakeshed-checkout #payment ul.payment_methods li:hover,
 body .bakeshed-checkout #payment ul.payment_methods li.wc_payment_method input:checked ~ * {
  border-color: var(--bs-accent-red);
 }

 body .bakeshed-checkout #payment ul.payment_methods li label {
  font-family: var(--bs-font-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--bs-heading-color);
  cursor: pointer;
 }

 body .bakeshed-checkout #payment div.payment_box {
  background: #FFFFFF;
  border-radius: var(--bs-radius-md);
  padding: 12px 16px;
  margin-top: 10px;
  font-size: 13px;
  color: var(--bs-body-color);
 }

 body .bakeshed-checkout #payment div.payment_box::before {
  display: none;
 }

 /* Place order button */
 body .bakeshed-checkout #place_order {
  background: var(--bs-accent-red);
  color: #FFFFFF;
  border: none;
  border-radius: 8px;
  padding: 16px 30px;
  font-family: var(--bs-font-body);
  font-size: 16px;
  font-weight: 700;
  width: 100%;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease;
  text-transform: none;
  letter-spacing: 0;
 }

 body .bakeshed-checkout #place_order:hover {
  background: #a31830;
  transform: translateY(-1px);
 }

 /* Terms and conditions checkbox */
 body .bakeshed-checkout .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 16px;
  font-size: 13px;
  color: var(--bs-body-color);
 }

 body .bakeshed-checkout .woocommerce-terms-and-conditions-wrapper a {
  color: var(--bs-accent-red);
 }

 /* WooCommerce coupon on checkout */
 body .bakeshed-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: var(--bs-surface-muted);
  border: 1px solid var(--bs-border-soft);
  border-top: none;
  border-radius: var(--bs-radius-md);
  padding: 14px 20px;
  font-family: var(--bs-font-body);
  font-size: 14px;
 }

 body .bakeshed-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
  color: var(--bs-accent-red);
  font-weight: 600;
 }

 body .bakeshed-checkout .checkout_coupon {
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  padding: 20px;
  margin-bottom: 20px;
 }

 body .bakeshed-checkout .checkout_coupon input[type="text"] {
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  padding: 12px 16px;
  font-size: 14px;
 }

 body .bakeshed-checkout .checkout_coupon input[type="submit"] {
  background: var(--bs-accent-red);
  color: #FFFFFF;
  border: none;
  border-radius: 6px;
  padding: 12px 20px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
 }

 /* Login notice on checkout */
 body .bakeshed-checkout .woocommerce-form-login-toggle .woocommerce-info {
  background: var(--bs-surface-muted);
  border: 1px solid var(--bs-border-soft);
  border-top: none;
  border-radius: var(--bs-radius-md);
  padding: 14px 20px;
 }

 @media (max-width: 1024px) {
  .woocommerce div.product .product_title {
   font-size: 28px;
  }

  .woocommerce div.product div.summary,
  .woocommerce-tabs.wc-tabs-wrapper,
  .woocommerce #reviews,
  .woocommerce-cart .cart-collaterals .cart_totals,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-account .woocommerce-MyAccount-content {
   padding: 20px;
  }

  /* Checkout: stack to single column on tablet */
  .bakeshed-checkout__grid {
   grid-template-columns: 1fr;
  }

  .bakeshed-checkout__card--sticky {
   position: static;
  }
 }

 @media (max-width: 1400px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
   grid-template-columns: repeat(4, 1fr);
  }
  .shop-section .products,
  .shop-area .products {
   grid-template-columns: repeat(4, 1fr) !important;
  }
 }

 @media (max-width: 1199px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
   grid-template-columns: repeat(3, 1fr);
  }
  .shop-section .products,
  .shop-area .products {
   grid-template-columns: repeat(3, 1fr) !important;
  }
 }

 @media (max-width: 991px) {
  .shop-section .products,
  .shop-area .products,
  .shop-section .products.three-column,
  .shop-area .products.three-column {
   grid-template-columns: repeat(2, 1fr) !important;
   gap: 16px !important;
  }
 }

 @media (max-width: 767px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .shop-section .products,
  .shop-area .products {
   grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
   gap: 12px !important;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .shop-section .products > li,
  .shop-area .products > li {
   padding: 12px !important;
  }

  .woocommerce div.product .product_title {
   font-size: 24px;
  }

  .woocommerce div.product form.cart {
   align-items: stretch;
  }

  .woocommerce #respond input#submit,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button {
   width: 100%;
   justify-content: center;
  }

  .woocommerce-cart table.cart td.actions .coupon {
   display: grid;
   gap: 10px;
  }

  /* My Account mobile */
  .woocommerce-account .woocommerce-MyAccount-navigation {
   margin-bottom: 20px;
   padding: 16px;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
   padding: 20px;
  }

  body .woocommerce form.login,
  body .woocommerce form.register {
   padding: 20px;
   margin: 10px 0;
  }

  body .woocommerce-account .woocommerce-Addresses .woocommerce-Address {
   margin-bottom: 16px;
  }

  /* Checkout mobile */
  .bakeshed-checkout {
   padding: 15px 10px 40px;
  }

  .bakeshed-checkout__card {
   padding: 20px 16px;
  }

  .bakeshed-checkout .form-row-first,
  .bakeshed-checkout .form-row-last {
   flex: 0 0 100%;
  }

  body .bakeshed-checkout #place_order {
   padding: 14px 20px;
   font-size: 15px;
  }
 }

 @media (max-width: 480px) {
  .shop-section .products,
  .shop-area .products,
  .woocommerce ul.products {
   grid-template-columns: 1fr !important;
   gap: 12px !important;
  }
 }
