/**
 * Plumb Fort v2 — WooCommerce component styles.
 *
 * Single product is already covered by content-single-product.php's own
 * markup + the rules in theme.css. This file covers everything else
 * WooCommerce renders with its own default templates/classes: shop
 * archive, cart, checkout, my-account, widgets, notices. Uses the same
 * tokens as theme.css so nothing here needs its own palette.
 *
 * Load order: after theme.css (see functions.php enqueue).
 */

/* ---------------------------------------------------------------------
 * 0. Resets — WooCommerce ships its own spacing/box defaults; strip them
 *    back to the theme's own rhythm before styling anything.
 * ------------------------------------------------------------------- */
.woocommerce ul.products,
.woocommerce-page ul.products{margin:0;padding:0;list-style:none}
.woocommerce table.shop_table,
.woocommerce-page table.shop_table{border-collapse:collapse;width:100%}
.woocommerce form .form-row{margin:0 0 16px;padding:0}
.woocommerce img{max-width:100%;height:auto}
.woocommerce-breadcrumb{font-family:'Poppins',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:0 0 20px}
.woocommerce-breadcrumb a{color:var(--mut)}
.woocommerce-breadcrumb a:hover{color:var(--ink)}

/* ---------------------------------------------------------------------
 * 1. Notices — success / error / info banners (add-to-cart, checkout
 *    validation, login errors, etc.)
 * ------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-noreviews,
p.no-comments{
	font-family:'Poppins',sans-serif;font-size:14px;
	list-style:none;margin:0 0 24px;padding:16px 20px;
	border-radius:10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
	background:var(--bone2);color:var(--black);border:1px solid var(--line);
}
.woocommerce-message{border-color:var(--accent)}
.woocommerce-error{background:#FBEAEA;border-color:#E7B3B3;color:#7A2626}
.woocommerce-error li{list-style:none}
.woocommerce-message .button,.woocommerce-error .button{
	margin-left:auto;order:2;
}
.woocommerce-message::before,.woocommerce-info::before{content:'✓';font-weight:700;color:var(--ink)}
.woocommerce-error::before{content:'!';font-weight:700}

/* ---------------------------------------------------------------------
 * 2. Buttons — every WooCommerce button (add to cart, checkout,
 *    coupon apply, update cart, pay/order buttons) maps onto the
 *    theme's .btn pill.
 * ------------------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	padding:15px 28px;background:var(--accent);color:#2B3A33;
	font-family:'Poppins',sans-serif;font-size:12px;letter-spacing:.1em;
	text-transform:uppercase;font-weight:600;border:none;border-radius:999px;
	cursor:pointer;transition:background .15s,color .15s;box-shadow:none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{background:var(--ink2);color:#fff}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #order_review #place_order{
	background:var(--ink);color:#fff;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #order_review #place_order:hover{background:var(--ink2)}
.woocommerce a.button.loading,
.woocommerce button.button.loading{opacity:.6;pointer-events:none}
.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled{opacity:.45;cursor:not-allowed}

/* ---------------------------------------------------------------------
 * 3. Shop archive / category — product loop grid, sorting bar, sale
 *    badge, star rating, price, pagination.
 * ------------------------------------------------------------------- */
