/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.078
*/

/* ==========================================================================
   SELF-HOSTED FONTS — font-display: swap để hiển thị text ngay
   ========================================================================== */

/* Space Grotesk — Heading font (variable font, weights 400-700) */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../../fonts/space-grotesk/SpaceGrotesk-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../../fonts/space-grotesk/SpaceGrotesk-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ==========================================================================
   TABLE OF CONTENTS
   ==========================================================================
   0) ROOT VARIABLES (single block)
   A) BASE & A11Y
   B) TYPOGRAPHY & BODY
   C) WP BLOCKS (Gutenberg)
   D) FORM CONTROLS (Woo + CF7 + native)
   E) SELECT2
   F) BUTTONS
   G) PRODUCT SINGLE (summary, variations, WCPA)
   H) QUANTITY CONTROLS
   I) JRS CTA ROW
   J) PRICE & SALE BADGE
   K) JR PRICEWRAP (BMSM)
   L) JR UPSALE
   M) JR MODAL / LIGHTBOX
   N) CART / MINI-CART / CHECKOUT
   O) SHIPPING METHODS
   P) REVIEWS (WCPR)
   Q) CF7 INLINE NEWSLETTER
   R) CUSTOMIZE NAME & NUMBER
   S) VARIATION BUTTONS (Material/Size)
   T) MISC (wishlist, tags, 404, legacy)
   ========================================================================== */

/* ==========================================================================
   0) ROOT VARIABLES — SINGLE BLOCK
   ========================================================================== */
:root {
  /* ═══════════════════════════════════════════
     BASE VALUES — Chỉnh ở đây = thay đổi toàn site
     ═══════════════════════════════════════════ */

  /* ── 1. Core Colors ── */
  --jr-primary: #1e202c;
  --jr-accent: #60519b;
  --jr-white: #fff;
  --jr-body-color: #333333;
  --jr-muted: #a5a5a5;
  --jr-error: #D64545;
  --jr-select2-selected-bg: #F1F5F9;
  --jr-qty-hover-bg: #f8f8f8;
  --jr-qty-btn-bg: #f7f7f7;
  --jr-tip-text: #404040;

  /* ── 2. Base Radius & Height ── */
  --jr-radius: 5px;
  --jr-input-h: 50px;
  --jr-cart-qty-h: 30px;

  /* ── 3. Price ── */
  --price-color: #3A090C;
  --jr-price: #7B2B00;
  --price-old: #8a8a8a;
  --jr-price-highlight: #f44336;

  /* ── 4. Accents ── */
  --jr-purple-accent: #5b34e6;
  --jr-category: #e36d6d;
  --jr-info: #400ceb;
  --jr-selected-border: #2f7e5b;

  /* ── 5. Shadows ── */
  --jr-shadow: 0 1px 2px rgba(41, 16, 83, 0.05);
  --jr-shadow-focus: 0 0 0 3px rgba(89, 47, 151, 0.12), 0 2px 6px rgba(45, 16, 83, 0.1);
  --jr-shadow-strong: 0 6px 12px -3px rgba(59, 35, 92, 0.38);

  /* ── 6. Sale Badge ── */
  --badge-bg: #75020F;
  --badge-text: #FFFFFF;
  --badge-size: 46px;
  --badge-radius: 0px;
  --badge-offset: -8px;

  /* ── 7. Typography & Spacing ── */
  --heading-font: "Space Grotesk", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --jr-block-gap: 12px;
  --jr-label-gap: 10px;
  --jr-customize-gap: 0px;

  /* ═══════════════════════════════════════════
     DERIVED — Tự tính từ base, ít khi cần chỉnh
     ═══════════════════════════════════════════ */

  /* Flatsome fallback chain */
  --brand-primary: var(--fs-color-primary, var(--primary-color, var(--jr-primary)));
  --brand-secondary: var(--main-hnc-color, var(--secondary-color, var(--jr-accent)));

  /* Colors derived from base */
  --jr-ink: var(--jr-primary);
  --jr-bg: var(--jr-white);
  --jr-link-color: var(--jr-primary);
  --jr-dark-text: var(--jr-primary);
  --jr-heading-color: var(--fs-color-heading, var(--heading-color, var(--jr-primary)));
  --jr-wp-btn-bg: var(--jr-primary);
  --jr-tip-active-bg: var(--jr-body-color);
  --jr-price-red: var(--jr-price-highlight);
  --price-sale: var(--price-color);

  /* Borders derived from accent */
  --jr-border: color-mix(in srgb, var(--jr-accent) 47%, transparent);
  --jr-border-light: #e6e6e6;
  --jr-border-subtle: var(--jr-border-light);
  --jr-border-input: var(--jr-border-light);
  --jr-tip-border: #bfbfbf;

  /* Radius scale from --jr-radius */
  --jr-radius-md: calc(var(--jr-radius) * 2);     /* 10px */
  --jr-radius-lg: calc(var(--jr-radius) * 2.4);   /* 12px */
  --jr-radius-pill: 99px;
  --jr-radius-full: 999px;

  /* Heights derived from --jr-input-h */
  --jr-btn-h: var(--jr-input-h);                   /* = 50px */
  --jr-btn-h-mobile: calc(var(--jr-input-h) + 6px);/* = 56px */
  --jr-qty-line-h: calc(var(--jr-input-h) + 16px); /* = 66px */
  --jr-tag-h: var(--jr-cart-qty-h);                 /* = 30px */

  /* Misc */
  --jr-tag-bg: #ededed;
}

/* ==========================================================================
   A) BASE & A11Y
   ========================================================================== */

/* Force heading font — Flatsome inline CSS only sets body font, not heading font
   for self-hosted fonts. This ensures headings use Space Grotesk as defined in --heading-font */
h1, h2, h3, h4, h5, h6,
.heading-font {
  font-family: var(--heading-font) !important;
}
:where(input, textarea, select, button, a) {
  outline: none;
}

:where(input, textarea, select, button, a):focus-visible {
  border-color: var(--brand-secondary);
  box-shadow: var(--jr-shadow-focus);
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}

/* ==========================================================================
   B) TYPOGRAPHY & BODY
   ========================================================================== */
html,
body {
  color: var(--brand-primary) !important;
}

body {
  font-size: 18px;
  color: var(--jr-body-color);
}

a {
  color: var(--jr-link-color);
}

span.section-title-main {
  text-transform: capitalize;
}

.dark .section-title-normal span,
.dark .section-title-normal {
  border-color: rgba(255, 255, 255, .2);
  font-weight: normal;
}

.section-title-center span {
  font-weight: 500;
}

.section-title b {
  background: transparent;
}

.section-title-center span:after {
  content: "";
  display: table;
  clear: both;
  width: 100%;
  height: 20px;
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: bottom;
  padding-top: 0px;
}

.bestcheaptshirt_fontds {
  font-weight: 600;
}

.category.product-cat {
  font-weight: bold;
  color: var(--jr-category);
  font-style: italic;
}

.header .html.custom.html_topbar_left {
  font-size: 16px;
}

.banner-font-size {
  text-align: center;
  font-weight: 300;
  letter-spacing: 0.5px;
  font-size: 29px;
  line-height: 28px;
  margin-bottom: 12px;
  padding: 0 15px !important;
}

/* ==========================================================================
   C) WP BLOCKS (Gutenberg)
   ========================================================================== */
.wp-block-media-text {
  direction: ltr;
  display: grid;
  grid-template-columns: 50% 1fr;
  grid-template-rows: auto;
}

.wp-block-media-text .wp-block-media-text__content {
  direction: ltr;
  grid-column: 2;
  grid-row: 1;
  padding: 0 8%;
  word-break: break-word;
}

.wp-block-media-text .wp-block-media-text__media {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}

