:root { --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; display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 35px; }
.wcpp-product-controls .wcpp-open-product-configurator {cursor:pointer; border-radius: 6px; font-family: var(--wp--preset--font-family--libre-bodoni);
  font-size: var(--wp--preset--font-size--medium);
  font-style: normal;
  font-weight: 600;
  letter-spacing: inherit;
  text-transform: uppercase;
  font-size: 14px;
  color: #fff;
  background: #000;
  border: 1px solid #000;
  padding: 10px;}
  .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-selection-summary { color: #166534; font-size: .92rem; font-weight: 600; }
.wcpp-open-cart-configurator { display: block; font-size: .88rem; margin-top: 7px; }
.wcpp-block-cart-personalize { appearance: none; background: none; border: 0; cursor: pointer; font: inherit; 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: 1px solid var(--wcpp-border); border-radius: 999px; box-shadow: 0 3px 14px rgba(0, 0, 0, .13); color: var(--wcpp-dark); cursor: pointer; display: flex; font-family: Arial, sans-serif; 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; filter: saturate(.72) contrast(1.08);  font-weight: 600; justify-content: center; line-height: 1.08; opacity: var(--wcpp-engraving-opacity, .9); overflow: hidden; overflow-wrap: anywhere; padding: 3px; position: absolute; text-align: center; 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)); white-space: pre-wrap; }
.wcpp-modal-form { align-self: center; box-sizing: border-box; color: var(--wcpp-dark); padding: 0 58px 0 0; }
.wcpp-modal-form h2 { color: inherit;  font-size: clamp(1.7rem, 3vw, 2.35rem); font-weight: 700; 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; padding: 14px 0px; }
.wcpp-price-label { color: var(--wcpp-muted); display: block; font-size: .78rem;  line-height: 1.3; margin: 0 0 4px;}
.wcpp-modal .wcpp-price-line { align-items: baseline; color: var(--wcpp-dark); display: flex; flex-wrap: wrap;  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: inherit; 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: 750; line-height: inherit; 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: inherit; font: inherit; line-height: inherit; margin: 0; padding: 0; }
.wcpp-modal-form label { color: var(--wcpp-dark); display: block; font-size: .92rem; font-weight: 700; line-height: 1.35; margin: 24px 0 8px; }
.wcpp-modal-form .wcpp-text-input { appearance: none; background: #fff; border: 1px solid #bdb5ac; border-radius: 8px; box-shadow: none; box-sizing: border-box; color: var(--wcpp-dark);  font-size: 17px; line-height: 1.3; margin: 0; min-height: 50px; padding: 12px 13px; width: 100%; }
.wcpp-modal-form .wcpp-text-input:focus { border-color: var(--wcpp-accent); box-shadow: 0 0 0 3px rgba(113, 82, 54, .16); outline: 0; }
.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: 8px; box-shadow: none; box-sizing: border-box; cursor: pointer; display: inline-flex;  font-size: .94rem; font-weight: 700; justify-content: center; line-height: 1.2; margin: 0; min-height: 46px; padding: 10px 17px; text-decoration: none; text-transform: none; font-family: var(--wp--preset--font-family--libre-bodoni);
  font-size: var(--wp--preset--font-size--medium);
  font-style: normal;
  font-weight: 600;
  letter-spacing: inherit;
  text-transform: uppercase;
  font-size: 14px; }
.wcpp-modal .wcpp-modal-actions .wcpp-confirm { background: var(--wcpp-dark); border: 1px solid var(--wcpp-dark); 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: 1px solid #bdb5ac; color: var(--wcpp-dark); }
.wcpp-modal .wcpp-modal-actions .wcpp-secondary:hover,
.wcpp-modal .wcpp-modal-actions .wcpp-secondary:focus { background: var(--wcpp-soft); border-color: #9f968b; color: var(--wcpp-dark); }
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,
.wc-block-components-product-image,
.wc-block-grid__product,
.wp-block-woocommerce-product-image { 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; } }
