/* =========================================================
   Wennisima Woo Warm Compact v23
   Visual-only layer.
   Goal: reduce page visual footprint ~20%, keep text readable,
   and apply warm Wennisima colors.
========================================================= */

/* Color variables */
body.page-id-646,
body.page-id-647 {
  --wn-bg: #fffaf7;
  --wn-card: #fffdfb;
  --wn-card-soft: #fff5ef;
  --wn-border: #ead4c9;
  --wn-border-strong: #dcb9a9;
  --wn-text: #132033;
  --wn-muted: #475569;
  --wn-brown: #794A3A;
  --wn-coral: #F57F5B;
  --wn-coral-soft: #ffb8a5;
  --wn-shadow: 0 16px 38px rgba(121, 74, 58, 0.08);
  background: var(--wn-bg) !important;
  overflow-x: hidden !important;
}

/* Page frame: reduce total visual width and whitespace */
body.page-id-646 .ast-container,
body.page-id-647 .ast-container {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}

body.page-id-646 .entry-content,
body.page-id-647 .entry-content {
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page-id-646 #primary,
body.page-id-647 #primary {
  margin-top: 36px !important;
  margin-bottom: 50px !important;
}

/* Titles */
body.page-id-646 h1,
body.page-id-647 h1,
body.page-id-646 .entry-title,
body.page-id-647 .entry-title {
  font-size: 28px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  color: var(--wn-text) !important;
  margin-bottom: 24px !important;
}

body.page-id-646 h2,
body.page-id-647 h2,
body.page-id-646 h3,
body.page-id-647 h3 {
  color: var(--wn-brown) !important;
}

/* General Woo text */
body.page-id-646 .woocommerce,
body.page-id-647 .woocommerce {
  color: var(--wn-text) !important;
  font-size: 14.5px !important;
  line-height: 1.38 !important;
}

/* =========================================================
   CART PAGE
========================================================= */

