/* ===== Reset & Base ===== */
.ck-root { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; color: #000; }
.ck-root *, .ck-root *::before, .ck-root *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ===== Responsive utilities ===== */
@media (min-width: 1000px) {
  .ck-mobile-only { display: none !important; }
}
@media (max-width: 999px) {
  .ck-desktop-only { display: none !important; }
}

/* ===== Layout ===== */
.ck-layout { display: flex; min-height: 100vh; }

/* Desktop: two columns with split background */
@media (min-width: 1000px) {
  .ck-root { background: linear-gradient(to right, #fff 50%, #f5f5f5 50%); }
  .ck-layout { max-width: 1100px; margin: 0 auto; }
  .ck-form-col { width: 55%; background: #fff; padding: 38px 35px 0 0; display: flex; justify-content: flex-end; order: 1; }
  .ck-form-inner { width: 100%; max-width: 480px; }
  .ck-sidebar { width: 45%; background: #f5f5f5; padding: 38px 0 38px 35px; order: 2; }
  .ck-sidebar-inner { width: 100%; max-width: 340px; position: sticky; top: 40px; max-height: calc(100vh - 80px); overflow-y: auto; }
}

/* Mobile: single column */
@media (max-width: 999px) {
  .ck-root { background: #fff; }
  .ck-layout { flex-direction: column; }
  .ck-sidebar { order: -1; }
  .ck-form-col { padding: 24px 20px; }
  .ck-form-inner { width: 100%; }
}

/* ===== Mobile sidebar (top summary bar) ===== */
@media (max-width: 999px) {
  .ck-sidebar { border-bottom: 1px solid #e1e1e1; background: #fafafa; }
  .ck-summary-toggle {
    width: 100%; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between;
    background: none; border: 0; cursor: pointer; font-family: inherit;
  }
  .ck-summary-toggle-left { display: flex; align-items: center; gap: 8px; }
  .ck-summary-toggle-left span { font-size: 13px; color: #007cba; font-weight: 500; }
  .ck-summary-toggle-price { font-size: 18px; font-weight: 600; }
  .ck-summary-toggle .ck-summary-chevron { transition: transform 0.2s; }
  .ck-summary-toggle.summary-open .ck-summary-chevron { transform: rotate(180deg); }
  .ck-summary-content {
    display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s ease;
  }
  .ck-summary-content.summary-open { grid-template-rows: 1fr; }
  .ck-summary-content-inner { overflow: hidden; padding: 0 20px; }
  .ck-summary-content.summary-open .ck-summary-content-inner { padding-bottom: 20px; padding-top: 16px; border-top: 1px solid #e1e1e1; }
}

/* Desktop sidebar: always visible, no toggle */
@media (min-width: 1000px) {
  .ck-summary-content { display: block; height: 100%; }
  .ck-summary-content-inner { padding: 0; height: 100%; }
}

/* ===== Floating Label ===== */
.fl-wrap { position: relative; }
.fl-wrap input, .fl-wrap select {
  width: 100%; background: #fff; border: 1px solid #d9d9d9; border-radius: 5px;
  font-size: 14px; outline: none; transition: border-color 0.15s, box-shadow 0.15s;
  padding: 10px 11px; appearance: none; color: #000; font-family: inherit;
}
.fl-wrap select { padding-right: 32px; }
.fl-wrap input:focus, .fl-wrap select:focus { border-color: #1a1a1a; box-shadow: 0 0 0 1px #1a1a1a; }
.fl-label {
  position: absolute; left: 12px; top: 11px; font-size: 14px; color: #737373;
  pointer-events: none; transition: all 0.15s ease;
}
.fl-label.fl-float { top: 3px; font-size: 11px; }
.fl-wrap input.fl-has-value, .fl-wrap select { padding-top: 18px; padding-bottom: 4px; }
.fl-wrap input:focus { padding-top: 18px; padding-bottom: 4px; }
.fl-wrap input:focus + .fl-label { top: 3px; font-size: 11px; }
.fl-select-arrow { position: absolute; right: 10px; top: 13px; pointer-events: none; width: 12px; height: 12px; }
.fl-icon { position: absolute; right: 10px; top: 10px; color: #737373; pointer-events: none; display: flex; }

/* ===== Tooltips ===== */
.phone-tip-wrap { position: absolute; right: 10px; top: 10px; }
.phone-tooltip {
  display: none; position: absolute; bottom: calc(100% + 10px); right: -10px;
  background: #1a1a1a; color: #fff; font-size: 13px; line-height: 1.4; padding: 12px 16px;
  border-radius: 8px; width: 190px; text-align: center; z-index: 10;
}
.phone-tooltip::after {
  content: ''; position: absolute; bottom: -5px; right: 16px;
  width: 10px; height: 10px; background: #1a1a1a; transform: rotate(45deg);
}
.phone-tip-wrap:hover .phone-tooltip,
.phone-tip-wrap.active .phone-tooltip { display: block; }

.sc-tip-wrap { position: absolute; right: 10px; top: 10px; z-index: 100; }
.sc-tooltip {
  display: none; position: absolute; bottom: calc(100% + 10px); right: -10px;
  background: #1a1a1a; color: #fff; font-size: 13px; line-height: 1.4; padding: 12px 16px;
  border-radius: 8px; width: 230px; text-align: left; z-index: 100;
}
.sc-tooltip::after {
  content: ''; position: absolute; bottom: -5px; right: 16px;
  width: 10px; height: 10px; background: #1a1a1a; transform: rotate(45deg);
}
.sc-tip-wrap:hover .sc-tooltip,
.sc-tip-wrap.active .sc-tooltip { display: block; }

/* ===== Accordion ===== */
.accordion {
  display: grid; grid-template-rows: 0fr; opacity: 0;
  transition: grid-template-rows 0.3s ease, opacity 0.25s ease;
}
.accordion > div { overflow: hidden; min-height: 0; }
.accordion.accordion-open { grid-template-rows: 1fr; opacity: 1; }

/* ===== Form Groups ===== */
.form-gap { display: flex; flex-direction: column; gap: 14px; }
.form-gap-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-gap-row3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
.section-title { font-size: 17px; font-weight: 600; margin-bottom: 12px; }
.section-title-sm { font-size: 12px; font-weight: 400; margin-bottom: 12px; }

@media (max-width: 999px) {
  .form-gap-row3 { grid-template-columns: 1fr; }
  .cc-exp-row { grid-template-columns: 1fr; }
}

/* ===== Card ===== */
.card { border: 1px solid #d9d9d9; border-radius: 8px; overflow: visible; }
.card > div:first-child > .card-row:first-child,
.card > .card-row:first-child { border-radius: 8px 8px 0 0; }
.card > div:last-child { border-radius: 0 0 8px 8px; overflow: visible; }
.card > .card-row:last-child { border-radius: 0 0 8px 8px; }
.card > .card-row:only-child { border-radius: 8px; }
.card > div:last-child .accordion > div > div { border-radius: 0 0 7px 7px; }
.card-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px; cursor: pointer; transition: background 0.15s;
}
.card-row:hover, .card-row.row-active { background: #f6f6f6; }
.card-row label { display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: 13px; font-weight: 400; }
.ship-label-wrap { display: flex; flex-direction: column; gap: 2px; }
.ship-sub { font-size: 12px; color: #717171; font-weight: 400; }
.js-ship-method-row > span { font-weight: 600; }
.card-row input[type="radio"] {
  -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border: 2px solid #d9d9d9;
  border-radius: 50%; background: #fff; cursor: pointer; position: relative; flex-shrink: 0; transition: border-color 0.15s;
}
.card-row input[type="radio"]:checked { border-color: #1a1a1a; border-width: 5px; }

/* ===== Express Buttons ===== */
.express-btns-wrap { display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; }
.express-btns-row2 { display: flex; gap: 8px; }
.express-btns-wrap button {
  height: 44px; border: 0; border-radius: 5px; cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: filter 0.15s;
}
.btn-shoppay { background: #5c2def; width: 100%; transition: background 0.15s; }
.btn-shoppay:hover { background: #4100e7; }
.btn-paypal-express { background: #f7c84d; flex: 1; transition: background 0.15s; }
.btn-paypal-express svg { height: 24px; width: auto; }
.btn-paypal-express:hover { background: #ebbe49; }
.btn-gpay { background: #000000; color: #fff; gap: 4px; flex: 1; transition: background 0.15s; }
.btn-gpay:hover { background: #3d4043; }

/* Desktop: all 3 buttons in one horizontal row */
@media (min-width: 1000px) {
  .express-btns-wrap { flex-direction: row; gap: 8px; }
  .express-btns-wrap .btn-shoppay { flex: 1; width: auto; }
  .express-btns-row2 { flex: 2; gap: 8px; }
}

/* ===== Divider ===== */
.or-divider { display: flex; align-items: center; margin: 24px 0; }
.or-divider span { padding: 0 16px; font-size: 12px; color: #707070; text-transform: uppercase; }
.or-divider::before, .or-divider::after { content: ''; flex: 1; height: 1px; background: #e1e1e1; }

/* ===== Payment Panel ===== */
.pay-panel-inner { background: #f4f4f4; border-top: 1px solid #e5e5e5; padding: 16px; }
.pay-panel-inner .fl-wrap input, .pay-panel-inner .fl-wrap select { background: #fff; }

/* ===== CC2 / Stripe Card Form ===== */
.stripe-logo { display: flex; align-items: center; margin-left: auto; }
.cc-form2 .cf2-form { display: flex; flex-wrap: wrap; gap: 10px; }
.cc-form2 .cf2-field { display: flex; flex-direction: column; min-width: 0; position: relative; }
.cc-form2 .cf2-card-number { flex: 1 1 100%; }
.cc-form2 .cf2-expiry { flex: 1 1 calc(50% - 5px); min-width: 100px; }
.cc-form2 .cf2-cvv { flex: 1 1 calc(50% - 5px); min-width: 80px; }
@media(max-width:300px) { .cc-form2 .cf2-expiry, .cc-form2 .cf2-cvv { flex: 1 1 100%; } }
.cc-form2 label { display: block; margin-bottom: 5px; font-size: 14px; font-weight: 600; color: #333; }
.cc-form2 .cf2-input {
  width: 100%; padding: 8px 0 8px 8px; border-radius: 6px; font-size: 14px; font-weight: 600;
  letter-spacing: 0.04em; outline: none; background: #fff; color: #333;
  transition: background 0.15s ease, border 0.15s ease, box-shadow 0.15s ease; border: none;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.20), 0 1px 2px rgba(0,0,0,0.05);
}
.cc-form2 .cf2-input::placeholder { color: #707070; }
.cc-form2 .cf2-input:focus { box-shadow: 0 0 0 2px #0c0c0d; }
.cc-form2 .cf2-input.has-error, .cc-form2 .cf2-input.field-error { box-shadow: 0 0 0 2px rgb(221,29,29) !important; }
.cc-form2 .cf2-card-icon { position: absolute; right: 8px; top: 29px; display: flex; align-items: center; pointer-events: none; z-index: 3; }
.cc-form2 .cf2-brand-list { display: flex; align-items: center; overflow: hidden; transition: max-width .3s ease, opacity .25s ease; max-width: 200px; opacity: 1; }
.cc-form2 .cf2-brand-list.collapsed { max-width: 0; opacity: 0; }
.cc-form2 .cf2-brand-item { flex-shrink: 0; width: 37px; height: 20px; }
.cc-form2 .cf2-brand-item svg { width: 37px; height: 20px; }
.cc-form2 .cf2-brand-slot { position: relative; flex-shrink: 0; width: 37px; height: 20px; }
.cc-form2 .cf2-brand-slot svg { position: absolute; top: 0; left: 0; width: 37px; height: 20px; opacity: 0; transition: opacity .6s ease; }
.cc-form2 .cf2-brand-slot svg.visible { opacity: 1; }
.cc-form2 .cf2-brand-single { display: flex; align-items: center; overflow: hidden; opacity: 0; max-width: 0; transition: max-width .3s ease .15s, opacity .25s ease .2s; }
.cc-form2 .cf2-brand-single.active { opacity: 1; max-width: 40px; }
.cc-form2 .cf2-brand-single svg { width: 37px; height: 20px; }
.cc-form2 .cf2-cvv-icon { position: absolute; right: 10px; top: 39px; transform: translateY(-50%); width: 24px; height: 24px; color: #9ca3af; pointer-events: none; z-index: 3; }
.cc-form2 .cf2-cvv-icon svg { width: 100%; height: 100%; }
.cc-form2 .cf2-field .jy-error-msg { display: block; color: #d8463e; font-size: 14px; margin-top: 4px; line-height: 1.4; font-weight: 400; }

/* ===== Pay Button ===== */
.pay-btn {
  width: 100%; padding: 12px 0; border-radius: 5px; font-size: 15px; font-weight: 600;
  color: #fff; border: 0; cursor: pointer; transition: filter 0.15s; margin-bottom: 20px;
  display: flex; align-items: center; justify-content: center;
}
.pay-btn:hover { filter: brightness(1.3); }
.pay-btn-paypal { background: #2f6db7; }
.pay-btn-paypal:hover { background: #2d68ae; filter: none; }
.pay-btn-card { background: #2c2b2b; }
.pay-btn-card:hover { background: #171717; filter: none; }
.pay-btn-affirm { background: #000049; }
.pay-btn-affirm:hover { background: #3131a3; filter: none; }
.pay-btn-tamara { background: #0c0c0d; }
.pay-btn-tamara:hover { background: #2d2d2d; filter: none; }
.pay-btn-tabby { background: #5afeae; color: #0c0c0d; }
.pay-btn-tabby:hover { background: #3de099; filter: none; }
.pay-btn-afterpay { background: #9fffe0; color: #0c0c0d; }
.pay-btn-afterpay:hover { background: #7de8c8; filter: none; }

/* ===== Footer ===== */
.footer-links {
  display: flex; flex-wrap: wrap; gap: 8px 16px;
  font-size: 12px; padding: 10px 0 30px;
}
.footer-hr { border: none; border-top: 1px solid #dedede; margin: 0 0 10px; }
.footer-links a { color: #007cba; text-decoration: underline; }
.footer-links a:hover { color: #005f8a; }

/* ===== Card Icons ===== */
.card-icons { display: flex; align-items: center; gap: 4px; }
.card-icons .more { font-size: 11px; color: #999; margin-left: 2px; position: relative; cursor: pointer; background: #fff; border-radius: 3px; padding: 1px 4px; border: 1px solid #ddd; }
.card-icons .more:hover .more-tooltip,
.card-icons .more.active .more-tooltip { display: grid; }
.more-tooltip {
  display: none; position: absolute; bottom: calc(100% + 8px); right: -10px;
  background: #1a1a1a; border-radius: 8px; padding: 8px; gap: 4px;
  grid-template-columns: repeat(3, 1fr);
  z-index: 200; width: max-content;
  box-shadow: 0 4px 14px rgba(0,0,0,0.35);
}
.more-tooltip::after {
  content: ''; position: absolute; bottom: -6px; right: 14px;
  width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid #1a1a1a;
}
.more-tooltip svg { width: 30px; height: 20px; border-radius: 3px; display: block; }

/* ===== Product ===== */
.product-row { display: flex; align-items: center; gap: 12px; padding-bottom: 20px; }
.product-img {
  width: 60px; height: 60px; border-radius: 8px; border: 1px solid #e0e0e0;
  object-fit: cover; background: #f5f5f5;
}
.product-badge {
  position: absolute; top: -8px; right: -8px; background: rgba(0,0,0,0.85);
  color: #fff; font-size: 11px; width: 18px; height: 18px; border-radius: 5px;
  display: flex; align-items: center; justify-content: center;
}

/* ===== Discount ===== */
.discount-section { padding-bottom: 20px; border-bottom: 1px solid #e1e1e1; }
.discount-row { display: flex; gap: 8px; }
.discount-row input {
  flex: 1; padding: 9px 12px; border: 1px solid #d9d9d9; border-radius: 5px;
  font-size: 13px; outline: none; background: #fff; font-family: inherit; transition: border-color 0.15s;
}
.discount-row input:focus { border-color: #1a1a1a; }
.discount-row input.discount-input-error { border-color: #e32c2c; }
.discount-row input.discount-input-error:focus { border-color: #e32c2c; }
.discount-row button {
  padding: 9px 16px; background: #e8e8e8; color: #545454; border: 0; border-radius: 5px;
  font-size: 13px; font-weight: 500; cursor: pointer; transition: background 0.15s, opacity 0.15s; font-family: inherit;
  min-width: 64px; display: flex; align-items: center; justify-content: center; gap: 6px;
}
.discount-row button:hover { background: #ddd; }
.discount-row button:disabled { opacity: 0.5; cursor: default; pointer-events: none; }
.discount-error-text { color: #e32c2c; font-size: 12px; margin-top: 6px; display: none; }
.discount-applied-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.discount-applied-tag {
  display: inline-flex; align-items: center; gap: 4px; padding: 4px 8px;
  background: #e8f4e8; color: #1a7a1a; border-radius: 4px; font-size: 12px; font-weight: 500;
}
.discount-applied-tag svg { cursor: pointer; opacity: 0.6; transition: opacity 0.15s; flex-shrink: 0; }
.discount-applied-tag svg:hover { opacity: 1; }
.discount-spinner {
  display: inline-block; width: 14px; height: 14px; border: 2px solid rgba(0,0,0,0.15);
  border-top-color: #545454; border-radius: 50%; animation: discount-spin 0.6s linear infinite;
}
@keyframes discount-spin { to { transform: rotate(360deg); } }

/* ===== Summary Lines ===== */
.summary-lines { padding: 16px 0 12px; }
.summary-line { display: flex; justify-content: space-between; font-size: 14px; color: #1a1a1a; }
.summary-line + .summary-line { margin-top: 8px; }
.summary-line .sum-label { color: #1a1a1a; }
.summary-line .hint { font-size: 14px; color: #1a1a1a; }

/* ===== Total ===== */
.total-row { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 0 16px; }
.total-label { font-size: 15px; font-weight: 600; }
.total-amount { display: flex; align-items: baseline; gap: 8px; }
.total-currency { font-size: 11px; color: #717171; }
.total-price { font-size: 22px; font-weight: 600; letter-spacing: -0.02em; }

/* ===== Trust Badges ===== */
.trust-badges { border-top: 1px solid #e1e1e1; padding-top: 20px; display: flex; flex-direction: column; gap: 20px; }
.trust-badge-item { display: flex; align-items: flex-start; gap: 14px; }
.trust-badge-icon { color: #000; flex-shrink: 0; margin-top: 2px; }
.trust-badge-icon svg { width: 24px; height: 24px; }
.trust-badge-title { font-size: 14px; font-weight: 600; color: #000; margin-bottom: 3px; }
.trust-badge-desc { font-size: 13px; color: #000; line-height: 1.5; }

/* Mobile trust badges (below pay button) */
.trust-badges-mobile {
  border-top: 1px solid #e1e1e1; padding-top: 20px; margin-bottom: 24px;
  display: flex; flex-direction: column; gap: 20px;
}

/* ===== Mobile Mini Order Summary (above pay button) ===== */
.mobile-mini-summary { margin-bottom: 16px; }
.mobile-mini-btn {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: 16px 0; background: none; border: 0; cursor: pointer; font-family: inherit;
}
.mobile-mini-left { display: flex; align-items: center; gap: 12px; }
.mobile-mini-thumb { width: 50px; height: 50px; border-radius: 8px; object-fit: cover; border: 1px solid #e1e1e1; background: #f6f6f6; }
.mobile-mini-right { display: flex; align-items: center; }
.mobile-mini-arrow { transition: transform 0.2s; }
.mobile-mini-content {
  display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s ease;
}
.mobile-mini-content.mini-open { grid-template-rows: 1fr; }
.mobile-mini-content-inner { overflow: hidden; }
.mobile-mini-content.mini-open .mobile-mini-content-inner { padding-bottom: 16px; padding-top: 10px; }
/* collapsed bar hidden when open */
.mobile-mini-summary.mini-expanded .mobile-mini-btn { display: none; }
/* expanded header */
.mobile-mini-header {
  display: none; width: 100%; padding: 16px 0; background: none; border: 0; cursor: pointer; font-family: inherit;
  align-items: center; justify-content: space-between;
}
.mobile-mini-summary.mini-expanded .mobile-mini-header { display: flex; }
.mobile-mini-header span { font-size: 18px; font-weight: 600; color: #000; }

/* ===== Misc ===== */
.email-sub { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; color: #000; cursor: pointer; }
.email-sub input { margin-top: 2px; accent-color: #1a1a1a; width: 16px; height: 16px; }
.shipping-placeholder {
  background: #fafafa; border: none; border-radius: 5px; padding: 16px;
  font-size: 13px; color: #717171; text-align: center;
}

/* ===== Shipping Options ===== */
.shipping-option {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px; cursor: pointer; transition: background 0.15s;
  border-bottom: 1px solid #e5e5e5;
}
.shipping-option:first-child { border-radius: 8px 8px 0 0; }
.shipping-option:last-child { border-bottom: none; border-radius: 0 0 8px 8px; }
.shipping-option:only-child { border-radius: 8px; }
.shipping-option:hover { background: #f6f6f6; }
.shipping-option.selected { background: #f6f6f6; }
.shipping-option input[type="radio"] {
  -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border: 2px solid #d9d9d9;
  border-radius: 50%; background: #fff; cursor: pointer; position: relative; flex-shrink: 0; transition: border-color 0.15s;
  margin-right: 12px;
}
.shipping-option input[type="radio"]:checked { border-color: #1a1a1a; border-width: 5px; }
.shipping-info { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.shipping-label { font-size: 14px; font-weight: 500; color: #1a1a1a; }
.shipping-desc { font-size: 12px; color: #717171; font-weight: 400; }
.shipping-price { font-size: 14px; font-weight: 600; color: #1a1a1a; margin-left: 12px; white-space: nowrap; }
.shipping-free { padding: 12px 16px; font-size: 14px; color: #16a34a; font-weight: 500; }

/* ===== COD Option ===== */
.cod-wrapper { margin-bottom: 12px; }
.cod-checkbox {
  display: flex; align-items: center; padding: 12px 16px;
  background: #fff; border: 1px solid #d9d9d9; border-radius: 8px;
  cursor: pointer; transition: background 0.15s; font-size: 13px; font-weight: 600;
}
.cod-checkbox:hover { background: #fafafa; }
.cod-checkbox.cod-active { background: #f6f6f6; border-radius: 8px 8px 0 0; border-bottom: none; }
.cod-checkbox input[type="checkbox"] {
  -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border: 2px solid #d9d9d9;
  border-radius: 4px; background: #fff; cursor: pointer; position: relative; flex-shrink: 0; transition: all 0.15s;
  margin-right: 12px;
}
.cod-checkbox input[type="checkbox"]:checked { border-color: #1a1a1a; background: #1a1a1a; }
.cod-checkbox input[type="checkbox"]:checked::after {
  content: ''; position: absolute; top: 2px; left: 5px;
  width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.cod-details {
  padding: 16px; background: #f9fafb; border: 1px solid #d9d9d9; border-top: none;
  border-radius: 0 0 8px 8px;
}
.cod-description { margin-bottom: 16px; font-size: 14px; color: #6b7280; line-height: 1.5; }
.cod-amounts { display: flex; flex-direction: column; gap: 8px; }
.cod-deposit, .cod-balance { display: flex; justify-content: space-between; font-size: 14px; }
.cod-deposit span:first-child { color: #16a34a; font-weight: 500; }
.cod-deposit span:last-child { font-weight: 600; color: #16a34a; }
.cod-balance span:last-child { font-weight: 600; color: #000; }

/* ===== Payment Discount Tag ===== */
.discount-tag {
  display: inline-block; padding: 3px 8px;
  background: #dcfce7; color: #16a34a; font-size: 11px; font-weight: 600;
  border-radius: 4px;
}
.terms-text { font-size: 11px; color: #717171; line-height: 1.5; margin-bottom: 28px; }
.terms-text a { color: #007cba; text-decoration: underline; }
.billing-check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #000; cursor: pointer; padding-top: 4px; }
.billing-check input { accent-color: #1a1a1a; width: 16px; height: 16px; }
.billing-card .card-row input[type="radio"]:not(:checked) { border-color: #d9d9d9; }
.billing-card .fl-wrap input, .billing-card .fl-wrap select { background: #fff; }

.save-info-box { border: 1px solid #d9d9d9; border-radius: 8px; overflow: hidden; margin-bottom: 12px; }
.save-info-inner { display: flex; align-items: center; gap: 12px; padding: 4px 16px; }
.save-info-inner svg { flex-shrink: 0; }
.save-info-inner .fl-wrap input { border: none; outline: none; box-shadow: none !important; background: transparent; padding-left: 0; }
.save-info-inner .fl-wrap input:focus { border: none; box-shadow: none !important; }
.save-info-inner .fl-label { left: 0; }

/* ===== Discount Tag (payment method badge) ===== */
.discount-tag {
  display: inline-block; font-size: 11px; font-weight: 600; color: #16a34a; background: #dcfce7;
  padding: 3px 8px; border-radius: 4px; white-space: nowrap; vertical-align: middle;
}


/* ===== Address Autocomplete Dropdown ===== */
.jy-address-dropdown {
  position: absolute; left: 0; right: 0; top: 100%;
  z-index: 999; background: #fff; border: 1px solid #d9d9d9;
  border-radius: 0 0 5px 5px; box-shadow: 0 4px 12px rgba(0,0,0,.1);
  max-height: 220px; overflow-y: auto;
}
.jy-address-item {
  padding: 10px 14px; font-size: 13px; line-height: 1.4; color: #333;
  cursor: pointer; border-bottom: 1px solid #f0f0f0;
  transition: background .12s;
}
.jy-address-item:last-child { border-bottom: none; }
.jy-address-item:hover, .jy-address-item:focus {
  background: #f5f5f5; outline: none;
}


/* ============================================================
   RTL OVERRIDES  –  scoped to .ck-root[dir="rtl"]
   ============================================================ */

/* --- Layout: mirror desktop two-column split --- */
@media (min-width: 1000px) {
  .ck-root[dir="rtl"] { background: linear-gradient(to left, #fff 50%, #f5f5f5 50%); }
  .ck-root[dir="rtl"] .ck-form-col { padding: 38px 0 0 35px; justify-content: flex-start; }
  .ck-root[dir="rtl"] .ck-sidebar { padding: 38px 35px 38px 0; }
}

/* --- Floating label: flip to right --- */
.ck-root[dir="rtl"] .fl-label { left: auto; right: 12px; }
.ck-root[dir="rtl"] .fl-wrap select { padding-right: 11px; padding-left: 32px; }
.ck-root[dir="rtl"] .fl-select-arrow { right: auto; left: 10px; }
.ck-root[dir="rtl"] .fl-icon { right: auto; left: 10px; }
.ck-root[dir="rtl"] .fl-wrap input[type="tel"] { text-align: right; }
.ck-root[dir="rtl"] .fl-wrap input[inputmode="numeric"] { direction: ltr; text-align: right; }

/* --- Tooltips: flip arrow & position --- */
.ck-root[dir="rtl"] .phone-tip-wrap { right: auto; left: 10px; }
.ck-root[dir="rtl"] .phone-tooltip { right: auto; left: -10px; }
.ck-root[dir="rtl"] .phone-tooltip::after { right: auto; left: 16px; }

.ck-root[dir="rtl"] .sc-tip-wrap { right: auto; left: 10px; }
.ck-root[dir="rtl"] .sc-tooltip { right: auto; left: -10px; text-align: right; }
.ck-root[dir="rtl"] .sc-tooltip::after { right: auto; left: 16px; }

/* --- Card icons: more tooltip --- */
.ck-root[dir="rtl"] .card-icons .more { margin-left: 0; margin-right: 2px; }
.ck-root[dir="rtl"] .more-tooltip { right: auto; left: -10px; }
.ck-root[dir="rtl"] .more-tooltip::after { right: auto; left: 14px; }

/* --- Product badge --- */
.ck-root[dir="rtl"] .product-badge { right: auto; left: -8px; }

/* --- Shipping option radio --- */
.ck-root[dir="rtl"] .shipping-option input[type="radio"] { margin-right: 0; margin-left: 12px; }
.ck-root[dir="rtl"] .shipping-price { margin-left: 0; margin-right: 12px; }

/* --- COD checkbox --- */
.ck-root[dir="rtl"] .cod-checkbox input[type="checkbox"] { margin-right: 0; margin-left: 12px; }
.ck-root[dir="rtl"] .cod-checkbox input[type="checkbox"]:checked::after { left: auto; right: 5px; }

/* --- Save info inner --- */
.ck-root[dir="rtl"] .save-info-inner .fl-wrap input { padding-left: 11px; padding-right: 0; }
.ck-root[dir="rtl"] .save-info-inner .fl-label { left: auto; right: 0; }

/* --- CC2 RTL --- */
.ck-root[dir="rtl"] .cc-form2 .cf2-card-icon { right: auto; left: 8px; }
.ck-root[dir="rtl"] .cc-form2 .cf2-cvv-icon { right: auto; left: 10px; }
.ck-root[dir="rtl"] .stripe-logo { margin-left: 0; margin-right: auto; }

/* --- Footer links: RTL flow --- */
.ck-root[dir="rtl"] .footer-links { justify-content: flex-start; }

/* --- General text alignment --- */
.ck-root[dir="rtl"] .sc-tooltip,
.ck-root[dir="rtl"] .terms-text { text-align: right; }