/*
 * WooCommerce styling in the HLWGOODS design language.
 * WooCommerce's own stylesheets are disabled (see inc/woocommerce.php).
 */

/* ---------- Utilities ---------- */
.screen-reader-text {
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.hlw-hp {
  position:absolute!important;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.js .filters__apply,
.js .cart-update {
  display:none;
}

.is-loading {
  opacity:.55;
  pointer-events:none;
  transition:opacity .15s;
}

abbr.required,
abbr[title] {
  text-decoration:none;
  color:#bc291f;
  border:0;
}

.button {
  border-color:var(--ink);
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  text-align:center;
  line-height:1.2;
}

.button--dark,
.button.alt,
.single_add_to_cart_button,
.checkout-button,
#place_order {
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}

.button--dark:hover,
.button.alt:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
#place_order:hover {
  background:#41433a;
}

.button.disabled,
.button:disabled,
.single_add_to_cart_button.disabled {
  opacity:.5;
  cursor:not-allowed;
  transform:none;
}

.text-button {
  color:inherit;
  display:inline-flex;
  align-items:center;
}

/* ---------- Prices ---------- */
.price ins,
.amount ins {
  text-decoration:none;
  background:none;
}

.price del .amount {
  font-weight:400;
}

.product-card .price {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:0 6px;
}

.product-card .price del {
  margin-left:0;
}

/* ---------- Breadcrumb ---------- */
.breadcrumb a:hover {
  text-decoration:underline;
}