.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,
.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media,
.wp-block-media-text .wp-block-media-text__content,
.wp-block-media-text .wp-block-media-text__media {
  align-self: center;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media {
  height: 100%;
  min-height: 250px;
  background-size: cover;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media img {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.wp-block-button__link {
  color: var(--jr-white);
  background-color: var(--jr-wp-btn-bg);
  border-radius: var(--jr-radius);
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  font-size: 1.125em;
  padding: calc(0.667em + 2px) calc(1.333em + 2px);
  text-align: center;
  text-decoration: none;
  word-break: break-word;
  box-sizing: border-box;
}

.wp-block-button__link:active,
.wp-block-button__link:focus,
.wp-block-button__link:hover,
.wp-block-button__link:visited {
  color: var(--jr-white);
}

.has-cool-to-warm-spectrum-gradient-background {
  background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;
}

/* ==========================================================================
   D) FORM CONTROLS (Woo + CF7 + native)
   ========================================================================== */
:where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
  input[type="number"], input[type="search"], input[type="password"], textarea, select) {
  color: var(--brand-primary) !important;
  border: 1.5px solid var(--jr-border);
  width: 100%;
  box-sizing: border-box;
  border-radius: var(--jr-radius) !important;
  padding: 12px 14px;
  line-height: 1.2;
  height: var(--jr-input-h) !important;
  box-shadow: var(--jr-shadow);
  transition: border-color .18s ease, box-shadow .18s ease, transform .06s ease, filter .18s ease;
}

input[type="search"] {
  max-height: 40px;
}

textarea,
.wpcf7 form textarea {
  min-height: 140px;
  resize: vertical;
}

:where(input, textarea, select):hover {
  border-color: color-mix(in oklab, var(--brand-primary) 30%, #60519b42);
}

:where(input, textarea, select):focus,
:where(input, textarea, select):focus-visible {
  border-color: var(--brand-secondary) !important;
  box-shadow: var(--jr-shadow-focus) !important;
}

:where(input, textarea, select, search, email):active {
  border-color: var(--brand-secondary) !important;
  box-shadow: var(--jr-shadow-focus) !important;
  transform: translateY(1px);
  filter: brightness(.99);
}

:where(input, textarea, select) {
  box-shadow: none;
}

select {
  min-height: var(--jr-input-h) !important;
}

.woocommerce .input-text,
.woocommerce form .form-row .input-text {
  border-radius: var(--jr-radius) !important;
}

.wpcf7 form ::placeholder {
  color: rgba(96, 81, 155, 0.26); /* fallback for browsers without color-mix */
  color: color-mix(in srgb, var(--jr-accent) 26%, transparent);
}

.wpcf7 form .wpcf7-not-valid,
.wpcf7 form [aria-invalid="true"] {
  border-color: var(--jr-error) !important;
  box-shadow: 0 0 0 3px rgba(214, 69, 69, .15) !important;
}

button.toggle,
button.toggle:hover,
button.toggle:active,
button.toggle:focus {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent;
}

/* Border-radius for inputs in various contexts */
.form-flat input:not([type=submit]),
input#coupon_code,
.woocommerce-input-wrapper input,
.woocommerce-input-wrapper select,
.woocommerce-input-wrapper textarea,
.form-row .select2-container,
.select2-container .select2-selection,
.woocommerce-form input,
.form-flat input[type="email"],
.form-flat input[type="text"],
.form-flat textarea,
.form-flat .wpcf7-form-control {
  border-radius: 10px;
}

.woocommerce-form input {
  box-shadow: none;
}

.woocommerce-form input:focus {
  border-color: var(--main-hnc-color);
  box-shadow: var(--btn-shadow), 0 0 0 2px color-mix(in srgb, var(--main-hnc-color) 25%, transparent);
}

.wcpa_form_outer .wcpa_form_item input[type=date],
.wcpa_form_outer .wcpa_form_item input[type=datetime-local],
.wcpa_form_outer .wcpa_form_item input[type=email],
.wcpa_form_outer .wcpa_form_item input[type=file],
.wcpa_form_outer .wcpa_form_item input[type=number],
.wcpa_form_outer .wcpa_form_item input[type=password],
.wcpa_form_outer .wcpa_form_item input[type=tel],
.wcpa_form_outer .wcpa_form_item input[type=text],
.wcpa_form_outer .wcpa_form_item input[type=url],
.wcpa_form_outer .wcpa_form_item textarea {
  border-radius: 10px;
  margin-bottom: .5em;
}

.wcpa_form_outer .wcpa_form_item input:hover,
.wcpa_form_outer .wcpa_form_item select:hover {
  border-color: var(--main-hnc-color);
  box-shadow: var(--btn-shadow), 0 0 0 2px color-mix(in srgb, var(--main-hnc-color) 25%, transparent);
}

.product-summary .wcpa_form_outer .wcpa_form_item select {
  margin-bottom: .5em;
  border-radius: 5px;
  box-shadow: none;
}

/* ==========================================================================
   E) SELECT2
   ========================================================================== */
.select2-container .select2-selection--single {
  height: var(--jr-input-h) !important;
  border-radius: var(--jr-radius) !important;
  border: 1.5px solid var(--jr-border) !important;
  box-shadow: var(--jr-shadow);
}

.select2-container .select2-selection--single .select2-selection__rendered {
  line-height: calc(var(--jr-input-h) - 4px) !important;
  padding-left: 12px;
  padding-right: 34px;
  color: var(--brand-primary);
}

.select2-container .select2-selection--single .select2-selection__arrow {
  height: var(--jr-input-h) !important;
  right: 8px;
  width: 22px;
}

.select2-dropdown {
  border: 1.5px solid var(--jr-border);
  height: var(--jr-input-h) !important;
  border-radius: calc(var(--jr-radius) + 2px);
  box-shadow: 0 6px 18px rgba(32, 16, 83, 0.12);
}

.select2-results,
.select2-results__options,
.select2-results__option {
  background: var(--jr-white) !important;
}

.select2-results__option--highlighted[aria-selected] {
  background: var(--jr-accent) !important;
  color: var(--jr-white) !important;
}

.select2-results__option[aria-selected="true"] {
  background: var(--jr-select2-selected-bg) !important;
  color: var(--jr-primary) !important;
}

/* ==========================================================================
   F) BUTTONS
   ========================================================================== */
.button,
.button.primary,
input[type="submit"],
.wpcf7-submit {
  border-radius: var(--jr-radius-md) !important;
}

#commentform .form-submit #submit,
.wcpr-input-file-wrap .wcpr_image_upload_button.button {
  border-radius: var(--jr-radius) !important;
}

/* Checkout/place order buttons — full width */
.button#place_order,
.button.checkout,
.checkout-button {
  display: block;
  width: 100%;
  line-height: var(--jr-btn-h);
  border-radius: 3px;
  font-size: 1.1em;
  letter-spacing: 2px;
}

/* WooCommerce quantity border-radius */
form.cart .quantity,
.woocommerce div.product form.cart .quantity {
  border-radius: var(--jr-radius-md);
  overflow: hidden;
}

.quantity .qty,
.quantity .plus,
.quantity .minus,
.ux-quantity .qty,
.ux-quantity .button.plus,
.ux-quantity .button.minus {
  border-radius: 0 !important;
}

table .ux-quantity {
  border-radius: var(--jr-radius-md);
  border: 1px solid var(--jr-border-light);
  overflow: hidden;
}

table .ux-quantity input[type=number] {
  box-shadow: none;
  border-top: 0;
  border-bottom: 0;
}

table .ux-quantity input.ux-quantity__button {
  border: 0 !important;
}

/* Password show/hide button reset */
.woocommerce .password-input .show-password-input,
.woocommerce-page .password-input .show-password-input {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0;
}

/* Google Sign-In full width */
.woocommerce-account .u-column1 iframe[src*="accounts.google.com/gsi/button"],
.woocommerce-account .u-column1 .g_id_signin,
.woocommerce-account .u-column1 .g_id_signin>div,
.woocommerce-account .u-column1 div[role="button"][aria-label*="Google"] {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

.woocommerce-account .u-column1 .g_id_signin,
.woocommerce-account .u-column1 iframe[src*="accounts.google.com/gsi/button"] {
  margin-bottom: 15px;
}

button.wishlist-button {
  border: 0;
  background: transparent;
  color: var(--jr-body-color);
}

.image-tools button.wishlist-button:hover {
  color: var(--fs-color-alert);
  background-color: transparent;
  box-shadow: none;
}

button.wishlist-button.wishlist-added i {
  color: var(--fs-color-alert);
}

/* ==========================================================================
   G) PRODUCT SINGLE (summary, price, tags, variations, WCPA)
   ========================================================================== */
.callout.badge.badge-circle {
  display: none;
}

.product-info span.amount {
  white-space: nowrap;
  color: var(--jr-price-highlight);
  font-weight: 700;
  font-size: 1.2em;
}

.product-info .price {
  font-size: 1.2em;
}

.single-product .product-info .product-title,
.flipContainer .entry-title a {
  font-size: 24px;
  color: #1e202c !important; /* Direct hex — Flatsome Customizer overrides --jr-primary inline */
}

.product-footer .woocommerce-tabs {
  padding: 30px 0;
  border-top: 1px solid var(--jr-border-input);
}

#reviews {
  margin-top: 30px;
}

#reviews #comments h3.normal {
  font-size: 20px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.has-border {
  border: 1px solid var(--jr-border-subtle) !important;
}

.product-container,
.social-icons {
  margin-top: 20px;
}

.amount {
  font-weight: 700;
}

.amount span.woocommerce-Price-currencySymbol {
  font-size: .9em;
  vertical-align: .2em;
  display: inline;
  line-height: 1;
  margin-right: .1em;
}

/* Tags */
.tagged_as {
  font-weight: 700;
  font-size: 1.25rem;
  margin-right: 15px;
  color: var(--jr-dark-text);
  border-top: none !important;
}

.tagged_as a {
  letter-spacing: 0.05em;
  display: inline-block;
  height: var(--jr-tag-h);
  line-height: var(--jr-tag-h);
  border-radius: var(--jr-radius-pill);
  position: relative;
  margin: 10px 10px 10px 0;
  padding: 0 10px;
  text-transform: uppercase;
  background: var(--jr-tag-bg);
  color: var(--jr-dark-text);
  font-size: 11px;
  font-weight: 700;
}

/* Variation definition list */
dl.variation {
  display: block;
  width: 100%;
  color: var(--jr-muted);
  font-size: 90%;
  line-height: 1.4;
  margin-bottom: 0;
}

dl.variation dt,
dl.variation dd {
  display: inline;
  float: left;
  margin-bottom: 0;
}

dl.variation dt {
  clear: both;
  margin-bottom: 5px;
}

dl.variation dd {
  padding-left: 2px;
}

dl.variation p {
  margin-bottom: 0;
  text-transform: capitalize;
  line-height: inherit;
}

dl.variation:after {
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  clear: both;
}

dd .wcpa_cart_type_color-group .wcpa_cart_color {
  background: none !important;
  color: var(--jr-primary);
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  margin: 0 0 0 5px;
  min-width: unset !important;
  display: inline-flex;
  line-height: 1.5 !important;
  font-weight: bold;
}

/* Terms text */
.woocommerce-terms-and-conditions-checkbox-text {
  font-size: 13px;
  line-height: 20px;
  font-weight: 400;
  margin-bottom: 30px;
  display: block;
}

/* Add to cart flex layout */
.sg_wrapper_add_to_cart_quantity {
  display: flex;
}

.single-product .product-summary form.cart .single_add_to_cart_button {
  flex: 1 1 auto;
  box-sizing: border-box;
}

.single-product .product-summary form.cart,
.single-product .product-summary .sg_wrapper_add_to_cart_quantity {
  display: flex;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  margin-top: 1em;
}

.sg_wrapper_add_to_cart_quantity input.ux-quantity__button {
  min-height: 1.5em;
  line-height: 1.5em;
  border: 0;
}

form.cart .ouqw-promo-wrap {
  margin-top: 1em;
}

/* WCPA form */
.wcpa_form_outer {
  margin-bottom: 0;
}

.wcpa_form_outer .wcpa_form_item {
  margin-bottom: 0;
}

.wcpa_form_outer .wcpa_form_item>label {
  margin-bottom: 0 !important;
  font-weight: 500;
}

.product-main .wcpa_form_outer .wcpa_form_item>label {
  font-weight: 700;
}

.wcpa_has_options .product-info .price-wrapper {
  display: none;
}

.wcpa_price_summary {
  background: none;
}

/* WCPA price summary */
.wcpa_price_summary ul {
  padding: 0;
  border: 0;
  margin: 0 0 40px 0;
}

.entry-summary .wcpa_price_summary ul li {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 16px;
  vertical-align: middle;
}

.wcpa_price_summary ul li span {
  font-size: 18px;
}

.wcpa_price_summary ul li .wcpa_price_outer {
  float: none;
  text-align: left;
}

.wcpa_price_summary ul li span.wcpa_price_outer span.price_value {
  font-size: 25px;
  font-weight: bold;
  color: var(--jr-price-red);
  vertical-align: bottom;
}

.product-summary .wcpa_price_summary .woocommerce-Price-currencySymbol {
  font-size: .9em;
  color: var(--jr-price-red);
}

.product-summary .wcpa_price_summary ul li.wcpa_total>span {
  font-size: 20px;
  font-weight: bold;
}

.wcpa_price_summary ul li>span:not(.wcpa_price_outer) {
  display: none;
}

.wcpa-summary-original-hidden {
  display: none !important;
}

.wcpa-total-under-title {
  margin: 10px 0 18px;
}

.wcpa-total-under-title .wcpa_price_summary ul {
  margin: 0;
}

.wcpa-total-under-title .wcpa_price_summary ul li.wcpa_total>span {
  font-size: 20px;
  font-weight: 700;
}

.wcpa-total-under-title .wcpa_price_summary ul li span.wcpa_price_outer span.price_value {
  font-size: 25px;
  font-weight: 700;
  line-height: 1.2;
}

/* WCPA color groups */
.wcpa_color>label>input:checked+span:before {
  background-image: url('/wp-content/themes/flatsome-child/icons/radio-cricle.svg');
}

.wcpa_form_outer .wcpa_form_item .color-group .wcpa_color label span.label_inside {
  font-size: 15px;
  padding: 8px 10px 4px 30px;
  margin: 0;
  height: auto !important;
  line-height: 1.5 !important;
}

.wcpa_form_outer .label_inside:before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  border-radius: 100%;
  position: absolute;
  left: 5px;
  top: calc(50% - 10px);
  border: none;
  background-image: url('/wp-content/themes/flatsome-child/icons/circle-black.svg');
  background-repeat: no-repeat;
  background-size: contain;
}

.wcpa_form_outer .label_inside[title="Black"]:before {
  background-image: url('/wp-content/themes/flatsome-child/icons/circle-white.svg');
}

.wcpa_form_outer .wcpa_form_item .color-group input:checked+label span.label_inside:after {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  border-radius: 100%;
  position: absolute;
  left: 8px;
  top: 14px;
  border: none;
  background-image: url('/wp-content/themes/flatsome-child/icons/circle-check-black-fill.svg');
  background-repeat: no-repeat;
  background-size: contain;
  transform: unset;
}

.wcpa_form_outer .wcpa_form_item .color-group input:checked+label span.label_inside[title="Black"]:after {
  background-image: url('/wp-content/themes/flatsome-child/icons/circle-check-white-fill.svg');
}

.wcpa_form_outer .wcpa_form_item .color-group .wcpa_color input:checked+label span {
  border: 1px solid var(--jr-selected-border);
  box-shadow: none;
}

.wcpa_form_outer .wcpa_form_item .color-group .wcpa_color {
  margin: 0.2em 0.2em 0.2em 0;
}

.wcpa_form_outer .wcpa_form_item span.wcpa_helptext {
  font-size: 14px;
  font-weight: 500;
  text-decoration: underline;
}

.woocommerce td.product-name dl.variation dd {
  display: inline-block;
  margin: 0;
}

.woocommerce td.product-name dl.variation .wcpa_cart_type_color-group p {
  margin: 0;
}

.woocommerce td.product-name dl.variation .wcpa_cart_type_color-group {
  margin: 0;
}

/* Countdown & live viewers */
span.prowc_product_countdown {
  font-size: 18px !important;
  color: var(--jr-price-red);
}

.nasa-count {
  background: var(--main-hnc-color);
  color: var(--jr-white);
  padding: 3px 6px;
  border-radius: var(--jr-radius);
  display: inline-block;
}

#nasa-counter-viewing {
  display: inline-block;
  width: 100%;
  margin-bottom: 10px;
  font-weight: 600;
}

.hurrytimer-campaign * {
  font-size: 20px !important;
  color: var(--jr-price-red) !important;
}

.hurrytimer-campaign .hurrytimer-headline {
  margin-left: 10px;
}

.hurrytimer-campaign .hurrytimer-timer-block {
  margin-bottom: 0;
}

.hurrytimer-campaign i {
  vertical-align: middle;
  margin-right: 6px;
}

/* ==========================================================================
   H) QUANTITY CONTROLS (unified: all breakpoints)
   ========================================================================== */

/* Base input qty */
.product-quick-view-container .input-text.qty,
.single-product .product-summary .input-text.qty {
  -webkit-appearance: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  width: auto !important;
  max-width: 100% !important;
  height: 100% !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 0;
  background: var(--jr-white) !important;
  text-align: center !important;
  line-height: normal;
  font-size: 1em;
  color: var(--jr-body-color);
}

/* Hide spinner */
.single-product .product-summary .input-text.qty::-webkit-outer-spin-button,
.single-product .product-summary .input-text.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.single-product .product-summary .input-text.qty {
  -moz-appearance: textfield;
}

/* Wrapper */
.product-quick-view-container .quantity,
.single-product .product-summary .quantity {
  position: relative;
  margin: 0;
}

/* +/- hover/focus (shared across breakpoints) */
.quantity .plus:hover,
.quantity .minus:hover,
.quantity .plus:focus-visible,
.quantity .minus:focus-visible {
  background: color-mix(in srgb, var(--main-hnc-color) 12%, var(--jr-qty-hover-bg));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--main-hnc-color) 20%, transparent);
  outline: none;
}

