/*
 * Sacoșica Prețuri
 * Toate regulile au prefixul .scp sau .sacosica-produs, ca să se aplice doar
 * pe paginile de produs noi. Restul site-ului rămâne neatins.
 */

.scp,
.sacosica-produs {
	--scp-ink: #2f3a30;
	--scp-text: #4f5f50;
	--scp-muted: #5b6a5c;
	--scp-accent: #a8417a;
	--scp-pink: #ea85c7;
	--scp-pink-soft: #fbe3f1;
	--scp-peach: #f2dad0;
	--scp-cream: #fbf3ef;
	--scp-cream-2: #fbefe9;
	--scp-line: #efe5e0;
	--scp-line-2: #f0e6e1;
	--scp-sage: #899a89;
	--scp-sage-soft: #eef1ee;
}

.scp {
	font-family: 'Poppins', sans-serif;
	color: #3d4a3e;
	line-height: 1.6;
	box-sizing: border-box;
}
.scp *,
.scp *::before,
.scp *::after {
	box-sizing: border-box;
}
.scp button {
	font-family: inherit;
	text-transform: none;
	letter-spacing: normal;
	line-height: 1.2;
}
.scp-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.scp-missing {
	padding: 16px 20px;
	border: 2px dashed #ecb4b9;
	border-radius: 12px;
	background: #fff;
	font-size: 14px;
}

/* ---------- Galerie ---------- */

.scp-gallery {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.scp-gallery-main {
	background: var(--scp-peach);
	border-radius: 24px;
	aspect-ratio: var(--scp-ratio, 3 / 4);
	overflow: hidden;
}
.scp .scp-gallery-main img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	display: block;
	border-radius: 0;
	max-width: none;
}
.scp-thumbs {
	display: grid;
	grid-template-columns: repeat(var(--scp-cols, 4), minmax(0, 1fr));
	gap: 12px;
}
.scp .scp-thumb {
	padding: 0;
	margin: 0;
	border: 2.5px solid transparent;
	border-radius: 14px;
	aspect-ratio: var(--scp-thumb-ratio, 3 / 4);
	overflow: hidden;
	cursor: pointer;
	background: #f7e8e2;
	opacity: .8;
	transition: opacity .15s, border-color .15s;
}
.scp .scp-thumb:hover,
.scp .scp-thumb:focus-visible {
	opacity: 1;
	background: #f7e8e2;
}
.scp .scp-thumb.is-on {
	border-color: var(--scp-pink);
	opacity: 1;
}
.scp .scp-thumb img {
	width: 100%;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	display: block;
	border-radius: 0;
}

/* ---------- Caseta „de la … lei” ---------- */

.scp-pricebox {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px 12px;
	padding: 18px 22px;
	background: #fff;
	border: 1px solid var(--scp-line);
	border-radius: 18px;
}
.scp-pb-from { font-size: 14px; color: var(--scp-muted); }
.scp-pb-price { font-size: 38px; font-weight: 700; color: var(--scp-accent); line-height: 1; }
.scp-pb-unit { font-size: 15px; color: var(--scp-text); }
.scp-pb-note { flex-basis: 100%; font-size: 13px; color: var(--scp-muted); }

/* ---------- Tabel + calculator ---------- */

.scp-pricing {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: stretch;
}
.scp-table-wrap {
	flex: 999 1 600px;
	min-width: 0;
	border: 1px solid var(--scp-line);
	border-radius: 20px;
	overflow-x: auto;
	background: #fff;
}
.scp .scp-table {
	width: 100%;
	height: 100%;
	min-width: 560px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: transparent;
	font-size: 15px;
}
.scp .scp-table th,
.scp .scp-table td {
	border: 0;
	border-bottom: 1px solid var(--scp-line-2);
	padding: 14px 18px;
	text-align: left;
	vertical-align: middle;
	background: transparent;
}
.scp .scp-table thead th {
	font-size: 13px;
	font-weight: 500;
	color: var(--scp-muted);
	border-bottom-color: #e6dcd6;
	line-height: 1.4;
}
.scp .scp-table thead th span {
	display: block;
	font-weight: 400;
	font-size: 12px;
}
.scp .scp-table .scp-grp td {
	background: var(--scp-cream-2);
	font-size: 13px;
	font-weight: 600;
	color: var(--scp-text);
	letter-spacing: .02em;
	padding: 12px 18px;
}
.scp .scp-table tbody tr:last-child th,
.scp .scp-table tbody tr:last-child td {
	border-bottom: 0;
}
.scp .scp-table tbody th { font-weight: 500; }
.scp-tier { display: block; font-size: 16px; color: var(--scp-ink); }
.scp-sub { display: block; font-size: 12px; color: var(--scp-muted); font-weight: 400; }
.scp-price { font-size: 18px; font-weight: 600; color: var(--scp-ink); white-space: nowrap; }
.scp-print .scp-price { color: var(--scp-accent); }
.scp-price small { font-size: 12px; font-weight: 400; color: var(--scp-muted); }
.scp-ask { font-size: 15px; font-weight: 500; color: var(--scp-text); }
.scp .scp-table tr.is-active th,
.scp .scp-table tr.is-active td {
	background: var(--scp-pink-soft);
}
.scp .scp-table tr.is-active th {
	box-shadow: inset 4px 0 0 var(--scp-pink);
}

