/* Formular Retur WooCommerce - stiluri frontend
   Scop: .frw-formular (nu afecteaza restul temei). */

.frw-formular {
	--frw-accent: #F4792A;
	--frw-accent-rgb: 244, 121, 42;
	--frw-accent-soft: rgba(244, 121, 42, .1);
	--frw-bordura: #dcdfe3;
	--frw-text-secundar: #6b7178;
	--frw-eroare: #b3261e;
	--frw-eroare-fundal: #fdecea;
	--frw-succes: #1d7a46;
	--frw-succes-fundal: #e9f7ee;
	max-width: 860px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.5;
}

.frw-ascuns { display: none !important; }
.frw-hp { position: absolute !important; left: -9999px !important; opacity: 0; height: 0; overflow: hidden; }

/* ------------------------------- indicator pasi */

.frw-pasi {
	display: flex;
	gap: 8px;
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
	counter-reset: none;
}
.frw-pas {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-bottom: 3px solid var(--frw-bordura);
	color: var(--frw-text-secundar);
	font-size: 14px;
	font-weight: 600;
}
.frw-pas span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--frw-bordura);
	color: #fff;
	font-size: 13px;
	flex: none;
}
.frw-pas.activ { border-bottom-color: var(--frw-accent); color: var(--frw-accent); }
.frw-pas.activ span { background: var(--frw-accent); }

/* ------------------------------- sectiuni & campuri */

.frw-sectiune { margin-bottom: 32px; }
.frw-titlu { margin: 0 0 4px; font-size: 1.3em; }
.frw-descriere { margin: 0 0 16px; color: var(--frw-text-secundar); }

.frw-camp { margin: 0 0 14px; }
.frw-camp label { display: block; font-weight: 600; margin-bottom: 4px; font-size: 14px; }
.frw-camp label em { color: var(--frw-eroare); font-style: normal; }
.frw-camp input,
.frw-camp select,
.frw-camp textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--frw-bordura);
	border-radius: 8px;
	font: inherit;
	background: #fff;
	box-sizing: border-box;
}
.frw-camp input:focus,
.frw-camp select:focus,
.frw-camp textarea:focus {
	outline: 2px solid var(--frw-accent);
	outline-offset: 1px;
	border-color: var(--frw-accent);
}

/* Selecturi: sageata proprie, pozitionata corect in interior (suprascrie tema). */
.frw-formular .frw-camp select {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	background-color: #fff !important;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b7178' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 12px 8px !important;
	padding-right: 40px !important;
}
.frw-formular .frw-camp select::-ms-expand { display: none; }

.frw-campuri-identificare,
.frw-grid-contact {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20px;
}
.frw-camp-lat { grid-column: 1 / -1; }

/* ------------------------------- mesaje */