.product-page .breadcrumb {
  margin-bottom:28px;
}

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper:empty {
  display:none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.wc-block-components-notice-banner {
  list-style:none;
  border:1px solid #e9cf65;
  background:#fff8d7;
  border-radius:12px;
  padding:15px 18px;
  margin:0 0 22px;
  font-size:14px;
  line-height:1.6;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 20px;
}

.woocommerce-message {
  border-color:#b9d8ab;
  background:#e8f3e1;
}

.woocommerce-error {
  border-color:#efb1ab;
  background:#fdecea;
  flex-direction:column;
  align-items:flex-start;
}

.woocommerce-error li {
  margin:0;
}

.woocommerce-message .button,
.woocommerce-info .button {
  order:2;
  min-height:40px;
  padding:10px 16px;
}

.woocommerce-info a:not(.button),
.woocommerce-message a:not(.button) {
  text-decoration:underline;
}

.notice--success {
  border-color:#b9d8ab;
  background:#e8f3e1;
}

.notice--error {
  border-color:#efb1ab;
  background:#fdecea;
}

.woocommerce-store-notice,
p.demo_store {
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:90;
  margin:0;
  padding:12px 20px;
  background:var(--ink);
  color:#fff;
  font-size:13px;
  text-align:center;
}

.woocommerce-store-notice a {
  color:var(--yellow);
  margin-left:10px;
}

/* ---------- Star ratings ---------- */
.star-rating {
  position:relative;
  display:inline-block;
  overflow:hidden;
  width:5.6em;
  height:1.1em;
  font-size:13px;
  line-height:1.1;
  letter-spacing:.12em;
  vertical-align:middle;
  font-family:Arial,sans-serif;
}

.star-rating::before {
  content:'★★★★★';
  color:#d8d5c4;
  position:absolute;
  top:0;
  left:0;
}

.star-rating span {
  position:absolute;
  top:0;
  left:0;
  overflow:hidden;
  height:100%;
  padding-top:1.5em;
}

.star-rating span::before {
  content:'★★★★★';
  color:#e0a800;
  position:absolute;
  top:0;
  left:0;
}

.woocommerce-product-rating {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  margin:-4px 0 14px;
}

.woocommerce-review-link {
  color:var(--muted);
  text-decoration:underline;
}

.product-card__rating {
  display:flex;
  align-items:center;
  gap:6px;
  margin:-4px 0 10px;
  font-size:12px;
  color:var(--muted);
}

/* ---------- Product cards ---------- */
.product-card__add,
.product-card__wish {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.product-card__add {
  color:var(--ink);
}

a.product-card__add[href]:not([data-add]) {
  font-size:18px;
}

.product-card__wish {
  color:var(--ink);
}

.product-card__badge--soldout {
  background:#e7e5da;
}

.product-card h3 a:hover {
  text-decoration:underline;
}

.product-grid.products {
  margin:0;
  padding:0;
}

/* ---------- Pagination ---------- */
.woocommerce-pagination {
  margin-top:45px;
}

.woocommerce-pagination ul.page-numbers {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  list-style:none;
  padding:0;
  margin:0;
}

.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  font-size:14px;
  font-weight:700;
}

.woocommerce-pagination .page-numbers .current {
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}

.woocommerce-pagination .page-numbers a:hover {
  background:var(--yellow);
  border-color:var(--yellow);
}

/* ---------- Catalog toolbar ---------- */
.catalog__toolbar .woocommerce-result-count {
  margin:0;
}

.filters__form label.checkbox {
  margin-top:18px;
}

.filters .text-button {
  display:inline-flex;
}

/* ---------- Single product ---------- */
.product-gallery__main img {
  width:100%;
}

.gallery-thumbs {
  flex-wrap:wrap;
}

.gallery-thumbs button {
  padding:4px;
  cursor:pointer;
  background:#f4f0e7;
}

.gallery-thumbs .product-art {
  aspect-ratio:1;
  mix-blend-mode:multiply;
  border-radius:6px;
}

.product-info .eyebrow {
  display:inline-block;
  margin-bottom:0;
}

.product-info .eyebrow:hover {
  text-decoration:underline;
}

.product-info .product_title {
  font-size:40px;
  margin:16px 0;
}

.product-info .woocommerce-product-details__short-description {
  color:var(--muted);
  font-size:15px;
}

.product-info .woocommerce-product-details__short-description p:last-child {
  margin-bottom:0;
}

.product-info > .price {
  display:block;
}

.product-info .price del {
  margin-left:8px;
}

.product-info .stock,
.woocommerce-variation-availability .stock {
  font-size:12px;
  color:#36662c;
  margin:0 0 10px;
}

.product-info .stock.out-of-stock,
.woocommerce-variation-availability .out-of-stock {
  color:#bc291f;
  font-weight:700;
}

.product-info form.cart {
  margin:22px 0 12px;
}

.product-info form.cart:not(.variations_form),
.product-info .woocommerce-variation-add-to-cart {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.product-info form.cart .single_add_to_cart_button {
  flex:1;
  min-width:180px;
}

.product-info table.variations {
  width:100%;
  border-collapse:collapse;
  margin-bottom:10px;
}

.product-info table.variations tr {
  display:block;
  margin-bottom:12px;
}

.product-info table.variations th,
.product-info table.variations td {
  display:block;
  padding:0;
  text-align:left;
}

.product-info table.variations label {
  margin:0 0 7px;
  font-size:14px;
}

.product-info .reset_variations {
  display:inline-block;
  margin-top:8px;
  font-size:12px;
  text-decoration:underline;
}

.product-info .single_variation_wrap .woocommerce-variation {
  margin-bottom:6px;
}

.product-info .woocommerce-variation-price .price {
  font-size:22px;
  margin:6px 0;
}

.product-info .woocommerce-variation-description p {
  margin:0 0 6px;
  color:var(--muted);
  font-size:14px;
}

.product-info .wishlist-action {
  margin:6px 0 0;
}

/* Quantity steppers (template .quantity look) */
.quantity {
  display:inline-flex;
  align-items:center;
  border:1px solid #c7c8bc;
  border-radius:9px;
  overflow:hidden;
  background:#fff;
  flex-shrink:0;
  min-height:48px;
}

.quantity input.qty {
  width:48px;
  min-height:46px;
  height:46px;
  padding:0;
  border:0;
  border-radius:0;
  text-align:center;
  appearance:textfield;
  -moz-appearance:textfield;
}

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

.quantity .qty-step {
  width:40px;
  min-width:44px;
  height:46px;
  border:0;
  background:transparent;
  font-size:20px;
}

.quantity .qty-step:hover,
.quantity button:hover:not(:disabled) {
  background:#f4f3ea;
}

.quantity--drawer {
  min-height:0;
}

/* Details accordions (tabs) */
.product-details {
  margin-top:26px;
}

.product-details details {
  border-top:1px solid var(--line);
  padding:18px 0;
  font-size:14px;
}

.product-details details:last-child {
  border-bottom:1px solid var(--line);
}

.product-details summary {
  cursor:pointer;
  font-weight:700;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:20px;
}

.product-details summary::-webkit-details-marker {
  display:none;
}

.product-details summary::after {
  content:'+';
  font-weight:400;
  font-size:20px;
  line-height:1;
  transition:transform .2s;
}

.product-details details[open] summary::after {
  transform:rotate(45deg);
}

.product-details__body {
  color:var(--muted);
  margin-top:12px;
}

.product-details__body p {
  margin:0 0 12px;
}

.product-details__body ul {
  padding-left:20px;
  margin:0 0 12px;
}

.product_meta {
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:13px;
  padding-top:6px;
}

.product_meta a {
  text-decoration:underline;
}

.woocommerce-product-attributes {
  width:100%;
  border-collapse:collapse;
}

.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
  text-align:left;
  padding:9px 0;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}

.woocommerce-product-attributes th {
  width:38%;
  color:var(--ink);
  font-weight:700;
}

.woocommerce-product-attributes td p {
  margin:0;
}

/* Reviews */
#reviews .woocommerce-Reviews-title {
  font-size:17px;
  letter-spacing:-.01em;
  color:var(--ink);
  margin:0 0 14px;
}