.woocommerce-products-header{margin-bottom:28px}
.woocommerce-result-count{font-size:13px;color:var(--mut)}
.woocommerce-ordering select{
	font-family:'Poppins',sans-serif;font-size:12px;text-transform:uppercase;
	letter-spacing:.08em;border:1px solid var(--line);border-radius:999px;
	padding:10px 16px;background:#fff;color:var(--black);
}

ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media (max-width:1024px){ul.products{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){ul.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){ul.products{grid-template-columns:1fr}}

ul.products li.product{
	background:#fff;padding:28px;position:relative;list-style:none;
	display:flex;flex-direction:column;gap:6px;transition:background .15s;
}
ul.products li.product:hover{background:var(--bone2)}
ul.products li.product a{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit}
ul.products li.product img{
	width:100%;aspect-ratio:1/1;object-fit:contain;mix-blend-mode:multiply;
	transition:transform .25s;background:transparent;
}
ul.products li.product:hover img{transform:translateY(-6px)}
ul.products li.product .woocommerce-loop-product__title{
	font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:-.01em;
	margin:4px 0 0;order:2;
}
ul.products li.product .price{
	font-family:'Poppins',sans-serif;font-size:13px;color:var(--mut);order:3;
}
ul.products li.product .price ins{color:var(--black);font-weight:600;text-decoration:none}
ul.products li.product .price del{color:#A9B4AC;margin-right:8px}
ul.products li.product .star-rating{order:1;font-size:12px;color:var(--accent);width:auto;letter-spacing:2px}
ul.products li.product .onsale{
	position:absolute;top:16px;left:16px;background:var(--ink);color:#fff;
	font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
	padding:5px 12px;border-radius:999px;z-index:1;min-width:0;height:auto;line-height:1.4;
}
ul.products li.product .added_to_cart{display:block;margin-top:6px;font-size:12px;color:var(--ink)}
ul.products li.product a.button{
	margin-top:10px;width:100%;order:4;font-size:11px;padding:12px 18px;
}
ul.products li.product a.add_to_cart_button.loading::after{
	content:'';display:inline-block;width:12px;height:12px;border-radius:50%;
	border:2px solid rgba(255,255,255,.5);border-top-color:#fff;
	animation:pf-spin .6s linear infinite;
}
@keyframes pf-spin{to{transform:rotate(360deg)}}

.woocommerce-pagination{margin-top:40px}
.woocommerce-pagination ul.page-numbers{
	display:flex;gap:8px;list-style:none;padding:0;margin:0;justify-content:center;flex-wrap:wrap;
}
.woocommerce-pagination .page-numbers{
	display:flex;align-items:center;justify-content:center;width:40px;height:40px;
	border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--black);
}
.woocommerce-pagination .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.woocommerce-pagination .page-numbers:hover:not(.current){background:var(--bone2)}

/* ---------------------------------------------------------------------
 * 4. Star rating (shared: archive, single product tabs, review form)
 * ------------------------------------------------------------------- */
.star-rating{overflow:hidden;position:relative;height:1em;line-height:1;width:5.4em;font-family:star;font-size:1em}
.star-rating::before{content:"\53\53\53\53\53";float:left;top:0;left:0;position:absolute;color:var(--line)}
.star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;padding-top:1.5em;color:var(--accent)}
.star-rating span::before{content:"\53\53\53\53\53";top:0;position:absolute;left:0}
.comment-form-rating select{width:auto;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-family:inherit}

/* ---------------------------------------------------------------------
 * 5. Cart page
 * ------------------------------------------------------------------- */
