/* WPForms fixes */
/* Initial field looks */
.wpforms-container input[type=date],
.wpforms-container input[type=datetime],
.wpforms-container input[type=datetime-local],
.wpforms-container input[type=email],
.wpforms-container input[type=month],
.wpforms-container input[type=number],
.wpforms-container input[type=password],
.wpforms-container input[type=range],
.wpforms-container input[type=search],
.wpforms-container input[type=tel],
.wpforms-container input[type=text],
.wpforms-container input[type=time],
.wpforms-container input[type=url],
.wpforms-container input[type=week],
.wpforms-container select,
.wpforms-container textarea {
    background: #fff;
    border-width: 0 0 1px 0;
    color: var(--ast-global-color-2);
    opacity: 0.5;
}
/* On focus */
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
    outline: none;
    opacity: 1;
    border-color: var(--ast-global-color-0);
}
/* Don't allow resizing the Message box */
.wpforms-container textarea {
    resize: none;
}
/* Message box fixed height */
.wpforms-container .wpforms-field-textarea textarea.wpforms-field-medium {
    height: 136px;
}
/* Button size & font size */
.wpforms-container button {
    padding: 15px 34px;
    font-size: 15px;
}
/* WPForms done */
/* Footer 2 big columns on sides and 1 small one in the middle */
.ast-builder-grid-row-3-equal .ast-builder-grid-row {
    grid-template-columns: 3fr 1fr 3fr;
}

#page {
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* Ensures the page takes up the full viewport height */
}

#page .site-content {
  flex-grow: 1; /* Pushes the footer to the bottom */
}

img {
  pointer-events: none; /* Prevent clicking on images */
  user-select: none; /* Disable selecting the image */
  -webkit-user-drag: none; /* Disable dragging the image (for WebKit browsers) */
}

.wp-block-image img {
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
[name="jetpack_subscriptions_widget"] {
    background-color: #D3D3D3 !important; /* Light grey */
}
/* Disable WooCommerce zoom magnifier icon */
.woocommerce-product-gallery__trigger {
    display: none !important;
}

/* Disable WooCommerce zoom on hover */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper img {
    pointer-events: none !important;
    transform: none !important;
}

/* -----------------------------
   WooCommerce Archive Cleanup
----------------------------- */
.woocommerce-result-count,
.woocommerce-ordering,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .ast-on-card-button {
    display: none !important;
}

/* -----------------------------
   Product Title — Refined / Editorial
----------------------------- */
.woocommerce ul.products li.product h2 {
    font-size: 14px;
    letter-spacing: 0.04em;
    margin-top: 12px;
    font-weight: 400;
	  opacity: 0.8;
    color: var(--ast-global-color-2);
}

/* -----------------------------
   Hide Prices — Gallery Mode
----------------------------- */
.woocommerce ul.products li.product .price {
    display: none !important;
}

/* -----------------------------
   Curated Grid Layout
----------------------------- */
.woocommerce ul.products {
    max-width: 900px;
    margin: 0 auto;
    gap: 60px !important;
}


/* -----------------------------
   Heading Spacing — Airy / Centered
----------------------------- */
.woocommerce-products-header {
    margin-top: 12px;
    margin-bottom: 24px;
    text-align: center;
}

.woocommerce ul.products li.product img {
    transition: transform 0.4s ease, opacity 0.4s ease;
}

.woocommerce ul.products li.product:hover img {
    transform: scale(1.01);
    opacity: 0.95;
}

/* -----------------------------
   Center Product Titles
----------------------------- */
.woocommerce ul.products li.product {
    text-align: center;
}

/* Force WooCommerce shop title: The Lab */
body.woocommerce-shop h1,
body.woocommerce-shop .page-title,
body.woocommerce-shop .entry-title,
body.woocommerce-shop .woocommerce-products-header__title,
body.woocommerce-shop .ast-archive-title,
body.post-type-archive-product h1,
body.post-type-archive-product .page-title,
body.post-type-archive-product .entry-title,
body.post-type-archive-product .woocommerce-products-header__title,
body.post-type-archive-product .ast-archive-title {
    font-family: "Playfair Display", serif !important;
    font-weight: 300 !important;
    font-size: 22px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.5px !important;
    color: var(--ast-global-color-2) !important;
    text-transform: none !important;
}

/* =========================
   SINGLE PRODUCT — FINAL SYSTEM
========================= */

/* Layout width */
body.single-product div.product {
    max-width: 1280px;
    margin: 0 auto;
}

body.single-product div.product .summary {
    padding-left: 40px;
}

/* Product title */
body.single-product .product_title,
body.single-product h1.product_title,
body.single-product div.product .product_title {
    font-weight: 300 !important;
    font-size: 24px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 14px !important;
}

/* Price */
body.single-product div.product p.price,
body.single-product div.product span.price,
body.single-product .summary .price {
    font-size: 16px !important;
    font-weight: 300 !important;
    opacity: 0.65 !important;
    margin-bottom: 12px !important;
}

/* Remove clutter */
body.single-product .stock,
body.single-product .quantity,
body.single-product .product_meta,
body.single-product .ast-stock-detail,
body.single-product .ast-stock-avail,
body.single-product .availability,
body.single-product .summary p:has(.stock),
body.single-product .summary p:has(.ast-stock-avail),
body.single-product .additional_information_tab,
body.single-product #tab-additional_information,
body.single-product .related,
body.single-product .upsells,
body.single-product .ast-related-posts-wrapper,
body.single-product .ast-single-related-posts-container,
body.single-product .related-posts,
body.single-product .jp-relatedposts,
body.single-product #jp-relatedposts,
body.single-product .sharedaddy,
body.single-product .nav-links,
body.single-product .post-navigation,
body.single-product .wcpay-express-checkout-wrapper,
body.single-product .wc-stripe-product-checkout-container,
body.single-product .wc-stripe-product-payments-container,
body.single-product .express-checkout,
body.single-product .wc-block-components-express-payment,
body.single-product #wcpay-express-checkout-element {
    display: none !important;
}

