 /* ══════════════════════════════════════════════════════════════════════════
    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;
  }
 }

 /* ══════════════════════════════════════════════════════════════════════════
    FIX: Product Card — White Background (remove grey)
    ══════════════════════════════════════════════════════════════════════════ */
 .woocommerce ul.products li.product,
 .woocommerce-page ul.products li.product {
  background: #FFFFFF !important;
 }

 .shop-area .product-holder,
 .product-holder {
  background: #FFFFFF !important;
 }

 /* ══════════════════════════════════════════════════════════════════════════
    FIX: Product Card Action Icons — Proper Alignment
    ══════════════════════════════════════════════════════════════════════════ */
 .product-holder .product__action-wrap,
 .shop-area .product-holder .product__action-wrap {
  top: 10px;
  right: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 5;
 }

 .product-holder .product__action2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 0;
  padding: 0;
 }

 .product-holder .product__action2 li {
  margin: 0 !important;
 }

 .product-holder .product__action2 .button,
 .product-holder .product__action-wrap .woosw-btn,
 .product-holder .product__action-wrap .woosq-btn,
 .product-holder .product__action-wrap .woosc-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 1px solid var(--bs-border-soft);
  background: #FFFFFF;
  transition: all 0.2s ease;
 }

 .product-holder .product__action2 .button:hover,
 .product-holder .product__action-wrap .woosw-btn:hover,
 .product-holder .product__action-wrap .woosq-btn:hover,
 .product-holder .product__action-wrap .woosc-btn:hover {
  background: var(--bs-accent-red);
  color: #FFFFFF;
  border-color: var(--bs-accent-red);
 }

 .product-holder .product__action-wrap .plus-icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF !important;
  border: 1px solid var(--bs-border-soft);
  border-radius: 50%;
 }

 /* ══════════════════════════════════════════════════════════════════════════
    FIX: Single Product — Add to Cart Button White Text
    ══════════════════════════════════════════════════════════════════════════ */
 .woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button span {
  color: #FFFFFF !important;
 }

 /* ══════════════════════════════════════════════════════════════════════════
    FIX: Checkout — Hide Postal Code & Unnecessary Fields for Rwanda
    ══════════════════════════════════════════════════════════════════════════ */
 #billing_postcode_field,
 #shipping_postcode_field,
 #billing_company_field,
 #shipping_company_field,
 #billing_state_field,
 #shipping_state_field,
 #billing_address_2_field,
 #shipping_address_2_field {
  display: none !important;
 }

 /* Phone field emphasis — mobile money is primary in Rwanda */
 #billing_phone_field {
  background: var(--bs-surface-muted);
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  padding: 12px 16px;
 }

 #billing_phone_field label {
  font-weight: 700;
  color: var(--bs-heading-color);
 }

 /* ══════════════════════════════════════════════════════════════════════════
    UI: Breadcrumb Improvements
    ══════════════════════════════════════════════════════════════════════════ */
 .breadcrumb-area {
  padding: 16px 0;
  background: var(--bs-surface-muted);
  border-bottom: 1px solid var(--bs-border-soft);
 }

 .groser-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
 }

 .groser-breadcrumb li a {
  color: var(--bs-accent-red);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
 }

 .groser-breadcrumb li a:hover {
  color: #a31830;
  text-decoration: underline;
 }

 .groser-breadcrumb li:not(:last-child)::after {
  content: '\f105';
  font-family: 'Font Awesome 5 Pro', 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 10px;
  color: var(--bs-body-color);
  margin: 0 8px;
 }

 .groser-breadcrumb li:last-child,
 .groser-breadcrumb li:last-child span {
  color: var(--bs-heading-color);
  font-weight: 400;
 }

 /* ══════════════════════════════════════════════════════════════════════════
    UI: Product Image Zoom on Single Product
    ══════════════════════════════════════════════════════════════════════════ */
 .product-single-wrap {
  overflow: hidden;
  border-radius: var(--bs-radius-md);
 }

 .product-single-wrap:hover .woocommerce-product-gallery__image img {
  transform: scale(1.05);
 }

 .woocommerce div.product div.images .woocommerce-product-gallery__image img {
  transition: transform 0.3s ease;
 }

 .woocommerce div.product div.images .woocommerce-product-gallery__image a {
  cursor: zoom-in;
 }

 .woocommerce div.product div.images .flex-control-thumbs li img {
  border: 2px solid transparent;
  border-radius: 6px;
  transition: border-color 0.2s ease;
 }

 .woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
 .woocommerce div.product div.images .flex-control-thumbs li img:hover {
  border-color: var(--bs-accent-red);
 }

 /* ══════════════════════════════════════════════════════════════════════════
    UI: Stock Badges on Product Cards
    ══════════════════════════════════════════════════════════════════════════ */
 .bakeshed-stock-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  line-height: 1.4;
 }

 .bakeshed-stock-badge--in {
  background: #E8F5E9;
  color: #2E7D32;
 }

 .bakeshed-stock-badge--low {
  background: #FFF3E0;
  color: #E65100;
 }

 .bakeshed-stock-badge--out {
  background: #FFEBEE;
  color: #C62828;
 }

 .woocommerce ul.products li.product.outofstock .product-holder img {
  opacity: 0.5;
  filter: grayscale(40%);
 }

 /* ══════════════════════════════════════════════════════════════════════════
    UI: Sticky Add-to-Cart Bar (Mobile Single Product)
    ══════════════════════════════════════════════════════════════════════════ */
 .bakeshed-sticky-atc {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: #FFFFFF;
  border-top: 1px solid var(--bs-border-soft);
  box-shadow: 0 -4px 16px rgba(0,0,0,.1);
  padding: 10px 16px;
 }

 .bakeshed-sticky-atc__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  gap: 12px;
 }

 .bakeshed-sticky-atc__info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
 }

 .bakeshed-sticky-atc__title {
  font-size: 13px;
  font-weight: 600;
  color: var(--bs-heading-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
 }

 .bakeshed-sticky-atc__price {
  font-size: 15px;
  font-weight: 700;
  color: var(--bs-accent-red);
 }

 .bakeshed-sticky-atc__btn {
  background: var(--bs-accent-red);
  color: #FFFFFF !important;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.2s ease;
  flex-shrink: 0;
 }

 .bakeshed-sticky-atc__btn:hover {
  background: #a31830;
  color: #FFFFFF !important;
 }

 @media (min-width: 768px) {
  .bakeshed-sticky-atc {
   display: none !important;
  }
 }

 /* ══════════════════════════════════════════════════════════════════════════
    UI: WhatsApp Floating Button
    ══════════════════════════════════════════════════════════════════════════ */
 .bakeshed-whatsapp-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9998;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(37, 211, 102, 0.4);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
 }

 .bakeshed-whatsapp-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 24px rgba(37, 211, 102, 0.5);
 }

 @media (max-width: 767px) {
  .bakeshed-whatsapp-btn {
   bottom: 80px;
  }
 }

 /* ══════════════════════════════════════════════════════════════════════════
    UI: Empty Cart CTA
    ══════════════════════════════════════════════════════════════════════════ */
 .bakeshed-empty-cart {
  text-align: center;
  padding: 60px 20px;
  max-width: 480px;
  margin: 0 auto;
 }

 .bakeshed-empty-cart__icon {
  color: var(--bs-body-color);
  margin-bottom: 24px;
 }

 .bakeshed-empty-cart__title {
  font-size: 24px;
  font-weight: 700;
  color: var(--bs-heading-color);
  margin: 0 0 12px;
 }

 .bakeshed-empty-cart__text {
  font-size: 15px;
  color: var(--bs-body-color);
  line-height: 1.6;
  margin: 0 0 28px;
 }

 .bakeshed-empty-cart__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--bs-accent-red);
  color: #FFFFFF !important;
  border-radius: 8px;
  padding: 14px 28px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.15s ease;
 }

 .bakeshed-empty-cart__btn:hover {
  background: #a31830;
  color: #FFFFFF !important;
  transform: translateY(-1px);
 }

 /* ══════════════════════════════════════════════════════════════════════════
    Performance: Content containment & visibility
    ══════════════════════════════════════════════════════════════════════════ */
 .woocommerce ul.products li.product {
  contain: layout style;
 }

 .single-product-info,
 .related.products {
  content-visibility: auto;
  contain-intrinsic-size: auto 400px;
 }

 /* ══════════════════════════════════════════════════════════════════════════
    UI: Notification Bar
    ══════════════════════════════════════════════════════════════════════════ */
 .bakeshed-notif-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-accent-red);
  color: #FFFFFF;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  position: relative;
  z-index: 10000;
 }

 .bakeshed-notif-bar__inner {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
 }

 .bakeshed-notif-bar__link {
  color: inherit !important;
  text-decoration: underline;
  font-weight: 700;
 }

 .bakeshed-notif-bar__link:hover {
  opacity: 0.85;
 }

 .bakeshed-notif-bar__close {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: inherit;
  font-size: 20px;
  cursor: pointer;
  padding: 4px 8px;
  line-height: 1;
  opacity: 0.7;
  transition: opacity 0.2s ease;
 }

 .bakeshed-notif-bar__close:hover {
  opacity: 1;
 }

 @media (max-width: 767px) {
  .bakeshed-notif-bar {
   font-size: 12px;
   padding: 8px 40px 8px 16px;
  }
 }

 /* ══════════════════════════════════════════════════════════════════════════
    UI: Trust Badges (Single Product)
    ══════════════════════════════════════════════════════════════════════════ */
 .bakeshed-trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--bs-border-soft);
 }

 .bakeshed-trust-badges__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--bs-body-color);
 }

 .bakeshed-trust-badges__item i {
  color: var(--bs-accent-red);
  font-size: 16px;
  width: 20px;
  text-align: center;
  flex-shrink: 0;
 }

 @media (max-width: 767px) {
  .bakeshed-trust-badges {
   flex-direction: column;
   gap: 10px;
  }
 }

