/* =========================================================
   LuKnox Farms — WooCommerce reskin
   Targets WooCommerce's own markup/classes directly, so core
   WooCommerce template updates keep working without edits here.
   Loaded only on shop/cart/checkout/account pages (functions.php).
   ========================================================= */

.woocommerce-breadcrumb, .woocommerce-products-header, .woocommerce-result-count {
  display: none;
}

.woocommerce nav.woocommerce-pagination ul{
  display:flex;
  gap:8px;
  justify-content:center;
  margin-top:50px;
  border: 0;
}
.woocommerce nav.woocommerce-pagination ul li a, 
.woocommerce nav.woocommerce-pagination ul li span {
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.85rem;
  font-weight:600;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background:var(--forest-dark);
  color:var(--cream);
  border-color:var(--forest-dark);
}
.woocommerce .woocommerce-pagination ul.page-numbers li, .woocommerce-page .woocommerce-pagination ul.page-numbers li {
  display: flex;
  border: none;
}

.wc-block-components-address-card,
.wc-block-components-checkbox label,
.wc-block-components-radio-control__description, 
.wc-block-components-radio-control__label, 
.wc-block-components-radio-control__secondary-description, 
.wc-block-components-radio-control__secondary-label,
.wc-block-components-checkbox label,
.wc-block-checkout__terms.wc-block-checkout__terms--with-separator,
.wc-block-components-button:not(.is-link),
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-name, 
.wc-block-components-totals-wrapper, 
.wp-block-woocommerce-checkout-order-summary-totals-block {
  font-size: 15px !important;
}

.wc-block-components-form .wc-block-components-text-input input:-webkit-autofill, 
.wc-block-components-form .wc-block-components-text-input input[type=email], 
.wc-block-components-form .wc-block-components-text-input input[type=number], 
.wc-block-components-form .wc-block-components-text-input input[type=password], 
.wc-block-components-form .wc-block-components-text-input input[type=tel], 
.wc-block-components-form .wc-block-components-text-input input[type=text], 
.wc-block-components-form .wc-block-components-text-input input[type=url], 
.wc-block-components-text-input input:-webkit-autofill, 
.wc-block-components-text-input input[type=email], 
.wc-block-components-text-input input[type=number], 
.wc-block-components-text-input input[type=password], 
.wc-block-components-text-input input[type=tel], 
.wc-block-components-text-input input[type=text], 
.wc-block-components-text-input input[type=url] {
  width: 100%;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: .2s;
}

.wc-block-components-form .wc-block-components-text-input input:-webkit-autofill:focus, 
.wc-block-components-form .wc-block-components-text-input input[type=email]:focus, 
.wc-block-components-form .wc-block-components-text-input input[type=number]:focus, 
.wc-block-components-form .wc-block-components-text-input input[type=password]:focus, 
.wc-block-components-form .wc-block-components-text-input input[type=tel]:focus, 
.wc-block-components-form .wc-block-components-text-input input[type=text]:focus, 
.wc-block-components-form .wc-block-components-text-input input[type=url]:focus, 
.wc-block-components-text-input input:-webkit-autofill:focus, 
.wc-block-components-text-input input[type=email]:focus, 
.wc-block-components-text-input input[type=number]:focus, 
.wc-block-components-text-input input[type=password]:focus, 
.wc-block-components-text-input input[type=tel]:focus, 
.wc-block-components-text-input input[type=text]:focus, 
.wc-block-components-text-input input[type=url]:focus,
.wc-blocks-components-select select.wc-blocks-components-select__select:focus {
  outline: 0;
  border-color: #E4C88C !important;
}

@media(max-width:767px) {
  .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
    margin-top: 0;
  } 
  .wp-block-woocommerce-checkout {
    padding-top: 0;
  }
  .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
    margin-top: 0;
    padding-top: 0 !important;
  }
  .wc-block-components-form.wc-block-checkout__form .wc-block-checkout__actions {
    margin-bottom: 0;
  }
}

/* shop loop grid */
ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
  list-style:none;
  margin:0 !important;
  padding:0 !important;
}

