:root{--jcs-bg:#141416;--jcs-pane:#232327;--jcs-cream:#f7f3f1;--jcs-gray:#acb9b4;--jcs-lime:#ff8a1f;--jcs-line:#464045}body.jcs3d-body{background:var(--jcs-bg);color:var(--jcs-cream);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0} .jcs3d-body *{box-sizing:border-box}.jcs3d-body a{text-decoration:none}.jcs-wrap{max-width:1230px;margin:0 auto;padding-left:28px;padding-right:28px}.jcs-site-header{background:#141416;border-bottom:1px solid #242e2c;position:relative;z-index:12}.jcs-header-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:25px}.jcs-logo{display:inline-flex;gap:11px;align-items:center;font-weight:900;font-size:19px;letter-spacing:-.6px;color:#fff!important;white-space:nowrap}.jcs-logo-symbol{font-size:28px;color:var(--jcs-lime)}.jcs-nav-links{display:flex;gap:30px;list-style:none;margin:0;padding:0}.jcs-nav-links a{color:#c4d0cb;font-size:13px;font-weight:650}.jcs-nav-links a:hover,.jcs-text-link:hover{color:var(--jcs-lime)}.jcs-nav-cta{display:flex;align-items:center;gap:22px}.jcs-cart{color:#d4ddd7;font-size:13px}.jcs-button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:17px 25px;min-height:53px;border-radius:7px;font-size:14px;font-weight:800;background:var(--jcs-lime);color:#101914!important;transition:transform .2s,background .2s;border:0;cursor:pointer}.jcs-button:hover{transform:translateY(-2px);background:#ffad55}.jcs-button-small{padding:12px 19px;min-height:42px;font-size:12px}.jcs-button-ghost{border:1px solid #67554c;color:#f1f2ec!important;background:transparent}.jcs-button-ghost:hover{background:#343034}.jcs-hero{background:radial-gradient(circle at 83% 28%,#43302a,#141416 55%);overflow:hidden}.jcs-hero-grid{display:grid;grid-template-columns:53% 47%;min-height:655px;align-items:center}.jcs-eyebrow,.jcs-kicker{font-size:11px;font-weight:850;letter-spacing:2.2px;color:var(--jcs-lime)}.jcs-status-dot{display:inline-block;width:7px;height:7px;background:var(--jcs-lime);border-radius:50%;margin-right:11px}.jcs-hero h1{font-size:clamp(62px,7.1vw,106px);line-height:.98;letter-spacing:-6px;color:#fff;margin:32px 0 28px;font-weight:900}.jcs-hero h1 em,.jcs-cta h2 em{font-style:normal;color:var(--jcs-lime)}.jcs-hero-copy>p{font-size:18px;max-width:465px;line-height:1.7;color:#b7c3bb}.jcs-hero-actions{display:flex;gap:13px;margin:33px 0 45px;flex-wrap:wrap}.jcs-hero-proof{display:flex;gap:22px;font-size:12px;color:#81918a}.jcs-hero-visual{position:relative;align-self:stretch;display:flex;justify-content:center;align-items:center}.jcs-hero-visual img{width:112%;max-width:none;filter:drop-shadow(0 25px 40px #0009)}.jcs-floating-tag{position:absolute;right:0;bottom:95px;background:#ffedda;color:#25312b;font-weight:900;padding:15px;font-size:10px;letter-spacing:1.5px;transform:rotate(-4deg)}.jcs-floating-tag strong{display:block;font-size:17px;margin-top:5px}.jcs-bands{background:var(--jcs-lime);color:#1c2c20}.jcs-band-inner{display:flex;align-items:center;justify-content:space-between;min-height:59px;gap:15px;font-size:11px;letter-spacing:1.25px;font-weight:850}.jcs-section{padding-top:100px;padding-bottom:100px}.jcs-section-top{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}.jcs-section h2,.jcs-pagehead h1{font-size:clamp(36px,4.6vw,62px);letter-spacing:-2.4px;line-height:1.05;margin:17px 0 0;font-weight:850;color:#fafcf7}.jcs-section-top>p{max-width:375px;color:#c8bec1;line-height:1.75}.jcs-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.jcs-choice-card{padding:30px 34px 35px;min-height:560px;display:flex;flex-direction:column;background:#242326;border:1px solid #334240;border-radius:17px;color:#f7f3f1!important;overflow:hidden}.jcs-choice-shop{background:#292525}.jcs-choice-custom{background:#21252d}.jcs-choice-art{height:290px;display:flex;justify-content:center;align-items:center}.jcs-choice-art img{max-height:290px;max-width:90%}.jcs-pill{align-self:start;border:1px solid #70615b;color:#cfd7ce;border-radius:99px;padding:7px 13px;font-size:10px;font-weight:800;letter-spacing:1.2px}.jcs-choice-card h3{font-size:39px;letter-spacing:-1.6px;color:white;margin:17px 0 8px}.jcs-choice-card p{font-size:14px;line-height:1.65;max-width:380px;color:#bfcac5;margin:0 0 22px}.jcs-choice-card b{margin-top:auto;color:var(--jcs-lime);font-size:14px}.jcs-featured{background:#1c1c20}.jcs-text-link{font-size:14px;font-weight:800;color:var(--jcs-lime)}.jcs-muted{color:#8e9c96}.jcs-products-note{font-size:12px;margin-top:32px}.jcs-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.jcs-steps>div{border-top:1px solid #62544e;padding:24px 15px 5px 0}.jcs-steps span{color:var(--jcs-lime);font-size:13px;font-weight:900}.jcs-steps h3{font-size:25px;color:#fff;margin:27px 0 10px}.jcs-steps p{color:#9cac9f;line-height:1.7;font-size:14px;max-width:290px}.jcs-cta{background:#282321;border-radius:20px;text-align:center;margin-bottom:90px;padding-top:74px;padding-bottom:78px}.jcs-cta h2{font-size:clamp(46px,6vw,82px);line-height:1.06;letter-spacing:-3px;color:white;margin:18px 0}.jcs-cta p{color:#c2d4ca;margin-bottom:28px}.jcs-button-light{background:#ffedda}.jcs-site-footer{background:#101013;border-top:1px solid #353035;padding-top:55px}.jcs-footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-bottom:65px}.jcs-site-footer p{color:#9daca4;font-size:14px;line-height:1.7;margin-top:21px}.jcs-footer-cols>div:not(:first-child){display:flex;flex-direction:column;gap:14px}.jcs-footer-cols strong{font-size:13px;color:#f0f4f0;margin-bottom:6px}.jcs-footer-cols a:not(.jcs-logo){color:#a9b6ae;font-size:13px}.jcs-footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #2b3533;padding-top:25px;padding-bottom:25px;color:#7a8980;font-size:12px}.jcs-pagehead{background:linear-gradient(120deg,#38302d,#17171a);padding:90px 0 72px}.jcs-pagehead p{color:#bec8c0}.jcs-page-content,.jcs-shop-content{padding-top:60px;padding-bottom:100px;min-height:330px}.jcs-page-content{max-width:930px}.jcs-page-content h2,.jcs-page-content h3{color:white}.jcs-page-content p,.jcs-page-content li{color:#c9c2c4;line-height:1.8}.jcs-page-content a{color:var(--jcs-lime)}.jcs-posts{padding-top:70px;padding-bottom:70px}.jcs-posts article{padding:25px 0;border-bottom:1px solid #333}.jcs-posts a{color:var(--jcs-lime)}.jcs3d-body .woocommerce ul.products li.product{background:#282629;border-radius:12px;overflow:hidden;padding:12px}.jcs3d-body .woocommerce ul.products li.product .woocommerce-loop-product__title{color:#fff;font-size:17px}.jcs3d-body .woocommerce ul.products li.product .price{color:var(--jcs-lime)}.jcs3d-body .woocommerce a.button,.jcs3d-body .woocommerce button.button{background:var(--jcs-lime);color:#19221b;border-radius:6px}.jcs3d-body .woocommerce div.product{color:white}.jcs3d-body .woocommerce div.product .product_title{color:white}.jcs3d-body .woocommerce .quantity input{color:#202}.jcs3d-body .woocommerce table.shop_table{background:#fff;color:#111}.jcs3d-body .woocommerce input,.jcs3d-body .woocommerce textarea,.jcs3d-body .woocommerce select{color:#202a25;background:#fff}.jcs3d-body .woocommerce .woocommerce-breadcrumb{color:#bdb4b7}.jcs3d-body .woocommerce .woocommerce-breadcrumb a{color:var(--jcs-lime)}
@media(max-width:1000px){.jcs-nav-links{gap:12px}.jcs-header-inner{flex-wrap:wrap;padding-top:17px;padding-bottom:17px}.jcs-hero-grid{min-height:520px}.jcs-hero h1{letter-spacing:-3px}.jcs-hero-visual img{width:125%}}
@media(max-width:750px){.jcs-wrap{padding-left:19px;padding-right:19px}.jcs-header-inner{gap:14px}.jcs-nav{order:3;width:100%;overflow:auto}.jcs-nav-links{gap:19px;min-width:max-content}.jcs-nav-cta{gap:9px}.jcs-cart{display:none}.jcs-logo{font-size:15px}.jcs-hero-grid{grid-template-columns:1fr;min-height:0}.jcs-hero-copy{padding:75px 0 10px}.jcs-hero h1{font-size:64px}.jcs-hero-visual{height:350px}.jcs-hero-visual img{width:100%;height:100%;object-fit:contain}.jcs-floating-tag{bottom:24px;right:15px}.jcs-hero-proof{flex-wrap:wrap}.jcs-band-inner{flex-wrap:wrap;justify-content:center;padding-top:15px;padding-bottom:15px}.jcs-band-inner span:nth-child(n+5){display:none}.jcs-section{padding-top:66px;padding-bottom:66px}.jcs-section-top{display:block}.jcs-choice-grid,.jcs-steps,.jcs-footer-cols{grid-template-columns:1fr}.jcs-choice-card{min-height:480px}.jcs-choice-art{height:230px}.jcs-choice-art img{max-height:230px}.jcs-footer-cols{gap:35px}.jcs-footer-bottom{display:block}.jcs-cta{border-radius:0;margin-bottom:0}.jcs-pagehead{padding:65px 0}}

/* About and Contact */
.jcs-info-lead{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:90px;padding-bottom:52px}.jcs-info-lead h2,.jcs-contact-grid h2{color:#fff;font-size:clamp(33px,4vw,54px);line-height:1.1;letter-spacing:-1.8px;margin:18px 0}.jcs-info-lead p,.jcs-contact-grid p,.jcs-info-callout p{font-size:17px;line-height:1.8;color:#c9c2c4}.jcs-info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:90px}.jcs-info-cards article{background:#252323;border:1px solid #484044;border-radius:16px;padding:34px}.jcs-info-cards h3,.jcs-contact-panel h3{color:#fff;font-size:27px;letter-spacing:-.8px;margin:25px 0 12px}.jcs-info-cards p{color:#c9bfc0;line-height:1.7}.jcs-info-callout{padding-top:62px;padding-bottom:67px;margin-bottom:80px;border-radius:20px;background:#262220}.jcs-info-callout h2{color:#fff;font-size:clamp(34px,4.5vw,56px);letter-spacing:-2px;margin:15px 0}.jcs-info-callout p{margin-bottom:30px}.jcs-info-secondary{display:inline-block;margin-left:24px;color:#ffe0c1;font-weight:700}.jcs-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;padding-top:85px;padding-bottom:115px}.jcs-contact-grid a:not(.jcs-button){color:var(--jcs-lime)}.jcs-contact-panel{background:#252323;border:1px solid #524640;padding:44px;border-radius:18px;align-self:start}.jcs-contact-panel .jcs-small{font-size:13px;color:#9caf9f;margin-top:25px}.jcs-contact-details{margin-top:35px;padding-top:15px;border-top:1px solid #524640}@media(max-width:750px){.jcs-info-lead,.jcs-info-cards,.jcs-contact-grid{grid-template-columns:1fr;gap:20px}.jcs-info-lead,.jcs-contact-grid{padding-top:60px}.jcs-info-callout{border-radius:0;margin-bottom:0}.jcs-info-secondary{display:block;margin:20px 0 0}}

/* v1.3.2 - Accessible form styles (Contact + 3D model quotes). */
.jcs3d-body .jcs-contact-details .wpforms-container .wpforms-field-label,
.jcs3d-body .jcs-contact-details .wpforms-container .wpforms-field-sublabel,
.jcs3d-body .jcs-contact-details .wpforms-container .wpforms-field-description {color:#fff !important;}
.jcs3d-body .jcs-contact-details .wpforms-container .wpforms-required-label {color:#ff8585 !important;}
.jcs3d-body .jcs-contact-details .wpforms-container button[type=submit] {background:#ff8a1f !important;color:#101914 !important;border:0 !important;font-weight:700 !important;}
.jcs3d-body .jcs-quote-form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),
.jcs3d-body .jcs-quote-form textarea,
.jcs3d-body .jcs-quote-form select,
.jcs3d-body .jcs-contact-details .wpforms-container input:not([type=checkbox]):not([type=radio]),
.jcs3d-body .jcs-contact-details .wpforms-container textarea,
.jcs3d-body .jcs-contact-details .wpforms-container select {
 background:#fff !important;color:#202020 !important;-webkit-text-fill-color:#202020 !important;caret-color:#202020 !important;
 color-scheme:light;border:1px solid #8a9b91 !important;
}
.jcs3d-body .jcs-quote-form input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,
.jcs3d-body .jcs-quote-form textarea:focus,
.jcs3d-body .jcs-quote-form select:focus,
.jcs3d-body .jcs-contact-details .wpforms-container input:focus,
.jcs3d-body .jcs-contact-details .wpforms-container textarea:focus {
 background:#fff !important;color:#202020 !important;-webkit-text-fill-color:#202020 !important;
 border-color:#ff8a1f !important;outline:2px solid #ff8a1f !important;
}
.jcs3d-body .jcs-quote-form select {height:52px !important;min-height:52px !important;line-height:normal !important;padding:0 15px !important;box-sizing:border-box !important;appearance:auto !important;-webkit-appearance:menulist !important;vertical-align:middle !important;}
.jcs3d-body .jcs-quote-form select option {background:#fff !important;color:#202020 !important;}
.jcs3d-body .jcs-quote-form input::placeholder,
.jcs3d-body .jcs-quote-form textarea::placeholder,
.jcs3d-body .jcs-contact-details .wpforms-container input::placeholder,
.jcs3d-body .jcs-contact-details .wpforms-container textarea::placeholder {color:#666 !important;opacity:1 !important;}

/* Header customer account link - v1.3.5 */
.jcs3d-body .jcs-account-link{display:inline-flex;align-items:center;gap:7px;color:#d4ddd7;font-size:13px;font-weight:700;white-space:nowrap;transition:color .2s}
.jcs3d-body .jcs-account-link:hover,.jcs3d-body .jcs-account-link:focus-visible{color:#ff8a1f}
.jcs3d-body .jcs-account-icon{font-size:21px;line-height:1;font-weight:900;color:#ff8a1f}
@media(max-width:1100px){.jcs-header-inner{gap:14px}.jcs-nav-cta{gap:13px}.jcs-nav-links{gap:14px}}
@media(max-width:750px){.jcs3d-body .jcs-account-link{font-size:12px}.jcs3d-body .jcs-account-icon{font-size:18px}}
@media(max-width:410px){.jcs3d-body .jcs-account-link{font-size:11px}.jcs-nav-cta{gap:7px}.jcs-button-small{padding:10px 11px}}

/* v1.3.6 — WooCommerce accessibility: readable feedback on dark storefront. */
/* WooCommerce notices use light panels; force high contrast without changing links/buttons elsewhere. */
.jcs3d-body .woocommerce .woocommerce-info,
.jcs3d-body .woocommerce .woocommerce-message,
.jcs3d-body .woocommerce .woocommerce-error,
.jcs3d-body .woocommerce-info,
.jcs3d-body .woocommerce-message,
.jcs3d-body .woocommerce-error {
  background:#f0f2f5 !important;
  color:#17242a !important;
  border-top-color:#f97316 !important;
}
.jcs3d-body .woocommerce .woocommerce-info :not(.button),
.jcs3d-body .woocommerce .woocommerce-message :not(.button),
.jcs3d-body .woocommerce .woocommerce-error :not(.button),
.jcs3d-body .woocommerce-info :not(.button),
.jcs3d-body .woocommerce-message :not(.button),
.jcs3d-body .woocommerce-error :not(.button) {color:#17242a !important;}
.jcs3d-body .woocommerce .woocommerce-info a:not(.button),
.jcs3d-body .woocommerce .woocommerce-message a:not(.button),
.jcs3d-body .woocommerce .woocommerce-error a:not(.button),
.jcs3d-body .woocommerce-info a:not(.button),
.jcs3d-body .woocommerce-message a:not(.button),
.jcs3d-body .woocommerce-error a:not(.button) {color:#125a79 !important;text-decoration:underline;}
/* Password-strength indicator is on a pastel background, unlike the rest of the dark form. */
.jcs3d-body .woocommerce-password-strength,
.jcs3d-body .woocommerce .woocommerce-password-strength {
  color:#18201c !important;
  font-weight:700 !important;
  padding:10px 12px !important;
  line-height:1.5;
}
.jcs3d-body .woocommerce-password-strength.short,
.jcs3d-body .woocommerce-password-strength.bad {background:#f4b79d !important;color:#18201c !important;}
.jcs3d-body .woocommerce-password-strength.good {background:#f6dc8c !important;color:#18201c !important;}
.jcs3d-body .woocommerce-password-strength.strong {background:#ffd19a !important;color:#18201c !important;}
.jcs3d-body .woocommerce-password-hint,
.jcs3d-body .woocommerce .woocommerce-password-hint {color:#f0f2eb !important;line-height:1.6;}


/* v1.3.7 — Customer portal: order summary spacing, actions, and readable links. */
.jcs3d-body.woocommerce-account .woocommerce-orders-table th,
.jcs3d-body.woocommerce-account .woocommerce-orders-table td,
.jcs3d-body .woocommerce .woocommerce-orders-table th,
.jcs3d-body .woocommerce .woocommerce-orders-table td {padding:18px 22px !important;vertical-align:middle;}

/* Tables on order details, order payment, and checkout. */
.jcs3d-body .woocommerce-order-details table.shop_table th,
.jcs3d-body .woocommerce-order-details table.shop_table td,
.jcs3d-body .woocommerce-table.shop_table th,
.jcs3d-body .woocommerce-table.shop_table td,
.jcs3d-body .woocommerce-checkout-review-order-table th,
.jcs3d-body .woocommerce-checkout-review-order-table td {padding:18px 22px !important;vertical-align:middle;}
.jcs3d-body .woocommerce-order-details,
.jcs3d-body .woocommerce-order-overview,
.jcs3d-body .woocommerce-order {margin-bottom:28px !important;}
.jcs3d-body #payment {margin-top:24px !important;padding:0 !important;}
.jcs3d-body #payment ul.payment_methods li {padding:18px 22px !important;}
.jcs3d-body #payment .wc_payment_method > label {display:inline-block;padding:4px 0 !important;line-height:1.5;}
.jcs3d-body #payment div.payment_box {margin:0 !important;padding:22px 28px !important;line-height:1.7;}
.jcs3d-body .woocommerce-privacy-policy-text,
.jcs3d-body .woocommerce-terms-and-conditions-wrapper {margin-top:22px !important;line-height:1.8;}
.jcs3d-body .woocommerce a.button,
.jcs3d-body .woocommerce button.button,
.jcs3d-body .woocommerce input.button {margin-top:10px;}

/* Order-pay page has slightly different markup from regular checkout. */
.jcs3d-body.woocommerce-order-pay table.shop_table {border-collapse:separate !important;border-spacing:0 !important;width:100%;}
.jcs3d-body.woocommerce-order-pay table.shop_table th,
.jcs3d-body.woocommerce-order-pay table.shop_table td {padding:20px 26px !important;line-height:1.7 !important;vertical-align:middle !important;}
.jcs3d-body.woocommerce-order-pay #payment ul.payment_methods {padding:0 !important;margin:0 !important;}
.jcs3d-body.woocommerce-order-pay #payment ul.payment_methods > li {padding:20px 26px !important;}
.jcs3d-body.woocommerce-order-pay #payment div.payment_box {padding:20px 26px !important;margin:15px 0 0 !important;line-height:1.7 !important;}
.jcs3d-body.woocommerce-order-pay #payment .woocommerce-privacy-policy-text {padding:12px 26px !important;line-height:1.8 !important;}
.jcs3d-body.woocommerce-order-pay #payment .place-order {padding:20px 26px !important;}

/* Order numbers: accessible contrast on white table rows. */
.jcs3d-body.woocommerce-account .woocommerce-orders-table__cell-order-number a {color:#176b83 !important;font-weight:700 !important;}
.jcs3d-body.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover {color:#0d4658 !important;text-decoration:underline;}

/* Customer account buttons: distinguish actions by intent. */
.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content a.button,
.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content a.woocommerce-button {
  border-radius:8px !important;padding:12px 18px !important;font-size:15px !important;
  font-weight:600 !important;text-align:center !important;text-decoration:none !important;
  border:0 !important;box-shadow:none !important;transition:background-color .2s ease;
}
.jcs3d-body.woocommerce-account a.button.pay {background:#a8db62 !important;color:#172015 !important;}
.jcs3d-body.woocommerce-account a.button.pay:hover {background:#bdea78 !important;}
.jcs3d-body.woocommerce-account a.button.view {background:#344a5e !important;color:#fff !important;}
.jcs3d-body.woocommerce-account a.button.view:hover {background:#48657d !important;color:#fff !important;}
.jcs3d-body.woocommerce-account a.button.cancel {background:#a64d53 !important;color:#fff !important;}
.jcs3d-body.woocommerce-account a.button.cancel:hover {background:#bd6268 !important;color:#fff !important;}
/* jcs3d_pay_online is the actual class generated by v1.9.11 of our quote plugin. */
.jcs3d-body.woocommerce-account a.button.jcs3d_pay_online,
.jcs3d-body.woocommerce-account a.button.jcs-pay-online-instead,
.jcs3d-body.woocommerce-account a.button.pay-online-instead,
.jcs3d-body.woocommerce-account a.button.pay_online_instead {background:#d99535 !important;color:#171717 !important;}
.jcs3d-body.woocommerce-account a.button.jcs3d_pay_online:hover,
.jcs3d-body.woocommerce-account a.button.jcs-pay-online-instead:hover,
.jcs3d-body.woocommerce-account a.button.pay-online-instead:hover,
.jcs3d-body.woocommerce-account a.button.pay_online_instead:hover {background:#edad51 !important;color:#171717 !important;}

/* Same action-column width, centering, and consistent equal-width button alignment. */
.jcs3d-body.woocommerce-account .woocommerce-orders-table__cell-order-actions {
  width:210px !important;min-width:210px !important;padding:16px !important;
  box-sizing:border-box !important;text-align:center !important;
}
.jcs3d-body.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button,
.jcs3d-body.woocommerce-account .woocommerce-orders-table__cell-order-actions a.woocommerce-button {
  display:flex !important;align-items:center !important;justify-content:center !important;
  float:none !important;position:static !important;
  width:100% !important;min-width:0 !important;max-width:none !important;
  min-height:62px !important;box-sizing:border-box !important;
  margin:0 0 12px 0 !important;padding:12px 14px !important;
  white-space:normal !important;line-height:1.4 !important;text-align:center !important;
  border-radius:8px !important;
}
.jcs3d-body.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button:last-child,
.jcs3d-body.woocommerce-account .woocommerce-orders-table__cell-order-actions a.woocommerce-button:last-child {margin-bottom:0 !important;}
/* Order details page: ensure separate Pay and Cancel buttons have breathing room. */
.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td a.button {margin-right:16px !important;margin-bottom:8px !important;}
.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td a.button + a.button {margin-left:12px !important;}
.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details a.button {margin-right:12px !important;margin-bottom:10px !important;}
@media(max-width:780px){
 .jcs3d-body.woocommerce-account .woocommerce-orders-table__cell-order-actions {width:auto !important;min-width:0 !important;}
 .jcs3d-body.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button {min-height:48px !important;}
}

/* v1.3.8: normalize mixed WooCommerce Pay / View / Cancel button placement.
   WooCommerce and its extensions add different left margins to action links. */
@media (min-width:781px) {
  body.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
    width:210px !important;
    min-width:210px !important;
    box-sizing:border-box !important;
    padding:16px !important;
    text-align:initial !important;
  }
}
body.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
  vertical-align:middle !important;
}
body.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a,
body.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.button,
body.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.woocommerce-button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  float:none !important;
  position:static !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  min-height:62px !important;
  box-sizing:border-box !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-top:0 !important;
  margin-bottom:12px !important;
  padding:12px 14px !important;
  text-align:center !important;
  white-space:normal !important;
}
body.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a:last-child,
body.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.button:last-child {
  margin-bottom:0 !important;
}
@media (max-width:780px) {
  body.jcs3d-body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a {min-height:48px !important;}
}


/* v1.3.9: Readable custom print specifications on white WooCommerce order tables. */
body.jcs3d-body .woocommerce-order-details .wc-item-meta,
body.jcs3d-body .woocommerce-order-details .wc-item-meta li,
body.jcs3d-body .woocommerce-order-details .wc-item-meta li p,
body.jcs3d-body .woocommerce-order-details .wc-item-meta li strong,
body.jcs3d-body .woocommerce-order-details .wc-item-meta li span,
body.jcs3d-body .woocommerce-order-details .woocommerce-table__product-name .wc-item-meta,
body.jcs3d-body .woocommerce-order-details .woocommerce-table__product-name .wc-item-meta * {
  color:#263a43 !important;
  opacity:1 !important;
}
body.jcs3d-body .woocommerce-order-details .wc-item-meta {
  margin:12px 0 0 !important;
  padding:0 !important;
  line-height:1.65 !important;
}
body.jcs3d-body .woocommerce-order-details .wc-item-meta li {margin:0 0 5px !important;}
body.jcs3d-body .woocommerce-order-details .wc-item-meta strong {font-weight:700 !important;}
body.jcs3d-body .woocommerce-MyAccount-content .jcs3d-project-details table th,
body.jcs3d-body .woocommerce-MyAccount-content .jcs3d-project-details table td {
  color:#263a43 !important;
  opacity:1 !important;
}


/* v1.3.10 — readable order-received confirmation + check instructions. */
body.jcs3d-body.woocommerce-order-received .woocommerce-notice--success,
body.jcs3d-body .woocommerce-order .woocommerce-notice--success,
body.jcs3d-body .woocommerce .woocommerce-thankyou-order-received {
  color:#182a24 !important;
  -webkit-text-fill-color:#182a24 !important;
  font-weight:600;
}
body.jcs3d-body.woocommerce-order-received .woocommerce-notice--success *,
body.jcs3d-body.woocommerce-order-received .woocommerce-message * {color:#182a24 !important;}
body.jcs3d-body.woocommerce-order-received .woocommerce-notice--success {
  background:#edf3ec !important;
}
body.jcs3d-body.woocommerce-order-received .woocommerce-order-overview .jcs3d-check-thankyou-cell {
  display:block; box-sizing:border-box; color:#e9f1eb; font-size:14px;
  line-height:1.6; padding:18px 25px; min-width:0;
}
body.jcs3d-body.woocommerce-order-received .jcs3d-check-thankyou-cell > strong {
  display:block; font-size:16px; color:#ff8a1f; margin-bottom:9px;
}
body.jcs3d-body.woocommerce-order-received .jcs3d-check-thankyou-cell > div {margin-top:7px;}
body.jcs3d-body.woocommerce-order-received .jcs3d-check-thankyou-cell b {color:#fff;}
body.jcs3d-body.woocommerce-order-received .jcs3d-check-clearing {font-size:13px;color:#dceabb;}
body.jcs3d-body .jcs3d-check-fallback {
  background:#20342a;color:#e9f1eb;border:1px solid #46694f;
  border-radius:7px;padding:20px 24px;margin:22px 0;line-height:1.6;
}
body.jcs3d-body .jcs3d-check-fallback[hidden] {display:none !important;}

/* v1.3.12 — Stable cart layout. Replace v1.3.11 rules entirely. */
body.jcs3d-body.woocommerce-cart .jcs-shop-content {max-width:1320px; width:100%;}
body.jcs3d-body.woocommerce-cart .jcs-shop-content > .woocommerce {width:100%; max-width:100%; display:block;}
body.jcs3d-body.woocommerce-cart .woocommerce form.woocommerce-cart-form,
body.jcs3d-body.woocommerce-cart .woocommerce .cart-collaterals {float:none !important;width:100% !important;max-width:100% !important;min-width:0 !important;clear:both;margin:0 0 28px !important;}
body.jcs3d-body.woocommerce-cart .woocommerce .cart-collaterals::before,
body.jcs3d-body.woocommerce-cart .woocommerce .cart-collaterals::after {content:none;}
body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table {width:100% !important;max-width:100%;border:0;border-collapse:collapse;background:#fff;color:#17242a;border-radius:9px;}
body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table thead th {padding:18px 17px;background:#f5f8f7;color:#192c29;border-bottom:1px solid #dce4e1;font-size:14px;}
body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td {padding:17px !important;border-color:#e1e9e6;color:#1b2b29;vertical-align:middle;}
body.jcs3d-body.woocommerce-cart .woocommerce td.product-name {min-width:150px;}
body.jcs3d-body.woocommerce-cart .woocommerce td.product-name a {color:#176b83 !important;font-weight:750;line-height:1.5;overflow-wrap:break-word;}
body.jcs3d-body.woocommerce-cart .woocommerce td.product-name a:hover {color:#0d4658 !important;text-decoration:underline;}
body.jcs3d-body.woocommerce-cart .woocommerce td.product-price,body.jcs3d-body.woocommerce-cart .woocommerce td.product-subtotal,body.jcs3d-body.woocommerce-cart .woocommerce td.product-price .amount,body.jcs3d-body.woocommerce-cart .woocommerce td.product-subtotal .amount {color:#182a27 !important;font-weight:700;}
body.jcs3d-body.woocommerce-cart .woocommerce td.product-thumbnail img {border-radius:8px;background:#f4f7f6;max-width:85px;}
body.jcs3d-body.woocommerce-cart .woocommerce .quantity input.qty {min-height:43px;max-width:74px;text-align:center;background:#fff !important;color:#172a24 !important;border:1px solid #a8b8b1;border-radius:6px;}
body.jcs3d-body.woocommerce-cart .woocommerce button.button,body.jcs3d-body.woocommerce-cart .woocommerce a.checkout-button {border-radius:8px !important;background:#ff8a1f !important;color:#132119 !important;font-weight:800 !important;padding:13px 19px !important;min-height:48px;box-shadow:none !important;}
body.jcs3d-body.woocommerce-cart .woocommerce button.button:hover,body.jcs3d-body.woocommerce-cart .woocommerce a.checkout-button:hover {background:#b7e66b !important;}
body.jcs3d-body.woocommerce-cart .woocommerce .coupon {display:flex;gap:10px;align-items:center;flex-wrap:wrap;float:none !important;}
body.jcs3d-body.woocommerce-cart .woocommerce .coupon input.input-text {width:185px !important;min-height:46px;padding:10px 13px;border:1px solid #c7d2cc;border-radius:7px;background:#fff !important;color:#202d29 !important;}
body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions {padding:19px !important;}
body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions button[name="update_cart"] {margin-top:0 !important;float:none !important;}
body.jcs3d-body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals {float:none !important;clear:both;width:100% !important;max-width:100% !important;min-width:0 !important;padding:24px;background:#1c2929;border:1px solid #475c54;border-radius:12px;color:#f0f5ef;box-sizing:border-box;}
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals h2 {color:#f4f6f3;font-size:23px;line-height:1.3;margin:0 0 20px;font-weight:800;}
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals table.shop_table {table-layout:auto;width:100% !important;margin-bottom:20px;}
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals table.shop_table th {width:65%;padding:17px !important;white-space:normal;color:#354944;background:#fff;line-height:1.5;}
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals table.shop_table td {padding:17px !important;text-align:right;color:#182b27;line-height:1.5;white-space:normal;}
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals .order-total td,body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals .order-total td strong {color:#102620;font-weight:850;}
body.jcs3d-body.woocommerce-cart .woocommerce .wc-proceed-to-checkout {padding:0;display:flex;flex-direction:column;gap:12px;max-width:100%;}
body.jcs3d-body.woocommerce-cart .woocommerce .wc-proceed-to-checkout > a.checkout-button {display:flex;align-items:center;justify-content:center;width:100%;margin:0 !important;}
body.jcs3d-body.woocommerce-cart .woocommerce .wc-proceed-to-checkout > :not(a.checkout-button) {width:100%;max-width:100%;margin:0 !important;}
body.jcs3d-body.woocommerce-cart .woocommerce .wc-proceed-to-checkout iframe {max-width:100%;}
/* Side by side only when sufficient room is available; this avoids squeezed tax and payment controls. */
@media(min-width:1250px) {body.jcs3d-body.woocommerce-cart .jcs-shop-content > .woocommerce {display:grid;grid-template-columns:minmax(0,1.55fr) minmax(390px,1fr);gap:28px;align-items:start;} body.jcs3d-body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper, body.jcs3d-body.woocommerce-cart .woocommerce > .woocommerce-message,body.jcs3d-body.woocommerce-cart .woocommerce > .woocommerce-error,body.jcs3d-body.woocommerce-cart .woocommerce > .woocommerce-info {grid-column:1/-1;} body.jcs3d-body.woocommerce-cart .woocommerce > form.woocommerce-cart-form {grid-column:1;} body.jcs3d-body.woocommerce-cart .woocommerce > .cart-collaterals {grid-column:2;} }
@media(max-width:650px) {body.jcs3d-body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals {padding:16px;} body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals table.shop_table th, body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals table.shop_table td {padding:12px !important;}body.jcs3d-body.woocommerce-cart .woocommerce .coupon input.input-text {width:100% !important;}body.jcs3d-body.woocommerce-cart .woocommerce .coupon {align-items:stretch;}}

/* v1.3.13: One aligned cart action row; preserve the stable totals layout. */
body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions {
  padding:18px 20px !important;
  vertical-align:middle !important;
}
body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions::after {
  content:""; display:block; clear:both;
}
body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon {
  float:left !important;
  display:inline-flex !important;
  flex-flow:row nowrap !important;
  align-items:center !important;
  gap:12px !important;
  width:auto !important;
  max-width:calc(100% - 172px) !important;
  margin:0 !important;
}
body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon input.input-text {
  width:190px !important;
  min-width:0 !important;
  margin:0 !important;
  flex:0 1 190px;
}
body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon button,
body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions button[name="update_cart"] {
  min-height:48px !important;
  margin:0 !important;
  white-space:nowrap !important;
  float:none !important;
  flex-shrink:0;
}
body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions button[name="update_cart"] {
  float:right !important;
}
@media(max-width:900px) {
  body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon {
    max-width:100% !important;
  }
  body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions button[name="update_cart"] {
    float:none !important;
    display:block !important;
    margin:14px 0 0 !important;
  }
}
@media(max-width:520px) {
  body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon {
    display:flex !important;
    flex-wrap:wrap !important;
    width:100% !important;
  }
  body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon input.input-text,
  body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon button,
  body.jcs3d-body.woocommerce-cart .woocommerce table.shop_table td.actions button[name="update_cart"] {
    width:100% !important;
    flex:1 1 100% !important;
  }
}

/* v1.3.14 - Compact internal-page banners (home hero unchanged). */
.jcs3d-body .jcs-pagehead{padding:30px 0 32px;min-height:0;}
.jcs3d-body .jcs-pagehead>.jcs-wrap{display:flex;align-items:center;column-gap:clamp(26px,5.5vw,76px);row-gap:8px;flex-wrap:wrap;}
.jcs3d-body .jcs-pagehead .jcs-kicker{display:block;flex:0 0 auto;margin:0;white-space:nowrap;}
.jcs3d-body .jcs-pagehead h1{font-size:clamp(38px,4.2vw,56px);line-height:1.06;letter-spacing:-2px;margin:0;min-width:0;}
.jcs3d-body .jcs-pagehead p{flex-basis:100%;margin:0;color:#bec8c0;line-height:1.5;}
@media(max-width:700px){.jcs3d-body .jcs-pagehead{padding:26px 0 28px}.jcs3d-body .jcs-pagehead>.jcs-wrap{column-gap:18px}.jcs3d-body .jcs-pagehead h1{font-size:clamp(32px,7.4vw,45px);letter-spacing:-1.2px}}

/* v1.3.15 - Space main and express payment buttons on classic checkout. */
body.jcs3d-body.woocommerce-checkout #payment .place-order {
  display:flex;flex-direction:column;gap:16px;
}
body.jcs3d-body.woocommerce-checkout #payment .place-order #place_order,
body.jcs3d-body.woocommerce-checkout #payment .place-order .button {
  margin:0 !important;width:100%;
}
body.jcs3d-body.woocommerce-checkout #payment .place-order .ppc-button-wrapper,
body.jcs3d-body.woocommerce-checkout #payment .place-order .woocommerce-paypal-payments-buttons,
body.jcs3d-body.woocommerce-checkout #payment .place-order .wc-stripe-payment-request-wrapper {
  margin:0 !important;width:100%;
}
body.jcs3d-body.woocommerce-checkout #payment .place-order .ppc-button-wrapper > * + *,
body.jcs3d-body.woocommerce-checkout #payment .place-order .woocommerce-paypal-payments-buttons > * + * {margin-top:16px !important;}


/* v1.3.16 — Compact totals on custom order payment and checkout summaries.
   Do not change product rows or the finished shopping-cart layout. */
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tfoot th,
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tfoot td,
body.jcs3d-body.woocommerce-checkout .woocommerce table.woocommerce-checkout-review-order-table tfoot th,
body.jcs3d-body.woocommerce-checkout .woocommerce table.woocommerce-checkout-review-order-table tfoot td,
body.jcs3d-body.woocommerce-checkout .woocommerce table.shop_table tfoot th,
body.jcs3d-body.woocommerce-checkout .woocommerce table.shop_table tfoot td {
  padding:7px 18px !important;
  line-height:1.35 !important;
  height:auto !important;
  vertical-align:middle !important;
}
/* Keep the order's bottom line visibly separated without oversized row height. */
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr:last-child th,
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr:last-child td,
body.jcs3d-body.woocommerce-checkout .woocommerce table.shop_table tfoot tr.order-total th,
body.jcs3d-body.woocommerce-checkout .woocommerce table.shop_table tfoot tr.order-total td {
  padding-top:11px !important;
  padding-bottom:11px !important;
}
/* Where the quote plugin displays nonstandard totals as individual body rows,
   tighten only rows after the first product row on the order-pay page. */
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tbody tr:not(:first-child) > th,
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tbody tr:not(:first-child) > td {
  padding-top:8px !important;
  padding-bottom:8px !important;
  line-height:1.4 !important;
}
/* Legible model attributes on light-colored payment/order tables. */
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table .wc-item-meta,
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table .wc-item-meta *,
body.jcs3d-body.woocommerce-checkout .woocommerce table.shop_table .wc-item-meta,
body.jcs3d-body.woocommerce-checkout .woocommerce table.shop_table .wc-item-meta *,
body.jcs3d-body.woocommerce-checkout .woocommerce-checkout-review-order .wc-item-meta,
body.jcs3d-body.woocommerce-checkout .woocommerce-checkout-review-order .wc-item-meta * {
  color:#293e3c !important;
  opacity:1 !important;
  -webkit-text-fill-color:#293e3c !important;
}
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table .wc-item-meta strong,
body.jcs3d-body.woocommerce-checkout .woocommerce table.shop_table .wc-item-meta strong {
  font-weight:700 !important;
}

/* v1.3.17 — Align columns on custom quote order-pay summaries.
   Preserve v1.3.16's compact rows and avoid modifying the shopping cart. */
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table {
  width:100% !important;
  table-layout:fixed;
}
/* Product / Qty / Total headers share fixed tracks with the body. */
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table thead th:first-child {width:64%;}
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table thead th:nth-child(2):not(:last-child) {width:12%;text-align:center !important;}
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table thead th:last-child {width:24%;text-align:right !important;}
/* Indent totals labels without restoring the old oversize row padding. */
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr > th:first-child,
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr > td:first-child,
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tbody tr:not(:first-child) > th:first-child,
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tbody tr:not(:first-child) > td:first-child {
  padding-left:18px !important;
}
/* Keep every amount against the same right inset even when Qty is present. */
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tbody tr > td:last-child,
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr > td:last-child,
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr > th:last-child {
  text-align:right !important;
  padding-right:24px !important;
  white-space:nowrap;
}
/* Product rows may have their own quantity column or a quantity inside the name. */
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tbody tr > td:nth-child(2):not(:last-child) {
  text-align:center !important;
}
body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tbody tr:first-child > td:first-child {
  padding-left:18px !important;
  overflow-wrap:anywhere;
}
@media(max-width:600px) {
  body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table thead th:first-child {width:56%;}
  body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table thead th:nth-child(2):not(:last-child) {width:14%;}
  body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table thead th:last-child {width:30%;}
  body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tbody tr > td:last-child,
  body.jcs3d-body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr > td:last-child {padding-right:12px !important;}
}

/* v1.3.18 — USPS shipping legibility and wider Cart Totals panel. */
@media (min-width:1250px) {
  body.jcs3d-body.woocommerce-cart .jcs-shop-content > .woocommerce {
    grid-template-columns:minmax(0,1.35fr) minmax(420px,1fr);
    gap:28px;
  }
}
/* Keep the tax/total columns compact while allowing shipping descriptions to wrap naturally. */
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals table.shop_table th {width:42%;}
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals table.shop_table td {overflow-wrap:break-word;}
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals .shipping td,
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals .shipping td *,
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-methods,
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-methods li,
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-methods label,
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-methods .amount,
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-methods bdi {
  color:#24332f !important;
}
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-destination,
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-destination * {
  color:#465650 !important;
}
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals a.shipping-calculator-button,
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals a.shipping-calculator-button:visited {
  color:#176b83 !important;
  font-weight:700;
}
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals a.shipping-calculator-button:hover,
body.jcs3d-body.woocommerce-cart .woocommerce .cart_totals a.shipping-calculator-button:focus {
  color:#0d4658 !important;
  text-decoration:underline;
}

/* v1.3.19 — Apply the spacious cart grid at ordinary desktop widths.
   Previous breakpoint of 1250px left ~1200px windows in WooCommerce's
   legacy 65%/30% float layout, producing a very narrow Cart Totals column. */
@media (min-width:1050px) {
  body.jcs3d-body.woocommerce-cart .jcs-shop-content > .woocommerce {
    display:grid !important;
    grid-template-columns:minmax(0,1.35fr) minmax(380px,1fr) !important;
    gap:30px !important;
    align-items:start;
  }
  body.jcs3d-body.woocommerce-cart .jcs-shop-content > .woocommerce > form.woocommerce-cart-form {grid-column:1;}
  body.jcs3d-body.woocommerce-cart .jcs-shop-content > .woocommerce > .cart-collaterals {grid-column:2;}
  body.jcs3d-body.woocommerce-cart .jcs-shop-content > .woocommerce > .woocommerce-notices-wrapper,
  body.jcs3d-body.woocommerce-cart .jcs-shop-content > .woocommerce > .woocommerce-message,
  body.jcs3d-body.woocommerce-cart .jcs-shop-content > .woocommerce > .woocommerce-error,
  body.jcs3d-body.woocommerce-cart .jcs-shop-content > .woocommerce > .woocommerce-info {grid-column:1/-1;}
}
/* At narrower widths, never fall back to WooCommerce's narrow floated sidebar. */
@media (max-width:1049px) {
  body.jcs3d-body.woocommerce-cart .jcs-shop-content > .woocommerce {display:block !important;}
  body.jcs3d-body.woocommerce-cart .woocommerce .cart-collaterals {width:100% !important;}
}

/* v1.3.21 — Cart shortcode may be nested in the Page content (not a direct child).
   Apply the layout to the real WooCommerce wrapper, and restore the normal page width. */
body.jcs3d-body.woocommerce-cart .jcs-page-content,
body.jcs3d-body.woocommerce-cart .jcs-shop-content {
  max-width:1320px !important;
  width:100% !important;
  box-sizing:border-box;
}
body.jcs3d-body.woocommerce-cart .jcs-page-content .woocommerce,
body.jcs3d-body.woocommerce-cart .jcs-shop-content .woocommerce {
  width:100% !important;
  max-width:none !important;
  min-width:0;
  box-sizing:border-box;
}
@media(min-width:1050px) {
  body.jcs3d-body.woocommerce-cart .jcs-page-content .woocommerce:has(> form.woocommerce-cart-form),
  body.jcs3d-body.woocommerce-cart .jcs-shop-content .woocommerce:has(> form.woocommerce-cart-form) {
    display:grid !important;
    grid-template-columns:minmax(0,3fr) minmax(390px,2fr) !important;
    column-gap:30px !important;
    align-items:start;
  }
  body.jcs3d-body.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) > form.woocommerce-cart-form {grid-column:1 !important;grid-row:auto;}
  body.jcs3d-body.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) > .cart-collaterals {grid-column:2 !important;grid-row:auto;}
  body.jcs3d-body.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) > :not(form.woocommerce-cart-form):not(.cart-collaterals) {grid-column:1/-1;}
}
@media(max-width:1049px) {
  body.jcs3d-body.woocommerce-cart .jcs-page-content .woocommerce:has(> form.woocommerce-cart-form),
  body.jcs3d-body.woocommerce-cart .jcs-shop-content .woocommerce:has(> form.woocommerce-cart-form) {display:block !important;}
  body.jcs3d-body.woocommerce-cart .woocommerce .cart-collaterals {width:100% !important;}
}


/* v1.3.22 — Target the actual Blocksy cart grid (verified with browser inspector).
   Existing cart is div.ct-woocommerce-cart-form > form + div.cart_totals.
   Previous fixes targeted an absent .cart-collaterals wrapper. */
body.jcs3d-body.woocommerce-cart .jcs-wrap.jcs-page-content {
  width:100% !important;
  max-width:1260px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (min-width: 1050px) {
  body.jcs3d-body.woocommerce-cart .jcs-page-content .ct-woocommerce-cart-form {
    display:grid !important;
    grid-template-columns:minmax(0, 1.55fr) minmax(380px, 1fr) !important;
    gap:32px !important;
    align-items:start !important;
    width:100% !important;
    max-width:100% !important;
  }
  body.jcs3d-body.woocommerce-cart .jcs-page-content .ct-woocommerce-cart-form > form.woocommerce-cart-form {
    grid-column:1 !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
  }
  body.jcs3d-body.woocommerce-cart .jcs-page-content .ct-woocommerce-cart-form > .cart_totals {
    grid-column:2 !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    float:none !important;
    padding:30px !important;
    box-sizing:border-box !important;
  }
}
@media (max-width:1049px) {
  body.jcs3d-body.woocommerce-cart .jcs-page-content .ct-woocommerce-cart-form {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:26px !important;
    width:100% !important;
  }
  body.jcs3d-body.woocommerce-cart .jcs-page-content .ct-woocommerce-cart-form > form.woocommerce-cart-form,
  body.jcs3d-body.woocommerce-cart .jcs-page-content .ct-woocommerce-cart-form > .cart_totals {
    grid-column:1 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }
}


/* v1.3.23 — Shop archive contrast across WooCommerce and Blocksy card markup.
   Scoped to catalog archives to leave cart, checkout and order tables unchanged. */
body.jcs3d-body.woocommerce-shop .jcs-shop-content .woocommerce-result-count,
body.jcs3d-body.post-type-archive-product .jcs-shop-content .woocommerce-result-count,
body.jcs3d-body.tax-product_cat .jcs-shop-content .woocommerce-result-count {
  color:#b9c5c1 !important;
}
body.jcs3d-body.woocommerce-shop .jcs-shop-content ul.products li.product,
body.jcs3d-body.post-type-archive-product .jcs-shop-content ul.products li.product,
body.jcs3d-body.tax-product_cat .jcs-shop-content ul.products li.product {
  color:#f5f7f4;
}
body.jcs3d-body.woocommerce-shop .jcs-shop-content ul.products li.product :is(.woocommerce-loop-product__title, .ct-woo-card-content .woocommerce-loop-product__title, .ct-woo-card-content h2, .ct-woo-card-content h3),
body.jcs3d-body.post-type-archive-product .jcs-shop-content ul.products li.product :is(.woocommerce-loop-product__title, .ct-woo-card-content h2, .ct-woo-card-content h3),
body.jcs3d-body.tax-product_cat .jcs-shop-content ul.products li.product :is(.woocommerce-loop-product__title, .ct-woo-card-content h2, .ct-woo-card-content h3),
body.jcs3d-body.woocommerce-shop .jcs-shop-content ul.products li.product .woocommerce-loop-product__link,
body.jcs3d-body.post-type-archive-product .jcs-shop-content ul.products li.product .woocommerce-loop-product__link {
  color:#f5f7f4 !important;
}
body.jcs3d-body.woocommerce-shop .jcs-shop-content ul.products li.product :is(.price, .price .amount, .price bdi),
body.jcs3d-body.post-type-archive-product .jcs-shop-content ul.products li.product :is(.price, .price .amount, .price bdi),
body.jcs3d-body.tax-product_cat .jcs-shop-content ul.products li.product :is(.price, .price .amount, .price bdi) {
  color:#ff8a1f !important;
  opacity:1 !important;
}
body.jcs3d-body.woocommerce-shop .jcs-shop-content ul.products li.product :is(.ct-product-categories, .ct-product-categories a, .product-category, .product-category a),
body.jcs3d-body.post-type-archive-product .jcs-shop-content ul.products li.product :is(.ct-product-categories, .ct-product-categories a, .product-category, .product-category a),
body.jcs3d-body.tax-product_cat .jcs-shop-content ul.products li.product :is(.ct-product-categories, .ct-product-categories a, .product-category, .product-category a) {
  color:#b9c5c1 !important;
  opacity:1 !important;
}


/* v1.3.24: Verified WooCommerce shop accessibility fixes.
   Matches the actual Blocksy entry-meta markup inspected on the live Shop page. */
.woocommerce ul.products li.product .entry-meta .meta-categories a {
  color: #cbd5e1 !important;
}

/* v1.3.24: Shop sorting input contrast (tested on the live catalog page). */
.woocommerce .woocommerce-ordering select {
  color: #f5f7fa !important;
  background-color: #1b242b !important;
  border: 1px solid #64748b !important;
  color-scheme: dark;
}
.woocommerce .woocommerce-ordering select option {
  color: #f5f7fa !important;
  background-color: #1b242b !important;
}


/* v1.3.25 — Responsive mobile navigation. The native details element needs no JavaScript. */
.jcs-mobile-menu { display:none; }
@media (max-width:750px) {
  body.jcs3d-body .jcs-header-inner { gap:12px; }
  body.jcs3d-body .jcs-header-inner > .jcs-logo { flex:1 1 100%; }
  body.jcs3d-body .jcs-header-inner > .jcs-nav { display:none; }
  body.jcs3d-body .jcs-header-inner > .jcs-nav-cta { flex:1 1 auto; min-width:0; }
  body.jcs3d-body .jcs-header-inner > .jcs-mobile-menu { display:block; flex:1 1 100%; order:3; min-width:0; }
  body.jcs3d-body .jcs-mobile-menu > summary { display:flex; align-items:center; gap:10px; padding:11px 14px; border:1px solid #52665e; border-radius:8px; color:#f5f7f4; font-weight:750; cursor:pointer; list-style:none; min-height:44px; }
  body.jcs3d-body .jcs-mobile-menu > summary::-webkit-details-marker { display:none; }
  body.jcs3d-body .jcs-mobile-menu > summary:focus-visible { outline:2px solid #ff8a1f; outline-offset:3px; }
  body.jcs3d-body .jcs-mobile-menu-icon { color:#ff8a1f; font-size:20px; line-height:1; }
  body.jcs3d-body .jcs-mobile-menu[open] > nav { padding:9px 0 5px; }
  body.jcs3d-body .jcs-mobile-menu .jcs-nav-links { display:flex; flex-direction:column; gap:0; min-width:0; margin:0; padding:0; }
  body.jcs3d-body .jcs-mobile-menu .jcs-nav-links li { margin:0; width:100%; }
  body.jcs3d-body .jcs-mobile-menu .jcs-nav-links a { display:block; padding:12px 14px; color:#f1f5f1; font-size:15px; border-bottom:1px solid #293b34; overflow-wrap:anywhere; }
  body.jcs3d-body .jcs-mobile-menu .jcs-nav-links a:hover,
  body.jcs3d-body .jcs-mobile-menu .jcs-nav-links a:focus-visible { color:#ff8a1f; }
}

/* v1.3.25 — Single product contrast, distinct from archive-card styles. */
body.jcs3d-body.single-product .woocommerce div.product .product_title,
body.jcs3d-body.single-product .woocommerce div.product .entry-title { color:#f5f7f4 !important; opacity:1 !important; }
body.jcs3d-body.single-product .woocommerce div.product .summary .price,
body.jcs3d-body.single-product .woocommerce div.product .summary .price :is(.amount, bdi, ins, del) { color:#ff8a1f !important; opacity:1 !important; }
body.jcs3d-body.single-product .woocommerce div.product .product_meta,
body.jcs3d-body.single-product .woocommerce div.product .product_meta .posted_in { color:#e1e9e3 !important; opacity:1 !important; }
body.jcs3d-body.single-product .woocommerce div.product .product_meta a,
body.jcs3d-body.single-product .woocommerce div.product .product_meta a:visited { color:#cbd5e1 !important; opacity:1 !important; }
body.jcs3d-body.single-product .woocommerce div.product .quantity input.qty { background:#1b242b !important; color:#f5f7fa !important; -webkit-text-fill-color:#f5f7fa; border-color:#64748b !important; opacity:1 !important; }
body.jcs3d-body.single-product .woocommerce div.product .quantity :is(.ct-increase, .ct-decrease, .plus, .minus) { color:#f5f7fa !important; opacity:1 !important; }
body.jcs3d-body.single-product .woocommerce div.product .quantity :is(.ct-increase, .ct-decrease, .plus, .minus):hover { color:#ff8a1f !important; }


/* v1.3.26 — Shop sorting on narrow screens. Keep the native select readable
   and prevent WooCommerce/Blocksy float or flex rules from squeezing it. */
@media (max-width: 750px) {
  body.jcs3d-body.woocommerce-shop .jcs-shop-content .woocommerce-result-count,
  body.jcs3d-body.post-type-archive-product .jcs-shop-content .woocommerce-result-count,
  body.jcs3d-body.tax-product_cat .jcs-shop-content .woocommerce-result-count {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
  }
  body.jcs3d-body.woocommerce-shop .jcs-shop-content form.woocommerce-ordering,
  body.jcs3d-body.post-type-archive-product .jcs-shop-content form.woocommerce-ordering,
  body.jcs3d-body.tax-product_cat .jcs-shop-content form.woocommerce-ordering {
    float: none !important;
    clear: both !important;
    display: block !important;
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 22px !important;
    text-align: left !important;
  }
  body.jcs3d-body .jcs-shop-content form.woocommerce-ordering select.orderby {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 36px 0 14px !important;
    font-size: 16px !important;
    line-height: normal !important;
    box-sizing: border-box !important;
    color: #f5f7fa !important;
    background-color: #1b242b !important;
    border: 1px solid #64748b !important;
    border-radius: 7px !important;
    -webkit-appearance: menulist !important;
    appearance: auto !important;
    text-align: left !important;
    text-overflow: ellipsis;
  }
}

/* v1.3.43 — Standard WooCommerce checkout: billing first, optional shipping below. */
body.jcs3d-body.woocommerce-checkout form.checkout #customer_details.col2-set {
  display:flex; flex-direction:column; gap:24px; margin-bottom:32px;
}
body.jcs3d-body.woocommerce-checkout form.checkout #customer_details.col2-set > .col-1,
body.jcs3d-body.woocommerce-checkout form.checkout #customer_details.col2-set > .col-2 {
  float:none; width:100%; max-width:100%; margin:0;
}
body.jcs3d-body.woocommerce-checkout form.checkout #ship-to-different-address {
  display:block;
}
/* v1.3.28 — Mobile header cart. Keep the desktop Cart N text unchanged. */
.jcs-cart-mobile-icon { display:none; }
@media(max-width:750px) {
  body.jcs3d-body .jcs-nav-cta .jcs-cart {
    display:inline-flex !important; align-items:center; justify-content:center;
    flex:0 0 auto; gap:5px; min-width:44px; min-height:44px;
    padding:8px 6px; color:#f2f6f1; font-size:13px; font-weight:750;
    white-space:nowrap;
  }
  body.jcs3d-body .jcs-cart-mobile-icon { display:block; color:#ff8a1f; flex-shrink:0; }
  body.jcs3d-body .jcs-cart-desktop-label { display:none; }
  body.jcs3d-body .jcs-nav-cta { flex-wrap:wrap; }
  body.jcs3d-body .jcs-nav-cta .jcs-cart:hover,
  body.jcs3d-body .jcs-nav-cta .jcs-cart:focus-visible { color:#ff8a1f; }
}

/* v1.3.29 — Give the mobile Get a Quote button a little extra space after the cart.
   Desktop positioning stays unchanged; at narrow widths allow the flex row to wrap. */
@media (min-width: 380px) and (max-width: 750px) {
  body.jcs3d-body .jcs-nav-cta > a.jcs-button-small { margin-left: 12px; }
}

/* v1.3.30 — Align mobile quote button to the right edge of the menu.
   Auto margin uses the remaining row space without shifting the login or cart. */
@media (min-width: 380px) and (max-width: 750px) {
  body.jcs3d-body .jcs-header-inner > .jcs-nav-cta { width: 100%; }
  body.jcs3d-body .jcs-nav-cta > a.jcs-button-small { margin-left: auto; margin-right: 0; }
}

/* v1.3.31 — Center mobile cart in available space between account and quote links.
   Desktop and extra-narrow mobile header layouts remain unchanged. */
@media (min-width: 380px) and (max-width: 750px) {
  body.jcs3d-body .jcs-header-inner > .jcs-nav-cta {
    display:grid; grid-template-columns:max-content minmax(0,1fr) max-content;
    align-items:center; column-gap:0;
  }
  body.jcs3d-body .jcs-nav-cta > .jcs-cart {
    justify-self:center; margin:0;
  }
  body.jcs3d-body .jcs-nav-cta > a.jcs-button-small {
    justify-self:end; margin:0;
  }
}

/* v1.3.32 — Single-product contrast: cover Blocksy entry-summary and WC markup.
   Scoped exclusively to product pages; preserve button/payment styling. */
body.jcs3d-body.single-product .woocommerce div.product :is(.entry-summary,.summary) :is(.product_title,.entry-title,h1.product_title),
body.jcs3d-body.single-product .woocommerce .ct-product-hero .entry-summary .product_title {
  color:#f7f9f6 !important; opacity:1 !important;
}
body.jcs3d-body.single-product .woocommerce div.product :is(.entry-summary,.summary) :is(p.price,span.price),
body.jcs3d-body.single-product .woocommerce div.product :is(.entry-summary,.summary) :is(p.price,span.price) :is(.amount,bdi,ins,del) {
  color:#ff8a1f !important; opacity:1 !important;
}
body.jcs3d-body.single-product .woocommerce div.product :is(.entry-summary,.summary) .product_meta,
body.jcs3d-body.single-product .woocommerce div.product :is(.entry-summary,.summary) .product_meta :is(.posted_in,.sku_wrapper) {
  color:#e3eae5 !important; opacity:1 !important;
}
body.jcs3d-body.single-product .woocommerce div.product :is(.entry-summary,.summary) .product_meta a,
body.jcs3d-body.single-product .woocommerce div.product :is(.entry-summary,.summary) .product_meta a:visited {
  color:#cbd5e1 !important; opacity:1 !important;
}
body.jcs3d-body.single-product .woocommerce div.product form.cart .quantity,
body.jcs3d-body.single-product .woocommerce div.product form.cart .quantity :is(input.qty,button,.ct-increase,.ct-decrease,.plus,.minus) {
  color:#f5f7fa !important; -webkit-text-fill-color:#f5f7fa !important; opacity:1 !important;
}
body.jcs3d-body.single-product .woocommerce div.product form.cart .quantity input.qty { background:#1b242b !important; border-color:#728597 !important; }
body.jcs3d-body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a,
body.jcs3d-body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a:visited { color:#cbd5e1 !important; opacity:1 !important; }
body.jcs3d-body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
body.jcs3d-body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color:#ff8a1f !important; }
body.jcs3d-body.single-product .woocommerce div.product .woocommerce-tabs :is(h2,h3),
body.jcs3d-body.single-product .woocommerce div.product #reviews :is(h2,h3,#reply-title,.comment-reply-title) {
  color:#f5f7fa !important; opacity:1 !important;
}
body.jcs3d-body.single-product .woocommerce div.product .woocommerce-tabs :is(p,label),
body.jcs3d-body.single-product .woocommerce div.product #reviews :is(p,label) { color:#d2dcd6; }

/* v1.3.33 — WooCommerce single product contrast.
   Target the inspected markup directly; the theme does not guarantee a
   .woocommerce ancestor around div.product on single product pages. */
body.single-product div.product .summary.entry-summary h1.product_title,
body.single-product div.product .summary.entry-summary .entry-title { color:#f7f9f6 !important; opacity:1 !important; }
body.single-product div.product .summary.entry-summary .price,
body.single-product div.product .summary.entry-summary .price :is(.amount,bdi,ins,del) { color:#ff8a1f !important; opacity:1 !important; }
body.single-product div.product .summary.entry-summary .product_meta { color:#e3eae5 !important; }
body.single-product div.product .summary.entry-summary .product_meta a { color:#cbd5e1 !important; }
body.single-product div.product .summary.entry-summary .quantity :is(input.qty,button,.ct-increase,.ct-decrease,.plus,.minus) { color:#f5f7fa !important; -webkit-text-fill-color:#f5f7fa !important; opacity:1 !important; }
body.single-product div.product .summary.entry-summary .quantity input.qty { background-color:#1b242b !important; border-color:#728597 !important; }
body.single-product div.product .woocommerce-tabs ul.tabs li a { color:#cbd5e1 !important; opacity:1 !important; }
body.single-product div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product div.product .woocommerce-tabs ul.tabs li a:hover { color:#ff8a1f !important; }
body.single-product div.product .woocommerce-tabs :is(h2,h3),
body.single-product div.product #reviews :is(h2,h3,#reply-title,.comment-reply-title) { color:#f5f7fa !important; opacity:1 !important; }
body.single-product div.product .woocommerce-tabs :is(p,label) { color:#d2dcd6; }

/* v1.3.34 - Shop category filter and more compact product imagery. */
body.jcs3d-body .jcs-shop-content .jcs-category-filter {
  float:left;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:52px;
  margin:0 16px 24px 0;
  color:#e9f0ee;
  font-size:14px;
}
body.jcs3d-body .jcs-shop-content .jcs-category-filter label {font-weight:600;white-space:nowrap;}
body.jcs3d-body .jcs-shop-content .jcs-category-filter select {
  width:245px;
  max-width: min(60vw, 245px);
  height:50px;
  padding:0 38px 0 15px;
  border:1px solid #64748b;
  border-radius:5px;
  background:#1b242b;
  color:#f5f7fa;
  color-scheme:dark;
  font:inherit;
  cursor:pointer;
}
body.jcs3d-body .jcs-shop-content .jcs-category-filter select option {background:#1b242b;color:#f5f7fa;}
/* Give the result count its own row above both filters. */
body.jcs3d-body .jcs-shop-content .woocommerce-result-count {
  float:none !important;
  display:block;
  width:100%;
  margin:0 0 14px !important;
}
/* Keep WooCommerce's existing sorting form, positioned on the right. */
body.jcs3d-body .jcs-shop-content form.woocommerce-ordering {float:right; margin-bottom:24px;}
body.jcs3d-body .jcs-shop-content ul.products {clear:both;}
/* Shorter image region: show the entire product rather than cropping it. */
body.jcs3d-body .jcs-shop-content ul.products li.product :is(.ct-media-container, .woocommerce-LoopProduct-link > img, .woocommerce-loop-product__link > img) {
  max-height:245px;
}
body.jcs3d-body .jcs-shop-content ul.products li.product :is(.ct-media-container img, .woocommerce-LoopProduct-link > img, .woocommerce-loop-product__link > img) {
  height:245px;
  width:100%;
  object-fit:contain;
  object-position:center;
  background:#f2f5f4;
}
@media(max-width:750px){
  body.jcs3d-body .jcs-shop-content .jcs-category-filter {float:none;display:flex; width:100%;margin:0 0 12px;}
  body.jcs3d-body .jcs-shop-content .jcs-category-filter select {flex:1;min-width:0;max-width:none;}
  body.jcs3d-body .jcs-shop-content form.woocommerce-ordering {float:none;}
  body.jcs3d-body .jcs-shop-content ul.products li.product :is(.ct-media-container, .woocommerce-LoopProduct-link > img, .woocommerce-loop-product__link > img) {max-height:205px;}
  body.jcs3d-body .jcs-shop-content ul.products li.product :is(.ct-media-container img, .woocommerce-LoopProduct-link > img, .woocommerce-loop-product__link > img) {height:205px;}
}

/* v1.3.35: Preserve the category selector and show full WooCommerce sort labels. */
@media (min-width:751px) {
  body.jcs3d-body .jcs-shop-content form.woocommerce-ordering {
    width:260px !important;
    min-width:260px !important;
    max-width:260px !important;
    flex:0 0 260px !important;
    float:right !important;
  }
  body.jcs3d-body .jcs-shop-content form.woocommerce-ordering select.orderby {
    display:block !important;
    box-sizing:border-box !important;
    width:100% !important;
    min-width:260px !important;
    max-width:100% !important;
    padding:0 35px 0 15px !important;
    font-size:15px !important;
    text-overflow:clip !important;
  }
}
@media (max-width:750px) {
  body.jcs3d-body .jcs-shop-content form.woocommerce-ordering select.orderby {
    width:100% !important;
    min-width:0 !important;
  }
}

/* v1.3.36 — Blocksy wraps the WooCommerce orderby select. Give both wrapper
   and native select a real width instead of relying on the form alone. */
@media (min-width: 751px) {
  body.jcs3d-body .jcs-shop-content form.woocommerce-ordering {
    display: block !important;
    float: right !important;
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    flex: none !important;
    overflow: visible !important;
  }
  body.jcs3d-body .jcs-shop-content form.woocommerce-ordering :is(.ct-select, .select2, .select2-container, .select-wrapper, .woocommerce-ordering__select) {
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    display: block !important;
    overflow: visible !important;
  }
  body.jcs3d-body .jcs-shop-content form.woocommerce-ordering select,
  body.jcs3d-body .jcs-shop-content .woocommerce-ordering select {
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    display: block !important;
    float: none !important;
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    box-sizing: border-box !important;
    padding: 0 12px 0 14px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
  }
}

/* v1.3.37: Align category dropdown vertically with WooCommerce sorting control. */
@media (min-width: 751px) {
  body.jcs3d-body .jcs-shop-content .jcs-category-filter {
    position: relative;
    top: 7px;
  }
}


/* v1.3.38: Use identical control heights and baseline; remove the old
   7px positional workaround that caused mismatched top edges. */
@media (min-width: 751px) {
  body.jcs3d-body .jcs-shop-content .jcs-category-filter {
    position: static !important;
    top: auto !important;
    height: 56px !important;
    min-height: 56px !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  body.jcs3d-body .jcs-shop-content .jcs-category-filter select,
  body.jcs3d-body .jcs-shop-content form.woocommerce-ordering select.orderby,
  body.jcs3d-body .jcs-shop-content form.woocommerce-ordering select {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  body.jcs3d-body .jcs-shop-content form.woocommerce-ordering {
    height: 56px !important;
    min-height: 56px !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    box-sizing: border-box !important;
  }
  body.jcs3d-body .jcs-shop-content form.woocommerce-ordering :is(
    .ct-select, .select2, .select2-container, .select-wrapper,
    .woocommerce-ordering__select
  ) {
    height: 56px !important;
    min-height: 56px !important;
    margin-top: 0 !important;
    box-sizing: border-box !important;
  }
}

/* v1.3.39 — Structural fix: shop result count, category filter and ordering
   participate in one aligned flex row instead of independently floating. */
@media (min-width: 751px) {
  body.jcs3d-body .jcs-shop-content .woocommerce:has(> .jcs-category-filter):has(> form.woocommerce-ordering) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 26px;
    row-gap: 0;
  }
  body.jcs3d-body .jcs-shop-content .woocommerce:has(> .jcs-category-filter):has(> form.woocommerce-ordering) > .woocommerce-result-count {
    flex: 1 1 auto;
    width: auto !important;
    margin: 0 !important;
    align-self: center;
  }
  body.jcs3d-body .jcs-shop-content .woocommerce:has(> .jcs-category-filter):has(> form.woocommerce-ordering) > .jcs-category-filter {
    flex: 0 0 auto;
    float: none !important;
    position: static !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  body.jcs3d-body .jcs-shop-content .woocommerce:has(> .jcs-category-filter):has(> form.woocommerce-ordering) > form.woocommerce-ordering {
    flex: 0 0 260px !important;
    float: none !important;
    position: static !important;
    height: 56px !important;
    min-height: 56px !important;
    width: 260px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  body.jcs3d-body .jcs-shop-content .woocommerce > .jcs-category-filter select,
  body.jcs3d-body .jcs-shop-content .woocommerce > form.woocommerce-ordering select {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }
  body.jcs3d-body .jcs-shop-content .woocommerce > form.woocommerce-ordering :is(.ct-select, .select-wrapper) {
    height: 56px !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
  }
  body.jcs3d-body .jcs-shop-content .woocommerce:has(> .jcs-category-filter):has(> form.woocommerce-ordering) > :is(ul.products, .woocommerce-notices-wrapper, nav.woocommerce-pagination) {
    flex: 0 0 100%;
    width: 100%;
  }
  body.jcs3d-body .jcs-shop-content .woocommerce:has(> .jcs-category-filter):has(> form.woocommerce-ordering) > ul.products {
    margin-top: 30px;
  }
}

/* v1.3.40: A real shared parent replaces positional adjustments. */
@media (min-width: 751px) {
 body.jcs3d-body .jcs-shop-content #jcs-shop-toolbar {
   display:grid !important;
   grid-template-columns: minmax(0,1fr) auto 260px !important;
   align-items:center !important;
   column-gap:26px !important;
   width:100% !important;
   margin:0 0 32px !important;
   padding:0 !important;
   min-height:56px !important;
   clear:both !important;
 }
 body.jcs3d-body .jcs-shop-content #jcs-shop-toolbar > .woocommerce-result-count {
   float:none !important; display:block !important; width:auto !important;
   margin:0 !important; align-self:center !important;
 }
 body.jcs3d-body .jcs-shop-content #jcs-shop-toolbar > .jcs-category-filter {
   display:flex !important; align-items:center !important;
   height:56px !important; min-height:56px !important;
   float:none !important; position:static !important; top:auto !important;
   margin:0 !important; padding:0 !important; line-height:normal !important;
 }
 body.jcs3d-body .jcs-shop-content #jcs-shop-toolbar > .jcs-category-filter select {
   height:56px !important; min-height:56px !important;
   box-sizing:border-box !important; margin:0 !important;
 }
 body.jcs3d-body .jcs-shop-content #jcs-shop-toolbar > form.woocommerce-ordering {
   display:flex !important; align-items:center !important;
   float:none !important; position:static !important; top:auto !important;
   margin:0 !important; padding:0 !important;
   width:260px !important; min-width:260px !important; height:56px !important;
   min-height:56px !important;
 }
 body.jcs3d-body .jcs-shop-content #jcs-shop-toolbar > form.woocommerce-ordering select,
 body.jcs3d-body .jcs-shop-content #jcs-shop-toolbar > form.woocommerce-ordering :is(.ct-select,.select-wrapper) {
   height:56px !important; min-height:56px !important;
   box-sizing:border-box !important; margin:0 !important;
 }
}
@media (max-width:750px) {
 body.jcs3d-body .jcs-shop-content #jcs-shop-toolbar {
   display:flex !important; flex-direction:column !important;
   align-items:stretch !important; gap:12px !important;
   width:100% !important; margin:0 0 20px !important;
 }
 body.jcs3d-body .jcs-shop-content #jcs-shop-toolbar > :is(.woocommerce-result-count,.jcs-category-filter,form.woocommerce-ordering) {
   float:none !important; width:100% !important; max-width:none !important;
   margin:0 !important; min-width:0 !important;
 }
 body.jcs3d-body .jcs-shop-content #jcs-shop-toolbar select {height:50px !important;}
}

/* v1.3.41 - Compact main product photo, retain full uncropped object and responsive details. */
@media (min-width: 768px) {
  body.single-product div.product .woocommerce-product-gallery,
  body.single-product .ct-product-gallery,
  body.single-product .ct-product-hero .woocommerce-product-gallery {
    width: min(100%, 315px) !important;
    max-width: 315px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper img,
  body.single-product .ct-product-gallery .ct-media-container img {
    max-height: 330px !important;
    width: 100% !important;
    object-fit: contain !important;
  }
}
@media (max-width: 767px) {
  body.single-product div.product .woocommerce-product-gallery,
  body.single-product .ct-product-gallery { max-width: 340px !important; margin-left:auto !important; margin-right:auto !important; }
  body.single-product div.product .woocommerce-product-gallery img { object-fit:contain !important; }
}

/* v1.3.42 — Keep checkout order review text readable on white tables.
   Scope only text in the classic order-review and shipping lists. */
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table th,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table td,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table .product-name,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table .product-total,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table .amount,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table .woocommerce-Price-amount,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table .woocommerce-Price-currencySymbol,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table dl.variation,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table dl.variation dt,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table dl.variation dd,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table dl.variation dd p,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table .wc-item-meta,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table .wc-item-meta *,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table ul#shipping_method li,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table ul#shipping_method label,
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table ul#shipping_method .amount {
  color:#26332e !important;
  opacity:1 !important;
  -webkit-text-fill-color:#26332e !important;
}
body.jcs3d-body.woocommerce-checkout #order_review table.shop_table a {
  color:#15586f !important;
  opacity:1 !important;
  -webkit-text-fill-color:#15586f !important;
}

/* v1.3.44 — Readable product links in order details. */
.woocommerce-order-details .woocommerce-table--order-details .woocommerce-table__product-name a {color:#17212b !important;font-weight:600;}
.woocommerce-order-details .woocommerce-table--order-details .woocommerce-table__product-name a:hover {color:#34495e !important;}
/* Checkout country/state Select2 with consistent contrast. */
.woocommerce-checkout .select2-container .select2-selection--single {background-color:#fff !important;border:1px solid #ccc !important;min-height:50px;display:flex;align-items:center;}
.woocommerce-checkout .select2-container .select2-selection__rendered {color:#17212b !important;line-height:48px !important;}
.woocommerce-checkout .select2-container .select2-selection__placeholder {color:#666 !important;}
.woocommerce-checkout .select2-container .select2-selection__arrow b {border-top-color:#17212b !important;}
.select2-container--open .select2-dropdown,.select2-container--open .select2-search__field {background:#fff !important;color:#17212b !important;}
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text,.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a {opacity:1 !important;}


/* v1.3.45 — Product detail pages only; preserve archive/card grid and checkout. */
@media (min-width: 992px) {
  body.jcs3d-body.single-product .jcs-shop-content { width:100%; max-width:1380px; }
  body.jcs3d-body.single-product .jcs-shop-content > .woocommerce { width:100%; max-width:none; }
  body.jcs3d-body.single-product :is(.ct-product-hero,.ct-product-hero > .ct-container) { max-width:100%; width:100%; }
  body.jcs3d-body.single-product .ct-product-hero .ct-container { column-gap:clamp(36px,5vw,85px); }
  body.jcs3d-body.single-product div.product .woocommerce-product-gallery,
  body.jcs3d-body.single-product .ct-product-gallery,
  body.jcs3d-body.single-product .ct-product-hero .woocommerce-product-gallery {
    width:100% !important; max-width:560px !important; margin-left:0 !important; margin-right:0 !important;
  }
  body.jcs3d-body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper img,
  body.jcs3d-body.single-product .ct-product-gallery .ct-media-container img {
    width:100% !important; max-height:560px !important; height:auto !important; object-fit:contain !important;
  }
  body.jcs3d-body.single-product div.product .summary.entry-summary,
  body.jcs3d-body.single-product .ct-product-hero .entry-summary {
    width:100%; min-width:0; max-width:660px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  body.jcs3d-body.single-product div.product .woocommerce-product-gallery,
  body.jcs3d-body.single-product .ct-product-gallery { width:100% !important; max-width:440px !important; }
}
body.jcs3d-body.single-product div.product .summary.entry-summary,
body.jcs3d-body.single-product .ct-product-hero .entry-summary { font-size:16px; line-height:1.65; }
body.jcs3d-body.single-product div.product .summary.entry-summary .product_title,
body.jcs3d-body.single-product .ct-product-hero .entry-summary .product_title {
  font-size:clamp(29px,3vw,43px); line-height:1.12; margin-bottom:14px;
}
body.jcs3d-body.single-product div.product .summary.entry-summary .price,
body.jcs3d-body.single-product .ct-product-hero .entry-summary .price {font-size:clamp(22px,2.2vw,31px);margin-bottom:23px;}
body.jcs3d-body.single-product div.product .woocommerce-product-details__short-description {
  font-size:16px; line-height:1.65; color:#d0d9d2; max-width:65ch; margin-bottom:22px;
}
body.jcs3d-body.single-product div.product .summary.entry-summary form.cart {margin-top:20px; margin-bottom:24px;}
body.jcs3d-body.single-product div.product .summary.entry-summary :is(input,select,textarea) {max-width:100%;}
body.jcs3d-body.single-product div.product .woocommerce-tabs {clear:both; padding-top:36px; margin-top:42px; border-top:1px solid #464045;}
body.jcs3d-body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel {font-size:16px;line-height:1.75;max-width:1100px;}
@media (max-width:767px) {
 body.jcs3d-body.single-product div.product .woocommerce-product-gallery,
 body.jcs3d-body.single-product .ct-product-gallery {max-width:100% !important;}
 body.jcs3d-body.single-product div.product .summary.entry-summary {padding-top:20px;}
}


/* ============================================================
   3D Print Loft v1.3.46 — migrated Customizer CSS
   Scoped fixes: order details, checkout Select2, pay-for-order,
   shipping radio controls, and cart text contrast.
   ============================================================ */

/* Order details: readable product name links on light tables */
.woocommerce-order-details .woocommerce-table--order-details .woocommerce-table__product-name a {
    color: #17212b !important;
    font-weight: 600;
}
.woocommerce-order-details .woocommerce-table--order-details .woocommerce-table__product-name a:hover {
    color: #34495e !important;
}

/* Checkout state selector contrast */
.woocommerce-checkout .select2-container .select2-selection--single {
    background-color: #fff !important;
    border: 1px solid #ccc !important;
    min-height: 50px;
    display: flex;
    align-items: center;
}
.woocommerce-checkout .select2-container .select2-selection__rendered {
    color: #17212b !important;
    line-height: 48px !important;
}
.woocommerce-checkout .select2-container .select2-selection__placeholder {
    color: #666 !important;
}
.woocommerce-checkout .select2-container .select2-selection__arrow b {
    border-top-color: #17212b !important;
}
.select2-container--open .select2-dropdown {
    background: #fff !important;
    color: #17212b !important;
}
.select2-container--open .select2-search__field {
    background: #fff !important;
    color: #17212b !important;
}

/* Pay-for-order: table and shipping-method wrapping */
body.woocommerce-order-pay table.shop_table {
    width: 100%;
    table-layout: fixed;
}
body.woocommerce-order-pay table.shop_table th,
body.woocommerce-order-pay table.shop_table td {
    white-space: normal !important;
    overflow-wrap: break-word;
}
body.woocommerce-order-pay table.shop_table th:last-child,
body.woocommerce-order-pay table.shop_table td:last-child {
    width: 35%;
    text-align: right;
    padding-right: 20px !important;
}
body.woocommerce-order-pay table.shop_table td ul.woocommerce-shipping-methods label {
    white-space: normal !important;
    overflow-wrap: break-word;
}

/* Shipping radio buttons: visible unselected controls */
.woocommerce ul#shipping_method li input[type="radio"] {
    appearance: auto !important;
    -webkit-appearance: radio !important;
    accent-color: #2878f0;
    opacity: 1 !important;
    visibility: visible !important;
    width: 18px !important;
    height: 18px !important;
    border: 1px solid #555 !important;
    cursor: pointer;
}
.woocommerce ul#shipping_method li label { cursor: pointer; }

/* Cart: high-contrast text on light cart table */
.woocommerce-cart .woocommerce-cart-form a,
.woocommerce-cart .woocommerce-cart-form a:visited { color: #005b83 !important; }
.woocommerce-cart .woocommerce-cart-form .variation,
.woocommerce-cart .woocommerce-cart-form .variation dt,
.woocommerce-cart .woocommerce-cart-form .variation dd,
.woocommerce-cart .woocommerce-cart-form .variation p,
.woocommerce-cart .woocommerce-cart-form .wc-item-meta,
.woocommerce-cart .woocommerce-cart-form .wc-item-meta * {
    color: #252525 !important;
    opacity: 1 !important;
}
.woocommerce-cart .woocommerce-cart-form .product-price,
.woocommerce-cart .woocommerce-cart-form .product-price *,
.woocommerce-cart .woocommerce-cart-form .product-subtotal,
.woocommerce-cart .woocommerce-cart-form .product-subtotal * {
    color: #202020 !important;
    opacity: 1 !important;
}
.woocommerce-cart .woocommerce-cart-form td { color: #252525; }

/* 3D Print Loft alternative visual skin. Original business logic, WooCommerce hooks and plugin controls untouched. */
:root{--jcs-bg:#181A1D;--jcs-pane:#25282D;--jcs-cream:#F8F7F5;--jcs-gray:#BFC3C7;--jcs-lime:#FF9A3D;--jcs-line:#45474C;}
body.jcs3d-body{background:#181A1D;color:#F8F7F5;}
.jcs-site-header,.jcs-site-footer{background:#181A1D;border-color:#45474C;}
.jcs-hero{background:linear-gradient(125deg,#181A1D 30%,#323034 100%);}
.jcs-pagehead{background:linear-gradient(120deg,#323034,#181A1D);}
.jcs-hero h1,.jcs-section h2,.jcs-pagehead h1,.jcs-choice-card h3,.jcs-steps h3,.jcs-cta h2,.jcs-info-lead h2,.jcs-contact-grid h2,.jcs-info-cards h3,.jcs-contact-panel h3,.jcs-page-content h2,.jcs-page-content h3{color:#F8F7F5;}
.jcs-logo,.jcs-logo:visited,.jcs-nav-links a,.jcs-cart,.jcs-account-link,.jcs-site-footer strong,.jcs-footer-cols strong{color:#F8F7F5!important;}
.jcs-hero-copy>p,.jcs-section-top>p,.jcs-steps p,.jcs-info-lead p,.jcs-contact-grid p,.jcs-info-callout p,.jcs-page-content p,.jcs-page-content li,.jcs-site-footer p,.jcs-footer-cols a:not(.jcs-logo),.jcs-hero-proof,.jcs-nav-links a,.jcs-choice-card p,.jcs-pagehead p{color:#BFC3C7;}
.jcs-featured{background:#323034;}
.jcs-choice-card,.jcs-choice-shop,.jcs-choice-custom,.jcs-info-cards article{background:#25282D;border-color:#45474C;color:#F8F7F5!important;}
.jcs-steps>div,.jcs-footer-bottom{border-color:#45474C;}
.jcs-cta,.jcs-info-callout{background:#493328;}
.jcs-cta p,.jcs-info-callout p{color:#BFC3C7;}
.jcs-button,.jcs3d-body .woocommerce a.button,.jcs3d-body .woocommerce button.button{background:#FF9A3D;color:#281A13!important;border-radius:9px;}
.jcs-button:hover,.jcs3d-body .woocommerce a.button:hover,.jcs3d-body .woocommerce button.button:hover{background:#FF9A3D;filter:brightness(1.06);}
.jcs-button-ghost{background:transparent;border-color:#45474C;color:#F8F7F5!important;}
.jcs-bands{background:#FF9A3D;color:#281A13;}
.jcs-floating-tag{background:#25282D;color:#F8F7F5;border:1px solid #45474C;}
.jcs-pill{background:#24272C;color:#BFC3C7;border-color:#45474C;}
.jcs3d-body .woocommerce ul.products li.product{background:#25282D;border:1px solid #45474C;}
.jcs3d-body .woocommerce ul.products li.product .woocommerce-loop-product__title,.jcs3d-body .woocommerce div.product,.jcs3d-body .woocommerce div.product .product_title{color:#F8F7F5;}
.jcs3d-body .woocommerce .woocommerce-breadcrumb{color:#BFC3C7;}
.jcs3d-body .woocommerce .woocommerce-breadcrumb a{color:#FF9A3D;}


/* v1.0.1: Graphite Orange image banner and preserved shop/quote CTAs */
.jcs-photo-hero{background:#111;line-height:0;overflow:hidden}
.jcs-photo-hero img{display:block;width:100%;height:auto;max-width:1920px;margin:auto}
.jcs-hero-shop-actions{background:#202125;border-bottom:1px solid #474043}
.jcs-hero-shop-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;padding-bottom:20px}
.jcs-hero-shop-inner p{margin:0;color:#F8F7F5;line-height:1.5;font-size:15px}
.jcs-hero-action-links{display:flex;gap:12px;flex-wrap:wrap}
.jcs-hero-action-links .jcs-button{min-height:44px;padding:11px 19px;gap:8px;white-space:nowrap}
@media(max-width:850px){.jcs-hero-shop-inner{flex-direction:column;align-items:flex-start}.jcs-hero-shop-inner p{font-size:14px}}
@media(max-width:520px){.jcs-hero-action-links{width:100%}.jcs-hero-action-links a{flex:1;font-size:12px;padding:12px!important;white-space:normal;text-align:center}}


/* Graphite Orange v1.1.0 — unified storefront design system. */
:root {--jcs-bg:#141416;--jcs-pane:#242428;--jcs-cream:#f7f3f1;--jcs-gray:#c7bfc0;--jcs-lime:#ff8a1f;--jcs-line:#464045;--loft-orange:#ff8a1f;--loft-orange-hover:#ffae58;--loft-surface:#242428;--loft-surface-2:#2b292d;--loft-border:#4b4143;--loft-text:#f7f3f1;--loft-muted:#c9c0c1;}
body.jcs3d-body {background:#141416;color:var(--loft-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.62;}
.jcs3d-body :is(h1,h2,h3,h4,h5,h6){color:#fff;letter-spacing:-.025em;}
.jcs3d-body :is(p,li,label){line-height:1.7;}
.jcs3d-body a:not(.button):not(.jcs-button):not(.add_to_cart_button):hover{color:#ffb568;}
.jcs3d-body :is(a,button,input,select,textarea):focus-visible {outline:3px solid #ffb568!important;outline-offset:3px;}
.jcs-site-header{background:#111114;border-bottom:1px solid #342d2d;box-shadow:0 5px 20px #0003;}
.jcs-nav-links a{color:#eee6e3;}
.jcs-nav-links a:hover,.jcs-nav-links .current-menu-item>a{color:#ff9b3b;}
.jcs-button,.jcs3d-body :is(.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt),.jcs3d-body .wpforms-container button[type=submit],.jcs3d-body .jcs-contact-details .wpforms-container button[type=submit] {background:#ff8a1f!important;color:#181311!important;border:1px solid #ff9c47!important;border-radius:9px!important;font-weight:800!important;box-shadow:0 3px 0 #ad4a0a25!important;transition:background .18s ease,transform .18s ease,box-shadow .18s ease!important;}
.jcs-button:hover,.jcs3d-body :is(.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt):hover,.jcs3d-body .wpforms-container button[type=submit]:hover {background:#ffae58!important;color:#161111!important;transform:translateY(-2px);box-shadow:0 7px 20px #ff85192e!important;}
.jcs-button-ghost{background:transparent!important;color:#fff!important;border-color:#a86b3b!important;}
.jcs-button-ghost:hover{background:#37281e!important;color:#fff!important;}
.jcs3d-body .jcs-hero-shop-actions,.jcs3d-body .jcs-featured{background:#1a191c;}
.jcs-hero-shop-inner{padding-top:25px;padding-bottom:28px;}
.jcs3d-body .jcs-bands{background:#ff8a1f;color:#1b1310;}
.jcs-choice-card,.jcs-info-cards article,.jcs-contact-panel{background:#242428!important;border:1px solid #443b3c!important;box-shadow:0 12px 28px #0002;transition:border-color .2s ease,transform .2s ease;}
.jcs-choice-card:hover{border-color:#ff8a1f!important;transform:translateY(-3px);}
.jcs-choice-art{overflow:hidden;border-radius:10px;}
.jcs-choice-art img{width:100%;height:100%;object-fit:cover;max-width:100%;max-height:none;}
.jcs3d-body .jcs-cta,.jcs-info-callout{background:linear-gradient(120deg,#32241e,#211d20 75%);border:1px solid #60402c;}
.jcs3d-body .woocommerce ul.products li.product{background:#28262a;border:1px solid #443d3d;border-radius:14px;padding:14px;box-shadow:0 8px 22px #0002;transition:transform .2s,border-color .2s;}
.jcs3d-body .woocommerce ul.products li.product:hover{transform:translateY(-3px);border-color:#ff8a1f;}
.jcs3d-body .woocommerce ul.products li.product img{border-radius:9px;aspect-ratio:1/1;object-fit:cover;}
.jcs3d-body .woocommerce ul.products li.product :is(.price,.amount){color:#ff9a36;font-weight:800;}
.jcs3d-body .woocommerce div.product :is(.price,.woocommerce-Price-amount){color:#ffad61;}
.jcs3d-body .woocommerce .woocommerce-tabs ul.tabs li.active a{color:#ffae58;}
.jcs3d-body :is(.woocommerce,.jcs-quote-form,.wpforms-container) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),select,textarea){border:1px solid #a69b98!important;border-radius:8px!important;background:#fff!important;color:#202024!important;-webkit-text-fill-color:#202024!important;min-height:42px;}
.jcs3d-body :is(.woocommerce,.jcs-quote-form,.wpforms-container) :is(input,select,textarea):focus{border-color:#ff8a1f!important;box-shadow:0 0 0 3px #ff8a1f33!important;}
.jcs3d-body .woocommerce :is(table.shop_table,.woocommerce-checkout-review-order-table){background:#fdfaf8;color:#202024;border-radius:11px;overflow:hidden;}
.jcs3d-body .woocommerce :is(table.shop_table,.woocommerce-checkout-review-order-table) :is(th,td){color:#202024;}
.jcs3d-body .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error){border-top-color:#ff8a1f!important;}
.jcs3d-body .woocommerce a:not(.button){text-underline-offset:3px;}
.jcs3d-body .woocommerce div.product .woocommerce-tabs .panel{line-height:1.75;}
.jcs-site-footer{background:#101014;border-top:1px solid #44332b;}
@media(max-width:750px){.jcs3d-body .jcs-section{padding-top:60px;padding-bottom:60px}.jcs-choice-card{min-height:0;padding:22px}.jcs-choice-card h3{font-size:32px}.jcs-choice-art{height:225px}.jcs-hero-shop-inner{padding-top:18px;padding-bottom:22px}.jcs-button{width:auto;max-width:100%;text-align:center}.jcs3d-body .woocommerce ul.products li.product{padding:10px;}}
@media(prefers-reduced-motion:reduce){.jcs3d-body :is(.jcs-button,.jcs-choice-card,.woocommerce ul.products li.product){transition:none!important;transform:none!important;}}


/* Graphite Orange v1.1.1 — shop controls and footer harmonization */
body.jcs3d-body :is(.woocommerce ul.products li.product,ul.products li.product) :is(a.button,a.add_to_cart_button,a.product_type_simple,a.product_type_variable,a.product_type_external,a.product_type_grouped,a.ajax_add_to_cart,a.button.product_type_simple,a.added_to_cart,a.button.loading),
body.jcs3d-body :is(.woocommerce,.woocommerce-page) :is(a.button,button.button,input.button,button.single_add_to_cart_button,a.checkout-button,button#place_order),
body.jcs3d-body .wc-block-components-button:not(.is-link),
body.jcs3d-body .wp-block-button__link:not(.has-background) {
  background:#FF8A1F!important;
  background-image:none!important;
  color:#171311!important;
  -webkit-text-fill-color:#171311!important;
  border:1px solid #FF9C42!important;
  border-radius:9px!important;
  box-shadow:none!important;
  font-weight:750!important;
  text-decoration:none!important;
  text-shadow:none!important;
  transition:background-color .2s ease,transform .2s ease,border-color .2s ease!important;
}
body.jcs3d-body :is(.woocommerce ul.products li.product,ul.products li.product) :is(a.button,a.add_to_cart_button,a.product_type_simple,a.product_type_variable,a.product_type_external,a.product_type_grouped,a.ajax_add_to_cart,a.added_to_cart):is(:hover,:focus-visible),
body.jcs3d-body :is(.woocommerce,.woocommerce-page) :is(a.button,button.button,input.button,button.single_add_to_cart_button,a.checkout-button,button#place_order):is(:hover,:focus-visible),
body.jcs3d-body .wc-block-components-button:not(.is-link):is(:hover,:focus-visible),
body.jcs3d-body .wp-block-button__link:not(.has-background):is(:hover,:focus-visible) {
  background:#FFAD58!important;
  color:#171311!important;
  -webkit-text-fill-color:#171311!important;
  border-color:#FFC27A!important;
  transform:translateY(-1px);
}
body.jcs3d-body :is(.woocommerce ul.products li.product,ul.products li.product) a.button:focus-visible,
body.jcs3d-body .woocommerce button.button:focus-visible,
body.jcs3d-body .jcs-site-footer a:focus-visible {outline:2px solid #FFD4A3!important;outline-offset:3px;}
body.jcs3d-body :is(.woocommerce ul.products li.product,ul.products li.product) a.button:disabled,
body.jcs3d-body .woocommerce button.button:disabled {opacity:.55;cursor:not-allowed;transform:none;}
/* Footer copy, columns and links: readable, consistent with orange controls. */
body.jcs3d-body .jcs-site-footer {background:#111114!important;border-top:1px solid #4E3830!important;color:#F7F3F1!important;}
body.jcs3d-body .jcs-site-footer :is(strong,.jcs-logo) {color:#FFF9F4!important;}
body.jcs3d-body .jcs-site-footer p {color:#D3C8C3!important;}
body.jcs3d-body .jcs-site-footer .jcs-footer-cols a:not(.jcs-logo) {color:#E2D8D1!important;text-decoration:none!important;}
body.jcs3d-body .jcs-site-footer .jcs-footer-cols a:not(.jcs-logo):is(:hover,:focus-visible) {color:#FFA747!important;text-decoration:underline!important;text-underline-offset:4px;}
body.jcs3d-body .jcs-site-footer .jcs-logo-symbol {color:#FF8A1F!important;}
body.jcs3d-body .jcs-footer-bottom {color:#C8BDB6!important;border-color:#4E3830!important;}
@media (prefers-reduced-motion:reduce) {body.jcs3d-body :is(.woocommerce,.woocommerce-page) :is(a.button,button.button,input.button),body.jcs3d-body ul.products li.product a.button {transition:none!important;transform:none!important;}}


/* 1.1.4 — Consistent graphite/orange across quote, about, contact and shop */
body.jcs3d-body:is(.page,.archive,.woocommerce-page){background:#141416!important;color:#f7f3f1!important}
body.jcs3d-body .jcs-pagehead{background:linear-gradient(118deg,#302824 0%,#19191c 58%,#141416 100%)!important;border-bottom:1px solid #464045!important}
body.jcs3d-body .jcs-pagehead :is(h1,.jcs-kicker){color:#f7f3f1!important}
body.jcs3d-body .jcs-pagehead .jcs-kicker{color:#ff9b3b!important}
body.jcs3d-body .jcs-pagehead p,body.jcs3d-body :is(.jcs-info-lead,.jcs-info-callout,.jcs-contact-grid,.jcs-page-content) p{color:#d0c9c7!important}
body.jcs3d-body :is(.jcs-info-cards article,.jcs-info-callout,.jcs-contact-panel){background:#242428!important;border:1px solid #4b4143!important;color:#f7f3f1!important}
body.jcs3d-body :is(.jcs-info-cards,.jcs-info-callout,.jcs-contact-grid,.jcs-page-content) :is(h2,h3,strong){color:#f7f3f1!important}
body.jcs3d-body :is(.jcs-contact-grid,.jcs-info-callout,.jcs-page-content) a:not(.jcs-button){color:#ffad61!important}
body.jcs3d-body :is(.jcs-quote-form,.wpforms-container) :is(label,.wpforms-field-label,.wpforms-field-sublabel,legend,.wpforms-field-description){color:#f7f3f1!important}
body.jcs3d-body :is(.jcs-quote-form,.wpforms-container) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=file]),select,textarea){background:#fffaf6!important;color:#222024!important;-webkit-text-fill-color:#222024!important;border:1px solid #9e9290!important;border-radius:9px!important}
body.jcs3d-body :is(.jcs-quote-form,.wpforms-container) :is(input,select,textarea):focus{outline:2px solid #ff9b3b!important;outline-offset:1px!important;box-shadow:0 0 0 3px #ff8a1f22!important}
body.jcs3d-body :is(.jcs-quote-form,.wpforms-container) input[type=file]{color:#f7f3f1!important;accent-color:#ff8a1f}
body.jcs3d-body :is(.jcs-quote-form,.wpforms-container) :is(input[type=checkbox],input[type=radio]){accent-color:#ff8a1f!important}
body.jcs3d-body :is(.jcs-quote-form,.wpforms-container) :is(button[type=submit],input[type=submit],button.wpforms-submit,.wpforms-submit){background:#ff8a1f!important;border:1px solid #ffad61!important;color:#21170f!important;-webkit-text-fill-color:#21170f!important;border-radius:9px!important;font-weight:800!important}
body.jcs3d-body :is(.jcs-quote-form,.wpforms-container) :is(button[type=submit],input[type=submit],button.wpforms-submit,.wpforms-submit):hover{background:#ffb15f!important}
body.jcs3d-body .jcs-shop-content{background:#141416!important;color:#f7f3f1!important}
body.jcs3d-body .jcs-shop-content :is(.woocommerce-result-count,.woocommerce-ordering,.jcs-category-filter,label){color:#d0c9c7!important}
body.jcs3d-body #jcs-shop-toolbar{background:#242428!important;border-color:#4b4143!important}
body.jcs3d-body #jcs-shop-toolbar select{background:#fffaf6!important;color:#242126!important;border:1px solid #8d7770!important;border-radius:8px!important}
body.jcs3d-body .woocommerce ul.products li.product{background:#242428!important;border:1px solid #4b4143!important}
body.jcs3d-body .woocommerce ul.products li.product :is(.woocommerce-loop-product__title,h2){color:#f7f3f1!important}
body.jcs3d-body .woocommerce ul.products li.product .price{color:#ffb15f!important}
body.jcs3d-body .woocommerce ul.products li.product a.button,body.jcs3d-body .woocommerce ul.products li.product a.added_to_cart{background:#ff8a1f!important;color:#22150e!important;border-color:#ffa64a!important;-webkit-text-fill-color:#22150e!important}
body.jcs3d-body .woocommerce ul.products li.product a.button:hover{background:#ffb15f!important}
body.jcs3d-body .jcs-site-footer{background:#111114!important;border-color:#4e3830!important}
body.jcs3d-body .jcs-site-footer :is(p,span){color:#d3c8c3!important}
body.jcs3d-body .jcs-site-footer a:not(.jcs-logo){color:#e2d8d1!important}
body.jcs3d-body .jcs-site-footer a:not(.jcs-logo):hover{color:#ffae58!important}
