/**
 * SWEB — Card de produs [sweb_product_card]
 * Dimensiuni calibrate 1:1 din Figma (nod 16090:3530 — component set „Card").
 * Desktop: 312×440, imagine 312×222, radius 8, content padding 0 12, gap 16.
 */
.sweb-card {
	/* --- Dimensiuni (Figma desktop) --- */
	--sweb-card-width: 312px;
	--sweb-card-height: 440px;
	--sweb-card-radius: 8px;
	--sweb-card-pad-x: 12px;
	--sweb-card-pad-b: 16px;
	--sweb-card-gap: 16px;
	--sweb-card-media-h: 222px;
	--sweb-card-title-size: 24px;
	--sweb-card-desc-size: 14px;
	--sweb-card-price-size: 20px;
	--sweb-card-accent: var(--sweb-c-primary, #D35A0C);

	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--sweb-card-gap);
	width: 100%;
	max-width: var(--sweb-card-width);
	min-height: var(--sweb-card-height);
	padding: 0 0 var(--sweb-card-pad-b);
	background: var(--sweb-c-surface, #fff);
	border-radius: var(--sweb-card-radius);
	overflow: hidden;
	color: var(--sweb-c-text, #4E220B);
}

/* --- Imagine produs (312×222) --- */
.sweb-card__media {
	display: block;
	position: relative;
	width: 100%;
	height: var(--sweb-card-media-h);
	overflow: hidden;
}

/* Link-uri de card: păstrează culoarea, fără underline; bold la hover pe titlu */
.sweb-card__titlelink {
	color: inherit;
	text-decoration: none;
}
.sweb-card__titlelink:hover { color: inherit; }

.sweb-card__media .sweb-card__img,
.sweb-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Poză decupată/transparentă: nu umple, ci „stă" pe fundalul cardului, cu umbră */
.sweb-card__media--cutout {
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
}
.sweb-card__media--cutout .sweb-card__img,
.sweb-card__media--cutout img {
	width: auto;
	max-width: 90%;
	height: 90%;
	object-fit: contain;
	filter: drop-shadow(0 4px 8px rgba(78, 34, 11, 0.45));
}

/* --- Badge-uri absolute --- */
.sweb-card__badges {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.sweb-badge {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-weight: 700;
	font-family: var(--sweb-font-title, sans-serif);
}

/* „NOU" — stânga-sus */
.sweb-badge--new {
	top: 16px;
	left: 16px;
	padding: 6px 10px 4px;
	border-radius: 6px;
	background: #F4F4F4;
	border: 2px solid #1A1A1A;
	color: #1A1A1A;
	font-size: 12px;
}

/* Picant (Hot level) — dreapta-sus, cerc 32×32 (stil implicit = Jerry) */
.sweb-badge--spicy {
	top: 16px;
	right: 16px;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	background: #F4F4F4;
	border: 2px solid #1A1A1A;
	font-size: 16px;
}

/* --- Conținut --- */
.sweb-card__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	padding: 0 var(--sweb-card-pad-x);
	flex: 1 1 auto;
	text-align: center;
}

.sweb-card__title {
	margin: 0;
	font-family: var(--sweb-font-title, 'Freeman', sans-serif);
	font-size: var(--sweb-card-title-size);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--sweb-c-text, #4E220B);
}

.sweb-card__amount {
	margin: 0;
	font-family: var(--sweb-font-desc, 'Inter', sans-serif);
	font-size: 12px;
	font-weight: 600;
	color: var(--sweb-c-text-muted, #8D6C5A);
}

.sweb-card__desc {
	margin: 0;
	font-family: var(--sweb-font-desc, 'Inter', sans-serif);
	font-weight: 500;
	font-size: var(--sweb-card-desc-size);
	line-height: 1.2;
	color: var(--sweb-c-text-muted, #8D6C5A);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.sweb-card__footer {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
}

.sweb-card__price {
	font-family: var(--sweb-font-title, sans-serif);
	font-size: var(--sweb-card-price-size);
	font-weight: 700;
	color: var(--sweb-card-accent);
	white-space: nowrap;
}

.sweb-card__price del {
	color: var(--sweb-c-text-muted, #8D6C5A);
	font-weight: 400;
	font-size: 0.8em;
	margin-right: 4px;
}

/* -------------------------------------------------------------------------- *
 * Accente per brand (din Figma)
 * -------------------------------------------------------------------------- */

/* Follies — bară portocalie sus (8px) + fundal cald */
.sweb-brand--follies.sweb-card,
.sweb-brand--follies .sweb-card {
	--sweb-card-accent: #D35A0C;
	padding-top: 24px;
	background-color: #FEFAF0;
	background-image: url('../../img/bg-follies.jpg');
	background-size: cover;
	background-position: center;
}
.sweb-brand--follies.sweb-card::before,
.sweb-brand--follies .sweb-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 8px;
	background: #D35A0C;
	z-index: 2;
}
/* Badge picant Follies: fundal crem, bordură portocalie 1px */
.sweb-brand--follies .sweb-badge--spicy {
	background: #FEFAF0;
	border: 1px solid #D35A0C;
}

/* Jerry — bordură groasă întunecată, colțuri drepte */
.sweb-brand--jerry.sweb-card,
.sweb-brand--jerry .sweb-card {
	--sweb-card-accent: #D35A0C;
	border: 3px solid #1A1A1A;
	border-radius: 0;
	background: #FFFFFF;
}

/* -------------------------------------------------------------------------- *
 * Buton
 * -------------------------------------------------------------------------- */
.sweb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 16px;
	border: none;
	border-radius: 99px;
	font-family: var(--sweb-font-title, sans-serif);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: filter 0.15s ease;
}

.sweb-btn:hover {
	filter: brightness(0.94);
}

.sweb-btn--primary {
	background: var(--sweb-card-accent, #D35A0C);
	color: #fff;
}

/* Opțiuni de mărime în card (produse variabile) */
.sweb-card__sizes {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 100%;
	margin-top: 4px;
}
.sweb-card__size {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 6px 10px;
	border: 1px solid var(--sweb-c-border, #DFD5CF);
	border-radius: 8px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	line-height: 1;
}
.sweb-card__size-name { color: var(--sweb-c-text, #4E220B); font-weight: 500; }
.sweb-card__size-price { color: var(--sweb-c-text, #4E220B); font-weight: 600; white-space: nowrap; }
.sweb-card__size-price .amount { color: inherit; }

/* ===================================================================== *
 * Redesign card 1:1 Figma (#16171:8981): fundal texturat, poză pe textură,
 * bară portocalie sus, iconiță hot, rânduri de mărime cu buton „Adaugă".
 * ===================================================================== */
.sweb-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 24px 0 16px;
	background: #FEFAF0 center/cover no-repeat;
	background-image: url('../../img/texture-cream.jpg');
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(78, 34, 11, 0.12);
}
.sweb-card__bar {
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 8px;
	background: var(--sweb-c-primary, #D35A0C);
	z-index: 2;
}
/* Iconiță hot (colț dreapta-sus) */
.sweb-card__hot {
	position: absolute;
	top: 16px; right: 16px;
	z-index: 3;
	width: 64px; height: 64px;
	padding: 8px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #FEFAF0;
	border: 1px solid var(--sweb-c-primary, #D35A0C);
	border-radius: 999px;
}
/* Iconul din interior umple badge-ul (64×64, cu mic padding) pe mobil si desktop. — Seba */
.sweb-card__hot img { width: 100% !important; height: 100% !important; object-fit: contain; }
/* Flag NOU (colț stânga-sus) */
.sweb-card__flag {
	position: absolute;
	top: 16px; left: 16px;
	z-index: 3;
	padding: 4px 10px;
	background: var(--sweb-c-primary, #D35A0C);
	color: #FFFCFA;
	border-radius: 999px;
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.04em;
}
/* Poza pe textură (fără cutie gri) */
.sweb-card__media {
	display: block;
	height: auto;
	padding: 0 16px;
	background: transparent;
	overflow: visible;
}
.sweb-card__media .sweb-card__img,
.sweb-card__media img {
	width: 100% !important;
	height: auto !important;
	max-height: 200px;
	object-fit: contain;
	border-radius: 8px;
	filter: drop-shadow(0 6px 14px rgba(78, 34, 11, 0.4));
}
.sweb-card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 0 16px;
	text-align: center;
}
.sweb-card__title { line-height: 1.05; }
.sweb-card__desc {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.4em;
	color: #8D6C5A;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	line-height: 1.2;
}
/* Rânduri de mărime cu buton Adaugă */
.sweb-card__sizes {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	margin-top: auto;
	padding: 0 8px;
}
.sweb-card__size {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0 6px 10px;
	border: 0;
	border-left: 4px solid var(--sweb-c-primary, #D35A0C);
	border-radius: 0;
	background: transparent;
}
.sweb-card__size-name {
	flex: 1 1 auto;
	text-align: left;
	font-family: var(--sweb-font-title, 'Freeman', sans-serif);
	font-size: 18px;
	color: #4E220B;
}
.sweb-card__size-sub {
	margin-left: 4px;
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	font-size: 12px;
	color: #8D6C5A;
}
.sweb-card__size-price {
	font-family: 'Inter', sans-serif;
	font-weight: 600;
	font-size: 16px;
	color: #4E220B;
	white-space: nowrap;
}
.sweb-card__size-price .amount { color: inherit; }
.sweb-card__add {
	flex: 0 0 auto;
	padding: 6px 12px !important;
	font-size: 16px !important;
	border-radius: 6px !important;
	line-height: 1 !important;
}
/* Indisponibil pe tipul de comandă curent: în locul butonului, un text discret. */
.sweb-card__add--off,
.sweb-brand--follies .sweb-card__add--off,
.sweb-brand--jerry .sweb-card__add--off,
.sweb-brand--americana .sweb-card__add--off {
	background: transparent !important;
	border: 0 !important;
	color: #9A8577 !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	text-align: right;
	cursor: not-allowed;
	padding: 0 !important;
	max-width: 92px;
	white-space: normal;
}

/* ==========================================================================
 * Follies — ajustări fine card + butoane.
 * body padding 0 12px; rândul de mărime cu accent-bar 2px×20px radius 99px,
 * gap 14px; butoanele radius 8px.
 * ========================================================================== */
.sweb-brand--follies .sweb-card__body {
	padding: 0 12px !important;
}
.sweb-brand--follies .sweb-card__size {
	gap: 14px !important;
	border-left: 0 !important;
	padding-left: 0 !important;
}
.sweb-brand--follies .sweb-card__size::before {
	content: '';
	flex: 0 0 auto;
	width: 2px;
	height: 20px;
	max-height: 20px;
	border-radius: 99px;
	background: var(--sweb-c-primary, #D35A0C);
}
.sweb-brand--follies .sweb-btn,
.sweb-brand--follies .sweb-btn--primary,
.sweb-brand--follies .sweb-pp__add,
.sweb-brand--follies .sweb-pp__qty-btn {
	border-radius: 8px !important;
}

/* === sweb-card-clickable: card integral clicabil (stretched link, CSS-only) — recuperat === */
.sweb-card__media { position: static; }
.sweb-card__media::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.sweb-card__titlelink, .sweb-card__add { position: relative; z-index: 4; }

/* Mobil: padding lateral 8px pe media + body (era 16px) — Seba */
@media (max-width: 768px) {
	.sweb-card__media { padding: 0 8px !important; }
	.sweb-card__body,
	.sweb-brand--follies .sweb-card__body { padding: 0 8px !important; }
}