.woocommerce-cart-form table.shop_table{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.woocommerce-cart-form table.shop_table th{
	background:var(--bone2);text-align:left;font-size:11px;text-transform:uppercase;
	letter-spacing:.08em;font-weight:600;color:var(--mut);padding:14px 16px;
}
.woocommerce-cart-form table.shop_table td{
	padding:16px;border-top:1px solid var(--line);vertical-align:middle;font-size:14px;
}
.woocommerce-cart-form .product-thumbnail img{
	width:72px;height:72px;object-fit:contain;mix-blend-mode:multiply;
	border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px;
}
.woocommerce-cart-form .product-name a{font-weight:600;color:var(--black)}
.woocommerce-cart-form .product-name .variation{font-size:12px;color:var(--mut);margin-top:4px}
.woocommerce-cart-form .quantity .qty{
	width:64px;padding:10px;text-align:center;border:1px solid var(--line);
	border-radius:8px;font-family:inherit;font-size:14px;
}
.woocommerce-cart-form .product-remove a.remove{
	display:flex;align-items:center;justify-content:center;width:28px;height:28px;
	border-radius:999px;background:var(--bone2);color:var(--black)!important;
	font-size:16px;line-height:1;
}
.woocommerce-cart-form .product-remove a.remove:hover{background:#FBEAEA;color:#7A2626!important}
.woocommerce-cart-form .product-subtotal{font-weight:600}
.woocommerce-cart-form .actions{padding:20px 16px}
.woocommerce-cart-form .coupon{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.woocommerce-cart-form .coupon input#coupon_code{
	border:1px solid var(--line);border-radius:999px;padding:12px 18px;
	font-family:inherit;font-size:13px;min-width:180px;
}
.woocommerce-cart-form [name="update_cart"]{margin-left:auto}

.cart-collaterals{margin-top:40px;display:grid;grid-template-columns:1fr;gap:32px}
.cart-collaterals .cart_totals{
	background:var(--bone2);border-radius:14px;padding:26px;max-width:420px;margin-left:auto;
}
.cart_totals h2{font-family:'Poppins',sans-serif;font-weight:700;font-size:18px;margin:0 0 16px;text-transform:uppercase}
.cart_totals table{width:100%}
.cart_totals table th,.cart_totals table td{
	text-align:left;padding:10px 0;border-top:1px solid var(--line);font-size:14px;
}
.cart_totals table tr:first-child th,.cart_totals table tr:first-child td{border-top:none}
.cart_totals .order-total .amount{font-weight:700;font-size:18px;color:var(--ink)}
.wc-proceed-to-checkout{margin-top:18px}
.wc-proceed-to-checkout a.checkout-button{width:100%;padding:18px}
.cross-sells{margin-top:56px}
.cross-sells h2{font-family:'Poppins',sans-serif;font-weight:700;font-size:20px;text-transform:uppercase;margin-bottom:20px}
.cross-sells ul.products{grid-template-columns:repeat(4,1fr)}
@media (max-width:720px){.cross-sells ul.products{grid-template-columns:repeat(2,1fr)}}

.woocommerce-cart-form table.shop_table,
.cart_totals{max-width:100%}
@media (max-width:900px){
	.woocommerce-cart-form table.shop_table thead{display:none}
	.woocommerce-cart-form table.shop_table tr{
		display:grid;grid-template-columns:72px 1fr;gap:12px 16px;
		padding:16px;border-top:1px solid var(--line);
	}
	.woocommerce-cart-form table.shop_table td{border-top:none;padding:0}
	.woocommerce-cart-form table.shop_table td.product-thumbnail{grid-row:1/4}
	.woocommerce-cart-form .coupon{flex-direction:column;align-items:stretch}
	.woocommerce-cart-form .coupon input#coupon_code{min-width:0}
	.woocommerce-cart-form [name="update_cart"]{margin-left:0}
	.cart_totals{max-width:100%;margin-left:0}
}

/* Empty cart */
.woocommerce-cart .cart-empty{
	font-size:16px;color:var(--mut);background:var(--bone2);padding:24px;border-radius:12px;
}
.return-to-shop{margin-top:16px}

/* ---------------------------------------------------------------------
 * 6. Checkout page
 * ------------------------------------------------------------------- */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr;gap:0}
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading{
	font-family:'Poppins',sans-serif;font-weight:700;font-size:18px;
	text-transform:uppercase;margin:0 0 20px;
}
.woocommerce-checkout .form-row label{
	display:block;font-size:12px;font-weight:600;color:var(--mut);
	text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;
}
.woocommerce-checkout .form-row .required{color:#C0392B;text-decoration:none}
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea{
	width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;
	font-family:inherit;font-size:14px;color:var(--black);background:#fff;
	box-sizing:border-box;
}
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus{outline:2px solid var(--ink);outline-offset:1px}
.woocommerce-checkout .select2-container .select2-selection--single{
	height:auto;padding:14px 16px;border:1px solid var(--line);border-radius:10px;
}
.woocommerce-checkout .selection{display:block}

#order_review{background:var(--bone2);border-radius:14px;padding:26px;margin-top:32px}
@media (min-width:900px){
	.woocommerce-checkout .col2-set{grid-template-columns:1fr .85fr;gap:56px;align-items:start}
	#order_review{margin-top:0;position:sticky;top:100px}
}
#order_review table.shop_table th,#order_review table.shop_table td{
	padding:10px 0;border-top:1px solid var(--line);font-size:14px;
}
#order_review table.shop_table thead{display:none}
#order_review .product-name{font-weight:600}
#order_review .order-total .amount{font-weight:700;font-size:18px;color:var(--ink)}

.woocommerce-checkout ul.payment_methods{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--line)}
.woocommerce-checkout ul.payment_methods li{border-bottom:1px solid var(--line);padding:14px 0}
.woocommerce-checkout ul.payment_methods li label{font-weight:600;font-size:14px;display:flex;align-items:center;gap:10px}
.woocommerce-checkout ul.payment_methods li img{height:20px;margin-left:8px}
.woocommerce-checkout .payment_box{
	background:var(--bone);border-radius:10px;padding:14px 16px;margin-top:10px;
	font-size:13px;color:var(--mut);
}
#place_order{width:100%;padding:19px;font-size:13px;margin-top:16px}

.woocommerce-form-coupon-toggle .woocommerce-info{cursor:default}
.woocommerce-form-coupon-toggle a{font-weight:600;text-decoration:underline}
.woocommerce-form-coupon{
	background:var(--bone2);border-radius:12px;padding:20px;margin-bottom:24px;
	display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;
}
.woocommerce-form-coupon .form-row{margin:0;flex:1;min-width:180px}
.woocommerce-form-coupon .form-row label{display:none}