#reviews .commentlist {
  list-style:none;
  padding:0;
  margin:0 0 24px;
}

#reviews .commentlist li {
  padding:14px 0;
  border-bottom:1px solid var(--line);
}

#reviews .commentlist img.avatar {
  display:none;
}

#reviews .comment-text .star-rating {
  float:right;
}

#reviews .meta {
  font-size:12px;
  margin:0 0 6px;
}

#reviews .meta strong {
  color:var(--ink);
}

#reviews .description p {
  margin:0;
  color:var(--ink);
}

#review_form_wrapper {
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px;
}

#reply-title {
  display:block;
  font-weight:800;
  color:var(--ink);
  font-size:16px;
}

.comment-form-rating label,
.comment-form label {
  font-size:13px;
  margin:12px 0 6px;
}

p.stars {
  margin:0;
}

p.stars span {
  display:inline-flex;
  gap:4px;
}

p.stars a {
  position:relative;
  width:30px;
  height:30px;
  display:inline-block;
  text-indent:-999em;
  overflow:hidden;
}

p.stars a::before {
  content:'☆';
  position:absolute;
  inset:0;
  text-indent:0;
  font-size:24px;
  line-height:30px;
  text-align:center;
  color:#b8b59e;
}

p.stars:hover a::before,
p.stars.selected a::before {
  content:'★';
  color:#e0a800;
}

p.stars:hover a:hover ~ a::before,
p.stars.selected a.active ~ a::before {
  content:'☆';
  color:#b8b59e;
}

.comment-form .form-submit input[type=submit],
.comment-form .form-submit .submit {
  background:var(--ink);
  color:#fff;
  border:0;
  border-radius:10px;
  font-weight:750;
  cursor:pointer;
  width:auto;
  padding:13px 22px;
  margin-top:14px;
}

.comment-form-cookies-consent {
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:12px;
}

.comment-form-cookies-consent label {
  margin:0;
  font-weight:400;
}

/* Related, upsells, cross-sells */
.product-more > section,
.cross-sells {
  padding-top:65px;
}

