/* wp-content/themes/mimgold/assets/css/shop-pages.css
   Cart, checkout, My Account, wishlist page. WooCommerce's own CSS stays loaded on these pages
   (forms, tables, notices); this file brings them into the theme's look and adds theme features
   (wallet, partner panel, card-to-card box, VPN note). */

.woocommerce-cart .entry,
.woocommerce-checkout .entry,
.woocommerce-account .entry,
.page-wishlist .entry { max-width: none; }

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
	min-height: 48px;
	padding: 0 24px;
	border-radius: var(--r-sm);
	background: var(--ink);
	color: #fff;
	font-family: var(--font);
	font-size: var(--fs-small);
	font-weight: 700;
	line-height: 48px;
	transition: background-color .3s var(--ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--green); color: #fff; }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { background: var(--ink); opacity: .45; padding: 0 24px; color: #fff; }

/* Inputs */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce .quantity .qty, .woocommerce-cart table.cart td.actions .coupon .input-text, .select2-container .select2-selection--single {
	min-height: 46px;
	padding: 8px 12px;
	border: 1px solid var(--line-strong);
	border-radius: var(--r-sm);
	background: #fff;
	font-family: var(--font);
	font-size: var(--fs-small);
}
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 28px; }
.woocommerce form .form-row label { font-size: var(--fs-small); color: var(--ink-2); }

/* ============================== Cart ============================== */
.woocommerce-cart .lock-note, .woocommerce-cart .tier { margin-block-end: 16px; }
.woocommerce table.shop_table { border: 0; border-radius: 0; border-collapse: collapse; font-size: var(--fs-small); }
.woocommerce table.shop_table th { font-weight: 400; color: var(--muted); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-top: 1px solid var(--line); padding: 14px 10px; }
.woocommerce-cart table.cart img { width: 72px; border-radius: var(--r-img); }
.woocommerce-cart table.cart .product-name a { color: var(--ink); }
.woocommerce td.product-name dl.variation { display: flex; flex-wrap: wrap; gap: 0 12px; margin-block-start: 4px; font-size: var(--fs-tiny); color: var(--muted); }
.woocommerce td.product-name dl.variation dt, .woocommerce td.product-name dl.variation dd { margin: 0; float: none; }
.woocommerce td.product-name dl.variation dd p { margin: 0; }
.woocommerce a.remove { color: var(--muted) !important; }
.woocommerce a.remove:hover { background: var(--danger-soft); color: var(--danger) !important; }
.cart-collaterals .cart_totals h2, .woocommerce-checkout h3 { font-size: var(--fs-h3); font-weight: 700; margin-block-end: 12px; }
.cart-weight td { color: var(--ink); }
.gift-qty { display: inline-block; min-width: 40px; text-align: center; }

/* ============================== Checkout ============================== */
.woocommerce-checkout .lock-note { margin-block-end: 14px; }
.woocommerce-checkout #payment { border-radius: var(--r); background: var(--canvas); }
.woocommerce-checkout #payment div.payment_box { background: #fff; color: var(--ink-2); font-size: var(--fs-small); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.vpn-note, .wallet-use {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-block-end: 14px;
	padding: 12px 14px;
	border-radius: var(--r);
	background: var(--canvas);
	font-size: var(--fs-small);
	color: var(--ink-2);
}
.vpn-note p { margin: 0; }
.vpn-note .ico { flex: none; color: var(--gold); margin-block-start: 3px; }
.vpn-note.is-alert { background: var(--danger-soft); color: var(--danger); }
.vpn-note.is-alert .ico { color: var(--danger); }
.wallet-use label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.wallet-use small { color: var(--muted); }

/* Card-to-card on the thank-you page */
.card-pay-box { margin-block: 24px; padding: 20px; border: 1px solid var(--line); border-radius: var(--r); }
.card-pay-box h2 { font-size: var(--fs-h3); font-weight: 700; margin-block-end: 12px; }
.card-pay { width: 100%; border-collapse: collapse; font-size: var(--fs-small); }
.card-pay th, .card-pay td { padding: 10px 0; border-bottom: 1px solid var(--line); text-align: start; }
.card-pay th { width: 40%; font-weight: 400; color: var(--muted); }
.card-pay td { font-size: 16px; letter-spacing: .02em; }
.card-pay-form { margin-block-start: 18px; display: grid; gap: 8px; font-size: var(--fs-small); }
.card-pay-form__row { display: flex; gap: 10px; }
.card-pay-form input { flex: 1; min-height: 48px; padding: 8px 12px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); }
.card-pay-done { margin-block-start: 14px; color: var(--green); }