.quantity .plus:active,
.quantity .minus:active {
  background: color-mix(in srgb, var(--main-hnc-color) 22%, var(--jr-qty-hover-bg));
  transform: translateY(0.5px);
}

/* Shared grid structure for qty in both PC and Mobile */
.single-product .product-summary .quantity {
  display: grid !important;
  grid-template-columns: 1fr 48px;
  grid-template-rows: 1fr 1fr;
  background: var(--jr-white);
  border: 1px solid var(--btn-border-color);
  border-radius: var(--btn-radius);
  box-shadow: var(--btn-shadow);
  overflow: hidden;
  box-sizing: border-box;
  transition: border-color .2s, box-shadow .2s;
}

.single-product .product-summary .quantity:hover,
.single-product .product-summary .quantity:focus-within {
  border-color: var(--main-hnc-color);
  box-shadow: var(--btn-shadow), 0 0 0 2px color-mix(in srgb, var(--main-hnc-color) 25%, transparent);
}

.single-product .product-summary .quantity .input-text.qty {
  grid-column: 1/2;
  grid-row: 1/3;
  width: 100% !important;
  height: 100%;
  padding: 0 12px !important;
  background: transparent;
}

/* +/- buttons shared */
.quantity .plus,
.quantity .minus,
.quantity button.plus,
.quantity button.minus {
  grid-column: 2/3;
  position: static !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color .15s, box-shadow .15s, transform .06s;
  cursor: pointer;
}

.quantity .plus {
  grid-row: 1/2;
  border-bottom: 1px solid var(--jr-border-light) !important;
}

.quantity .minus {
  grid-row: 2/3;
}

/* PC (≥769px) */
@media (min-width: 769px) {
  .single-product .product-summary .quantity {
    flex: 0 0 120px;
    min-width: 120px;
  }

  .single-product .product-summary .quantity .input-text.qty {
    line-height: var(--jr-qty-line-h);
  }

  .single-product .product-summary .single_add_to_cart_button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0 !important;
    padding: 0 24px;
    flex: 1 1 auto;
    border-radius: var(--btn-radius);
    border: 1px solid var(--btn-border-color) !important;
    box-shadow: var(--btn-shadow);
    font-weight: 700;
    letter-spacing: .06em;
    transition: border-color .2s, box-shadow .2s, transform .06s;
    margin-right: 0;
  }

  .single-product .single_add_to_cart_button:hover,
  .single-product .single_add_to_cart_button:focus-visible {
    border-color: var(--main-hnc-color) !important;
    box-shadow: var(--btn-shadow-strong), 0 0 0 2px color-mix(in srgb, var(--main-hnc-color) 25%, transparent);
    transform: translateY(-1px);
    outline: none;
  }
}

/* Mobile (≤768px) — fixed from 768px to avoid 1px gap with 769px */
@media (max-width: 768.98px) {
  .accordion-inner {
    padding-left: .5em;
    padding-right: .5em;
  }

  .single-product .product-summary .quantity {
    order: 1;
    height: var(--jr-btn-h-mobile);
    width: 30%;
  }

  .single-product .product-summary .quantity .input-text.qty {
    line-height: var(--jr-btn-h-mobile);
  }

  .single-product .product-summary .single_add_to_cart_button {
    order: 2;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 16px;
    border-radius: var(--btn-radius);
    border: 1px solid var(--btn-border-color) !important;
    box-shadow: var(--btn-shadow);
    transition: border-color .2s, box-shadow .2s, transform .06s;
  }

  .single-product .single_add_to_cart_button:hover,
  .single-product .single_add_to_cart_button:focus-visible {
    border-color: var(--main-hnc-color) !important;
    box-shadow: var(--btn-shadow-strong), 0 0 0 2px color-mix(in srgb, var(--main-hnc-color) 25%, transparent);
    transform: translateY(-1px);
    outline: none;
  }
}

/* Woo quantity (cart/mini-cart) */
.woocommerce .quantity.buttons_added,
.woocommerce .ux-quantity.quantity.buttons_added {
  display: inline-flex;
  align-items: center;
  height: var(--jr-cart-qty-h);
  background: var(--jr-white);
  border: 1.5px solid var(--jr-border);
  border-radius: var(--jr-radius);
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(16, 57, 83, .05);
  transition: border-color .18s ease, box-shadow .18s ease;
}

.woocommerce .quantity.buttons_added:hover,
.woocommerce .ux-quantity.quantity.buttons_added:hover {
  border-color: color-mix(in oklab, var(--brand-primary) 30%, #60519b42);
}

.woocommerce .quantity.buttons_added:focus-within,
.woocommerce .ux-quantity.quantity.buttons_added:focus-within {
  border-color: var(--brand-secondary) !important;
  box-shadow: 0 0 0 3px rgba(47, 111, 151, .16);
}

/* +/- buttons in cart */
.woocommerce .ux-quantity__button.button.is-form,
.woocommerce .quantity .plus,
.woocommerce .quantity .minus {
  background: transparent;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--brand-primary);
  width: 10px;
  height: 100%;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform .06s ease, background-color .12s ease;
}

.woocommerce .ux-quantity__button.button.is-form:active,
.woocommerce .quantity .plus:active,
.woocommerce .quantity .minus:active {
  transform: translateY(1px);
  background-color: rgba(47, 111, 151, .06);
}

/* Qty input in cart */
.woocommerce .quantity .qty,
.woocommerce .ux-quantity .qty {
  width: 30px;
  min-width: 20px;
  height: 100%;
  margin: 0;
  padding: 0 10px;
  text-align: center;
  background: transparent;
  color: var(--brand-primary);
  border: 0 !important;
  box-shadow: none !important;
  border-left: 1px solid rgba(0, 0, 0, .06);
  border-right: 1px solid rgba(0, 0, 0, .06);
}

.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.woocommerce .quantity.buttons_added .input-text.qty.text {
  height: 100% !important;
}

/* ==========================================================================
   I) JRS CTA ROW (Quantity + Add to Cart block)
   ========================================================================== */
.jrs-cta-row {
  --jrs-cta-h: 80px;
  --jrs-cta-br: 5px;
  display: grid;
  grid-template-columns: minmax(96px, 128px) 1fr;
  gap: 12px;
  align-items: stretch;
  width: 100%;
}

.jrs-cta-row .quantity,
.jrs-cta-row .single_add_to_cart_button {
  height: var(--jrs-cta-h);
  border-radius: var(--jr-radius) !important;
  box-sizing: border-box;
}

/* Quantity box */
.jrs-cta-row .quantity,
.jrs-cta-row .quantity.buttons_added {
  --jrs-qty-border-w: 1.5px;
  --jrs-qty-border-color: #60519b42;
  --jrs-qty-sep: #60519b42;
  float: none !important;
  width: auto !important;
  min-width: 96px;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr 44px !important;
  grid-template-rows: 1fr 1fr !important;
  overflow: hidden !important;
  background: var(--jr-white);
  border: var(--jrs-qty-border-w) solid var(--jrs-qty-border-color) !important;
  border-radius: var(--jr-radius) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05) !important;
  height: var(--jrs-cta-h) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .06s ease;
}