.product-more > section > h2,
.cross-sells > h2 {
  margin-bottom:28px;
}

/* ---------- Drawer ---------- */
.cart-drawer .empty-state {
  margin-top:25px;
}

.cart-drawer .summary {
  margin-top:22px;
}

.cart-drawer .summary .button {
  margin-top:10px;
}

.summary--drawer small {
  margin:6px 0 0;
}

.cart-line .variation,
.cart-line dl.variation {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2px 6px;
  font-size:12px;
  color:var(--muted);
  margin:0 0 8px;
}

.cart-line dl.variation dt,
.cart-line dl.variation dd {
  margin:0;
}

.cart-line dl.variation dd p {
  margin:0;
}

.cart-line .quantity button {
  width:35px;
  height:42px;
  border:0;
  background:transparent;
  font-size:20px;
}

.cart-line .quantity input {
  width:43px;
  min-height:42px;
  height:42px;
}

.cart-line h3 a:hover {
  text-decoration:underline;
}

/* ---------- Cart page ---------- */
.woocommerce-cart .page-content > .woocommerce,
.woocommerce-checkout .page-content > .woocommerce,
.woocommerce-account .page-content > .woocommerce {
  padding-bottom:70px;
}

.cart-layout {
  padding-bottom:0;
}

.cart-lines .cart-line:first-child {
  padding-top:0;
}

.cart-line__body strong {
  display:block;
}

.cart-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-end;
  gap:15px;
  padding-top:22px;
}

.cart-actions .coupon {
  flex:1 1 280px;
  max-width:420px;
}

.cart-actions .coupon label {
  margin-top:0;
  font-size:14px;
}

.coupon__field {
  display:flex;
  gap:8px;
}

.coupon__field .button {
  flex-shrink:0;
}

.coupon-error-notice {
  color:#bc291f;
  font-size:13px;
  margin:6px 0 0;
}

.summary__table {
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}

.summary__table th,
.summary__table td {
  padding:9px 0;
  text-align:left;
  font-weight:400;
  vertical-align:top;
}

.summary__table td {
  text-align:right;
}

.summary__table .order-total th,
.summary__table .order-total td {
  font-size:20px;
  font-weight:800;
  padding-top:20px;
  border-top:1px solid #d8d9ca;
}

.summary__table .order-total small {
  display:block;
  font-size:12px;
  font-weight:400;
}

.woocommerce-shipping-methods {
  list-style:none;
  margin:0;
  padding:0;
}

.woocommerce-shipping-methods li {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
}

.woocommerce-shipping-methods label {
  margin:0;
  font-weight:400;
}

.woocommerce-shipping-destination,
.woocommerce-shipping-contents {
  font-size:12px;
  color:var(--muted);
  margin:6px 0;
}

.shipping-calculator-button {
  font-size:12px;
  text-decoration:underline;
}

.shipping-calculator-form {
  text-align:left;
  margin-top:10px;
}

.shipping-calculator-form p {
  margin:0 0 8px;
}

.shipping-calculator-form .button {
  margin-top:4px;
}

.woocommerce-remove-coupon {
  font-size:12px;
  text-decoration:underline;
  margin-left:4px;
}

.wc-proceed-to-checkout {
  display:flex;
  flex-direction:column;
  gap:10px;
}

.wc-proceed-to-checkout .checkout-button {
  width:100%;
  display:flex;
}

/* ---------- Forms (checkout, account, tracking) ---------- */
.form-row {
  margin:0 0 14px;
}

.form-row label {
  font-size:14px;
  margin:0 0 7px;
}

.form-row .optional {
  color:var(--muted);
  font-weight:400;
  font-size:12px;
}

.form-row .woocommerce-input-wrapper {
  display:block;
}

.form-row.woocommerce-invalid input.input-text,
.form-row.woocommerce-invalid select {
  border-color:#bc291f;
}

.checkout-inline-error-message,
.woocommerce-error-message {
  color:#bc291f;
  font-size:12px;
  margin:6px 0 0;
}

