.xgpp-box{
  --xgpp-brown:#5a321e;
  --xgpp-brown2:#7a4a2b;
  --xgpp-brown3:#8b5a3c;
  --xgpp-cream:#fff7ee;
  --xgpp-soft:#fffaf6;
  --xgpp-border:#ead8c7;
  width:100%;
  max-width:760px;
  margin:18px auto 18px 0;
  font-family:inherit;
  box-sizing:border-box;
  clear:both;
}
form.cart:has(.xgpp-box){
  display:block!important;
  max-width:100%;
}
.xgpp-open-btn{
  width:100%;
  max-width:360px;
  border:0;
  background:linear-gradient(135deg,var(--xgpp-brown),var(--xgpp-brown2));
  color:#fff;
  padding:15px 22px;
  border-radius:14px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(90,50,30,.18);
  font-size:16px;
}
.xgpp-editor{
  margin-top:16px;
  background:var(--xgpp-cream);
  border:1px solid var(--xgpp-border);
  border-radius:24px;
  padding:22px;
  box-shadow:0 14px 34px rgba(90,50,30,.12);
  max-width:100%;
  overflow:hidden;
  box-sizing:border-box;
}
.xgpp-head h3{margin:0 0 4px;color:var(--xgpp-brown);font-size:25px;line-height:1.15}
.xgpp-head p{margin:0 0 18px;color:#7c624f;font-size:15px;line-height:1.4}
.xgpp-layout{display:flex;flex-direction:column;gap:18px;align-items:center;width:100%}
.xgpp-preview-wrap{
  position:relative;
  width:100%;
  max-width:min(620px,100%);
  margin:0 auto;
  overflow:visible;
  line-height:1;
  background:#fff;
  border-radius:18px;
}
.xgpp-product-img{
  display:block;
  width:100%;
  height:auto;
  max-height:64vh;
  object-fit:contain;
  border-radius:18px;
}
.xgpp-live-name{
  position:absolute;
  left:50%;
  top:42%;
  transform:translate(-50%,-50%);
  font-family:'Dancing Script',cursive!important;
  font-weight:900!important;
  color:#5a321e;
  white-space:nowrap;
  pointer-events:none;
  text-align:center;
  line-height:1;
  text-shadow:.5px 0 currentColor,-.5px 0 currentColor,0 .5px currentColor,0 -.5px currentColor,0 1px 1px rgba(255,255,255,.55)!important;
  letter-spacing:.15px;
  z-index:3;
}
.xgpp-live-date-svg{position:absolute;inset:-25%;width:150%;height:150%;left:-25%;top:-25%;pointer-events:none;overflow:visible;z-index:2}
.xgpp-live-date-text,.xgpp-live-date-text textPath{
  font-family:'Dancing Script',cursive!important;
  font-weight:900!important;
  stroke:currentColor;
  stroke-width:.8px;
  paint-order:stroke fill;
  letter-spacing:.15px;
  text-shadow:0 1px 1px rgba(255,255,255,.45);
}
.xgpp-fields{
  width:100%;
  max-width:620px;
  background:#fff;
  border:1px solid var(--xgpp-border);
  border-radius:18px;
  padding:16px;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.xgpp-fields label{display:block;color:var(--xgpp-brown);font-weight:800;margin:0;font-size:15px}
.xgpp-fields input{margin-top:7px;width:100%;box-sizing:border-box;border:1px solid #d7bda6;background:var(--xgpp-soft);border-radius:12px;padding:13px 14px;font-size:16px;outline:none;min-height:48px}
.xgpp-fields input:focus{border-color:var(--xgpp-brown2);box-shadow:0 0 0 3px rgba(122,74,43,.13)}
.xgpp-close-btn{
  grid-column:1/-1;
  justify-self:start;
  border:1px solid var(--xgpp-border);
  background:#fffaf6;
  color:var(--xgpp-brown);
  padding:10px 16px;
  border-radius:12px;
  font-weight:800;
  cursor:pointer;
}
.xgpp-close-btn:hover{background:#f8ecdf}
form.cart .xgpp-box:not(.is-open) ~ .quantity,
form.cart .xgpp-box:not(.is-open) ~ button.single_add_to_cart_button{display:none!important}
form.cart .xgpp-box.is-open ~ .quantity,
form.cart .xgpp-box.is-open ~ button.single_add_to_cart_button{
  display:inline-flex!important;
  vertical-align:middle!important;
  margin-top:14px!important;
  margin-right:10px!important;
  float:none!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
}
form.cart .xgpp-box.is-open ~ button.single_add_to_cart_button{
  background:linear-gradient(135deg,var(--xgpp-brown),var(--xgpp-brown2))!important;
  color:#fff!important;
  border-radius:14px!important;
  padding:14px 22px!important;
  font-weight:900!important;
  box-shadow:0 10px 22px rgba(90,50,30,.16)!important;
}
.xgpp-order-summary{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:7px;font-size:.92em;color:#5a321e;line-height:1.35}
.xgpp-order-summary span{background:#fff7ee;border:1px solid #ead8c7;border-radius:999px;padding:4px 9px;display:inline-flex}

form.cart.variations_form table.variations{
  width:100%;
  max-width:760px;
  margin:0 0 14px!important;
  border:1px solid var(--xgpp-border,#ead8c7);
  background:#fffaf6;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(90,50,30,.06);
}
form.cart.variations_form table.variations th,
form.cart.variations_form table.variations td{
  padding:12px 14px!important;
  vertical-align:middle!important;
  border:0!important;
}
form.cart.variations_form table.variations label{
  color:#5a321e;
  font-weight:900;
}
form.cart.variations_form table.variations select{
  width:100%;
  min-height:44px;
  border:1px solid #d7bda6;
  border-radius:12px;
  background:#fff;
  color:#5a321e;
  padding:8px 12px;
  font-weight:700;
}

@media(max-width:768px){
  .xgpp-box{max-width:100%;margin:16px 0}
  .xgpp-editor{padding:14px;border-radius:18px}
  .xgpp-head h3{font-size:21px}
  .xgpp-preview-wrap{max-width:100%}
  .xgpp-product-img{max-height:54vh}
  .xgpp-fields{grid-template-columns:1fr;padding:13px}
  form.cart .xgpp-box.is-open ~ .quantity,
  form.cart .xgpp-box.is-open ~ button.single_add_to_cart_button{width:100%!important;justify-content:center!important;margin-right:0!important;margin-top:10px!important;box-sizing:border-box!important}
}
