/* Plugin extras on top of theme tokens */
.butic-muted-note {
	color: var(--butic-muted);
	font-size: 0.9rem;
	margin: 0 0 0.5rem;
}

.butic-pdp-cart .single_add_to_cart_button,
.butic-pdp-cart button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.25rem;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--butic-accent), #e8a06a);
	color: #140e0a !important;
	font-weight: 700;
	border: none;
	cursor: pointer;
}

.butic-pdp-cart .quantity {
	margin-right: 0.75rem;
}

/* Buy row: quantity stepper + add to cart */
.butic-buy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.butic-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	border-radius: 999px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.03);
}

.butic-qty button {
	width: 42px;
	height: 46px;
	border: none;
	background: transparent;
	color: inherit;
	font-size: 1.15rem;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease;
}

.butic-qty button:hover {
	background: rgba(255, 255, 255, 0.07);
}

.butic-qty input {
	width: 46px;
	height: 46px;
	border: none;
	background: transparent;
	color: inherit;
	text-align: center;
	font: inherit;
	font-weight: 700;
	-moz-appearance: textfield;
	appearance: textfield;
}

.butic-qty input::-webkit-outer-spin-button,
.butic-qty input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.butic-buy__add {
	flex: 1;
	min-width: 190px;
}

/* Quick order — skips the cart and opens the delivery step directly */
.butic-buy__now {
	width: 100%;
	margin-top: 0.75rem;
}

.butic-buy__hint {
	margin: 0.6rem 0 0;
	font-size: 0.82rem;
	color: var(--butic-muted, #a8a49c);
	text-align: center;
}

/* Shared loading state for any add-to-cart control */
[data-fo-add].is-loading {
	opacity: 0.6;
	pointer-events: none;
	position: relative;
}

[data-fo-add].is-loading::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 2px solid currentColor;
	border-top-color: transparent;
	animation: butic-spin 0.6s linear infinite;
}

@keyframes butic-spin {
	to { transform: rotate(360deg); }
}

body.butic-is-landing.butic-hide-chrome .butic-header,
body.butic-is-landing.butic-hide-chrome .butic-footer,
body.butic-is-landing.butic-hide-chrome .butic-skip {
	display: none !important;
}

body.butic-is-landing .butic-main {
	min-height: 100vh;
	padding: 0;
}

/* Fast order drawer */
.butic-cart-link {
	cursor: pointer;
	font: inherit;
	color: inherit;
	background: transparent;
}

.butic-cart-link__icon {
	display: inline-flex;
	line-height: 0;
}

.butic-fo-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	z-index: 90;
	border: 0;
}

.butic-fo {
	position: fixed;
	top: 0;
	right: 0;
	width: min(420px, 100vw);
	height: 100vh;
	z-index: 91;
	background: #12161d;
	border-left: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	display: flex;
	flex-direction: column;
	box-shadow: -20px 0 50px rgba(0, 0, 0, 0.45);
	animation: butic-fo-in 0.28s ease;
}

@keyframes butic-fo-in {
	from {
		transform: translateX(12px);
		opacity: 0.6;
	}
	to {
		transform: none;
		opacity: 1;
	}
}

.butic-fo[hidden],
.butic-fo-overlay[hidden] {
	display: none !important;
}

.butic-fo__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 1.1rem 1.15rem;
	border-bottom: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
}

.butic-fo__title {
	margin: 0.15rem 0 0;
	font-family: var(--butic-display, Georgia, serif);
	font-size: 1.45rem;
}

.butic-fo__close {
	border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	background: transparent;
	color: inherit;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	font-size: 1.4rem;
	cursor: pointer;
	line-height: 1;
}

.butic-fo__body {
	overflow: auto;
	padding: 1rem 1.15rem 2rem;
	flex: 1;
}