.woocommerce-form__label-for-checkbox,
.woocommerce-form__label.checkbox,
label.checkbox {
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:400;
  font-size:14px;
}

.password-input {
  position:relative;
  display:block;
}

.show-password-input {
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  width:40px;
  height:40px;
  font-size:0;
}

.show-password-input::after {
  content:'👁';
  font-size:16px;
}

.woocommerce-password-strength {
  font-size:12px;
  margin-top:6px;
}

.woocommerce-password-hint {
  display:block;
  font-size:12px;
  color:var(--muted);
}

/* ---------- Checkout ---------- */
.checkout-layout {
  padding-bottom:0;
}

.checkout-form h3,
.hlw-checkout-heading,
#ship-to-different-address {
  font-size:22px;
  letter-spacing:-.03em;
  margin:28px 0 18px;
}

.checkout-section--billing h3:first-child {
  margin-top:0;
}

#ship-to-different-address label {
  margin:0;
  font-size:inherit;
  font-weight:800;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-address-fields__field-wrapper {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 18px;
}

.woocommerce-billing-fields__field-wrapper > .form-row,
.woocommerce-shipping-fields__field-wrapper > .form-row,
.woocommerce-address-fields__field-wrapper > .form-row {
  grid-column:1 / -1;
}

.woocommerce-billing-fields__field-wrapper > .form-row-first,
.woocommerce-shipping-fields__field-wrapper > .form-row-first,
.woocommerce-address-fields__field-wrapper > .form-row-first {
  grid-column:1;
}

.woocommerce-billing-fields__field-wrapper > .form-row-last,
.woocommerce-shipping-fields__field-wrapper > .form-row-last,
.woocommerce-address-fields__field-wrapper > .form-row-last {
  grid-column:2;
}

#billing_country_field strong,
#shipping_country_field strong {
  display:block;
  padding:12px 14px;
  background:#f6f5ee;
  border-radius:10px;
  font-weight:600;
}

.woocommerce-additional-fields h3 {
  font-size:17px;
}

.woocommerce-account-fields {
  margin-top:6px;
}

.checkout-summary h2 {
  font-size:23px;
  margin:0 0 20px;
}

.woocommerce-checkout-review-order-table {
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding:10px 0;
  text-align:left;
  vertical-align:top;
  font-weight:400;
}

.woocommerce-checkout-review-order-table td:last-child,
.woocommerce-checkout-review-order-table tfoot td {
  text-align:right;
}

.woocommerce-checkout-review-order-table thead {
  display:none;
}

.woocommerce-checkout-review-order-table tbody tr {
  border-bottom:1px solid #dddcce;
}

.woocommerce-checkout-review-order-table .product-quantity {
  font-weight:700;
}

.woocommerce-checkout-review-order-table .variation {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:0 6px;
  margin:4px 0 0;
  font-size:12px;
  color:var(--muted);
}

.woocommerce-checkout-review-order-table .variation dd,
.woocommerce-checkout-review-order-table .variation p {
  margin:0;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  font-size:20px;
  font-weight:800;
  border-top:1px solid #d8d9ca;
  padding-top:18px;
}

.woocommerce-checkout-review-order-table .hlw-shipping-note td {
  padding:0;
  text-align:left;
}

#payment {
  background:transparent;
}

#payment .payment_methods {
  list-style:none;
  padding:0;
  margin:0 0 20px;
  display:grid;
  gap:10px;
}

#payment .payment_methods > li {
  border:1px solid var(--line);
  border-radius:10px;
  padding:14px;
}

#payment .payment_methods > li > label {
  display:inline;
  margin:0 0 0 8px;
}

#payment .payment_methods > li > label img {
  display:inline;
  max-height:22px;
  vertical-align:middle;
}

#payment .payment_box {
  margin-top:10px;
  padding:12px 14px;
  background:#fff8d7;
  border-radius:9px;
  font-size:13px;
}