.jrs-cta-row .quantity .qty,
.jrs-cta-row .quantity input.qty {
  grid-area: 1 / 1 / 3 / 2 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.2px solid #6f608b33;
  color: var(--brand-primary, #1e202c) !important;
  text-align: center !important;
  font-weight: 600;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
  -moz-appearance: textfield;
  appearance: textfield;
}

.jrs-cta-row .quantity .qty::-webkit-outer-spin-button,
.jrs-cta-row .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

/* +/- buttons */
.jrs-cta-row .quantity .plus,
.jrs-cta-row .quantity .minus,
.jrs-cta-row .quantity input.plus,
.jrs-cta-row .quantity input.minus,
.jrs-cta-row .quantity .button.is-form.plus,
.jrs-cta-row .quantity .button.is-form.minus {
  all: unset;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  cursor: pointer !important;
  user-select: none !important;
  background: var(--jr-qty-btn-bg) !important;
  box-shadow: none !important;
  border: 0.001px solid var(--jrs-qty-border-color) !important;
  border-radius: 0 !important;
  transition: transform .06s ease, background .15s ease, box-shadow .15s ease, filter .15s ease !important;
  font-family: inherit !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: var(--brand-primary, #1e202c) !important;
  text-align: center !important;
}

.jrs-cta-row .quantity .plus::before,
.jrs-cta-row .quantity .minus::before {
  content: none !important;
}

.jrs-cta-row .quantity .plus,
.jrs-cta-row .quantity input.plus,
.jrs-cta-row .quantity .button.is-form.plus {
  grid-area: 1 / 2 / 2 / 3 !important;
}

.jrs-cta-row .quantity .minus,
.jrs-cta-row .quantity input.minus,
.jrs-cta-row .quantity .button.is-form.minus {
  grid-area: 2 / 2 / 3 / 3 !important;
}

/* Hover / Press / Focus */
.jrs-cta-row .quantity:hover,
.jrs-cta-row .quantity:focus-within {
  border-color: var(--jrs-secondary, var(--brand-secondary)) !important;
  box-shadow: 0 0 0 3px var(--jrs-secondary-12, rgba(47, 111, 151, .12)), 0 1px 2px rgba(0, 0, 0, .06) !important;
}

.jrs-cta-row .quantity .plus:hover,
.jrs-cta-row .quantity .minus:hover,
.jrs-cta-row .quantity:hover .plus,
.jrs-cta-row .quantity:hover .minus {
  background: #607D8B33 !important;
  filter: brightness(1.01);
}

.jrs-cta-row .quantity.is-holding {
  border-color: var(--jrs-secondary, var(--brand-secondary)) !important;
  box-shadow: 0 0 0 4px var(--jrs-secondary-12, rgba(47, 111, 151, .12)), 0 1px 2px rgba(0, 0, 0, .05) !important;
}

.jrs-cta-row .quantity .plus.is-pressed,
.jrs-cta-row .quantity .minus.is-pressed,
.jrs-cta-row .quantity .plus:active,
.jrs-cta-row .quantity .minus:active {
  transform: scale(.985) !important;
  box-shadow: inset 0 0 0 6px var(--jrs-secondary-18, rgba(47, 111, 151, .18)) !important;
  filter: brightness(.97) !important;
}

.jrs-cta-row .quantity .plus:focus-visible,
.jrs-cta-row .quantity .minus:focus-visible {
  outline: 2px solid var(--jrs-secondary, var(--brand-secondary));
  outline-offset: -2px;
}

/* Ripple effect */
.jrs-cta-row .quantity .plus,
.jrs-cta-row .quantity .minus {
  overflow: hidden;
}

.jrs-cta-row .quantity .plus::after,
.jrs-cta-row .quantity .minus::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--jrs-secondary-18, rgba(47, 111, 151, .18));
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  pointer-events: none;
}

@keyframes jrsRipple {
  0% {
    transform: translate(-50%, -50%) scale(.2);
    opacity: .45;
  }

  60% {
    transform: translate(-50%, -50%) scale(1.0);
    opacity: .25;
  }

  100% {
    transform: translate(-50%, -50%) scale(1.8);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: no-preference) {

  .jrs-cta-row .quantity .plus.is-tapped::after,
  .jrs-cta-row .quantity .minus.is-tapped::after {
    animation: jrsRipple .45s ease-out forwards;
  }

  .jrs-cta-row .quantity .plus:active::after,
  .jrs-cta-row .quantity .minus:active::after {
    animation: jrsRipple .45s ease-out forwards;
  }
}

/* Add to cart button */
.jrs-cta-row .single_add_to_cart_button {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 0;
  display: grid;
  place-items: center;
  font-family: inherit !important;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 6px 12px -3px rgba(35, 67, 92, .25);
  transition: transform .08s ease, box-shadow .22s ease, filter .22s ease;
}

.jrs-cta-row .single_add_to_cart_button:hover {
  transform: translateY(-1px);
  filter: brightness(1.02);
  box-shadow: 0 10px 20px -5px rgba(35, 67, 92, .30);
}

.jrs-cta-row .single_add_to_cart_button:active {
  transform: translateY(1px);
  box-shadow: 0 8px 18px -4px rgba(35, 67, 92, .28);
}

.jrs-cta-row .single_add_to_cart_button.disabled,
.jrs-cta-row .single_add_to_cart_button[disabled] {
  filter: grayscale(.25) opacity(.7);
  cursor: not-allowed;
}

/* Press/Hold + Loading */
.jrs-cta-row .single_add_to_cart_button.is-pressed {
  transform: translateY(1px) scale(.996);
}

.jrs-cta-row .single_add_to_cart_button.is-holding {
  box-shadow: 0 0 0 6px var(--jrs-secondary-12), 0 8px 20px -6px rgba(35, 67, 92, .30);
  filter: brightness(1.02);
}

.jrs-cta-row .single_add_to_cart_button .jrs-ripple {
  position: absolute;
  border-radius: 50%;
  transform: scale(0);
  background: var(--jrs-secondary-26);
  opacity: .55;
  pointer-events: none;
  animation: jrs-ripple .55s ease-out forwards;
}

@keyframes jrs-ripple {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

.jrs-cta-row .single_add_to_cart_button.is-loading {
  pointer-events: none;
}

.jrs-cta-row .single_add_to_cart_button.is-loading>* {
  opacity: .0;
}

.jrs-cta-row .single_add_to_cart_button.is-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .75);
  border-top-color: rgba(255, 255, 255, .25);
  animation: jrs-spin .8s linear infinite;
}

@keyframes jrs-spin {
  to {
    transform: rotate(360deg);
  }
}

/* CTA row spacing */
.single-product .summary .jrs-cta-row {
  margin-top: var(--jrs-cta-gap, 24px) !important;
}

