/* =========================================================
   RibbonLine Modern Shop v5.7.0
   Single Product + Archive Product Card UI
========================================================= */

body.rln-modern-shop {
  --rln-primary: #6d28ff;
  --rln-primary-2: #4f1dff;
  --rln-ink: #0f172a;
  --rln-text: #334155;
  --rln-muted: #8a94a6;
  --rln-line: rgba(15, 23, 42, .12);
  --rln-soft: #f3f6fb;
  --rln-card: #fff;
  --rln-shadow: 0 18px 38px rgba(15, 23, 42, .07);
  --rln-radius: 18px;
}

body.rln-modern-shop .main-wrap,
body.rln-modern-shop .site-content,
body.rln-modern-shop .content-wrap,
body.rln-modern-shop .ts-row,
body.rln-modern-shop .the-post,
body.rln-modern-shop .post-content,
body.rln-modern-shop .woocommerce {
  overflow: visible !important;
}

body.rln-modern-shop .woocommerce-product-gallery__trigger { display: none !important; }
body.rln-modern-shop .woocommerce span.onsale,
body.rln-modern-shop span.onsale { display: none !important; }

/* =========================================================
   Single product layout
========================================================= */
body.rln-modern-product.single-product .woocommerce div.product,
body.rln-modern-product.single-product div.product.type-product {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 30px auto 72px !important;
  padding: 0 24px !important;
  display: grid !important;
  grid-template-columns: minmax(480px, 600px) minmax(450px, 1fr) !important;
  column-gap: 44px !important;
  row-gap: 52px !important;
  align-items: start !important;
}

