/* Geer Woo Brick Customizer — customer-facing polish */
.gwb-customizer{margin:1.25rem 0 2rem;padding:clamp(1rem,2vw,1.5rem);border:1px solid #dedede;border-radius:14px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.06)}
.gwb-preview-shell{display:flex;justify-content:center;padding:clamp(1rem,2.5vw,1.65rem);background:linear-gradient(180deg,#f7f7f7,#eeeeee);border:1px solid #e5e5e5;border-radius:12px;margin-bottom:1.25rem}
.gwb-preview{position:relative;overflow:hidden;background:var(--gwb-brick-color,#9D6F40);box-shadow:inset 0 0 0 5px rgba(255,255,255,.13),inset -8px -8px 10px rgba(0,0,0,.22),inset 8px 8px 10px rgba(255,255,255,.12),0 5px 16px rgba(0,0,0,.22);isolation:isolate;transition:background-color .2s ease}
.gwb-preview:before{content:"";position:absolute;inset:0;background-image:url('../images/brick-texture-seamless.png');background-size:45% auto;background-repeat:repeat;background-position:0 0;opacity:.68;mix-blend-mode:multiply;pointer-events:none;z-index:1}
.gwb-wide{width:min(760px,100%);aspect-ratio:2/1}.gwb-square{width:min(560px,100%);aspect-ratio:1/1}
.gwb-text-zone{position:absolute;z-index:3;display:flex;flex-direction:column;justify-content:space-evenly;text-align:center;inset:12% 9%}
.gwb-preview-line{font-family:Georgia,'Times New Roman',serif;font-weight:700;color:#111;font-size:clamp(15px,2.1vw,30px);line-height:1.03;white-space:nowrap;text-shadow:0 1px rgba(255,255,255,.15)}
.gwb-preview-clipart{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;text-align:center;color:#222;font-weight:700}
.gwb-preview-clipart img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) contrast(1.4) brightness(.25);transition:transform .18s ease}.gwb-preview-clipart img:hover{transform:scale(1.02)}
/* Template-specific engraving zones */
.gwb-template-4x8_clip_3x12 .gwb-preview-clipart{left:6%;top:15%;bottom:15%;width:31%}.gwb-template-4x8_clip_3x12 .gwb-text-zone{left:42%;right:7%;top:12%;bottom:12%}
.gwb-template-4x8_clip_2x20 .gwb-preview-clipart{left:7%;top:18%;bottom:18%;width:27%}.gwb-template-4x8_clip_2x20 .gwb-text-zone{left:37%;right:6%;top:18%;bottom:18%}
.gwb-template-8x8_clip_4x20 .gwb-preview-clipart{left:30%;right:30%;top:7%;height:28%}.gwb-template-8x8_clip_4x20 .gwb-text-zone{left:9%;right:9%;top:37%;bottom:8%}.gwb-template-8x8_clip_4x20 .gwb-preview-line{font-size:clamp(14px,2vw,27px)}
.gwb-template-8x8_text_6x20 .gwb-text-zone{inset:9% 9%}.gwb-template-8x8_text_6x20 .gwb-preview-line{font-size:clamp(13px,1.9vw,25px)}
.gwb-fields{display:grid;gap:1rem}.gwb-fieldset{border:1px solid #dedede;border-radius:10px;padding:1rem 1.05rem;background:#fff}.gwb-fieldset legend{font-weight:700;padding:0 .45rem;color:#222}.gwb-fieldset:focus-within{border-color:#b7b7b7;box-shadow:0 0 0 2px rgba(0,0,0,.03)}
.gwb-color-options{display:flex;flex-wrap:wrap;gap:.8rem 1rem}.gwb-color-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:600}.gwb-color-option input{position:absolute;opacity:0;pointer-events:none}.gwb-swatch{display:inline-block;width:52px;height:34px;border-radius:6px;background:var(--swatch);border:2px solid #fff;box-shadow:0 0 0 1px #aaa;transition:.15s}.gwb-color-option:hover .gwb-swatch{transform:translateY(-1px)}.gwb-color-option input:checked+.gwb-swatch{box-shadow:0 0 0 3px #111}
.gwb-clipart-filter{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 .9rem}.gwb-filter-button{appearance:none;border:1px solid #c9c9c9;background:#fff;border-radius:999px;padding:.42rem .75rem;cursor:pointer;font:inherit;line-height:1.2}.gwb-filter-button:hover{border-color:#777}.gwb-filter-button.is-active{background:#111;color:#fff;border-color:#111}
.gwb-clipart-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem}.gwb-clip-option[hidden]{display:none!important}.gwb-clip-option input{position:absolute;opacity:0;pointer-events:none}.gwb-clip-card{position:relative;display:flex;min-height:150px;height:100%;flex-direction:column;gap:.55rem;align-items:center;justify-content:center;padding:.85rem;border:2px solid #ddd;border-radius:10px;text-align:center;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s}.gwb-clip-card:hover{border-color:#999;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06)}.gwb-clip-card img{width:92px;height:92px;object-fit:contain}.gwb-clip-card strong{line-height:1.2;font-size:.96rem}.gwb-clip-card small{color:#666;line-height:1.1}.gwb-clip-option input:checked+.gwb-clip-card{border-color:#111;background:#fafafa;box-shadow:0 0 0 2px #111,0 5px 14px rgba(0,0,0,.08)}.gwb-clip-option input:checked+.gwb-clip-card:after{content:"✓";position:absolute;top:7px;right:9px;width:22px;height:22px;border-radius:50%;background:#111;color:#fff;font-weight:700;line-height:22px;text-align:center;font-size:13px}
.gwb-help,.gwb-admin-note{color:#666;margin-top:.2rem}.gwb-text-field{display:block;position:relative;margin:.95rem 0;font-weight:700}.gwb-text-field input{box-sizing:border-box;width:100%;min-height:46px;margin-top:.35rem;padding:.65rem .75rem!important;font-size:1rem!important;line-height:1.25;text-transform:uppercase;border-radius:6px!important}.gwb-text-field input:focus{outline:none;border-color:#555!important;box-shadow:0 0 0 2px rgba(0,0,0,.08)!important}.gwb-counter{position:absolute;right:0;font-weight:500;color:#666;font-size:.9rem}.gwb-counter.is-near-limit{color:#b05a00;font-weight:700}.gwb-counter.is-at-limit{color:#b42318;font-weight:700}
.gwb-notes{display:block;font-weight:600;color:#555}.gwb-notes textarea{box-sizing:border-box;width:100%;margin-top:.35rem;padding:.65rem .75rem;border-radius:7px;min-height:78px}.gwb-preview-choice{font-size:.86rem;font-weight:700;opacity:.75;text-transform:uppercase;letter-spacing:.02em}.gwb-no-art{padding:.75rem;background:#fff8e5;border-left:4px solid #dba617}
/* Make brick products feel like a dedicated configurator in common Woo/Divi layouts. */
body.gwb-brick-product .woocommerce-product-gallery,body.gwb-brick-product div.product div.images{display:none!important}
body.gwb-brick-product div.product div.summary,body.gwb-brick-product .woocommerce div.product .summary{float:none!important;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
body.gwb-brick-product #left-area{width:100%!important;padding-right:0!important}
body.gwb-brick-product #main-content .container:before{display:none!important}
body.gwb-brick-product #sidebar{display:none!important}
body.gwb-brick-product .product_meta{margin-top:1rem}
body.gwb-brick-product form.cart{width:100%}
/* Desktop: preview stays visible while fields are edited. */
@media(min-width:980px){body.gwb-brick-product .gwb-customizer{display:grid;grid-template-columns:minmax(420px,1.12fr) minmax(360px,.88fr);gap:1.35rem;align-items:start}.gwb-customizer>.gwb-preview-shell{position:sticky;top:90px;margin:0;min-height:430px;align-items:center}.gwb-customizer>.gwb-fields{grid-column:2}.gwb-customizer>input[type=hidden]{display:none}.gwb-wide{width:min(760px,100%)}.gwb-clipart-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:979px){body.gwb-brick-product #sidebar{display:none!important}.gwb-wide{width:min(720px,100%)}}
@media(max-width:600px){.gwb-customizer{padding:.8rem;border-radius:10px}.gwb-preview-shell{padding:.8rem}.gwb-preview-line{font-size:clamp(11px,4.5vw,20px)}.gwb-template-4x8_clip_3x12 .gwb-text-zone{left:40%}.gwb-template-4x8_clip_2x20 .gwb-text-zone{left:35%}.gwb-clipart-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.gwb-clip-card{min-height:124px;padding:.55rem}.gwb-clip-card img{width:76px;height:76px}.gwb-swatch{width:44px;height:30px}.gwb-text-field input{min-height:44px}.gwb-preview-choice{font-size:.68rem}}

/* 0.5.0 storefront refinement */
.gwb-preview-shell{position:relative;padding:3.1rem clamp(1rem,2.2vw,1.5rem) clamp(1.1rem,2vw,1.45rem);min-height:0!important}
.gwb-preview-label{position:absolute;top:1rem;left:1.15rem;font-size:.82rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#555}
.gwb-preview-label:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#222;margin-right:.5rem;vertical-align:1px}
.gwb-preview{width:100%}
.gwb-fieldset{padding:.9rem 1rem}
.gwb-fieldset legend{display:flex;align-items:center;gap:.45rem}
.gwb-step{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#222;color:#fff;font-size:.78rem;line-height:1;font-weight:800}
.gwb-color-options{gap:.55rem}.gwb-color-option{position:relative;padding:.48rem .65rem;border:1px solid #ddd;border-radius:9px;background:#fff;min-width:145px;transition:border-color .15s,box-shadow .15s,transform .15s}.gwb-color-option:hover{border-color:#aaa;box-shadow:0 2px 8px rgba(0,0,0,.05)}.gwb-color-option:has(input:checked){border-color:#222;box-shadow:0 0 0 1px #222}.gwb-swatch{width:38px;height:27px;border-radius:5px}
.gwb-clipart-options{gap:.65rem}.gwb-clip-card{min-height:132px;padding:.65rem;gap:.38rem}.gwb-clip-card img{width:76px;height:76px}.gwb-clip-card strong{font-size:.88rem}.gwb-clip-card small{font-size:.75rem}
.gwb-help{font-size:.9rem;line-height:1.45;margin-bottom:.55rem}.gwb-text-field{margin:.62rem 0}.gwb-text-field input{min-height:44px!important;margin-top:.25rem!important}.gwb-counter{font-size:.82rem}
.gwb-notes{margin-top:.1rem;padding:.85rem 1rem;border:1px solid #e2e2e2;border-radius:10px;background:#fafafa}.gwb-notes>span{display:block;font-weight:700;color:#444}.gwb-notes textarea{min-height:70px;background:#fff}
body.gwb-brick-product form.cart .quantity{margin-top:.35rem}
@media(min-width:1180px){body.gwb-brick-product .gwb-customizer{grid-template-columns:minmax(460px,1.1fr) minmax(500px,.9fr);gap:1.5rem}.gwb-customizer>.gwb-preview-shell{top:86px;align-self:start}.gwb-clipart-options{grid-template-columns:repeat(3,minmax(0,1fr))}.gwb-clip-card{min-height:126px}.gwb-clip-card img{width:70px;height:70px}}
@media(min-width:980px) and (max-width:1179px){.gwb-customizer>.gwb-preview-shell{min-height:0!important}.gwb-clipart-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gwb-preview-shell{padding-top:2.8rem}.gwb-preview-label{top:.8rem;left:.9rem}.gwb-color-option{min-width:0;flex:1 1 calc(50% - .4rem)}.gwb-step{width:22px;height:22px}}

/* 0.6.0 guided, mistake-resistant ordering flow */
.gwb-reset{position:absolute;top:.72rem;right:1rem;border:0;background:transparent;color:#555;text-decoration:underline;cursor:pointer;font:inherit;font-size:.82rem;padding:.2rem .25rem}.gwb-reset:hover{color:#111}
.gwb-required{display:inline-flex;align-items:center;border-radius:999px;background:#fff2cc;color:#6b5300;padding:.18rem .45rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.gwb-step-status{margin-left:auto;border-radius:999px;background:#f1f1f1;color:#666;padding:.2rem .5rem;font-size:.72rem;font-weight:700;white-space:nowrap}.gwb-step-status.is-complete{background:#e8f5eb;color:#19692c}
.gwb-text-field input::placeholder{color:#999;letter-spacing:.02em}
.gwb-review{background:#fbfbfb}.gwb-review-intro{margin:.15rem 0 .85rem;line-height:1.45}.gwb-review-summary{display:grid;gap:.5rem;margin:.6rem 0 .95rem}.gwb-review-summary>div{display:grid;grid-template-columns:minmax(100px,.35fr) 1fr;gap:.75rem;padding:.62rem .7rem;background:#fff;border:1px solid #e4e4e4;border-radius:8px}.gwb-review-summary span{color:#666;font-size:.88rem}.gwb-review-summary strong{overflow-wrap:anywhere}.gwb-approval{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem;border:2px solid #ddd;border-radius:10px;background:#fff;font-weight:700;line-height:1.4;cursor:pointer}.gwb-approval:has(input:checked){border-color:#222;background:#fafafa}.gwb-approval input{margin-top:.2rem;transform:scale(1.18)}.gwb-review-note{margin:.7rem 0 0;color:#666;font-size:.82rem;line-height:1.4}
.gwb-pulse{animation:gwbPulse .42s ease}@keyframes gwbPulse{0%{transform:scale(1)}45%{transform:scale(1.045)}100%{transform:scale(1)}}
body.gwb-brick-product form.cart .single_add_to_cart_button{transition:transform .15s ease,box-shadow .15s ease}.single_add_to_cart_button.gwb-approved{box-shadow:0 0 0 3px rgba(0,0,0,.08);transform:translateY(-1px)}
@media(max-width:600px){.gwb-step-status{display:none}.gwb-review-summary>div{grid-template-columns:1fr;gap:.2rem}.gwb-reset{top:.62rem;right:.7rem}}

/* 0.6.1 preview spacing + clearer reset control */
.gwb-customizer,.gwb-preview-shell,.gwb-preview{box-sizing:border-box;min-width:0}
.gwb-preview-shell{
  overflow:visible;
  padding-left:clamp(1.25rem,3vw,1.85rem);
  padding-right:clamp(1.25rem,3vw,1.85rem);
}
.gwb-preview-shell>.gwb-preview{
  width:calc(100% - .35rem);
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}
.gwb-reset{
  top:.68rem;
  right:.9rem;
  display:inline-flex;
  align-items:center;
  gap:.38rem;
  min-height:34px;
  padding:.38rem .72rem;
  border:1px solid #b8b8b8;
  border-radius:999px;
  background:#fff;
  color:#333;
  text-decoration:none;
  font-size:.8rem;
  font-weight:750;
  line-height:1;
  box-shadow:0 2px 7px rgba(0,0,0,.06);
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,color .15s ease;
}
.gwb-reset:hover,.gwb-reset:focus-visible{
  background:#f4f4f4;
  border-color:#777;
  color:#111;
  box-shadow:0 3px 10px rgba(0,0,0,.09);
  transform:translateY(-1px);
  outline:none;
}
.gwb-reset-icon{font-size:1rem;line-height:1;font-weight:700}
.gwb-preview-label{padding-right:7.75rem}
@media(min-width:980px){
  .gwb-customizer>.gwb-preview-shell{padding-left:1.55rem;padding-right:1.55rem}
  .gwb-customizer>.gwb-preview-shell>.gwb-preview{width:calc(100% - .45rem)}
}
@media(max-width:600px){
  .gwb-preview-shell{padding-left:.95rem;padding-right:.95rem}
  .gwb-preview-shell>.gwb-preview{width:100%}
  .gwb-reset{top:.48rem;right:.55rem;min-height:31px;padding:.34rem .58rem;font-size:.75rem}
  .gwb-preview-label{padding-right:6.75rem}
}


/* 0.6.2 normalize clip-art card artwork and label alignment */
.gwb-clip-card{
  justify-content:flex-start;
  min-height:148px;
}
.gwb-clip-card img{
  display:block;
  width:78px;
  height:78px;
  flex:0 0 78px;
  margin:0 auto .1rem;
  object-fit:contain;
  object-position:center center;
}
.gwb-clip-card strong{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:2.45em;
  margin-top:auto;
  line-height:1.18;
  text-align:center;
}
.gwb-clip-card small{
  width:100%;
  min-height:1em;
  text-align:center;
}
@media(min-width:1180px){
  .gwb-clip-card{min-height:148px}
  .gwb-clip-card img{width:78px;height:78px;flex-basis:78px}
}
@media(max-width:600px){
  .gwb-clip-card{min-height:132px}
  .gwb-clip-card img{width:70px;height:70px;flex-basis:70px}
  .gwb-clip-card strong{min-height:2.35em}
}


/* 0.6.3 keep maximum-length engraving text safely inside the brick */
.gwb-preview-line{max-width:100%;margin-inline:auto;box-sizing:border-box}
.gwb-template-4x8_clip_3x12 .gwb-text-zone{left:41.5%;right:8.5%;padding-inline:1.5%}
@media(max-width:600px){
  .gwb-template-4x8_clip_3x12 .gwb-text-zone{left:40%;right:7.5%;padding-inline:1%}
}

/* 0.6.4 review proof + max-length spacing refinements */
.gwb-review-text-block{align-items:start}.gwb-review-lines{display:grid;gap:.34rem;width:100%}.gwb-review-line{display:grid;grid-template-columns:64px minmax(0,1fr);gap:.65rem;align-items:baseline}.gwb-review-line span{font-size:.78rem;color:#777}.gwb-review-line strong{font-size:.94rem;line-height:1.3;overflow-wrap:anywhere}.gwb-template-4x8_clip_3x12 .gwb-text-zone{left:41%;right:10%;padding-inline:1.5%}
@media(max-width:600px){.gwb-review-line{grid-template-columns:55px minmax(0,1fr)}.gwb-template-4x8_clip_3x12 .gwb-text-zone{left:40%;right:8.5%;padding-inline:1%}}



/* 0.6.6 character-limit completion state; vendor limits are authoritative */
/* Keep one fixed preview size per layout; no visual-width error state. */
.gwb-preview-line{font-size:clamp(15px,2.0vw,28px)!important;color:#111!important;text-shadow:0 1px rgba(255,255,255,.15)!important}
.gwb-template-4x8_clip_3x12 .gwb-preview-line{font-size:clamp(14px,1.85vw,26px)!important}
.gwb-template-4x8_clip_2x20 .gwb-preview-line{font-size:clamp(13px,1.7vw,24px)!important}
.gwb-template-8x8_clip_4x20 .gwb-preview-line{font-size:clamp(14px,2vw,27px)!important}
.gwb-template-8x8_text_6x20 .gwb-preview-line{font-size:clamp(13px,1.9vw,25px)!important}
.gwb-counter.is-at-limit{color:#19692c!important;font-weight:800}
.gwb-line-status{display:block;min-height:1.05em;margin-top:.26rem;font-size:.76rem;line-height:1.2;font-weight:700;color:#666}
.gwb-line-status.is-full{color:#19692c}
.gwb-text-field:has(.gwb-line-status.is-full) input{border-color:#90b99a!important;box-shadow:0 0 0 2px rgba(25,105,44,.07)!important}
@media(max-width:600px){
  .gwb-preview-line{font-size:clamp(11px,4.2vw,19px)!important}
  .gwb-template-4x8_clip_3x12 .gwb-preview-line{font-size:clamp(10.5px,3.8vw,18px)!important}
  .gwb-template-4x8_clip_2x20 .gwb-preview-line{font-size:clamp(10px,3.5vw,17px)!important}
  .gwb-template-8x8_clip_4x20 .gwb-preview-line,.gwb-template-8x8_text_6x20 .gwb-preview-line{font-size:clamp(10px,4vw,18px)!important}
}


/* 0.7.0 production-readiness polish */
.gwb-fieldset.gwb-step-complete{border-color:#b9d4bf;box-shadow:0 0 0 1px rgba(25,105,44,.04)}
.gwb-fieldset.gwb-step-complete>legend .gwb-step{background:#19692c}
.gwb-clip-card img[loading="lazy"]{content-visibility:auto}
@media(max-width:979px){
  body.gwb-brick-product .gwb-customizer{display:block}
  .gwb-customizer>.gwb-preview-shell{position:relative!important;top:auto!important;margin-bottom:1rem}
}
@media(max-width:600px){
  .gwb-customizer{margin-top:.75rem}
  .gwb-preview-shell{margin-bottom:.8rem}
  .gwb-fieldset{padding:.8rem .85rem}
  .gwb-approval{font-size:.94rem}
  body.gwb-brick-product form.cart .single_add_to_cart_button{width:100%;min-height:48px}
}

/* 0.8.0 data-driven layout support */
.gwb-preview.gwb-layout-dynamic{width:100%;max-width:760px;height:auto}
@media(min-width:980px){.gwb-preview.gwb-layout-dynamic{max-width:760px}}


/* 0.8.5: keep validation feedback inside the builder without losing customer entries. */
.gwb-inline-error {
  margin: 0 0 18px;
  padding: 13px 16px;
  border: 1px solid #d63638;
  border-left-width: 4px;
  border-radius: 8px;
  background: #fff5f5;
  color: #8a1f1f;
  font-weight: 600;
  line-height: 1.45;
}

/* 0.9.0 final proof modal */
body.gwb-proof-open{overflow:hidden}
.gwb-final-proof[hidden]{display:none!important}
.gwb-final-proof{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.gwb-final-proof__backdrop{position:absolute;inset:0;background:rgba(17,17,17,.58)}
.gwb-final-proof__dialog{position:relative;z-index:1;width:min(980px,100%);max-height:min(92vh,980px);overflow:auto;border-radius:18px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.gwb-final-proof__content{padding:1.2rem 1.2rem 1.35rem}
.gwb-final-proof__close{position:absolute;top:.75rem;right:.85rem;width:38px;height:38px;border:1px solid #d5d5d5;border-radius:999px;background:#fff;color:#444;font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.gwb-final-proof__close:hover,.gwb-final-proof__close:focus-visible{background:#f7f7f7;color:#111;outline:none}
.gwb-final-proof__eyebrow{display:inline-flex;align-items:center;border-radius:999px;background:#f5f0d6;color:#6b5300;padding:.22rem .6rem;font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.gwb-final-proof__header h3{margin:.65rem 0 .35rem;font-size:1.6rem;line-height:1.2}
.gwb-final-proof__header p{margin:0 0 1rem;color:#60656b;line-height:1.5}
.gwb-final-proof__preview{display:flex;justify-content:center;padding:1rem;border:1px solid #ececec;border-radius:16px;background:#fafafa}
.gwb-final-proof__preview .gwb-preview{width:100%;max-width:860px;margin:0}
.gwb-final-proof__preview .gwb-preview-choice{font-size:1rem}
.gwb-final-proof__summary{display:grid;gap:.7rem;margin-top:1rem}
.gwb-final-proof__summary>div{display:grid;grid-template-columns:minmax(110px,.28fr) 1fr;gap:.85rem;padding:.8rem .95rem;border:1px solid #e7e7e7;border-radius:12px;background:#fff}
.gwb-final-proof__summary span{color:#666;font-size:.9rem}
.gwb-final-proof__summary strong{overflow-wrap:anywhere;color:#111}
.gwb-final-proof__summary-block{align-items:start}
.gwb-final-proof__lines{display:grid;gap:.42rem}
.gwb-final-proof__line{display:grid;grid-template-columns:64px minmax(0,1fr);gap:.65rem;align-items:baseline}
.gwb-final-proof__line span{font-size:.8rem;color:#777}
.gwb-final-proof__notes strong{white-space:pre-wrap}
.gwb-final-proof__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1rem}
.gwb-proof-back,.gwb-proof-confirm{appearance:none;border:none;border-radius:999px;cursor:pointer;font:inherit;font-weight:800;line-height:1.1;padding:.95rem 1.2rem;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease}
.gwb-proof-back{background:#f1f1f1;color:#333}
.gwb-proof-back:hover,.gwb-proof-back:focus-visible{background:#e8e8e8;outline:none}
.gwb-proof-confirm{background:#e0c23a;color:#111;box-shadow:0 2px 12px rgba(0,0,0,.1)}
.gwb-proof-confirm:hover,.gwb-proof-confirm:focus-visible{background:#d6b62a;transform:translateY(-1px);outline:none}
.single_add_to_cart_button.gwb-proof-confirmed{box-shadow:0 0 0 3px rgba(25,105,44,.12)}
@media(max-width:782px){
  .gwb-final-proof{padding:12px}
  .gwb-final-proof__content{padding:1rem .95rem 1.1rem}
  .gwb-final-proof__header h3{font-size:1.3rem;padding-right:2.25rem}
  .gwb-final-proof__summary>div{grid-template-columns:1fr;gap:.2rem}
  .gwb-final-proof__line{grid-template-columns:55px minmax(0,1fr)}
  .gwb-final-proof__actions{justify-content:stretch}
  .gwb-proof-back,.gwb-proof-confirm{width:100%;text-align:center}
}


/* 0.9.1 mobile widening + tap-friendly layout */
@media(max-width:782px){
  body.gwb-brick-product .gwb-customizer{
    width:auto;
    max-width:none;
    margin-left:calc(50% - 50vw + 12px);
    margin-right:calc(50% - 50vw + 12px);
    padding:.85rem .75rem 1rem;
  }
  body.gwb-brick-product .gwb-customizer>.gwb-preview-shell,
  body.gwb-brick-product .gwb-customizer>.gwb-fields{
    width:100%;
    max-width:none;
  }
  .gwb-preview-shell{
    padding:3rem .7rem .85rem;
  }
  .gwb-preview-shell>.gwb-preview{
    width:100%;
  }
  .gwb-fieldset{
    padding:.8rem .72rem;
  }
  .gwb-color-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.6rem;
  }
  .gwb-color-option{
    width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .gwb-color-option:last-child{
    grid-column:1 / -1;
  }
}
@media(max-width:480px){
  body.gwb-brick-product .gwb-customizer{
    margin-left:calc(50% - 50vw + 7px);
    margin-right:calc(50% - 50vw + 7px);
    padding:.75rem .55rem .95rem;
  }
  .gwb-preview-shell{
    padding:2.9rem .55rem .75rem;
  }
  .gwb-preview-label{
    left:.85rem;
    padding-right:6.15rem;
  }
  .gwb-reset{
    right:.5rem;
  }
}

/* 0.9.2 real-brick rendering pass */
.gwb-preview.gwb-real-surface{
  background-color:var(--gwb-brick-color,#9D6F40);
  background-size:100% 100%;
  background-position:center center;
  background-repeat:no-repeat;
  border-radius:2px;
  box-shadow:0 7px 18px rgba(0,0,0,.20);
}
.gwb-preview.gwb-real-surface:before{
  opacity:.10;
  mix-blend-mode:overlay;
}
.gwb-preview.gwb-real-surface:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 -2px 3px rgba(0,0,0,.14),inset 0 2px 2px rgba(255,255,255,.10);
}
.gwb-preview-line{
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
  font-weight:600!important;
  letter-spacing:.018em!important;
  line-height:1.02!important;
  color:#0b0b0b!important;
  text-shadow:0 1px 0 rgba(255,255,255,.08)!important;
  mix-blend-mode:multiply;
  opacity:.96;
}
.gwb-preview-clipart{
  mix-blend-mode:multiply;
}
.gwb-preview-clipart img{
  filter:grayscale(1) contrast(1.55) brightness(.30)!important;
  opacity:.95;
}
.gwb-preview-choice{
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
  font-weight:600;
  letter-spacing:.03em;
  color:#222;
  mix-blend-mode:multiply;
}
.gwb-final-proof__preview .gwb-preview-line{
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
  font-weight:600!important;
}
@media(max-width:600px){
  .gwb-preview-line{letter-spacing:.01em!important}
}


/* 0.9.3 installed-brick typography fine tuning */
.gwb-preview-line{
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
  font-weight:500!important;
  letter-spacing:.006em!important;
  line-height:1!important;
  text-shadow:0 .45px 0 rgba(255,255,255,.12)!important;
}
.gwb-preview-choice{
  white-space:nowrap;
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.015em;
}
.gwb-preview-clipart img{
  filter:grayscale(1) contrast(1.45) brightness(.34)!important;
}
@media(max-width:600px){
  .gwb-preview-choice{font-size:.58rem}
}


/* 0.9.4 production-look refinement */
.gwb-preview-line{
  font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif!important;
  font-weight:500!important;
  letter-spacing:.002em!important;
  line-height:1.02!important;
  color:#111!important;
  opacity:.94;
}
.gwb-preview-choice{
  font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;
  font-weight:500;
  letter-spacing:.01em;
}
.gwb-preview-clipart img{
  filter:grayscale(1) contrast(1.38) brightness(.37)!important;
  opacity:.93;
}
.gwb-template-4x8_clip_2x20 .gwb-preview-clipart{left:8.5%;top:21%;bottom:21%;width:22.5%}
.gwb-template-4x8_clip_2x20 .gwb-text-zone{left:38%;right:7%;top:22%;bottom:22%}
.gwb-template-4x8_clip_3x12 .gwb-preview-clipart{left:7.5%;top:20%;bottom:20%;width:24%}
.gwb-template-4x8_clip_3x12 .gwb-text-zone{left:39%;right:7.5%;top:16%;bottom:16%}
.gwb-template-8x8_clip_4x20 .gwb-preview-clipart{left:32%;right:32%;top:9%;height:24%}
.gwb-template-8x8_clip_4x20 .gwb-text-zone{left:10%;right:10%;top:36%;bottom:10%}
.gwb-template-4x8_clip_3x12 .gwb-preview-line,
.gwb-template-4x8_clip_2x20 .gwb-preview-line{font-size:clamp(15px,2vw,27px)}
.gwb-template-8x8_clip_4x20 .gwb-preview-line{font-size:clamp(14px,1.85vw,25px)}
@media(max-width:600px){
  body.gwb-brick-product .product_title{font-size:clamp(2.2rem,9.8vw,3.2rem)!important;line-height:1.02!important}
  .gwb-template-4x8_clip_2x20 .gwb-preview-clipart{left:8%;top:20%;bottom:20%;width:23%}
  .gwb-template-4x8_clip_2x20 .gwb-text-zone{left:37.5%;right:6.5%;top:22%;bottom:22%}
  .gwb-template-4x8_clip_3x12 .gwb-preview-clipart{left:7%;top:19%;bottom:19%;width:24.5%}
  .gwb-template-4x8_clip_3x12 .gwb-text-zone{left:38.5%;right:7%;top:16%;bottom:16%}
}


/* 0.9.5 Belleza engraving typography */
.gwb-preview-line{
  font-family:"Belleza",Optima,Candara,"Segoe UI",Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:.004em!important;
  line-height:1.02!important;
  color:#101010!important;
  opacity:.97;
  text-shadow:0 .35px 0 rgba(255,255,255,.12)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.gwb-preview-choice{
  font-family:"Belleza",Optima,Candara,"Segoe UI",Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:.012em!important;
}
.gwb-final-proof__preview .gwb-preview-line{
  font-family:"Belleza",Optima,Candara,"Segoe UI",Arial,sans-serif!important;
  font-weight:400!important;
}
@media(min-width:980px){
  .gwb-template-4x8_clip_3x12 .gwb-preview-line{font-size:clamp(16px,2.08vw,28px)!important}
  .gwb-template-4x8_clip_2x20 .gwb-preview-line{font-size:clamp(15px,1.88vw,25px)!important}
}
@media(max-width:600px){
  .gwb-template-4x8_clip_3x12 .gwb-preview-line{font-size:clamp(15px,4.15vw,20px)!important}
  .gwb-template-4x8_clip_2x20 .gwb-preview-line{font-size:clamp(14px,3.85vw,19px)!important}
}


/* 0.9.6 stronger, larger Belleza engraving preview */
.gwb-preview-line{
  font-family:"Belleza",Optima,Candara,"Segoe UI",Arial,sans-serif!important;
  font-weight:600!important;
  color:#090909!important;
  opacity:1!important;
  letter-spacing:.002em!important;
  -webkit-text-stroke:.16px rgba(9,9,9,.92);
  text-shadow:.18px 0 0 rgba(9,9,9,.86),-.18px 0 0 rgba(9,9,9,.86),0 .18px 0 rgba(9,9,9,.86),0 -.18px 0 rgba(9,9,9,.86)!important;
}
.gwb-final-proof__preview .gwb-preview-line{
  font-weight:600!important;
  color:#090909!important;
}
.gwb-preview-choice{
  font-weight:600!important;
  color:#151515!important;
}


/* 0.9.7 validation layout stability */
.gwb-fields > .gwb-inline-error{
  width:100%;
  box-sizing:border-box;
  margin:0 0 .15rem;
}
@media(min-width:980px){
  body.gwb-brick-product .gwb-customizer > .gwb-preview-shell{
    grid-column:1;
    grid-row:1;
  }
  body.gwb-brick-product .gwb-customizer > .gwb-fields{
    grid-column:2;
    grid-row:1;
  }
}


/* 0.9.9 tasteful but more visible live-preview feedback */
.gwb-preview-label{
  color:#315f3c;
}
.gwb-preview-label:before{
  width:9px;
  height:9px;
  background:#2f7d3d;
  box-shadow:0 0 0 0 rgba(47,125,61,.34);
  animation:gwb-live-breathe 2.25s ease-in-out infinite;
}
.gwb-preview-label .gwb-live-word{
  color:#2f7d3d;
  font-weight:900;
  animation:gwb-live-word-breathe 2.25s ease-in-out infinite;
}
.gwb-preview-shell{
  transition:border-color .24s ease,box-shadow .24s ease,background-color .24s ease;
}
.gwb-preview-shell.gwb-live-update{
  border-color:#a8cbb0;
  box-shadow:0 0 0 3px rgba(47,125,61,.07),0 8px 22px rgba(0,0,0,.055);
}
.gwb-preview-shell.gwb-live-update>.gwb-preview{
  animation:gwb-preview-confirm .52s ease-out 1;
}
@keyframes gwb-live-breathe{
  0%,100%{box-shadow:0 0 0 0 rgba(47,125,61,.34);opacity:.78;transform:scale(.94)}
  50%{box-shadow:0 0 0 7px rgba(47,125,61,0);opacity:1;transform:scale(1.08)}
}
@keyframes gwb-live-word-breathe{
  0%,100%{color:#356b42}
  50%{color:#23813a}
}
@keyframes gwb-preview-confirm{
  0%{filter:brightness(1)}
  32%{filter:brightness(1.025)}
  100%{filter:brightness(1)}
}
@media(prefers-reduced-motion:reduce){
  .gwb-preview-label:before,
  .gwb-preview-label .gwb-live-word,
  .gwb-preview-shell.gwb-live-update>.gwb-preview{
    animation:none!important;
  }
  .gwb-preview-shell,
  .gwb-preview{
    transition:none!important;
  }
}


/* 0.10.1 clearer empty clip-art prompt */
.gwb-preview-choice{
  font-size:clamp(.88rem,1.05vw,1rem)!important;
  font-weight:700!important;
  color:#111!important;
  opacity:.94!important;
  letter-spacing:.018em!important;
  line-height:1.08;
  text-shadow:0 .35px 0 rgba(255,255,255,.18)!important;
}
@media(max-width:600px){
  .gwb-preview-choice{
    font-size:clamp(.72rem,3.25vw,.88rem)!important;
    letter-spacing:.012em!important;
  }
}


/* 0.10.2 high-resolution seamless stone texture */
.gwb-preview:before{
  background-image:url('../images/brick-texture-seamless.png');
  background-size:45% auto;
  background-repeat:repeat;
  background-position:0 0;
  opacity:.68;
  mix-blend-mode:multiply;
  image-rendering:auto;
}
.gwb-final-proof__preview .gwb-preview:before{
  background-size:42% auto;
  opacity:.72;
}
@media(max-width:600px){
  .gwb-preview:before{background-size:50% auto;opacity:.64}
}


/* 0.10.3 crisp final-proof surface: do not upscale the low-resolution base-brick raster */
.gwb-final-proof__preview .gwb-preview.gwb-final-proof__brick{
  background-image:
    linear-gradient(135deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.035) 21%,rgba(255,255,255,0) 45%,rgba(0,0,0,0) 72%,rgba(0,0,0,.11) 100%)!important;
  background-color:var(--gwb-brick-color,#9D6F40)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  image-rendering:auto;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.12),
    inset 0 7px 8px rgba(255,255,255,.10),
    inset 0 -8px 10px rgba(0,0,0,.17),
    inset 7px 0 8px rgba(255,255,255,.06),
    inset -8px 0 10px rgba(0,0,0,.13),
    0 8px 20px rgba(0,0,0,.18)!important;
}
.gwb-final-proof__preview .gwb-preview.gwb-final-proof__brick:before{
  background-image:url('../images/brick-texture-seamless.png')!important;
  background-size:34% auto!important;
  background-repeat:repeat!important;
  opacity:.60!important;
  mix-blend-mode:multiply!important;
}
.gwb-final-proof__preview .gwb-preview.gwb-final-proof__brick:after{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.20),
    inset 0 4px 4px rgba(255,255,255,.12),
    inset 0 -5px 7px rgba(0,0,0,.16),
    inset 4px 0 5px rgba(255,255,255,.08),
    inset -5px 0 7px rgba(0,0,0,.12)!important;
}

/* 0.11.0 fixed product color/artwork presentation */
.gwb-locked-option,
.gwb-locked-art{
  display:flex;
  align-items:center;
  gap:.8rem;
  padding:.8rem .9rem;
  border:1px solid #cfe1d2;
  border-radius:12px;
  background:#fbfefb;
}
.gwb-locked-option>div,
.gwb-locked-art>div{
  display:flex;
  flex-direction:column;
  gap:.12rem;
  min-width:0;
}
.gwb-locked-option strong,
.gwb-locked-art strong{
  color:#222;
  font-size:1rem;
}
.gwb-locked-option small,
.gwb-locked-art small{
  color:#66706a;
  line-height:1.3;
}
.gwb-locked-art img{
  width:76px;
  height:76px;
  object-fit:contain;
  flex:0 0 76px;
}
.gwb-lock-badge{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.28rem .58rem;
  border-radius:999px;
  background:#e7f5ea;
  color:#246a32;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.025em;
}
@media(max-width:600px){
  .gwb-locked-option,
  .gwb-locked-art{padding:.72rem .75rem;gap:.65rem}
  .gwb-locked-art img{width:64px;height:64px;flex-basis:64px}
}

/* 0.11.6 submission feedback: visual only; form remains enabled for WooCommerce. */
body.gwb-brick-product form.cart .single_add_to_cart_button.gwb-submitting{
  cursor:wait;opacity:.82;pointer-events:none;
}
.gwb-customizer.gwb-submitting{cursor:wait}

/* 0.13.0 direct-on-brick editing and preview navigation */
.gwb-preview:not(.gwb-final-proof__brick) .gwb-inline-editable{
  position:relative;
  max-width:100%;
  cursor:text;
  outline:1px dashed transparent;
  outline-offset:4px;
  border-radius:2px;
  caret-color:#111;
  user-select:text;
  -webkit-user-select:text;
  touch-action:manipulation;
  transition:outline-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.gwb-preview:not(.gwb-final-proof__brick) .gwb-inline-editable:empty:before{
  content:attr(data-placeholder);
  color:#111;
  opacity:1;
  pointer-events:none;
}
.gwb-preview:not(.gwb-final-proof__brick) .gwb-inline-editable:hover{
  outline-color:rgba(17,17,17,.28);
  background:rgba(255,255,255,.055);
}
.gwb-preview:not(.gwb-final-proof__brick) .gwb-inline-editable:focus,
.gwb-preview:not(.gwb-final-proof__brick) .gwb-inline-editable.is-editing{
  outline-color:rgba(17,17,17,.64);
  background:rgba(255,255,255,.11);
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}
.gwb-preview:not(.gwb-final-proof__brick) .gwb-inline-editable:focus:empty:before{
  opacity:.28;
}
.gwb-final-proof__preview .gwb-preview-line:empty:before{
  content:attr(data-placeholder);
}
.gwb-preview-clipart-selectable{
  cursor:pointer;
  outline:1px dashed transparent;
  outline-offset:5px;
  border-radius:3px;
  touch-action:manipulation;
  transition:outline-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.gwb-preview-clipart-selectable:hover,
.gwb-preview-clipart-selectable:focus-visible{
  outline-color:rgba(17,17,17,.42);
  background:rgba(255,255,255,.08);
  box-shadow:0 0 0 3px rgba(255,255,255,.07);
}
.gwb-preview-clipart-selectable:focus-visible{outline-style:solid}
.gwb-clipart-fieldset.gwb-preview-target{
  border-color:#76a67f!important;
  box-shadow:0 0 0 4px rgba(47,125,61,.12),0 8px 22px rgba(0,0,0,.055)!important;
  animation:gwb-picker-attention .9s ease-out 1;
}
@keyframes gwb-picker-attention{
  0%{background:#fff}
  35%{background:#f3faf4}
  100%{background:#fff}
}
@media(prefers-reduced-motion:reduce){
  .gwb-clipart-fieldset.gwb-preview-target{animation:none!important}
}