/* CTA Mobile */
@media (max-width: 480px) {
  .jrs-cta-row {
    --jrs-cta-h: 56px;
    grid-template-columns: minmax(84px, 96px) 1fr !important;
    gap: 8px !important;
  }

  .single-product .summary .jrs-cta-row {
    --jrs-cta-gap: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {

  .jrs-cta-row .quantity .plus,
  .jrs-cta-row .quantity .minus {
    transition: none !important;
  }

  .jrs-cta-row .quantity:hover,
  .jrs-cta-row .single_add_to_cart_button:hover {
    transform: none;
  }
}

/* ==========================================================================
   J) PRICE & SALE BADGE
   ========================================================================== */
/* Price colors */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce .woocommerce-Price-amount,
.woocommerce .amount {
  color: var(--jr-price) !important;
}

.woocommerce .price del,
.woocommerce del .woocommerce-Price-amount {
  opacity: .55;
  color: inherit !important;
}

.woocommerce .price ins,
.woocommerce ins .woocommerce-Price-amount {
  color: var(--jr-price) !important;
}

/* Price scoped selectors */
html body .woocommerce .price,
html body .woocommerce ul.products li.product .price,
html body .product-small .price,
html body .single-product .summary .price,
html body .quick-view .price,
html body .widget .product_list_widget .amount,
html body .woocommerce-mini-cart__total .woocommerce-Price-amount {
  color: var(--price-color) !important;
}

html body .woocommerce .price ins,
html body .product-small .price ins,
html body .single-product .summary .price ins,
html body .quick-view .price ins {
  color: var(--price-sale) !important;
  text-decoration: none;
}

html body .woocommerce .price del,
html body .product-small .price del,
html body .single-product .summary .price del,
html body .quick-view .price del {
  color: var(--price-old) !important;
  opacity: .9;
  font-size: .90em;
  text-decoration: line-through;
  margin-left: .25em;
}

/* Sale badge */
.product-small .box-image,
.ux-products .product .box-image {
  overflow: visible !important;
}

.product-small .badge-container,
.ux-products .product .badge-container {
  top: var(--badge-offset) !important;
  left: var(--badge-offset) !important;
}

.badge,
.badge.badge-outline,
.badge-outline.badge,
.badge:before,
.badge:after {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.badge .badge-inner,
.badge.sale .badge-inner,
.badge.onsale .badge-inner,
.badge-onsale .badge-inner,
.onsale,
.onsale .badge-inner {
  width: var(--badge-size) !important;
  height: var(--badge-size) !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--badge-bg) !important;
  color: var(--badge-text) !important;
  border-radius: var(--badge-radius) !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

.badge.new .badge-inner,
.badge.hot .badge-inner {
  background: inherit;
  color: inherit;
}

/* ==========================================================================
   K) JR PRICEWRAP — SINGLE CONSOLIDATED BLOCK (was 3x duplicated)
   ========================================================================== */
.jr-pricewrap {
  display: grid !important;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "badge old"
    "save  new";
  column-gap: 8px;
  row-gap: 2px;
  align-items: end;
  justify-items: end;
  text-align: right;
}

.jr-pricewrap .jr-badge {
  grid-area: badge;
  justify-self: start;
  margin: 0;
  display: inline-block;
  border: 1px dashed var(--brand-secondary, rgba(0, 0, 0, .2));
  border-radius: var(--jr-radius);
  padding: 2px 8px;
  font-size: 11px;
  line-height: 1.2;
}

.jr-pricewrap .jr-save {
  grid-area: save;
  justify-self: start;
  margin: 0;
  white-space: nowrap;
  font-size: 12px;
  opacity: .85;
}

.jr-pricewrap .jr-old {
  grid-area: old;
  align-self: end;
  opacity: .7;
  text-decoration: line-through;
  font-weight: 500;
  font-size: .8em;
}

.jr-pricewrap .jr-new {
  grid-area: new;
  align-self: start;
  font-weight: 800;
  text-decoration: none;
  font-size: 1em;
}

/* Desktop inline */
.jr-pricewrap--t {
  display: inline-flex;
}

@media (max-width: 767.98px) {
  .jr-pricewrap--t {
    display: none;
  }
}

/* Mobile block */
.jr-pricewrap--m {
  display: none;
  margin-top: 2px;
}

@media (max-width: 767.98px) {
  .jr-pricewrap--m {
    display: block;
  }
}

/* Mini-cart */
.widget_shopping_cart .jr-pricewrap--mini {
  display: block;
  margin-top: 2px;
}

.widget_shopping_cart .jr-pricewrap--mini .jr-badge {
  margin-left: .4em;
}

/* Cart desktop */
@media (min-width: 900px) {
  .woocommerce-cart .cart_item td.product-subtotal {
    vertical-align: middle;
  }

  .woocommerce-cart .cart_item td.product-subtotal .jr-pricewrap {
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-template-areas: "badge old" "save new";
    column-gap: 8px;
    row-gap: 2px;
    justify-items: end;
    text-align: right;
  }

  .woocommerce-cart .cart_item td.product-subtotal .jr-badge {
    grid-area: badge;
    justify-self: start;
    margin: 0;
  }

  .woocommerce-cart .cart_item td.product-subtotal .jr-save {
    grid-area: save;
    justify-self: start;
    margin: 0;
    white-space: nowrap;
  }

  .woocommerce-cart .cart_item td.product-subtotal .jr-old {
    grid-area: old;
    align-self: end;
    opacity: .7;
    text-decoration: line-through;
  }

  .woocommerce-cart .cart_item td.product-subtotal .jr-new {
    grid-area: new;
    align-self: start;
    font-weight: 800;
  }

  .woocommerce-cart .cart_item td.product-subtotal .jr-badge~.jr-badge,
  .woocommerce-cart .cart_item td.product-subtotal .jr-save~.jr-save {
    display: none !important;
  }
}

/* Cart mobile */
@media (max-width: 899px) {
  .woocommerce-cart .cart_item td.product-name .jr-pricewrap {
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-template-areas: "badge old" "save new";
    column-gap: 8px;
    row-gap: 2px;
    align-items: end;
    text-align: right;
    margin-top: 6px;
  }

  .woocommerce-cart .cart_item td.product-name .jr-badge {
    grid-area: badge;
    justify-self: start;
    margin: 0;
  }

  .woocommerce-cart .cart_item td.product-name .jr-save {
    grid-area: save;
    justify-self: start;
    margin: 0;
    white-space: nowrap;
  }

  .woocommerce-cart .cart_item td.product-name .jr-old {
    grid-area: old;
    text-decoration: line-through;
    opacity: .6;
  }

  .woocommerce-cart .cart_item td.product-name .jr-new {
    grid-area: new;
    font-weight: 800;
  }

  .woocommerce-cart .cart_item td.product-subtotal .jr-pricewrap {
    display: none !important;
  }
}

/* Small screen */
@media (max-width: 420px) {
  .jr-pricewrap .jr-badge {
    padding: 1px 6px;
    font-size: 10px;
  }

  .jr-pricewrap .jr-save {
    font-size: 11px;
  }
}

/* ==========================================================================
   L) JR UPSALE
   ========================================================================== */
.jr-upsale {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  min-height: calc(var(--jr-input-h, 50px) + 6px);
  padding: 10px 12px;
  margin: 12px 0 14px;
  border: 1px dashed var(--brand-secondary, #60519b);
  background: color-mix(in srgb, var(--jr-bg, #fff) 97%, var(--brand-primary, #1e202c));
  border-radius: var(--jr-radius);
  color: var(--jr-accent, #60519b);
  box-shadow: var(--jr-shadow);
}

.jr-upsale__link,
.jr-upsale__link:link,
.jr-upsale__link:visited,
.jr-upsale__link:hover,
.jr-upsale__link:focus,
.jr-upsale__link:active {
  all: unset;
  display: block;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  text-align: center;
  font: inherit;
  font-weight: 700;
  line-height: 1.25;
  color: var(--jr-accent, #60519b);
  text-decoration: none;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  -webkit-tap-highlight-color: transparent;
}

.jr-upsale__link::before,
.jr-upsale__link::after {
  content: none !important;
  display: none !important;
}

.jr-upsale__link strong {
  color: var(--jr-ink, var(--brand-primary, #1e202c));
}

.jr-upsale__link:hover,
.jr-upsale__link:focus-visible,
.jr-upsale.is-pressing .jr-upsale__link {
  filter: brightness(1.06);
  transform: translateY(.5px) scale(.995);
  text-decoration: underline;
  box-shadow: none !important;
}

#jr-upsale-single {
  margin-top: 12px;
}

#jr-upsale-mini {
  margin: 10px 0 12px;
}

#jr-upsale-cart {
  margin: 12px 0 16px;
}

#jr-upsale-checkout {
  margin: 10px 0 12px;
}

.woocommerce-checkout div#jr-upsale-checkout+div#jr-upsale-checkout,
.woocommerce-checkout div#jr-upsale-checkout~div#jr-upsale-checkout {
  display: none !important;
}

/* ==========================================================================
   M) JR MODAL / LIGHTBOX
   ========================================================================== */
body.jr-modal-open {
  overflow: hidden;
}

#jr-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  background: rgba(0, 0, 0, 0.6);
}

#jr-modal.is-open {
  display: block;
}

#jr-modal .jr-modal__box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(920px, 94vw);
  height: min(82vh, 740px);
  background: var(--jr-white);
  border-radius: var(--jr-radius, 5px);
  overflow: auto;
  box-shadow: 0 10px 40px rgba(0, 0, 0, .25);
}

.jr-modal__close {
  position: absolute;
  top: -5px;
  right: -5px;
  border: 0;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  padding: 6px;
  margin: 0;
  min-height: auto;
  background: rgba(52, 16, 83, 0.81);
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--jr-radius-full);
  min-width: auto;
  display: inline-block;
  color: var(--jr-white);
}

#jr-modal .jr-modal__content {
  padding: 16px;
}

/* Fallback modal (no Magnific) */
#jr-modal2 {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 99999;
}

#jr-modal2.is-open {
  display: block;
}

#jr-modal2 .jr-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .55);
}

#jr-modal2 .jr-modal__box {
  position: relative;
  margin: 4vh auto 0;
  width: min(900px, 94vw);
  background: var(--jr-white);
  border-radius: var(--jr-radius-lg);
  overflow: auto;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
  height: auto !important;
  max-height: 80vh;
}

#jr-modal2 .jr-modal__close {
  position: absolute;
  top: 8px;
  right: 10px;
  font-size: 28px;
  line-height: 1;
  border: 0;
  background: transparent;
  cursor: pointer;
}

#jr-modal2 .jr-modal__body {
  padding: 0;
}

html.jr-no-scroll {
  overflow: hidden;
}

/* Generic modal */
.jr-modal {
  position: fixed;
  inset: 0;
  display: none;
  background: rgba(0, 0, 0, .55);
  z-index: 2147483647;
}

.jr-modal.is-open {
  display: block;
}

.jr-modal__dialog {
  position: relative;
  width: min(92vw, 860px);
  height: min(80vh, 780px);
  margin: 5vh auto 0;
  background: var(--jr-white);
  border-radius: var(--jr-radius-lg);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
  overflow: hidden;
}

.jr-modal__content {
  width: 100%;
  height: 100%;
  overflow: auto;
}

/* Lightbox */
.jr-lightbox {
  max-width: 900px;
  margin: 0 auto;
  background: var(--jr-white);
  padding: 0;
  border-radius: var(--jr-radius);
}

.mfp-content .jr-lightbox {
  box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
  overflow: auto;
  max-height: 80vh;
}

/* Popup inner */
.jr-popup-inner {
  padding: 10px;
}

.jr-popup-inner img {
  max-width: 100%;
  height: auto;
  display: block;
}

.jr-popup-inner .section,
.jr-popup-inner .ux-section,
.jr-popup-inner .ux-banner,
.jr-popup-inner .banner,
.jr-popup-inner .page-title,
.jr-popup-inner .title-wrapper,
.jr-popup-inner .breadcrumbs,
.jr-popup-inner header,
.jr-popup-inner footer {
  display: none !important;
}

/* Keep layout variant */
.jr-popup-inner.jr-keep-layout {
  padding: 0 !important;
}

.jr-popup-inner.jr-keep-layout .section,
.jr-popup-inner.jr-keep-layout .ux-section,
.jr-popup-inner.jr-keep-layout .ux-banner,
.jr-popup-inner.jr-keep-layout .banner,
.jr-popup-inner.jr-keep-layout .page-title,
.jr-popup-inner.jr-keep-layout .title-wrapper,
.jr-popup-inner.jr-keep-layout .breadcrumbs,
.jr-popup-inner.jr-keep-layout header,
.jr-popup-inner.jr-keep-layout footer {
  display: unset !important;
}

/* Magnific close button */
.mfp-ready.mfp-wrap .mfp-close {
  opacity: 1;
  box-shadow: 1px 1px 15px rgba(0, 0, 0, .15);
  background: var(--jr-white);
  border-radius: var(--jr-radius-full) !important;
  color: var(--jr-primary);
  z-index: 9999999;
  top: 1.5rem !important;
  right: 1rem;
  mix-blend-mode: normal;
}

/* ==========================================================================
   N) CART / MINI-CART / CHECKOUT
   ========================================================================== */
li.cart-item.has-icon.has-dropdown .nav-dropdown {
  min-width: 360px;
}

li.cart-item.has-icon.has-dropdown i {
  font-size: 1.5em;
}

/* Mini-cart border */
.off-canvas .widget_shopping_cart .mini_cart_item,
.woocommerce-mini-cart li.mini_cart_item {
  background-image: none !important;
  border-bottom: 1px solid rgba(16, 57, 83, .10);
}

/* Cart actions */
.shop_table .actions .button-continue-shopping {
  width: 100%;
  margin: 0;
}

.shop_table .actions .continue-shopping {
  width: 55%;
  margin-right: 1em;
  display: inline-block;
}

.shop_table .actions button.button {
  margin-right: 0;
}

/* Terms checkbox */
.woocommerce .woocommerce-form__label.checkbox>.required {
  display: none !important;
}

.woocommerce a.woocommerce-terms-and-conditions-link::after {
  content: "*";
  font-size: .75em;
  position: relative;
  top: -.25em;
  margin-left: .05em;
}

/* Order tip */
#wooot_order_tip_form {
  margin-bottom: 20px;
  display: inline-block;
  width: 100%;
}

#wooot_order_tip_form .order_tip_title {
  color: var(--jr-body-color);
  font-weight: normal;
  font-size: 20px;
  margin-bottom: 10px;
  text-transform: uppercase;
}

#wooot_order_tip_form .woo_order_tip {
  font-size: 14px;
  line-height: 1.5;
  background-color: var(--jr-white);
  border-radius: 4px;
  position: relative;
  color: var(--jr-tip-text);
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid var(--jr-tip-border);
  cursor: pointer;
}

#wooot_order_tip_form .woo_order_tip.active {
  background-color: var(--jr-tip-active-bg);
  color: var(--jr-white);
}

button.woo_order_tip_remove {
  background: none;
  color: var(--jr-tip-text);
  text-decoration: underline;
  margin: 0;
  padding: 0;
}

.woo_order_tip_custom_text_field {
  margin: 5px 0;
  padding: 0;
}

body .wfacp_main_form .form-row .woo_order_tip_custom_text {
  padding: 20px 12px !important;
}

button.woo_order_tip_apply {
  margin-right: 20px;
  background: var(--jr-info);
  font-weight: 700;
  padding: 8px 20px;
  border-radius: var(--jr-radius);
  color: var(--jr-white);
}

.wfacp-form table.shop_table.woocommerce-checkout-review-order-table .product-name dl * {
  display: inline;
}

