/* ===== Container ===== */
.sofa-tab{ margin-top: 12px; }
.sofa-tab.is-loading{ opacity:.65; pointer-events:none; }

/* ===== Header bar ===== */
.sofa-models__bar{
	display:flex; align-items:center; justify-content:space-between;
	gap: 14px; margin: 0 0 14px;
}
.sofa-models__meta{ opacity:.85; font-size:14px; }
.sofa-models__toggle{ margin-left:auto; } /* icons on the right */

/* Filter dropdown */
.sofa-models__filter{ min-width: 260px; max-width: 520px; }
.sofa-models__filter select{ width:100%; }

/* Kadence toggle look */
.sofa-models__toggle .kadence-product-toggle-outer{ display:flex; gap:8px; }
.sofa-models__toggle .kadence-toggle-shop-layout{
	border:0; background:transparent; padding:6px; border-radius:8px; cursor:pointer; line-height:1;
}
.sofa-models__toggle .kadence-toggle-shop-layout.toggle-active{ background: rgba(0,0,0,.06); }

/* ===== Items ===== */
.sofa-items{ display:block; }
.sofa-items.is-grid{
	display:grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}
@media (max-width: 1100px){ .sofa-items.is-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 800px){  .sofa-items.is-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px){  .sofa-items.is-grid{ grid-template-columns: 1fr; } }