#payment .payment_box p:last-child {
  margin-bottom:0;
}

#payment .place-order {
  margin:0;
}

#place_order {
  width:100%;
  margin-top:14px;
}

.woocommerce-terms-and-conditions-wrapper {
  font-size:13px;
}

.woocommerce-privacy-policy-text p {
  font-size:12px;
  color:var(--muted);
}

.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-link {
  text-decoration:underline;
}

.woocommerce-terms-and-conditions {
  max-height:220px;
  overflow:auto;
  font-size:13px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  margin-bottom:10px;
}

.checkout_coupon,
.woocommerce-form-login {
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:20px;
  margin-bottom:22px;
}

.checkout_coupon {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:flex-end;
}

.checkout_coupon > p:first-child {
  flex-basis:100%;
  margin:0;
  font-size:14px;
}

.checkout_coupon .form-row {
  margin:0;
}

.checkout_coupon .form-row-first {
  flex:1 1 200px;
}

.checkout_coupon .clear {
  display:none;
}

/* Thank-you page */
.woocommerce-order {
  max-width:900px;
}

.woocommerce-thankyou-order-received {
  background:var(--mint);
  border-radius:20px;
  padding:34px;
  font-size:24px;
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.25;
}

.woocommerce-thankyou-order-received::before {
  content:'☺';
  display:block;
  font-size:44px;
  margin-bottom:8px;
}

ul.order_details,
.woocommerce-order-overview {
  list-style:none;
  padding:0;
  margin:24px 0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:12px;
}

ul.order_details li {
  background:#f1f1e6;
  border-radius:12px;
  padding:14px 16px;
  font-size:12px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.06em;
}

ul.order_details li strong {
  display:block;
  margin-top:4px;
  color:var(--ink);
  font-size:15px;
  text-transform:none;
  letter-spacing:0;
}

.woocommerce-order-details,
.woocommerce-customer-details,
.woocommerce-bacs-bank-details {
  margin-top:34px;
}

.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-customer-details h2 {
  font-size:24px;
}

.woocommerce-table--order-details,
.woocommerce-orders-table,
.woocommerce-table {
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
}

.woocommerce-table th,
.woocommerce-table td,
.woocommerce-orders-table th,
.woocommerce-orders-table td {
  text-align:left;
  padding:13px 16px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}

.woocommerce-table tfoot th {
  font-weight:600;
}

.woocommerce-table .wc-item-meta {
  list-style:none;
  padding:0;
  margin:4px 0 0;
  font-size:12px;
  color:var(--muted);
}

.woocommerce-table .wc-item-meta p {
  display:inline;
  margin:0;
}

.woocommerce-customer-details address {
  font-style:normal;
  line-height:1.8;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px 20px;
}

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
  margin:4px 0 0;
}

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

/* ---------- My account ---------- */
.woocommerce-account .page-content > .woocommerce {
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:40px;
  align-items:start;
}

.woocommerce-account .page-content > .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-account .page-content > .woocommerce > #customer_login,
.woocommerce-account .page-content > .woocommerce > .woocommerce-form-login,
.woocommerce-account .page-content > .woocommerce > .woocommerce-ResetPassword,
.woocommerce-account .page-content > .woocommerce > h2 {
  grid-column:1 / -1;
}

.woocommerce-MyAccount-navigation ul {
  list-style:none;
  margin:0;
  padding:10px;
  background:#f1f1e6;
  border-radius:18px;
}

.woocommerce-MyAccount-navigation a {
  display:block;
  padding:11px 14px;
  border-radius:10px;
  font-size:14px;
  font-weight:650;
}

.woocommerce-MyAccount-navigation a:hover {
  background:#e6e6d8;
}

.woocommerce-MyAccount-navigation .is-active a {
  background:var(--ink);
  color:#fff;
}

.woocommerce-MyAccount-content {
  min-width:0;
}

.woocommerce-MyAccount-content > p:first-of-type {
  font-size:16px;
}

