/* Purchase surfaces keep the storefront's approved palette and B Yekan. */
.tjsm-purchase-page .commerce-main { --purchase-ink:#142347; --purchase-blue:#203ba5; --purchase-teal:#12756c; }
.tjsm-purchase-page .commerce-main :where(input,select,textarea,button) { font-family:inherit; }
.tjsm-purchase-page .commerce-main .summary form.cart {
    padding:22px 20px 25px; margin:25px 0; gap:20px 18px; align-items:flex-end;
    background:#fff9e9; border:2px solid var(--purchase-ink); border-inline-start:7px solid #e55b34;
    box-shadow:-5px 6px 0 #14234720; max-width:100%;
}
.tjsm-purchase-page .commerce-main .quantity { max-width:100%; }
.tjsm-purchase-page .commerce-main .tjsm-quantity-label {
    display:block; margin-bottom:7px; font-size:17px; line-height:1.6; color:var(--purchase-ink);
}
.tjsm-purchase-page .commerce-main .quantity.tjsm-quantity-control {
    display:inline-grid; grid-template-columns:44px minmax(60px,76px) 44px; gap:0;
    align-items:center; direction:ltr; vertical-align:middle; flex-shrink:1;
}
.tjsm-purchase-page .commerce-main .tjsm-quantity-control > .tjsm-quantity-label {
    grid-column:1/-1; direction:rtl; text-align:right;
}
.tjsm-purchase-page .commerce-main .tjsm-quantity-control .qty {
    width:100%; min-width:0; min-height:50px; margin:0; padding:7px 3px; border:2px solid var(--purchase-ink);
    border-inline:0; background:#fff; color:var(--purchase-ink); font-size:21px; border-radius:0;
    line-height:1.6; text-align:center; direction:ltr; appearance:textfield; -moz-appearance:textfield;
}
.tjsm-purchase-page .commerce-main .tjsm-quantity-control .qty::-webkit-inner-spin-button,
.tjsm-purchase-page .commerce-main .tjsm-quantity-control .qty::-webkit-outer-spin-button { appearance:none; margin:0; }
.tjsm-purchase-page .commerce-main .tjsm-quantity-adjust {
    display:inline-flex; align-items:center; justify-content:center; min-height:50px; width:44px; padding:0;
    background:#f9d366; color:var(--purchase-ink); border:2px solid var(--purchase-ink); border-radius:0;
    box-shadow:none; clip-path:none; transform:none; font-size:27px; line-height:1; font-weight:400;
}
.tjsm-purchase-page .commerce-main .tjsm-quantity-adjust:hover { background:#a3e2d8; color:var(--purchase-ink); }
.tjsm-purchase-page .commerce-main .tjsm-quantity-adjust:disabled { opacity:1; color:#73777c; background:#e9e5dd; cursor:default; }
.tjsm-purchase-page .commerce-main .tjsm-quantity-adjust:focus-visible { outline:3px solid #203ba5; outline-offset:2px; position:relative; z-index:1; }
.tjsm-purchase-page .commerce-main .summary .single_add_to_cart_button {
    flex:1 1 220px; min-height:56px; font-size:21px; font-weight:700; line-height:1.7; padding:12px 25px;
    background:#a22e46; color:#fff9ec; border:2px solid var(--purchase-ink); box-shadow:-4px 5px 0 var(--purchase-ink);
    border-radius:0 9px 0 9px;
}
.tjsm-purchase-page .commerce-main .summary .single_add_to_cart_button:hover { background:#203ba5; color:#fff; }
.tjsm-purchase-page .commerce-main .summary .stock { font-size:18px; line-height:1.8; }
.tjsm-purchase-page .commerce-main .summary .stock.in-stock {
    display:table; padding:3px 11px; background:#daf1e6; border-inline-start:4px solid #12756c; color:#15574e;
}
.tjsm-purchase-page .commerce-main .summary .out-of-stock { color:#98253c; }
.tjsm-purchase-page .commerce-main .summary .product_meta { margin-top:28px; }

.tjsm-purchase-page .commerce-main .tjsm-checkout-steps { margin:0 0 30px; }
.tjsm-purchase-page .commerce-main .tjsm-checkout-steps ol {
    display:flex; flex-wrap:wrap; gap:8px 20px; margin:0; padding:12px 0; list-style:none;
    border-block:1px solid #bdb295; font-size:17px; line-height:1.9;
}
.tjsm-purchase-page .commerce-main .tjsm-checkout-steps li { color:#5a6070; padding:2px 0; }
.tjsm-purchase-page .commerce-main .tjsm-checkout-steps [aria-current=step] { color:#203ba5; border-bottom:3px solid #e55b34; font-weight:700; }
.tjsm-purchase-page .commerce-main .tjsm-checkout-steps a { color:#203ba5; text-decoration:underline; text-underline-offset:5px; }
.tjsm-purchase-page .commerce-main .woocommerce-cart-form .product-name { min-width:160px; }
.tjsm-purchase-page .commerce-main .woocommerce-cart-form .product-quantity { min-width:190px; }
.tjsm-purchase-page .commerce-main .woocommerce-cart-form .product-remove a {
    width:44px; min-height:44px; align-items:center; font-size:30px; border:1px solid #d6b1b3;
}
.tjsm-purchase-page .commerce-main .woocommerce-cart-form .product-remove a:hover { background:#a22e46; color:#fff; }
.tjsm-purchase-page .commerce-main .cart_totals .order-total,
.tjsm-purchase-page .commerce-main .woocommerce-checkout-review-order-table .order-total { background:#fbdf98; color:#142347; font-weight:700; }
.tjsm-purchase-page .commerce-main .cart_totals .order-total .amount,
.tjsm-purchase-page .commerce-main .woocommerce-checkout-review-order-table .order-total .amount { font-size:23px; }
.tjsm-purchase-page .commerce-main .wc-proceed-to-checkout .checkout-button,
.tjsm-purchase-page .commerce-main #place_order { min-height:58px; font-size:21px; padding:13px 25px; line-height:1.8; }
.tjsm-purchase-page .commerce-main #place_order { width:100%; margin-top:20px; background:#a22e46; color:#fff9ec; }
.tjsm-purchase-page .commerce-main #place_order:hover { background:#203ba5; }
.tjsm-purchase-page .commerce-main form.checkout .form-row label { font-size:18px; }
.tjsm-purchase-page .commerce-main form.checkout :is(.input-text,textarea,select) { background:#fffef9; border:1px solid #747d90; font-size:18px; }
.tjsm-purchase-page .commerce-main form.checkout .woocommerce-invalid :is(.input-text,textarea,select) { border:2px solid #a22e46; }
.tjsm-purchase-page .commerce-main #order_review_heading { margin-top:32px; }
.tjsm-purchase-page .commerce-main .woocommerce-shipping-methods { margin:4px 0; font-size:17px; }
.tjsm-purchase-page .commerce-main .woocommerce-shipping-methods li { padding:8px 0; line-height:1.9; }
.tjsm-purchase-page .commerce-main .woocommerce-shipping-methods label { cursor:pointer; }
.tjsm-purchase-page .commerce-main #payment { background:#fff9e9; border:2px solid #142347; border-top:7px solid #12756c; padding:24px; }
.tjsm-purchase-page .commerce-main #payment .wc_payment_methods { margin:0; }
.tjsm-purchase-page .commerce-main #payment .wc_payment_method {
    margin:0 0 15px; padding:17px 18px; border:1px solid #b4b8c2; background:#fffefa;
}
.tjsm-purchase-page .commerce-main #payment .wc_payment_method:has(input:checked) { border:2px solid #12756c; padding:16px 17px; background:#f1faf5; }
.tjsm-purchase-page .commerce-main #payment .wc_payment_method > label { font-size:20px; line-height:1.8; color:#142347; cursor:pointer; }
.tjsm-purchase-page .commerce-main #payment .wc_payment_method > label img { max-width:90px; max-height:38px; width:auto; height:auto; margin-inline-start:10px; vertical-align:middle; }
.tjsm-purchase-page .commerce-main #payment .payment_box { padding:12px 0 0; background:transparent; font-size:17px; line-height:1.95; }
.tjsm-purchase-page .commerce-main #payment .payment_box p { margin:0; }
.tjsm-purchase-page .commerce-main .woocommerce-privacy-policy-text { font-size:16px; line-height:2; }
.tjsm-purchase-page .commerce-main input[type=radio],
.tjsm-purchase-page .commerce-main input[type=checkbox] { min-width:20px; min-height:20px; }
.tjsm-purchase-page .commerce-main :is(.single_add_to_cart_button,#place_order,.checkout-button):focus-visible {
    outline:3px solid #fff; outline-offset:-7px; box-shadow:-4px 5px 0 #142347,0 0 0 3px #203ba5;
}
@media (min-width:1000px) {
    .tjsm-purchase-page.woocommerce-checkout .commerce-main form.checkout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 38px; align-items:start; }
    .tjsm-purchase-page.woocommerce-checkout .commerce-main #customer_details { grid-column:1; grid-row:span 2; display:block; margin:0; }
    .tjsm-purchase-page.woocommerce-checkout .commerce-main #customer_details .col-2 { margin-top:25px; }
    .tjsm-purchase-page.woocommerce-checkout .commerce-main #order_review_heading { grid-column:2; margin-top:0; }
    .tjsm-purchase-page.woocommerce-checkout .commerce-main #order_review { grid-column:2; min-width:0; }
    .tjsm-purchase-page.woocommerce-checkout .commerce-main form.checkout > :is(.woocommerce-NoticeGroup,.woocommerce-NoticeGroup-checkout) { grid-column:1/-1; }
}
@media (max-width:820px) {
    .tjsm-purchase-page .commerce-main .summary form.cart { padding:17px 14px 23px; gap:17px; }
    .tjsm-purchase-page .commerce-main .summary .single_add_to_cart_button { flex-basis:100%; width:100%; font-size:20px; min-height:58px; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form table.shop_table_responsive { display:block; overflow:visible; background:none; border:0; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form table.shop_table_responsive thead { display:none; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form table.shop_table_responsive tbody { display:block; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form tr.cart_item { display:block; margin-bottom:20px; padding:8px 14px 13px; border:1px solid #b8ae97; border-top:5px solid #12756c; background:#fffaf0; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form tr.cart_item td { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; width:100%; padding:10px 0; min-width:0; font-size:17px; text-align:start; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form tr.cart_item td[data-title]::before { content:attr(data-title) " :"; font-weight:700; color:#344263; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form tr.cart_item td.product-name { display:block; font-size:19px; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form tr.cart_item td.product-name::before { display:none; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form tr.cart_item td.product-thumbnail { display:none; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form tr.cart_item td.product-remove { justify-content:flex-end; border:0; padding:0; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form tr.cart_item .tjsm-quantity-label { display:none; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form .shop_table .quantity .qty { width:100%; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form .shop_table tr:not(.cart_item),
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form .shop_table .actions { display:block; width:100%; padding:0; border:0; }
    .tjsm-purchase-page .commerce-main .woocommerce-cart-form .actions > button { width:100%; margin-bottom:10px; }
    .tjsm-purchase-page .commerce-main .tjsm-checkout-steps ol { display:block; padding:8px 0; font-size:17px; }
    .tjsm-purchase-page .commerce-main .tjsm-checkout-steps li { padding:6px 0; width:fit-content; }
    .tjsm-purchase-page .commerce-main #payment { padding:18px 14px; }
    .tjsm-purchase-page .commerce-main #payment .wc_payment_method { padding:14px 12px; }
    .tjsm-purchase-page .commerce-main #payment .wc_payment_method:has(input:checked) { padding:13px 11px; }
    .tjsm-purchase-page .commerce-main #payment .wc_payment_method > label { font-size:19px; }
    .tjsm-purchase-page .commerce-main .woocommerce-checkout-review-order-table :is(th,td) { font-size:16px; padding:12px 8px; }
    .tjsm-purchase-page .commerce-main #place_order { min-width:0; font-size:20px; padding-inline:15px; }
}
@media (prefers-reduced-motion:reduce) {
    .tjsm-purchase-page .commerce-main :is(button[type=submit],input[type=submit],a.checkout-button) { transition:none; }
}