/* ══════════════════════════════════════════════════════════════════════════
   FIX: Archive Card — Product Action Buttons (Hover Icons)
   White bg with red icon; red bg with white icon on hover.
   ══════════════════════════════════════════════════════════════════════════ */
body .product__action-wrap .woosw-btn,
body .product__action-wrap .woosq-btn,
body .product__action-wrap .woosc-btn,
body .product__action-wrap .woosw-btn.woosw-added {
  background: #FFFFFF !important;
  color: var(--bs-accent-red) !important;
  border-color: var(--bs-border-soft) !important;
}

body .product__action-wrap .woosw-btn::before,
body .product__action-wrap .woosq-btn::before,
body .product__action-wrap .woosc-btn::before,
body .product__action-wrap .woosw-btn.woosw-added::before {
  color: var(--bs-accent-red) !important;
}

body .product__action-wrap .woosw-btn:hover,
body .product__action-wrap .woosq-btn:hover,
body .product__action-wrap .woosc-btn:hover,
body .product__action-wrap .woosw-btn.woosw-added:hover {
  background: var(--bs-accent-red) !important;
  color: #FFFFFF !important;
  border-color: var(--bs-accent-red) !important;
}

body .product__action-wrap .woosw-btn:hover::before,
body .product__action-wrap .woosq-btn:hover::before,
body .product__action-wrap .woosc-btn:hover::before,
body .product__action-wrap .woosw-btn.woosw-added:hover::before {
  color: #FFFFFF !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   FIX: Archive Card — Remove Green Background from Plus Icon
   ══════════════════════════════════════════════════════════════════════════ */
.shop-area .product .product__action-wrap .plus-icon {
  background: #FFFFFF !important;
  color: var(--bs-accent-red) !important;
  border: 1px solid var(--bs-border-soft);
}

.shop-area .product .product__action-wrap .plus-icon:hover {
  background: var(--bs-accent-red) !important;
  color: #FFFFFF !important;
  border-color: var(--bs-accent-red) !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   Performance: Prevent layout shift from scrollbars
   ══════════════════════════════════════════════════════════════════════════ */
html {
  scrollbar-gutter: stable;
}

/* ══════════════════════════════════════════════════════════════════════════
   Performance: Reduce motion for accessibility
   ══════════════════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   Plugin: Groser Bakeshed Tools — Styles
   ══════════════════════════════════════════════════════════════════════════ */

/* WhatsApp Button (moved from inline) */
.bakeshed-whatsapp {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99998;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
  transition: transform .2s ease, box-shadow .2s ease;
  text-decoration: none;
}

.bakeshed-whatsapp--left {
  right: auto;
  left: 20px;
}

.bakeshed-whatsapp:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .25);
}

