@charset "UTF-8";

/*
	Theme Name: Intrace
	Description: Intrace is an elegant and simple designed theme template for WordPress fullsite editing and fully compatible with Gutenverse plugin. Intrace’s created especially for Interior Designer, Architecture, Real Estate and Furniture Designer websites. This template has a beautiful and unique design with a 100% responsive and easy to customize layout. The templates includes both core version and Gutenverse plugin version, also has core and Gutenverse block patterns ready so you can start mix and match your template parts as you desire. The templates is built ready so you don't need to build it from scratch. We want to make your experience using WordPress fullsite editor more convenient.
	Author: Jegstudio
	Author URI: https://gutenverse.com
  Theme URI: https://gutenverse.com/intrace-theme
	Version: 1.1.8
	Stable tag: 1.1.8
	Requires at least: 5.9
	Tested up to: 6.1
	Requires PHP: 7.0
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: intrace
  Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, full-site-editing, translation-ready, block-patterns, featured-images
*/
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* Sections ========================================================================== */
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Header Fonts ======================================================================= */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

h1 {
  font-size: 2.5rem;
}

h2 {
  font-size: 2rem;
}

h3 {
  font-size: 1.75rem;
}

h4 {
  font-size: 1.5rem;
}

h5 {
  font-size: 1.25rem;
}

h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 0;
}

/* Grouping content ========================================================================== */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace;
  font-size: 1em;
  white-space: pre-wrap;
}

/* Text-level semantics ========================================================================== */

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content ========================================================================== */
img {
  border-style: none;
  height: auto;
  max-width: 100%;
}

figure {
  margin-inline-start: 0;
  margin-inline-end: 0;
}

/* Interactive ========================================================================== */
details {
  display: block;
}

summary {
  display: list-item;
}

figcaption {
  font-size: 16px;
  line-height: 1.4;
  font-style: italic;
  font-weight: 400;
}

.wp-site-blocks>* {
  margin-top: 0 !important;
}

.logged-in.admin-bar .wp-block-navigation__responsive-container.is-menu-open.has-modal-open {
  margin-top: 32px;
}

@media (max-width: 782px) {
  .logged-in.admin-bar .wp-block-navigation__responsive-container.is-menu-open.has-modal-open {
    margin-top: 46px;
  }
}

.comment-form-comment {
  margin-bottom: 0.9rem;
}

.wp-block-post-comments input[type=submit] {
  background-color: var(--wp--preset--color--intrace-primary);
  color: var(--wp--preset--color--white);
  border-radius: 0px;
}

/* =============================================
   Product Page: 50/50 Column Layout (Desktop)
   Left = product image + Additional Info
   Right = product options
   ============================================= */

/* Both columns share space equally */
.single-product .wp-block-columns.alignwide > .wp-block-column {
  flex: 1 1 50% !important;
  max-width: 50% !important;
}

/* Product gallery: fill its column (remove WooCommerce block/float width constraints) */
.single-product .wp-block-woocommerce-product-image-gallery {
  max-width: 100% !important;
  width: 100% !important;
}

.single-product .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  max-width: 100% !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
}

/* Additional Information relocated to left column via JS — style it there */
.single-product .wp-block-column .pewc-group-wrap-139 {
  margin-top: 1.5rem;
}

/**
* Custom Styles MillWorkMarketplace.
*/

p.order-again {
  margin: 2rem 0rem;
}

.wp-block-woocommerce-add-to-cart-form.wc-block-add-to-cart-form.wp-block-add-to-cart-form form.cart button.single_add_to_cart_button {
  width: max-content;
}

div.woocommerce>nav.woocommerce-MyAccount-navigation {
  margin: 2rem 0 0 2rem;
}

div.woocommerce>div.woocommerce-MyAccount-content {
  margin-top: 2rem;
}