.scp-calc {
	flex: 1 1 340px;
	min-width: 0;
	background: var(--scp-peach);
	border-radius: 24px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.scp .scp-calc-title {
	margin: 0;
	font-family: inherit;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--scp-ink);
}
.scp-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.scp-field > label,
.scp-field-label {
	font-size: 14px;
	font-weight: 500;
	color: var(--scp-ink);
	margin: 0;
}
.scp-qty {
	display: flex;
	gap: 8px;
}
.scp .scp-step {
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	padding: 0;
	border-radius: 14px;
	border: 1.5px solid var(--scp-sage);
	background: #fff;
	color: var(--scp-ink);
	font-size: 22px;
	font-weight: 400;
	cursor: pointer;
}
.scp .scp-step:hover,
.scp .scp-step:focus-visible {
	background: var(--scp-sage-soft);
	color: var(--scp-ink);
}
.scp .scp-qty input {
	flex: 1;
	min-width: 0;
	width: auto;
	height: 44px;
	margin: 0;
	padding: 0 8px;
	border-radius: 14px;
	border: 1.5px solid var(--scp-sage);
	background: #fff;
	font-family: inherit;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	color: var(--scp-ink);
	box-shadow: none;
}
.scp-presets {
	display: grid;
	grid-template-columns: repeat(var(--scp-cols, 6), minmax(0, 1fr));
	gap: 6px;
}
.scp .scp-chip {
	min-height: 36px;
	padding: 6px 2px;
	border-radius: 999px;
	border: 1.5px solid #c9b8b0;
	background: #fff;
	color: var(--scp-ink);
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
}
.scp .scp-chip:hover {
	border-color: var(--scp-ink);
	background: #fff;
	color: var(--scp-ink);
}
.scp .scp-chip.is-on {
	border-color: var(--scp-ink);
	background: var(--scp-ink);
	color: #fff;
}
.scp-seg {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
	background: #fff;
	padding: 5px;
	border-radius: 16px;
}
.scp .scp-seg button {
	min-height: 44px;
	border: none;
	border-radius: 12px;
	background: transparent;
	color: var(--scp-text);
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
}
.scp .scp-seg button:hover {
	background: var(--scp-cream);
	color: var(--scp-ink);
}
.scp .scp-seg button.is-on {
	background: var(--scp-pink);
	color: #2a1f26;
	font-weight: 600;
}
.scp-result {
	background: #fff;
	border-radius: 18px;
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.scp-badge {
	align-self: flex-start;
	font-size: 12px;
	font-weight: 600;
	color: var(--scp-text);
	background: var(--scp-sage-soft);
	padding: 4px 12px;
	border-radius: 999px;
}
.scp-row,
.scp-total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
}
.scp-row > span { font-size: 14px; color: var(--scp-text); }
.scp-row strong { font-size: 18px; font-weight: 600; color: var(--scp-ink); white-space: nowrap; }
.scp-total {
	background: var(--scp-cream);
	border-radius: 12px;
	padding: 10px 14px;
}
.scp-total > span { font-size: 13px; font-weight: 500; color: var(--scp-text); }
.scp-total strong { font-size: 20px; font-weight: 700; line-height: 1.2; color: var(--scp-ink); white-space: nowrap; }
.scp-total-vat { background: var(--scp-pink-soft); }
.scp-total-vat strong { color: var(--scp-accent); }
.scp-row small,
.scp-total small { font-size: 12px; font-weight: 400; color: var(--scp-muted); }
.scp .scp-hint { margin: 0; font-size: 12px; line-height: 1.5; color: var(--scp-muted); }
.scp .scp-cta,
.scp .scp-cta:visited {
	margin-top: auto;
	display: block;
	background: var(--scp-ink);
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.4;
	padding: 13px 24px;
	border-radius: 999px;
	text-align: center;
	min-height: 48px;
}
.scp .scp-cta:hover,
.scp .scp-cta:focus-visible {
	background: #1f281f;
	color: #fff;
}
.scp button:focus-visible,
.scp a:focus-visible,
.scp input:focus-visible {
	outline: 2px solid var(--scp-accent);
	outline-offset: 2px;
}

