/*
 * 14.10.2026.: brend lijevo (iznad naslova), šifra desno — usklađeno s Bricks klasama.
 * Kartica proizvoda (fl-product-card__*) — kopija stilova Bricks globalnih klasa iz arhive.
 * Bricks ih ispisuje samo na stranicama gdje je kartica; chat je na svim stranicama, pa ih nosi sam.
 * Na stranicama s karticom pravila su ista (duplikat bez učinka). Ako se kartica promijeni u Bricksu, uskladiti ovdje.
 * Zajednički dijelovi (fl-stock, fl-quantity, tokeni oznaka, ikona košarice) su u FL Trgovini (trgovina.css).
 */
.fl-product-card { position: relative; isolation: isolate; container: fl-product-card / inline-size; display: flex; flex-direction: column; align-items: stretch; gap: calc(var(--content-gap) * 0.5); block-size: 100%; min-inline-size: 0; padding: var(--space-s); background-color: var(--white); border: var(--border-width) var(--border-style) var(--fl-hairline); border-radius: var(--radius); color: var(--base); }
.fl-product-card:has(.fl-product-card__title a:focus-visible) { outline: var(--focus-width) solid var(--primary-semi-dark); outline-offset: var(--focus-offset); }
.fl-product-card__media-wrapper { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background-color: var(--white); border-radius: var(--radius); }
.fl-product-card__image { display: block; inline-size: 100%; block-size: 100%; object-fit: contain; transition: transform var(--transition-duration) var(--transition-timing); }
@media (hover: hover) { .fl-product-card:hover .fl-product-card__image { transform: scale(1.04); } }
.fl-product-card__content-wrapper { display: flex; flex: 1 1 0%; flex-direction: column; align-items: stretch; gap: calc(var(--content-gap) * 0.25); }
.fl-product-card__brand { min-inline-size: 0; overflow: hidden; color: var(--text-dark-muted); font-weight: 700; letter-spacing: var(--fl-letter-spacing-l); text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.fl-product-card__title { margin: 0; font-family: var(--text-font-family); font-size: var(--text-m); font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.fl-product-card__title a { color: inherit; text-decoration: none; }
.fl-product-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.fl-product-card__title a:focus-visible { outline: none; }
.fl-product-card__meta-wrapper { display: flex; flex-flow: row; align-items: baseline; justify-content: space-between; gap: calc(var(--grid-gap) * 0.4); font-size: calc(var(--text-xs) * 0.85); line-height: 1.3; }
.fl-product-card__sku { flex: 0 0 auto; margin-inline-start: auto; color: var(--text-dark-muted); font-variant-numeric: tabular-nums; }
.fl-product-card__price { position: relative; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 calc(var(--grid-gap) * 0.4); margin-block-start: calc(var(--space-xs) * 0.25); padding-block-start: calc(var(--space-xs) * 0.6); color: var(--base); font-size: calc(var(--text-m) * 0.9); font-weight: 700; line-height: 1.25; font-variant-numeric: tabular-nums; }
.fl-product-card__price::before { content: ""; position: absolute; inset-block-start: 0; inset-inline-start: 0; inline-size: calc(var(--space-m) * 1.5); block-size: calc(var(--border-width) * 2); background-color: var(--primary); border-radius: var(--radius); }
.fl-product-card__price del { color: var(--text-dark-muted); font-size: var(--text-s); font-weight: 400; }
.fl-product-card__price ins { color: var(--fl-sale); text-decoration: none; }
.fl-product-card__price .fl-price-from { color: var(--text-dark-muted); font-size: var(--text-xs); font-weight: 500; }
.fl-product-card__stock { display: flex; font-size: var(--text-xs); line-height: 1.3; min-inline-size: 0; letter-spacing: var(--fl-letter-spacing-tight); white-space: nowrap; }
.fl-product-card__stock .fl-stock { gap: calc(var(--space-xs) * 0.25); min-inline-size: 0; }
.fl-product-card__stock .fl-stock::before { inline-size: calc(var(--text-xs) * 0.6); block-size: calc(var(--text-xs) * 0.6); }
.fl-product-card__buy { position: relative; z-index: 2; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: calc(var(--grid-gap) * 0.25); }
.fl-product-card__buy:not(:has(.fl-quantity, .fl-product-card__quantity-fixed)) { grid-template-columns: minmax(0, 1fr); }
.fl-product-card__buy .fl-quantity { inline-size: calc(var(--fl-tap) * 2.5); }
.fl-product-card__buy .fl-product-card__quantity-fixed { display: flex; align-items: center; justify-content: center; inline-size: calc(var(--fl-tap) * 2); block-size: var(--fl-tap); border: var(--border-width) solid var(--border-color-dark); border-radius: var(--radius); font-size: var(--text-s); font-weight: 600; white-space: nowrap; }
.fl-product-card__buy .fl-product-card__cart { display: flex; align-items: center; justify-content: center; gap: calc(var(--grid-gap) * 0.25); min-inline-size: 0; block-size: var(--fl-tap); min-block-size: 0; margin: 0; padding: 0 var(--space-s); background-color: var(--base); border: 0; border-radius: var(--radius); color: var(--white); font-size: var(--text-s); font-weight: 600; line-height: 1; text-decoration: none; white-space: nowrap; transition: background-color var(--transition-duration) var(--transition-timing), color var(--transition-duration) var(--transition-timing); }
.fl-product-card__buy .fl-product-card__cart:hover { background-color: var(--primary); color: var(--base); }
.fl-product-card__buy .fl-product-card__cart:focus-visible { outline: var(--focus-width) solid var(--primary-semi-dark); outline-offset: var(--focus-offset); }
.fl-product-card__buy .fl-product-card__cart--disabled, .fl-product-card__buy .fl-product-card__cart--disabled:hover { background-color: var(--neutral-ultra-light); color: var(--text-dark-muted); cursor: default; }
.fl-product-card__buy .fl-product-card__cart.loading, .fl-product-card__buy .fl-product-card__cart.bricks-cart-adding { opacity: 0.6; pointer-events: none; }
.fl-product-card__buy .fl-product-card__cart::after { display: none; }
.fl-product-card__buy .fl-product-card__cart-icon, .fl-product-card__buy .fl-product-card__cart-done { flex: 0 0 auto; inline-size: calc(var(--text-m) * 1.35); block-size: calc(var(--text-m) * 1.35); }
.fl-product-card__buy .fl-product-card__cart-text { min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; }
.fl-product-card__buy .fl-product-card__cart-done { display: none; }
.fl-product-card__buy .fl-product-card__cart--added { background-color: var(--success-dark); color: var(--white); }
.fl-product-card__buy .fl-product-card__cart--added .fl-product-card__cart-icon { display: none; }
.fl-product-card__buy .fl-product-card__cart--added .fl-product-card__cart-done { display: block; }
.fl-product-card__buy .added_to_cart { display: none; }
/* 21.10.2026.: na Bricks kartici oznake su ispod naziva (opcija 1); apsolutno samo u chat kartici gdje su u slici. */
.fl-product-card__media-wrapper > .fl-product-card__badges { position: absolute; inset-block-start: 0; inset-inline-start: 0; z-index: 3; display: flex; flex-flow: wrap; gap: calc(var(--grid-gap) * 0.2); inline-size: auto; max-inline-size: 100%; pointer-events: none; }
.fl-product-card__badge {
	--fl-badge-pad-block: calc(var(--space-xs) * 0.2);
	--fl-badge-pad-inline: calc(var(--space-xs) * 0.45);
	padding: var(--fl-badge-pad-block) var(--fl-badge-pad-inline); background-color: var(--neutral-ultra-light); border-radius: var(--radius); color: var(--base); font-size: calc(var(--text-xs) * 0.9); font-weight: 600; line-height: 1.2; white-space: nowrap;
}
.fl-product-card__badge:has(> .fl-product-card__badge-label) { display: inline-flex; flex-flow: row; align-items: stretch; gap: 0; inline-size: auto; padding: 0; overflow: hidden; background-color: var(--fl-badge-bg); color: var(--fl-badge-fg); box-shadow: inset 0 0 0 var(--border-width) var(--fl-badge-border); }
.fl-product-card__badge:is([data-type="new"], [data-type="soldout"]) { background-color: var(--fl-badge-bg); color: var(--fl-badge-fg); }
.fl-product-card__badge-label { display: inline-flex; align-items: center; gap: calc(var(--content-gap) * 0.15); padding: var(--fl-badge-pad-block) var(--fl-badge-pad-inline); }
.fl-product-card__badge-label::before { content: ""; flex: 0 0 auto; inline-size: 1em; block-size: 1em; background-color: var(--fl-badge-mark-color); mask: var(--fl-badge-mark) center / contain no-repeat; }
.fl-product-card__badge:is([data-type="sale"], [data-type="outlet"]) .fl-product-card__badge-label::before { display: none; }
.fl-product-card__badge-value { display: inline-flex; align-items: center; padding: var(--fl-badge-pad-block) var(--fl-badge-pad-inline); background-color: var(--fl-badge-accent); color: var(--fl-badge-accent-fg); font-weight: 700; font-variant-numeric: tabular-nums; }
.fl-product-card__note { color: var(--text-dark-muted); font-size: var(--text-xs); line-height: 1.4; }
.fl-product-card__footer { display: flex; flex-direction: column; align-items: stretch; gap: calc(var(--content-gap) * 0.4); margin-block-start: auto; padding-block-start: calc(var(--space-xs) * 0.25); }

@media (max-width: 767px) {
	.fl-product-card { gap: calc(var(--content-gap) * 0.35); padding: var(--fl-card-pad); }
	.fl-product-card__media-wrapper { margin: calc(var(--space-s) * -0.4) calc(var(--space-s) * -0.4) 0; border-radius: var(--radius) var(--radius) 0 0; }
	.fl-product-card__content-wrapper { gap: calc(var(--content-gap) * 0.2); }
	.fl-product-card__title { font-size: calc(var(--text-s) * 0.9); line-height: 1.25; }
	.fl-product-card__meta-wrapper { font-size: calc(var(--text-xs) * 0.9); }
	.fl-product-card__price { font-size: calc(var(--text-s) * 0.95); }
	.fl-product-card__price del { font-size: calc(var(--text-xs) * 0.9); }
	.fl-product-card__stock { font-size: calc(var(--text-xs) * 0.85); }
	.fl-product-card__media-wrapper > .fl-product-card__badges { inset-block-start: calc(var(--space-s) * 0.4); inset-inline-start: calc(var(--space-s) * 0.4); }
	.fl-product-card__note { font-size: calc(var(--text-xs) * 0.9); line-height: 1.3; }
	.fl-product-card__footer { gap: calc(var(--content-gap) * 0.25); }
}