/* WooCommerce Product Page Responsive Fixes */
@media (max-width: 1024px) {

  /* Fix Viewport Scaling Bug & Cut-off Containers */
  html,
  body {
    overflow-x: hidden;
  }

  /* Nullify destructive full-width margins on tablet/mobile */
  .wp-block-gutenverse-section.layout-boxed,
  .guten-element[class*="guten-"].layout-boxed {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Fix Mobile Header Overflows (Logo, Menu, Cart) */
  header .guten-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  header .wp-block-gutenverse-column {
    width: auto !important;
    flex: 0 1 auto !important;
    margin: 0 !important;
    padding: 0 5px !important;
  }

  header figure.wp-block-image {
    margin: 0 !important;
    max-width: 120px !important;
  }

  figure.wp-block-image.size-full {
    padding: .5rem 0 .5rem 0;
  }

  header figure.wp-block-image img {
    max-height: 60px !important;
    width: auto !important;
  }

  .gutenverse-nav-site-title {
    display: none !important;
  }

  /* Stop the header from pulling the product block upwards */
  header .wp-block-gutenverse-section {
    margin-bottom: 0 !important;
  }

  /* Hide the extra text next to the mobile cart icon to prevent overflow on small screens */
  header .wp-block-gutenverse-column:last-child .wp-block-group {
    display: none !important;
  }

  /* Fix Main Product Container Squeeze & Missing Padding */
  .wp-block-group.woocommerce,
  .woocommerce div.product {
    display: flex !important;
    flex-direction: column !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
  }

  .woocommerce-breadcrumb {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
  }

  div.woocommerce.wp-block-breadcrumbs.wc-block-breadcrumbs.alignwide.has-font-size.has-small-font-size {
    margin-top: .5rem;
  }

  .woocommerce div.product .wp-block-columns {
    flex-direction: column !important;
  }

  .woocommerce div.product .wp-block-column,
  .single-product .wp-block-columns.alignwide > .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }


  /* Fix: PEWC dropdown clipping on tablet/mobile too */
  .pewc-group-content-wrapper:not(.mw-collapsed) {
    overflow: visible !important;
  }

  /* Fix Hidden PEWC Field Huge Vertical Output Gaps */
  ul.pewc-product-extra-groups li.pewc-item.pewc-hidden-field,
  ul.pewc-product-extra-groups li.pewc-item.pewc-hidden-calculation,
  ul.pewc-product-extra-groups li.pewc-item.pewc-visibility-hidden {
    display: none !important;
  }

  /* Compress Spacing Above Group Headings */
  ul.pewc-product-extra-groups {
    margin-bottom: 0px !important;
  }

  .pewc-group-heading-wrapper h3,
  .mw-collapsible-heading h3 {
    margin-top: 0px !important;
    padding-top: 10px !important;
  }

  .woocommerce .woocommerce-product-gallery,
  .woocommerce div.woocommerce-product-gallery,
  .woocommerce .summary.entry-summary {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    margin-bottom: 2rem !important;
    float: none !important;
  }

  /* Fix Product Extra Options (Addons Plugin) */
  ul.pewc-product-extra-groups.cols-3,
  ul.pewc-product-extra-groups {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    /* Space between option fields */
  }

  ul.pewc-product-extra-groups:not(.cols-3) li.pewc-item {
    display: flex !important;
    flex-direction: row !important;
    /* Keep image and field side-by-side */
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    /* Force side by side rigidly */
    margin-bottom: 0 !important;
    max-width: 100% !important;
  }

  ul.pewc-product-extra-groups:not(.cols-3) li.pewc-item::before,
  ul.pewc-product-extra-groups:not(.cols-3) li.pewc-item::after {
    display: none !important;
    /* Remove clearfix breaking the flex layout */
  }

  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-image-wrapper {
    margin: 0 15px 0 0 !important;
    text-align: left !important;
    width: 80px !important;
    /* Make images smaller and sit neatly */
    flex: 0 0 80px !important;
  }

  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper {
    width: calc(100% - 95px) !important;
    /* Take remaining space */
    flex: 1 1 calc(100% - 95px) !important;
    max-width: calc(100% - 95px) !important;
    /* Label and field on the same line */
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 15px !important;
  }

  /* When there's no image, field-wrapper gets margin to match the image indent */
  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item:not(:has(.pewc-item-field-image-wrapper)) .pewc-item-field-wrapper {
    margin-left: 95px !important;
    width: calc(100% - 95px) !important;
    flex: 1 1 calc(100% - 95px) !important;
    max-width: calc(100% - 95px) !important;
  }

  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper label.pewc-field-label,
  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper h4.pewc-field-label {
    flex: 0 0 140px !important;
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    margin-bottom: 0 !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    cursor: default !important;
  }

  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper select.pewc-form-field {
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper input.pewc-form-field[type="text"] {
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper input.pewc-form-field[type="number"] {
    width: 100% !important;
    flex: 1 1 auto !important;
    padding-right: 0 !important;
  }

  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper input.pewc-form-field[type="number"]::-webkit-inner-spin-button,
  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper input.pewc-form-field[type="number"]::-webkit-outer-spin-button {
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide PEWC field descriptions on mobile/tablet too */
  .pewc-item .pewc-description {
    display: none !important;
  }

  /* Fix Related Products Display */
  .wp-block-query ul.products-block-post-template,
  .wp-block-woocommerce-related-products ul.products-block-post-template {
    grid-template-columns: 1fr !important;
    display: grid !important;
    gap: 2rem !important;
  }
}

/* =============================================
   PEWC Additional Information — Inline Layout
   Label + field on the same line, narrower dropdowns
   ============================================= */

/* Container: vertical stack of fields */
ul.pewc-product-extra-groups:not(.cols-3) {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

/* Each field row: horizontal flex */
ul.pewc-product-extra-groups:not(.cols-3) li.pewc-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  margin-bottom: 0 !important;
}

ul.pewc-product-extra-groups:not(.cols-3) li.pewc-item::before,
ul.pewc-product-extra-groups:not(.cols-3) li.pewc-item::after {
  display: none !important;
}

/* Hide hidden fields */
ul.pewc-product-extra-groups:not(.cols-3) li.pewc-item.pewc-hidden-field,
ul.pewc-product-extra-groups:not(.cols-3) li.pewc-item.pewc-hidden-calculation,
ul.pewc-product-extra-groups:not(.cols-3) li.pewc-item.pewc-visibility-hidden {
  display: none !important;
}

/* Image swatch */
ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-image-wrapper {
  margin: 0 15px 0 0 !important;
  width: 80px !important;
  flex: 0 0 80px !important;
}

/* Field wrapper: label + input inline */
ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 15px !important;
}

/* Labels: fixed width, same line */
ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper label.pewc-field-label,
ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper h4.pewc-field-label {
  flex: 0 0 140px !important;
  width: 140px !important;
  min-width: 140px !important;
  max-width: 140px !important;
  margin-bottom: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  cursor: default !important;
}

/* Dropdowns: fill wrapper width so chevron sits flush right */
ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper select.pewc-form-field {
  width: 100% !important;
  flex: 1 1 auto !important;
}

/* Text inputs: fill wrapper width to match dropdowns */
ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper input.pewc-form-field[type="text"] {
  width: 100% !important;
  flex: 1 1 auto !important;
}

/* Number inputs: fill wrapper width, fix spinner arrow alignment */
ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper input.pewc-form-field[type="number"] {
  width: 100% !important;
  flex: 1 1 auto !important;
  -moz-appearance: textfield !important;
  appearance: auto !important;
  padding-right: 0 !important;
}

/* Ensure spinner buttons sit flush right inside number inputs */
ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper input.pewc-form-field[type="number"]::-webkit-inner-spin-button,
ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper input.pewc-form-field[type="number"]::-webkit-outer-spin-button {
  opacity: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Push fields without images flush-left with image fields (80px img + 15px gap = 95px) */
ul.pewc-product-extra-groups:not(.cols-3) .pewc-item:not(:has(.pewc-item-field-image-wrapper)) .pewc-item-field-wrapper {
  margin-left: 0 !important;
}

/* Hide PEWC field descriptions (underscore-named XML ref text beside fields) */
.pewc-item .pewc-description {
  display: none !important;
}

/* Group headings */
.pewc-group-heading-wrapper h3 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

/* Fix: PEWC select-box dropdowns clipped by parent overflow: hidden.
   The collapsible wrapper uses overflow:hidden for collapse animation,
   but expanded wrappers must allow dropdowns to overflow visually. */
.pewc-group-content-wrapper:not(.mw-collapsed) {
  overflow: visible !important;
}

/* Ensure dropdown popup sits above all other PEWC rows */
.dd-container {
  position: relative;
  z-index: 100;
}

.dd-select {
  position: relative;
  z-index: 100;
}

.dd-options {
  z-index: 2000 !important;
}

/* When a dropdown is open, boost its parent item above siblings */
.pewc-item:has(.dd-options[style*="display: block"]),
.pewc-item:has(.dd-options[style*="display:block"]) {
  z-index: 200 !important;
  position: relative;
}

/* Custom Textarea Spacing */
.woocommerce form textarea#mm_product_notes {
  margin: 6px;
}

/* WooCommerce Store Notice - fixed to bottom */
p.woocommerce-store-notice.demo_store {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0;
  z-index: 99999;
}

/* Fix: Gutenverse generates both background-blend-mode and mix-blend-mode
   when blendMode is set on a section background. The mix-blend-mode: overlay
   causes the hero section to wash out against the white page background.
   background-blend-mode is fine (blends image with element bg color),
   but mix-blend-mode blends the entire element with its parent. */
.guten-element.guten-section.guten-HrHi3f {
  mix-blend-mode: normal !important;
}

/* Phone: stack PEWC fields vertically (label above field) */
@media (max-width: 480px) {
  ul.pewc-product-extra-groups:not(.cols-3) li.pewc-item {
    flex-wrap: wrap !important;
  }

  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    gap: 5px !important;
  }

  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item:not(:has(.pewc-item-field-image-wrapper)) .pewc-item-field-wrapper {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }

  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper label.pewc-field-label,
  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-wrapper h4.pewc-field-label {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: unset !important;
    max-width: unset !important;
  }

  ul.pewc-product-extra-groups:not(.cols-3) .pewc-item .pewc-item-field-image-wrapper {
    flex: 0 0 60px !important;
    width: 60px !important;
    margin-right: 10px !important;
  }
}