/* YITH Wishlist popup */
body #yith-wcwl-popup-message {
  top: unset;
  bottom: 3rem;
  left: unset;
  right: 2rem;
  transform: none;
}

.product-small .yith-wcwl-add-to-wishlist .yith-wcwl-add-button span,
.product-small .yith-wcwl-wishlistaddedbrowse,
.product-main .yith-wcwl-wishlistaddedbrowse,
.product-main .yith-wcwl-add-to-wishlist .yith-wcwl-add-button span {
  display: none;
}

.product-small .wishlist-popup,
.product-main .wishlist-popup {
  padding: 0;
}

/* Loading */
.ux-loader {
  display: none !important;
}

.loading-spin {
  display: none;
}

.product-small .button.loading {
  color: var(--jr-body-color);
}

.product-small .button.loading:after {
  height: 8px;
  width: 8px;
  margin-left: -4px;
  margin-top: -4px;
}

.image-tools.bottom {
  display: none;
}

/* ==========================================================================
   O) SHIPPING METHODS
   ========================================================================== */
ul.woocommerce-shipping-methods,
#shipping_method {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-shipping-methods .shipping__list_item {
  margin: 8px 0;
}

.woocommerce-shipping-methods .shipping_method {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.woocommerce-shipping-methods .shipping__list_label {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px 12px 42px;
  border: 1.5px solid var(--jr-border);
  border-radius: var(--jr-radius);
  color: var(--jr-ink);
  background: var(--jr-white);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
  cursor: pointer;
}

.woocommerce-shipping-methods .shipping__list_label::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--jr-border);
  background: var(--jr-white);
  transition: border-color .18s ease, box-shadow .18s ease;
}

.woocommerce-shipping-methods .shipping__list_label::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%) scale(.6);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, var(--jr-accent) 55%, transparent 56%);
  opacity: 0;
  transition: opacity .18s ease, transform .18s ease;
}

.woocommerce-shipping-methods .shipping__list_label:hover {
  border-color: color-mix(in oklab, var(--jr-accent) 25%, var(--jr-border));
}

.woocommerce-shipping-methods .shipping_method:focus-visible+.shipping__list_label {
  border-color: var(--jr-accent);
  box-shadow: 0 0 0 3px rgba(47, 111, 151, .16);
}

.woocommerce-shipping-methods .shipping_method:checked+.shipping__list_label {
  border-color: var(--jr-accent);
  background: color-mix(in oklab, var(--jr-accent) 6%, var(--jr-white));
}

.woocommerce-shipping-methods .shipping_method:checked+.shipping__list_label::before {
  border-color: var(--jr-accent);
  box-shadow: 0 0 0 2px rgba(47, 111, 151, .12);
}

.woocommerce-shipping-methods .shipping_method:checked+.shipping__list_label::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.woocommerce-shipping-methods .shipping__list_label .woocommerce-Price-amount {
  font-weight: 600;
}

/* ==========================================================================
   O-2) CART PAGE OPTIMIZATIONS (PC + Mobile)
   ========================================================================== */

/* ① Thu nhỏ ảnh variation (Shirt Type image) trong cart — giảm ~40% chiều cao row */
.woocommerce-cart td.product-name dl.variation dd img,
.woocommerce-cart td.product-name .wcpa_cart_meta img,
.woocommerce-cart td.product-name .wcpa_cart_meta_item-value img {
  width: 40px !important;
  height: auto !important;
  vertical-align: middle;
  margin: 0 4px;
  border-radius: 3px;
}

/* ② Mobile cart: variation info — mỗi attribute 1 dòng, căn trái */
@media (max-width: 768px) {
  /* Container */
  .woocommerce-cart td.product-name dl.variation,
  .woocommerce-cart td.product-name ul.wcpa_cart_meta {
    display: block;
    font-size: 13px;
    margin-top: 6px;
    list-style: none;
    padding: 0;
  }

  /* === dl.variation (WooCommerce standard) === */
  .woocommerce-cart td.product-name dl.variation dt {
    float: none;
    clear: none;
    margin: 0;
    display: inline;
    font-weight: 600;
  }

  .woocommerce-cart td.product-name dl.variation dd {
    margin: 0 0 4px 0;
    padding: 0;
    display: inline;
  }

  .woocommerce-cart td.product-name dl.variation dd::after {
    content: '';
    display: block;
  }

  /* === WCPA plugin: ul.wcpa_cart_meta → li → p.label + div.value === */
  .woocommerce-cart td.product-name ul.wcpa_cart_meta li {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0 0 4px 0;
    flex-wrap: nowrap;
  }

  /* Label (p tag) — inline, centered */
  .woocommerce-cart td.product-name ul.wcpa_cart_meta .wcpa_cart_meta_item-label {
    margin: 0;
    padding: 0;
    font-weight: 600;
    display: inline;
    flex-shrink: 0;
    white-space: nowrap;
  }

  /* Value container (div tag) — inline-flex for alignment */
  .woocommerce-cart td.product-name ul.wcpa_cart_meta .wcpa_cart_meta_item-value {
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  /* Inner p inside value div — inline-flex for swatch+text alignment */
  .woocommerce-cart td.product-name ul.wcpa_cart_meta .wcpa_cart_meta_item-value p {
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  /* Color swatch span — inline next to color name */
  .woocommerce-cart td.product-name ul.wcpa_cart_meta .wcpa_cart_color {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 3px;
    flex-shrink: 0;
    vertical-align: middle;
  }

  /* Ẩn ảnh Shirt Type trên mobile (chỉ hiện text) */
  .woocommerce-cart td.product-name dl.variation dd img,
  .woocommerce-cart td.product-name ul.wcpa_cart_meta img {
    display: none !important;
  }
}

/* ③ PC: Sticky cart totals sidebar — luôn hiện khi scroll */
@media (min-width: 850px) {
  .woocommerce-cart .cart-collaterals {
    position: sticky;
    top: 100px;
    align-self: start;
  }
}

/* ④ Mobile: Floating checkout bar — cố định ở cuối màn hình */
@media (max-width: 849px) {
  .jr-floating-checkout {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: var(--jr-white);
    padding: 12px 16px;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, .12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .jr-floating-checkout__total {
    font-size: 18px;
    font-weight: 800;
    color: var(--jr-primary);
    white-space: nowrap;
  }

  .jr-floating-checkout__total small {
    display: block;
    font-size: 11px;
    font-weight: 400;
    color: var(--jr-muted);
    text-transform: uppercase;
    letter-spacing: .05em;
  }

  .jr-floating-checkout__btn {
    flex: 1;
    max-width: 240px;
    display: grid;
    place-items: center;
    height: 48px;
    border-radius: var(--jr-radius);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--jr-white) !important;
    background: var(--jr-accent);
    border: 0;
    box-shadow: 0 4px 12px rgba(96, 81, 155, .3);
    transition: transform .08s, box-shadow .2s;
  }

  .jr-floating-checkout__btn:active {
    transform: translateY(1px);
    box-shadow: 0 2px 6px rgba(96, 81, 155, .2);
  }

  /* Padding dưới body để content không bị che bởi floating bar */
  .woocommerce-cart .site-main {
    padding-bottom: 80px;
  }
}

@media (min-width: 850px) {
  .jr-floating-checkout {
    display: none !important;
  }
}

/* ⑤ Mobile: Compact shipping cards */
@media (max-width: 768px) {
  .woocommerce-shipping-methods .shipping__list_item {
    margin: 5px 0;
  }

  .woocommerce-shipping-methods .shipping__list_label {
    padding: 10px 12px 10px 36px;
    font-size: 13px;
  }

  .woocommerce-shipping-methods .shipping__list_label::before {
    width: 16px;
    height: 16px;
    left: 12px;
  }

  .woocommerce-shipping-methods .shipping__list_label::after {
    width: 16px;
    height: 16px;
    left: 12px;
  }
}

/* ⑥ Mobile: Compact coupon */
@media (max-width: 768px) {
  .woocommerce-cart .coupon {
    border: none;
    border-radius: 0;
    padding: 0;
    overflow: hidden;
  }

  .woocommerce-cart .coupon input#coupon_code {
    height: 40px !important;
    font-size: 14px;
  }

  .woocommerce-cart .coupon .button {
    height: 40px !important;
    font-size: 13px;
    padding: 0 14px;
  }
}

/* ⑦ Giảm padding step indicator → bảng SP */
.woocommerce-cart .checkout-steps,
.woocommerce-cart .shop-page-title {
  margin-bottom: 20px;
}

/* ⑧ Mobile cart — comprehensive layout fixes */
@media (max-width: 768px) {
  /* Break ONLY the cart-form table layout (not cart_totals table!) */
  .woocommerce-cart-form .shop_table,
  .woocommerce-cart-form .shop_table thead,
  .woocommerce-cart-form .shop_table tbody,
  .woocommerce-cart-form .shop_table tr.cart_item,
  .woocommerce-cart-form .shop_table tr:has(> td.actions),
  .woocommerce-cart-form .shop_table td.actions {
    display: block !important;
    width: 100% !important;
  }

  /* ① Cart item row: flex layout with relative positioning */
  .woocommerce-cart-form .shop_table tr.cart_item {
    display: flex !important;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 15px 0;
    border-bottom: 1px solid #eee;
    position: relative;
  }

  /* Remove button (×) — top-left */
  .woocommerce-cart .cart_item td.product-remove {
    display: block !important;
    width: auto;
    position: absolute;
    top: 15px;
    left: 0;
    padding: 0;
  }

  /* Thumbnail — left column */
  .woocommerce-cart .cart_item td.product-thumbnail {
    display: block !important;
    width: 80px;
    flex-shrink: 0;
    padding: 0 10px 0 25px;
  }

  /* Product name (+ addons) — fills remaining space */
  .woocommerce-cart .cart_item td.product-name {
    display: block !important;
    flex: 1;
    min-width: 0;
    padding: 0 5px;
  }

  /* Price column — hidden */
  .woocommerce-cart .cart_item td.product-price {
    display: none !important;
  }

  /* ① Quantity: bên PHẢI, cùng hàng với thumbnail + product name */
  .woocommerce-cart .cart_item td.product-quantity {
    display: flex !important;
    align-items: center;
    flex-shrink: 0;
    padding: 0 0 0 8px;
    margin: 0;
  }

  /* Subtotal: dưới ô quantity, căn phải */
  .woocommerce-cart .cart_item td.product-subtotal {
    display: flex !important;
    width: auto;
    justify-content: flex-end;
    padding: 4px 0 0 0;
    margin-left: auto;
    font-weight: 700;
    font-size: 15px;
  }

  /* Ẩn price cũ (1 x $18.99) trong product-name */
  .woocommerce-cart .cart_item td.product-name .mobile-product-price {
    display: none !important;
  }

  /* ② Addon info: CỘT DỌC, căn trái — mỗi attribute 1 dòng */
  .woocommerce-cart td.product-name dl.variation {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 13px;
    margin-top: 6px;
  }

  .woocommerce-cart td.product-name dl.variation dt {
    font-weight: 600;
    float: none;
    clear: none;
    margin: 0;
    display: inline;
  }

  .woocommerce-cart td.product-name dl.variation dd {
    margin: 0 0 0 0;
    padding: 0;
    display: inline;
  }

  /* Mỗi cặp dt+dd trên 1 dòng: dùng dd để ngắt dòng sau mỗi cặp */
  .woocommerce-cart td.product-name dl.variation dd::after {
    content: '';
    display: block;
  }

  /* ③ Buttons gap: khoảng cách RÕ RÀNG giữa Continue Shopping & Update Cart */
  .shop_table td.actions {
    display: flex !important;
    flex-direction: column;
    gap: 0;
    padding-left: 0;
    padding-right: 0;
    margin-top: 10px;
  }

  .shop_table td.actions .continue-shopping {
    width: 100% !important;
    display: block !important;
    margin-right: 0;
    margin-bottom: 16px !important;
    float: none !important;
  }

  .shop_table td.actions .continue-shopping .button-continue-shopping {
    width: 100% !important;
    display: block !important;
    text-align: center;
    box-sizing: border-box;
    border-radius: var(--jr-radius) !important;
  }

  .shop_table td.actions button.button {
    width: 100% !important;
    float: none !important;
    border-radius: var(--jr-radius) !important;
  }

  /* Cart buttons — consistent border-radius */
  .woocommerce-cart .coupon .button,
  .woocommerce-cart .coupon input#coupon_code {
    border-radius: var(--jr-radius) !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    border-radius: var(--jr-radius) !important;
  }

  /* ⑤ Coupon: remove outer divider/border */
  .woocommerce-cart .row-divided > .cart-collaterals::before,
  .woocommerce-cart .cart-sidebar .ux-cart-coupon::before {
    display: none !important;
  }

  .woocommerce-cart .cart-sidebar .ux-cart-coupon {
    border: none !important;
    box-shadow: none !important;
  }

  /* ⑨ Cart Totals mobile — proper padding & layout */
  .cart_totals {
    padding: 0 15px;
  }

  .cart_totals .shop_table th,
  .cart_totals .shop_table td {
    padding: 8px 5px;
  }
}

