/* SB Oglasi. Boje se menjaju preko promenljivih, npr. u temi: .sbo { --sbo-accent: #c0392b; } */
.sbo, .sbo-product-ads {
	--sbo-accent: #1f7a55;
	--sbo-accent-text: #fff;
	--sbo-border: rgba(0, 0, 0, .14);
	--sbo-muted: rgba(0, 0, 0, .6);
	--sbo-bg-soft: rgba(0, 0, 0, .035);
	--sbo-radius: 8px;
	box-sizing: border-box;
}
.sbo *, .sbo *::before, .sbo *::after { box-sizing: inherit; }
.sbo-muted { color: var(--sbo-muted); font-size: .9em; }
.sbo-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.sbo [hidden] { display: none !important; }

/* Dugmad */
.sbo-btn {
	display: inline-block; padding: .6em 1.2em; border: 1px solid var(--sbo-accent); border-radius: var(--sbo-radius);
	background: var(--sbo-accent); color: var(--sbo-accent-text) !important; font: inherit; font-weight: 600;
	line-height: 1.2; text-decoration: none !important; cursor: pointer;
}
.sbo-btn:hover, .sbo-btn:focus { filter: brightness(1.1); }
.sbo-btn--small { padding: .4em .8em; font-size: .9em; }
.sbo-btn--ghost { background: transparent; color: var(--sbo-accent) !important; }
.sbo-btn--danger { background: transparent; border-color: #b32d2e; color: #b32d2e !important; }

/* Poruke */
.sbo-notice { margin: 0 0 1em; padding: .8em 1em; border-radius: var(--sbo-radius); border-left: 4px solid; background: var(--sbo-bg-soft); }
.sbo-notice--ok { border-color: #1f7a55; }
.sbo-notice--error { border-color: #b32d2e; }
.sbo-notice--info { border-color: #2271b1; }
.sbo-box { padding: 1em 1.2em; border: 1px solid var(--sbo-border); border-radius: var(--sbo-radius); margin-bottom: 1em; }

/* Obrasci */
.sbo-form fieldset { border: 0; padding: 0; margin: 0 0 1.5em; min-width: 0; }
.sbo-form legend { font-weight: 700; font-size: 1.1em; margin-bottom: .5em; padding: 0; }
.sbo-form--narrow { max-width: 420px; }
.sbo-field { margin: 0 0 1em; display: flex; flex-direction: column; gap: .3em; }
.sbo-field label, .sbo-field > legend { font-weight: 600; }
.sbo-field small { color: var(--sbo-muted); }
.sbo .sbo-field input[type=text], .sbo .sbo-field input[type=email], .sbo .sbo-field input[type=password],
.sbo .sbo-field input[type=tel], .sbo .sbo-field input[type=number], .sbo .sbo-field input[type=search],
.sbo .sbo-field select, .sbo .sbo-field textarea, .sbo-form--narrow input[type=text], .sbo-form--narrow input[type=email], .sbo-form--narrow input[type=password] {
	width: 100%; max-width: 100%; padding: .55em .7em; border: 1px solid var(--sbo-border); border-radius: 6px; font: inherit; background: #fff; color: inherit;
}
.sbo-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1em; }
.sbo-range { display: flex; gap: .5em; }
.sbo-range > * { flex: 1; }
.sbo-range select { flex: 0 0 auto; width: auto !important; }
.sbo-inline { font-weight: normal !important; margin-right: 1em; }
.sbo-check { margin: 0 0 1em; }
.sbo-req { color: #b32d2e; }
.sbo-rules { padding: 1em; background: var(--sbo-bg-soft); border-radius: var(--sbo-radius); margin-bottom: 1em; }
.sbo-rules p { margin: .3em 0; }
.sbo-preview { display: flex; flex-wrap: wrap; gap: .5em; }
.sbo-preview img { width: 80px; height: 80px; object-fit: cover; border-radius: 6px; }
.sbo-photos-edit { display: flex; flex-wrap: wrap; gap: 1em; margin-bottom: 1em; }
.sbo-photo-edit { display: flex; flex-direction: column; gap: .2em; font-size: .9em; }
.sbo-photo-edit img { width: 110px; height: 110px; object-fit: cover; border-radius: 6px; }

/* Lista */
.sbo-list__top { display: flex; align-items: center; gap: 1em; flex-wrap: wrap; margin-bottom: 1em; }
.sbo-filters { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 0 1em; padding: 1em; background: var(--sbo-bg-soft); border-radius: var(--sbo-radius); margin-bottom: 1em; }
.sbo-filters .sbo-field { margin-bottom: .6em; }
.sbo-field--wide { grid-column: 1 / -1; }
.sbo-filters__actions { display: flex; gap: 1em; align-items: center; margin: 0; }
.sbo-filters .sbo-check { align-self: center; margin: 0; }
.sbo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.2em; margin: 1em 0; }
.sbo-card { border: 1px solid var(--sbo-border); border-radius: var(--sbo-radius); overflow: hidden; display: flex; flex-direction: column; background: #fff; }
.sbo-card__media { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--sbo-bg-soft); }
.sbo-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sbo-card--sold .sbo-card__img { opacity: .55; }
.sbo-card__body { padding: .8em 1em 1em; }
.sbo-card__title { font-size: 1.05em; margin: 0 0 .3em; line-height: 1.3; }
.sbo-card__title a { text-decoration: none; color: inherit; }
.sbo-card__price { font-weight: 700; font-size: 1.15em; margin: 0 0 .2em; }
.sbo-card__meta { margin: 0; color: var(--sbo-muted); font-size: .9em; }
.sbo-badge { position: absolute; top: .6em; left: .6em; padding: .2em .6em; border-radius: 999px; background: var(--sbo-accent); color: #fff; font-size: .8em; font-weight: 600; }
.sbo-badge--sold { background: #555; }
.sbo-pagination .page-numbers { display: inline-block; padding: .3em .7em; margin-right: .2em; border: 1px solid var(--sbo-border); border-radius: 6px; text-decoration: none; }
.sbo-pagination .current { background: var(--sbo-accent); color: #fff; border-color: var(--sbo-accent); }
.sbo-empty { padding: 2em; text-align: center; background: var(--sbo-bg-soft); border-radius: var(--sbo-radius); }

/* Strana oglasa */
.sbo-single__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1.5em; margin-bottom: 1.5em; }
.sbo-gallery__main { display: block; border-radius: var(--sbo-radius); overflow: hidden; background: var(--sbo-bg-soft); }
.sbo-gallery__main img { width: 100%; height: auto; max-height: 560px; object-fit: contain; display: block; }
.sbo-gallery__thumbs { display: flex; flex-wrap: wrap; gap: .5em; margin-top: .5em; }
.sbo-thumb { padding: 0; border: 2px solid transparent; border-radius: 6px; background: none; cursor: pointer; line-height: 0; }
.sbo-thumb.is-active { border-color: var(--sbo-accent); }
.sbo-thumb img { width: 70px; height: 70px; object-fit: cover; border-radius: 4px; }
.sbo-price { font-size: 1.8em; font-weight: 700; margin: 0 0 .5em; }
.sbo-price .sbo-muted { font-size: .45em; font-weight: normal; display: block; }
.sbo-specs { display: grid; grid-template-columns: auto 1fr; gap: .4em 1em; margin: 0 0 1em; }
.sbo-specs dt { color: var(--sbo-muted); margin: 0; }
.sbo-specs dd { margin: 0; font-weight: 600; }
.sbo-seller { display: flex; flex-direction: column; gap: .5em; padding: 1em; border: 1px solid var(--sbo-border); border-radius: var(--sbo-radius); }
.sbo-phone { font-size: 1.2em; font-weight: 700; }
.sbo-contact { margin: 2em 0; padding: 1.2em; border: 1px solid var(--sbo-border); border-radius: var(--sbo-radius); }
.sbo-contact h2, .sbo-single__text h2 { font-size: 1.25em; margin-top: 0; }
.sbo-single__text { margin-bottom: 1.5em; }
.sbo-report { margin: 1em 0; }
.sbo-report summary { cursor: pointer; color: var(--sbo-muted); }
.sbo-owner-bar { padding: .6em 1em; background: var(--sbo-bg-soft); border-radius: var(--sbo-radius); }

/* Moji oglasi */
.sbo-account__head { display: flex; justify-content: space-between; align-items: center; gap: 1em; flex-wrap: wrap; margin-bottom: 1em; }
.sbo-my-ads { list-style: none; margin: 0 0 1em; padding: 0; }
.sbo-my-ad { display: flex; gap: 1em; padding: 1em 0; border-bottom: 1px solid var(--sbo-border); }
.sbo-my-ad__img img { width: 96px; height: 96px; object-fit: cover; border-radius: 6px; display: block; }
.sbo-my-ad__body { flex: 1; min-width: 0; }
.sbo-my-ad__body p { margin: 0 0 .3em; }
.sbo-my-ad__title { font-weight: 700; }
.sbo-my-ad__actions { display: flex; flex-wrap: wrap; gap: .5em; margin-top: .5em; }
.sbo-inline-form { display: inline; margin: 0; }
.sbo-reject { color: #b32d2e; }
.sbo-status { display: inline-block; margin-left: .4em; padding: .1em .6em; border-radius: 999px; font-size: .78em; font-weight: 600; background: #eee; color: #333; vertical-align: middle; }
.sbo-status--publish { background: #dff3e9; color: #145c3e; }
.sbo-status--pending { background: #fff4d6; color: #7a5a00; }
.sbo-status--sbo_sold { background: #e4e9f2; color: #2c3e66; }
.sbo-status--sbo_expired { background: #eee; color: #555; }
.sbo-status--sbo_rejected { background: #fbe3e3; color: #8a1f1f; }

/* Strana modela u katalogu */
.sbo-product-ads { clear: both; margin: 2em 0; }
.sbo-cta { display: flex; align-items: center; gap: 1em; flex-wrap: wrap; padding: 1em; background: var(--sbo-bg-soft); border-radius: var(--sbo-radius); }

@media (max-width: 700px) {
	.sbo-single__grid, .sbo-row { grid-template-columns: 1fr; }
	.sbo-my-ad__img img { width: 64px; height: 64px; }
}