/* ============================== My Account ============================== */
.woocommerce-account .woocommerce { display: grid; gap: 28px; }
@media (min-width: 1024px) {
	.woocommerce-account .woocommerce { grid-template-columns: 240px minmax(0, 1fr); gap: 56px; align-items: start; }
	.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
}
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 10px 14px;
	border-radius: var(--r);
	font-size: var(--fs-small);
	color: var(--ink-2);
	white-space: nowrap;
	transition: background-color .3s var(--ease), color .3s;
}
.woocommerce-MyAccount-navigation li a:hover { background: var(--canvas); color: var(--ink); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--ink); color: #fff; }
@media (min-width: 1024px) { .woocommerce-MyAccount-navigation ul { display: grid; gap: 2px; } }

/* Wishlist */
.wl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
@media (min-width: 768px) { .wl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; } }
@media (min-width: 1280px) { .page-wishlist .wl-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.wl-empty { display: grid; justify-items: center; gap: 14px; padding: 60px 20px; text-align: center; background: var(--canvas); border-radius: var(--r); color: var(--ink-2); }
.wl-empty .ico { color: var(--taupe); }

/* Wallet */
.wallet { display: grid; gap: 24px; }
.wallet__card { padding: 24px; border-radius: var(--r-lg); background: var(--green); color: #fff; }
.wallet__label { font-size: var(--fs-small); opacity: .8; }
.wallet__balance { font-size: 32px; line-height: 1.4; }
.wallet__balance small { font-size: var(--fs-small); opacity: .8; }
.wallet__hint { margin-block-start: 8px; font-size: var(--fs-tiny); opacity: .85; }
.wallet__log, .partner__table { width: 100%; border-collapse: collapse; font-size: var(--fs-small); }
.wallet__log th, .wallet__log td, .partner__table th, .partner__table td { padding: 12px 8px; border-bottom: 1px solid var(--line); text-align: start; }
.wallet__log th, .partner__table th { font-weight: 400; color: var(--muted); }
.wallet__log .is-in { color: var(--green); }
.wallet__log .is-out { color: var(--danger); }
.wallet__empty { color: var(--muted); }
.wallet__topup {display: grid; gap: 10px; margin-block: 24px; padding: 20px; border: 1px solid var(--line); }
.wallet__topup label { font-size: var(--fs-small); color: var(--ink); }
.wallet__topup-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.wallet__topup-row input { min-height: 48px; padding-inline: 14px; border: 1px solid var(--line-strong); background: #fff; font: inherit; }
.wallet__topup-row input:focus { outline: none; border-color: var(--ink); }
.wallet__presets { display: flex; flex-wrap: wrap; gap: 8px; }
.wallet__topup .wallet__hint { margin: 0; color: var(--muted); opacity: 1; }
.partner__intro { padding: 14px 16px; margin-block-end: 18px; border-radius: var(--r); background: var(--gold-soft); font-size: var(--fs-small); }

/* Account dashboard */
.acc-dash { display: grid; gap: 20px; }
.acc-dash__hello { font-size: var(--fs-h3); }
.acc-dash__cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 768px) { .acc-dash__cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.acc-card { display: grid; gap: 6px; padding: 18px; border: 1px solid var(--line); border-radius: var(--r); transition: border-color .3s var(--ease); }
.acc-card:hover { border-color: var(--ink); }
.acc-card .ico { color: var(--gold); }
.acc-card__title { font-size: var(--fs-small); color: var(--muted); }
.acc-card__value { font-size: 17px; color: var(--ink); }
.acc-dash__last { font-size: var(--fs-small); color: var(--ink-2); }

/* WooCommerce pages render inside page.php's .entry.prose: no underlined links, notices span the full grid. */
.entry .woocommerce a:not(.button):not(.btn) { text-decoration: none; }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
/* WooCommerce's clearfix pseudo-elements would take the first grid cell. */
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none; }
