/* PJ Modern — content pages: cart, checkout, account, wishlist, track order, content pages, blog, 404 */

/* ---------- Page shell ---------- */
.pjm-pagehero { padding-bottom: clamp(24px, 3vw, 40px); }
.pjm-pagehero__meta { position: relative; z-index: 1; display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; color: var(--pjm-on-dark-muted); font-size: 14px; }
.pjm-pg__body { padding-top: clamp(28px, 4vw, 52px); padding-bottom: clamp(56px, 7vw, 96px); }

/* Checkout progress */
.pjm-steps { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px 28px; list-style: none; margin: 18px 0 0; padding: 0; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pjm-on-dark-muted); }
.pjm-steps li { display: inline-flex; align-items: center; gap: 10px; }
.pjm-steps li + li::before { content: ""; width: 28px; height: 1px; background: rgba(255, 255, 255, .25); margin-right: 4px; }
.pjm-steps__dot { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .3); font-size: 12px; letter-spacing: 0; }
.pjm-steps li.is-current { color: #fff; }
.pjm-steps li.is-current .pjm-steps__dot { background: var(--pjm-accent); border-color: var(--pjm-accent); color: #fff; }
.pjm-steps li.is-done { color: #fff; }
.pjm-steps li.is-done .pjm-steps__dot { background: rgba(255, 255, 255, .14); border-color: transparent; }

/* ---------- Shared WooCommerce bits ---------- */
.pjm-content .woocommerce-notices-wrapper:empty { display: none; }
.pjm-content .woocommerce-message, .pjm-content .woocommerce-info, .pjm-content .woocommerce-error {
	list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px 16px; flex-wrap: wrap;
	margin: 0 0 20px; padding: 14px 18px; border-radius: 12px; font-size: 14.5px; color: var(--pjm-ink);
	background: #f4f5f7; border: 1px solid var(--pjm-line);
}
.pjm-content .woocommerce-message { background: #edf8f2; border-color: #bfe5cf; }
.pjm-content .woocommerce-error { background: #fdecec; border-color: #f5c2c2; display: block; }
.pjm-content .woocommerce-error li { margin: 2px 0; }
.pjm-content .woocommerce-info { background: #fff4ef; border-color: #fbd3c4; }
.pjm-content .woocommerce-message .button, .pjm-content .woocommerce-info .button { order: 2; }
.pjm-content .woocommerce-info a:not(.button), .pjm-content .woocommerce-message a:not(.button) { color: var(--pjm-accent-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.pjm-content .button, .pjm-content button.button, .pjm-content input.button, .pjm-content a.button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 22px;
	border: 1px solid var(--pjm-ink); border-radius: 999px; background: #fff; color: var(--pjm-ink);
	font: 600 13px var(--pjm-sans); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; cursor: pointer;
	transition: background .2s, color .2s, border-color .2s, opacity .2s;
}
.pjm-content .button:hover { background: var(--pjm-ink); color: #fff; }
.pjm-content .button.alt, .pjm-content .checkout-button, .pjm-content #place_order, .pjm-content .woocommerce-form-login__submit, .pjm-content .woocommerce-form-register__submit {
	background: var(--pjm-accent); border-color: var(--pjm-accent); color: #fff; box-shadow: 0 10px 24px -14px rgba(240, 83, 35, .8);
}
.pjm-content .button.alt:hover, .pjm-content .checkout-button:hover, .pjm-content #place_order:hover, .pjm-content .woocommerce-form-login__submit:hover, .pjm-content .woocommerce-form-register__submit:hover { background: var(--pjm-accent-ink); border-color: var(--pjm-accent-ink); }
.pjm-content .button:disabled, .pjm-content .button.disabled, .pjm-content .button[disabled] { opacity: .45; cursor: not-allowed; }

/* Form fields */
.pjm-content .form-row { margin: 0 0 16px; padding: 0; }
.pjm-content .form-row label, .pjm-content label.pjm-label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--pjm-ink); }
.pjm-content .form-row label .optional { font-weight: 400; color: var(--pjm-muted); }
.pjm-content .required { color: #c0392b; text-decoration: none; border: 0; }
.pjm-content .input-text, .pjm-content input[type=text], .pjm-content input[type=email], .pjm-content input[type=tel], .pjm-content input[type=password], .pjm-content input[type=number], .pjm-content input[type=search], .pjm-content input[type=url], .pjm-content textarea, .pjm-content select {
	width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #d5d8de; border-radius: 10px; background: #fff;
	font: 400 15px var(--pjm-sans); color: var(--pjm-ink); transition: border-color .15s, box-shadow .15s; box-sizing: border-box;
}
.pjm-content textarea { min-height: 110px; resize: vertical; }
.pjm-content select { appearance: none; -webkit-appearance: none; padding-right: 40px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6470' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 14px; }
.pjm-content .input-text:focus, .pjm-content input:focus, .pjm-content textarea:focus, .pjm-content select:focus { outline: none; border-color: var(--pjm-accent); box-shadow: 0 0 0 4px rgba(240, 83, 35, .16); }
.pjm-content .woocommerce-invalid .input-text, .pjm-content .woocommerce-invalid select, .pjm-content .woocommerce-invalid .select2-selection { border-color: #d64545 !important; }
.pjm-content input[type=checkbox], .pjm-content input[type=radio] { width: 18px; height: 18px; accent-color: var(--pjm-accent); vertical-align: middle; margin: 0 8px 0 0; }
.pjm-content .woocommerce-form__label-for-checkbox, .pjm-content label.checkbox { display: inline-flex !important; align-items: center; font-weight: 500 !important; cursor: pointer; }
.pjm-content .password-input { position: relative; display: block; }
.pjm-content .show-password-input { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border: 0; background: none; cursor: pointer; opacity: .6; }
.pjm-content .show-password-input::after { content: ""; display: block; width: 20px; height: 20px; margin: auto; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1f24' stroke-width='1.8'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; }

/* select2 (country / state) */
.pjm-content .select2-container .select2-selection--single { height: 48px; border: 1px solid #d5d8de; border-radius: 10px; display: flex; align-items: center; }
.pjm-content .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 14px; padding-right: 36px; color: var(--pjm-ink); font-size: 15px; }
.pjm-content .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.pjm-content .select2-container--focus .select2-selection, .pjm-content .select2-container--open .select2-selection { border-color: var(--pjm-accent) !important; box-shadow: 0 0 0 4px rgba(240, 83, 35, .16); }
.select2-dropdown { border-color: #d5d8de !important; border-radius: 10px !important; overflow: hidden; box-shadow: var(--pjm-shadow); }
.select2-results__option--highlighted[aria-selected], .select2-results__option--highlighted[data-selected] { background: var(--pjm-accent) !important; }
.select2-search--dropdown .select2-search__field { border-radius: 8px; border: 1px solid #d5d8de !important; padding: 8px 10px !important; }

.pjm-content h2, .pjm-content h3 { font-family: var(--pjm-serif); font-weight: 500; letter-spacing: -.01em; color: var(--pjm-ink); }

/* Quantity steppers (added by modern-pages.js) */
.pjm-content .quantity { display: inline-flex; align-items: center; height: 44px; border: 1px solid #d5d8de; border-radius: 999px; background: #fff; overflow: hidden; }
.pjm-content .quantity .qty { width: 44px; min-height: 0; height: 100%; border: 0 !important; box-shadow: none !important; padding: 0; text-align: center; font-weight: 600; -moz-appearance: textfield; }
.pjm-content .quantity .qty::-webkit-outer-spin-button, .pjm-content .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pjm-content .quantity label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.pjm-content .pjm-qbtn { width: 38px; height: 100%; border: 0; background: transparent; font-size: 18px; color: var(--pjm-ink-2); cursor: pointer; }
.pjm-content .pjm-qbtn:hover { color: var(--pjm-accent-ink); }

/* ---------- Cart ---------- */
.pjm-content--cart > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 28px clamp(24px, 3vw, 44px); align-items: start; }
.pjm-content--cart > .woocommerce > * { grid-column: 1 / -1; min-width: 0; }
.pjm-content--cart > .woocommerce > .woocommerce-cart-form { grid-column: 1; }
.pjm-content--cart > .woocommerce > .cart-collaterals { grid-column: 2; position: sticky; top: 150px; }
.admin-bar .pjm-content--cart > .woocommerce > .cart-collaterals { top: 182px; }

.pjm-content--cart table.cart { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid var(--pjm-line); border-radius: 18px; overflow: hidden; }
.pjm-content--cart table.cart thead th { padding: 14px 16px; text-align: left; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pjm-muted); background: var(--pjm-band); border-bottom: 1px solid var(--pjm-line); }
.pjm-content--cart table.cart td { padding: 18px 16px; border-bottom: 1px solid var(--pjm-line); vertical-align: middle; font-size: 15px; }
.pjm-content--cart table.cart tr:last-child td { border-bottom: 0; }
.pjm-content--cart table.cart .product-remove { width: 44px; padding-right: 0; }
.pjm-content--cart a.remove { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; font-size: 0; color: var(--pjm-muted); text-decoration: none; transition: background .2s, color .2s; }
.pjm-content--cart a.remove::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / contain no-repeat; }
.pjm-content--cart a.remove:hover { background: #fdecec; color: #b42318; }
.pjm-content--cart .product-thumbnail { width: 104px; }
.pjm-content--cart .product-thumbnail img { width: 88px; height: 88px !important; object-fit: contain; border-radius: 12px; border: 1px solid var(--pjm-line); background: #fff; }
.pjm-content--cart .product-name a { font-weight: 600; color: var(--pjm-ink); }
.pjm-content--cart .product-name a:hover { color: var(--pjm-accent-ink); }
.pjm-content--cart .product-name .variation { display: grid; grid-template-columns: auto 1fr; gap: 2px 6px; margin: 6px 0 0; font-size: 13px; color: var(--pjm-muted); }
.pjm-content--cart .product-name .variation dt { font-weight: 500; }
.pjm-content--cart .product-name .variation dd, .pjm-content--cart .product-name .variation p { margin: 0; }
.pjm-content--cart .product-subtotal { font-weight: 700; color: var(--pjm-ink); }
.pjm-content--cart td.actions { background: var(--pjm-band); padding: 16px; }
.pjm-content--cart td.actions .coupon { display: inline-flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.pjm-content--cart td.actions .coupon label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.pjm-content--cart td.actions .coupon .input-text { width: 200px; min-height: 46px; border-radius: 999px; }
.pjm-content--cart td.actions > .button { float: right; }

.pjm-content--cart .cart_totals { background: #fff; border: 1px solid var(--pjm-line); border-radius: 18px; padding: 24px; box-shadow: var(--pjm-shadow); }
.pjm-content--cart .cart_totals h2 { font-size: 24px; margin: 0 0 14px; }
.pjm-content--cart .cart_totals table { width: 100%; border-collapse: collapse; font-size: 15px; }
.pjm-content--cart .cart_totals th, .pjm-content--cart .cart_totals td { padding: 12px 0; border-bottom: 1px solid var(--pjm-line); text-align: left; vertical-align: top; }
.pjm-content--cart .cart_totals td { text-align: right; }
.pjm-content--cart .cart_totals th { font-weight: 500; color: var(--pjm-muted); }
.pjm-content--cart .cart_totals .order-total th, .pjm-content--cart .cart_totals .order-total td { border-bottom: 0; padding-top: 16px; font-size: 19px; font-weight: 700; color: var(--pjm-ink); }
.pjm-content--cart .cart_totals .order-total small { display: block; font-size: 12px; font-weight: 400; color: var(--pjm-muted); }
.pjm-content--cart .wc-proceed-to-checkout { margin-top: 18px; }
.pjm-content--cart .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 54px; font-size: 14px; }
.pjm-content--cart .cross-sells { margin-bottom: 24px; }

/* Shipping options (cart + checkout) */
.pjm-content ul#shipping_method, .pjm-content ul.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; text-align: left; }
.pjm-content ul#shipping_method li { display: flex; align-items: center; gap: 6px; margin: 0 0 6px; }
.pjm-content ul#shipping_method label { font-weight: 500; }
.pjm-content .woocommerce-shipping-destination { margin: 6px 0 0; font-size: 13px; color: var(--pjm-muted); text-align: left; }
.pjm-content .shipping-calculator-button { font-size: 13px; font-weight: 600; color: var(--pjm-accent-ink); }
.pjm-content .shipping-calculator-form { margin-top: 10px; text-align: left; }

/* Empty cart */
.pjm-content .cart-empty.woocommerce-info { justify-content: center; text-align: center; padding: 40px 20px; font-size: 17px; }
.pjm-content .return-to-shop { text-align: center; margin-top: 8px; }

/* ---------- Checkout ---------- */
.pjm-content--checkout form.checkout_coupon, .pjm-content--checkout form.woocommerce-form-login { display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; margin: -8px 0 24px; padding: 18px; background: #fff; border: 1px solid var(--pjm-line); border-radius: 14px; }
.pjm-content--checkout form.checkout_coupon p:not(.form-row) { flex-basis: 100%; margin: 0; font-size: 14px; color: var(--pjm-muted); }
.pjm-content--checkout form.checkout_coupon .form-row { margin: 0; flex: 1 1 220px; }
.pjm-content--checkout form.checkout_coupon .form-row-last { flex: 0 0 auto; }
.pjm-content--checkout form.woocommerce-form-login .form-row { flex: 1 1 220px; margin: 0; }
.pjm-content--checkout form.woocommerce-form-login > p:not(.form-row) { flex-basis: 100%; margin: 0; }
.pjm-content--checkout form.woocommerce-form-login .clear { display: none; }

.pjm-content--checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; grid-template-rows: auto 1fr; column-gap: clamp(24px, 3vw, 48px); align-items: start; }
.pjm-content--checkout form.checkout > * { grid-column: 1 / -1; min-width: 0; }
.pjm-content--checkout form.checkout > #customer_details { grid-column: 1; grid-row: 1 / span 3; }
.pjm-content--checkout form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; padding: 22px 24px 0; background: #fff; border: 1px solid var(--pjm-line); border-bottom: 0; border-radius: 18px 18px 0 0; font-size: 24px; }
.pjm-content--checkout form.checkout > #order_review { grid-column: 2; grid-row: 2; padding: 10px 24px 24px; background: #fff; border: 1px solid var(--pjm-line); border-top: 0; border-radius: 0 0 18px 18px; box-shadow: var(--pjm-shadow); }

.pjm-content--checkout #customer_details { display: grid; gap: 20px; }
.pjm-content--checkout #customer_details .col-1, .pjm-content--checkout #customer_details .col-2 { width: auto; float: none; background: #fff; border: 1px solid var(--pjm-line); border-radius: 18px; padding: clamp(20px, 2.6vw, 30px); }
.pjm-content--checkout #customer_details h3 { font-size: 22px; margin: 0 0 18px; }
.pjm-content--checkout .woocommerce-billing-fields__field-wrapper, .pjm-content--checkout .woocommerce-shipping-fields__field-wrapper, .pjm-content .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 14px; }
.pjm-content--checkout .form-row-wide, .pjm-content .woocommerce-address-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }
.pjm-content--checkout .form-row-first { grid-column: 1; }
.pjm-content--checkout .form-row-last { grid-column: 2; }
.pjm-content--checkout #billing_address_2_field, .pjm-content--checkout #shipping_address_2_field { margin-top: -6px; }
.pjm-content--checkout #ship-to-different-address { font-family: var(--pjm-sans); font-size: 15px; font-weight: 600; margin: 0 0 6px; }
.pjm-content--checkout #ship-to-different-address label { display: inline-flex; align-items: center; cursor: pointer; }
.pjm-content--checkout .shipping_address { margin-top: 16px; }
.pjm-content--checkout .woocommerce-additional-fields h3 { margin-top: 10px; }

/* Order review table */
.pjm-content--checkout .woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; font-size: 14.5px; margin-bottom: 18px; }
.pjm-content--checkout .woocommerce-checkout-review-order-table thead th { padding: 10px 0; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pjm-muted); text-align: left; border-bottom: 1px solid var(--pjm-line); }
.pjm-content--checkout .woocommerce-checkout-review-order-table thead .product-total { text-align: right; }
.pjm-content--checkout .woocommerce-checkout-review-order-table td, .pjm-content--checkout .woocommerce-checkout-review-order-table tfoot th { padding: 12px 0; border-bottom: 1px solid var(--pjm-line); vertical-align: top; text-align: left; }
.pjm-content--checkout .woocommerce-checkout-review-order-table .product-total, .pjm-content--checkout .woocommerce-checkout-review-order-table tfoot td { text-align: right; }
.pjm-content--checkout .woocommerce-checkout-review-order-table .product-name { color: var(--pjm-ink); font-weight: 500; padding-right: 12px; }
.pjm-content--checkout .woocommerce-checkout-review-order-table .product-quantity { color: var(--pjm-muted); font-weight: 600; }
.pjm-content--checkout .woocommerce-checkout-review-order-table .variation { display: grid; grid-template-columns: auto 1fr; gap: 0 6px; margin: 4px 0 0; font-size: 12.5px; color: var(--pjm-muted); font-weight: 400; }
.pjm-content--checkout .woocommerce-checkout-review-order-table .variation dd, .pjm-content--checkout .woocommerce-checkout-review-order-table .variation p { margin: 0; }
.pjm-content--checkout .woocommerce-checkout-review-order-table tfoot th { font-weight: 500; color: var(--pjm-muted); }
.pjm-content--checkout .woocommerce-checkout-review-order-table .order-total th, .pjm-content--checkout .woocommerce-checkout-review-order-table .order-total td { border-bottom: 0; padding-top: 16px; font-size: 19px; font-weight: 700; color: var(--pjm-ink); }

/* Payment */
.pjm-content--checkout #payment { background: var(--pjm-band); border-radius: 14px; padding: 16px; }
.pjm-content--checkout #payment ul.payment_methods { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 8px; }
.pjm-content--checkout #payment ul.payment_methods li { background: #fff; border: 1px solid var(--pjm-line); border-radius: 12px; padding: 14px; }
.pjm-content--checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--pjm-accent); box-shadow: 0 0 0 1px var(--pjm-accent); }
.pjm-content--checkout #payment ul.payment_methods li > label { font-weight: 600; cursor: pointer; }
.pjm-content--checkout #payment ul.payment_methods li img { display: inline-block; max-height: 24px; vertical-align: middle; margin-left: 6px; }
.pjm-content--checkout #payment .payment_box { margin: 10px 0 0 26px; font-size: 14px; color: var(--pjm-muted); }
.pjm-content--checkout #payment .payment_box p { margin: 0; }
.pjm-content--checkout #payment .woocommerce-privacy-policy-text p, .pjm-content--checkout #payment .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--pjm-muted); line-height: 1.55; margin: 0 0 12px; }
.pjm-content--checkout #payment .woocommerce-privacy-policy-text a { color: var(--pjm-accent-ink); }
.pjm-content--checkout #payment .place-order { margin: 0; }
.pjm-content--checkout #place_order { width: 100%; min-height: 56px; font-size: 14.5px; }
.pjm-content--checkout .pjm-trust { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 12px 0 0; font-size: 12.5px; color: var(--pjm-muted); }
.pjm-content--checkout .blockUI.blockOverlay { border-radius: 14px; }

/* Order received (thank you) */
.pjm-content .woocommerce-order { display: grid; gap: 22px; }
.pjm-content .woocommerce-thankyou-order-received { font-size: 18px; font-weight: 600; padding: 18px 20px; border-radius: 14px; background: #edf8f2; border: 1px solid #bfe5cf; margin: 0; }
.pjm-content ul.woocommerce-order-overview { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin: 0; padding: 0; }
.pjm-content ul.woocommerce-order-overview li { padding: 14px 16px; background: #fff; border: 1px solid var(--pjm-line); border-radius: 12px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--pjm-muted); }
.pjm-content ul.woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--pjm-ink); }
.pjm-content .woocommerce-order-details, .pjm-content .woocommerce-customer-details { background: #fff; border: 1px solid var(--pjm-line); border-radius: 18px; padding: clamp(20px, 2.6vw, 30px); }
.pjm-content .woocommerce-order-details h2, .pjm-content .woocommerce-customer-details h2, .pjm-content .woocommerce-column__title { font-size: 22px; margin: 0 0 14px; }
.pjm-content table.shop_table.order_details, .pjm-content table.woocommerce-table--order-details { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.pjm-content table.order_details th, .pjm-content table.order_details td { padding: 12px 0; border-bottom: 1px solid var(--pjm-line); text-align: left; vertical-align: top; }
.pjm-content table.order_details tfoot td, .pjm-content table.order_details .product-total { text-align: right; }
.pjm-content address { font-style: normal; line-height: 1.7; color: var(--pjm-ink-2); }
.pjm-content .woocommerce-columns--addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pjm-content .woocommerce-columns--addresses .woocommerce-column { width: auto; float: none; }

/* ---------- My account ---------- */
.pjm-content--account.is-guest #customer_login, .pjm-content--account.is-guest .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.pjm-content--account.is-guest #customer_login > div, .pjm-content--account.is-guest .u-column1, .pjm-content--account.is-guest .u-column2 { width: auto; float: none; }
.pjm-content--account .woocommerce-form-login, .pjm-content--account .woocommerce-form-register, .pjm-content--account form.lost_reset_password { background: #fff; border: 1px solid var(--pjm-line); border-radius: 18px; padding: clamp(22px, 3vw, 32px); margin: 0; }
.pjm-content--account.is-guest h2 { font-size: 26px; margin: 0 0 16px; }
.pjm-content--account .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.pjm-content--account .woocommerce-LostPassword { margin: 12px 0 0; font-size: 14px; }
.pjm-content--account .woocommerce-LostPassword a, .pjm-content--account .woocommerce-privacy-policy-text a { color: var(--pjm-accent-ink); font-weight: 600; }
.pjm-content--account .woocommerce-privacy-policy-text { font-size: 13px; color: var(--pjm-muted); }
.pjm-content--account form.lost_reset_password { max-width: 560px; }

.pjm-content--account.is-logged-in > .woocommerce { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.pjm-content--account.is-logged-in > .woocommerce > * { min-width: 0; }
.pjm-content--account .woocommerce-MyAccount-navigation { position: sticky; top: 150px; background: #fff; border: 1px solid var(--pjm-line); border-radius: 18px; padding: 10px; width: auto; float: none; }
.pjm-content--account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.pjm-content--account .woocommerce-MyAccount-navigation a { display: block; padding: 11px 14px; border-radius: 10px; font-weight: 500; color: var(--pjm-ink-2); transition: background .15s, color .15s; }
.pjm-content--account .woocommerce-MyAccount-navigation a:hover { background: var(--pjm-band); color: var(--pjm-ink); }
.pjm-content--account .woocommerce-MyAccount-navigation .is-active a { background: var(--pjm-ink); color: #fff; }
.pjm-content--account .woocommerce-MyAccount-navigation-link--customer-logout a { color: #b42318; }
.pjm-content--account .woocommerce-MyAccount-content { width: auto; float: none; background: #fff; border: 1px solid var(--pjm-line); border-radius: 18px; padding: clamp(20px, 3vw, 32px); font-size: 15px; line-height: 1.7; color: var(--pjm-ink-2); }
.pjm-content--account .woocommerce-MyAccount-content > p:first-of-type { margin-top: 0; }
.pjm-content--account .woocommerce-MyAccount-content a:not(.button) { color: var(--pjm-accent-ink); font-weight: 600; }
.pjm-content--account table.shop_table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.pjm-content--account table.shop_table th, .pjm-content--account table.shop_table td { padding: 12px 10px; border-bottom: 1px solid var(--pjm-line); text-align: left; }
.pjm-content--account table.shop_table thead th { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--pjm-muted); }
.pjm-content--account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pjm-content--account .woocommerce-Address { width: auto; float: none; padding: 18px; border: 1px solid var(--pjm-line); border-radius: 14px; }
.pjm-content--account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.pjm-content--account .woocommerce-Address-title h2, .pjm-content--account .woocommerce-Address-title h3 { font-size: 20px; margin: 0 0 8px; }

/* AIOWPS captcha on login/register forms */
.pjm-content .aiowps-captcha, .pjm-content p.aiowps-captcha { margin: 0 0 16px; }
.pjm-content .aiowps-captcha-equation { font-weight: 600; margin: 4px 0 8px; }

/* ---------- Wishlist (YITH) + track order ---------- */
.pjm-content--shop .wishlist_table, .pjm-content--shop table.shop_table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid var(--pjm-line); border-radius: 18px; overflow: hidden; font-size: 15px; }
.pjm-content--shop .wishlist_table th, .pjm-content--shop table.shop_table th { padding: 14px 16px; text-align: left; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pjm-muted); background: var(--pjm-band); border-bottom: 1px solid var(--pjm-line); }
.pjm-content--shop .wishlist_table td { padding: 16px; border-bottom: 1px solid var(--pjm-line); vertical-align: middle; }
.pjm-content--shop .wishlist_table tr:last-child td { border-bottom: 0; }
.pjm-content--shop .wishlist_table .product-thumbnail img { width: 80px; height: 80px !important; object-fit: contain; border-radius: 10px; border: 1px solid var(--pjm-line); }
.pjm-content--shop .wishlist_table .wishlist-empty { padding: 40px 16px; text-align: center; color: var(--pjm-muted); font-size: 16px; }
.pjm-content--shop .wishlist-title h2 { font-size: 26px; margin: 0 0 16px; }
.pjm-content--shop .yith-wcwl-share { margin-top: 20px; }
.pjm-content--shop .yith-wcwl-share h4 { margin: 0 0 8px; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.pjm-content--shop .yith-wcwl-share ul { list-style: none; display: flex; gap: 8px; margin: 0; padding: 0; }
.pjm-content--shop form.track_order { max-width: 640px; margin: 0 auto; background: #fff; border: 1px solid var(--pjm-line); border-radius: 18px; padding: clamp(22px, 3vw, 34px); display: grid; grid-template-columns: 1fr 1fr; column-gap: 14px; }
.pjm-content--shop form.track_order > p:first-child { grid-column: 1 / -1; margin: 0 0 18px; color: var(--pjm-muted); font-size: 15px; line-height: 1.6; }
.pjm-content--shop form.track_order .clear { display: none; }
.pjm-content--shop form.track_order .form-row:last-of-type { grid-column: 1 / -1; margin: 6px 0 0; }
.pjm-content--shop form.track_order .button { width: 100%; background: var(--pjm-accent); border-color: var(--pjm-accent); color: #fff; }

/* ---------- Content pages (prose, WPBakery + theme shortcodes) ---------- */
.pjm-content--prose { max-width: 880px; margin: 0 auto; }
.pjm-prose table { width: 100%; border-collapse: collapse; margin: 1.2em 0; font-size: 14.5px; }
.pjm-prose th, .pjm-prose td { padding: 10px 12px; border: 1px solid var(--pjm-line); text-align: left; }
.pjm-prose th { background: var(--pjm-band); color: var(--pjm-ink); }
.pjm-prose strong { color: var(--pjm-ink); }
.pjm-prose ol { padding-left: 1.3em; margin: 0 0 1em; }
.pjm-content .vc_row { display: flex; flex-wrap: wrap; margin: 0 -12px 24px; }
.pjm-content .vc_column_container { padding: 0 12px; flex: 1 1 100%; min-width: 0; box-sizing: border-box; }
.pjm-content .vc_col-sm-6 { flex-basis: 50%; } .pjm-content .vc_col-sm-4 { flex-basis: 33.333%; } .pjm-content .vc_col-sm-8 { flex-basis: 66.666%; } .pjm-content .vc_col-sm-3 { flex-basis: 25%; } .pjm-content .vc_col-sm-9 { flex-basis: 75%; }
.pjm-content .wpb_content_element { margin-bottom: 20px; }
.pjm-content .wpb_single_image img { border-radius: 14px; max-width: 100%; height: auto; }
.pjm-content .vc_single_image-wrapper { display: inline-block; }
.pjm-content .wpb_text_column > .wpb_wrapper > :last-child { margin-bottom: 0; }
.pjm-content .pjm-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.pjm-content .pjm-cols > * { width: auto !important; float: none !important; margin: 0 !important; background: #fff; border: 1px solid var(--pjm-line); border-radius: 18px; padding: clamp(22px, 3vw, 32px); }

.pjm-content .wpcf7 form p { margin: 0 0 14px; font-size: 13px; font-weight: 600; color: var(--pjm-ink); }
.pjm-content .wpcf7 input[type=submit] { min-height: 50px; padding: 0 30px; border: 0; border-radius: 999px; background: var(--pjm-accent); color: #fff; font: 700 13px var(--pjm-sans); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.pjm-content .wpcf7 input[type=submit]:hover { background: var(--pjm-accent-ink); }
.pjm-content .wpcf7-not-valid-tip { font-size: 12.5px; color: #b42318; font-weight: 500; }
.pjm-content .wpcf7-response-output { border-radius: 10px; padding: 12px 14px !important; margin: 10px 0 0 !important; font-size: 14px; }

/* ---------- Blog ---------- */
.pjm-blog__search { display: flex; gap: 10px; max-width: 620px; margin: 0 0 28px; }
.pjm-blog__search input[type=search] { flex: 1; min-height: 48px; padding: 0 16px; border: 1px solid #d5d8de; border-radius: 999px; font: 400 15px var(--pjm-sans); }
.pjm-blog__search input[type=search]:focus { outline: none; border-color: var(--pjm-accent); box-shadow: 0 0 0 4px rgba(240, 83, 35, .16); }
.pjm-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 32px); }
.pjm-post { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--pjm-line); border-radius: 18px; overflow: hidden; transition: box-shadow .3s, transform .3s var(--pjm-ease); }
.pjm-post:hover { box-shadow: var(--pjm-shadow); transform: translateY(-2px); }
.pjm-post__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--pjm-band); }
.pjm-post__media img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .6s var(--pjm-ease); }
.pjm-post:hover .pjm-post__media img { transform: scale(1.04); }
.pjm-post__body { display: flex; flex-direction: column; gap: 10px; padding: 20px 22px 22px; flex: 1; }
.pjm-post__date { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pjm-accent-ink); }
.pjm-post__title { font-family: var(--pjm-serif); font-weight: 500; font-size: 21px; line-height: 1.25; margin: 0; letter-spacing: -.01em; }
.pjm-post__title a:hover { color: var(--pjm-accent-ink); }
.pjm-post__excerpt { margin: 0; color: var(--pjm-muted); font-size: 14.5px; line-height: 1.65; }
.pjm-post__more { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 6px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pjm-ink); }
.pjm-post__more .pjm-i { width: 16px; height: 16px; transition: transform .2s; }
.pjm-post__more:hover { color: var(--pjm-accent-ink); }
.pjm-post__more:hover .pjm-i { transform: translateX(3px); }

.pjm-article { max-width: 860px; margin: 0 auto; }
.pjm-article__media { margin: 0 0 clamp(24px, 3vw, 36px); border-radius: 20px; overflow: hidden; }
.pjm-article__media img { width: 100%; height: auto; }
.pjm-article__content { font-size: 17px; line-height: 1.8; }
.pjm-article__content h2 { font-size: clamp(24px, 2.6vw, 30px); }
.pjm-article__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: clamp(32px, 4vw, 48px) 0; padding-top: 24px; border-top: 1px solid var(--pjm-line); }
.pjm-article__navlink { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border: 1px solid var(--pjm-line); border-radius: 14px; background: #fff; font-family: var(--pjm-serif); font-size: 17px; line-height: 1.3; color: var(--pjm-ink); transition: border-color .2s; }
.pjm-article__navlink span { font-family: var(--pjm-sans); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--pjm-accent-ink); }
.pjm-article__navlink:hover { border-color: var(--pjm-ink); }
.pjm-article__navlink--next { text-align: right; grid-column: 2; }
.pjm-comments { padding: clamp(22px, 3vw, 32px); background: var(--pjm-band); border-radius: 18px; }
.pjm-comments h2 { margin-top: 0; font-size: 24px; }
.pjm-comments .comment-form p { margin: 0 0 14px; }
.pjm-comments .comment-form label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--pjm-ink); }
.pjm-comments .comment-form input[type=text], .pjm-comments .comment-form input[type=email], .pjm-comments .comment-form input[type=url], .pjm-comments .comment-form input[type=number], .pjm-comments .comment-form textarea { width: 100%; padding: 12px 14px; border: 1px solid #d5d8de; border-radius: 10px; font: 400 15px var(--pjm-sans); box-sizing: border-box; background: #fff; }
.pjm-comments .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; }
.pjm-comments .comment-form-cookies-consent label { font-weight: 400; margin: 0; }
.pjm-comments .comment-notes, .pjm-comments .logged-in-as { font-size: 14px; color: var(--pjm-muted); }
.pjm-single .pjm-related .pjm-post__title { font-size: 18px; }

/* 404 */
.pjm-404__box { max-width: 680px; margin: 0 auto; }
.pjm-404__code { margin: 0 0 6px; font-family: var(--pjm-serif); font-size: clamp(72px, 12vw, 120px); line-height: 1; color: var(--pjm-accent); }
.pjm-404 .pjm-blog__search { margin: 22px auto; }
.pjm-404__links { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin: 0; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.pjm-content--cart > .woocommerce { grid-template-columns: minmax(0, 1fr) 340px; }
	.pjm-content--checkout form.checkout { grid-template-columns: minmax(0, 1fr) 380px; }
	.pjm-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.pjm-content--cart > .woocommerce { grid-template-columns: 1fr; }
	.pjm-content--cart > .woocommerce > .cart-collaterals { grid-column: 1; position: static; }
	.pjm-content--checkout form.checkout { grid-template-columns: 1fr; }
	.pjm-content--checkout form.checkout > #customer_details, .pjm-content--checkout form.checkout > #order_review_heading, .pjm-content--checkout form.checkout > #order_review { grid-column: 1; grid-row: auto; }
	.pjm-content--checkout form.checkout > #order_review_heading { margin-top: 24px; }
	.pjm-content--account.is-logged-in > .woocommerce { grid-template-columns: 1fr; }
	.pjm-content--account .woocommerce-MyAccount-navigation { position: static; }
	.pjm-content--account .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; scrollbar-width: none; }
	.pjm-content--account .woocommerce-MyAccount-navigation a { white-space: nowrap; }
}
@media (max-width: 640px) {
	.pjm-steps { gap: 8px 12px; font-size: 11.5px; }
	.pjm-steps li + li::before { width: 12px; }
	.pjm-content--cart table.cart, .pjm-content--cart table.cart tbody { display: block; border: 0; background: none; border-radius: 0; }
	.pjm-content--cart table.cart thead { display: none; }
	.pjm-content--cart table.cart tr.cart_item { position: relative; display: grid; grid-template-columns: 84px 1fr; grid-template-areas: "img name" "img price" "img qty" "img sub"; column-gap: 14px; padding: 14px; margin-bottom: 12px; background: #fff; border: 1px solid var(--pjm-line); border-radius: 16px; }
	.pjm-content--cart table.cart tr.cart_item td { display: block; padding: 2px 0; border: 0; }
	.pjm-content--cart table.cart td.product-remove { position: absolute; top: 8px; right: 8px; width: auto; }
	.pjm-content--cart table.cart td.product-thumbnail { grid-area: img; width: auto; }
	.pjm-content--cart table.cart td.product-thumbnail img { width: 84px; height: 84px !important; }
	.pjm-content--cart table.cart td.product-name { grid-area: name; padding-right: 30px; }
	.pjm-content--cart table.cart td.product-price { grid-area: price; color: var(--pjm-muted); font-size: 14px; }
	.pjm-content--cart table.cart td.product-quantity { grid-area: qty; padding-top: 6px; }
	.pjm-content--cart table.cart td.product-subtotal { grid-area: sub; padding-top: 6px; }
	.pjm-content--cart table.cart td[data-title]::before { display: none; }
	.pjm-content--cart table.cart tr:not(.cart_item) { display: block; }
	.pjm-content--cart td.actions { display: block; border-radius: 16px; border: 1px solid var(--pjm-line); }
	.pjm-content--cart td.actions .coupon { display: flex; width: 100%; margin-bottom: 10px; }
	.pjm-content--cart td.actions .coupon .input-text { flex: 1; width: auto; }
	.pjm-content--cart td.actions > .button { float: none; width: 100%; }
	.pjm-content--checkout .woocommerce-billing-fields__field-wrapper, .pjm-content--checkout .woocommerce-shipping-fields__field-wrapper, .pjm-content .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; }
	.pjm-content--checkout .form-row-first, .pjm-content--checkout .form-row-last { grid-column: 1; }
	.pjm-content--checkout #customer_details .col-1, .pjm-content--checkout #customer_details .col-2, .pjm-content--checkout form.checkout > #order_review, .pjm-content--checkout form.checkout > #order_review_heading { padding-left: 16px; padding-right: 16px; }
	.pjm-content--account.is-guest #customer_login, .pjm-content--account.is-guest .u-columns, .pjm-content--account .woocommerce-Addresses, .pjm-content .woocommerce-columns--addresses { grid-template-columns: 1fr; }
	.pjm-content--shop .wishlist_table thead { display: none; }
	.pjm-content--shop .wishlist_table, .pjm-content--shop .wishlist_table tbody, .pjm-content--shop .wishlist_table tr, .pjm-content--shop .wishlist_table td { display: block; }
	.pjm-content--shop .wishlist_table tr { padding: 12px; border-bottom: 1px solid var(--pjm-line); }
	.pjm-content--shop .wishlist_table td { border: 0; padding: 4px 0; }
	.pjm-content--shop form.track_order { grid-template-columns: 1fr; }
	.pjm-content .vc_column_container { flex-basis: 100% !important; }
	.pjm-posts { grid-template-columns: 1fr; }
	.pjm-article__content { font-size: 16px; }
	.pjm-article__nav { grid-template-columns: 1fr; }
	.pjm-article__navlink--next { grid-column: 1; }
	.pjm-blog__search { flex-direction: column; }
}

/* Contact page: the theme's [one_half] block with its own heading + form → one centred card */
.pjm-content--prose .one_half { max-width: 640px; margin: 0 auto; background: #fff; border: 1px solid var(--pjm-line); border-radius: 18px; padding: clamp(22px, 3vw, 36px); }
.pjm-content--prose .one_half > br:last-child { display: none; }
.pjm-content .heading-title-block h1, .pjm-content .heading-title-block h2 { font-family: var(--pjm-serif); font-weight: 500; font-size: clamp(24px, 2.6vw, 30px); line-height: 1.2; margin: 0 0 18px; color: var(--pjm-ink); }
.pjm-content .wpcf7 form br { display: none; }
.pjm-content .wpcf7 form .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.pjm-content--cart .cart_totals th { padding-right: 14px; white-space: nowrap; }
.pjm-content--checkout .woocommerce-checkout-review-order-table tfoot th { padding-right: 14px; }
.pjm-content .woocommerce-form-coupon-toggle .woocommerce-info, .pjm-content .woocommerce-form-login-toggle .woocommerce-info { justify-content: flex-start; gap: 6px; }
.pjm-content .wpcf7 fieldset.hidden-fields-container { border: 0; padding: 0; margin: 0; min-width: 0; }
.pjm-prose h1 { font-family: var(--pjm-serif); font-weight: 500; font-size: clamp(26px, 2.8vw, 34px); line-height: 1.15; letter-spacing: -.015em; color: var(--pjm-ink); margin: 0 0 .6em; }
.pjm-prose h4, .pjm-prose h5 { font-family: var(--pjm-sans); font-weight: 700; color: var(--pjm-ink); margin: 1.4em 0 .5em; }

/* Wishlist polish (on top of YITH's own stylesheet) */
.pjm-content--shop .wishlist-title-container { margin: 0 0 18px; }
.pjm-content--shop .wishlist-title { margin: 0; padding: 0; }
.pjm-content--shop .wishlist-title h2 { margin: 0; padding: 0; font-size: 26px; }
.pjm-content--shop .wishlist_table .product-name a { font-weight: 600; color: var(--pjm-ink); text-decoration: none; }
.pjm-content--shop .wishlist_table .product-name a:hover { color: var(--pjm-accent-ink); }
.pjm-content--shop .wishlist_table .product-price, .pjm-content--shop .wishlist_table .product-price * { text-decoration: none; }
.pjm-content--shop .wishlist_table .product-price del { color: var(--pjm-muted); text-decoration: line-through; margin-right: 6px; font-weight: 400; }
.pjm-content--shop .wishlist_table .product-price ins { color: var(--pjm-accent-ink); font-weight: 700; }
.pjm-content--shop .wishlist_table .wishlist-in-stock { color: #16794c; font-weight: 600; }
.pjm-content--shop .wishlist_table .wishlist-out-of-stock { color: #b42318; font-weight: 600; }
.pjm-content--shop .wishlist_table .product-add-to-cart { text-align: right; }
.pjm-content--shop .wishlist_table .product-add-to-cart a.add_to_cart_button, .pjm-content--shop .wishlist_table .product-add-to-cart a.button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 20px; border: 1px solid var(--pjm-accent); border-radius: 999px;
	background: var(--pjm-accent); color: #fff !important; font: 700 12px var(--pjm-sans); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; white-space: nowrap; transition: background .2s;
}
.pjm-content--shop .wishlist_table .product-add-to-cart a.add_to_cart_button:hover { background: var(--pjm-accent-ink); border-color: var(--pjm-accent-ink); }
.pjm-content--shop .wishlist_table .product-add-to-cart .added_to_cart { display: block; margin-top: 6px; font-size: 12.5px; font-weight: 600; color: var(--pjm-accent-ink); }
.pjm-content--shop .wishlist_table .product-remove a.remove { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: var(--pjm-muted) !important; font-size: 20px; line-height: 1; text-decoration: none; transition: background .2s, color .2s; }
.pjm-content--shop .wishlist_table .product-remove a.remove:hover { background: #fdecec; color: #b42318 !important; }
.pjm-content--shop .yith-wcwl-share { display: flex; align-items: center; gap: 12px; margin-top: 18px; }
.pjm-content--shop .yith-wcwl-share h4.yith-wcwl-share-title { margin: 0; font: 700 12px var(--pjm-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--pjm-muted); }
@media (max-width: 640px) {
	.pjm-content--shop .wishlist_table tr { display: grid !important; grid-template-columns: 72px 1fr auto; grid-template-areas: "img name rm" "img price price" "img stock stock" "img cart cart"; column-gap: 12px; }
	.pjm-content--shop .wishlist_table td.product-remove { grid-area: rm; }
	.pjm-content--shop .wishlist_table td.product-thumbnail { grid-area: img; }
	.pjm-content--shop .wishlist_table td.product-thumbnail img { width: 72px; height: 72px !important; }
	.pjm-content--shop .wishlist_table td.product-name { grid-area: name; }
	.pjm-content--shop .wishlist_table td.product-price { grid-area: price; }
	.pjm-content--shop .wishlist_table td.product-stock-status { grid-area: stock; }
	.pjm-content--shop .wishlist_table td.product-add-to-cart { grid-area: cart; text-align: left; padding-top: 8px; }
	.pjm-content--shop .wishlist_table td::before { display: none !important; }
}
.pjm-content--shop .wishlist_table .product-add-to-cart a.add_to_cart_button, .pjm-content--shop .wishlist_table .product-add-to-cart a.button { line-height: 1 !important; padding-top: 0 !important; padding-bottom: 0 !important; height: 42px; margin: 0 !important; }

/* Wishlist — YITH's mobile list (ul.wishlist_table.mobile) */
.pjm-content--shop ul.wishlist_table.mobile { list-style: none; margin: 0; padding: 0; border: 0; background: none; border-radius: 0; display: grid; gap: 12px; }
.pjm-content--shop ul.wishlist_table.mobile > li { position: relative; margin: 0; padding: 14px; background: #fff; border: 1px solid var(--pjm-line); border-radius: 16px; display: grid; grid-template-columns: 76px 1fr; column-gap: 14px; }
.pjm-content--shop ul.wishlist_table.mobile .item-wrapper { display: contents; }
.pjm-content--shop ul.wishlist_table.mobile .product-thumbnail { grid-column: 1; grid-row: 1 / span 2; margin: 0; width: auto; }
.pjm-content--shop ul.wishlist_table.mobile .product-thumbnail img { width: 76px; height: 76px !important; object-fit: contain; border-radius: 10px; border: 1px solid var(--pjm-line); max-width: none; }
.pjm-content--shop ul.wishlist_table.mobile .item-details { grid-column: 2; min-width: 0; }
.pjm-content--shop ul.wishlist_table.mobile .product-name h3 { margin: 0 32px 4px 0; font-family: var(--pjm-sans); font-size: 15px; font-weight: 600; line-height: 1.35; }
.pjm-content--shop ul.wishlist_table.mobile .product-name a { color: var(--pjm-ink); text-decoration: none; }
.pjm-content--shop ul.wishlist_table.mobile table { width: auto; margin: 0; border: 0; border-collapse: collapse; font-size: 14px; }
.pjm-content--shop ul.wishlist_table.mobile table td { padding: 2px 8px 2px 0; border: 0 !important; background: none; vertical-align: baseline; }
.pjm-content--shop ul.wishlist_table.mobile td.label { color: var(--pjm-muted); font-weight: 500; }
.pjm-content--shop ul.wishlist_table.mobile td.value, .pjm-content--shop ul.wishlist_table.mobile td.value * { text-decoration: none; }
.pjm-content--shop ul.wishlist_table.mobile td.value del { color: var(--pjm-muted); text-decoration: line-through; margin-right: 4px; }
.pjm-content--shop ul.wishlist_table.mobile td.value ins { color: var(--pjm-accent-ink); font-weight: 700; }
.pjm-content--shop ul.wishlist_table.mobile .additional-info-wrapper { grid-column: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin: 0; padding: 0; border: 0; }
.pjm-content--shop ul.wishlist_table.mobile .product-add-to-cart { margin: 0; text-align: left; }
.pjm-content--shop ul.wishlist_table.mobile .product-add-to-cart a.add_to_cart_button {
	display: inline-flex; align-items: center; justify-content: center; height: 42px; padding: 0 20px !important; margin: 0 !important; border: 1px solid var(--pjm-accent); border-radius: 999px;
	background: var(--pjm-accent); color: #fff !important; font: 700 12px/1 var(--pjm-sans); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
.pjm-content--shop ul.wishlist_table.mobile .product-remove { position: absolute; top: 10px; right: 10px; margin: 0; }
.pjm-content--shop ul.wishlist_table.mobile .product-remove a { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--pjm-muted); text-decoration: none; transition: background .2s, color .2s; }
.pjm-content--shop ul.wishlist_table.mobile .product-remove a:hover { background: #fdecec; color: #b42318; }
.pjm-content--shop ul.wishlist_table.mobile .product-remove i.fa { display: block; width: 17px; height: 17px; font-size: 0; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M6 7l1 13h10l1-13M9 7V4h6v3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M6 7l1 13h10l1-13M9 7V4h6v3'/%3E%3C/svg%3E") center / contain no-repeat; }
.pjm-content--shop ul.wishlist_table.mobile .product-remove i.fa::before { content: none; }
.pjm-content--shop ul.wishlist_table.mobile .wishlist-empty { padding: 32px 16px; text-align: center; color: var(--pjm-muted); background: #fff; border: 1px solid var(--pjm-line); border-radius: 16px; }
@media (max-width: 640px) { .pjm-content--shop .wishlist-title h2 { font-size: 22px; } }
.pjm-content--shop ul.wishlist_table.mobile table, .pjm-content--shop ul.wishlist_table.mobile tr, .pjm-content--shop ul.wishlist_table.mobile td { border: 0 !important; box-shadow: none !important; background: none !important; }
.pjm-content--shop ul.wishlist_table.mobile table { margin: 0 !important; padding: 0 !important; width: auto !important; }
.pjm-content--shop ul.wishlist_table.mobile td { padding: 2px 8px 2px 0 !important; text-align: left !important; }
.pjm-content--shop ul.wishlist_table.mobile .additional-info-wrapper, .pjm-content--shop ul.wishlist_table.mobile .item-details { padding: 0 !important; margin: 0 !important; border: 0 !important; }
.pjm-content--shop .wishlist_table .product-add-to-cart a.add_to_cart_button { display: inline-flex !important; align-items: center !important; justify-content: center !important; line-height: 1 !important; height: 42px !important; padding: 0 20px !important; }