body.page-id-646 .woocommerce-cart-form,
body.page-id-646 .cart-collaterals {
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Cart table: compact but readable */
body.page-id-646 table.cart,
body.page-id-646 table.shop_table {
  width: 100% !important;
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border: 1px solid var(--wn-border) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: var(--wn-card) !important;
  box-shadow: var(--wn-shadow) !important;
  table-layout: auto !important;
}

body.page-id-646 table.cart th,
body.page-id-646 table.cart td {
  padding: 10px 12px !important;
  border-color: var(--wn-border) !important;
  vertical-align: middle !important;
}

body.page-id-646 table.cart th {
  background: var(--wn-card-soft) !important;
  color: var(--wn-brown) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

body.page-id-646 table.cart td {
  font-size: 14.5px !important;
}

body.page-id-646 table.cart td.product-remove {
  width: 42px !important;
  text-align: center !important;
}

body.page-id-646 table.cart td.product-thumbnail {
  width: 58px !important;
}

body.page-id-646 table.cart td.product-thumbnail img {
  width: 42px !important;
  height: 42px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

body.page-id-646 table.cart td.product-name a {
  color: #c73568 !important;
  font-size: 14.8px !important;
  line-height: 1.24 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.page-id-646 table.cart td.product-name a:hover {
  color: var(--wn-coral) !important;
}

body.page-id-646 table.cart td.product-price,
body.page-id-646 table.cart td.product-subtotal,
body.page-id-646 table.cart td.product-price .amount,
body.page-id-646 table.cart td.product-subtotal .amount {
  color: var(--wn-text) !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

body.page-id-646 table.cart .quantity input.qty {
  width: 58px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 4px 6px !important;
  font-size: 15px !important;
  border-radius: 8px !important;
  border: 1px solid #cfd8e3 !important;
  box-shadow: none !important;
  text-align: center !important;
}

/* Cart buttons */
body.page-id-646 table.cart td.actions {
  background: var(--wn-card-soft) !important;
  padding: 14px !important;
}

body.page-id-646 .woocommerce button.button,
body.page-id-646 .woocommerce a.button,
body.page-id-646 .wc-proceed-to-checkout a.checkout-button {
  border-radius: 12px !important;
  background: var(--wn-coral) !important;
  border-color: var(--wn-coral) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 14.5px !important;
  padding: 12px 22px !important;
  line-height: 1.1 !important;
  box-shadow: 0 10px 24px rgba(245, 127, 91, 0.22) !important;
}

body.page-id-646 .woocommerce button.button:hover,
body.page-id-646 .woocommerce a.button:hover,
body.page-id-646 .wc-proceed-to-checkout a.checkout-button:hover {
  background: #e96f4d !important;
  border-color: #e96f4d !important;
}

/* Cart totals: smaller and warmer */
body.page-id-646 .cart-collaterals {
  margin-top: 34px !important;
}

body.page-id-646 .cart_totals {
  max-width: 500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 22px !important;
  background: var(--wn-card) !important;
  border: 1px solid var(--wn-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--wn-shadow) !important;
}

body.page-id-646 .cart_totals h2 {
  font-size: 22px !important;
  line-height: 1.15 !important;
  margin: 0 0 14px !important;
  color: var(--wn-brown) !important;
  font-weight: 800 !important;
}

body.page-id-646 .cart_totals table.shop_table {
  box-shadow: none !important;
  border-radius: 12px !important;
}

/* =========================================================
   CHECKOUT PAGE
========================================================= */

body.page-id-647 form.checkout {
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Desktop checkout columns */
@media (min-width: 922px) {
  body.page-id-647 form.checkout #customer_details {
    width: 58% !important;
    float: left !important;
    margin-right: 4% !important;
  }

  body.page-id-647 form.checkout #order_review_heading,
  body.page-id-647 form.checkout #order_review {
    width: 38% !important;
    float: right !important;
    clear: right !important;
  }
}

body.page-id-647 #customer_details h3,
body.page-id-647 #order_review_heading {
  font-size: 20px !important;
  line-height: 1.2 !important;
  color: var(--wn-brown) !important;
  font-weight: 800 !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--wn-border) !important;
}

/* Checkout fields */
body.page-id-647 .woocommerce form .form-row {
  margin-bottom: 12px !important;
  padding: 0 !important;
}

body.page-id-647 .woocommerce form .form-row label {
  color: var(--wn-text) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  margin-bottom: 5px !important;
}

body.page-id-647 .woocommerce input.input-text,
body.page-id-647 .woocommerce textarea,
body.page-id-647 .woocommerce select,
body.page-id-647 .select2-container .select2-selection--single {
  min-height: 40px !important;
  height: 40px !important;
  padding: 8px 12px !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: var(--wn-text) !important;
  font-size: 14.5px !important;
  box-shadow: none !important;
}

body.page-id-647 .woocommerce textarea {
  min-height: 78px !important;
}

/* Checkout order box */
body.page-id-647 #order_review,
body.page-id-647 #order_review_heading {
  background: var(--wn-card) !important;
  border-color: var(--wn-border) !important;
}

body.page-id-647 #order_review_heading {
  padding: 18px 20px 12px !important;
  border: 1px solid var(--wn-border) !important;
  border-bottom: 0 !important;
  border-radius: 16px 16px 0 0 !important;
  margin-bottom: 0 !important;
}

body.page-id-647 #order_review {
  padding: 0 20px 20px !important;
  border: 1px solid var(--wn-border) !important;
  border-top: 0 !important;
  border-radius: 0 0 16px 16px !important;
  box-shadow: var(--wn-shadow) !important;
}

body.page-id-647 table.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border: 1px solid var(--wn-border) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  table-layout: auto !important;
  margin-bottom: 18px !important;
}

body.page-id-647 table.woocommerce-checkout-review-order-table th,
body.page-id-647 table.woocommerce-checkout-review-order-table td {
  padding: 9px 10px !important;
  border-color: var(--wn-border) !important;
  font-size: 13.5px !important;
  line-height: 1.28 !important;
}

body.page-id-647 table.woocommerce-checkout-review-order-table th {
  color: var(--wn-text) !important;
  font-weight: 800 !important;
}

body.page-id-647 table.woocommerce-checkout-review-order-table .product-name {
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
  white-space: normal !important;
}

body.page-id-647 table.woocommerce-checkout-review-order-table .product-total,
body.page-id-647 table.woocommerce-checkout-review-order-table td:last-child,
body.page-id-647 table.woocommerce-checkout-review-order-table th:last-child {
  width: 118px !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* Payment box */
body.page-id-647 #payment {
  background: var(--wn-card-soft) !important;
  border: 1px solid var(--wn-border) !important;
  border-radius: 14px !important;
  padding: 14px !important;
}