.woocommerce-checkout-review-order-table .cart-subtotal,
.woocommerce-checkout-review-order-table .shipping,
.woocommerce-checkout-review-order-table .order-total{font-size:14px}

/* ---------------------------------------------------------------------
 * 7. Order received / thank-you page
 * ------------------------------------------------------------------- */
.woocommerce-order{padding:40px 0}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:32px}
.woocommerce-order-details h2,.woocommerce-customer-details h2{
	font-family:'Poppins',sans-serif;font-weight:700;font-size:18px;text-transform:uppercase;
}
.woocommerce-order-overview{
	list-style:none;padding:0;margin:0 0 32px;display:flex;flex-wrap:wrap;gap:1px;
	background:var(--line);border:1px solid var(--line);
}
.woocommerce-order-overview li{
	background:#fff;padding:18px 24px;flex:1;min-width:160px;font-size:13px;color:var(--mut);
}
.woocommerce-order-overview li strong{display:block;color:var(--black);font-size:16px;margin-top:4px}
.woocommerce-thankyou-order-received{
	font-family:'Poppins',sans-serif;font-weight:700;font-size:22px;color:var(--ink);
}

/* ---------------------------------------------------------------------
 * 8. My Account
 * ------------------------------------------------------------------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px 1fr;gap:48px}
@media (max-width:820px){.woocommerce-account .woocommerce{grid-template-columns:1fr}}

.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.woocommerce-MyAccount-navigation li a{
	display:block;padding:14px 4px;font-size:13px;font-weight:600;
	text-transform:uppercase;letter-spacing:.05em;color:var(--mut);
}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--ink)}
.woocommerce-MyAccount-navigation li a:hover{color:var(--ink)}
@media (max-width:820px){
	.woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap;gap:8px 20px;border-bottom:1px solid var(--line);padding-bottom:12px}
	.woocommerce-MyAccount-navigation li{border-bottom:none}
}

.woocommerce-MyAccount-content table.shop_table{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.woocommerce-MyAccount-content table.shop_table th{
	background:var(--bone2);text-align:left;font-size:11px;text-transform:uppercase;
	letter-spacing:.06em;color:var(--mut);padding:12px 16px;
}
.woocommerce-MyAccount-content table.shop_table td{padding:14px 16px;border-top:1px solid var(--line);font-size:13.5px}
.woocommerce-orders-table__cell-order-status{text-transform:capitalize}
.woocommerce-orders-table__cell-order-actions .button{padding:9px 16px;font-size:10.5px}

.woocommerce-Addresses{display:grid;
/* grid-template-columns:repeat(2,1fr); */
gap:24px;list-style:none;padding:0}
@media (max-width:640px){.woocommerce-Addresses{grid-template-columns:1fr}}
.woocommerce-Address{background:var(--bone2);border-radius:12px;padding:22px}
.woocommerce-Address-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.woocommerce-Address-title h3{font-size:14px;text-transform:uppercase;letter-spacing:.05em;margin:0}
.woocommerce-Address-title .edit{font-size:11px;text-decoration:underline;font-weight:600}
address{font-style:normal;font-size:14px;line-height:1.7;color:var(--mut)}

.woocommerce-EditAccountForm .form-row,
.woocommerce-ResetPassword .form-row,
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row{margin-bottom:16px}
.woocommerce-EditAccountForm fieldset{
	border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:24px;
}
.woocommerce-EditAccountForm legend{font-size:13px;font-weight:700;text-transform:uppercase;padding:0 8px}
.woocommerce-form-login,.woocommerce-form-register{
	background:var(--bone2);border-radius:14px;padding:28px;max-width:480px;
}
.woocommerce-form-login-toggle,.woocommerce-form-register-toggle{margin-bottom:16px}
.woocommerce-form-row .show-password-input{top:14px}
.woocommerce-LostPassword{font-size:13px;margin-top:12px}

.woocommerce-message .button + .woocommerce-message,
.woocommerce-account .addresses .title .edit{margin-left:0}

/* =========================================================
   PLUMB FORT - WOOCOMMERCE MY ACCOUNT
   Complete Responsive Styling
   ========================================================= */

/* ---------- MAIN ACCOUNT WRAPPER ---------- */

.woocommerce-account .woocommerce {
    max-width: 1180px;
    margin: 55px auto 80px;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 245px 1fr;
    gap: 28px;
    align-items: start;
    font-family: "Poppins", sans-serif;
}