/* carduri personalizare */
.scp-card-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.scp-icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* ---------- Elemente din șablonul Elementor (clase .scp-* în widgeturi Text/HTML) ---------- */

.sacosica-produs {
	background-color: #fffbf9;
	font-family: 'Poppins', sans-serif;
	scroll-behavior: smooth;
}
.sacosica-produs .elementor-widget-text-editor p:last-child,
.sacosica-produs .elementor-widget-text-editor ul:last-child,
.sacosica-produs .elementor-widget-text-editor ol:last-child {
	margin-bottom: 0;
}
.sacosica-produs [id] {
	scroll-margin-top: 90px;
}
.scp-pill {
	display: inline-block;
	background: var(--scp-sage-soft);
	color: var(--scp-text);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	padding: 6px 14px;
	border-radius: 999px;
}
.scp-pill-rec {
	background: #f6c7e4;
	color: #2a1f26;
	font-size: 12px;
	font-weight: 600;
	padding: 4px 12px;
}
.scp-vat-note {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--scp-pink-soft);
	color: var(--scp-ink);
	font-size: 15px;
	font-weight: 500;
	padding: 10px 18px;
	border-radius: 14px;
}
.scp-vat-note svg { flex: 0 0 auto; }
.scp-note {
	background: var(--scp-cream);
	border-radius: 20px;
	padding: 24px 26px;
}
.sacosica-produs .scp-note h3,
.scp-note h3 {
	margin: 0 0 12px;
	font-size: 17px;
	font-weight: 600;
	color: var(--scp-ink);
}
.scp-note ul {
	margin: 0;
	padding: 0 0 0 20px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 40px;
	row-gap: 8px;
	font-size: 14px;
	color: var(--scp-text);
}
.scp-spec-wrap {
	border: 1px solid var(--scp-line);
	border-radius: 20px;
	overflow: hidden;
}
.sacosica-produs table.scp-spec {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 15px;
}
.sacosica-produs table.scp-spec th,
.sacosica-produs table.scp-spec td {
	border: 0;
	padding: 14px 20px;
	text-align: left;
	vertical-align: top;
	background: transparent;
}
.sacosica-produs table.scp-spec th {
	width: 38%;
	font-weight: 500;
	color: var(--scp-text);
}
.sacosica-produs table.scp-spec td { color: var(--scp-ink); }
.sacosica-produs table.scp-spec tr:nth-child(odd) th,
.sacosica-produs table.scp-spec tr:nth-child(odd) td { background: var(--scp-cream); }
.scp-steps {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px;
}
.scp-steps li {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}
.scp-steps .scp-num {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--scp-pink);
	color: #2a1f26;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.scp-steps strong { font-weight: 600; color: var(--scp-ink); }
.scp-steps span:last-child { font-size: 14px; color: var(--scp-text); }
.scp-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.scp-chips span {
	background: #fff;
	color: var(--scp-ink);
	font-size: 14px;
	padding: 10px 18px;
	border-radius: 999px;
}
.scp-faq details {
	border-bottom: 1px solid #eadfd9;
	padding: 4px 0;
}
.scp-faq summary {
	cursor: pointer;
	list-style: none;
	padding: 20px 40px 20px 0;
	font-size: 17px;
	font-weight: 500;
	color: var(--scp-ink);
	position: relative;
}
.scp-faq summary::-webkit-details-marker { display: none; }
.scp-faq summary::after {
	content: "+";
	position: absolute;
	right: 8px;
	top: 16px;
	font-size: 24px;
	font-weight: 300;
	color: var(--scp-accent);
}
.scp-faq details[open] summary::after { content: "–"; }
.scp-faq summary:focus-visible { outline: 2px solid var(--scp-accent); outline-offset: 2px; }
.scp-faq details p {
	margin: 0 0 20px;
	font-size: 15px;
	color: var(--scp-text);
}
.scp-form-placeholder {
	border: 2px dashed #ecb4b9;
	border-radius: 24px;
	background: #fff;
	padding: 48px 32px;
	text-align: center;
	font-size: 15px;
	color: var(--scp-muted);
}

@media (max-width: 720px) {
	.scp .scp-table { min-width: 0; font-size: 14px; }
	.scp .scp-table th,
	.scp .scp-table td { padding: 12px 10px; }
	.scp .scp-table thead th { font-size: 12px; }
	.scp-tier { font-size: 14px; }
	.scp-price { font-size: 15px; }
	.scp-price small:last-child { display: none; }
	.scp-pb-price { font-size: 32px; }
	.scp-calc { padding: 20px; }
	.scp-thumbs { gap: 8px; }
	.scp-note ul { grid-template-columns: 1fr; }
	.sacosica-produs table.scp-spec th,
	.sacosica-produs table.scp-spec td { padding: 12px 14px; font-size: 14px; }
}