body.rln-modern-product.single-product .woocommerce div.product div.images,
body.rln-modern-product.single-product div.product.type-product div.images {
  grid-column: 1 !important;
  float: none !important;
  width: 100% !important;
  max-width: 600px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

body.rln-modern-product.single-product .woocommerce div.product div.images img {
  width: 100% !important;
  height: auto !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.rln-modern-product.single-product.rln-product-on-sale .woocommerce div.product div.images::before {
  content: "SALE";
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 66px;
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: #0b1220;
  border: 2px solid #fff;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .03em;
  box-shadow: 0 8px 20px rgba(0,0,0,.2);
  pointer-events: none;
}

body.rln-modern-product.single-product .woocommerce div.product div.summary,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary,
body.rln-modern-product.single-product div.product.type-product div.summary {
  grid-column: 2 !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  position: relative !important;
  top: auto !important;
}

body.rln-modern-product.single-product .woocommerce div.product .product_title {
  margin: 0 0 13px !important;
  color: var(--rln-ink) !important;
  font-size: clamp(25px, 2.05vw, 34px) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.05em !important;
  font-weight: 800 !important;
}

.rln-title-brand,
body.rln-modern-product.single-product .rln-product-brand-line {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 20px !important;
}
.rln-title-brand .rln-brand-label,
.rln-product-brand-line .rln-brand-label {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.rln-title-brand a,
.rln-product-brand-line a,
.rln-product-brand-line .rln-brand-name {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  background: #f6efff !important;
  border: 1px solid rgba(109, 40, 255, .22) !important;
  color: var(--rln-primary) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.rln-modern-product.single-product .woocommerce div.product p.price,
body.rln-modern-product.single-product .woocommerce div.product span.price {
  margin: 0 0 20px !important;
  color: var(--rln-primary-2) !important;
  font-size: 30px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
}
body.rln-modern-product.single-product .woocommerce div.product p.price del,
body.rln-modern-product.single-product .woocommerce div.product span.price del {
  color: #9aa5b1 !important;
  font-size: .64em !important;
  opacity: 1 !important;
  font-weight: 700 !important;
  margin-right: 8px !important;
}
body.rln-modern-product.single-product .woocommerce div.product p.price ins,
body.rln-modern-product.single-product .woocommerce div.product span.price ins {
  text-decoration: none !important;
}

body.rln-modern-product.single-product .woocommerce-product-details__short-description {
  color: var(--rln-text) !important;
  font-size: 15.5px !important;
  line-height: 1.8 !important;
  margin: 0 0 24px !important;
}

/* Single cart row */
body.rln-modern-product.single-product .woocommerce div.product form.cart {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: 12px !important;
  row-gap: 12px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 26px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.rln-modern-product.single-product .woocommerce div.product form.cart div.quantity {
  grid-column: 1 !important;
  width: 96px !important;
  min-width: 96px !important;
  margin: 0 !important;
  position: relative !important;
}
body.rln-modern-product.single-product .woocommerce .quantity .qty {
  width: 72px !important;
  height: 50px !important;
  min-height: 50px !important;
  border: 1px solid var(--rln-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #334155 !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
body.rln-modern-product.single-product .woocommerce .quantity .plus,
body.rln-modern-product.single-product .woocommerce .quantity .minus,
body.rln-modern-product.single-product .woocommerce .quantity button:not(.rln-qty-btn) {
  display: none !important;
}
.rln-qty-controls {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 25px !important;
  height: 50px !important;
  display: flex !important;
  flex-direction: column !important;
  z-index: 4 !important;
}
.rln-qty-btn {
  width: 25px !important;
  height: 25px !important;
  min-height: 25px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid var(--rln-line) !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #94a3b8 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}

body.rln-modern-product.single-product .woocommerce div.product form.cart .single_add_to_cart_button:not(.rln-buy-now-button) {
  grid-column: 2 !important;
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  border: 1px solid var(--rln-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--rln-ink) !important;
  -webkit-text-fill-color: var(--rln-ink) !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-indent: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
}
body.rln-modern-product.single-product .woocommerce div.product form.cart .rln-buy-now-button {
  grid-column: 3 !important;
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #7c3cff 0%, #4f1dff 100%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 18px 34px rgba(109, 40, 255, .28) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-indent: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
}
body.rln-modern-product.single-product form.cart .buy_now_button:not(.rln-buy-now-button),
body.rln-modern-product.single-product form.cart .wc-buy-now-btn:not(.rln-buy-now-button),
body.rln-modern-product.single-product form.cart .single_buy_now_button:not(.rln-buy-now-button),
body.rln-modern-product.single-product form.cart .wpcbn-btn:not(.rln-buy-now-button),
body.rln-modern-product.single-product form.cart .quick-buy-button:not(.rln-buy-now-button) {
  display: none !important;
}

/* Wishlist */
body.rln-modern-product.single-product .yith-wcwl-add-to-wishlist,
body.rln-modern-product.single-product .wishlist-fragment {
  display: block !important;
  width: 100% !important;
  margin: 20px 0 0 !important;
  text-align: center !important;
  color: var(--rln-ink) !important;
  font-weight: 800 !important;
}
body.rln-modern-product.single-product a.add_to_wishlist,
body.rln-modern-product.single-product .yith-wcwl-add-to-wishlist a {
  color: var(--rln-ink) !important;
  -webkit-text-fill-color: var(--rln-ink) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Meta */
body.rln-modern-product.single-product .product_meta {
  margin-top: 28px !important;
  padding-top: 24px !important;
  border-top: 0 !important;
  color: #334155 !important;
  font-size: 14px !important;
  line-height: 2.25 !important;
}
body.rln-modern-product.single-product .product_meta > span {
  display: block !important;
  margin-bottom: 8px !important;
}
body.rln-modern-product.single-product .product_meta .posted_in::before { content: "카테고리: "; font-weight: 800; color: #111827; }
body.rln-modern-product.single-product .product_meta .tagged_as::before { content: "태그: "; font-weight: 800; color: #111827; }
body.rln-modern-product.single-product .product_meta .sku_wrapper::before { content: "상품 코드: "; font-weight: 800; color: #111827; }
body.rln-modern-product.single-product .product_meta .posted_in,
body.rln-modern-product.single-product .product_meta .tagged_as,
body.rln-modern-product.single-product .product_meta .sku_wrapper { font-size: 0 !important; }
body.rln-modern-product.single-product .product_meta .posted_in a,
body.rln-modern-product.single-product .product_meta .posted_in .rln-meta-text,
body.rln-modern-product.single-product .product_meta .tagged_as a,
body.rln-modern-product.single-product .product_meta .tagged_as .rln-meta-text,
body.rln-modern-product.single-product .product_meta .sku_wrapper .sku,
body.rln-modern-product.single-product .product_meta .sku_wrapper .rln-meta-text {
  font-size: 14px !important;
}
body.rln-modern-product.single-product .product_meta .sku_wrapper .sku { font-weight: 600 !important; color: #334155 !important; }
body.rln-modern-product.single-product .product_meta .posted_in a,
body.rln-modern-product.single-product .product_meta .product_cat a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 11px !important;
  margin: 0 4px 4px 0 !important;
  border-radius: 999px !important;
  background: #f6efff !important;
  border: 1px solid rgba(109, 40, 255, .2) !important;
  color: var(--rln-primary) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
body.rln-modern-product.single-product .product_meta .tagged_as a {
  color: var(--rln-primary) !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
body.rln-modern-product.single-product .product_meta .rln-brand-meta,
body.rln-modern-product.single-product .product_meta .brand,
body.rln-modern-product.single-product .product_meta .yith-wcbr-brands,
body.rln-modern-product.single-product .product_meta .posted_in + .tagged_as + span:not(.sku_wrapper) {
  display: none !important;
}

/* Tabs */
body.rln-modern-product.single-product .woocommerce div.product .woocommerce-tabs,
body.rln-modern-product.single-product .woocommerce-tabs.wc-tabs-wrapper {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 1000px !important;
  margin: 70px auto 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  display: block !important;
}
body.rln-modern-product.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 0 0 34px !important;
  padding: 0 !important;
  border: 0 !important;
}
body.rln-modern-product.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.rln-modern-product.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::after { display:none !important; }
body.rln-modern-product.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.rln-modern-product.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.rln-modern-product.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none !important; }
body.rln-modern-product.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 0 26px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,.1) !important;
  color: var(--rln-ink) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.05) !important;
}
body.rln-modern-product.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  background: var(--rln-ink) !important;
  color: #fff !important;
  border-color: var(--rln-ink) !important;
}
body.rln-modern-product.single-product .woocommerce div.product .woocommerce-tabs .panel,
body.rln-modern-product.single-product .woocommerce-tabs .panel {
  width: 100% !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: var(--rln-text) !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
}
body.rln-modern-product.single-product #tab-description img,
body.rln-modern-product.single-product .woocommerce-Tabs-panel--description img {
  display: block !important;
  width: auto !important;
  max-width: min(100%, 1000px) !important;
  height: auto !important;
  margin: 0 auto !important;
}

/* =========================================================
   Unified archive / shop / related product cards
========================================================= */
body.rln-modern-shop .woocommerce ul.products {
  margin: 34px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}
body.rln-modern-shop.single-product .related.products ul.products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  max-width: 1180px !important;
}
body.rln-modern-shop .woocommerce ul.products::before,
body.rln-modern-shop .woocommerce ul.products::after { display: none !important; }
body.rln-modern-shop .woocommerce ul.products li.product,
body.rln-modern-shop .woocommerce-page ul.products li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  position: relative !important;
  display: flex !important;
  align-items: stretch !important;
}
body.rln-modern-shop .rln-loop-card {
  width: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  padding: 14px !important;
  border: 1px solid rgba(15, 23, 42, .11) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 18px 38px rgba(15, 23, 42, .055) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
body.rln-modern-shop .rln-loop-image {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 1 / .77 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 13px !important;
  background: #eef3f8 !important;
  text-decoration: none !important;
}
body.rln-modern-shop .rln-loop-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
body.rln-modern-shop .rln-loop-sale {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 32px !important;
  padding: 0 13px !important;
  border-radius: 0 !important;
  background: #14b8a6 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
}
body.rln-modern-shop .rln-loop-stock {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 6 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 32px !important;
  padding: 0 14px !important;
  border-radius: 0 !important;
  background: #0f172a !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .18) !important;
}
body.rln-modern-shop .rln-loop-card-outofstock .rln-loop-image img {
  opacity: .86 !important;
}
body.rln-modern-shop .rln-loop-card-outofstock .rln-loop-image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(255,255,255,.16) !important;
  pointer-events: none !important;
}
body.rln-modern-shop .rln-loop-title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  margin: 15px 0 10px !important;
  padding: 0 6px !important;
  color: var(--rln-ink) !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: -0.045em !important;
  text-decoration: none !important;
  text-align: center !important;
}
body.rln-modern-shop .rln-loop-price,
body.rln-modern-shop .woocommerce ul.products li.product .price {
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  width: 100% !important;
  min-height: 26px !important;
  margin: 0 0 11px !important;
  padding: 0 !important;
  color: var(--rln-primary-2) !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  text-align: center !important;
}
body.rln-modern-shop .rln-loop-price del,
body.rln-modern-shop .woocommerce ul.products li.product .price del {
  color: #9aa5b1 !important;
  opacity: 1 !important;
  font-size: .72em !important;
  font-weight: 800 !important;
  text-decoration-thickness: 1px !important;
}
body.rln-modern-shop .rln-loop-price ins,
body.rln-modern-shop .woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
  color: var(--rln-primary-2) !important;
}
body.rln-modern-shop .rln-loop-cats {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  min-height: 30px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  text-align: center !important;
}
body.rln-modern-shop .rln-loop-cats a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #f6efff !important;
  border: 1px solid rgba(109, 40, 255, .22) !important;
  color: var(--rln-primary) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  line-height: 1 !important;
}
body.rln-modern-shop .rln-loop-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 9px !important;
  width: 100% !important;
  margin: auto 0 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}
body.rln-modern-shop .rln-loop-btn,
body.rln-modern-shop .woocommerce ul.products li.product .rln-loop-btn,
body.rln-modern-shop .woocommerce ul.products li.product a.rln-loop-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  transform: none !important;
  box-shadow: none !important;
  text-indent: 0 !important;
}
body.rln-modern-shop .rln-loop-cart-btn,
body.rln-modern-shop .rln-loop-view-btn {
  background: #fff !important;
  border: 1px solid rgba(15, 23, 42, .17) !important;
  color: var(--rln-ink) !important;
  -webkit-text-fill-color: var(--rln-ink) !important;
}
body.rln-modern-shop .rln-loop-buy-btn {
  background: linear-gradient(135deg, #7c3cff 0%, #4f1dff 100%) !important;
  border: 1px solid transparent !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 12px 22px rgba(109, 40, 255, .22) !important;
}
body.rln-modern-shop .rln-loop-oos-btn {
  background: #f1f5f9 !important;
  border: 1px solid rgba(15, 23, 42, .10) !important;
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* Hide leftover theme/plugin loop elements only if outside our controlled card */
body.rln-modern-shop .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
body.rln-modern-shop .woocommerce ul.products li.product > a.button:not(.rln-loop-btn),
body.rln-modern-shop .woocommerce ul.products li.product > button.button:not(.rln-loop-btn),
body.rln-modern-shop .woocommerce ul.products li.product > .button:not(.rln-loop-btn),
body.rln-modern-shop .woocommerce ul.products li.product > .added_to_cart,
body.rln-modern-shop .woocommerce ul.products li.product > .price,
body.rln-modern-shop .woocommerce ul.products li.product > .woocommerce-loop-product__title,
body.rln-modern-shop .woocommerce ul.products li.product > .product-cat,
body.rln-modern-shop .woocommerce ul.products li.product > .product-category,
body.rln-modern-shop .woocommerce ul.products li.product > .star-rating,
body.rln-modern-shop .woocommerce ul.products li.product > .rln-duplicate-kill {
  display: none !important;
}
body.rln-modern-shop .rln-hidden-force,
body.rln-modern-shop .rln-duplicate-kill { display: none !important; }

/* Related section */
body.rln-modern-shop.single-product .related.products {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 64px auto 0 !important;
  padding: 0 !important;
}
body.rln-modern-shop.single-product .related.products > h2 {
  margin: 0 0 22px !important;
  color: var(--rln-ink) !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  letter-spacing: -0.055em !important;
  text-align: left !important;
}

/* Sticky bottom buy bar */
.rln-sticky-buybar {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 9997 !important;
  transform: translateY(120%) !important;
  transition: transform .22s ease !important;
  padding: 12px 22px !important;
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(14px) !important;
  border-top: 1px solid rgba(15,23,42,.08) !important;
  box-shadow: 0 -18px 40px rgba(15,23,42,.1) !important;
}
.rln-sticky-buybar.is-visible { transform: translateY(0) !important; }
.rln-sticky-inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(240px, 1fr) auto auto auto !important;
  gap: 10px !important;
  align-items: center !important;
}
.rln-sticky-info { display: flex !important; align-items: center !important; gap: 10px !important; min-width: 0 !important; }
.rln-sticky-thumb { width: 48px !important; height: 48px !important; border-radius: 10px !important; object-fit: cover !important; flex: 0 0 auto !important; }
.rln-sticky-title { min-width: 0 !important; font-size: 14px !important; font-weight: 900 !important; color: var(--rln-ink) !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.rln-sticky-price { display: inline-flex !important; gap: 7px !important; align-items: baseline !important; color: var(--rln-primary-2) !important; font-size: 17px !important; font-weight: 900 !important; white-space: nowrap !important; }
.rln-sticky-price del { color: #9aa5b1 !important; font-size: .75em !important; font-weight: 800 !important; }
.rln-sticky-price ins { text-decoration: none !important; color: var(--rln-primary-2) !important; }
.rln-sticky-qty { display: inline-flex !important; align-items: center !important; height: 46px !important; border: 1px solid var(--rln-line) !important; border-radius: 12px !important; overflow: hidden !important; background: #fff !important; }
.rln-sticky-qty button { width: 38px !important; height: 46px !important; border: 0 !important; background: #fff !important; color: #0f172a !important; font-size: 16px !important; font-weight: 900 !important; box-shadow: none !important; }
.rln-sticky-qty input { width: 46px !important; height: 46px !important; border: 0 !important; text-align: center !important; font-size: 15px !important; font-weight: 800 !important; }
.rln-sticky-btn { height: 46px !important; min-width: 128px !important; border-radius: 12px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 18px !important; text-decoration: none !important; font-size: 14px !important; font-weight: 900 !important; white-space: nowrap !important; }
.rln-sticky-cart { background: #fff !important; color: var(--rln-ink) !important; border: 1px solid var(--rln-line) !important; }
.rln-sticky-buy { background: linear-gradient(135deg,#7c3cff,#4f1dff) !important; color: #fff !important; border: 0 !important; box-shadow: 0 16px 30px rgba(109,40,255,.25) !important; }

/* =========================================================
   Responsive
========================================================= */
@media (max-width: 980px) {
  body.rln-modern-product.single-product .woocommerce div.product,
  body.rln-modern-product.single-product div.product.type-product {
    display: flex !important;
    flex-direction: column !important;
    max-width: 720px !important;
    padding: 0 18px !important;
    gap: 28px !important;
  }
  body.rln-modern-product.single-product .woocommerce div.product div.images,
  body.rln-modern-product.single-product .woocommerce div.product div.summary {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: auto !important;
  }
  body.rln-modern-product.single-product .woocommerce div.product .product_title {
    font-size: 28px !important;
    line-height: 1.25 !important;
  }
  body.rln-modern-product.single-product .woocommerce div.product form.cart {
    grid-template-columns: 82px minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  body.rln-modern-product.single-product .woocommerce div.product form.cart div.quantity {
    width: 82px !important; min-width: 82px !important;
  }
  body.rln-modern-product.single-product .woocommerce .quantity .qty { width: 58px !important; height: 48px !important; min-height: 48px !important; }
  .rln-qty-controls { width: 24px !important; height: 48px !important; }
  .rln-qty-btn { width: 24px !important; height: 24px !important; min-height: 24px !important; }
  body.rln-modern-product.single-product .woocommerce div.product form.cart .single_add_to_cart_button:not(.rln-buy-now-button),
  body.rln-modern-product.single-product .woocommerce div.product form.cart .rln-buy-now-button {
    height: 48px !important;
    min-height: 48px !important;
    font-size: 14px !important;
    border-radius: 13px !important;
  }
  body.rln-modern-shop .woocommerce ul.products,
  body.rln-modern-shop.single-product .related.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

@media (max-width: 620px) {
  body.rln-modern-product.single-product .woocommerce div.product,
  body.rln-modern-product.single-product div.product.type-product {
    max-width: 100% !important;
    padding: 0 16px !important;
    margin-top: 18px !important;
  }
  body.rln-modern-product.single-product .woocommerce div.product .product_title {
    font-size: 25px !important;
  }
  body.rln-modern-product.single-product .woocommerce div.product p.price,
  body.rln-modern-product.single-product .woocommerce div.product span.price {
    font-size: 28px !important;
  }
  body.rln-modern-product.single-product .woocommerce div.product form.cart {
    grid-template-columns: 72px minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  body.rln-modern-product.single-product .woocommerce div.product form.cart div.quantity {
    width: 72px !important; min-width: 72px !important;
  }
  body.rln-modern-product.single-product .woocommerce .quantity .qty { width: 49px !important; font-size: 15px !important; }
  .rln-qty-controls { width: 23px !important; }
  .rln-qty-btn { width: 23px !important; font-size: 13px !important; }
  body.rln-modern-product.single-product .woocommerce div.product form.cart .single_add_to_cart_button:not(.rln-buy-now-button),
  body.rln-modern-product.single-product .woocommerce div.product form.cart .rln-buy-now-button {
    padding: 0 7px !important;
    font-size: 13px !important;
  }
  body.rln-modern-shop .woocommerce ul.products,
  body.rln-modern-shop.single-product .related.products ul.products {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  body.rln-modern-shop.single-product .related.products {
    max-width: 100% !important;
    margin-top: 56px !important;
  }
  body.rln-modern-shop.single-product .related.products > h2 {
    font-size: 28px !important;
  }
  body.rln-modern-shop .rln-loop-card { padding: 14px !important; }
  body.rln-modern-shop .rln-loop-title { font-size: 18px !important; min-height: auto !important; }
  body.rln-modern-shop .rln-loop-price { font-size: 21px !important; }
  .rln-sticky-buybar { padding: 9px 12px !important; }
  .rln-sticky-inner {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 8px !important;
  }
  .rln-sticky-info { opacity: .42 !important; min-width: 0 !important; }
  .rln-sticky-thumb { width: 42px !important; height: 42px !important; }
  .rln-sticky-title { display: none !important; }
  .rln-sticky-price { font-size: 14px !important; }
  .rln-sticky-qty { display: none !important; }
  .rln-sticky-btn { min-width: 92px !important; height: 44px !important; padding: 0 12px !important; font-size: 13px !important; }
}

@media (max-width: 380px) {
  body.rln-modern-product.single-product .woocommerce div.product form.cart {
    grid-template-columns: 66px minmax(0, 1fr) minmax(0, 1fr) !important;
  }
  body.rln-modern-product.single-product .woocommerce div.product form.cart div.quantity {
    width: 66px !important; min-width: 66px !important;
  }
  body.rln-modern-product.single-product .woocommerce .quantity .qty { width: 43px !important; }
}

/* =========================================================
   v5.4.0 Related products desktop/tablet 3-column hard layout fix
   - Some theme/container states kept related items as one-column.
   - Force 3 columns except true small mobile screens.
========================================================= */
body.rln-modern-shop.single-product .related.products ul.products,
body.rln-modern-shop.single-product .related.products ul.products.products,
body.rln-modern-shop.single-product .related.products ul.products.columns-2,
body.rln-modern-shop.single-product .related.products ul.products.columns-3,
body.rln-modern-shop.single-product .related.products ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.rln-modern-shop.single-product .related.products ul.products li.product {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
}
@media (min-width: 541px) {
  body.rln-modern-shop.single-product .related.products ul.products,
  body.rln-modern-shop.single-product .related.products ul.products.products,
  body.rln-modern-shop.single-product .related.products ul.products.columns-2,
  body.rln-modern-shop.single-product .related.products ul.products.columns-3,
  body.rln-modern-shop.single-product .related.products ul.products.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 540px) {
  body.rln-modern-shop.single-product .related.products ul.products,
  body.rln-modern-shop.single-product .related.products ul.products.products,
  body.rln-modern-shop.single-product .related.products ul.products.columns-2,
  body.rln-modern-shop.single-product .related.products ul.products.columns-3,
  body.rln-modern-shop.single-product .related.products ul.products.columns-4 {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

/* =========================================================
   v5.4.0 Related products PC/tablet 3-column final override
   - Related cards are intentionally smaller than previous 2-column layout.
   - True small mobile only remains 1-column.
========================================================= */
body.rln-modern-shop.single-product .related.products {
  max-width: 1180px !important;
}
body.rln-modern-shop.single-product .related.products ul.products,
body.rln-modern-shop.single-product .related.products ul.products.products,
body.rln-modern-shop.single-product .related.products ul.products.columns-2,
body.rln-modern-shop.single-product .related.products ul.products.columns-3,
body.rln-modern-shop.single-product .related.products ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.rln-modern-shop.single-product .related.products .rln-loop-card {
  padding: 12px !important;
  border-radius: 16px !important;
}
body.rln-modern-shop.single-product .related.products .rln-loop-image {
  border-radius: 12px !important;
}
body.rln-modern-shop.single-product .related.products .rln-loop-title {
  font-size: 15px !important;
  min-height: 44px !important;
  margin-top: 13px !important;
  margin-bottom: 8px !important;
}
body.rln-modern-shop.single-product .related.products .rln-loop-price {
  font-size: 18px !important;
  margin-bottom: 9px !important;
}
body.rln-modern-shop.single-product .related.products .rln-loop-cats {
  margin-bottom: 10px !important;
}
body.rln-modern-shop.single-product .related.products .rln-loop-cats a {
  min-height: 26px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
}
body.rln-modern-shop.single-product .related.products .rln-loop-btn {
  height: 42px !important;
  min-height: 42px !important;
  font-size: 13px !important;
  border-radius: 11px !important;
}
@media (max-width: 720px) {
  body.rln-modern-shop.single-product .related.products ul.products,
  body.rln-modern-shop.single-product .related.products ul.products.products,
  body.rln-modern-shop.single-product .related.products ul.products.columns-2,
  body.rln-modern-shop.single-product .related.products ul.products.columns-3,
  body.rln-modern-shop.single-product .related.products ul.products.columns-4 {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  body.rln-modern-shop.single-product .related.products .rln-loop-card {
    padding: 14px !important;
  }
  body.rln-modern-shop.single-product .related.products .rln-loop-title {
    font-size: 18px !important;
    min-height: auto !important;
  }
  body.rln-modern-shop.single-product .related.products .rln-loop-price {
    font-size: 21px !important;
  }
}


/* =========================================================
   v5.5.0 Single product purchase row final override
   - RibbonLine purple buttons, not green theme buttons.
   - Quantity + / - buttons aligned to the same height.
   - Mobile keeps quantity / cart / buy in one line.
========================================================= */
body.rln-modern-product.single-product .summary.entry-summary form.cart,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart,
body.rln-modern-product.single-product div.product.type-product form.cart.cart {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 26px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  float: none !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity input.qty,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity input.qty {
  display: block !important;
  flex: 0 0 68px !important;
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(15, 23, 42, .13) !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 50px !important;
  text-align: center !important;
  appearance: textfield !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty::-webkit-outer-spin-button,
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-controls {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 28px !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  z-index: 5 !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-btn {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 25px !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: 25px !important;
  min-height: 25px !important;
  max-height: 25px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(15, 23, 42, .13) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #8b95a3 !important;
  -webkit-text-fill-color: #8b95a3 !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-plus { border-bottom: 0 !important; }

body.rln-modern-product.single-product .summary.entry-summary form.cart button.single_add_to_cart_button:not(.rln-buy-now-button),
body.rln-modern-product.single-product .summary.entry-summary form.cart .single_add_to_cart_button.button:not(.rln-buy-now-button),
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart button.single_add_to_cart_button:not(.rln-buy-now-button),
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart button.single_add_to_cart_button:not(.rln-buy-now-button) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid rgba(109, 40, 255, .28) !important;
  border-radius: 11px !important;
  background: #fff !important;
  background-image: none !important;
  color: #32147a !important;
  -webkit-text-fill-color: #32147a !important;
  box-shadow: 0 10px 22px rgba(109, 40, 255, .06) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.025em !important;
  text-align: center !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  position: static !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: hidden !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart button.rln-buy-now-button,
body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-buy-now-button.button,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart button.rln-buy-now-button,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart button.rln-buy-now-button {
  grid-column: 3 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #7b2cff 0%, #4f1dff 100%) !important;
  background-image: linear-gradient(135deg, #7b2cff 0%, #4f1dff 100%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 16px 30px rgba(109, 40, 255, .24) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.025em !important;
  text-align: center !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  position: static !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: hidden !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart button.single_add_to_cart_button::before,
body.rln-modern-product.single-product .summary.entry-summary form.cart button.single_add_to_cart_button::after,
body.rln-modern-product.single-product .summary.entry-summary form.cart button.rln-buy-now-button::before,
body.rln-modern-product.single-product .summary.entry-summary form.cart button.rln-buy-now-button::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 620px) {
  body.rln-modern-product.single-product .summary.entry-summary form.cart,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart {
    grid-template-columns: 76px minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 6px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 48px !important;
    min-height: 48px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity input.qty,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity input.qty {
    flex-basis: 51px !important;
    width: 51px !important;
    min-width: 51px !important;
    max-width: 51px !important;
    height: 48px !important;
    min-height: 48px !important;
    line-height: 48px !important;
    font-size: 15px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-controls {
    flex-basis: 25px !important;
    width: 25px !important;
    min-width: 25px !important;
    max-width: 25px !important;
    height: 48px !important;
    min-height: 48px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-btn {
    width: 25px !important;
    min-width: 25px !important;
    max-width: 25px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart button.single_add_to_cart_button:not(.rln-buy-now-button),
  body.rln-modern-product.single-product .summary.entry-summary form.cart button.rln-buy-now-button,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart button.single_add_to_cart_button:not(.rln-buy-now-button),
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart button.rln-buy-now-button {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 6px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 380px) {
  body.rln-modern-product.single-product .summary.entry-summary form.cart,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart {
    grid-template-columns: 70px minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 5px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity input.qty,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity input.qty {
    flex-basis: 47px !important;
    width: 47px !important;
    min-width: 47px !important;
    max-width: 47px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-controls {
    flex-basis: 23px !important;
    width: 23px !important;
    min-width: 23px !important;
    max-width: 23px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-btn {
    width: 23px !important;
    min-width: 23px !important;
    max-width: 23px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart button.single_add_to_cart_button:not(.rln-buy-now-button),
  body.rln-modern-product.single-product .summary.entry-summary form.cart button.rln-buy-now-button,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart button.single_add_to_cart_button:not(.rln-buy-now-button),
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart button.rln-buy-now-button {
    font-size: 12px !important;
    padding: 0 4px !important;
  }
}


/* =========================================================
   v5.6.0 final single purchase row repair
   - Cart button stays 장바구니, buy button stays 바로 구매.
   - Quantity + / - control is a clean bordered unit, no clipped lines.
========================================================= */
body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-duplicate-kill {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity {
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  overflow: visible !important;
  border: 1px solid rgba(15, 23, 42, .15) !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity input.qty,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity input.qty {
  border: 0 !important;
  border-right: 1px solid rgba(15, 23, 42, .15) !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-controls {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  grid-template-rows: 1fr 1fr !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  flex: 0 0 28px !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-btn {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-sizing: border-box !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-plus,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-plus,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-plus {
  border-bottom: 1px solid rgba(15, 23, 42, .15) !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart [data-rln-role="cart"],
body.rln-modern-product.single-product .summary.entry-summary form.cart button[name="add-to-cart"]:not(.rln-buy-now-button),
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart [data-rln-role="cart"] {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid rgba(109, 40, 255, .28) !important;
  border-radius: 11px !important;
  background: #fff !important;
  background-image: none !important;
  color: #32147a !important;
  -webkit-text-fill-color: #32147a !important;
  box-shadow: 0 10px 22px rgba(109, 40, 255, .06) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart [data-rln-role="buy"],
body.rln-modern-product.single-product .summary.entry-summary form.cart button.rln-buy-now-button,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart [data-rln-role="buy"] {
  grid-column: 3 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #7b2cff 0%, #4f1dff 100%) !important;
  background-image: linear-gradient(135deg, #7b2cff 0%, #4f1dff 100%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 16px 30px rgba(109, 40, 255, .24) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

@media (max-width: 620px) {
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-controls { width: 25px !important; min-width: 25px !important; max-width: 25px !important; height: 46px !important; min-height: 46px !important; max-height: 46px !important; }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-btn { width: 25px !important; min-width: 25px !important; max-width: 25px !important; height: 23px !important; min-height: 23px !important; max-height: 23px !important; }
  body.rln-modern-product.single-product .summary.entry-summary form.cart [data-rln-role="cart"],
  body.rln-modern-product.single-product .summary.entry-summary form.cart [data-rln-role="buy"],
  body.rln-modern-product.single-product .summary.entry-summary form.cart button[name="add-to-cart"]:not(.rln-buy-now-button),
  body.rln-modern-product.single-product .summary.entry-summary form.cart button.rln-buy-now-button { height: 48px !important; min-height: 48px !important; max-height: 48px !important; }
}


/* =========================================================
   v5.7.0 FINAL SINGLE PURCHASE ROW OVERRIDE
   - Build/use plugin-owned cart + buy buttons only.
   - The first white button is ALWAYS 장바구니.
========================================================= */
body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-native-hidden-purchase,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-native-hidden-purchase {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  overflow: hidden !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-cart-button,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-cart-button {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid rgba(109, 40, 255, .26) !important;
  border-radius: 11px !important;
  background: #fff !important;
  background-image: none !important;
  color: #32147a !important;
  -webkit-text-fill-color: #32147a !important;
  box-shadow: 0 10px 22px rgba(109, 40, 255, .06) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-indent: 0 !important;
  position: static !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-sizing: border-box !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-buy-button,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-buy-button {
  grid-column: 3 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #7b2cff 0%, #4f1dff 100%) !important;
  background-image: linear-gradient(135deg, #7b2cff 0%, #4f1dff 100%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 16px 30px rgba(109, 40, 255, .24) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-indent: 0 !important;
  position: static !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-sizing: border-box !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity {
  overflow: visible !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-controls {
  border-left: 1px solid rgba(15, 23, 42, .14) !important;
  overflow: visible !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-plus,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-plus {
  border-bottom: 1px solid rgba(15, 23, 42, .14) !important;
}

@media (max-width: 620px) {
  body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-cart-button,
  body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-buy-button,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-cart-button,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-buy-button {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 8px !important;
    font-size: 13px !important;
    border-radius: 10px !important;
  }
}

/* =========================================================
   v5.8.0 ABSOLUTE LABEL LOCK
   - Some theme/buy-now scripts visually overwrite the cart button label.
   - We render button labels through our own pseudo layer, so the first
     white button can never appear as 바로 구매 again.
========================================================= */
body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-cart-button,
body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-buy-button,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-cart-button,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-buy-button {
  position: relative !important;
  overflow: hidden !important;
  font-size: 0 !important;
  text-indent: -9999px !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-cart-button::before,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-cart-button::before {
  content: "장바구니" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #32147a !important;
  -webkit-text-fill-color: #32147a !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.025em !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-buy-button::before,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-buy-button::before {
  content: "바로 구매" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.025em !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-cart-button::after,
body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-buy-button::after,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-cart-button::after,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-buy-button::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 620px) {
  body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-cart-button::before,
  body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-buy-button::before,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-cart-button::before,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-buy-button::before {
    font-size: 13px !important;
  }
}


/* =========================================================
   v5.9.0 FINAL FIX
   1) Sticky bar quantity: remove browser native number spinners
      so only our left/right +/- buttons are visible.
   2) WooCommerce add-to-cart notice: centered, clean, readable.
========================================================= */
body.rln-modern-shop input[type="number"]::-webkit-outer-spin-button,
body.rln-modern-shop input[type="number"]::-webkit-inner-spin-button,
body.rln-modern-shop .rln-sticky-qty input::-webkit-outer-spin-button,
body.rln-modern-shop .rln-sticky-qty input::-webkit-inner-spin-button,
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty::-webkit-outer-spin-button,
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
  display: none !important;
}

body.rln-modern-shop input[type="number"],
body.rln-modern-shop .rln-sticky-qty input,
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty {
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

body.rln-modern-shop .rln-sticky-qty {
  display: grid !important;
  grid-template-columns: 38px 46px 38px !important;
  align-items: stretch !important;
  justify-content: center !important;
  width: 122px !important;
  min-width: 122px !important;
  max-width: 122px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  overflow: hidden !important;
  border: 1px solid rgba(15, 23, 42, .16) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

body.rln-modern-shop .rln-sticky-qty button,
body.rln-modern-shop .rln-sticky-qty input {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  line-height: 44px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

body.rln-modern-shop .rln-sticky-qty input {
  grid-column: 2 !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  border-left: 1px solid rgba(15, 23, 42, .12) !important;
  border-right: 1px solid rgba(15, 23, 42, .12) !important;
}

body.rln-modern-shop .rln-sticky-qty .rln-sticky-minus { grid-column: 1 !important; }
body.rln-modern-shop .rln-sticky-qty .rln-sticky-plus { grid-column: 3 !important; }

body.rln-modern-shop .woocommerce-notices-wrapper {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 18px auto 20px !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

body.rln-modern-shop .woocommerce-message,
body.rln-modern-shop .woocommerce-info,
body.rln-modern-shop .woocommerce-error {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 58px !important;
  margin: 0 auto 18px !important;
  padding: 13px 20px !important;
  text-align: center !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, .10) !important;
  border-radius: 12px !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .04) !important;
  box-sizing: border-box !important;
}

body.rln-modern-shop .woocommerce-message::before,
body.rln-modern-shop .woocommerce-info::before,
body.rln-modern-shop .woocommerce-error::before,
body.rln-modern-shop .woocommerce-message::after,
body.rln-modern-shop .woocommerce-info::after,
body.rln-modern-shop .woocommerce-error::after {
  display: none !important;
  content: none !important;
}

body.rln-modern-shop .woocommerce-message .button,
body.rln-modern-shop .woocommerce-info .button,
body.rln-modern-shop .woocommerce-error .button,
body.rln-modern-shop .woocommerce-message a.button,
body.rln-modern-shop .woocommerce-info a.button,
body.rln-modern-shop .woocommerce-error a.button {
  float: none !important;
  order: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border-radius: 9px !important;
  background: linear-gradient(135deg, #7b2cff 0%, #4f1dff 100%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 0 !important;
  box-shadow: 0 10px 22px rgba(109, 40, 255, .18) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

@media (max-width: 720px) {
  body.rln-modern-shop .woocommerce-notices-wrapper {
    padding: 0 12px !important;
    margin-top: 12px !important;
  }
  body.rln-modern-shop .woocommerce-message,
  body.rln-modern-shop .woocommerce-info,
  body.rln-modern-shop .woocommerce-error {
    flex-direction: column !important;
    gap: 8px !important;
    padding: 14px !important;
    font-size: 13px !important;
  }
  body.rln-modern-shop .woocommerce-message .button,
  body.rln-modern-shop .woocommerce-info .button,
  body.rln-modern-shop .woocommerce-error .button {
    width: 100% !important;
    max-width: 220px !important;
  }
}

/* =========================================================
   v6.0.0 TOP PURCHASE ROW = STICKY BAR STYLE
   - Single product upper purchase row now uses the same compact
     horizontal quantity control style as the bottom sticky bar.
   - Quantity / Cart / Buy stay in one line on desktop and mobile.
========================================================= */
body.rln-modern-product.single-product .summary.entry-summary form.cart,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart,
body.rln-modern-product.single-product div.product.type-product form.cart.cart {
  display: grid !important;
  grid-template-columns: 122px minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: 38px 46px 38px !important;
  align-items: stretch !important;
  justify-content: center !important;
  width: 122px !important;
  min-width: 122px !important;
  max-width: 122px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(15, 23, 42, .16) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  position: relative !important;
  float: none !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity input.qty,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity input.qty {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid rgba(15, 23, 42, .12) !important;
  border-right: 1px solid rgba(15, 23, 42, .12) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 44px !important;
  text-align: center !important;
  text-indent: 0 !important;
  appearance: textfield !important;
  flex: none !important;
  box-sizing: border-box !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-controls {
  display: contents !important;
  position: static !important;
  inset: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-btn {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  background-image: none !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  box-shadow: none !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 44px !important;
  text-align: center !important;
  text-indent: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-sizing: border-box !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-minus,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-minus,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-minus {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-plus,
body.rln-modern-product.single-product .woocommerce div.product .summary-entry-summary form.cart div.quantity .rln-qty-plus,
body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-plus,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-plus {
  grid-column: 3 !important;
  grid-row: 1 !important;
  border: 0 !important;
  border-bottom: 0 !important;
}

body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-cart-button,
body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-buy-button,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-cart-button,
body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-buy-button {
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  border-radius: 12px !important;
}

@media (max-width: 620px) {
  body.rln-modern-product.single-product .summary.entry-summary form.cart,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart,
  body.rln-modern-product.single-product div.product.type-product form.cart.cart {
    grid-template-columns: 96px minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity {
    grid-template-columns: 30px 36px 30px !important;
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
  }

  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity input.qty,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity input.qty {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    line-height: 44px !important;
    font-size: 14px !important;
  }

  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-btn {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    font-size: 15px !important;
  }

  body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-cart-button,
  body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-buy-button,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-cart-button,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart .rln-final-buy-button {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 380px) {
  body.rln-modern-product.single-product .summary.entry-summary form.cart,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart,
  body.rln-modern-product.single-product div.product.type-product form.cart.cart {
    grid-template-columns: 88px minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity {
    grid-template-columns: 28px 32px 28px !important;
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
  }

  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity input.qty,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity input.qty {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    font-size: 13px !important;
  }

  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
  body.rln-modern-product.single-product .woocommerce div.product .summary.entry-summary form.cart div.quantity .rln-qty-btn,
  body.rln-modern-product.single-product .woocommerce div.product form.cart.cart div.quantity .rln-qty-btn {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    font-size: 14px !important;
  }
}


/* =========================================================
   v6.1.0 Late-load resistant top purchase row lock
   - Some theme/buy-now scripts rewrite the quantity area after page load.
   - This block is intentionally placed at the very end and mirrored by JS
     inline !important styles.
========================================================= */
body.rln-modern-product.single-product .summary.entry-summary form.cart {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 26px !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: 34px 44px 34px !important;
  align-items: center !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  overflow: hidden !important;
  border: 1px solid rgba(15, 23, 42, .14) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-controls,
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .plus:not(.rln-qty-horizontal),
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .minus:not(.rln-qty-horizontal),
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-native-qty-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty,
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .qty {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-left: 1px solid rgba(15, 23, 42, .14) !important;
  border-right: 1px solid rgba(15, 23, 42, .14) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 48px !important;
  box-shadow: none !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty::-webkit-outer-spin-button,
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-btn.rln-qty-horizontal {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: static !important;
  inset: auto !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-minus.rln-qty-horizontal { grid-column: 1 !important; grid-row: 1 !important; }
body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-plus.rln-qty-horizontal { grid-column: 3 !important; grid-row: 1 !important; }
body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-cart-button {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-buy-button {
  grid-column: 3 !important;
  grid-row: 1 !important;
}
body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-cart-button,
body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-buy-button {
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
}
@media (max-width: 620px) {
  body.rln-modern-product.single-product .summary.entry-summary form.cart {
    grid-template-columns: 96px minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 7px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    grid-template-columns: 29px 38px 29px !important;
    height: 48px !important;
    min-height: 48px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty,
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .qty {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    line-height: 46px !important;
    font-size: 14px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-btn.rln-qty-horizontal {
    width: 29px !important;
    min-width: 29px !important;
    max-width: 29px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    font-size: 15px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-cart-button,
  body.rln-modern-product.single-product .summary.entry-summary form.cart .rln-final-buy-button {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    font-size: 13px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
}
@media (max-width: 380px) {
  body.rln-modern-product.single-product .summary.entry-summary form.cart {
    grid-template-columns: 88px minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 5px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    grid-template-columns: 27px 34px 27px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity input.qty,
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .qty {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
  }
  body.rln-modern-product.single-product .summary.entry-summary form.cart div.quantity .rln-qty-btn.rln-qty-horizontal {
    width: 27px !important;
    min-width: 27px !important;
    max-width: 27px !important;
  }
}
