/* ==========================================================================
   Thab Wear — WooCommerce markup in the prototype's look (loads AFTER proto.css)
   The bag, checkout, order-received and account templates (theme /woocommerce)
   already use the prototype's classes; these rules cover what WooCommerce still
   prints itself: notices, its form rows, selects, checkboxes, terms, tables.
   WooCommerce's own stylesheets are not loaded (Thab_Woo).
   ========================================================================== */

/* small additions the prototype didn't need */
:root body.thab.thab .avatar svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
:root body.thab.thab .pages { display: flex; gap: 8px; margin-top: 40px; }
:root body.thab.thab .pages a { display: grid; place-items: center; min-width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); font-size: 13px; font-weight: 600; }
:root body.thab.thab .pages a.is-current, :root body.thab.thab .pages a:hover { background: var(--charcoal); color: var(--ivory); border-color: var(--charcoal); }
:root body.thab.thab .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:root body.thab.thab .price del .woocommerce-Price-amount { color: var(--muted); }
:root body.thab.thab .size-chart { display: grid; gap: 12px; }
:root body.thab.thab .size-chart .size-note { margin-top: 0; }
:root body.thab.thab .shop[data-shop] { transition: opacity .25s; }
:root body.thab.thab .muted a { color: var(--ink); }

/* ---------- notices ---------- */
:root body.thab.thab .woocommerce-notices-wrapper:empty { display: none; }
:root body.thab.thab .woocommerce-message, :root body.thab.thab .woocommerce-info, :root body.thab.thab .woocommerce-error,
:root body.thab.thab .woocommerce-notice {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
	list-style: none; margin: 0 0 20px; padding: 18px 22px; border-radius: var(--r-md);
	background: #fff; border: 1px solid var(--line); font-size: 14px; color: var(--ink);
}
:root body.thab.thab .woocommerce-message { border-color: rgba(47, 53, 43, .35); }
:root body.thab.thab .woocommerce-error { border-color: rgba(138, 46, 31, .4); color: #8A2E1F; display: grid; gap: 4px; }
:root body.thab.thab .woocommerce-message .button, :root body.thab.thab .woocommerce-info .button {
	order: 2; display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; border-radius: var(--r-pill);
	border: 1px solid var(--charcoal); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
}
:root body.thab.thab .woocommerce-message .button:hover, :root body.thab.thab .woocommerce-info .button:hover { background: var(--charcoal); color: var(--ivory); }
:root body.thab.thab .woocommerce-form-coupon-toggle .woocommerce-info a, :root body.thab.thab .showlogin { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- WooCommerce form rows inside the prototype's cards ---------- */
:root body.thab.thab .co-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
:root body.thab.thab .co-fields > .form-row, :root body.thab.thab .co-fields > p { grid-column: 1 / -1; margin: 0; }
:root body.thab.thab .co-fields > .form-row-first { grid-column: 1; }
:root body.thab.thab .co-fields > .form-row-last { grid-column: 2; }
:root body.thab.thab .form-row.hidden, :root body.thab.thab .co-fields > [style*="display: none"] { display: none !important; }
:root body.thab.thab .float input::placeholder, :root body.thab.thab .float textarea::placeholder { color: transparent; }
:root body.thab.thab .float label .optional { font-size: 12px; opacity: .7; }
:root body.thab.thab .float label abbr, :root body.thab.thab .form-row label abbr.required { display: none; }
:root body.thab.thab .float .description { display: block; margin-top: 6px; font-size: 12px; color: var(--muted); }
:root body.thab.thab .form-row.woocommerce-invalid input, :root body.thab.thab .form-row.woocommerce-invalid textarea,
:root body.thab.thab .form-row.woocommerce-invalid select { border-color: #8A2E1F; }
/* selects and other rows WooCommerce prints with label first */
:root body.thab.thab .form-row:not(.float) > label:not(.checkbox):not(.woocommerce-form__label) {
	display: block; margin-bottom: 8px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
}
:root body.thab.thab .form-row select, :root body.thab.thab .form-row .select2-selection--single {
	width: 100%; height: 56px; padding: 0 42px 0 18px; border: 1px solid var(--line); border-radius: var(--r-sm); background-color: var(--paper);
	font-size: 15px; appearance: none; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B0B0B' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 16px center; background-size: 16px;
}
:root body.thab.thab .select2-container { width: 100% !important; }
:root body.thab.thab .select2-container .select2-selection--single .select2-selection__rendered { line-height: 54px; padding: 0; color: var(--ink); }
:root body.thab.thab .select2-container .select2-selection__arrow { display: none; }
.select2-dropdown { border-color: var(--line, #DCD2C2) !important; border-radius: 12px !important; overflow: hidden; font-family: var(--font); }
.select2-results__option--highlighted { background: var(--charcoal, #0B0B0B) !important; }
:root body.thab.thab .form-row strong { font-weight: 500; }
:root body.thab.thab label.checkbox, :root body.thab.thab .woocommerce-form__label-for-checkbox, :root body.thab.thab .check {
	display: inline-flex; align-items: center; gap: 10px; font-size: 14px; cursor: pointer;
}
:root body.thab.thab input[type=checkbox] { width: 18px; height: 18px; accent-color: var(--olive); }
:root body.thab.thab .woocommerce-shipping-fields, :root body.thab.thab .woocommerce-additional-fields { display: grid; gap: 14px; }
:root body.thab.thab #ship-to-different-address { font-size: 14px; font-weight: 500; }

/* ---------- checkout ---------- */
:root body.thab.thab .checkout__form > .woocommerce-billing-fields { display: grid; gap: 16px; }
:root body.thab.thab .co-block .pay-opts { margin: 0; }
:root body.thab.thab .wc_payment_method .payment_box { margin-top: 10px; padding: 16px 18px; border-radius: var(--r-sm); background: var(--paper); font-size: 14px; color: var(--muted); }
:root body.thab.thab .pay-opt img { max-height: 24px; width: auto; margin-left: auto; }
:root body.thab.thab .co-place { margin-top: 16px; }
:root body.thab.thab .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--muted); }
:root body.thab.thab .woocommerce-privacy-policy-text p { margin: 0; }
:root body.thab.thab .woocommerce-terms-and-conditions-wrapper a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
:root body.thab.thab .summary dd .woocommerce-remove-coupon { margin-left: 6px; font-size: 12px; color: var(--muted); text-decoration: underline; }
:root body.thab.thab .summary #order_review_heading { margin: 0; }
:root body.thab.thab .summary .sum-lines { margin-bottom: 4px; }
:root body.thab.thab form.checkout.processing, :root body.thab.thab .blockUI.blockOverlay { cursor: progress; }
:root body.thab.thab .blockUI.blockOverlay { background: rgba(244, 239, 230, .6) !important; }
:root body.thab.thab .woocommerce-form-coupon, :root body.thab.thab .woocommerce-form-login.login:not(.acc-card) {
	display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin: 0 0 20px; padding: 20px 22px; border-radius: var(--r-md); background: #fff; border: 1px solid var(--line);
}
:root body.thab.thab .woocommerce-form-coupon p { margin: 0; }
:root body.thab.thab .woocommerce-form-coupon input { height: 44px; padding: 0 16px; border: 1px solid var(--line); border-radius: var(--r-pill); background: var(--paper); }
:root body.thab.thab .woocommerce-form-coupon .button { min-height: 44px; padding: 0 20px; border-radius: var(--r-pill); border: 1px solid var(--charcoal); background: none; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }

/* ---------- bag page ---------- */
:root body.thab.thab .bag-line .qty input { width: 40px; border: 0; background: none; text-align: center; font-size: 14px; -moz-appearance: textfield; }
:root body.thab.thab .bag-line .qty input::-webkit-inner-spin-button { -webkit-appearance: none; }
:root body.thab.thab .summary .coupon .btn { flex: none; }

/* ---------- account ---------- */
:root body.thab.thab .acc-grid--single { grid-template-columns: minmax(0, 520px); }
:root body.thab.thab .acc-form h3 { font-size: 20px; font-weight: 400; letter-spacing: -.01em; }
:root body.thab.thab .acc-form .form-row { margin: 0; }
:root body.thab.thab .acc-panel > .woocommerce-notices-wrapper { margin: 0; }
:root body.thab.thab .order__side .btn { margin-top: 4px; }
:root body.thab.thab .acc-panel table.shop_table, :root body.thab.thab .acc-panel table.woocommerce-table {
	width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; font-size: 14px;
}
:root body.thab.thab .acc-panel table th, :root body.thab.thab .acc-panel table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--line); }
:root body.thab.thab .acc-panel table tr:last-child > * { border-bottom: 0; }
:root body.thab.thab .acc-panel table thead th { background: var(--card); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
:root body.thab.thab .acc-panel h2.woocommerce-order-details__title, :root body.thab.thab .acc-panel h2.woocommerce-column__title { font-size: 22px; font-weight: 400; margin: 8px 0 12px; }
:root body.thab.thab .acc-panel address { font-style: normal; color: var(--muted); line-height: 1.75; padding: 20px 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-md); }
:root body.thab.thab .acc-panel mark { background: none; color: var(--ink); font-weight: 600; }
:root body.thab.thab .woocommerce-ResetPassword, :root body.thab.thab .woocommerce-ResetPassword p { display: grid; gap: 14px; max-width: 520px; }
:root body.thab.thab .woocommerce-ResetPassword input.input-text { width: 100%; padding: 14px 18px; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--paper); font-size: 15px; }

@media (max-width: 640px) {
	:root body.thab.thab .co-fields { grid-template-columns: 1fr; }
	:root body.thab.thab .co-fields > .form-row-first, :root body.thab.thab .co-fields > .form-row-last { grid-column: 1 / -1; }
}
:root body.thab.thab.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:not(:empty) { max-width: var(--max); margin: 20px auto 0; padding: 0 var(--gutter); }