/* ===== List row (3 cols) ===== */
.sofa-row{
	position:relative;
	display:grid;
	grid-template-columns: 110px 1fr 280px;
	gap: 16px;
	padding: 16px;
	border:1px solid rgba(0,0,0,.08);
	border-radius: 12px;
	background:#fff;
	margin-bottom: 12px;
	overflow:hidden;
}
.sofa-row.is-current{
	border-color: rgba(0,0,0,.18);
	box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
.sofa-items.is-grid .sofa-row{
	display:flex;
	flex-direction:column;
	gap: 12px;
	margin-bottom:0;
}
.sofa-img img{ width:100%; height:auto; border-radius:10px; display:block; }
.sofa-title{ margin:0 0 6px; font-size:18px; line-height:1.25; }
.sofa-title a{ text-decoration:none; }
.sofa-subtitle{ font-size: 13px; opacity:.85; margin: 0 0 10px; }
.sofa-desc{ margin: 0 0 10px; opacity:.9; }
.sofa-note{ font-size:10px; margin: 10px 0; padding: 10px 12px; border-left: 3px solid rgba(0,0,0,.25); background: rgba(0,0,0,.03); border-radius: 8px; }

/* ===== Discount ribbon (diagonal, top-right) ===== */
.sofa-badge-discount{
	position:absolute;
	top: 20px;
	right: -32px;
	transform: rotate(45deg);
	transform-origin: center;
	background:#2ecc71;
	color:#fff;
	font-size:10px;
	font-weight:800;
	padding:6px 40px;
	line-height:1.1;
	white-space:nowrap;
	text-align:center;
	box-shadow: 0 2px 10px rgba(0,0,0,.18);
	border-radius: 2px;
	pointer-events:none;
}

/* ===== Stock inline (S) with bullets ===== */
.sofa-stock{ margin-top: 8px; }
.sofa-stockline{
	display:flex;
	align-items:center;
	gap:12px;
	font-size:12px;
	opacity:.95;
	flex-wrap:wrap;
}
.sofa-stockmain,
.sofa-stockdist{
	display:inline-flex;
	align-items:center;
	gap:8px;
	white-space:nowrap;
}
.sofa-stockmain:before{
	content:""; width:8px; height:8px; border-radius:50%;
	background:#2ecc71; display:inline-block; flex:0 0 8px;
}
.sofa-row[data-instock="0"] .sofa-stockmain:before{
	background:#e74c3c; /* red */
}
.sofa-stockdist:before{
	content:""; width:8px; height:8px; border-radius:50%;
	background:#f39c12; display:inline-block; flex:0 0 8px;
}

/* ===== Actions (col 3) ===== */
.sofa-actions{ display:flex; flex-direction:column; gap:10px; align-items:stretch; }
.sofa-var-select{ width:100%; }
.sofa-cart{ display:flex; flex-direction:column; gap:10px; }
.sofa-cartline{ display:flex; align-items:center; gap:10px; }
.sofa-cartline .sofa-qty{ width: 90px; }
.sofa-cartline .sofa-qty .qty{ width:100%; }
.sofa-cartline .sofa-btn{ flex: 1 1 auto; }

.sofa-btn{ width:100%; text-align:center; }

/* Prices */
.sofa-price-block{ display:flex; flex-direction:column; gap:6px; }
.sofa-price-line{
	display:flex;
	align-items:baseline;
	gap:10px;
	flex-wrap:wrap;
	font-size: 15px;
	font-weight: 700;
}
.sofa-price-line del{ opacity:.55; font-weight: 600; }
.sofa-price-line ins{ text-decoration:none; font-weight: 800; }
.sofa-price-suffix{
	font-size:12px;
	font-weight: 600;
	opacity:.75;
}
.sofa-msrp{
	font-size:13px;
	font-weight: 600;
	opacity:.85;
}

/* RFQ under CTA */
.sofa-rfq{
	display:inline-flex;
	align-items:center;
	gap: 8px;
	margin-top: 2px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	opacity: .9;
}
.sofa-rfq:before{
	content: "↗";
	font-size: 12px;
	line-height: 1;
	opacity: .85;
}
.sofa-rfq:hover{ text-decoration: underline; opacity: 1; }

/* Responsive */
@media (max-width: 900px){
	.sofa-models__bar{ flex-wrap:wrap; }
	.sofa-models__filter{ order: 2; width:100%; max-width:none; }
	.sofa-models__toggle{ order: 3; }
}
@media (max-width: 700px){
	.sofa-row{ grid-template-columns: 1fr; }
	.sofa-actions{ align-items:stretch; }
}

/* Footer: centered, load more as link */
.sofa-footer{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	gap: 8px;
	margin-top: 14px;
}
.sofa-status{ opacity:.85; font-size:14px; }
.sofa-loadmore-link{
	display:inline-block;
	font-weight: 700;
	text-decoration: underline;
}
.sofa-loadmore-link:hover{ opacity: .9; }

/* Category chips for Accesorii / Consumabile */
.sofa-chip-filter{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
	min-width:0;
	max-width:760px;
}
.sofa-filter-chip{
	border:1px solid rgba(0,0,0,.16);
	background:#fff;
	color:inherit;
	border-radius:999px;
	padding:6px 12px;
	font-size:13px;
	font-weight:600;
	line-height:1.2;
	cursor:pointer;
}
.sofa-filter-chip:hover{
	border-color:rgba(0,0,0,.35);
}
.sofa-filter-chip.is-active{
	background:rgba(0,0,0,.08);
	border-color:rgba(0,0,0,.32);
}
@media (max-width: 900px){
	.sofa-chip-filter{ width:100%; max-width:none; }
}


/* Loading indicator for deferred tab AJAX */
.sofa-tab{ position: relative; }
.sofa-loading-indicator{
	display:none;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin: 14px 0;
	font-size:14px;
	font-weight:600;
	opacity:.85;
}
.sofa-tab.is-loading .sofa-loading-indicator{ display:flex; }
.sofa-tab.is-loading .sofa-items:empty + .sofa-loading-indicator{ min-height:80px; }
.sofa-loading-spinner{
	width:18px;
	height:18px;
	border:2px solid rgba(0,0,0,.18);
	border-top-color:rgba(0,0,0,.72);
	border-radius:50%;
	animation: sofaSpin .75s linear infinite;
	flex:0 0 18px;
}
@keyframes sofaSpin{ to{ transform: rotate(360deg); } }

/* Grouped products shown in Produse compatibile use a product-page CTA, not add-to-cart. */
.sofa-cart--grouped .sofa-grouped-product-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	text-decoration: none;
}