.woocommerce-MyAccount-content a:not(.button) {
  text-decoration:underline;
}

.woocommerce-orders-table .button,
.woocommerce-MyAccount-content .button {
  min-height:40px;
  padding:9px 14px;
  margin:2px 4px 2px 0;
}

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

.woocommerce-Address {
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px;
}

.woocommerce-Address-title {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:10px;
}

.woocommerce-Address-title h2 {
  font-size:20px;
}

.woocommerce-Address address {
  font-style:normal;
  line-height:1.8;
  color:var(--muted);
}

.woocommerce-EditAccountForm,
.woocommerce-address-fields,
.woocommerce-MyAccount-content form.edit-account {
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:26px;
}

.woocommerce-EditAccountForm fieldset {
  border:1px solid var(--line);
  border-radius:12px;
  padding:16px;
  margin:18px 0;
}

.woocommerce-EditAccountForm legend {
  font-weight:800;
  padding:0 6px;
}

.woocommerce-EditAccountForm .form-row-first,
.woocommerce-EditAccountForm .form-row-last {
  display:inline-block;
  width:calc(50% - 10px);
  vertical-align:top;
}

.woocommerce-EditAccountForm .form-row-first {
  margin-right:16px;
}

#customer_login {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px;
}

#customer_login > div {
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:28px;
}

#customer_login h2 {
  font-size:26px;
}

#customer_login .woocommerce-form-login,
#customer_login .woocommerce-form-register {
  border:0;
  padding:0;
  margin:0;
  background:none;
}

.woocommerce-form-login__submit,
.woocommerce-form-register__submit,
.woocommerce-ResetPassword .button,
.woocommerce-EditAccountForm .button,
.woocommerce-address-fields .button {
  background:var(--ink);
  color:#fff;
  margin-top:10px;
}

.woocommerce-LostPassword {
  font-size:13px;
}

.woocommerce-LostPassword a {
  text-decoration:underline;
}

.woocommerce-ResetPassword {
  max-width:560px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:26px;
}

/* ---------- Order tracking ---------- */
.tracking {
  max-width:760px;
}

.tracking .form-grid .form-row {
  margin:0;
}

.tracking-result {
  margin-top:10px;
}

.tracking__steps {
  list-style:none;
  padding:0;
  margin:0 0 30px;
}

.tracking__step.is-pending {
  border-color:var(--line);
  color:var(--muted);
}

.tracking-result .notes {
  list-style:none;
  padding:0;
}

.tracking-result .note {
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px 16px;
  margin-bottom:10px;
}

.tracking-result .note .meta {
  font-size:12px;
  color:var(--muted);
  margin:0 0 4px;
}

.tracking-result .note p {
  margin:0;
}

.order-info mark {
  background:none;
  font-weight:800;
}

.page-content .woocommerce > .tracking,
.page-content .woocommerce > .woocommerce-order-details,
.page-content .woocommerce > .woocommerce-customer-details {
  max-width:760px;
}

/* blockUI overlay used by WooCommerce AJAX */
.blockUI.blockOverlay {
  background:rgba(255,253,245,.6)!important;
}

/* Department cards: fill the art area so the multiply blend reads as one tinted panel. */
.category-card .product-art {
  object-fit:cover;
  border-radius:12px;
}

/* Main product image fills the gallery panel. */
.product-gallery__main .product-art {
  object-fit:cover;
}

.product-details__body h3 {
  font-size:15px;
  letter-spacing:-.01em;
  color:var(--ink);
  margin:16px 0 8px;
}

/* Equal-height cards: price row sits on the bottom edge. */
.product-card {
  display:flex;
  flex-direction:column;
}

.product-card__bottom {
  margin-top:auto;
}

.product-info > p.price {
  color:var(--ink);
  font-size:28px;
}

/* Product grid column choice (Elementor "Product grid" widget); tablet/phone keep the responsive grid. */
@media (min-width: 1101px) {
  .product-grid.columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-grid.columns-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
