/* PlushieeZone Boost: shop-facing styles (brand colours). */

/* Free delivery bar */
.pzb-fd { margin: 0 0 12px; padding: 12px 14px; border-radius: 14px; background: #FDF4CA; color: #152E55; font-size: 14px; line-height: 1.4; }
.pzb-fd.is-done { background: #E8F5EE; color: #145C39; }
.pzb-fd p.pzb-fd__text { margin: 0 !important; font-weight: 800; }
.pzb-fd__icon { display: inline-block; vertical-align: -4px; margin-right: 6px; }
.pzb-fd__text strong { color: #1358A8; font-weight: 800; }
.pzb-fd__bar { height: 8px; margin-top: 8px; border-radius: 999px; background: #FFFFFF; overflow: hidden; }
.pzb-fd__bar span { display: block; height: 100%; border-radius: 999px; background: #F8DB0D; transition: width .4s ease; }
.pzb-fd.is-done .pzb-fd__bar span { background: #1B7A4B; }
.pzb-fd p.pzb-fd__sub { margin: 6px 0 0 !important; font-size: 12px; font-weight: 700; color: #7A5B00; }
.pzb-fd.is-done .pzb-fd__sub { color: #145C39; }
.wc-block-components-totals-wrapper .pzb-fd-wrap { padding: 0 16px; }
.wc-block-components-totals-wrapper .pzb-fd { margin: 4px 0 12px; }

/* Gift add-ons */
.pzb-addons { margin: 18px 0 8px; }
.pzb-addons p.pzb-addons__title { margin: 0 0 10px !important; font-family: "Fredoka", "Nunito", sans-serif; font-size: 18px; font-weight: 600; color: #152E55; }
.pzb-addons ul.pzb-addons__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none; }
.pzb-addon { display: flex; flex-direction: column; gap: 3px; min-width: 0; margin: 0; padding: 8px; border: 1px solid #E3E9F2; border-radius: 14px; background: #FFFFFF; font-size: 13px; }
.pzb-addon__img { display: block; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: #FFFBEA; }
.pzb-addon__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pzb-addon__name { margin-top: 4px; font-weight: 800; color: #152E55; line-height: 1.3; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.pzb-addon__price { color: #55627A; font-weight: 700; }
.pzb-addons .pzb-addon__btn,
.pzb-addons .pzb-addon__btn:hover,
.pzb-addons .pzb-addon__btn:focus {
	display: block; margin-top: auto; padding: 6px 8px !important; border: 1.5px solid #152E55 !important; border-radius: 999px !important;
	background: #FFFFFF !important; color: #152E55 !important; font: inherit; font-weight: 800; text-align: center; text-decoration: none;
	box-shadow: none !important; min-height: 0; line-height: 1.3; cursor: pointer; text-transform: none; letter-spacing: normal;
}
.pzb-addons .pzb-addon__btn:hover { background: #152E55 !important; color: #FFFFFF !important; }
.pzb-addons .pzb-addon__btn[disabled] { opacity: .6; cursor: wait; }
.pzb-addons .pzb-addon__btn.added { display: none; }
.pzb-addons .added_to_cart { display: none !important; }
.pzb-addons--mini { margin: 12px 0; }
.pzb-addons--mini .pzb-addons__title { font-size: 16px; }
.pzb-addons--mini .pzb-addon { padding: 6px; font-size: 12px; }
.woocommerce-mini-cart__buttons + .pzb-addons, .widget_shopping_cart .pzb-fd { margin-top: 10px; }

/* Checkout consent */
.pzb-consent { margin: 6px 0 0; font-size: 12px; color: #55627A; }

/* Product page: rating summary */
.pzb-rating { display: flex; flex-direction: column; gap: 8px; margin: -4px 0 14px; }
.pzb-rating__line { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 14px; color: #55627A; text-decoration: none; }
.pzb-rating__line strong { color: #152E55; }
.pzb-rating__count { color: #1358A8; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.pzb-stars { position: relative; display: inline-block; font-size: 16px; line-height: 1; letter-spacing: 2px; color: #E3E9F2; }
.pzb-stars::before { content: "★★★★★"; position: absolute; left: 0; top: 0; width: var(--pzb-r, 0%); overflow: hidden; color: #F2B705; white-space: nowrap; }
.pzb-rating__strip { display: flex; gap: 6px; }
.pzb-rating__strip a { display: block; width: 52px; height: 52px; border-radius: 10px; overflow: hidden; background: #FFFBEA; }
.pzb-rating__strip img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pzb-rating__more { display: grid !important; place-items: center; background: #EEF4FB !important; color: #1358A8; font-weight: 800; font-size: 13px; text-decoration: none; }

/* Review form + list */
.pzb-photos-field { display: flex; flex-direction: column; gap: 6px; margin: 12px 0; padding: 12px 14px; border: 1.5px dashed #C9D3E3; border-radius: 14px; }
.pzb-photos-field label { font-weight: 800; color: #152E55; }
.pzb-photos-field input[type="file"] { font-size: 14px; max-width: 100%; }
.pzb-photos-field__hint { font-size: 12px; color: #55627A; }
.pzb-review-points { margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; background: #FDF4CA; color: #152E55; font-weight: 700; font-size: 14px; }
.pzb-review-photos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.pzb-review-photos a { display: block; width: 72px; height: 72px; border-radius: 10px; overflow: hidden; }
.pzb-review-photos img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* WooCommerce back-in-stock form */
.wc_bis_form { margin: 4px 0 16px; padding: 16px 18px; border: 1px solid #E3E9F2; border-radius: 18px; background: #FFFFFF; }
.wc_bis_form h3, .wc_bis_form .wc_bis_form__heading { margin: 0 0 10px !important; font-family: "Fredoka", "Nunito", sans-serif; font-size: 18px !important; line-height: 1.3 !important; font-weight: 600; color: #152E55; }
.wc_bis_form__form-row { display: flex; gap: 8px; flex-wrap: wrap; }
.wc_bis_form .wc_bis_form__input { flex: 1 1 200px; min-width: 0; height: 46px; padding: 0 16px; border: 1.5px solid #C9D3E3; border-radius: 999px; font-size: 15px; }
.wc_bis_form .wc_bis_form__input:focus { border-color: #152E55; outline: none; box-shadow: 0 0 0 3px rgba(248, 219, 13, .6); }
.wc_bis_form .wc_bis_form__button { height: 46px; padding: 0 22px !important; border-radius: 999px !important; background: #152E55 !important; color: #FFFFFF !important; border: 0 !important; box-shadow: none !important; font-weight: 700; }
.wc_bis_form .wc_bis_form__button:hover { background: #0F2340 !important; }
.wc_bis_form p { margin: 8px 0 0; font-size: 13px; color: #55627A; }

@media (max-width: 600px) {
	.pzb-addons__list { gap: 8px; }
	.pzb-addon { font-size: 12px; }
}