/* Remove default clearfix behavior */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
    display: none;
}


/* =========================================================
   LEFT SIDEBAR / TABS
   ========================================================= */

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100%;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 16px;
    padding: 12px 10px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.04);
    overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e5e5e5;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
    border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    min-height: 55px;
    padding: 14px 12px;
    color: #151515;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: 11px;
    transition: all .25s ease;
}

/* Hover */

.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: #f3f7f0;
    color: #111;
    padding-left: 17px;
}

/* Active tab */

.woocommerce-account
.woocommerce-MyAccount-navigation
.is-active
a {
    background: #111;
    color: #fff;
}

/* Active hover */

.woocommerce-account
.woocommerce-MyAccount-navigation
.is-active
a:hover {
    background: #111;
    color: #fff;
    padding-left: 12px;
}


/* Logout */

.woocommerce-account
.woocommerce-MyAccount-navigation
.woocommerce-MyAccount-navigation-link--customer-logout
a {
    color: #e51f2d;
}

.woocommerce-account
.woocommerce-MyAccount-navigation
.woocommerce-MyAccount-navigation-link--customer-logout
a:hover {
    background: #fff5f5;
    color: #d71920;
}


/* =========================================================
   RIGHT CONTENT AREA
   ========================================================= */

.woocommerce-account .woocommerce-MyAccount-content {
    width: 100%;
    min-width: 0;
    color: #202020;
    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   GENERAL CARD
   ========================================================= */

.woocommerce-account .woocommerce-MyAccount-content > * {
    box-sizing: border-box;
}


/* =========================================================
   DASHBOARD
   ========================================================= */

.woocommerce-account .woocommerce-MyAccount-content p {
    margin: 0 0 18px;
}

.woocommerce-account .woocommerce-MyAccount-content p a {
    color: #111;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* =========================================================
   TABLES - ORDERS / DOWNLOADS / SUBSCRIPTIONS
   ========================================================= */

.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-table--order-downloads,
.woocommerce-account .woocommerce-table--order-details,
.woocommerce-account .shop_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border: 1px solid #e2e5df;
    border-radius: 15px;
    overflow: hidden;
    margin: 0 0 25px;
}


/* Table header */

.woocommerce-account table thead th {
    background: #f2f5ef;
    color: #65715f;
    border: 0;
    padding: 15px 13px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    text-align: left;
}


/* Table cells */

.woocommerce-account table tbody td {
    border-top: 1px solid #e5e7e3;
    padding: 17px 13px;
    font-size: 13px;
    color: #292929;
    vertical-align: middle;
}


/* Order number */

.woocommerce-account .woocommerce-orders-table__cell-order-number a {
    color: #526d54;
    font-weight: 600;
    text-decoration: underline;
}


/* Status */

.woocommerce-account .woocommerce-orders-table__cell-order-status {
    font-weight: 500;
}


/* =========================================================
   ORDER ACTION BUTTONS
   ========================================================= */

.woocommerce-account .woocommerce-orders-table__cell-order-actions {
    white-space: normal;
}

.woocommerce-account .woocommerce-orders-table__cell-order-actions a,
.woocommerce-account .woocommerce-button,
.woocommerce-account a.button,
.woocommerce-account button.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 19px;
    margin: 3px;
    border: 0;
    border-radius: 30px;
    background: #a8cf9f;
    color: #111;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: all .25s ease;
}

.woocommerce-account .woocommerce-orders-table__cell-order-actions a:hover,
.woocommerce-account .woocommerce-button:hover,
.woocommerce-account a.button:hover,
.woocommerce-account button.button:hover {
    background: #111;
    color: #fff;
    transform: translateY(-1px);
}


/* Pay */

.woocommerce-account .woocommerce-orders-table__cell-order-actions .pay {
    background: #a8cf9f;
}


/* Cancel */

.woocommerce-account .woocommerce-orders-table__cell-order-actions .cancel {
    background: #a8cf9f;
}


/* View */

.woocommerce-account .woocommerce-orders-table__cell-order-actions .view {
    background: #a8cf9f;
}


/* =========================================================
   ACCOUNT DETAILS FORM
   ========================================================= */

.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account form.login,
.woocommerce-account form.register {
    background: #fff;
    border: 1px solid #e2e5df;
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 8px 25px rgba(0,0,0,.03);
}


/* Form labels */

.woocommerce-account form label {
    display: block;
    margin-bottom: 7px;
    color: #222;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
}


/* Required */