.frw-mesaj {
	display: none;
	padding: 12px 14px;
	border-radius: 8px;
	margin: 4px 0 12px;
	font-size: 15px;
}
.frw-mesaj-info { background: #eef2f7; color: #33404d; display: block; }
.frw-mesaj-eroare { background: var(--frw-eroare-fundal); color: var(--frw-eroare); display: block; }
.frw-mesaj-succes { background: var(--frw-succes-fundal); color: var(--frw-succes); display: block; }

/* ------------------------------- grid produse */

.frw-grid-produse {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.frw-produs {
	border: 2px solid var(--frw-bordura);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.frw-produs-antet {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px;
	cursor: pointer;
	position: relative;
	user-select: none;
}
.frw-produs-antet img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 8px;
	flex: none;
}
.frw-produs-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.frw-produs-nume { font-weight: 700; }
.frw-produs-meta { color: var(--frw-text-secundar); font-size: 13px; }
.frw-produs-eticheta {
	font-size: 12px;
	color: var(--frw-eroare);
	font-weight: 600;
}
.frw-produs-check {
	margin-left: auto;
	width: 26px;
	height: 26px;
	border: 2px solid var(--frw-bordura);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: transparent;
	flex: none;
	transition: all .15s ease;
}

.frw-produs:hover:not(.frw-blocat) { border-color: var(--frw-accent); }
.frw-produs.selectat { border-color: var(--frw-accent); box-shadow: 0 4px 14px rgba(var(--frw-accent-rgb), .18); }
.frw-produs.selectat .frw-produs-check { background: var(--frw-accent); border-color: var(--frw-accent); color: #fff; }
.frw-produs.frw-eroare { border-color: var(--frw-eroare); }

.frw-produs.frw-blocat { opacity: .55; cursor: not-allowed; }
.frw-produs.frw-blocat .frw-produs-antet { cursor: not-allowed; }

.frw-produs-optiuni {
	display: none;
	padding: 0 14px 14px;
	border-top: 1px dashed var(--frw-bordura);
	padding-top: 12px;
	background: transparent;
}
.frw-produs.selectat .frw-produs-optiuni { display: block; }

/* ------------------------------- acorduri & buton */

.frw-acorduri { margin: 18px 0; }
.frw-bifa {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-bottom: 10px;
	font-size: 14px;
	cursor: pointer;
}
.frw-bifa input { margin-top: 3px; flex: none; width: auto; }
.frw-bifa em { color: var(--frw-eroare); font-style: normal; }

/* Selector cu specificitate mare + !important, ca sa suprascrie regulile
   generale ale temei (.btn, button, button[type=submit] etc.). */
.frw-formular button.frw-buton,
.frw-formular button.frw-buton[type=button] {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	background: none !important;
	background-color: var(--frw-accent) !important;
	background-image: none !important;
	font-family: "Poppins", Sans-serif !important;
	font-weight: 500 !important;
	fill: #FFFFFF !important;
	color: #FFFFFF !important;
	border-radius: 50px 50px 50px 50px !important;
	padding: 12px 24px !important;
	border: 0 !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
	box-shadow: none !important;
	width: auto !important;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
}
.frw-buton .frw-buton-sageata { transition: transform .15s ease; font-size: 18px; }
.frw-formular button.frw-buton:hover:not(:disabled) {
	background-color: var(--frw-accent) !important;
	color: #FFFFFF !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(var(--frw-accent-rgb), .4) !important;
	filter: brightness(1.05);
}
.frw-buton:hover:not(:disabled) .frw-buton-sageata { transform: translateX(4px); }
.frw-formular button.frw-buton:active:not(:disabled) { transform: translateY(0); box-shadow: 0 4px 12px rgba(var(--frw-accent-rgb), .3) !important; }
.frw-formular button.frw-buton:focus,
.frw-formular button.frw-buton:focus-visible { outline: 3px solid var(--frw-accent); outline-offset: 3px; background-color: var(--frw-accent) !important; color: #FFFFFF !important; }
.frw-formular button.frw-buton:disabled { opacity: .6; cursor: wait; transform: none; }

/* ------------------------------- notificare telefonica */

.frw-notificare-telefon {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 16px;
	margin: 18px 0;
	background: var(--frw-accent-soft);
	border-left: 4px solid var(--frw-accent);
	border-radius: 8px;
	color: #3f3f3f;
	font-size: 15px;
}
.frw-notificare-icon {
	font-size: 20px;
	line-height: 1.2;
	color: var(--frw-accent);
	flex: none;
}
.frw-notificare-centrata {
	justify-content: center;
	text-align: left;
	max-width: 520px;
	margin: 18px auto 0;
}

/* ------------------------------- succes */

.frw-succes { text-align: center; padding: 40px 20px; }
.frw-succes-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: var(--frw-succes-fundal);
	color: var(--frw-succes);
	font-size: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ------------------------------- responsive */

@media (max-width: 640px) {
	.frw-grid-produse,
	.frw-campuri-identificare,
	.frw-grid-contact { grid-template-columns: 1fr; }
	.frw-pas { font-size: 0; gap: 0; justify-content: center; }
	.frw-pas span { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
	.frw-formular * { transition: none !important; animation: none !important; }
}
