
.jlm-widget-shell{font-family:IRANSans,YekanBakh,"Yekan Bakh",Tahoma,Arial,sans-serif;direction:rtl;background:#fff;padding:18px;border-radius:18px;border:1px solid #e5e7eb;overflow:hidden;box-shadow:none;color:#111827}
.jlm-widget-shell.demo-modern,.jlm-widget-shell.demo-luxe{background:#fff;border-color:#e5e7eb;color:#111827}
.jlm-widget-shell.demo-dark{background:#111827;border-color:#1f2937;color:#f9fafb}
.jlm-hero{position:relative;padding:0 0 14px;margin-bottom:18px;color:inherit;text-align:right;background:none;border-radius:0;box-shadow:none;border-bottom:1px solid #eceff3}
.demo-dark .jlm-hero{border-color:#1f2937}
.jlm-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-weight:700;font-size:12px;margin-bottom:10px}
.demo-dark .jlm-badge{background:rgba(255,255,255,.08);color:#e5e7eb}
.jlm-brand-badge{position:absolute;top:0;left:0;width:42px;height:42px;border-radius:12px;background:#f8fafc;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb}
.demo-dark .jlm-brand-badge{background:rgba(255,255,255,.05);border-color:#374151}
.jlm-brand-badge span{font-size:16px;font-weight:800;color:#2563eb;letter-spacing:.5px}
.demo-dark .jlm-brand-badge span{color:#93c5fd}
.jlm-hero-title{margin:0 0 4px;font-size:24px;line-height:1.5;font-weight:800;color:inherit;padding-left:56px}
.jlm-hero-subtitle{color:#6b7280;font-size:14px;line-height:1.8;padding-left:56px}
.demo-dark .jlm-hero-subtitle{color:#d1d5db}
.jlm-feature-bar,.jlm-checkout-steps,.jlm-trust-strip{display:grid;gap:10px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px;box-shadow:none}
.demo-dark .jlm-feature-bar,.demo-dark .jlm-checkout-steps,.demo-dark .jlm-trust-strip{background:#0f172a;border-color:#1f2937;color:#f9fafb}
.jlm-feature-bar{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}
.jlm-feature-item{font-weight:700;color:inherit;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center}
.jlm-dot{width:8px;height:8px;border-radius:50%;background:#2563eb;display:inline-block}
.demo-dark .jlm-dot{background:#93c5fd}
.jlm-cart-grid,.jlm-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);gap:18px;align-items:stretch}
.jlm-cart-grid.no-side,.jlm-checkout-grid.no-side{grid-template-columns:1fr}
.jlm-main-panel,.jlm-side-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:none;padding:16px;color:inherit;min-height:100%}
.demo-dark .jlm-main-panel,.demo-dark .jlm-side-panel{background:#0f172a;border-color:#1f2937;color:#f9fafb}
.jlm-side-head{font-size:16px;font-weight:800;color:inherit;margin-bottom:8px}
.jlm-side-list{list-style:none;padding:0;margin:0}
.jlm-side-list li{position:relative;padding:8px 16px 8px 0;border-bottom:1px solid #f0f2f5;line-height:1.9;color:inherit}
.demo-dark .jlm-side-list li{border-color:#1f2937}
.jlm-side-list li:last-child{border-bottom:0}
.jlm-side-list li:before{content:"";position:absolute;right:0;top:18px;width:6px;height:6px;border-radius:50%;background:#2563eb}
.demo-dark .jlm-side-list li:before{background:#93c5fd}
.jlm-trust-strip{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;text-align:center;font-weight:700;color:inherit}
.jlm-widget-checkout .jlm-trust-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
.jlm-checkout-steps{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;text-align:center}
.jlm-step{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;color:inherit}
.jlm-step-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid #d1d5db;background:#fff;color:#111827;font-weight:800;font-size:12px}
.demo-dark .jlm-step-index{background:#111827;border-color:#374151;color:#f9fafb}
.jlm-step.is-active .jlm-step-index{background:#111827;border-color:#111827;color:#fff}
.demo-dark .jlm-step.is-active .jlm-step-index{background:#f9fafb;border-color:#f9fafb;color:#111827}

/* cart layout */
.jlm-widget-cart .jlm-main-panel .woocommerce{max-width:none;color:inherit;display:flex;flex-wrap:wrap;gap:18px;align-items:stretch}
.jlm-widget-cart .jlm-main-panel .woocommerce:before{display:none !important}
.jlm-widget-cart .jlm-main-panel .woocommerce-notices-wrapper,
.jlm-widget-cart .jlm-main-panel .woocommerce-message,
.jlm-widget-cart .jlm-main-panel .woocommerce-info,
.jlm-widget-cart .jlm-main-panel .woocommerce-error{flex:0 0 100%}
.jlm-widget-cart .jlm-main-panel form.woocommerce-cart-form{flex:1 1 0;min-width:0;margin:0}
.jlm-widget-cart .jlm-main-panel .cart-collaterals{flex:0 0 360px;min-width:280px;margin:0 !important;display:flex;align-items:stretch}
.jlm-widget-cart .jlm-main-panel .cart-collaterals .cart_totals{height:100%}
.jlm-main-panel .shop_table,.jlm-main-panel table.cart{border:0 !important;border-collapse:separate !important;border-spacing:0 10px !important;background:transparent !important}
.jlm-main-panel table.cart thead{display:none !important}
.jlm-main-panel table.cart tr.cart_item{background:#fff !important;border:1px solid #e5e7eb !important;border-radius:14px !important;box-shadow:none !important;overflow:hidden}
.demo-dark .jlm-main-panel table.cart tr.cart_item{background:#111827 !important;border-color:#1f2937 !important}
.jlm-main-panel table.cart td{border-top:0 !important;padding:14px 10px !important;vertical-align:middle;color:inherit}
.jlm-main-panel table.cart td.product-thumbnail{width:82px}
.jlm-main-panel table.cart td.product-thumbnail img{width:72px;height:72px;object-fit:cover;border-radius:12px;box-shadow:none;border:1px solid #e5e7eb}
.demo-dark .jlm-main-panel table.cart td.product-thumbnail img{border-color:#374151}
.jlm-main-panel table.cart td.product-name a{font-size:15px;font-weight:800;color:inherit;text-decoration:none}
.jlm-main-panel table.cart td.product-name a:hover{opacity:.8}
.jlm-main-panel table.cart .quantity .qty{width:78px;height:40px;border-radius:10px;border:1px solid #d1d5db;background:#fff;text-align:center;font-weight:700;color:#111827}
.demo-dark .jlm-main-panel table.cart .quantity .qty{background:#111827;border-color:#374151;color:#f9fafb}
.jlm-main-panel table.cart td.product-remove a.remove{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:30px !important;height:30px !important;border-radius:10px !important;background:#f9fafb !important;color:#6b7280 !important;font-size:18px !important;text-decoration:none !important;border:1px solid #e5e7eb}
.demo-dark .jlm-main-panel table.cart td.product-remove a.remove{background:#111827 !important;border-color:#374151 !important;color:#d1d5db !important}
.jlm-main-panel .cart_totals{margin-top:0;padding:14px;border-radius:14px;background:#fff;border:1px solid #e5e7eb;box-shadow:none;min-height:100%}
.demo-dark .jlm-main-panel .cart_totals{background:#111827;border-color:#1f2937}
.jlm-main-panel .cart_totals h2{margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid #eef2f7;background:none;color:inherit;font-size:16px;font-weight:800}
.demo-dark .jlm-main-panel .cart_totals h2{border-color:#1f2937}
.jlm-main-panel .cart-collaterals .shop_table th,.jlm-main-panel .cart-collaterals .shop_table td{border:0 !important;padding:10px 0 !important;font-weight:700;color:inherit}
.jlm-main-panel .wc-proceed-to-checkout{padding:0 !important;margin-top:12px}
.jlm-main-panel .button,.jlm-main-panel .checkout-button,.jlm-main-panel .coupon .button,.jlm-main-panel button.button,.jlm-main-panel input.button{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-height:44px !important;border:1px solid #111827 !important;border-radius:12px !important;background:#111827 !important;color:#fff !important;font-size:14px !important;font-weight:700 !important;text-decoration:none !important;box-shadow:none !important;padding:0 16px !important;transition:all .2s ease}
.demo-dark .jlm-main-panel .button,.demo-dark .jlm-main-panel .checkout-button,.demo-dark .jlm-main-panel .coupon .button,.demo-dark .jlm-main-panel button.button,.demo-dark .jlm-main-panel input.button{background:#f9fafb !important;color:#111827 !important;border-color:#f9fafb !important}
.jlm-main-panel .checkout-button{width:100%}
.jlm-main-panel .coupon{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.jlm-main-panel .coupon .input-text{min-width:220px;height:44px;border-radius:10px !important;border:1px solid #d1d5db !important;background:#fff !important;padding:0 12px !important;color:#111827}
.demo-dark .jlm-main-panel .coupon .input-text{background:#111827 !important;border-color:#374151 !important;color:#f9fafb !important}
.jlm-main-panel .woocommerce-message,.jlm-main-panel .woocommerce-info,.jlm-main-panel .woocommerce-error{border:1px solid #e5e7eb !important;border-radius:12px !important;padding:12px 14px !important;background:#fafafa !important;box-shadow:none;color:inherit}
.demo-dark .jlm-main-panel .woocommerce-message,.demo-dark .jlm-main-panel .woocommerce-info,.demo-dark .jlm-main-panel .woocommerce-error{background:#111827 !important;border-color:#1f2937 !important;color:#f9fafb !important}

/* checkout layout */
.jlm-widget-checkout .jlm-main-panel .woocommerce{max-width:none;color:inherit}
.jlm-widget-checkout .jlm-main-panel form.checkout.woocommerce-checkout{display:grid;grid-template-columns:minmax(340px,.78fr) minmax(0,1fr);gap:18px;align-items:stretch}
.jlm-widget-checkout .jlm-main-panel #customer_details{grid-column:2;grid-row:1 / span 2;min-width:0}
.jlm-widget-checkout .jlm-main-panel #order_review_heading{grid-column:1;grid-row:1;margin:0;padding:0 0 10px;border-bottom:1px solid #eef2f7;font-size:16px;font-weight:800;color:inherit}
.demo-dark.jlm-widget-checkout .jlm-main-panel #order_review_heading{border-color:#1f2937}
.jlm-widget-checkout .jlm-main-panel #order_review{grid-column:1;grid-row:2;min-width:0}
.jlm-widget-checkout .jlm-main-panel .col2-set,.jlm-widget-checkout .jlm-main-panel .woocommerce-checkout-review-order{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:none;padding:16px;height:100%}
.demo-dark.jlm-widget-checkout .jlm-main-panel .col2-set,.demo-dark.jlm-widget-checkout .jlm-main-panel .woocommerce-checkout-review-order{background:#111827;border-color:#1f2937}
.jlm-widget-checkout .jlm-main-panel .col2-set{margin-bottom:0}
.jlm-widget-checkout .jlm-main-panel .col2-set .col-1,.jlm-widget-checkout .jlm-main-panel .col2-set .col-2{width:100%;float:none;margin:0}
.jlm-widget-checkout .jlm-main-panel .col2-set .col-2{margin-top:16px}
.jlm-widget-checkout .jlm-main-panel h3{font-size:16px;font-weight:800;color:inherit;margin:0 0 10px}
.jlm-widget-checkout .jlm-main-panel input,.jlm-widget-checkout .jlm-main-panel select,.jlm-widget-checkout .jlm-main-panel textarea{min-height:44px;border-radius:10px !important;border:1px solid #d1d5db !important;background:#fff !important;padding:10px 12px !important;box-shadow:none !important;color:#111827;width:100%}
.demo-dark.jlm-widget-checkout .jlm-main-panel input,.demo-dark.jlm-widget-checkout .jlm-main-panel select,.demo-dark.jlm-widget-checkout .jlm-main-panel textarea{background:#111827 !important;border-color:#374151 !important;color:#f9fafb !important}
.jlm-widget-checkout .jlm-main-panel label{font-weight:700;color:inherit}
.jlm-widget-checkout .jlm-main-panel .form-row{margin-bottom:14px}
.jlm-widget-checkout .jlm-main-panel .form-row-last,.jlm-widget-checkout .jlm-main-panel .form-row-first{width:48%;float:right}
.jlm-widget-checkout .jlm-main-panel .form-row-last{float:left}
.jlm-widget-checkout .jlm-main-panel .shop_table{border:0 !important;border-collapse:separate !important;border-spacing:0 6px !important}
.jlm-widget-checkout .jlm-main-panel #payment{background:#fff;border-radius:14px;border:1px solid #e5e7eb;padding:14px;margin-top:14px;box-shadow:none}
.demo-dark.jlm-widget-checkout .jlm-main-panel #payment{background:#111827;border-color:#1f2937}
.jlm-widget-checkout .jlm-main-panel #place_order,.jlm-widget-checkout .jlm-main-panel .button{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-height:46px !important;border:1px solid #111827 !important;border-radius:12px !important;background:#111827 !important;color:#fff !important;font-weight:700 !important;box-shadow:none !important;transition:all .2s ease}
.demo-dark.jlm-widget-checkout .jlm-main-panel #place_order,.demo-dark.jlm-widget-checkout .jlm-main-panel .button{background:#f9fafb !important;color:#111827 !important;border-color:#f9fafb !important}
.jlm-widget-checkout .jlm-main-panel .woocommerce-info,.jlm-widget-checkout .jlm-main-panel .woocommerce-message,.jlm-widget-checkout .jlm-main-panel .woocommerce-error{border-radius:12px !important}
.jlm-widget-checkout .jlm-main-panel .woocommerce-checkout-payment ul.payment_methods{margin:0;padding:0;list-style:none}
.jlm-widget-checkout .jlm-main-panel .woocommerce-checkout-payment ul.payment_methods li{padding:12px 0;border-bottom:1px solid #eef2f7}
.demo-dark.jlm-widget-checkout .jlm-main-panel .woocommerce-checkout-payment ul.payment_methods li{border-color:#1f2937}
.jlm-widget-checkout .jlm-main-panel .woocommerce-checkout-payment ul.payment_methods li:last-child{border-bottom:0}

@media (max-width:1180px){
  .jlm-widget-cart .jlm-main-panel .woocommerce{display:block}
  .jlm-widget-cart .jlm-main-panel form.woocommerce-cart-form,.jlm-widget-cart .jlm-main-panel .cart-collaterals{width:100%;min-width:0}
  .jlm-widget-cart .jlm-main-panel .cart-collaterals{margin-top:16px !important;display:block}
  .jlm-widget-checkout .jlm-main-panel form.checkout.woocommerce-checkout{grid-template-columns:1fr}
  .jlm-widget-checkout .jlm-main-panel #customer_details,.jlm-widget-checkout .jlm-main-panel #order_review_heading,.jlm-widget-checkout .jlm-main-panel #order_review{grid-column:auto;grid-row:auto}
}
@media (max-width:1024px){.jlm-feature-bar,.jlm-checkout-steps,.jlm-trust-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.jlm-cart-grid,.jlm-checkout-grid{grid-template-columns:1fr}.jlm-brand-badge{position:static;margin:0 0 10px auto}.jlm-hero-title,.jlm-hero-subtitle{padding-left:0}.jlm-main-panel,.jlm-side-panel{padding:14px}}
@media (max-width:767px){.jlm-widget-shell{padding:12px}.jlm-hero{padding:0 0 12px}.jlm-hero-title{font-size:20px}.jlm-feature-bar,.jlm-checkout-steps,.jlm-trust-strip{grid-template-columns:1fr}.jlm-main-panel table.cart tr.cart_item{display:block;padding:12px}.jlm-main-panel table.cart td{display:flex !important;justify-content:space-between;align-items:center;width:100% !important;padding:8px 0 !important}.jlm-main-panel table.cart td:before{content:attr(data-title);font-weight:700;color:inherit;margin-left:10px}.jlm-main-panel table.cart td.product-thumbnail,.jlm-main-panel table.cart td.product-remove{justify-content:center}.jlm-main-panel table.cart td.product-thumbnail:before,.jlm-main-panel table.cart td.product-remove:before{display:none}.jlm-main-panel .coupon{display:block}.jlm-main-panel .coupon .input-text,.jlm-main-panel .coupon button,.jlm-main-panel td.actions > button{width:100% !important;margin:0 0 10px !important}.jlm-widget-checkout .jlm-main-panel .form-row-first,.jlm-widget-checkout .jlm-main-panel .form-row-last{width:100%;float:none}}


/* Standalone Cart/Checkout Widgets 1.0.1: keep the original blue/minimal look and never show the domain field if another plugin injects it. */
.jlm-widget-shell .josthub-license-domain-checkout-field,
.jlm-widget-shell [id^="josthub_license_domain_"],
.jlm-widget-shell [name^="josthub_license_domain_"] {
    display: none !important;
}


/* JCCW 1.0.2 fixes: keep blue/minimal style, make layout responsive, and make Elementor controls win. */

/* Remove old JH badge space completely. */
.jlm-widget-shell .jlm-brand-badge {
    display: none !important;
}
.jlm-widget-shell .jlm-hero-title,
.jlm-widget-shell .jlm-hero-subtitle {
    padding-left: 0 !important;
}

/* Width must follow Elementor/container width, not a fixed internal width. */
.jlm-widget-shell,
.jlm-widget-shell .woocommerce,
.jlm-widget-shell .jlm-main-panel,
.jlm-widget-shell .jlm-cart-grid,
.jlm-widget-shell .jlm-checkout-grid {
    width: 100% !important;
    max-width: 100% !important;
}

/* Cart: more fluid proportional layout. */
.jlm-widget-cart .jlm-main-panel .woocommerce,
.jlm-widget-cart .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
    gap: 18px !important;
    align-items: start !important;
}
.jlm-widget-cart .woocommerce-notices-wrapper,
.jlm-widget-cart .woocommerce-message,
.jlm-widget-cart .woocommerce-info,
.jlm-widget-cart .woocommerce-error {
    grid-column: 1 / -1 !important;
}
.jlm-widget-cart form.woocommerce-cart-form {
    width: 100% !important;
    min-width: 0 !important;
    float: none !important;
}
.jlm-widget-cart .cart-collaterals {
    width: 100% !important;
    min-width: 0 !important;
    float: none !important;
}
.jlm-widget-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
}
.jlm-cart-grid.no-side .jlm-main-panel .woocommerce,
.jlm-widget-cart .jlm-cart-grid.no-side .woocommerce {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
}

/* Cart table should not overflow small containers. */
.jlm-widget-cart table.cart {
    table-layout: auto !important;
}
.jlm-widget-cart table.cart td,
.jlm-widget-cart table.cart th {
    word-break: normal;
}
.jlm-widget-cart table.cart td.product-name {
    min-width: 220px;
}
.jlm-widget-cart table.cart td.product-thumbnail {
    width: 96px !important;
}

/* Checkout: align order details/review box at the top. */
.jlm-widget-checkout .jlm-main-panel,
.jlm-widget-checkout .jlm-main-panel .woocommerce,
.jlm-widget-checkout form.checkout.woocommerce-checkout {
    align-items: start !important;
}
.jlm-widget-checkout #order_review_heading,
.jlm-widget-checkout #order_review,
.jlm-widget-checkout #payment,
.jlm-widget-checkout #customer_details {
    align-self: start !important;
}
.jlm-widget-checkout .woocommerce-checkout-review-order,
.jlm-widget-checkout #order_review {
    margin-top: 0 !important;
}

/* Checkout grid: keep details/review at top and proportional to container. */
.jlm-widget-checkout form.checkout.woocommerce-checkout {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: minmax(280px, 0.42fr) minmax(0, 1fr) !important;
    gap: 18px !important;
}
html[dir="rtl"] .jlm-widget-checkout #order_review_heading,
html[dir="rtl"] .jlm-widget-checkout #order_review,
html[dir="rtl"] .jlm-widget-checkout #payment {
    grid-column: 1 !important;
}
html[dir="rtl"] .jlm-widget-checkout #customer_details {
    grid-column: 2 !important;
    grid-row: 1 / span 3 !important;
}
html[dir="ltr"] .jlm-widget-checkout #customer_details {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
}
html[dir="ltr"] .jlm-widget-checkout #order_review_heading,
html[dir="ltr"] .jlm-widget-checkout #order_review,
html[dir="ltr"] .jlm-widget-checkout #payment {
    grid-column: 2 !important;
}

/* Elementor button controls must override WooCommerce/theme styles. */
.jlm-widget-shell .button,
.jlm-widget-shell a.button,
.jlm-widget-shell button.button,
.jlm-widget-shell input.button,
.jlm-widget-shell .checkout-button,
.jlm-widget-shell .coupon .button,
.jlm-widget-shell .wc-proceed-to-checkout a,
.jlm-widget-shell #place_order,
.jlm-widget-shell .woocommerce a.button,
.jlm-widget-shell .woocommerce button.button,
.jlm-widget-shell .woocommerce input.button,
.jlm-widget-shell .woocommerce #respond input#submit {
    color: var(--jccw-btn-color, inherit);
}
.elementor-widget-josthub_cart_widget .jlm-widget-shell .button,
.elementor-widget-josthub_cart_widget .jlm-widget-shell a.button,
.elementor-widget-josthub_cart_widget .jlm-widget-shell button.button,
.elementor-widget-josthub_cart_widget .jlm-widget-shell input.button,
.elementor-widget-josthub_cart_widget .jlm-widget-shell .checkout-button,
.elementor-widget-josthub_cart_widget .jlm-widget-shell .coupon .button,
.elementor-widget-josthub_cart_widget .jlm-widget-shell .wc-proceed-to-checkout a,
.elementor-widget-josthub_checkout_widget .jlm-widget-shell .button,
.elementor-widget-josthub_checkout_widget .jlm-widget-shell a.button,
.elementor-widget-josthub_checkout_widget .jlm-widget-shell button.button,
.elementor-widget-josthub_checkout_widget .jlm-widget-shell input.button,
.elementor-widget-josthub_checkout_widget .jlm-widget-shell #place_order,
.elementor-widget-josthub_checkout_widget .jlm-widget-shell .woocommerce a.button,
.elementor-widget-josthub_checkout_widget .jlm-widget-shell .woocommerce button.button,
.elementor-widget-josthub_checkout_widget .jlm-widget-shell .woocommerce input.button {
    cursor: pointer !important;
}

/* Ensure Woo/Theme disabled button opacity does not visually break custom colors too much. */
.jlm-widget-shell .button:disabled,
.jlm-widget-shell button.button:disabled,
.jlm-widget-shell input.button:disabled,
.jlm-widget-shell .button.disabled,
.jlm-widget-shell button.button.disabled,
.jlm-widget-shell input.button.disabled {
    opacity: .55 !important;
}

/* Make checkout receive almost the same editable targets as cart. */
.jlm-widget-checkout .woocommerce-checkout-review-order-table,
.jlm-widget-checkout .shop_table,
.jlm-widget-checkout .shop_table tr,
.jlm-widget-checkout .shop_table th,
.jlm-widget-checkout .shop_table td,
.jlm-widget-checkout #payment,
.jlm-widget-checkout #payment ul.payment_methods,
.jlm-widget-checkout #payment div.payment_box {
    transition: all .2s ease;
}

/* Responsive behavior. */
@media (max-width: 1100px) {
    .jlm-widget-cart .jlm-main-panel .woocommerce,
    .jlm-widget-cart .woocommerce,
    .jlm-cart-grid.no-side .jlm-main-panel .woocommerce,
    .jlm-widget-cart .jlm-cart-grid.no-side .woocommerce,
    .jlm-widget-checkout form.checkout.woocommerce-checkout {
        grid-template-columns: 1fr !important;
    }

    html[dir="rtl"] .jlm-widget-checkout #order_review_heading,
    html[dir="rtl"] .jlm-widget-checkout #order_review,
    html[dir="rtl"] .jlm-widget-checkout #payment,
    html[dir="rtl"] .jlm-widget-checkout #customer_details,
    html[dir="ltr"] .jlm-widget-checkout #order_review_heading,
    html[dir="ltr"] .jlm-widget-checkout #order_review,
    html[dir="ltr"] .jlm-widget-checkout #payment,
    html[dir="ltr"] .jlm-widget-checkout #customer_details {
        grid-column: auto !important;
        grid-row: auto !important;
    }
}

@media (max-width: 768px) {
    .jlm-widget-shell {
        overflow-x: hidden;
    }
    .jlm-widget-cart .jlm-main-panel {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .jlm-widget-cart table.cart td.product-name {
        min-width: 0;
    }
}


/* JCCW 1.0.3 HARD button style bridge for WooCommerce + Elementor.
   Elementor controls set CSS variables on .jlm-widget-shell, and these rules override Woo/theme buttons. */
.jlm-widget-shell {
    --jccw-button-text: #ffffff;
    --jccw-button-bg: #2443c2;
    --jccw-button-border: #2443c2;
    --jccw-button-hover-text: #ffffff;
    --jccw-button-hover-bg: #1834a3;
    --jccw-button-hover-border: #1834a3;
}

.jlm-widget-shell .button,
.jlm-widget-shell a.button,
.jlm-widget-shell button.button,
.jlm-widget-shell input.button,
.jlm-widget-shell .checkout-button,
.jlm-widget-shell a.checkout-button,
.jlm-widget-shell .wc-proceed-to-checkout a.checkout-button,
.jlm-widget-shell .coupon .button,
.jlm-widget-shell .coupon button.button,
.jlm-widget-shell .actions .button,
.jlm-widget-shell .woocommerce a.button,
.jlm-widget-shell .woocommerce button.button,
.jlm-widget-shell .woocommerce input.button,
.jlm-widget-shell .woocommerce #respond input#submit,
.jlm-widget-shell #place_order,
.jlm-widget-shell button#place_order,
.jlm-widget-shell .place-order #place_order,
.jlm-widget-shell .wc-block-components-button,
.jlm-widget-shell a.wc-block-components-button,
.jlm-widget-shell button.wc-block-components-button {
    background-color: var(--jccw-button-bg) !important;
    background-image: none !important;
    background: var(--jccw-button-bg) !important;
    color: var(--jccw-button-text) !important;
    border-color: var(--jccw-button-border) !important;
    border-style: solid !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

.jlm-widget-shell .button *,
.jlm-widget-shell a.button *,
.jlm-widget-shell button.button *,
.jlm-widget-shell input.button *,
.jlm-widget-shell .checkout-button *,
.jlm-widget-shell a.checkout-button *,
.jlm-widget-shell .wc-proceed-to-checkout a.checkout-button *,
.jlm-widget-shell .coupon .button *,
.jlm-widget-shell .woocommerce a.button *,
.jlm-widget-shell .woocommerce button.button *,
.jlm-widget-shell .woocommerce input.button *,
.jlm-widget-shell #place_order *,
.jlm-widget-shell .wc-block-components-button * {
    color: var(--jccw-button-text) !important;
}

.jlm-widget-shell .button:hover,
.jlm-widget-shell a.button:hover,
.jlm-widget-shell button.button:hover,
.jlm-widget-shell input.button:hover,
.jlm-widget-shell .checkout-button:hover,
.jlm-widget-shell a.checkout-button:hover,
.jlm-widget-shell .wc-proceed-to-checkout a.checkout-button:hover,
.jlm-widget-shell .coupon .button:hover,
.jlm-widget-shell .coupon button.button:hover,
.jlm-widget-shell .actions .button:hover,
.jlm-widget-shell .woocommerce a.button:hover,
.jlm-widget-shell .woocommerce button.button:hover,
.jlm-widget-shell .woocommerce input.button:hover,
.jlm-widget-shell .woocommerce #respond input#submit:hover,
.jlm-widget-shell #place_order:hover,
.jlm-widget-shell button#place_order:hover,
.jlm-widget-shell .place-order #place_order:hover,
.jlm-widget-shell .wc-block-components-button:hover,
.jlm-widget-shell a.wc-block-components-button:hover,
.jlm-widget-shell button.wc-block-components-button:hover {
    background-color: var(--jccw-button-hover-bg) !important;
    background-image: none !important;
    background: var(--jccw-button-hover-bg) !important;
    color: var(--jccw-button-hover-text) !important;
    border-color: var(--jccw-button-hover-border) !important;
}

.jlm-widget-shell .button:hover *,
.jlm-widget-shell a.button:hover *,
.jlm-widget-shell button.button:hover *,
.jlm-widget-shell .checkout-button:hover *,
.jlm-widget-shell #place_order:hover *,
.jlm-widget-shell .wc-block-components-button:hover * {
    color: var(--jccw-button-hover-text) !important;
}

.jlm-widget-shell .button:disabled,
.jlm-widget-shell button.button:disabled,
.jlm-widget-shell input.button:disabled,
.jlm-widget-shell .button.disabled,
.jlm-widget-shell button.button.disabled,
.jlm-widget-shell input.button.disabled,
.jlm-widget-shell .wc-block-components-button:disabled {
    opacity: .55 !important;
}