ul.products::before{
  content: none !important;
}
ul.products li.product{margin:0 !important;}
@media(max-width:980px){ul.products{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:640px){ul.products{grid-template-columns:1fr !important;}}

/* result count / ordering row */
.woocommerce-result-count,.woocommerce-ordering{margin:0 0 26px;font-size:.88rem;margin-bottom:30px !important;}
.woocommerce-ordering select{border:1px solid var(--line);padding:10px 14px;border-radius:var(--radius-sm);background:var(--paper);}

/* star rating */
.star-rating{color:var(--gold);font-family:sans-serif;}
.star-rating::before{content:"\2606\2606\2606\2606\2606";}
.star-rating span{}
.star-rating span::before{content:"\2605\2605\2605\2605\2605";}

/* price */
.price{font-family:var(--font-display);font-size:1.15rem;color:var(--forest-dark);}
.price del{text-decoration:line-through;color:var(--ink-soft);font-size:.9rem;margin-right:8px;font-family:var(--font-body);opacity:1;}
.price ins{text-decoration:none;}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{
  background:var(--cream-soft);border:1px solid var(--line);border-left:3px solid var(--olive);
  border-radius:var(--radius-sm);margin-bottom:26px;list-style:none;font-size:.92rem;
  padding: 1em 2em 1em 3.5em;
}
.woocommerce .woocommerce-order .woocommerce-message, 
.woocommerce .woocommerce-order .woocommerce-info, 
.woocommerce .woocommerce-order .woocommerce-error, 
.woocommerce .woocommerce-order .woocommerce-notice {
  padding-left: 1.5em;
}
.woocommerce-error{border-left-color:var(--terracotta);}
.woocommerce-message .button,.woocommerce-info .button{
  float:right;background:var(--forest-dark) !important;color:var(--cream) !important;padding:12px 18px !important;border-radius:var(--radius-pill) !important;
  font-size:.8rem !important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  line-height: 18px !important;
}

.woocommerce-page .woocommerce .woocommerce-order section {
  padding: 0;
}

@media(max-width:767px) {
  .woocommerce .woocommerce-error .button, 
  .woocommerce .woocommerce-info .button, 
  .woocommerce .woocommerce-message .button, 
  .woocommerce-page .woocommerce-error .button, 
  .woocommerce-page .woocommerce-info .button, 
  .woocommerce-page .woocommerce-message .button {
    float: none;
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;
    text-align: center;
  }
  .woocommerce ul.order_details li {
    padding-bottom: 10px;
  }
}

@media(max-width:991px) {
  .woocommerce-column.woocommerce-column--1.woocommerce-column--billing-address.col-1 {
    margin-bottom: 30px;
  }
  .u-column1.col-1.woocommerce-Address {
    margin-bottom: 30px;
  } 
}

/* ---------------- single product ---------------- */
.woocommerce div.product form.cart .quantity input.qty{border:none;font-size:13.7px;width:56px;text-align:center;padding:14px 0;}
.woocommerce div.product form.cart .quantity input.qty:focus{border:none;outline:0}
.woocommerce div.product form.cart button.single_add_to_cart_button{
  background:var(--forest-dark);color:var(--cream);border:none;padding:14px 30px;
}
.woocommerce div.product form.cart button.single_add_to_cart_button:hover{background:var(--olive-dark);}

.woocommerce #review_form #respond .form-submit input {
  background-color: var(--forest-dark);
  color: var(--cream);
  padding: 14px 20px;
}

.woocommerce #review_form #respond .form-submit input:hover {
  background-color: var(--olive-dark);
  color: var(--cream);
}

section.related.products {
  padding: 0;
}

section.related.products h2 {
  margin-bottom: 30px;
}