/* ==========================================================================
   P) REVIEWS (WCPR)
   ========================================================================== */
.wcpr-filter-container .wcpr-filter-button {
  background-color: rgba(0, 0, 0, .03);
  border-color: var(--fs-color-primary);
  color: var(--fs-color-primary);
  border-radius: var(--jr-radius);
  padding: 10px !important;
  margin: 10px 0 !important;
  width: auto;
}

.wcpr-filter-container .wcpr-filter-button.wcpr-active {
  background: var(--jr-primary);
  color: var(--jr-white);
}

.review-form-inner.has-border {
  padding: 1em;
}

.wcpr-comment-form-title {
  margin-bottom: 1em;
}

.comment-form label {
  color: var(--jr-primary);
}

.comment-form .form-submit {
  margin-top: .5rem;
}

/* Filter container */
.wcpr-filter-container {
  width: 100%;
  max-width: 680px;
  border: 0 !important;
  gap: 5px;
  justify-content: space-between;
  margin: 1em auto;
  flex-wrap: nowrap;
}

.wcpr-filter-container>a.wcpr-filter-button,
.wcpr-filter-container>.wcpr-filter-button-wrap {
  width: 100%;
  align-items: center;
}

/* Dropdown */
.wcpr-filter-button-wrap {
  position: relative;
  width: 100%;
}

.wcpr-filter-button-ul {
  position: absolute;
  left: 0;
  width: 100%;
  background: var(--jr-white);
  border-radius: var(--jr-radius);
}

/* Responsive text */
.wcpr-filter-container a.wcpr-filter-button,
.wcpr-filter-rating-placeholder {
  white-space: nowrap;
  text-wrap: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: clamp(12px, 2.2vw, 14px);
  padding-inline: clamp(10px, 1.8vw, 16px);
}

.wcpr-filter-container a.wcpr-filter-button.wcpr-active,
.wcpr-filter-button-wrap.wcpr-active .wcpr-filter-rating-placeholder {
  border-color: var(--brand-primary, #1e202c) !important;
  box-shadow: none !important;
}

.wcpr-filter-rating-placeholder {
  color: var(--jr-white);
}

/* Rating filter dropdown */
.wcpr-filter-button-wrap.wcpr-filter-button {
  position: relative;
}

.wcpr-filter-button-wrap.wcpr-filter-button .wcpr-filter-button-ul {
  width: 100% !important;
  min-width: 100% !important;
  box-sizing: border-box;
}

.wcpr-filter-button-wrap.wcpr-filter-button .wcpr-filter-button-ul li,
.wcpr-filter-button-wrap.wcpr-filter-button .wcpr-filter-button-ul li a,
.wcpr-filter-button-wrap.wcpr-filter-button .wcpr-filter-button-ul li button {
  display: block;
  width: 100% !important;
  box-sizing: border-box;
  text-align: center;
}

@media (max-width: 360px) {
  .wcpr-filter-container {
    gap: 8px;
  }

  .wcpr-filter-container a.wcpr-filter-button,
  .wcpr-filter-rating-placeholder {
    font-size: 12px;
    padding-inline: 8px;
  }
}

/* ==========================================================================
   Q) CF7 INLINE NEWSLETTER
   ========================================================================== */
.wpcf7 form {
  max-width: 820px;
  margin: 0 auto;
}

.wpcf7 form p {
  display: flex;
  gap: 12px;
  align-items: stretch;
  margin: 0;
}

.wpcf7 .wpcf7-form-control-wrap {
  flex: 1;
  min-width: 0;
}

.wpcf7 input[type="email"] {
  width: 100%;
  height: 52px;
}

.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 22px;
  margin: 0 !important;
  white-space: nowrap;
}

.wpcf7 form .wpcf7-submit {
  display: block !important;
  margin: 16px auto 0 !important;
}

/* CF7 inline layout */
.cf7-inline>p {
  display: flex;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  margin: 0 !important;
}

.cf7-inline>p>.wpcf7-form-control-wrap {
  flex: 0 0 66.6667%;
  max-width: 66.6667%;
}

.cf7-inline>p>.wpcf7-form-control-wrap>input.wpcf7-email {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  margin: 0 !important;
  box-sizing: border-box;
}