/* ---------- Step indicator ---------- */
.butic-fo__steps {
	display: flex;
	gap: 0.85rem;
	margin: 0.35rem 0 0;
	font-size: 0.76rem;
	color: var(--butic-muted, #a8a49c);
}

.butic-fo__steps span {
	position: relative;
	padding-bottom: 0.3rem;
}

.butic-fo__steps span.is-active {
	color: var(--butic-text, #f7f5f1);
	font-weight: 600;
}

.butic-fo__steps span.is-active::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	border-radius: 2px;
	background: var(--butic-accent, #d4723a);
}

/* ---------- Free shipping progress ---------- */
.butic-fo__ship {
	background: rgba(61, 139, 132, 0.1);
	border: 1px solid rgba(61, 139, 132, 0.28);
	border-radius: 12px;
	padding: 0.7rem 0.85rem;
	margin-bottom: 1rem;
}

.butic-fo__ship.is-reached {
	background: rgba(61, 139, 132, 0.18);
	border-color: rgba(61, 139, 132, 0.5);
}

.butic-fo__ship-text {
	margin: 0 0 0.5rem;
	font-size: 0.85rem;
	color: var(--butic-text, #f7f5f1);
}

.butic-fo__ship-track {
	height: 5px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.09);
	overflow: hidden;
}

.butic-fo__ship-track span {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--butic-accent-2, #3d8b84), #5fbdb2);
	transition: width 0.4s ease;
}

/* ---------- Empty state ---------- */
.butic-fo__empty {
	text-align: center;
	padding: 1.5rem 0 1.75rem;
	color: var(--butic-muted, #a8a49c);
}

.butic-fo__empty-icon {
	width: 56px;
	height: 56px;
	margin: 0 auto 0.85rem;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	color: var(--butic-accent, #d4723a);
}

.butic-fo__empty-icon svg {
	width: 26px;
	height: 26px;
}

.butic-fo__empty-title {
	margin: 0 0 0.3rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--butic-text, #f7f5f1);
}

.butic-fo__empty-text {
	margin: 0;
	font-size: 0.88rem;
}

/* ---------- Cart items ---------- */
.butic-fo__item {
	display: flex;
	gap: 0.75rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
}

.butic-fo__item-thumb {
	width: 62px;
	height: 62px;
	border-radius: 10px;
	overflow: hidden;
	flex: none;
	background: var(--butic-surface, #1a2029);
	display: block;
}

.butic-fo__item-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.butic-fo__item-content {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.butic-fo__item-main {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0.5rem;
}

.butic-fo__item-name {
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	color: var(--butic-text, #f7f5f1);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.butic-fo__item-name:hover {
	color: var(--butic-accent, #d4723a);
}

.butic-fo__item-remove {
	flex: none;
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
	border: none;
	background: transparent;
	color: var(--butic-muted, #a8a49c);
	cursor: pointer;
	border-radius: 6px;
}

.butic-fo__item-remove svg {
	width: 15px;
	height: 15px;
}

.butic-fo__item-remove:hover {
	color: #ef9a9a;
	background: rgba(214, 92, 92, 0.12);
}

.butic-fo__item-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

.butic-fo__item-price {
	font-weight: 700;
	font-size: 0.95rem;
}

.butic-fo__item-actions {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	border-radius: 999px;
	overflow: hidden;
}

.butic-fo__item-actions button {
	width: 30px;
	height: 30px;
	border: none;
	background: transparent;
	color: inherit;
	cursor: pointer;
	font-size: 1rem;
	line-height: 1;
}

.butic-fo__item-actions button:hover {
	background: rgba(255, 255, 255, 0.07);
}

.butic-fo__item-actions span {
	min-width: 26px;
	text-align: center;
	font-weight: 700;
	font-size: 0.88rem;
}

/* ---------- Suggestions ---------- */
/* Quantity is already updated optimistically; this only softens the totals and
   shipping bar while the server catches up. Clicks stay enabled. */
.butic-fo__cart.is-busy .butic-fo__item-price {
	opacity: 0.55;
	transition: opacity 0.15s ease;
}

.butic-fo__suggest {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
}

.butic-fo__suggest-item {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.5rem 0;
}

.butic-fo__suggest-media {
	width: 44px;
	height: 44px;
	border-radius: 8px;
	overflow: hidden;
	flex: none;
	background: var(--butic-surface, #1a2029);
}

.butic-fo__suggest-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.butic-fo__suggest-ph {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, rgba(212, 114, 58, 0.3), rgba(61, 139, 132, 0.25));
}

.butic-fo__suggest-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}

.butic-fo__suggest-name {
	font-size: 0.85rem;
	text-decoration: none;
	color: var(--butic-text, #f7f5f1);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.butic-fo__suggest-price {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--butic-muted, #a8a49c);
}

.butic-fo__suggest-add {
	flex: none;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	background: rgba(255, 255, 255, 0.04);
	color: inherit;
	cursor: pointer;
	font-size: 1.05rem;
	line-height: 1;
}

.butic-fo__suggest-add:hover {
	background: linear-gradient(135deg, var(--butic-accent, #d4723a), #e8a06a);
	color: #140e0a;
	border-color: transparent;
}

/* ---------- Step 2 ---------- */
.butic-fo__back {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	background: none;
	border: none;
	color: var(--butic-muted, #a8a49c);
	cursor: pointer;
	font: inherit;
	font-size: 0.85rem;
	padding: 0 0 0.75rem;
}

.butic-fo__back:hover {
	color: var(--butic-text, #f7f5f1);
}

.butic-fo__recap {
	margin-bottom: 1rem;
}

.butic-fo__recap-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.7rem 0.85rem;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	font-size: 0.9rem;
}

/* ---------- Reassurance list ---------- */
.butic-fo__assure {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 1rem 0 0;
	border-top: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	display: grid;
	gap: 0.5rem;
	font-size: 0.83rem;
	color: var(--butic-muted, #a8a49c);
}

.butic-fo__assure li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.butic-fo__assure svg {
	width: 15px;
	height: 15px;
	flex: none;
	color: var(--butic-accent-2, #3d8b84);
}

/* ---------- Success ---------- */
.butic-fo__success {
	text-align: center;
	padding: 2rem 0;
}

.butic-fo__success-mark {
	width: 60px;
	height: 60px;
	margin: 0 auto 1rem;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(61, 139, 132, 0.18);
	border: 1px solid rgba(61, 139, 132, 0.5);
	color: #8fd6cd;
}

.butic-fo__success-mark svg {
	width: 28px;
	height: 28px;
}

.butic-fo__form {
	display: grid;
	gap: 0.55rem;
	margin-top: 1.1rem;
}

.butic-fo__form label {
	display: grid;
	gap: 0.22rem;
	font-size: 0.84rem;
}

/* Pure white on a lifted background: what the customer types has to stay
   readable on a phone at low brightness. Câmpurile sunt mai strânse decât
   înainte (11.09.2026, „câmpurile sunt foarte mari”): pe desktop 0.62rem
   umplutură și 0.95rem literă; pe telefon rămân la 1rem, altfel iOS face
   zoom pe pagină la fiecare atingere. */
.butic-fo__form input,
.butic-fo__form textarea {
	width: 100%;
	border-radius: 10px;
	border: 1px solid rgba(247, 245, 241, 0.2);
	background: #131924;
	color: #fff;
	-webkit-text-fill-color: #fff;
	caret-color: var(--butic-accent, #d4723a);
	padding: 0.62rem 0.8rem;
	font: inherit;
	font-size: 0.95rem;
	line-height: 1.35;
	transition: border-color 0.15s ease, background 0.15s ease;
}

@media (max-width: 640px) {
	.butic-fo__form input,
	.butic-fo__form textarea,
	.butic-fo__form select {
		font-size: 1rem; /* keeps iOS from zooming the page on focus */
	}
}

.butic-fo__form input::placeholder,
.butic-fo__form textarea::placeholder {
	color: rgba(247, 245, 241, 0.42);
	-webkit-text-fill-color: rgba(247, 245, 241, 0.42);
}

.butic-fo__form input:focus,
.butic-fo__form textarea:focus {
	outline: none;
	border-color: rgba(212, 114, 58, 0.75);
	background: #161d29;
}

/* Chrome forces its own near-black text + pale background on autofilled
   fields; the inset shadow trick is the only way to keep them legible. */
.butic-fo__form input:-webkit-autofill,
.butic-fo__form input:-webkit-autofill:hover,
.butic-fo__form input:-webkit-autofill:focus {
	-webkit-text-fill-color: #fff;
	-webkit-box-shadow: 0 0 0 1000px #131924 inset;
	box-shadow: 0 0 0 1000px #131924 inset;
	transition: background-color 5000s ease-in-out 0s;
}

/* Consent line under the submit button (replaces the old required checkbox) */
.butic-fo__consent {
	margin: 0.7rem 0 0;
	font-size: 0.8rem;
	line-height: 1.5;
	text-align: center;
	color: var(--butic-muted, #a8a49c);
}

.butic-fo__consent a {
	color: var(--butic-muted, #a8a49c);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.butic-fo__consent a:hover {
	color: var(--butic-text, #f7f5f1);
}

.butic-fo__label {
	margin: 0.75rem 0 0.15rem;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--butic-muted, #a8a49c);
}

/* Radio și checkbox NU sunt câmpuri de text. Regula generală de mai sus
   (lățime 100%, chenar, umplutură) le transforma într-o cutie uriașă cu
   textul împins în dreapta — exact ce se vedea la „Plată” (11.09.2026). */
.butic-fo__form input[type="radio"],
.butic-fo__form input[type="checkbox"] {
	width: 1.1rem !important;
	height: 1.1rem;
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	accent-color: var(--butic-accent, #d4723a);
	cursor: pointer;
}

.butic-fo__pay {
	display: grid;
	gap: 0.5rem;
}

/* Opțiunea de plată e un card: radio, nume, o explicație scurtă. Cea aleasă
   primește chenarul de accent — „aurit”, ca butonul principal. */
.butic-fo__pay-opt {
	display: flex !important;
	align-items: center;
	gap: 0.7rem;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.14));
	border-radius: 12px;
	background: rgba(247, 245, 241, 0.02);
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.butic-fo__pay-opt:hover {
	border-color: rgba(212, 114, 58, 0.45);
}

.butic-fo__pay-opt:has(input:checked) {
	border-color: rgba(212, 114, 58, 0.85);
	background: rgba(212, 114, 58, 0.08);
	box-shadow: 0 0 0 1px rgba(212, 114, 58, 0.35) inset;
}

.butic-fo__pay-text {
	display: grid;
	gap: 0.12rem;
	min-width: 0;
}

.butic-fo__pay-name {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--butic-text, #f7f5f1);
	line-height: 1.25;
}

.butic-fo__pay-desc {
	font-size: 0.76rem;
	line-height: 1.35;
	color: var(--butic-muted, #a8a49c);
}

/* Nota de sub ramburs: explicația taxei sau motivul pentru care e blocat.
   Se scrie, nu se ascunde — clientul trebuie să știe de ce i se cere cardul. */
.butic-fo__pay-nota {
	font-size: 0.72rem;
	line-height: 1.35;
	color: var(--butic-muted, #a8a49c);
	margin-top: 0.15rem;
}

.butic-fo__pay-opt.is-locked {
	opacity: 0.55;
	cursor: not-allowed;
}

.butic-fo__pay-opt.is-locked .butic-fo__pay-nota {
	color: #e0a06a;
}

.butic-fo__legal {
	font-size: 0.8rem;
	color: var(--butic-muted, #a8a49c);
	margin: 0.25rem 0;
}

.butic-fo__total-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0.5rem 0 0.75rem;
	font-size: 1.05rem;
}

.butic-fo__submit {
	width: 100%;
}

.butic-fo__msg {
	color: #f0a0a0;
	font-size: 0.9rem;
	margin: 0;
}

.butic-fo__success h3 {
	font-family: var(--butic-display, Georgia, serif);
	margin-top: 0;
}

body.butic-fo-open {
	overflow: hidden;
}

/* Pagina de întoarcere de la Stripe (?butic_stripe=success|cancel) — un
   singur card, pe fundalul temei, cu aceleași culori ca sertarul. */
.butic-thanks {
	display: grid;
	place-items: center;
	padding: clamp(2.5rem, 8vw, 6rem) 1rem;
}

.butic-thanks__card {
	max-width: 520px;
	width: 100%;
	text-align: center;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border-radius: 16px;
	border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	background: var(--butic-bg-elev, #151618);
}

.butic-thanks__mark {
	width: 56px;
	height: 56px;
	margin: 0 auto 1rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	font-size: 1.6rem;
	color: #fff;
	background: var(--butic-accent-2, #3d8b84);
}

.butic-thanks--warn .butic-thanks__mark {
	background: var(--butic-accent, #d4723a);
}

.butic-thanks h1 {
	font-family: var(--butic-display, Georgia, serif);
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin: 0 0 0.6rem;
}

.butic-thanks p {
	color: var(--butic-muted, #a8a49c);
	line-height: 1.6;
	margin: 0 0 1.4rem;
}

.butic-thanks__btn {
	display: inline-block;
	padding: 0.75rem 1.4rem;
	border-radius: 999px;
	background: var(--butic-accent, #d4723a);
	color: #fff;
	text-decoration: none;
	font-weight: 600;
}

/* ---------- Return request form ---------- */
/* Class names kept as supplied; colours bound to the theme tokens so the form
   follows the palette instead of drifting from it. */

.return-form-container {
	max-width: 600px;
	margin: 0 auto;
	background: var(--butic-bg-elev, #151618);
	padding: clamp(1.25rem, 4vw, 1.9rem);
	border-radius: 12px;
	border: 1px solid var(--butic-line, #2a2a2a);
}

.return-form-container h2 {
	margin-top: 0;
	font-family: var(--butic-display, Georgia, serif);
	font-size: clamp(1.4rem, 3vw, 1.8rem);
	letter-spacing: -0.01em;
}

.return-policy-note {
	font-size: 0.875rem;
	line-height: 1.6;
	color: var(--butic-muted, #a0a0a0);
	margin-bottom: 1.5rem;
}

.custom-return-form .form-group {
	margin-bottom: 1.25rem;
	display: flex;
	flex-direction: column;
}

.custom-return-form label {
	font-size: 0.82rem;
	color: var(--butic-text, #e0e0e0);
	margin-bottom: 0.5rem;
	font-weight: 500;
}

.custom-return-form input,
.custom-return-form textarea {
	background: #131924;
	border: 1px solid rgba(247, 245, 241, 0.2);
	color: #fff;
	-webkit-text-fill-color: #fff;
	caret-color: var(--butic-accent, #e88645);
	padding: 0.75rem 0.95rem;
	border-radius: 8px;
	font: inherit;
	font-size: 1rem; /* stops iOS zooming in on focus */
	transition: border-color 0.15s ease, background 0.15s ease;
}

.custom-return-form input::placeholder,
.custom-return-form textarea::placeholder {
	color: rgba(247, 245, 241, 0.38);
	-webkit-text-fill-color: rgba(247, 245, 241, 0.38);
}

.custom-return-form input:focus,
.custom-return-form textarea:focus {
	outline: none;
	border-color: var(--butic-accent, #e88645);
	background: #161d29;
}

.custom-return-form input:-webkit-autofill,
.custom-return-form input:-webkit-autofill:focus {
	-webkit-text-fill-color: #fff;
	-webkit-box-shadow: 0 0 0 1000px #131924 inset;
	box-shadow: 0 0 0 1000px #131924 inset;
}

.custom-return-form #iban {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.06em;
}

.custom-return-form input.has-error,
.custom-return-form textarea.has-error {
	border-color: #d65c5c;
}

.form-error {
	display: block;
	min-height: 0;
	margin-top: 0.35rem;
	font-size: 0.8rem;
	color: #ef9a9a;
}

.form-error:empty {
	margin-top: 0;
}

.btn-submit-return {
	background: linear-gradient(135deg, var(--butic-accent, #e88645), #f0a06a);
	color: #140e0a;
	font-weight: 700;
	border: none;
	padding: 0.95rem 1.5rem;
	width: 100%;
	border-radius: 999px;
	cursor: pointer;
	font-size: 1rem;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.btn-submit-return:hover {
	opacity: 0.92;
	transform: translateY(-1px);
}

.btn-submit-return.is-loading {
	opacity: 0.6;
	pointer-events: none;
}

.return-form-msg {
	margin: 0.85rem 0 0;
	padding: 0.7rem 0.85rem;
	border-radius: 8px;
	background: rgba(214, 92, 92, 0.12);
	border: 1px solid rgba(214, 92, 92, 0.4);
	color: #ef9a9a;
	font-size: 0.87rem;
}

.return-form-success {
	text-align: center;
	padding: 1rem 0;
}

.return-form-success h3 {
	font-family: var(--butic-display, Georgia, serif);
	margin: 0 0 0.5rem;
}

.return-form-success p {
	color: var(--butic-muted, #a0a0a0);
	margin: 0;
}

/* Honeypot: off-screen rather than display:none, which some bots skip */
.butic-hp,
.butic-fo__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ==========================================================================
   Delivery promise
   ========================================================================== */

.butic-delivery {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0.75rem 0;
	padding: 0.55rem 0.75rem;
	border-radius: 10px;
	border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	background: rgba(61, 139, 132, 0.08);
	font-size: 0.88rem;
	line-height: 1.4;
	color: var(--butic-text, #f7f5f1);
}

.butic-delivery svg {
	flex: none;
	color: var(--butic-accent-2, #3d8b84);
}

.butic-delivery.is-urgent {
	border-color: rgba(212, 114, 58, 0.4);
	background: rgba(212, 114, 58, 0.1);
}

.butic-delivery.is-urgent svg {
	color: var(--butic-accent, #d4723a);
}

.butic-delivery--fo {
	margin: 0.85rem 0 0;
	font-size: 0.84rem;
}

/* ==========================================================================
   Drawer: address, company details, shipping methods
   ========================================================================== */

/* Two fields per line where they belong together (county + postcode) — one
   field per row makes the delivery step feel twice as long as it is. */
.butic-fo__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.65rem;
}

.butic-fo__form select {
	width: 100%;
	border-radius: 10px;
	border: 1px solid rgba(247, 245, 241, 0.2);
	background: #131924;
	color: #fff;
	padding: 0.62rem 0.8rem;
	font: inherit;
	font-size: 0.95rem;
	line-height: 1.35;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a8a49c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.8rem center;
	padding-right: 2.2rem;
}

.butic-fo__form select:focus {
	outline: none;
	border-color: rgba(212, 114, 58, 0.75);
}

.butic-fo__err {
	font-style: normal;
	font-size: 0.78rem;
	color: #f0a0a0;
	min-height: 0;
}

.butic-fo__err:empty {
	display: none;
}

.butic-fo__form .has-error {
	border-color: #d97070;
	background: rgba(217, 112, 112, 0.08);
}

.butic-fo__check {
	display: flex !important;
	align-items: center;
	gap: 0.55rem;
	margin-top: 0.35rem;
	font-size: 0.88rem;
	cursor: pointer;
}

.butic-fo__check input {
	width: auto !important;
	accent-color: var(--butic-accent, #d4723a);
}

.butic-fo__company {
	display: grid;
	gap: 0.65rem;
	padding: 0.85rem;
	border-radius: 10px;
	border: 1px dashed var(--butic-line, rgba(247, 245, 241, 0.12));
}

.butic-fo__company[hidden] {
	display: none;
}

.butic-fo__methods {
	display: grid;
	gap: 0.45rem;
	transition: opacity 0.15s ease;
}

.butic-fo__methods.is-busy {
	opacity: 0.5;
	pointer-events: none;
}

.butic-fo__methods-hint {
	margin: 0;
	font-size: 0.84rem;
	color: var(--butic-muted, #a8a49c);
}

.butic-fo__methods-hint.is-warning {
	color: #f0a0a0;
}

.butic-fo__method {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	border-radius: 10px;
	font-size: 0.9rem;
	cursor: pointer;
}

.butic-fo__method:has(input:checked) {
	border-color: rgba(212, 114, 58, 0.6);
	background: rgba(212, 114, 58, 0.07);
}

.butic-fo__method input {
	accent-color: var(--butic-accent, #d4723a);
}

.butic-fo__method-label {
	flex: 1;
}

.butic-fo__method-cost {
	font-weight: 600;
	white-space: nowrap;
}

/* The running total, printed right above the button — this is what makes
   "costul de livrare este afișat înainte de plată" true. */
.butic-fo__summary {
	margin-top: 1rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
}

.butic-fo__summary .butic-fo__total-row {
	margin: 0.3rem 0;
	font-size: 0.95rem;
}

.butic-fo__total-row--muted span:last-child {
	color: var(--butic-muted, #a8a49c);
	font-style: italic;
}

.butic-fo__total-row--grand {
	font-size: 1.1rem;
	padding-top: 0.4rem;
	border-top: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
}

/* ==========================================================================
   Payment marks
   ========================================================================== */

.butic-paymarks {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin: 0.6rem 0 0;
}

.butic-paymark {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.25rem 0.5rem;
	border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	border-radius: 6px;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--butic-muted, #a8a49c);
}

.butic-paymark--visa {
	font-style: italic;
	letter-spacing: 0.08em;
}

.butic-paymark--mc svg {
	width: 26px;
	height: 16px;
}

.butic-paymark--secure {
	color: var(--butic-accent-2, #3d8b84);
	border-color: rgba(61, 139, 132, 0.35);
}

/* ==========================================================================
   Toast — replaces alert() for add-to-cart failures
   ========================================================================== */

.butic-toast {
	position: fixed;
	left: 50%;
	bottom: 1.5rem;
	z-index: 100000;
	transform: translate(-50%, 1rem);
	max-width: min(28rem, calc(100vw - 2rem));
	padding: 0.8rem 1.1rem;
	border-radius: 12px;
	border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
	background: var(--butic-surface, #1a2029);
	color: var(--butic-text, #f7f5f1);
	font-size: 0.9rem;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

.butic-toast.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

/* ==========================================================================
   Touch-opened dropdowns (the header menus are :hover-only otherwise)
   ========================================================================== */

.butic-nav__has-sub.is-open > .butic-nav__sub {
	opacity: 1;
	visibility: visible;
	transform: none;
	pointer-events: auto;
}

/* ==========================================================================
   404
   ========================================================================== */

.butic-404-search {
	display: flex;
	gap: 0.5rem;
	max-width: 32rem;
	margin: 1.25rem 0 0.75rem;
}

.butic-404-search input {
	flex: 1;
	min-width: 0;
	border-radius: 10px;
	border: 1px solid rgba(247, 245, 241, 0.2);
	background: #131924;
	color: #fff;
	padding: 0.8rem 0.85rem;
	font: inherit;
	font-size: 1rem;
}

.butic-404-search input:focus {
	outline: none;
	border-color: rgba(212, 114, 58, 0.75);
}

.butic-404-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	font-size: 0.9rem;
	color: var(--butic-muted, #a8a49c);
}

@media (max-width: 480px) {
	.butic-fo__row {
		grid-template-columns: 1fr;
	}

	.butic-404-search {
		flex-direction: column;
	}
}

/* Precomandă (13.09.2026): produs „pe comandă” — fără promisiune de zi. */
.butic-delivery--preorder {
	border-color: rgba(245, 158, 11, 0.45);
	background: rgba(245, 158, 11, 0.1);
}

.butic-delivery--preorder svg {
	color: #f59e0b;
}

.butic-badge--preorder {
	background: #f59e0b;
	color: #1a1208;
}

.butic-fo__item-pre {
	display: inline-block;
	margin-left: 0.35rem;
	padding: 0.05rem 0.45rem;
	border-radius: 999px;
	background: rgba(245, 158, 11, 0.18);
	color: #f59e0b;
	font-size: 0.72rem;
	font-weight: 600;
	vertical-align: middle;
}

/* Blocul de abonare la ghiduri (18.09.2026). Inline, la finalul paginilor de
   conținut — nu fereastră care sare: 73% din trafic e pe telefon, unde un
   popup e o ușă închisă, nu o invitație. */
/* Culorile vin din temă (--butic-*), nu dintr-un set propriu. Prima versiune
   folosea `var(--surface-2, #f8fafc)`, iar `--surface-2` nu există nicăieri pe
   site: ieșea un card aproape alb, cu textul temei (tot aproape alb) peste el.
   Adică un dreptunghi gol. Pe fundal întunecat, fiecare culoare se ia de la
   temă sau nu se ia deloc. */
.butic-abonare {
  margin: 40px 0 8px;
  padding: 24px;
  border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.12));
  border-radius: var(--butic-radius, 14px);
  background: var(--butic-bg-elev, #14181f);
  color: var(--butic-text, #f7f5f1);
  display: grid;
  gap: 18px;
}
@media (min-width: 720px) {
  .butic-abonare { grid-template-columns: 1fr 1fr; align-items: start; gap: 28px; }
}

/* Banda din subsol: aceleași câmpuri, dar pe toată lățimea, deasupra
   subsolului. Padding-ul lateral o centrează fără încă un div: `100%` e
   lățimea corpului, deci jumătatea care prisosește față de coloana de 1120px
   devine margine. */
.butic-abonare--banda {
  margin: 3rem 0 0;
  border-width: 1px 0 0;
  border-radius: 0;
  padding: 2.25rem max(var(--butic-space, 1.5rem), calc((100% - var(--butic-max, 1120px)) / 2));
}
.butic-abonare--banda .butic-abonare__text h2 { font-size: 1.1rem; }
/* Subsolul își ține singur 5rem de aer deasupra. Cu banda între ele ieșea o
   gaură de un ecran de nimic, așa că aerul se ia o singură dată. */
.butic-abonare--banda + .butic-footer { margin-top: 0; }
@media (min-width: 720px) {
  .butic-abonare--banda { gap: 2.5rem; }
}
.butic-abonare__text h2 {
  margin: 0 0 8px;
  font-size: 1.25rem;
  line-height: 1.25;
  text-wrap: balance;
}
.butic-abonare__text p { margin: 0; font-size: 0.95rem; line-height: 1.6; opacity: 0.85; }
.butic-abonare__form { display: grid; gap: 12px; min-width: 0; }
.butic-abonare__camp input {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  font: inherit;
  color: inherit;
  border: 1px solid var(--butic-line, rgba(247, 245, 241, 0.18));
  border-radius: 10px;
  background: var(--butic-surface, #1a2029);
}
.butic-abonare__camp input::placeholder { color: var(--butic-muted, #a8a49c); }
.butic-abonare__acord {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  font-size: 0.8rem;
  line-height: 1.5;
  opacity: 0.85;
}
.butic-abonare__acord input { margin-top: 3px; }
.butic-abonare__buton {
  justify-self: start;
  padding: 12px 24px;
  font: inherit;
  font-weight: 700;
  border: 0;
  border-radius: 999px;
  background: var(--butic-accent, #d4723a);
  color: var(--butic-bg, #0b0d10);
  cursor: pointer;
}
.butic-abonare__buton[disabled] { opacity: 0.6; cursor: progress; }
.butic-abonare__raspuns { margin: 0; font-size: 0.85rem; min-height: 1.2em; }

/* Rândul de reducere din sertar. Verde, ca să se vadă că e în favoarea lui,
   și doar când chiar există un cod aplicat. */
.butic-fo__total-row--reducere { color: #047857; }
.butic-fo__total-row--reducere span:last-child { font-weight: 700; }

/* Pagina /magazin/: text scurt sus, produse adevărate dedesubt. */
.butic-magazin__grup { margin-top: 2.5rem; }
.butic-magazin__grup h2 { margin: 0 0 0.35rem; }
.butic-magazin__nota { margin: 0 0 1.25rem; font-size: 0.9rem; opacity: 0.75; }
.butic-magazin__categorii {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.butic-magazin__cat {
  display: inline-flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.6rem 1rem;
  border-radius: 999px;
  background: rgba(247, 245, 241, 0.06);
  color: inherit;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  transition: background 0.18s ease;
}
.butic-magazin__cat:hover { background: rgba(247, 245, 241, 0.12); }
.butic-magazin__cat em {
  font-style: normal;
  font-size: 0.78rem;
  opacity: 0.55;
  font-variant-numeric: tabular-nums;
}