/* Hide Description tab label */
body.single-product .woocommerce-tabs ul.tabs {
    display: none !important;
}

/* Description content */
body.single-product .woocommerce-tabs .panel {
    margin: 0 !important;
    max-width: 520px !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
    font-weight: 300 !important;
    color: var(--ast-global-color-2) !important;
}

/* Text rhythm */
body.single-product .woocommerce-tabs .panel p {
    margin-bottom: 14px;
}

/* Description subheadings */
body.single-product .woocommerce-tabs .panel strong,
body.single-product .woocommerce-tabs .panel b {
    display: block;
    margin-top: 22px;
    margin-bottom: 6px;
    font-weight: 400 !important;
    letter-spacing: 0.04em;
}

/* Reduce excess bottom spacing */
body.single-product .site-content,
body.single-product .content-area {
    padding-bottom: 40px !important;
}


/* =========================
   FINAL POLISH
========================= */

/* Top spacing */
body.single-product .site-content {
    padding-top: 40px !important;
}

/* Divider softness */
body.single-product .summary hr,
body.single-product .summary .divider {
    opacity: 0.5;
}

/* Title spacing */
body.single-product .product_title {
    margin-bottom: 18px !important;
}

/* =========================
   SINGLE PRODUCT — FINAL LAYOUT (CLEAN)
========================= */

body.single-product div.product {
    display: grid !important;
    grid-template-columns: 520px 1fr;
    column-gap: 80px;
    align-items: start;
    max-width: 1120px !important;
    margin: auto !important;
}


/* No WooCommerce floats */
body.single-product div.product div.images,
body.single-product div.product div.summary {
    float: none !important;
    width: auto !important;
}

/* Image column */
body.single-product div.product div.images {
    grid-column: 1;
    margin-top: -6px !important;
}

/* Main image */
body.single-product div.product div.images img {
    width: 100% !important;
    height: auto !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.04);
}

/* Text column */
body.single-product div.product div.summary {
    grid-column: 2;
    grid-row: 1;
    padding-top: 20px !important;
}

/* Description under right column */
body.single-product .woocommerce-tabs {
    grid-column: 2;
	  grid-row: 1;
    width: 100% !important;
    margin-top: 220px !important;
    padding-top: 24px !important;
}

/* Thumbnails */
body.single-product .flex-control-thumbs {
    margin-top: -2px !important;
    display: flex !important;
    gap: 6px !important;
}

body.single-product .flex-control-thumbs li {
    width: 52px !important;
}

body.single-product .flex-control-thumbs img {
    opacity: 0.3;
    transform: scale(0.98);
}

body.single-product .flex-control-thumbs img.flex-active,
body.single-product .flex-control-thumbs img:hover {
    opacity: 1;
    transform: scale(1);
}
	.single-product .single_add_to_cart_button {
  background: #f2ede7 !important;
  border: 1px solid #d8d2c8 !important;
  color: #2f2d2a !important;
}

/* =========================
   SIZE DROPDOWN — REFINED SYSTEM
========================= */

.single-product table.variations select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  box-shadow: none !important;

  width: 100% !important;
  max-width: 320px !important;
  height: 40px !important;

  padding: 0 36px 0 14px !important;

 background-color: #f7f3ee !important;
border: 1px solid #e0dbd3 !important;
  border-radius: 0 !important;

  font-size: 12px !important;
  font-weight: 300 !important;
  letter-spacing: 0.04em !important;
  color: #2f2d2a !important;
  transition: all 0.2s ease;
}

.single-product table.variations select:hover {
  border-color: #d4cec4 !important;
}