.bakeshed-whatsapp svg {
  width: 28px;
  height: 28px;
  fill: #fff;
}

@media (max-width: 767px) {
  .bakeshed-whatsapp {
    width: 48px;
    height: 48px;
    bottom: 15px;
    right: 15px;
  }
  .bakeshed-whatsapp--left {
    right: auto;
    left: 15px;
  }
  .bakeshed-whatsapp svg {
    width: 24px;
    height: 24px;
  }
}

/* Delivery Notice */
.bakeshed-delivery-notice {
  background: #FFF8E1;
  border: 1px solid #F5C518;
  border-radius: 8px;
  padding: 14px 18px;
  margin-bottom: 20px;
  font-size: 14px;
  color: #333;
}

.bakeshed-delivery-notice__title {
  color: var(--bs-accent-red, #C41E3A);
  font-weight: 600;
}

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE FIXES: Mobile Improvements
   ══════════════════════════════════════════════════════════════════════════ */

/* Mobile: Always show product action buttons (no hover on touch devices) */
@media (max-width: 767px) {
  .product-holder .product__action-wrap {
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Larger touch targets for mobile */
  .product__action2 li a,
  .product__action2 li .button,
  .product__action-wrap .woosw-btn,
  .product__action-wrap .woosq-btn,
  .product__action-wrap .woosc-btn {
    width: 44px !important;
    height: 44px !important;
  }

  /* Better spacing for touch */
  .product__action2 {
    gap: 10px !important;
  }
}

/* Mobile: Search dropdown containment */
@media (max-width: 767px) {
  .bakeshed-header-search__dropdown,
  .bakeshed-search-results {
    max-width: calc(100vw - 30px) !important;
    width: 100% !important;
    left: 15px !important;
    right: 15px !important;
  }
}

/* Category Grid: Text overflow handling */
.category-grid-item__title,
.category-grid-item__name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* Elementor widgets: Ensure proper containment */
.elementor-widget-bakeshed-product-grid,
.elementor-widget-bakeshed-category-grid {
  max-width: 100vw;
  overflow-x: hidden;
}

/* Tablet: Better spacing adjustments */
@media (max-width: 991px) {
  .shop-section .shop-sidebar {
    margin-bottom: 40px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 30px;
  }
}

/* Mobile: Footer widget alignment */
@media (max-width: 767px) {
  .footer-widget {
    margin-bottom: 30px;
  }

  .footer-widget:last-child {
    margin-bottom: 0;
  }
}

/* Ensure images are responsive */
.elementor img,
.woocommerce img,
.wp-post-image {
  max-width: 100%;
  height: auto;
}

/* Fix for Elementor column gaps on mobile */
@media (max-width: 767px) {
  .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
    padding: 10px;
  }
}
