/* PrintBox Lite Designer: blocul de pe pagina produsului, blocul din coș și rândul de la finalizare.
   Culorile sunt cele ale paginii Storefront (roșu #E8392E, navy #1f2d3d, verde #27ae60, crem #FBFAF8). */

.pld-box { width: 100%; min-width: 0; max-width: 100%; flex: 0 0 100%; margin: -6px 0 12px; color: #1c1c1e; text-align: left; font-family: inherit; }
.pld-box *, .pld-cart * { box-sizing: border-box; }
.pld-box p { margin: 0; }
.pld-box [hidden] { display: none !important; }
.pld-box .pld-h { font-size: 17px; font-weight: 600; line-height: 1.3; margin: 0 0 10px; color: #1c1c1e; }
.pld-box .pld-f { margin: 0 0 10px; }
.pld-box .pld-f:last-child { margin-bottom: 0; }
.pld-box.pld-needs-photo .pld-f--opt { display: none; }

/* --- poza --- */
.pld-box .pld-drop {
	display: flex; align-items: center; gap: 14px; width: 100%; min-height: 0; height: auto; padding: 16px; margin: 0;
	border: 1.5px dashed #C9C4BB; border-radius: 16px; background: #fff; color: #1c1c1e; text-align: left; text-transform: none;
	letter-spacing: 0; line-height: 1.25; box-shadow: none; cursor: pointer; font: inherit; transition: border-color .15s, background .15s;
}
.pld-box .pld-drop:hover, .pld-box .pld-drop:focus-visible, .pld-box .pld-drop.is-over { border-color: #E8392E; background: #FFF9F8; color: #1c1c1e; outline: 0; }
.pld-box .pld-ic { flex: none; width: 48px; height: 48px; border-radius: 50%; background: #FDECEA; color: #E8392E; display: grid; place-items: center; }
.pld-box .pld-drop__t b { display: block; font-size: 16px; font-weight: 700; }
.pld-box .pld-drop__t small { display: block; font-size: 13px; font-weight: 400; color: #7b7872; margin-top: 3px; }
.pld-box .pld-file { display: flex; min-width: 0; align-items: center; gap: 12px; padding: 10px 12px; border: 1.5px solid #E5E1DA; border-radius: 16px; background: #fff; }
.pld-box .pld-file__img { flex: none; width: 56px; height: 56px; border-radius: 10px; object-fit: cover; background: #F1EFEA; margin: 0; }
.pld-box .pld-file__t { flex: 1; min-width: 0; }
.pld-box .pld-file__title { display: block; font-size: 15px; font-weight: 700; line-height: 1.25; }
.pld-box .pld-file__title i { color: #27ae60; font-style: normal; }
.pld-box .pld-file__meta { display: block; font-size: 12.5px; color: #7b7872; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.pld-box .pld-change {
	flex: none; width: auto; min-height: 0; height: auto; margin: 0; padding: 8px 4px; border: 0; background: none; box-shadow: none;
	color: #1f2d3d; font: inherit; font-size: 14px; font-weight: 600; text-decoration: underline; text-transform: none; letter-spacing: 0; cursor: pointer;
}
.pld-box .pld-change:hover { color: #3b5bdb; background: none; }
.pld-box .pld-prog { display: block; height: 4px; border-radius: 4px; background: #ECE8E1; margin-top: 7px; overflow: hidden; }
.pld-box .pld-prog span { display: block; height: 100%; width: 0; background: #27ae60; border-radius: 4px; transition: width .2s; }
.pld-box .is-busy .pld-file__title i, .pld-box .is-busy .pld-change { display: none; }
.pld-box .is-busy .pld-file__img { opacity: .55; }
.pld-box .pld-err { font-size: 13px; line-height: 1.45; color: #C0392B; background: #FDECEA; border-radius: 10px; padding: 9px 12px; margin: 8px 0 0; }
.pld-box .pld-hint { display: block; font-size: 13px; color: #7b7872; line-height: 1.45; margin: 9px 2px 0; }

/* --- text opțional, cu comutator --- */
.pld-box .pld-row { display: flex; align-items: center; gap: 10px; margin: 0; padding: 14px 12px; border: 1.5px solid #E5E1DA; border-radius: 16px; background: #fff; cursor: pointer; }
.pld-box .pld-row__t { flex: 1; font-size: 15px; font-weight: 700; line-height: 1.25; color: #1c1c1e; }
.pld-box .pld-price { flex: none; font-size: 13px; font-weight: 700; color: #1f8a4c; background: #E8F6EE; border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.pld-box .pld-sw__in { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.pld-box .pld-sw { flex: none; position: relative; width: 46px; height: 28px; border-radius: 999px; background: #D8D4CC; transition: background .15s; }
.pld-box .pld-sw::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: left .15s; }
.pld-box .is-on .pld-row { border-color: #27ae60; }
.pld-box .is-on .pld-sw { background: #27ae60; }
.pld-box .is-on .pld-sw::after { left: 21px; }
.pld-box .pld-sw__in:focus-visible + .pld-sw { outline: 2px solid #3b5bdb; outline-offset: 2px; }
.pld-box .pld-text { margin-top: 8px; }
.pld-box .pld-meta { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; color: #7b7872; margin: 6px 2px 0; line-height: 1.4; }
.pld-box .pld-meta .pld-count { flex: none; }

/* --- câmpuri de text --- */
.pld-box input.pld-inp {
	display: block; width: 100%; height: 50px; margin: 0; padding: 0 12px; border: 1.5px solid #D8D4CC; border-radius: 12px; background: #fff;
	color: #1c1c1e; font: inherit; font-size: 16px; line-height: 1.2; box-shadow: none; outline: 0; -webkit-appearance: none; appearance: none;
}
.pld-box input.pld-inp:focus { border-color: #3b5bdb; box-shadow: 0 0 0 3px rgba(59, 91, 219, .15); }
.pld-box .pld-text input.pld-inp, .pld-box .is-filled input.pld-inp { border-color: #1f2d3d; }
.pld-box .pld-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin: 0 0 10px; }
.pld-box .pld-grid .pld-f { margin: 0; min-width: 0; }
.pld-box .pld-l { display: block; font-size: 14px; font-weight: 600; margin: 0 0 5px; color: #1c1c1e; }
.pld-box .pld-inpw { display: block; position: relative; }
.pld-box .pld-inpw input.pld-inp { padding-right: 58px; }
.pld-box .pld-inpw .pld-count { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-size: 12px; color: #7b7872; pointer-events: none; }
.pld-box .is-missing input.pld-inp, .pld-box .is-missing .pld-drop { border-color: #E8392E; }
.pld-box .is-missing { animation: pld-shake .35s; }
@keyframes pld-shake { 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }

/* --- butonul de coș cât timp lipsește ceva --- */
body.single-product .summary form.cart button.single_add_to_cart_button.pld-off,
form.cart button.single_add_to_cart_button.pld-off { background: #E7E4DE !important; color: #8C8982 !important; box-shadow: none !important; }

/* --- coșul: poza clientului, deasupra opțiunilor --- */
.pld-cart { position: relative; display: flex; gap: 12px; align-items: center; width: 100%; min-width: 0; max-width: 100%; overflow: hidden; margin: 10px 0; padding: 10px 12px; border: 1px solid #ECE8E1; border-radius: 14px; background: #FBFAF8; color: #1c1c1e; text-align: left; font-size: 13.5px; line-height: 1.4; }
.pld-cart img.pld-cart__img { flex: none; width: 64px !important; height: 64px !important; max-width: none; border-radius: 10px; object-fit: cover; object-position: 50% 30%; margin: 0; background: #F1EFEA; }
.pld-cart__t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; padding-right: 64px; }
.pld-cart__row { display: block; }
.pld-cart__row b { display: block; font-weight: 700; font-size: 13.5px; }
.pld-cart__row b em { color: #27ae60; font-style: normal; }
.pld-cart__row b i { font-style: normal; font-weight: 700; font-size: 11.5px; color: #1f8a4c; background: #E8F6EE; border-radius: 999px; padding: 2px 7px; margin-left: 4px; }
.pld-cart__v { display: block; color: #4a4843; overflow-wrap: anywhere; word-break: break-word; }
.pld-cart__v--name { color: #7b7872; font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* poza ștearsă între timp (coș mai vechi decât termenul de păstrare) */
.pld-cart__row--gone b { color: #c0392b; }
.woocommerce-error a.pld-notice-link { color: inherit !important; font-weight: 700; text-decoration: underline !important; }
.pld-cart a.pld-cart__edit,
.m-cart table.cart tr.cart_item td.product-name .pld-cart a.pld-cart__edit { position: absolute; top: 10px; right: 14px; left: auto; display: inline; width: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; font-size: 13px; font-weight: 600; line-height: 1.4; color: #1f2d3d; text-decoration: underline; }
.pld-cart a.pld-cart__edit:hover { color: #3b5bdb; }
/* pe telefon tema ține titlul într-o coloană îngustă, în dreapta pozei produsului: blocul trece pe toată lățimea
   rândului, sub poză, exact ca opțiunile Cart Add-ons (aceleași măsuri ale temei, cu aceleași variabile) */
@media (max-width: 768px) {
	.m-cart table.cart tr.cart_item td.product-name:has(.pld-cart) > a { min-height: var(--pbca-cart-thumb-h, 118px); }
	.m-cart table.cart tr.cart_item td.product-name .pld-cart {
		flex: 0 0 calc(100% + var(--pbca-cart-gutter, 110px) + var(--pbca-cart-pad-right, 30px));
		width: auto; min-width: 0; max-width: calc(100% + var(--pbca-cart-gutter, 110px) + var(--pbca-cart-pad-right, 30px));
		margin-left: calc(-1 * var(--pbca-cart-gutter, 110px));
		margin-right: calc(-1 * var(--pbca-cart-pad-right, 30px));
	}
}

/* --- finalizare: aceleași date, fără casetă, potrivite pe coloana îngustă a produsului: miniatura lângă „Poza ta”,
   apoi câte un rând pe toată lățimea coloanei --- */
.pld-cart.pld-cart--co { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 5px 10px; align-items: center; clear: both; width: auto; margin: 10px 0 2px; padding: 0; border: 0; border-radius: 0; background: none; overflow: visible; font-size: 13px; font-weight: 400; line-height: 1.4; }
.pld-cart.pld-cart--co img.pld-cart__img { width: 44px !important; height: 44px !important; border-radius: 8px; float: none !important; margin: 0 !important; }
.pld-cart.pld-cart--co .pld-cart__t { display: contents; }
.pld-cart.pld-cart--co .pld-cart__row { grid-column: 1 / -1; }
.pld-cart.pld-cart--co img + .pld-cart__t .pld-cart__row:first-child { grid-column: 2; }
.pld-cart.pld-cart--co .pld-cart__row b { font-size: 13px; }

/* --- coșul mic --- */
img.pld-co__img { display: inline-block !important; width: 44px !important; height: 44px !important; max-width: none; border-radius: 8px; object-fit: cover; object-position: 50% 30%; vertical-align: middle; margin: 0 6px 0 0 !important; float: none !important; }
