:root {
	--wp--preset--font-family:Poppins,Arial, Helvetica, sans-serif;
	--wcpp-muted:#777777;
	--wp--preset--font-family:#000;
}

.wcpp-modal, .wcpp-product-grid, .wcpp-block-cart-personalize, .wcpp-product-controls { --wcpp-accent: #715236; --wcpp-accent-dark: #513922; --wcpp-dark: #1b1815; --wcpp-muted: #716b64; --wcpp-surface: #fff; --wcpp-soft: #f6f3ee; --wcpp-border: #ded8cf; }
.wcpp-product-controls { align-items: center; box-sizing: border-box; display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 10px; width: 100%; }
.wcpp-product-controls[hidden] { display: none; }
.wcpp-product-controls .wcpp-open-product-configurator {box-sizing: border-box; cursor:pointer;  font-family: var(--wp--preset--font-family);
  font-size: var(--wp--preset--font-size--medium);
  font-style: normal;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 14px;
  color: #fff;
  background: #e4bcbe;
  border: 1px solid #e4bcbe;
   max-width: 282px;
  padding: 10px; width: 100%;}
	.wcpp-product-controls .wcpp-open-product-configurator:hover {
	 background-color: var(--wp--preset--color--contrast-2);
  border-color: var(--wp--preset--color--contrast-2);
  color: var(--wp--preset--color--base);
 
  }
.wcpp-product-personalization-price,
.wcpp-button-personalization-price { align-items: baseline; color: inherit; display: inline-flex; flex-wrap: wrap; gap: 5px; font-size: 1em; font-weight: inherit; }
.wcpp-product-personalization-price del,
.wcpp-button-personalization-price del { color: inherit; font-size: .78em; opacity: .7; }
.wcpp-product-personalization-price ins,
.wcpp-button-personalization-price ins { color: inherit; font-size: 1em; text-decoration: none; }
.wcpp-product-personalization-price .amount,
.wcpp-button-personalization-price .amount { color: inherit; font-size: inherit; }
.wcpp-selection-summary { color: #166534; font-size: .92rem; font-weight: 600; }
.woocommerce-cart-form button.wcpp-open-cart-configurator,
.wc-block-cart button.wcpp-open-cart-configurator,
.wp-block-woocommerce-cart button.wcpp-open-cart-configurator { appearance: none; background: transparent; border: 0; border-radius: 0; box-shadow: none; color: #1b1815; cursor: pointer; display: block; font-family: var(--wp--preset--font-family); font-size: .8rem; font-weight: 600; line-height: 1.3; margin: 7px 0 0; padding: 0; text-decoration: underline; text-underline-offset: 2px; text-transform: none; }
.woocommerce-cart-form button.wcpp-open-cart-configurator:hover,
.woocommerce-cart-form button.wcpp-open-cart-configurator:focus,
.wc-block-cart button.wcpp-open-cart-configurator:hover,
.wc-block-cart button.wcpp-open-cart-configurator:focus,
.wp-block-woocommerce-cart button.wcpp-open-cart-configurator:hover,
.wp-block-woocommerce-cart button.wcpp-open-cart-configurator:focus { background: transparent; border: 0; box-shadow: none; color: #513922; text-decoration: underline; }
.wcpp-block-cart-personalize { appearance: none; background: none; border: 0; color: var(--wcpp-accent); cursor: pointer; font: var(--wp--preset--font-family); font-size: .86rem; font-weight: 700; margin: 7px 0 0; padding: 0; text-decoration: underline; text-underline-offset: 2px; }
.wcpp-block-cart-personalize:hover,
.wcpp-block-cart-personalize:focus { color: var(--wcpp-accent-dark); text-decoration-thickness: 2px; }
.wcpp-modal { inset: 0; opacity: 0; pointer-events: none; position: fixed; transition: opacity .18s ease; z-index: 100000; }
.wcpp-modal[aria-hidden="false"] { opacity: 1; pointer-events: auto; }
.wcpp-modal-backdrop { background: rgba(20, 17, 14, .76); inset: 0; position: absolute; }
.wcpp-modal-dialog { background: var(--wcpp-surface); border: 1px solid rgba(255, 255, 255, .25); border-radius: 16px; box-shadow: 0 28px 80px rgba(0, 0, 0, .34); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr); left: 50%; max-height: calc(100vh - 40px); max-width: 1120px; overflow: auto; position: absolute; top: 50%; transform: translate(-50%, -50%); width: calc(100% - 40px); }
.wcpp-modal-close { align-items: center; appearance: none; background: rgba(255, 255, 255, .96); border: 0; border-radius: 999px; box-shadow: none; color: var(--wcpp-dark); cursor: pointer; display: flex; font-family: var(--wp--preset--font-family); font-size: 25px; font-weight: 400; height: 40px; justify-content: center; line-height: 1; margin: 0; padding: 0 0 3px; position: absolute; right: 14px; top: 14px; width: 40px; z-index: 3; }
.wcpp-modal-close:hover,
.wcpp-modal-close:focus { background: #fff; border-color: #aaa198; box-shadow: 0 0 0 3px rgba(113, 82, 54, .13); outline: 0; }
.wcpp-modal-preview { align-items: center; display: flex; justify-content: center; min-height: 560px; padding: 34px; }
.wcpp-preview-stage { max-height: 650px; max-width: 100%; overflow: hidden; position: relative; }
.wcpp-preview-stage > img { display: block; height: auto; max-height: 650px; max-width: 100%; object-fit: contain; }
.wcpp-preview-text { align-items: center; box-sizing: border-box; display: flex; justify-content: center; overflow: hidden; padding: 0; position: absolute; }
.wcpp-engraving-svg { display: block; flex: 0 0 auto; max-height: none; max-width: none; overflow: visible; pointer-events: none; }
.wcpp-engraving-svg-text { filter: none; font-family: "Segoe UI Symbol" !important; font-size: 3.5277777778px !important; font-stretch: normal !important; font-style: normal !important; font-variant: normal !important; font-weight: 400 !important; font-kerning: auto; letter-spacing: 0 !important; text-transform: none; }
.wcpp-engraving-text-part { letter-spacing: var(--wcpp-letter-spacing, 0); }
.wcpp-engraving-text-part { -webkit-text-fill-color: color-mix(in srgb, var(--wcpp-engraving-color, #3a332b) calc(100% - var(--wcpp-engraving-transparency, 0) * 1%), transparent); -webkit-text-stroke: var(--wcpp-outline-width, .35px) color-mix(in srgb, var(--wcpp-outline-color, #3a332b) 38%, transparent); color: color-mix(in srgb, var(--wcpp-engraving-color, #3a332b) calc(100% - var(--wcpp-engraving-transparency, 0) * 1%), transparent); filter: saturate(var(--wcpp-surface-saturation, .8075)) contrast(var(--wcpp-surface-contrast, 1.077)) brightness(var(--wcpp-surface-brightness, 1.014)); opacity: var(--wcpp-engraving-opacity, .9); paint-order: stroke fill; text-shadow: 0 var(--wcpp-shadow-depth, 1px) var(--wcpp-shadow-blur, 1px) rgba(255,255,255,var(--wcpp-highlight-alpha, .42)), 0 var(--wcpp-shadow-negative-depth, -1px) var(--wcpp-shadow-blur, 1px) rgba(0,0,0,var(--wcpp-shadow-alpha, .62)); }
.wcpp-engraving-symbol { display: inline-block; filter: var(--wcpp-symbol-filter); height: .7002em; margin: 0; max-height: none; max-width: none; object-fit: contain; opacity: var(--wcpp-symbol-opacity, .9); vertical-align: 0; width: auto; }
.wcpp-preview-text > * + * { margin-left: .1843em; }
.wcpp-preview-text > .wcpp-engraving-symbol + .wcpp-engraving-symbol { margin-left: .3686em; }
.wcpp-engraving-symbol-shape { background-color: #000; display: block; height: 100%; -webkit-mask-image: var(--wcpp-symbol-image); mask-image: var(--wcpp-symbol-image); -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: contain; mask-size: contain; width: 100%; }
.wcpp-engraving-symbol-filter { height: 0; overflow: hidden; pointer-events: none; position: absolute; width: 0; }
.wcpp-modal-form { align-self: center; box-sizing: border-box; color: var(--wcpp-dark); padding: 0 58px 0 0; }
.wcpp-modal-form h2 { color: var(--wp--preset--font-family); font-family: var(--wp--preset--font-family); font-size: clamp(1.7rem, 3vw, 1.35rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.08; margin: 0 0 10px; }
.wcpp-modal-description { color: var(--wcpp-muted); font-size: .96rem; line-height: 1.5; margin: 0; }
.wcpp-price-card { border-radius: 10px; box-sizing: border-box; margin: 0 0 0; padding: 14px 0; }
.wcpp-price-card .wcpp-price-label { text-transform: none; }
.wcpp-price-values { align-items: baseline; display: flex; flex-wrap: wrap; gap: 6px 14px; }
.wcpp-price-personalization > .wcpp-price-values > .wcpp-price-line .wcpp-price-current { font-size: 1.35rem; font-weight: 750; }
.wcpp-price-total { align-items: baseline; display: inline-flex; gap: 4px; }
.wcpp-price-total .wcpp-price-label { color: var(--wcpp-muted); display: inline; font-size: .8rem; font-weight: 400; letter-spacing: 0; margin: 0; }
.wcpp-modal .wcpp-price-total .wcpp-price-current {margin-left:5px; font-weight: 700; }
.wcpp-price-summary { border-top: 1px solid var(--wcpp-border); display: grid; gap: 7px; margin-top: 14px; padding-top: 12px; }
.wcpp-price-summary > div { display: flex; justify-content: space-between; gap: 16px; }
.wcpp-price-summary > div:last-child { border-top: 1px solid var(--wcpp-border); margin-top: 3px; padding-top: 9px; }
.wcpp-price-label { color: var(--wcpp-muted); display: block; font-size: .78rem; font-weight: 400; letter-spacing: .035em; line-height: 1.3; margin: 0 0 10px;}
.wcpp-modal .wcpp-price-line { align-items: baseline; color: var(--wcpp-dark); display: flex; flex-wrap: wrap; font-family: var(--wp--preset--font-family); gap: 8px; line-height: 1.2; margin: 0; }
.wcpp-modal .wcpp-price-regular { color: var(--wcpp-muted); display: inline; font-size: .98rem; font-weight: 400; line-height: var(--wp--preset--font-family); margin: 0; opacity: 1; text-decoration: line-through; white-space: nowrap; }
.wcpp-modal .wcpp-price-current { color: var(--wcpp-dark); display: inline; font-size: 1.48rem; font-weight: 600; line-height: var(--wp--preset--font-family); margin: 0; text-decoration: none; white-space: nowrap; }
.wcpp-modal .wcpp-price-sale { color: #8c3028; }
.wcpp-modal .wcpp-price-line .amount,
.wcpp-modal .wcpp-price-line .woocommerce-Price-amount,
.wcpp-modal .wcpp-price-line .woocommerce-Price-currencySymbol { color: var(--wp--preset--font-family); font: var(--wp--preset--font-family); line-height: var(--wp--preset--font-family); margin: 0; padding: 0; }
.wcpp-modal-form label { color: var(--wcpp-muted); display: block; font-size: .92rem; font-weight: 700; line-height: 1.35; margin: 0px 0 10px;font-size: .78rem;
  font-weight: 400; }
.wcpp-modal-form .wcpp-text-input { appearance: none; background: #fff; border: 1px solid #dfdfdf; border-radius: 8px; box-shadow: none; box-sizing: border-box; color: var(--wcpp-dark); font-family: var(--wp--preset--font-family); font-size: 12px; line-height: 1.3; margin: 0; min-height: 50px; padding: 15px 13px; width: 100%; }
.wcpp-modal-form .wcpp-text-input:focus { border-color: #e4bcbe; box-shadow: 0 0 0 3px rgba(113, 82, 54, .16); outline: 0; }
.wcpp-inline-editor { cursor: text; overflow-wrap: anywhere; white-space: pre-wrap; }
.wcpp-inline-editor:empty::before {content: attr(data-placeholder); pointer-events: none; }
.wcpp-editor-symbol { border: 0; border-radius: 0; box-sizing: content-box; display: inline-block; font-size: inherit; height: .7002em; line-height: 1; margin: 0 .1843em; max-width: none; padding: 0; vertical-align: 0; white-space: nowrap; width: auto; }
.wcpp-editor-symbol img { display: block; height: 100%; margin: 0; max-height: 100%; max-width: 100%; object-fit: contain; padding: 0; width: 100%; }
.wcpp-inline-symbol { display: inline-block; height: .9em; margin: 0 .06em; object-fit: contain; vertical-align: -.1em; width: .9em; }
.wcpp-inline-personalization { color: var(--wp--preset--font-family); overflow-wrap: anywhere; }
.wcpp-personalization-payload { display: none !important; }
.wcpp-personalization-text { color: var(--wp--preset--font-family) !important; opacity: 1; }
.wcpp-symbol-piece > .wcpp-inline-symbol + .wcpp-symbol-token { display: none; }
.wc-block-components-product-details > :has(.wcpp-inline-personalization) { display: block; margin-top: 7px; }
.wc-block-components-product-details__value:has(.wcpp-inline-personalization),
.wc-block-components-product-details__value > .wcpp-inline-personalization { display: block; white-space: pre-wrap; overflow-wrap: anywhere; }
.wc-block-components-product-details > :has(.wcpp-inline-personalization) > [aria-hidden="true"] { display: none; }
.wc-block-components-product-details .wcpp-inline-symbol { display: inline-block !important; float: none !important; width: .9em !important; height: .9em !important; max-width: .9em; margin: 0 .06em; vertical-align: -.1em; }
:is(.woocommerce-cart-form, .woocommerce-mini-cart, .woocommerce-checkout-review-order) dl.variation dt:has(+ dd .wcpp-inline-personalization),
:is(.woocommerce-cart-form, .woocommerce-mini-cart, .woocommerce-checkout-review-order) dl.variation dd:has(.wcpp-inline-personalization) { display: block; float: none; margin: 0; }
:is(.woocommerce-cart-form, .woocommerce-mini-cart, .woocommerce-checkout-review-order) dl.variation dt:has(+ dd .wcpp-inline-personalization) { margin-top: 7px; }
:is(.woocommerce-cart-form, .woocommerce-mini-cart, .woocommerce-checkout-review-order) dl.variation dd:has(.wcpp-inline-personalization) p { margin: 0; }
.wcpp-selection-summary .wcpp-inline-symbol { height: .9em; vertical-align: -.1em; width: .9em; }
.wcpp-symbol-picker { margin-top: 12px; }
.wcpp-symbol-picker-label { color: var(--wcpp-muted); display: block; font-size: .8rem; font-weight: 400; margin-bottom: 10px; }
.wcpp-symbol-options { box-sizing: border-box; display: flex; flex-wrap: wrap; gap: 6px; max-height: 122px; overflow: auto; padding: 4px; }
.wcpp-modal .wcpp-symbol-option { align-items: center; appearance: none; background: #fff; border: 1px solid var(--wcpp-border); border-radius: 7px; box-sizing: border-box; cursor: pointer; display: inline-flex; height: 38px; justify-content: center; margin: 0; padding: 10px; width: 38px; }
.wcpp-modal .wcpp-symbol-option:hover,
.wcpp-modal .wcpp-symbol-option:focus { background: var(--wcpp-soft); border-color: var(--wcpp-accent); outline: 0; }
.wcpp-symbol-option img { height: 100%; object-fit: contain; width: 100%; }
.wcpp-character-count { color: var(--wcpp-muted); font-size: .84rem; margin: 5px 0 0; text-align: right; }
.wcpp-modal-error { color: #b91c1c; font-size: .9rem; font-weight: 600; margin: 12px 0 0; }
.wcpp-modal-actions { display: flex; gap: 10px; margin-top: 26px; }
.wcpp-modal .wcpp-modal-actions .button { align-items: center; appearance: none; border-radius: 0px; box-shadow: none; box-sizing: border-box; cursor: pointer; display: inline-flex; font-family: var(--wp--preset--font-family); font-size: 14px; font-weight: 500; justify-content: center; line-height: 1.2; margin: 0; min-height: 46px; padding: 10px 17px; text-decoration: none; text-transform: uppercase; letter-spacing: .1em; }
.wcpp-modal .wcpp-modal-actions .wcpp-confirm { background: #e4bcbe; border: 1px solid #e4bcbe; color: #fff; flex: 1; }
.wcpp-modal .wcpp-modal-actions .wcpp-confirm:hover,
.wcpp-modal .wcpp-modal-actions .wcpp-confirm:focus { background: #000; border-color: #000; color: #fff; }
.wcpp-modal .wcpp-modal-actions .wcpp-confirm:disabled { cursor: wait; opacity: .6; }
.wcpp-modal .wcpp-modal-actions .wcpp-secondary { background: #fff; border: 2px solid #e4bcbe; color: var(--wcpp-dark); }
.wcpp-modal .wcpp-modal-actions .wcpp-secondary:hover,
.wcpp-modal .wcpp-modal-actions .wcpp-secondary:focus { background: #e4bcbe; border-color: #e4bcbe; color: #fff; }
html.wcpp-modal-open { overflow: hidden; }
.wcpp-product-grid { display: grid; gap: 24px; grid-template-columns: repeat(var(--wcpp-columns, 3), minmax(0, 1fr)); margin: 24px 0; }
.wcpp-product-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; box-shadow: 0 4px 16px rgba(17, 24, 39, .06); display: flex; flex-direction: column; overflow: hidden; }
.wcpp-product-card-image { aspect-ratio: 1 / 1; background: #f3f4f6; display: block; overflow: hidden; }
.wcpp-product-card-image img { height: 100%; object-fit: cover; transition: transform .2s ease; width: 100%; }
.wcpp-product-card:hover .wcpp-product-card-image img { transform: scale(1.025); }
.wcpp-product-card-body { align-items: flex-start; display: flex; flex: 1; flex-direction: column; padding: 18px; }
.wcpp-product-card h3 { font-size: 1.1rem; line-height: 1.25; margin: 0 0 8px; }
.wcpp-product-card h3 a { color: #111827; text-decoration: none; }
.wcpp-product-card-price { margin-bottom: 16px; }
.wcpp-product-card .button { margin-top: auto; }
.wcpp-no-products { grid-column: 1 / -1; }
.wcpp-personalization-badge { background: #111827; border-radius: 999px; color: #fff; display: inline-block; font-size: 11px; font-weight: 800; left: 10px; letter-spacing: .035em; line-height: 1; padding: 7px 9px; position: absolute; text-transform: uppercase; top: 10px; z-index: 4; }
.products .product:has(.wcpp-personalization-badge),
.wc-block-components-product-image:has(.wcpp-personalization-badge),
.wc-block-grid__product:has(.wcpp-personalization-badge),
.wp-block-woocommerce-product-image:has(.wcpp-personalization-badge) { position: relative; }
@media (max-width: 800px) {
	.wcpp-modal-dialog { display: block; max-height: calc(100vh - 20px); width: calc(100% - 20px); }
	.wcpp-modal-preview { min-height: 0; padding: 20px; }
	.wcpp-preview-stage > img { max-height: 42vh; }
	.wcpp-modal-form { padding: 28px 22px 22px; }
	.wcpp-modal-actions { flex-direction: column-reverse; }
	.wcpp-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) { .wcpp-product-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .wcpp-modal, .wcpp-product-card-image img { transition: none; } }