/* ---------------- cart ---------------- */
.woocommerce-cart-form .quantity input.qty{border:1px solid var(--line);border-radius:var(--radius-pill);width:70px;text-align:center;padding:10px 0;}
.woocommerce-cart-form button[name="update_cart"],.woocommerce-cart-form button[name="apply_coupon"]{
  background:transparent;border:1px solid var(--forest-dark);color:var(--forest-dark);border-radius:var(--radius-pill);
  padding:12px 24px;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.cart_totals{background:var(--cream-soft);border:1px solid var(--line);border-radius:var(--radius-md);padding:28px;}
.cart_totals h2{margin-bottom:18px;}
.cart_totals table{width:100%;}
.cart_totals table th,.cart_totals table td{border:none;border-bottom:1px dashed var(--line);padding:12px 0;font-size:.94rem;}
.cart_totals .order-total th,.cart_totals .order-total td{border-bottom:none;font-family:var(--font-display);font-size:1.3rem;color:var(--forest-dark);padding-top:16px;}
.wc-proceed-to-checkout a.checkout-button{
  display:flex;justify-content:center;width:100%;background:var(--forest-dark);color:var(--cream);padding:15px;
  border-radius:var(--radius-pill);font-weight:700;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;margin-top:14px;
}
.coupon{display:flex;gap:10px;margin:18px 0;align-items:center;}
.coupon input#coupon_code{flex:1;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name, 
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name, 
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input, 
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__header th, 
table.wc-block-cart-items .wc-block-cart-items__header th, 
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
  font-size: 16px !important;
}
.wc-block-components-sidebar-layout.wc-block-cart, .wc-block-cart__sidebar .wc-block-cart__submit {
  margin-bottom: 0;
}
.wc-block-components-main.wc-block-cart__main {
  overflow: auto;
}
.theme-twentytwenty .wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product, 
.theme-twentytwenty .wc-block-grid.has-5-columns.alignfull .wc-block-grid__product, 
.wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product, 
.wc-block-grid.has-5-columns.alignfull .wc-block-grid__product {
  font-size: 1em !important;
}

/* ---------------- checkout ---------------- */
.woocommerce-checkout #customer_details{max-width:none;}
.woocommerce-billing-fields h3,.woocommerce-additional-fields h3{font-family:var(--font-body);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:var(--olive-dark);margin-bottom:14px;}
.woocommerce-checkout .form-row{margin-bottom:20px;}
.woocommerce-checkout .form-row label{display:block;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--forest-dark);margin-bottom:8px;}
.woocommerce-checkout input.input-text,.woocommerce-checkout textarea,.woocommerce-checkout select{
  width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);
}
#order_review{background:var(--cream-soft);border:1px solid var(--line);border-radius:var(--radius-md);padding:28px;}
#order_review table.shop_table{background:transparent;}
ul.wc_payment_methods{list-style:none;padding:0;}
ul.wc_payment_methods li.wc_payment_method{border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;margin-bottom:12px;}
ul.wc_payment_methods li.wc_payment_method label{font-weight:700;font-size:.9rem;}
#place_order{
  width:100%;background:var(--forest-dark);color:var(--cream);border:none;padding:15px;border-radius:var(--radius-pill);
  font-weight:700;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;margin-top:16px;
}
#place_order:hover{background:var(--olive-dark);}

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

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

.woocommerce form.woocommerce-form.woocommerce-form-login.login .form-row, 
.woocommerce form.woocommerce-form.woocommerce-form-register.register .form-row {
  display: block;
}

.woocommerce-button.button.woocommerce-form-login__submit, 
.woocommerce-button.button.woocommerce-form-register__submit {
  background:var(--forest-dark);color:var(--cream);
}

.woocommerce-button.button.woocommerce-form-login__submit:hover,
.woocommerce-button.button.woocommerce-form-register__submit:hover {
  background:var(--olive-dark);color:var(--cream);
}

.woocommerce form .form-row .input-text, .woocommerce form .form-row select {
  border-color: var(--line);
}

.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus {
  outline: 0;
  border-color: #E4C88C;
}

.woocommerce-account .addresses .title .edit {
  float: left;
  margin-bottom: 20px;
}

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

:where(.woocommerce) .select2-container .select2-dropdown, 
:where(.woocommerce) .select2-container .select2-selection {
  border-color: var(--line);
}

.account-wrap .account-panel button.button {
  background:var(--forest-dark);color:var(--cream);
  margin-top: 20px;
}

.account-wrap .account-panel button.button:hover {
  background:var(--olive-dark);color:var(--cream);
}