body.page-id-647 #payment div.payment_box {
  background: #fff1e9 !important;
  color: var(--wn-text) !important;
  border: 1px solid var(--wn-coral-soft) !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
  line-height: 1.35 !important;
  padding: 12px !important;
}

body.page-id-647 #payment div.payment_box::before {
  border-bottom-color: #fff1e9 !important;
}

/* Checkout button */
body.page-id-647 #place_order,
body.page-id-647 .woocommerce button.button.alt {
  width: 100% !important;
  border-radius: 12px !important;
  background: var(--wn-coral) !important;
  border-color: var(--wn-coral) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 14.5px !important;
  padding: 13px 18px !important;
  line-height: 1.1 !important;
  box-shadow: 0 10px 24px rgba(245, 127, 91, 0.22) !important;
}

body.page-id-647 #place_order:hover,
body.page-id-647 .woocommerce button.button.alt:hover {
  background: #e96f4d !important;
  border-color: #e96f4d !important;
}

/* Links */
body.page-id-646 .woocommerce a,
body.page-id-647 .woocommerce a {
  color: #c73568 !important;
}

body.page-id-646 .woocommerce a:hover,
body.page-id-647 .woocommerce a:hover {
  color: var(--wn-coral) !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 921px) {
  body.page-id-646 .ast-container,
  body.page-id-647 .ast-container {
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.page-id-646 h1,
  body.page-id-647 h1 {
    font-size: 24px !important;
  }

  body.page-id-647 form.checkout #customer_details,
  body.page-id-647 form.checkout #order_review_heading,
  body.page-id-647 form.checkout #order_review {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-right: 0 !important;
  }

  body.page-id-647 #order_review_heading {
    margin-top: 24px !important;
  }

  body.page-id-646 table.cart {
    font-size: 13.5px !important;
  }

  body.page-id-646 table.cart th,
  body.page-id-646 table.cart td {
    padding: 8px !important;
  }

  body.page-id-646 table.cart td.product-thumbnail {
    display: none !important;
  }
}

@media (max-width: 640px) {
  body.page-id-646 .woocommerce-cart-form {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.page-id-646 table.cart {
    min-width: 680px !important;
  }

  body.page-id-646 .cart_totals {
    max-width: 100% !important;
  }
}

/* =========================================================
   Wennisima Woo Above Fold v24
   Goal: reduce vertical scroll by moving cart totals beside cart
   and tightening cart/checkout spacing.
   Visual-only. No WooCommerce logic changes.
========================================================= */

/* Reduce large top whitespace on cart and checkout */
body.page-id-646 #primary,
body.page-id-647 #primary {
  margin-top: 18px !important;
  margin-bottom: 32px !important;
}

/* Keep page warm, but reduce vertical breathing */
body.page-id-646 .entry-content,
body.page-id-647 .entry-content {
  max-width: 1120px !important;
}

/* Titles slightly smaller and closer */
body.page-id-646 h1,
body.page-id-647 h1,
body.page-id-646 .entry-title,
body.page-id-647 .entry-title {
  font-size: 25px !important;
  margin-bottom: 18px !important;
}

/* =========================================================
   CART: desktop two-column layout
========================================================= */