.woocommerce-account form label .required {
    color: #e00000;
    text-decoration: none;
}


/* Inputs */

.woocommerce-account form .input-text,
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="number"],
.woocommerce-account form select,
.woocommerce-account form textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid #dfe3dc;
    border-radius: 8px;
    background: #fff;
    color: #222;
    font-family: inherit;
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
    transition: all .2s ease;
}


/* Focus */

.woocommerce-account form .input-text:focus,
.woocommerce-account form input:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus {
    border-color: #8fb488;
    box-shadow: 0 0 0 3px rgba(143,180,136,.12);
}


/* Form rows */

.woocommerce-account form .form-row {
    margin-bottom: 20px;
}


/* Fieldset */

.woocommerce-account form fieldset {
    border: 0;
    margin: 0 0 25px;
    padding: 0;
}

.woocommerce-account form legend {
    margin-bottom: 20px;
    color: #111;
    font-size: 18px;
    font-weight: 600;
}


/* Save changes */

.woocommerce-account .woocommerce-Button,
.woocommerce-account button[name="save_account_details"] {
    min-width: 145px;
    background: #111;
    color: #fff;
    border: 0;
    border-radius: 30px;
    padding: 13px 25px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: .25s ease;
}

.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account button[name="save_account_details"]:hover {
    background: #a8cf9f;
    color: #111;
}


/* =========================================================
   ADDRESSES
   ========================================================= */

.woocommerce-account .woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.woocommerce-account .woocommerce-Address {
    width: 100%;
    background: #fff;
    border: 1px solid #e2e5df;
    border-radius: 16px;
    padding: 25px;
    box-sizing: border-box;
}

.woocommerce-account .woocommerce-Address-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 20px;
}

.woocommerce-account .woocommerce-Address-title h2 {
    margin: 0;
    color: #111;
    font-size: 17px;
    font-weight: 600;
}

.woocommerce-account .woocommerce-Address-title .edit {
    padding: 7px 14px;
    border-radius: 20px;
    background: #a8cf9f;
    color: #111;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
}

.woocommerce-account .woocommerce-Address-title .edit:hover {
    background: #111;
    color: #fff;
}

.woocommerce-account .woocommerce-Address address {
    color: #555;
    font-style: normal;
    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   SUBSCRIPTIONS
   ========================================================= */

.woocommerce-account .subscription_details,
.woocommerce-account .woocommerce-table--order-details {
    background: #fff;
}

.woocommerce-account .woocommerce-subscriptions-table {
    width: 100%;
}


/* Subscription status */

.woocommerce-account .subscription-status {
    font-weight: 600;
}


/* =========================================================
   LOGIN / REGISTER
   ========================================================= */

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
    max-width: 600px;
    margin: 0 auto;
    border: 1px solid #e2e5df;
    border-radius: 16px;
    padding: 30px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(0,0,0,.03);
}


/* Login/Register heading */

.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2 {
    margin: 0 0 25px;
    color: #111;
    font-size: 24px;
    font-weight: 600;
}


/* Login/register button */

.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit {
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: 30px;
    background: #111;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
}

.woocommerce-account .woocommerce-form-login__submit:hover,
.woocommerce-account .woocommerce-form-register__submit:hover {
    background: #a8cf9f;
    color: #111;
}


/* =========================================================
   NOTICES
   ========================================================= */

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
    border-radius: 12px;
    border: 1px solid #dfe6dc;
    padding: 16px 18px 16px 45px;
    margin-bottom: 20px;
    background: #f4f8f1;
    color: #333;
    font-size: 13px;
}

.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before {
    color: #699463;
}


/* =========================================================
   COUPONS
   ========================================================= */

.woocommerce-account .coupon {
    display: flex;
    gap: 10px;
}

.woocommerce-account .coupon input {
    max-width: 250px;
}

.woocommerce-account .coupon button {
    margin: 0;
}


/* =========================================================
   PAGINATION
   ========================================================= */

.woocommerce-account .woocommerce-pagination {
    display: flex;
    gap: 8px;
    margin-top: 20px;
}

.woocommerce-account .woocommerce-pagination a,
.woocommerce-account .woocommerce-pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f2f5ef;
    color: #111;
    text-decoration: none;
    font-size: 12px;
}

.woocommerce-account .woocommerce-pagination .current,
.woocommerce-account .woocommerce-pagination a:hover {
    background: #111;
    color: #fff;
}


/* =========================================================
   HEADINGS
   ========================================================= */