/* Produse compatibile on Accesorii/Consumabile: compact compatible model links. */
.sofa-compat-model-links-tab .sofa-models__bar{
	align-items:flex-start;
}
.sofa-compatible-model-links-wrap{
	display:block !important;
}
.sofa-compatible-model-links{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
	gap:10px;
	margin-top:12px;
}
.sofa-compatible-model-link{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:38px;
	padding:8px 12px;
	border:1px solid rgba(0,0,0,.14);
	border-radius:999px;
	background:#fff;
	font-size:14px;
	font-weight:700;
	line-height:1.2;
	text-align:center;
	text-decoration:none;
	color:inherit;
}
.sofa-compatible-model-link:hover,
.sofa-compatible-model-link:focus{
	background:#111827;
	border-color:#111827;
	color:#fff;
	text-decoration:none;
}
.sofa-compatible-model-links-empty{
	padding:14px 0;
	font-size:14px;
	opacity:.85;
}
@media (max-width: 640px){
	.sofa-compatible-model-links{
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:8px;
	}
	.sofa-compatible-model-link{
		font-size:13px;
		padding:8px 10px;
	}
}

/* AutoID 2.0.44: list view is default; grid still works when user chooses it. */
.sofa-availability-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;max-width:760px;}
.sofa-filter-label{font-size:13px;font-weight:700;opacity:.85;margin-right:2px;}
.sofa-price-line,.sofa-msrp.sofa-euro-price-line{font-size:15px;font-weight:700;line-height:1.25;}
.sofa-msrp.sofa-euro-price-line{opacity:1;}
.sofa-msrp.sofa-euro-price-line del{opacity:.58;font-weight:700;}
.sofa-msrp.sofa-euro-price-line ins{font-weight:800;text-decoration:none;}
.sofa-autoid-label{font-weight:400;}
.sofa-msrp-label{font-weight:400;}
.sofa-stockrequest{display:inline-flex;align-items:center;gap:8px;font-weight:700;white-space:normal;}
.sofa-stockrequest:before{content:"";width:8px;height:8px;border-radius:50%;background:#8795a1;display:inline-block;flex:0 0 8px;}
@media (max-width:900px){.sofa-availability-filter{width:100%;max-width:none;}}


/* AutoID 2.0.45: euro price line refinements. */
.sofa-price-block{
	margin-top: 8px;
}
.sofa-msrp.sofa-euro-price-line{
	display:flex;
	flex-direction:column;
	gap:2px;
}
.sofa-euro-row{
	display:block;
}
.sofa-autoid-euro-sep{
	display:none !important;
}
.sofa-autoid-label{
	font-weight:400 !important;
}
.sofa-msrp-label{
	font-weight:400 !important;
}


/* AutoID 2.0.46: keep MSRP / AutoID values coherent on one row each. */
.sofa-euro-row{
	display:block !important;
	white-space:normal;
}
.sofa-euro-row .sofa-msrp-label,
.sofa-euro-row .sofa-autoid-label,
.sofa-euro-row .sofa-price-suffix,
.sofa-euro-row del,
.sofa-euro-row ins{
	display:inline !important;
}
.sofa-grouped-stock-before-rfq{
	margin:8px 0 6px;
}
.sofa-grouped-stock-before-rfq .sofa-stock{
	margin:0;
}

/* AutoID 2.0.47: disabled add-to-cart state when AutoID + distributor stock are both 0. */
.sofa-tab .sofa-btn[disabled],
.sofa-tab .sofa-btn.disabled,
.sofa-tab button.sofa-autoid-disabled-stock{
	opacity:.52;
	cursor:not-allowed;
	pointer-events:none;
}
.sofa-tab input.qty[disabled],
.sofa-tab .sofa-qty input[disabled]{
	opacity:.55;
	cursor:not-allowed;
}