.cf7-inline>p>input.wpcf7-submit {
  flex: 1 0 33.3333%;
  max-width: 33.3333%;
  height: 48px;
  padding: 0 16px;
  border-radius: 6px;
  margin: 0 !important;
  box-sizing: border-box;
  background: var(--brand-primary, var(--fs-color-primary, var(--primary-color, #1e202c))) !important;
  border: 1px solid var(--brand-primary, var(--fs-color-primary, var(--primary-color, #1e202c))) !important;
  color: var(--jr-white) !important;
  transition: filter .12s ease, transform .06s ease, box-shadow .18s ease;
}

.cf7-inline>p>input.wpcf7-submit:hover {
  filter: brightness(.96);
}

.cf7-inline>p>input.wpcf7-submit:active {
  transform: translateY(1px);
}

.cf7-inline>p>.wpcf7-spinner {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf7-inline>p>br {
  display: none;
}

/* Home page buttons */
.home .button.primary.is-bevel.lowercase {
  border-radius: var(--jr-radius) !important;
  box-sizing: border-box;
}

.home .wpcf7-form input.wpcf7-form-control[type="email"] {
  border-radius: var(--jr-radius) !important;
  box-sizing: border-box;
}

.home .wpcf7-form input.wpcf7-submit {
  border-radius: var(--jr-radius) !important;
  box-sizing: border-box;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
  border-radius: var(--jr-radius) !important;
  box-sizing: border-box;
}

@media (max-width: 480px) {
  .cf7-inline>p {
    flex-direction: column;
  }

  .cf7-inline>p>.wpcf7-form-control-wrap,
  .cf7-inline>p>input.wpcf7-submit {
    flex: 0 0 auto;
    max-width: 100%;
    width: 100%;
  }

  .wpcf7 form p {
    flex-direction: column;
  }

  .wpcf7 input[type="submit"] {
    width: 100%;
  }
}

/* ==========================================================================
   R) CUSTOMIZE NAME & NUMBER
   ========================================================================== */
.single-product .summary table.variations tr {
  display: block !important;
  margin: 0 0 var(--jr-block-gap) !important;
}

.single-product .summary table.variations th.label {
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  margin: 0 0 var(--jr-label-gap) !important;
  white-space: nowrap;
}

.single-product .summary table.variations th.label label {
  display: inline-block !important;
  margin: 0 !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
}

.single-product .summary #size+.jr-attr-row {
  margin-bottom: -15px !important;
}

/* Label + link (Detail*) / (Guide*) — SINGLE consolidated block (was 4x duplicated) */
.single-product .summary table.variations th.label .jr-right-link {
  position: static !important;
  display: inline-flex !important;
  margin: 0 0 0 6px !important;
  float: none !important;
  right: auto !important;
  left: auto !important;
  top: auto !important;
  text-decoration: none !important;
  line-height: 1.1 !important;
  text-transform: none;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .02em;
  color: var(--brand-primary, var(--fs-color-primary, var(--primary-color, #1e202c)));
}

.single-product .summary table.variations th.label .jr-right-link .jr-u {
  text-decoration: underline;
}

.single-product .summary table.variations th.label .jr-right-link .jr-star {
  text-decoration: none;
}

/* Customize wrap */
.single-product .summary .jr-customize-wrap {
  margin-top: 0 !important;
}

.single-product .summary .jr-field-group {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: var(--jr-customize-gap) !important;
  column-gap: 12px;
}

@media (min-width: 560px) {
  .single-product .summary .jr-field-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.single-product .summary .jr-customize-wrap .jr-field-row {
  margin: 0 !important;
}

/* Label */
.single-product .summary .jr-field-label {
  display: inline-block !important;
  margin: 0 0 var(--jr-label-gap) !important;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .02em;
  line-height: 1.15;
  font-size: clamp(15px, 1.9vw, 18px);
  color: var(--fs-color-heading, var(--heading-color, #1e202c));
  font-family: var(--heading-font, inherit);
}

.single-product .summary .jr-optional {
  display: inline-block;
  margin-left: 6px !important;
  font-size: 12px;
  font-weight: 400;
  color: var(--fs-color-primary, var(--primary-color, #1e202c));
  text-transform: none !important;
  letter-spacing: .02em;
  vertical-align: baseline;
}

label.jr-field-label+.jr-optional,
.uppercase+.jr-optional {
  margin-left: 6px;
  font-size: 12px;
  font-weight: 400;
  text-transform: none;
}

.single-product .summary .jr-customize-wrap .jr-field-row:first-child .jr-field-label {
  margin-top: 0 !important;
}

/* Input */
.single-product .summary .jr-input {
  display: block;
  width: 100%;
  background: var(--jr-white) !important;
  color: var(--brand-primary) !important;
  border: 1.5px solid var(--jr-border);
  border-radius: var(--jr-radius);
  padding: 6px 8px;
  font-weight: 600;
  text-transform: uppercase;
  box-shadow: var(--jr-shadow);
  margin: 0 !important;
}

.single-product .summary .jr-input::placeholder {
  color: rgba(0, 0, 0, .38);
  font-weight: 400;
  text-transform: none;
}

.jr-input:active {
  transform: translateY(0);
  box-shadow: 0 3px 10px rgba(16, 57, 83, .22);
}

.single-product .summary .jr-input.filled {
  background: var(--jr-white) !important;
  color: var(--brand-primary) !important;
  border-color: var(--brand-secondary) !important;
  font-weight: 800 !important;
  transform: translateY(0);
  box-shadow: 0 3px 10px rgba(16, 57, 83, .22);
}

/* WCPA field label */
.wcpa_wrap .wcpa_field_label {
  display: inline-block !important;
  margin: 0 0 var(--jr-label-gap) !important;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .02em;
  line-height: 1.15;
  font-size: clamp(15px, 1.9vw, 18px);
  color: var(--fs-color-heading, var(--heading-color, #1e202c));
  font-family: var(--heading-font, inherit);
}

.wcpa_wrap .wcpa_field_wrap input[type=text] {
  background: var(--jr-white) !important;
  color: var(--brand-primary) !important;
  border: 1.5px solid var(--jr-border);
  border-radius: var(--jr-radius);
  text-transform: uppercase;
}

.wcpa_wrap .wcpa_field_wrap input[type=text]:focus {
  box-shadow: var(--jr-shadow);
}

@media (max-width: 480px) {
  :root {
    --jr-customize-gap: 30px;
  }
}

@media (max-width: 420px) {
  .single-product .summary table.variations th.label {
    white-space: normal;
  }
}

@media (max-width: 360px) {
  .single-product .summary table.variations th.label {
    flex-wrap: wrap;
    gap: 4px 6px;
  }
}

/* ==========================================================================
   S) VARIATION BUTTONS (Material / Size)
   ========================================================================== */
/* Kill all dividers */
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations tr {
  border: none !important;
}

.woocommerce div.product form.cart table.variations th.label,
.woocommerce div.product form.cart table.variations th.label label {
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

.single-product .summary .is-divider,
.single-product .summary .is-divider::before,
.single-product .summary .is-divider::after,
.single-product .summary .ux-divider,
.single-product .summary hr {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.single-product .summary .reset_variations {
  display: none !important;
}

body.single-product div.product .summary table.variations th.label,
body.single-product div.product .summary table.variations td.value {
  display: block;
  width: 100%;
  padding: 0 !important;
  border: 0;
}

/* Material: 2 columns */
.single-product .summary #material+.jr-attr-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
}

.single-product .summary #material+.jr-attr-row .jr-attr {
  width: 100%;
  min-width: 0;
}

/* Size: 4 columns (2 rows) */
.single-product .summary #size+.jr-attr-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: row;
  gap: 12px;
  width: 100%;
  overflow: visible;
}

.single-product .summary #size+.jr-attr-row .jr-attr {
  width: 100%;
  min-width: 0;
}

/* Base button */
.single-product .summary .jr-attr {
  background: var(--jr-white) !important;
  color: var(--brand-primary) !important;
  border: 1.5px solid var(--jr-border);
  font-weight: 600;
  transition: all .18s ease;
}

.single-product .summary .jr-attr:hover {
  border-color: var(--brand-primary);
}

.single-product .summary .jr-attr:focus-visible {
  outline: 2px solid var(--brand-primary);
  outline-offset: 2px;
}

/* Selected state */
.single-product .summary .jr-attr.selected,
.single-product .summary .jr-attr.is-selected,
.single-product .summary .jr-attr.active,
.single-product .summary .jr-attr.is-active,
.single-product .summary .jr-attr[aria-pressed="true"],
.single-product .summary input[type="radio"]:checked+.jr-attr,
.single-product .summary input[type="checkbox"]:checked+.jr-attr,
.single-product .summary .ux-swatch.selected {
  transform: translateY(0);
  box-shadow: 0 3px 10px rgba(16, 57, 83, .22);
  filter: brightness(1.02);
  background: var(--jr-white) !important;
  color: var(--brand-primary) !important;
  border-color: var(--brand-secondary) !important;
  font-weight: 900 !important;
}

.single-product .summary .jr-attr span {
  color: inherit;
  font-weight: inherit;
}

.jr-attr:active {
  transform: translateY(0);
  box-shadow: 0 3px 10px rgba(16, 57, 83, .22);
  filter: brightness(1.02);
}

.jr-attr-row {
  margin-top: 2px !important;
}

/* ==========================================================================
   T) SHOP ORDERING, BREADCRUMB & MISC
   ========================================================================== */
/* Breadcrumb — navigation size, nhỏ hơn product title (H1) */
body.woocommerce nav.woocommerce-breadcrumb.breadcrumbs.uppercase {
  display: block;
  font-family: inherit;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin: 0 0 6px;
  color: var(--jr-muted, #a5a5a5);
}

body.woocommerce nav.woocommerce-breadcrumb a {
  color: var(--jr-muted, #a5a5a5);
  font-family: inherit;
  text-decoration: none;
  transition: color .2s ease;
}

body.woocommerce nav.woocommerce-breadcrumb a:hover {
  color: var(--jr-primary, #1e202c);
}

/* Shop ordering */
.woocommerce .woocommerce-ordering {
  min-width: 230px;
}

.woocommerce .woocommerce-ordering select.orderby {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font: inherit;
  color: var(--jr-ink);
  background-color: var(--jr-bg);
  border: 1.5px solid var(--jr-border);
  border-radius: var(--jr-radius) !important;
  height: var(--jr-input-h) !important;
  line-height: 1.2;
  padding: 10px 40px 10px 14px;
  box-shadow: 0 1px 2px rgba(43, 47, 54, .05);
  transition: border-color .15s ease, box-shadow .15s ease, transform .04s ease;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='20' height='20' fill='none' stroke='%232B2F36' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 18px;
}

.woocommerce .woocommerce-ordering select.orderby:hover {
  border-color: var(--jr-primary) !important;
  box-shadow: 0 2px 6px rgba(18, 88, 193, 0.12);
}

.woocommerce .woocommerce-ordering select.orderby:focus {
  border-color: var(--jr-primary) !important;
  box-shadow: 0 0 0 3px rgba(18, 88, 193, 0.12), 0 2px 6px rgba(18, 88, 193, 0.12);
}

.woocommerce .woocommerce-ordering select.orderby:active {
  transform: translateY(1px);
  border-color: var(--jr-accent) !important;
  box-shadow: 0 0 0 3px rgba(18, 88, 193, 0.12);
}

.woocommerce .woocommerce-ordering select.orderby option {
  color: var(--jr-ink);
}

/* Filter row */
.category-filtering.category-filter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: nowrap;
}

.category-filtering .filter-button {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.category-filtering .inline-block {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
}

.woocommerce-result-count {
  display: none !important;
}

@media (max-width: 600px) {
  .woocommerce .woocommerce-ordering {
    min-width: 160px;
  }

  .woocommerce .woocommerce-ordering select.orderby {
    padding-right: 34px;
    font-size: 14px;
  }
}

@media (max-width: 380px) {
  .category-filtering.category-filter-row {
    flex-wrap: wrap;
    row-gap: 8px;
  }

  .category-filtering .inline-block {
    margin-left: 0;
    width: 100%;
    justify-content: flex-start;
  }
}

/* Search bar */
.dgwt-wcas-no-submit .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
  font-size: 1.2em;
  border-radius: var(--jr-radius);
}

.dgwt-wcas-search-wrapp {
  max-width: 90% !important;
}

/* Did You Know + Accordion (legacy bestcheaptshirt) */
.bestcheaptshirt_text_didyounow {
  position: relative;
  margin: 0 auto 23px;
  padding-bottom: 10px;
}

.bestcheaptshirt_text_didyounow h2 {
  font-size: 1.875rem;
}

.bestcheaptshirt_text_didyounow h2:after {
  content: "";
  width: 50px;
  height: 3px;
  background: var(--jr-purple-accent);
  position: absolute;
  top: 100%;
  left: 0;
  right: auto;
  margin: 0 auto;
}

.bestcheaptshirt_plain {
  margin-bottom: 10px;
}

.bestcheaptshirt_plain .accordion-title {
  background-color: var(--jr-white);
  cursor: pointer;
  border: none;
  padding-left: 15px;
  border-radius: var(--jr-radius);
}

.bestcheaptshirt_plain .accordion-title.active {
  background-color: var(--jr-purple-accent);
  color: var(--jr-white);
}

.bestcheaptshirt_plain .toggle {
  right: 0;
  left: unset;
}

.bestcheaptshirt_plain .accordion-inner {
  padding: 14px 18px;
  background: var(--jr-white);
}

.bestcheaptshirt_row_banner .col {
  padding-bottom: 0px !important;
  height: 216px;
}

.bestcheaptshirt_radius_image_banner .img-inner>img {
  border-radius: 50% !important;
}

/* Blog */
#content .article-inner .entry-content #related_posts {
  display: none;
}

/* FlipContainer */
.flipContainer.box-shadow-2 {
  box-shadow: none;
}

/* Tooltips */
.tooltipster-content {
  color: var(--jr-white) !important;
}

/* 404 page */
.not-found form.searchform {
  max-width: 50%;
}

.not-found input#s,
.not-found button.ux-search-submit {
  max-height: var(--jr-btn-h);
}

.not-found button.ux-search-submit.button {
  border-radius: 0 .5rem .5rem 0 !important;
}

.not-found input#s {
  border-radius: .5rem 0 0 .5rem;
  border-right: 0;
}

/* Product grid */
@media (min-width: 800px) {
  .product-small .box-image .grid-tools.hover-slide-in .add-to-cart-grid {
    display: none;
  }
}

.product-small .box-image .image-tools.is-small.top.right.show-on-hover .product-actions-mobile {
  display: none;
}

@media (max-width: 568px) {
  .product-main .wcpa_form_outer .wcpa_form_item>label {
    font-size: 1em;
  }

  .product-small .box-image .image-tools.is-small.top.right.show-on-hover .product-actions-mobile {
    display: block;
  }

  .product-small .box-image .product-actions-mobile .product-actions-icon {
    border-radius: 79px !important;
    width: 45px !important;
    padding: unset !important;
    height: 45px;
    text-align: center !important;
  }

  .product-small .box-image .product-actions-mobile .quickview1.product-actions-icon a.quickview {
    padding-top: 8px !important;
  }

  .product-small .box-image .product-actions-mobile .add-to-cart-wrapper1.product-actions-icon {
    right: -7% !important;
    position: absolute;
  }
}

@media (max-width: 480px) {

  .flipContainer .flickity-prev-next-button.next,
  .flipContainer .flickity-prev-next-button.previous {
    display: none;
  }

  .flipContainer .product-info.inner-padding {
    padding-left: 0;
    padding-right: 0;
  }

  .wcpa_wrap .wcpa_color .wcpa_color_label {
    white-space: nowrap;
    position: absolute;
    bottom: 0;
    left: 0;
  }

  .wcpa_wrap .wcpa_group_field label {
    overflow: hidden;
    padding-bottom: 1.5rem;
    position: relative;
  }

  .table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}