.woocommerce-account .woocommerce-MyAccount-content h2 {
    color: #111;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 600;
    margin: 0 0 22px;
}

.woocommerce-account .woocommerce-MyAccount-content h3 {
    color: #111;
    font-size: 18px;
    font-weight: 600;
}


/* =========================================================
   EMPTY STATES
   ========================================================= */

.woocommerce-account .woocommerce-info {
    margin-top: 0;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 900px) {

    .woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 35px;
        padding: 0 15px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100%;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 5px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li {
        border-bottom: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation a {
        min-height: 46px;
        justify-content: center;
        text-align: center;
        padding: 9px 7px;
        font-size: 9px;
    }

    .woocommerce-account
    .woocommerce-MyAccount-navigation
    a:hover {
        padding-left: 7px;
    }

    .woocommerce-account
    .woocommerce-MyAccount-navigation
    .is-active
    a:hover {
        padding-left: 7px;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100%;
    }

    .woocommerce-account .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .woocommerce-account .woocommerce {
        margin-top: 25px;
        margin-bottom: 50px;
        padding: 0 12px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        padding: 8px;
        border-radius: 12px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(2, 1fr);
    }

    .woocommerce-account .woocommerce-MyAccount-navigation a {
        min-height: 42px;
        font-size: 8px;
        letter-spacing: .05em;
    }

    .woocommerce-account .woocommerce-MyAccount-content h2 {
        font-size: 20px;
    }

    .woocommerce-account .woocommerce-EditAccountForm,
    .woocommerce-account form.login,
    .woocommerce-account form.register,
    .woocommerce-account .woocommerce-form-login,
    .woocommerce-account .woocommerce-form-register {
        padding: 20px 16px;
        border-radius: 12px;
    }

    /* Mobile table */

    .woocommerce-account .woocommerce-orders-table,
    .woocommerce-account .shop_table {
        border-radius: 12px;
    }

    .woocommerce-account table thead {
        display: none;
    }

    .woocommerce-account .woocommerce-orders-table,
    .woocommerce-account .woocommerce-orders-table tbody,
    .woocommerce-account .woocommerce-orders-table tr,
    .woocommerce-account .woocommerce-orders-table td {
        display: block;
        width: 100%;
    }

    .woocommerce-account .woocommerce-orders-table tr {
        padding: 14px;
        border-bottom: 1px solid #e5e7e3;
        box-sizing: border-box;
    }

    .woocommerce-account .woocommerce-orders-table tr:last-child {
        border-bottom: 0;
    }

    .woocommerce-account .woocommerce-orders-table td {
        border: 0;
        padding: 6px 0;
        text-align: left;
    }

    .woocommerce-account .woocommerce-orders-table td::before {
        content: attr(data-title);
        display: block;
        margin-bottom: 3px;
        color: #7a8177;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .woocommerce-account
    .woocommerce-orders-table__cell-order-actions {
        padding-top: 10px;
    }

    .woocommerce-account
    .woocommerce-orders-table__cell-order-actions
    a {
        margin: 3px 3px 3px 0;
    }

    /* Address */

    .woocommerce-account .woocommerce-Address {
        padding: 20px;
    }

    /* Coupon */

    .woocommerce-account .coupon {
        flex-direction: column;
    }

    .woocommerce-account .coupon input {
        max-width: none;
    }

    .woocommerce-account .coupon button {
        width: 100%;
    }
}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr 1fr;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation a {
        font-size: 7px;
        padding: 8px 4px;
    }

    .woocommerce-account
    .woocommerce-orders-table__cell-order-actions
    a {
        padding: 7px 13px;
        font-size: 8px;
    }
}

/* ---------------------------------------------------------------------
 * 9. Widgets — price filter, product search, layered nav, mini-cart
 * ------------------------------------------------------------------- */
.widget_price_filter .price_slider{margin-bottom:18px}
.widget_price_filter .ui-slider{height:4px;background:var(--line);border:none;border-radius:999px;position:relative}
.widget_price_filter .ui-slider .ui-slider-range{background:var(--ink);position:absolute;height:100%;border-radius:999px}
.widget_price_filter .ui-slider-handle{
	width:16px;height:16px;background:#fff;border:2px solid var(--ink);border-radius:50%;
	position:absolute;top:-6px;cursor:pointer;outline:none;
}
.widget_price_filter .price_slider_amount{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.widget_price_filter button.button{padding:8px 16px;font-size:10px}

.widget_product_search input[type="search"]{
	width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:999px;
	font-family:inherit;font-size:13px;box-sizing:border-box;
}

.woocommerce-widget-layered-nav ul,.widget_layered_nav_filters ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.woocommerce-widget-layered-nav li a,.widget_layered_nav_filters li a{font-size:13px;color:var(--mut)}
.woocommerce-widget-layered-nav li.chosen a{color:var(--ink);font-weight:600}

.widget_shopping_cart_content ul.cart_list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.widget_shopping_cart_content ul.cart_list li{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;font-size:13px}
.widget_shopping_cart_content ul.cart_list img{width:48px;height:48px;object-fit:contain;mix-blend-mode:multiply;border:1px solid var(--line);border-radius:6px}
.widget_shopping_cart_content .total{font-weight:700;margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.widget_shopping_cart_content .buttons{display:flex;gap:10px;margin-top:14px}
.widget_shopping_cart_content .buttons a{flex:1;text-align:center;font-size:10.5px;padding:12px}

/* ---------------------------------------------------------------------
 * 10. Small utility overrides
 * ------------------------------------------------------------------- */
.screen-reader-text{
	position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;
	overflow:hidden;white-space:nowrap;
}
.woocommerce-notices-wrapper:empty{display:none}


/* =====================================================
   PLUMB FORT - WOOCOMMERCE QUANTITY
   Responsive +/- Quantity Counter
   ===================================================== */

.quantity {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: fit-content;
    height: 48px;

    margin: 0;

    background: #fff;
    border: 1px solid #dcdcdc;
    border-radius: 10px;

    overflow: hidden;
    box-sizing: border-box;
}

/* ===============================
   PLUS / MINUS BUTTON
   =============================== */

.quantity .qty-minus,
.quantity .qty-plus {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    min-width: 44px;
    height: 46px;

    padding: 0;
    margin: 0;

    border: 0;
    background: transparent;

    color: #111;
    font-size: 21px;
    font-weight: 500;
    line-height: 1;

    cursor: pointer;

    transition:
        background-color .2s ease,
        color .2s ease;
}

.quantity .qty-minus:hover,
.quantity .qty-plus:hover {
    background: #f3f3f3;
}

.quantity .qty-minus:active,
.quantity .qty-plus:active {
    background: #e9e9e9;
}

/* ===============================
   NUMBER INPUT
   =============================== */

.quantity input.qty {
    width: 52px !important;
    min-width: 52px;
    height: 46px;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    outline: 0 !important;

    background: transparent !important;

    color: #111;
    text-align: center;

    font-size: 15px;
    font-weight: 600;

    box-shadow: none !important;
}

/* Remove Chrome/Safari arrows */

.quantity input.qty::-webkit-inner-spin-button,
.quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Remove Firefox arrows */

.quantity input.qty {
    -moz-appearance: textfield;
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 1024px) {

    .quantity {
        height: 46px;
        border-radius: 9px;
    }

    .quantity .qty-minus,
    .quantity .qty-plus {
        width: 42px;
        min-width: 42px;
        height: 44px;
        font-size: 20px;
    }

    .quantity input.qty {
        width: 50px !important;
        min-width: 50px;
        height: 44px;
        font-size: 15px;
    }
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 767px) {

    .quantity {
        height: 46px;
        border-radius: 9px;
    }

    .quantity .qty-minus,
    .quantity .qty-plus {
        width: 42px;
        min-width: 42px;
        height: 44px;

        font-size: 20px;
    }

    .quantity input.qty {
        width: 48px !important;
        min-width: 48px;
        height: 44px;

        font-size: 15px;
    }
}


/* =====================================================
   SMALL MOBILE
   ===================================================== */

@media (max-width: 480px) {

    .quantity {
        width: 100%;
        height: 46px;
    }

    .quantity .qty-minus,
    .quantity .qty-plus {
        flex: 1;
        width: auto;
        min-width: 40px;
        height: 44px;

        font-size: 20px;
    }

    .quantity input.qty {
        flex: 0 0 50px;

        width: 50px !important;
        min-width: 50px;
        height: 44px;

        font-size: 15px;
    }
}


/* =====================================================
   VERY SMALL MOBILE
   ===================================================== */

@media (max-width: 360px) {

    .quantity {
        height: 44px;
    }

    .quantity .qty-minus,
    .quantity .qty-plus {
        min-width: 38px;
        height: 42px;
        font-size: 19px;
    }

    .quantity input.qty {
        flex-basis: 46px;
        width: 46px !important;
        min-width: 46px;
        height: 42px;
    }
}


