/* iFy Personalizări — frontend 3.16.1
 * Frontend only. Admin UI intentionally unchanged.
 */
.ify-personalizari-box{
  --ify-p-primary:var(--ify-primary,#a44f3b);
  --ify-p-text:var(--ify-text,#272725);
  --ify-p-muted:var(--ify-muted,#64655f);
  --ify-p-line:var(--ify-line,rgba(39,39,37,.13));
  --ify-p-pad:18px;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:var(--ify-p-pad)!important;
  color:var(--ify-p-text)!important;
  background:color-mix(in srgb,var(--ify-p-primary) 2.5%,#fff)!important;
  border:1px solid color-mix(in srgb,var(--ify-p-primary) 15%,var(--ify-p-line))!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
.ify-personalizari-box *{box-sizing:border-box!important}

/* Restore the approved V1 visual language: brown eyebrow + warm card. */
.ify-personalizari-box__head{
  display:block!important;
  width:auto!important;
  padding:0 var(--ify-p-pad) 13px!important;
  margin:0 calc(var(--ify-p-pad) * -1) 15px!important;
  border:0!important;
  border-bottom:1px solid color-mix(in srgb,var(--ify-p-primary) 10%,var(--ify-p-line))!important;
}
.ify-personalizari-box__eyebrow,
.ify-personalizari-box__head>span{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--ify-p-primary)!important;
  font-family:var(--ify-sans,"Josefin Sans","Trebuchet MS","Segoe UI",Arial,sans-serif)!important;
  font-size:.70rem!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  line-height:1.35!important;
  text-transform:uppercase!important;
}
.ify-personalizari-box__instructions{
  margin:0 0 15px!important;
  color:var(--ify-p-muted)!important;
  font-size:.78rem!important;
  line-height:1.55!important;
}

/* Fields are stacked exactly like the first approved version. */
.ify-personalizari-field{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.ify-personalizari-field+.ify-personalizari-field{
  position:relative!important;
  margin-top:17px!important;
  padding-top:17px!important;
  border-top:0!important;
}
.ify-personalizari-field+.ify-personalizari-field::before{
  position:absolute!important;
  top:0!important;
  right:calc(var(--ify-p-pad) * -1)!important;
  left:calc(var(--ify-p-pad) * -1)!important;
  height:1px!important;
  background:color-mix(in srgb,var(--ify-p-primary) 9%,var(--ify-p-line))!important;
  content:""!important;
  pointer-events:none!important;
}
.ify-personalizari-field__label{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
  margin:0 0 8px!important;
  padding:0!important;
}
.ify-personalizari-field__label label{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--ify-p-text)!important;
  font-size:.80rem!important;
  font-weight:700!important;
  line-height:1.4!important;
}
.ify-personalizari-field__control{display:block!important;width:100%!important;min-width:0!important}

.ify-personalizari-file-input{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.ify-personalizari-upload-line{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:8px 10px!important;
  width:100%!important;
  min-width:0!important;
}
.ify-personalizari-upload-trigger{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  min-height:40px!important;
  padding:9px 16px!important;
  margin:0!important;
  color:var(--ify-p-primary)!important;
  background:#fff!important;
  border:1px solid color-mix(in srgb,var(--ify-p-primary) 28%,var(--ify-p-line))!important;
  border-radius:999px!important;
  box-shadow:none!important;
  font-size:.69rem!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  line-height:1!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
  transition:transform .16s ease,border-color .16s ease!important;
}
.ify-personalizari-upload-trigger:hover{transform:translateY(-1px)!important;border-color:var(--ify-p-primary)!important}
.ify-personalizari-upload-help{
  display:inline-block!important;
  min-width:0!important;
  margin:0!important;
  color:var(--ify-p-muted)!important;
  font-size:.69rem!important;
  line-height:1.4!important;
}
.ify-personalizari-upload-state{margin-top:12px!important}
.ify-personalizari-progress{height:6px!important;overflow:hidden!important;background:color-mix(in srgb,var(--ify-p-primary) 8%,#fff)!important;border-radius:99px!important}
.ify-personalizari-progress span{display:block!important;width:0;height:100%!important;background:var(--ify-p-primary)!important;border-radius:inherit!important;transition:width .15s ease!important}
.ify-personalizari-progress-copy{margin-top:6px!important;color:var(--ify-p-muted)!important;font-size:.68rem!important}
.ify-personalizari-preview{
  position:relative!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 30px!important;
  align-items:center!important;
  gap:12px!important;
  padding:9px!important;
  margin-top:12px!important;
  background:#fff!important;
  border:1px solid color-mix(in srgb,var(--ify-p-primary) 13%,var(--ify-p-line))!important;
  border-radius:14px!important;
}
.ify-personalizari-preview[hidden]{display:none!important}
.ify-personalizari-preview img{width:54px!important;height:54px!important;margin:0!important;object-fit:cover!important;border-radius:10px!important;background:#f1f1ef!important}
.ify-personalizari-preview__copy{min-width:0!important}
.ify-personalizari-preview__copy strong,.ify-personalizari-preview__copy span{display:block!important}
.ify-personalizari-preview__copy strong{overflow:hidden!important;color:var(--ify-p-text)!important;font-size:.75rem!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.ify-personalizari-preview__copy span{margin-top:2px!important;color:var(--ify-p-muted)!important;font-size:.64rem!important}
.ify-personalizari-remove-upload{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;padding:0!important;margin:0!important;color:var(--ify-p-muted)!important;background:transparent!important;border:0!important;border-radius:50%!important;font-size:1.25rem!important;line-height:1!important;cursor:pointer!important}
.ify-personalizari-remove-upload:hover{color:var(--ify-p-primary)!important;background:color-mix(in srgb,var(--ify-p-primary) 7%,#fff)!important}

/* Text personalization: no browser resize grip / diagonal lines. */
.ify-personalizari-text textarea{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:86px!important;
  padding:12px 14px!important;
  margin:0!important;
  resize:none!important;
  overflow:auto!important;
  color:var(--ify-p-text)!important;
  background:#fff!important;
  border:1px solid color-mix(in srgb,var(--ify-p-primary) 16%,var(--ify-p-line))!important;
  border-radius:14px!important;
  box-shadow:none!important;
  font-family:var(--ify-sans,"Josefin Sans","Trebuchet MS","Segoe UI",Arial,sans-serif)!important;
  font-size:.80rem!important;
  line-height:1.55!important;
  outline:0!important;
}
.ify-personalizari-text textarea:focus{border-color:color-mix(in srgb,var(--ify-p-primary) 55%,var(--ify-p-line))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ify-p-primary) 7%,transparent)!important}
.ify-personalizari-text-meta{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;margin-top:7px!important;color:var(--ify-p-muted)!important;font-size:.64rem!important;line-height:1.4!important}
.ify-personalizari-text-meta strong{margin-left:auto!important;color:var(--ify-p-muted)!important;white-space:nowrap!important}

.ify-personalizari-error{padding:10px 12px!important;margin-top:14px!important;color:#a52020!important;background:#fff7f6!important;border:1px solid rgba(165,32,32,.18)!important;border-radius:12px!important;font-size:.72rem!important;font-weight:700!important;line-height:1.45!important}
.ify-personalizari-error[hidden]{display:none!important}

/* Small product information restored exactly as a compact info row. */
.ify-personalizari-legal-mini{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  width:auto!important;
  padding:13px var(--ify-p-pad) 0!important;
  margin:15px calc(var(--ify-p-pad) * -1) 0!important;
  border-top:1px solid color-mix(in srgb,var(--ify-p-primary) 9%,var(--ify-p-line))!important;
}
.ify-personalizari-legal-mini>span{
  display:grid!important;
  place-items:center!important;
  flex:0 0 20px!important;
  width:20px!important;height:20px!important;
  margin:0!important;padding:0!important;
  color:#fff!important;
  background:var(--ify-p-primary)!important;
  border-radius:50%!important;
  font-family:Georgia,serif!important;
  font-size:.72rem!important;
  font-weight:700!important;
  line-height:20px!important;
}
.ify-personalizari-legal-mini p{margin:0!important;padding:0!important;color:var(--ify-p-muted)!important;font-size:.67rem!important;line-height:1.45!important}

/* Cart / checkout info notice. */
.ify-personalizari-notice{display:flex!important;align-items:flex-start!important;gap:13px!important;padding:15px 16px!important;margin:0 0 18px!important;color:var(--ify-text,#272725)!important;background:color-mix(in srgb,var(--ify-primary,#a44f3b) 4%,#fff)!important;border:1px solid color-mix(in srgb,var(--ify-primary,#a44f3b) 18%,rgba(39,39,37,.13))!important;border-radius:16px!important}
.ify-personalizari-notice__icon{display:grid!important;place-items:center!important;flex:0 0 24px!important;width:24px!important;height:24px!important;color:#fff!important;background:var(--ify-primary,#a44f3b)!important;border-radius:50%!important;font-family:Georgia,serif!important;font-weight:700!important}
.ify-personalizari-notice strong{display:block!important;margin:1px 0 4px!important;font-size:.8rem!important}
.ify-personalizari-notice p{margin:0!important;color:var(--ify-muted,#64655f)!important;font-size:.72rem!important;line-height:1.5!important}
.ify-personalizari-hidden-registration{display:none!important}

/* Checkout acceptance: deliberately mirrors the theme's approved "Adaugă mențiuni" control. */
body.ify-checkout-classic.woocommerce-checkout #payment .place-order .ify-personalizari-acceptance-row,
.woocommerce-checkout #payment .place-order .ify-personalizari-acceptance-row{
  display:block!important;
  order:900!important;
  width:100%!important;
  margin:12px 0 0!important;
  padding:0!important;
  color:var(--ify-text,#272725)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
body.ify-checkout-classic.woocommerce-checkout #payment .place-order label.ify-personalizari-acceptance-label,
.woocommerce-checkout #payment .place-order label.ify-personalizari-acceptance-label{
  display:grid!important;
  grid-template-columns:18px minmax(0,auto)!important;
  grid-template-rows:18px!important;
  align-items:center!important;
  justify-content:start!important;
  column-gap:10px!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  color:var(--ify-text,#272725)!important;
  background:transparent!important;
  border:0!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
body.ify-checkout-classic.woocommerce-checkout #payment .place-order label.ify-personalizari-acceptance-label > input,
.woocommerce-checkout #payment .place-order label.ify-personalizari-acceptance-label > input{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:start!important;
  box-sizing:border-box!important;
  display:block!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  accent-color:var(--ify-primary,#a44f3b)!important;
  cursor:pointer!important;
}
body.ify-checkout-classic.woocommerce-checkout #payment .place-order label.ify-personalizari-acceptance-label > span,
.woocommerce-checkout #payment .place-order label.ify-personalizari-acceptance-label > span{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:var(--ify-text,#272725)!important;
  font-size:.79rem!important;
  font-weight:700!important;
  line-height:18px!important;
  white-space:nowrap!important;
}
body.ify-checkout-classic.woocommerce-checkout #payment .place-order .ify-personalizari-acceptance-description,
.woocommerce-checkout #payment .place-order .ify-personalizari-acceptance-description{
  display:block!important;
  width:100%!important;
  margin:7px 0 0!important;
  padding:0!important;
  color:var(--ify-muted,#64655f)!important;
  font-family:var(--ify-sans,"Josefin Sans","Trebuchet MS","Segoe UI",Arial,sans-serif)!important;
  font-size:.74rem!important;
  font-weight:400!important;
  line-height:1.55!important;
}


/* Personalized text — cart. */
body.woocommerce-cart .ify-cart-server__row .wc-block-components-product-metadata{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:5px 0 0!important;
  padding:0!important;
  clear:none!important;
}
body.woocommerce-cart .ify-cart-server__row .wc-block-components-product-metadata dl.variation{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  clear:none!important;
}
body.woocommerce-cart .ify-cart-server__row .wc-block-components-product-metadata dl.variation dt:has(+ dd .ify-personalizari-cart-text){
  display:none!important;
}
body.woocommerce-cart .ify-cart-server__row .wc-block-components-product-metadata dl.variation dd:has(.ify-personalizari-cart-text){
  display:block!important;
  float:none!important;
  clear:none!important;
  width:fit-content!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-cart .ify-cart-server__row .wc-block-components-product-metadata dl.variation dd:has(.ify-personalizari-cart-text) > p{
  display:block!important;
  margin:0!important;
  padding:0!important;
}
.ify-personalizari-cart-text{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  box-sizing:border-box!important;
  width:fit-content!important;
  max-width:100%!important;
  margin:0!important;
  padding:5px 9px!important;
  overflow:hidden!important;
  color:var(--ify-primary,#a44f3b)!important;
  background:color-mix(in srgb,var(--ify-primary,#a44f3b) 6%,#fff)!important;
  border:1px solid color-mix(in srgb,var(--ify-primary,#a44f3b) 16%,rgba(39,39,37,.13))!important;
  border-radius:9px!important;
  font-family:var(--ify-sans,"Josefin Sans","Trebuchet MS","Segoe UI",Arial,sans-serif)!important;
  font-size:.67rem!important;
  font-weight:700!important;
  line-height:1.3!important;
  white-space:nowrap!important;
}
.ify-personalizari-cart-text__label{
  flex:0 0 auto!important;
  color:inherit!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.ify-personalizari-cart-text__value{
  flex:0 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
  color:inherit!important;
  font-weight:700!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Checkout personalized text — V3.12.
 * Rendered as a direct sibling of the theme product visual. This deliberately
 * avoids WooCommerce variation <dl> markup, floats and JS DOM moves. The card
 * always begins at the same left edge as the product image and uses the full
 * product column on desktop, intermediate, tablet and mobile. */
body.ify-checkout-classic.woocommerce-checkout #order_review td.product-name > .ify-personalizari-checkout-text,
body.ify-checkout-classic.woocommerce-checkout #order_review td.product-name .ify-personalizari-checkout-text{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:8px 0 0!important;
  padding:6px 9px!important;
  color:var(--ify-primary,#a44f3b)!important;
  background:color-mix(in srgb,var(--ify-primary,#a44f3b) 6%,#fff)!important;
  border:1px solid color-mix(in srgb,var(--ify-primary,#a44f3b) 16%,rgba(39,39,37,.13))!important;
  border-radius:9px!important;
  font-family:var(--ify-sans,"Josefin Sans","Trebuchet MS","Segoe UI",Arial,sans-serif)!important;
  font-size:.64rem!important;
  font-weight:700!important;
  line-height:1.4!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-overflow:clip!important;
}
body.ify-checkout-classic.woocommerce-checkout #order_review .ify-personalizari-checkout-text__label,
body.ify-checkout-classic.woocommerce-checkout #order_review .ify-personalizari-checkout-text__value{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  white-space:normal!important;
  word-break:normal!important;
}
body.ify-checkout-classic.woocommerce-checkout #order_review .ify-personalizari-checkout-text__label{
  font-weight:800!important;
  white-space:nowrap!important;
}
body.ify-checkout-classic.woocommerce-checkout #order_review .ify-personalizari-checkout-text__value{
  font-weight:700!important;
  overflow-wrap:anywhere!important;
}

/* Never abbreviate product titles with three dots. Let the theme wrap the
 * complete name only when the available column genuinely requires it. */
body.ify-checkout-classic.woocommerce-checkout #order_review .ify-checkout-review-product__name{
  max-width:100%!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

@media(max-width:680px){
  body.ify-checkout-classic.woocommerce-checkout #order_review td.product-name > .ify-personalizari-checkout-text,
  body.ify-checkout-classic.woocommerce-checkout #order_review td.product-name .ify-personalizari-checkout-text{
    margin-top:7px!important;
    padding:6px 8px!important;
    font-size:.62rem!important;
  }
}

/* Checkout notice alignment. checkout.css owns the overall look; the plugin
 * only guarantees true vertical centering for single/multi-line WC notices. */
body.ify-checkout-classic.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error,
body.ify-checkout-classic.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-info,
body.ify-checkout-classic.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-message,
body.ify-checkout-classic.woocommerce-checkout .woocommerce-NoticeGroup-updateOrderReview .woocommerce-error,
body.ify-checkout-classic.woocommerce-checkout .woocommerce-NoticeGroup-updateOrderReview .woocommerce-info,
body.ify-checkout-classic.woocommerce-checkout .woocommerce-NoticeGroup-updateOrderReview .woocommerce-message{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:stretch!important;
  box-sizing:border-box!important;
  min-height:58px!important;
  padding-top:12px!important;
  padding-bottom:12px!important;
}
body.ify-checkout-classic.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error>li,
body.ify-checkout-classic.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-info>li,
body.ify-checkout-classic.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-message>li,
body.ify-checkout-classic.woocommerce-checkout .woocommerce-NoticeGroup-updateOrderReview .woocommerce-error>li,
body.ify-checkout-classic.woocommerce-checkout .woocommerce-NoticeGroup-updateOrderReview .woocommerce-info>li,
body.ify-checkout-classic.woocommerce-checkout .woocommerce-NoticeGroup-updateOrderReview .woocommerce-message>li{
  display:block!important;
  margin:0!important;
  padding:0!important;
  line-height:1.45!important;
}

/* Checkout order-summary presentation is owned by the iFy theme checkout.css. */

/* Admin-order personalization display remains untouched. */
.ify-order-personalization{padding:9px 10px;margin:7px 0 3px;background:#fbf7f5;border:1px solid #eadbd5;border-radius:10px}.ify-order-personalization>strong{display:block;margin-bottom:6px;color:#994630}.ify-order-personalization__text{display:grid;gap:2px;margin-bottom:7px}.ify-order-personalization__text span{font-size:11px;color:#777}.ify-order-personalization__text b{font-size:12px}.ify-order-personalization__file{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ify-order-personalization__file span{font-size:11px;color:#666}

/* Match the theme's approved vertical rhythm: the personalization card uses
 * the same gap that the stock card uses before the next trust card. */
body.single-product.ify-has-personalization{--ify-personalization-gap:26px}
@media(max-width:980px){body.single-product.ify-has-personalization{--ify-personalization-gap:20px}}
@media(max-width:680px){body.single-product.ify-has-personalization{--ify-personalization-gap:16px}}
/* Keep the top gap above the personalization card exactly as approved.
 * Below it, restore the stock card's native theme spacing (12px / 10px). */
body.single-product.ify-has-personalization .ify-product-stock-status{
  margin-top:12px!important;
}
@media(max-width:980px){
  body.single-product.ify-has-personalization .ify-product-stock-status{
    margin-top:10px!important;
  }
}

/* Theme compatibility: qty + CTA stay on row one; personalization owns row two. */
@media (min-width:681px){
  body.single-product div.product form.cart:has(> .ify-personalizari-box),
  body.single-product.ify-has-personalization div.product form.cart{
    grid-template-areas:"qty cta" "personal personal"!important;
    grid-template-rows:auto auto!important;
    row-gap:var(--ify-personalization-gap)!important;
  }
  body.single-product div.product form.cart > .ify-personalizari-box,
  body.single-product.ify-has-personalization div.product form.cart > .ify-personalizari-box{
    grid-area:personal!important;
    grid-column:1 / -1!important;
    grid-row:2!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }
}

/* High-specificity protection against the product theme's generic span/p rules. */
body.single-product div.product form.cart .ify-personalizari-box .ify-personalizari-legal-mini{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  width:auto!important;
  padding:13px var(--ify-p-pad) 0!important;
  margin:15px calc(var(--ify-p-pad) * -1) 0!important;
  border-top:1px solid color-mix(in srgb,var(--ify-p-primary) 9%,var(--ify-p-line))!important;
}
body.single-product div.product form.cart .ify-personalizari-box .ify-personalizari-legal-mini > span{
  display:grid!important;
  place-items:center!important;
  flex:0 0 20px!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  background:var(--ify-p-primary)!important;
  border:0!important;
  border-radius:50%!important;
  font-family:Georgia,serif!important;
  font-size:.72rem!important;
  font-weight:700!important;
  line-height:20px!important;
  text-align:center!important;
}
body.single-product div.product form.cart .ify-personalizari-box .ify-personalizari-legal-mini > p{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:var(--ify-p-muted)!important;
  font-family:var(--ify-sans,"Josefin Sans","Trebuchet MS","Segoe UI",Arial,sans-serif)!important;
  font-size:.67rem!important;
  font-weight:400!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

@media(max-width:680px){
  body.single-product div.product form.cart > .ify-personalizari-box,
  body.single-product.ify-has-personalization div.product form.cart > .ify-personalizari-box{
    order:20!important;
    width:100%!important;
    max-width:none!important;
    margin-top:var(--ify-personalization-gap)!important;
  }
  .ify-personalizari-box{--ify-p-pad:15px;padding:var(--ify-p-pad)!important;border-radius:16px!important}
  .ify-personalizari-upload-line{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}
  .ify-personalizari-upload-help{display:block!important;margin:0!important}
  .ify-personalizari-preview{grid-template-columns:48px minmax(0,1fr) 28px!important}
  .ify-personalizari-preview img{width:48px!important;height:48px!important}
  .ify-personalizari-text-meta{align-items:flex-start!important}
  .ify-personalizari-notice{padding:13px!important}
  body.ify-checkout-classic.woocommerce-checkout #payment .place-order label.ify-personalizari-acceptance-label > span{font-size:.86rem!important}
  body.ify-checkout-classic.woocommerce-checkout #payment .place-order .ify-personalizari-acceptance-description{font-size:.78rem!important}
}

/* v3.0 — text pricing. Scoped only to the personalization component. */
.ify-personalizari-pricing{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:11px 0 0!important;margin:10px 0 0!important;border-top:1px solid color-mix(in srgb,var(--ify-p-primary) 9%,var(--ify-p-line))!important}.ify-personalizari-pricing__note{min-width:0!important;color:var(--ify-p-muted)!important;font-size:.69rem!important;line-height:1.45!important}.ify-personalizari-pricing__live{flex:0 0 auto!important;color:var(--ify-p-primary)!important;font-size:.74rem!important;white-space:nowrap!important}.ify-personalizari-pricing__live:empty{display:none!important}
@media(max-width:680px){.ify-personalizari-pricing{align-items:flex-start!important;flex-direction:column!important;gap:5px!important}}

/* v3.1 — chunked upload preview/loader, checkout layout hardening and live price motion. */
.ify-personalizari-preview__media{position:relative!important;width:54px!important;height:54px!important;overflow:hidden!important;border-radius:10px!important;background:#f1f1ef!important}
.ify-personalizari-preview__media>img{width:54px!important;height:54px!important;margin:0!important;object-fit:cover!important;border-radius:10px!important;transition:filter .18s ease,transform .18s ease!important}
.ify-personalizari-preview.is-uploading .ify-personalizari-preview__media>img{filter:blur(2px) brightness(.88)!important;transform:scale(1.045)!important}
.ify-personalizari-upload-overlay{position:absolute!important;inset:0!important;z-index:3!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:8px!important;background:rgba(255,255,255,.28)!important;backdrop-filter:blur(1.2px)!important;-webkit-backdrop-filter:blur(1.2px)!important;pointer-events:none!important}
.ify-personalizari-upload-overlay[hidden]{display:none!important}
.ify-personalizari-upload-overlay__bar{position:relative!important;display:block!important;width:78%!important;height:4px!important;overflow:hidden!important;background:rgba(255,255,255,.28)!important;border-radius:999px!important;box-shadow:0 1px 6px rgba(0,0,0,.06)!important}
.ify-personalizari-upload-overlay__bar::after{position:absolute!important;top:0!important;bottom:0!important;left:-46%!important;width:46%!important;background:#fff!important;border-radius:inherit!important;content:""!important;animation:ifyPersonalizareUploadSlide 1.05s ease-in-out infinite!important}
@keyframes ifyPersonalizareUploadSlide{0%{transform:translateX(0)}50%{transform:translateX(210%)}100%{transform:translateX(420%)}}

.ify-personalizari-pricing__live.is-changing{animation:ifyPersonalizarePricePulse .34s ease!important}
body.single-product .summary p.price.ify-dynamic-price-changing,
body.single-product .summary span.price.ify-dynamic-price-changing{animation:ifyPersonalizarePricePulse .34s ease!important}
@keyframes ifyPersonalizarePricePulse{0%{transform:scale(1);opacity:1}45%{transform:scale(1.035);opacity:.72}100%{transform:scale(1);opacity:1}}



/* v3.2 — dynamic-price presentation, checkout pill row and non-invasive label fix. */
.ify-personalizari-text-meta--counter{
  justify-content:space-between!important;
  gap:10px!important;
}
.ify-personalizari-text-meta--counter .ify-personalizari-pricing__live{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  color:var(--ify-p-primary)!important;
  font-size:.69rem!important;
  font-weight:800!important;
  line-height:1.35!important;
  white-space:normal!important;
  text-align:left!important;
}
.ify-personalizari-text-meta--counter .ify-personalizari-text-count{
  flex:0 0 auto!important;
  margin-left:auto!important;
  white-space:nowrap!important;
}
.ify-personalizari-pricing{
  display:block!important;
  padding:11px 0 0!important;
  margin:10px 0 0!important;
}
.ify-personalizari-pricing__note{display:block!important;width:100%!important}

/* v3.3 — checkout metadata, dynamic cart totals and final layout polish. */

/* Price live row: starts exactly at the textarea edge, counter stays right. */
.ify-personalizari-text-meta--counter{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  justify-content:stretch!important;
  column-gap:12px!important;
  width:100%!important;
}
.ify-personalizari-text-meta--counter .ify-personalizari-pricing__live{
  grid-column:1!important;
  justify-self:start!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  color:var(--ify-primary,#a44f3b)!important;
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1.35!important;
  text-align:left!important;
  white-space:normal!important;
}
.ify-personalizari-text-meta--counter .ify-personalizari-text-count{
  grid-column:2!important;
  justify-self:end!important;
  margin:0!important;
  color:var(--ify-p-muted)!important;
  white-space:nowrap!important;
}

/* Checkout order-summary, notices and address fields are styled only by the iFy theme. */


/* v3.13 — QR/link personalization + customer photo thumbnails. */
.ify-personalizari-link-input{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:46px!important;
  padding:11px 14px!important;
  margin:0!important;
  color:var(--ify-p-text)!important;
  background:#fff!important;
  border:1px solid color-mix(in srgb,var(--ify-p-primary) 16%,var(--ify-p-line))!important;
  border-radius:14px!important;
  box-shadow:none!important;
  font-family:var(--ify-sans,"Josefin Sans","Trebuchet MS","Segoe UI",Arial,sans-serif)!important;
  font-size:.80rem!important;
  line-height:1.4!important;
  outline:0!important;
}
.ify-personalizari-link-input:focus{
  border-color:color-mix(in srgb,var(--ify-p-primary) 55%,var(--ify-p-line))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ify-p-primary) 7%,transparent)!important;
}

/* Social select mirrors the checkout city/state control without loading Select2 here. */
.ify-personalizari-social .ify-personalizari-field__control{
  position:relative!important;
}
.ify-personalizari-social .ify-personalizari-field__control::after{
  position:absolute!important;
  top:50%!important;
  right:16px!important;
  width:7px!important;
  height:7px!important;
  margin-top:-5px!important;
  border-right:2px solid var(--ify-p-text)!important;
  border-bottom:2px solid var(--ify-p-text)!important;
  content:""!important;
  pointer-events:none!important;
  transform:rotate(45deg)!important;
  transform-origin:center!important;
}
.ify-personalizari-social select{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:50px!important;
  height:50px!important;
  padding:11px 44px 11px 13px!important;
  margin:0!important;
  color:var(--ify-p-text)!important;
  background:#fff!important;
  border:1px solid var(--ify-p-line)!important;
  border-radius:12px!important;
  box-shadow:none!important;
  font-family:var(--ify-sans,"Josefin Sans","Trebuchet MS","Segoe UI",Arial,sans-serif)!important;
  font-size:.86rem!important;
  line-height:1.3!important;
  outline:0!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
}
.ify-personalizari-social select:focus{
  border-color:color-mix(in srgb,var(--ify-p-primary) 55%,var(--ify-p-line))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ify-p-primary) 9%,transparent)!important;
}
.ify-personalizari-social select::-ms-expand{display:none!important}
.ify-personalizari-social select option{
  color:var(--ify-p-text)!important;
  background:#fff!important;
}
.ify-personalizari-link-help{
  display:block!important;
  margin:7px 0 0!important;
  color:var(--ify-p-muted)!important;
  font-size:.67rem!important;
  line-height:1.45!important;
}
.ify-personalizari-cart-text--link .ify-personalizari-cart-text__value a,
.ify-personalizari-checkout-text--link .ify-personalizari-checkout-text__value a{
  color:inherit!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}
body.ify-checkout-classic.woocommerce-checkout #order_review .ify-personalizari-checkout-text--link .ify-personalizari-checkout-text__value,
body.ify-checkout-classic.woocommerce-checkout #order_review .ify-personalizari-checkout-text--link .ify-personalizari-checkout-text__value a{
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.ify-personalizari-customer-photo{
  object-fit:cover!important;
  object-position:center!important;
}