.single-product table.variations select:focus {
  outline: none !important;
  border-color: #cfc8bc !important;
  background-color: #f5f1eb !important;
}

.single-product table.variations select:invalid {
  color: #a6a29b;
}
.single-product table.variations label {
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #7a766f !important;
  font-weight: 400 !important;
}

.single-product table.variations,
.single-product table.variations * {
  cursor: default;
}

.single-product table.variations select {
  cursor: pointer !important;
}

.single-product .reset_variations {
  display: none !important;
}

body.single-product.postid-3616 .woocommerce-variation,
body.single-product.postid-3616 .woocommerce-variation-description,
body.single-product.postid-3616 .woocommerce-variation-description p {
  font-size: 15px !important;
  line-height: 1.75 !important;
  letter-spacing: 0.01em !important;
  color: #4d4944 !important;
  font-weight: 300 !important;
  max-width: 520px !important;
}


/* =========================
   DUST EARMUFF — SPACING REFINEMENT
========================= */
body.single-product.postid-3616 table.variations th.label {
  width: auto !important;
  min-width: 112px !important;
  padding-right: 8px !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

body.single-product.postid-3616 .woocommerce-variation-description {
  margin-top: 18px !important;
  margin-bottom: 22px !important;
}

body.single-product.postid-3616 .woocommerce-tabs {
  margin-top: 315px !important;
}

.single-product .single_add_to_cart_button {
  background: #f2ede7 !important;
  border: 1px solid #d8d2c8 !important;
  color: #2f2d2a !important;
}

/* =========================
   MEADOW TOTE — DESKTOP REFINEMENT
========================= */

body.single-product.postid-2710 .woocommerce-tabs,
body.single-product.postid-2710 .woocommerce-tabs .panel {
  margin-top: 180px !important;
  padding-top: 0 !important;
}

body.single-product.postid-2710 .summary + .woocommerce-tabs {
  margin-top: 10px !important;
}

/* =========================
   MOBILE — PRODUCT ARCHIVE + SINGLE PRODUCT
========================= */

@media (max-width: 768px) {

  /* The Lab archive grid */
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products {
      display: block !important;
      max-width: 100% !important;
      margin: 0 auto !important;
      padding: 0 22px !important;
  }

  body.woocommerce-shop ul.products li.product,
  body.post-type-archive-product ul.products li.product {
      width: 100% !important;
      margin: 0 0 48px 0 !important;
      text-align: center !important;
  }

  body.woocommerce-shop ul.products li.product img,
  body.post-type-archive-product ul.products li.product img {
      width: 100% !important;
      height: auto !important;
  }

  body.woocommerce-shop .woocommerce-products-header,
  body.post-type-archive-product .woocommerce-products-header {
      margin-top: 40px !important;
      margin-bottom: 34px !important;
  }

  body.woocommerce-shop .woocommerce-products-header__title,
  body.post-type-archive-product .woocommerce-products-header__title {
      font-size: 24px !important;
      font-weight: 300 !important;
      letter-spacing: 0.04em !important;
  }

  /* Single product page */
  body.single-product .site-content {
      padding-top: 10px !important;
  }

  body.single-product div.product,
  body.single-product div.product div.images,
  body.single-product div.product div.summary,
  body.single-product .woocommerce-tabs {
      display: block !important;
      float: none !important;
      clear: both !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      padding-left: 0 !important;
  }

  body.single-product div.product {
      padding: 0 22px !important;
  }

  body.single-product div.product div.images {
      margin-bottom: 30px !important;
  }

  body.single-product div.product div.summary {
      padding-top: 0 !important;
      margin-top: 16px !important;
      margin-bottom: 36px !important;
  }

  body.single-product .product_title {
      font-size: 22px !important;
      line-height: 1.3 !important;
      margin-top: 18px !important;
      margin-bottom: 12px !important;
  }

.single-product .summary .price {
  margin-bottom: 12px !important;
}
	
/* Tighten vertical rhythm — mobile single product */

body.single-product div.product div.images {
  margin-bottom: 18px !important;
}

body.single-product .product_title {
  margin-top: 10px !important;
  margin-bottom: 6px !important;
}

body.single-product .summary .price {
  margin-bottom: 6px !important;
}

body.single-product table.variations {
  margin-bottom: 14px !important;
}

body.single-product .single_add_to_cart_button {
  margin-top: 8px !important;
}

body.single-product div.product div.summary {
  margin-bottom: 20px !important;
}
	/* Mobile — reduce gap before description */
body.single-product .woocommerce-tabs {
  margin-top: 34px !important;
  padding-top: 0 !important;
}

body.single-product .woocommerce-tabs .panel {
  margin-top: 0 !important;
}
}

@media (max-width: 768px) {
  body.single-product.postid-3616 .woocommerce-tabs {
    margin-top: 34px !important;
  }
}