@media (min-width: 922px) {
  body.page-id-646 .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 20px !important;
    align-items: start !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.page-id-646 .woocommerce-notices-wrapper,
  body.page-id-646 .woocommerce-message,
  body.page-id-646 .woocommerce-error,
  body.page-id-646 .woocommerce-info {
    grid-column: 1 / -1 !important;
  }

  body.page-id-646 .woocommerce-cart-form {
    grid-column: 1 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.page-id-646 .cart-collaterals {
    grid-column: 2 !important;
    max-width: 320px !important;
    width: 320px !important;
    margin: 0 !important;
  }

  body.page-id-646 .cart_totals {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 !important;
    padding: 16px !important;
    position: sticky !important;
    top: 120px !important;
  }
}

/* Cart table more compact */
body.page-id-646 table.cart,
body.page-id-646 table.shop_table {
  max-width: 100% !important;
  box-shadow: 0 10px 26px rgba(121, 74, 58, 0.06) !important;
}

body.page-id-646 table.cart th,
body.page-id-646 table.cart td {
  padding: 8px 10px !important;
}

body.page-id-646 table.cart th {
  font-size: 13px !important;
}

body.page-id-646 table.cart td {
  font-size: 13.5px !important;
}

body.page-id-646 table.cart td.product-thumbnail {
  width: 50px !important;
}

body.page-id-646 table.cart td.product-thumbnail img {
  width: 36px !important;
  height: 36px !important;
}

body.page-id-646 table.cart td.product-name a {
  font-size: 13.6px !important;
}

body.page-id-646 table.cart td.product-price,
body.page-id-646 table.cart td.product-subtotal,
body.page-id-646 table.cart td.product-price .amount,
body.page-id-646 table.cart td.product-subtotal .amount {
  font-size: 13.2px !important;
}

body.page-id-646 table.cart .quantity input.qty {
  width: 50px !important;
  height: 34px !important;
  min-height: 34px !important;
  font-size: 13.5px !important;
}

/* Cart action row smaller */
body.page-id-646 table.cart td.actions {
  padding: 10px !important;
}

body.page-id-646 .woocommerce button.button,
body.page-id-646 .woocommerce a.button,
body.page-id-646 .wc-proceed-to-checkout a.checkout-button {
  font-size: 13.5px !important;
  padding: 10px 18px !important;
  border-radius: 10px !important;
}

/* Cart totals compact */
body.page-id-646 .cart_totals h2 {
  font-size: 19px !important;
  margin-bottom: 10px !important;
}

body.page-id-646 .cart_totals table.shop_table th,
body.page-id-646 .cart_totals table.shop_table td {
  padding: 8px 10px !important;
  font-size: 13.5px !important;
}

body.page-id-646 .cart_totals .wc-proceed-to-checkout {
  padding-bottom: 0 !important;
}

body.page-id-646 .cart_totals .checkout-button {
  width: 100% !important;
  text-align: center !important;
  margin-bottom: 0 !important;
}

/* =========================================================
   CHECKOUT: tighter above-the-fold layout
========================================================= */

body.page-id-647 form.checkout {
  max-width: 1080px !important;
}

@media (min-width: 922px) {
  body.page-id-647 form.checkout #customer_details {
    width: 59% !important;
    margin-right: 3% !important;
  }

  body.page-id-647 form.checkout #order_review_heading,
  body.page-id-647 form.checkout #order_review {
    width: 38% !important;
  }
}

body.page-id-647 #customer_details h3,
body.page-id-647 #order_review_heading {
  font-size: 18px !important;
  margin-bottom: 12px !important;
  padding-bottom: 9px !important;
}

body.page-id-647 .woocommerce form .form-row {
  margin-bottom: 9px !important;
}

body.page-id-647 .woocommerce form .form-row label {
  font-size: 12.8px !important;
  margin-bottom: 3px !important;
}

body.page-id-647 .woocommerce input.input-text,
body.page-id-647 .woocommerce textarea,
body.page-id-647 .woocommerce select,
body.page-id-647 .select2-container .select2-selection--single {
  min-height: 36px !important;
  height: 36px !important;
  padding: 6px 10px !important;
  font-size: 13.5px !important;
  border-radius: 8px !important;
}

body.page-id-647 #order_review_heading {
  padding: 14px 16px 9px !important;
}

body.page-id-647 #order_review {
  padding: 0 16px 16px !important;
}

body.page-id-647 table.woocommerce-checkout-review-order-table th,
body.page-id-647 table.woocommerce-checkout-review-order-table td {
  padding: 7px 8px !important;
  font-size: 12.8px !important;
}

body.page-id-647 #payment {
  padding: 11px !important;
}

body.page-id-647 #payment div.payment_box {
  padding: 10px !important;
  font-size: 12.8px !important;
}

body.page-id-647 #place_order,
body.page-id-647 .woocommerce button.button.alt {
  font-size: 13.5px !important;
  padding: 11px 16px !important;
}

/* Keep mobile readable: do not force two columns */
@media (max-width: 921px) {
  body.page-id-646 .woocommerce {
    display: block !important;
  }

  body.page-id-646 .cart-collaterals,
  body.page-id-646 .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
  }
}
