/* Asset Partners front end. Everything is scoped under .ap so it does not fight your theme. */
.ap {
	--ap-amber: #f0a01e;
	--ap-amber-soft: #fdf1dc;
	--ap-ink: #0a2a5e;
	--ap-muted: #5d5d5d;
	--ap-line: #e4e1da;
	--ap-bg: #f7f6f2;
	--ap-card: #fff;
	--ap-ok: #1d7a46;
	--ap-ok-soft: #e3f4ea;
	--ap-warn-soft: #fff3cd;
	--ap-err: #b42318;
	--ap-err-soft: #fde8e6;
	--ap-radius: 12px;
	color: var(--ap-ink);
	line-height: 1.5;
	font-size: 16px;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}
.ap *, .ap *::before, .ap *::after { box-sizing: border-box; }
.ap h1, .ap h2, .ap h3 { color: var(--ap-ink); line-height: 1.15; margin: 0 0 .5em; letter-spacing: -0.01em; }
.ap p { margin: 0 0 .75em; }
.ap a { color: inherit; }
.ap img { max-width: 100%; height: auto; display: block; }
.ap-small { font-size: 14px; color: var(--ap-muted); }
.ap-muted { color: var(--ap-muted); }
.ap-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ap-muted); }

/* Buttons */
.ap .ap-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .4em;
	background: var(--ap-amber); color: var(--ap-ink); border: 2px solid var(--ap-amber);
	border-radius: 8px; padding: .7em 1.3em; font: inherit; font-weight: 700; text-decoration: none;
	cursor: pointer; transition: background .15s, border-color .15s;
}
.ap .ap-btn:hover { background: #d98b0c; border-color: #d98b0c; }
.ap .ap-btn:focus-visible, .ap a:focus-visible, .ap input:focus-visible, .ap select:focus-visible, .ap textarea:focus-visible, .ap button:focus-visible { outline: 3px solid var(--ap-ink); outline-offset: 2px; }
.ap .ap-btn--dark { background: var(--ap-ink); border-color: var(--ap-ink); color: #fff; }
.ap .ap-btn--dark:hover { background: #333; border-color: #333; }
.ap .ap-btn--ghost { background: transparent; border-color: var(--ap-ink); color: var(--ap-ink); }
.ap .ap-btn--ghost:hover { background: var(--ap-bg); border-color: var(--ap-ink); }
.ap .ap-btn--block { width: 100%; }
.ap .ap-btn--sm { padding: .35em .8em; font-size: 14px; }
.ap-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.25em 0 .75em; }

/* Badges & pills */
.ap-badge { display: inline-block; font-size: 12px; font-weight: 700; padding: .25em .7em; border-radius: 4px; background: #eee; color: var(--ap-ink); }
.ap-badge--available, .ap-badge--accepted, .ap-badge--approved { background: var(--ap-ok-soft); color: var(--ap-ok); }
.ap-badge--under_offer, .ap-badge--pending, .ap-badge--countered, .ap-badge--new { background: var(--ap-warn-soft); color: #7a5300; }
.ap-badge--sold { background: var(--ap-ink); color: #fff; }
.ap-badge--declined, .ap-badge--withdrawn, .ap-badge--rejected { background: var(--ap-err-soft); color: var(--ap-err); }
.ap-pill { font-size: 13px; font-weight: 600; padding: .25em .75em; border-radius: 4px; background: var(--ap-bg); border: 1px solid var(--ap-line); }
.ap-pill--ok { background: var(--ap-ok-soft); color: var(--ap-ok); border-color: transparent; }

/* Flash */
.ap-flash { padding: .8em 1em; border-radius: 8px; margin: 0 0 1em; font-weight: 600; }
.ap-flash--ok { background: var(--ap-ok-soft); color: var(--ap-ok); }
.ap-flash--err { background: var(--ap-err-soft); color: var(--ap-err); }
.ap-flash--info { background: var(--ap-amber-soft); color: #6b4500; }

/* Member bar */
.ap-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 10px 0 14px; margin-bottom: 20px; border-bottom: 1px solid var(--ap-line); }
.ap-bar__logo img { height: 44px; width: auto; }
.ap-bar__links { display: flex; gap: 4px; flex-wrap: wrap; }
.ap-bar__links a { text-decoration: none; font-weight: 600; padding: .4em .9em; border-radius: 8px; }
.ap-bar__links a:hover { background: var(--ap-bg); }
.ap-bar__links a.is-active { background: var(--ap-amber); }
.ap-bar__me { margin-left: auto; display: flex; align-items: center; gap: 14px; font-size: 14px; }

/* Forms */
.ap-form label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 12px; }
.ap-form input[type=text], .ap-form input[type=email], .ap-form input[type=tel], .ap-form input[type=number], .ap-form input[type=search], .ap-form input[type=password], .ap-form input[type=date], .ap-form input[type=time], .ap-form select, .ap-form textarea,
.ap-filters input, .ap-filters select, .ap-sort select {
	display: block; width: 100%; margin-top: 6px; padding: .65em .8em; font: inherit; font-weight: 400;
	border: 1px solid #b9b5ac; border-radius: 8px; background: #fff; color: var(--ap-ink);
}
.ap-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.ap .ap-check { display: flex; gap: .6em; align-items: flex-start; font-weight: 400; font-size: 14px; margin: 0 0 8px; }
.ap .ap-check input { margin-top: .25em; width: auto; }
.ap fieldset { border: 0; padding: 0; margin: 0 0 12px; }
.ap legend { font-weight: 700; font-size: 14px; margin-bottom: 6px; padding: 0; }
.ap-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Landing */
.ap-hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; padding: 40px 0 56px; }
.ap-hero__logo { width: 200px; margin-bottom: 24px; }
.ap-hero h1 { font-size: clamp(48px, 8vw, 88px); font-weight: 800; letter-spacing: -0.03em; margin: .1em 0 .3em; }
.ap-hero h1 span { color: var(--ap-amber); }
.ap-lead { font-size: 19px; max-width: 34em; }
.ap-sources { padding: 40px 0; }
.ap-intro { font-size: 18px; color: var(--ap-muted); max-width: 40em; }
.ap-sources__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-top: 20px; }
.ap-sources__grid > div { background: var(--ap-card); border: 1px solid var(--ap-line); border-top: 4px solid var(--ap-amber); border-radius: var(--ap-radius); padding: 18px; }
.ap-sources__grid h3 { font-size: 17px; }
.ap-sources__grid p { font-size: 14px; color: var(--ap-muted); margin: 0; }
.ap-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; background: var(--ap-ink); color: #ddd; padding: 36px; border-radius: var(--ap-radius); }
.ap-points h3 { color: var(--ap-amber); font-size: 18px; }
.ap-points p { margin: 0; font-size: 15px; }
.ap-how { padding: 56px 0 40px; }
.ap-how h2, .ap-apply h2 { font-size: clamp(30px, 4vw, 42px); font-weight: 800; }
.ap-how ol { list-style: none; padding: 0; margin: 20px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ap-how li { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); padding: 22px; }
.ap-how li span { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--ap-amber); font-weight: 800; margin-bottom: 14px; }
.ap-how li h3 { font-size: 19px; }
.ap-how li p { color: var(--ap-muted); margin: 0; font-size: 15px; }
.ap-commission { display: grid; grid-template-columns: 1fr 380px; gap: 32px; align-items: center; background: var(--ap-amber); border-radius: var(--ap-radius); padding: 36px; }
.ap-commission h2 { font-size: clamp(28px, 4vw, 40px); font-weight: 800; }
.ap-commission__ex { background: #fff; border-radius: 10px; padding: 20px 24px; }
.ap-commission__ex p:not(.ap-eyebrow):not(.ap-small) { display: flex; justify-content: space-between; margin: 0 0 6px; }
.ap-apply { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items: start; padding: 56px 0; }
.ap-apply__form { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: 16px; padding: 28px; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.ap-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; background: var(--ap-ink); color: #ccc; padding: 28px 32px; border-radius: var(--ap-radius); font-size: 14px; margin-bottom: 24px; }
.ap-footer strong { color: #fff; }
.ap-footer nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.ap-footer a { color: #fff; }

/* Cards */
.ap-grid-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.ap-card { display: flex; flex-direction: column; background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); overflow: hidden; text-decoration: none; color: var(--ap-ink); transition: box-shadow .15s, transform .15s; }
a.ap-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-2px); }
.ap-card__img { position: relative; aspect-ratio: 16 / 10; background: #e9e7e1; display: grid; place-items: center; color: #8a877f; }
.ap-card__img img { width: 100%; height: 100%; object-fit: cover; }
.ap-card__img .ap-badge { position: absolute; top: 10px; left: 10px; }
.ap-card__body { padding: 14px 16px 16px; }
.ap-card__src { font-size: 13px; color: var(--ap-muted); }
.ap-card h3 { font-size: 17px; margin: 4px 0 6px; }
.ap-card__price { font-size: 20px; font-weight: 800; }
.ap-card__comm { font-size: 13px; color: #8a5a00; font-weight: 600; margin-bottom: 8px; }
.ap-chips, .ap-facts { display: flex; flex-wrap: wrap; gap: 6px; }
.ap-chips span, .ap-facts span { font-size: 12px; background: var(--ap-bg); border: 1px solid var(--ap-line); padding: .2em .6em; border-radius: 6px; }

/* Browse */
.ap-tabs { display: flex; gap: 6px; margin-bottom: 14px; flex-wrap: wrap; }
.ap-tabs a { text-decoration: none; font-weight: 700; padding: .55em 1.1em; border-radius: 4px; border: 1px solid var(--ap-line); background: #fff; }
.ap-tabs a.is-active { background: var(--ap-ink); color: #fff; border-color: var(--ap-ink); }
.ap-filters { background: var(--ap-amber); border-radius: var(--ap-radius); padding: 16px; margin-bottom: 22px; }
.ap-filters__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr auto; gap: 12px; align-items: end; }
.ap-filters label { font-size: 13px; font-weight: 700; }
.ap-filters__more { margin-top: 12px; background: #fff; border-radius: 8px; padding: 10px 14px; }
.ap-filters__more summary { cursor: pointer; font-weight: 700; font-size: 14px; }
.ap-filters__more[open] { display: block; }
.ap-filters__more fieldset { display: inline-block; vertical-align: top; margin: 10px 40px 0 0; }
.ap-results__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.ap-results__head h2 { font-size: 22px; margin: 0; }
.ap-sort label { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.ap-sort select { margin: 0; width: auto; }
.ap-pager { display: flex; gap: 6px; margin: 24px 0; }
.ap-pager a, .ap-pager span { padding: .4em .8em; border: 1px solid var(--ap-line); border-radius: 6px; text-decoration: none; }
.ap-pager span { background: var(--ap-ink); color: #fff; }
.ap-empty { padding: 32px; text-align: center; background: var(--ap-bg); border-radius: var(--ap-radius); color: var(--ap-muted); }

/* Listing */
.ap-crumbs { font-size: 14px; color: var(--ap-muted); }
.ap-listing__top { display: grid; grid-template-columns: 1.5fr 1fr; gap: 28px; align-items: start; }
.ap-gallery__main { position: relative; aspect-ratio: 4 / 3; background: #e9e7e1; border-radius: var(--ap-radius); overflow: hidden; display: grid; place-items: center; color: #8a877f; }
.ap-gallery__main img { width: 100%; height: 100%; object-fit: cover; }
.ap-gallery__main svg { width: 96px; height: 96px; }
.ap-gallery__count { position: absolute; right: 12px; bottom: 12px; background: rgba(0,0,0,.75); color: #fff; font-size: 13px; padding: .25em .7em; border-radius: 6px; }
.ap-gallery__thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); gap: 8px; margin-top: 10px; }
.ap-gallery__thumbs button { padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; background: none; cursor: pointer; aspect-ratio: 4 / 3; }
.ap-gallery__thumbs button.is-active { border-color: var(--ap-amber); }
.ap-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.ap-panel-buy { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); padding: 22px; }
.ap-panel-buy h1 { font-size: 26px; margin-top: 10px; }
.ap-price { font-size: 30px; font-weight: 800; margin: .2em 0 .5em; }
.ap-comm-box { background: var(--ap-amber-soft); border-radius: 8px; padding: 12px 14px; margin-bottom: 14px; font-size: 14px; }
.ap-comm-box strong { color: #7a4c00; }
.ap-comm-box p { margin: 4px 0 0; }
.ap-facts { margin-bottom: 18px; }
.ap-offer { border-top: 1px solid var(--ap-line); padding-top: 16px; margin-bottom: 12px; }
.ap-offer__total { font-size: 14px; background: var(--ap-bg); padding: 8px 12px; border-radius: 8px; }
.ap-note { background: var(--ap-bg); padding: 12px 14px; border-radius: 8px; font-weight: 600; }
.ap-listing__details { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.ap-box { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); padding: 22px; }
.ap-box--wide { grid-column: 1 / -1; }
.ap-box h2 { font-size: 20px; }
.ap-box dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 24px; margin: 0; }
.ap-box dt { color: var(--ap-muted); }
.ap-box dd { margin: 0; font-weight: 600; }

/* Tables (my offers) */
.ap-table-wrap { overflow-x: auto; }
.ap-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--ap-line); border-radius: var(--ap-radius); }
.ap-table th, .ap-table td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--ap-line); vertical-align: top; font-size: 15px; }
.ap-table th { font-size: 13px; color: var(--ap-muted); background: var(--ap-bg); }
.ap-table__act form { display: inline-block; margin: 0 6px 6px 0; }

/* Gate */
.ap-gate { max-width: 460px; margin: 40px auto; background: #fff; border: 1px solid var(--ap-line); border-radius: 16px; padding: 28px; }
.ap-gate input[type=text], .ap-gate input[type=password] { width: 100%; padding: .6em .8em; border: 1px solid #b9b5ac; border-radius: 8px; font: inherit; }
.ap-gate #wp-submit { background: var(--ap-amber); border: 0; border-radius: 8px; padding: .7em 1.3em; font-weight: 700; cursor: pointer; }

/* Responsive */
@media (max-width: 960px) {
	.ap-hero, .ap-apply, .ap-commission, .ap-listing__top { grid-template-columns: 1fr; }
	.ap-sources__grid { grid-template-columns: repeat(2, 1fr); }
	.ap-filters__top { grid-template-columns: 1fr 1fr; }
	.ap-filters__top .ap-btn { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.ap { font-size: 15px; }
	.ap-sources__grid, .ap-points, .ap-how ol, .ap-form__grid, .ap-filters__top, .ap-listing__details { grid-template-columns: 1fr; }
	.ap-points, .ap-commission { padding: 24px; }
	.ap-bar__me { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .ap * { transition: none !important; } }

/* =================================================================
   v1.2: mobile-first improvements
   ================================================================= */

/* Theme chrome on our screens (classic themes; block themes handled in PHP). */
.ap-screen .entry-header, .ap-screen .page-header, .ap-screen .entry-title, .ap-screen .page-title,
.ap-screen .entry-meta, .ap-screen .post-meta, .ap-screen .post-navigation, .ap-screen .comments-area,
.ap-screen .wp-block-post-title { display: none !important; }

/* WhatsApp buttons */
.ap .ap-btn--wa { background: #1f9d55; border-color: #1f9d55; color: #fff; }
.ap .ap-btn--wa:hover { background: #17834a; border-color: #17834a; }
.ap .ap-btn--wa-ghost svg { color: #1f9d55; }
.ap-btn svg { flex: none; }

.ap-bar__me .ap-pill { white-space: nowrap; }

/* Filters: collapsible box (summary only shows on phones) */
.ap-filterbox > summary { list-style: none; cursor: pointer; display: none; justify-content: space-between; align-items: center; font-weight: 700; }
.ap-filterbox > summary::-webkit-details-marker { display: none; }
.ap-filterbox__hint { font-size: 13px; text-decoration: underline; }

/* Listing: three blocks: head, gallery, buy */
.ap-listing__top { display: grid; grid-template-columns: 1.5fr 1fr; grid-template-areas: "gallery head" "gallery buy"; grid-template-rows: auto 1fr; gap: 0 28px; align-items: start; }
.ap-listing__head { grid-area: head; background: var(--ap-card); border: 1px solid var(--ap-line); border-bottom: 0; border-radius: var(--ap-radius) var(--ap-radius) 0 0; padding: 22px 22px 6px; }
.ap-listing__head h1 { font-size: 26px; margin-top: 10px; }
.ap-gallery { grid-area: gallery; }
.ap-listing__buy { grid-area: buy; background: var(--ap-card); border: 1px solid var(--ap-line); border-top: 0; border-radius: 0 0 var(--ap-radius) var(--ap-radius); padding: 0 22px 22px; scroll-margin-top: 16px; }
.ap-offer__title { font-size: 19px; margin: 0 0 8px; }
.ap-buy__secondary { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 0 6px; }
.ap-buy__secondary form { margin: 0; }
.ap-buy__secondary .ap-btn { padding: .6em .6em; font-size: 15px; }
.ap-gallery__none { position: absolute; bottom: 14px; font-size: 13px; color: #6b6860; }
.ap-note .ap-btn { margin-top: 8px; }
.ap-crumbs a { text-decoration: none; font-weight: 600; }
.ap-sticky { display: none; }

/* My offers as cards */
.ap-offer-cards { display: grid; gap: 12px; }
.ap-ocard { background: #fff; border: 1px solid var(--ap-line); border-radius: var(--ap-radius); padding: 16px; display: grid; gap: 8px; }
.ap-ocard--action { border-color: var(--ap-amber); box-shadow: 0 0 0 2px var(--ap-amber-soft); }
.ap-ocard__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.ap-ocard__item { font-weight: 700; text-decoration: none; }
.ap-ocard__amount { font-size: 22px; font-weight: 800; }
.ap-ocard__meta { font-size: 14px; color: var(--ap-muted); }
.ap-ocard__counter { background: var(--ap-amber-soft); border-radius: 8px; padding: 10px 12px; }
.ap-ocard__counter strong { font-size: 18px; }
.ap-ocard__msg { background: var(--ap-bg); border-radius: 8px; padding: 10px 12px; font-size: 14px; }
.ap-ocard__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ap-ocard__actions form { margin: 0; }
.ap-head-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 12px; }
.ap-head-row h2 { margin: 0; }

/* Sell form */
.ap-sell { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
.ap-sell__form { background: #fff; border: 1px solid var(--ap-line); border-radius: 16px; padding: 24px; }
.ap-sell__types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 6px 0 14px; border: 0; padding: 0; }
.ap .ap-sell__types label { margin: 0; position: relative; }
.ap-sell__types input { position: absolute; opacity: 0; }
.ap-sell__types span { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 6px; border: 2px solid var(--ap-line); border-radius: 10px; font-weight: 700; cursor: pointer; text-align: center; }
.ap-sell__types span svg { width: 32px; height: 32px; }
.ap-sell__types input:checked + span { border-color: var(--ap-ink); background: var(--ap-amber-soft); }
.ap-sell__types input:focus-visible + span { outline: 3px solid var(--ap-ink); outline-offset: 2px; }
.ap-form input[type=file] { display: block; width: 100%; margin-top: 6px; padding: 10px; border: 2px dashed #b9b5ac; border-radius: 8px; background: var(--ap-bg); font: inherit; }
.ap-sell__list { display: grid; gap: 8px; }
.ap-sell__list > div { display: flex; justify-content: space-between; gap: 10px; background: #fff; border: 1px solid var(--ap-line); border-radius: 10px; padding: 12px 14px; }

/* ---------------- Phones ---------------- */
@media (max-width: 640px) {
	.ap-hide-sm { display: none; }
	.ap-bar { gap: 8px; padding: 4px 0 10px; margin-bottom: 12px; flex-wrap: nowrap; }
	.ap-bar__logo { display: none; }
	.ap-bar__links { flex: 1; flex-wrap: nowrap; overflow-x: auto; gap: 2px; }
	.ap-bar__links a { padding: .55em .65em; min-height: 44px; display: inline-flex; align-items: center; white-space: nowrap; }
	.ap-bar__me { gap: 8px; margin-left: 0; }
	.ap-bar__me > a { display: none; }

	.ap-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
	.ap-tabs a { text-align: center; padding: .6em .2em; font-size: 14px; min-height: 44px; display: flex; align-items: center; justify-content: center; }

	.ap-filters { padding: 12px 14px; margin-bottom: 14px; }
	.ap-filterbox > summary { display: flex; min-height: 32px; }
	.ap-filterbox[open] > summary { padding-bottom: 10px; }
	.ap-results__head h2 { font-size: 18px; }

	/* Compact horizontal cards: about 3 per screen instead of 1 */
	.ap-grid-cards { gap: 10px; }
	.ap-card { flex-direction: row; }
	.ap-card__img { width: 38%; flex: none; aspect-ratio: auto; min-height: 120px; }
	.ap-card__img svg { width: 32px; height: 32px; }
	.ap-card__img .ap-badge { top: 6px; left: 6px; font-size: 11px; }
	.ap-card__body { padding: 10px 12px; min-width: 0; }
	.ap-card h3 { font-size: 15px; margin: 2px 0 4px; }
	.ap-card__price { font-size: 17px; }
	.ap-card__comm { font-size: 12px; margin-bottom: 4px; }
	.ap-chips span:nth-child(n+3) { display: none; }

	/* Listing: head (price) first, then photos, then offer form */
	.ap-listing__top { grid-template-columns: 1fr; grid-template-areas: "head" "gallery" "buy"; grid-template-rows: auto; gap: 12px; }
	.ap-listing__head, .ap-listing__buy { border: 0; border-radius: 0; padding: 0; background: transparent; }
	.ap-listing__head h1 { font-size: 21px; margin: 6px 0 2px; }
	.ap-listing__head .ap-muted { font-size: 14px; margin-bottom: 4px; }
	.ap-price { font-size: 26px; margin: 0 0 8px; }
	.ap-comm-box { margin-bottom: 10px; }
	.ap-facts { margin-bottom: 4px; }
	.ap-gallery__main { aspect-ratio: 16 / 10; }
	.ap-gallery__thumbs { display: flex; overflow-x: auto; gap: 6px; }
	.ap-gallery__thumbs button { flex: 0 0 72px; }
	.ap-listing__buy { border-top: 1px solid var(--ap-line); padding-top: 14px; }
	.ap-listing.has-sticky { padding-bottom: 80px; }
	.ap-sticky:not([hidden]) {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
		align-items: center; justify-content: space-between; gap: 12px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		background: #fff; border-top: 1px solid var(--ap-line); box-shadow: 0 -6px 20px rgba(0,0,0,.08);
		transition: transform .2s;
	}
	.ap-sticky.is-hidden { transform: translateY(110%); }
	.ap-sticky > div { display: flex; flex-direction: column; line-height: 1.2; }
	.ap-sticky strong { font-size: 18px; }
	.ap-sticky span { font-size: 12px; color: var(--ap-muted); }
	.ap-sticky .ap-btn { min-height: 48px; }

	.ap .ap-check { min-height: 32px; align-items: center; }
	.ap .ap-check input { width: 20px; height: 20px; margin-top: 0; }
	.ap-ocard__actions > * { flex: 1; }
	.ap-ocard__actions .ap-btn { width: 100%; min-height: 44px; }
	.ap-sell { grid-template-columns: 1fr; }
	.ap-sell__form { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) { .ap-sticky { transition: none; } }

/* v1.3 auctions */
.ap-card__auction { font-size: 12px; font-weight: 700; color: #1d4ed8; margin: -2px 0 2px; }
.ap-auction-box { background: #eef3ff; border: 1px solid #c9d7fb; border-radius: 8px; padding: 12px 14px; margin: 0 0 12px; font-size: 14px; }
.ap-auction-box > strong { display: block; color: #1d3a8a; margin-bottom: 6px; }
.ap-auction-box dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; margin: 0; }
.ap-auction-box dt { color: var(--ap-muted); }
.ap-auction-box dd { margin: 0; font-weight: 600; }
.ap-auction-box details { margin-top: 8px; }
.ap-auction-box summary { cursor: pointer; font-weight: 600; }

/* v1.4 compliance */
.ap-ppra { color: var(--ap-muted); font-size: 13px; }
.ap-nofee { margin: -4px 0 10px; }
.ap-disclosure { background: #fff7e6; border: 1px solid #f0c674; border-radius: 8px; padding: 10px 12px; margin: 0 0 12px; font-size: 14px; }
.ap-disclosure p { margin: 0 0 6px; }

/* =================================================================
   v1.5: gallery, viewer, trust, documents, video, costs, viewing
   ================================================================= */

/* Gallery: one swipeable strip (phones swipe; desktop shows thumbnails) */
.ap-gallery[data-ap-gallery] { position: relative; }
.ap-gallery__strip { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; border-radius: var(--ap-radius); background: #e9e7e1; scrollbar-width: none; aspect-ratio: 4 / 3; }
.ap-gallery__strip::-webkit-scrollbar { display: none; }
.ap-gallery__slide { flex: 0 0 100%; scroll-snap-align: start; position: relative; padding: 0; border: 0; background: none; cursor: zoom-in; }
.ap-gallery__slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ap-gallery__cap { position: absolute; left: 10px; bottom: 10px; max-width: 70%; background: rgba(0,0,0,.72); color: #fff; font-size: 13px; padding: 4px 8px; border-radius: 6px; text-align: left; }
.ap-gallery[data-ap-gallery] .ap-gallery__count { position: absolute; right: 12px; top: 12px; bottom: auto; }
.ap-gallery__all, .ap-gallery__videolink { position: absolute; top: 12px; left: 12px; background: rgba(255,255,255,.95); color: var(--ap-ink); border: 0; border-radius: 6px; font-size: 13px; font-weight: 600; line-height: 1; padding: 7px 10px; cursor: pointer; text-decoration: none; }
.ap-gallery__videolink { left: auto; right: 64px; }
.ap-gallery__thumbs button[data-ap-go] { aspect-ratio: 4 / 3; }

/* Full-screen viewer */
.ap-noscroll, .ap-noscroll body { overflow: hidden; }
.ap-viewer { position: fixed; inset: 0; z-index: 100000; background: #0b0b0b; color: #fff; display: flex; flex-direction: column; }
.ap-viewer__stage { flex: 1; display: flex; align-items: center; justify-content: center; overflow: hidden; touch-action: pan-y pinch-zoom; }
.ap-viewer__stage img { max-width: 100%; max-height: 100%; object-fit: contain; user-select: none; cursor: zoom-in; }
.ap-viewer.is-zoomed .ap-viewer__stage { overflow: auto; display: block; touch-action: pan-x pan-y pinch-zoom; }
.ap-viewer.is-zoomed .ap-viewer__stage img { max-width: none; max-height: none; width: 220%; cursor: zoom-out; }
.ap-viewer__btn { position: absolute; width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.ap-viewer__btn:hover, .ap-viewer__btn:focus-visible { background: rgba(255,255,255,.3); }
.ap-viewer__close { top: 12px; right: 12px; }
.ap-viewer__prev { left: 12px; top: 50%; transform: translateY(-50%); }
.ap-viewer__next { right: 12px; top: 50%; transform: translateY(-50%); }
.ap-viewer.is-single .ap-viewer__prev, .ap-viewer.is-single .ap-viewer__next { display: none; }
.ap-viewer__bar { display: flex; gap: 14px; align-items: center; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); font-size: 14px; background: rgba(0,0,0,.6); }
.ap-viewer__count { font-weight: 700; white-space: nowrap; }
.ap-viewer__cap { flex: 1; }
.ap-viewer__hint { color: #aaa; font-size: 12px; white-space: nowrap; }

/* Condition, trust badges, all-in line */
.ap-condition { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.ap-cond { font-size: 13px; font-weight: 600; padding: .25em .7em; border-radius: 4px; background: var(--ap-bg); border: 1px solid var(--ap-line); }
.ap-cond--g5, .ap-cond--g4 { background: var(--ap-ok-soft); color: var(--ap-ok); border-color: transparent; }
.ap-cond--g2, .ap-cond--g1 { background: var(--ap-err-soft); color: var(--ap-err); border-color: transparent; }
.ap-faults { width: 100%; font-size: 14px; }
.ap-faults summary { cursor: pointer; font-weight: 600; }
.ap-faults ul { margin: 6px 0 0 18px; padding: 0; }
.ap-trust-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px; }
.ap-trust-badge { font-size: 13px; font-weight: 700; color: #0d5c33; background: #dff3e7; border-radius: 6px; padding: .3em .65em; }
.ap-chips .ap-chip--ok { background: #dff3e7; color: #0d5c33; border-color: transparent; font-weight: 700; }
.ap-allin { margin: -4px 0 10px; }

/* Cost breakdown in the offer form */
.ap-costs { background: var(--ap-bg); border-radius: 8px; padding: 8px 12px; margin: 0 0 12px; font-size: 14px; }
.ap-costs table { width: 100%; border-collapse: collapse; }
.ap-costs th { text-align: left; font-weight: 400; color: var(--ap-muted); padding: 3px 0; }
.ap-costs td { text-align: right; padding: 3px 0; white-space: nowrap; }
.ap-costs tfoot th, .ap-costs tfoot td { font-weight: 800; color: var(--ap-ink); border-top: 1px solid var(--ap-line); padding-top: 6px; }
.ap-costs p { margin: 6px 0 0; }

/* Documents and video */
.ap-docs-public ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ap-docs-public li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--ap-line); border-radius: 10px; }
.ap-docs-public li > span:nth-child(2) { flex: 1; }
.ap-doc-ico { flex: none; width: 40px; height: 40px; display: grid; place-items: center; background: var(--ap-amber-soft); color: #7a4c00; font-size: 11px; font-weight: 800; line-height: 1; border-radius: 8px; }
.ap-video video, .ap-video iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 10px; background: #000; display: block; }
.ap-video__facade { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 10px; background: #111 center / cover no-repeat; color: #fff; cursor: pointer; position: relative; display: grid; place-items: center; }
.ap-video__play { width: 72px; height: 72px; border-radius: 50%; background: var(--ap-amber); color: var(--ap-ink); font-size: 28px; display: grid; place-items: center; box-shadow: 0 6px 20px rgba(0,0,0,.4); }
.ap-video__note { position: absolute; bottom: 10px; font-size: 12px; background: rgba(0,0,0,.6); padding: 3px 8px; border-radius: 4px; }

/* Viewing request */
.ap-viewing { margin: 8px 0; }
.ap-viewing > summary { list-style: none; }
.ap-viewing > summary::-webkit-details-marker { display: none; }
.ap-viewing[open] > summary { margin-bottom: 10px; }

@media (max-width: 640px) {
	.ap-gallery__strip { border-radius: 10px; aspect-ratio: 4 / 3; }
	.ap-gallery[data-ap-gallery] .ap-gallery__thumbs { display: none; }
	.ap-gallery__all { top: auto; bottom: 10px; left: auto; right: 10px; }
	.ap-gallery__videolink { right: auto; left: 10px; top: auto; bottom: 10px; }
	.ap-gallery__cap { bottom: 46px; }
	.ap-viewer__hint { display: none; }
	.ap-viewer__prev, .ap-viewer__next { display: none; }
}

/* v1.5 layout: title + price, then photos, then details (phones); photos left, details right (desktop) */
.ap-listing__top { grid-template-areas: "gallery head" "gallery summary" "gallery buy"; grid-template-rows: auto auto 1fr; }
.ap-listing__summary { grid-area: summary; background: var(--ap-card); border-left: 1px solid var(--ap-line); border-right: 1px solid var(--ap-line); padding: 0 22px 6px; }
.ap-listing__head { padding-bottom: 0; }
@media (max-width: 640px) {
	.ap-listing__top { grid-template-areas: "head" "gallery" "summary" "buy"; grid-template-rows: auto; }
	.ap-listing__summary { border: 0; padding: 0; background: transparent; }
	.ap-listing__head .ap-price { margin-bottom: 0; }
	.ap-tabs { display: flex; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
	.ap-tabs::-webkit-scrollbar { display: none; }
	.ap-tabs a { flex: 0 0 auto; padding: .6em 1em; }
}

/* v1.7 purchase terms on the offer form */
.ap-terms{margin:12px 0;border:1px solid var(--ap-line,#e4e1da);border-radius:10px;background:#fffdf8}
.ap-terms summary{cursor:pointer;padding:10px 12px;font-weight:600}
.ap-terms__text{white-space:pre-wrap;font-size:13px;line-height:1.55;max-height:260px;overflow:auto;padding:0 12px 12px}
.ap-pay{margin:10px 0}.ap-pay .ap-check{display:inline-flex;margin-right:14px}
.ap-finance-by{display:block;margin-top:8px;font-size:14px}
.ap-pay:not(:has(input[value=finance]:checked)) .ap-finance-by{display:none}

/* =================================================================
   v1.8: categories, search bar, results, cards, listing (V18-SPEC)
   ================================================================= */
.ap.ap8, .ap8 {
	--ap-ink: #0a2a5e;
	--ap-muted: #5b6474;
	--ap-line: #e4e7ec;
	--ap-bg: #f5f6f8;
	--ap-radius: 12px;
	font-family: inherit;
}
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.ap8 .ap-ico { flex: none; }

/* Breadcrumbs */
.ap8-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; font-size: 14px; margin: 4px 0 14px; color: var(--ap-muted); }
.ap8-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.ap8-crumbs li + li::before { content: "›"; margin: 0 6px 0 2px; color: #98a2b3; }
.ap8-crumbs a { text-decoration: none; color: var(--ap-muted); }
.ap8-crumbs a:hover { color: var(--ap-ink); text-decoration: underline; }
.ap8-crumbs .ap8-back { font-weight: 700; color: var(--ap-ink); }

/* Search bar */
.ap-sbar { display: flex; align-items: stretch; gap: 8px; background: #fff; border: 1px solid var(--ap-line); border-radius: 14px; padding: 8px; box-shadow: 0 8px 24px rgba(16,24,40,.06); }
.ap-sbar select, .ap-sbar input { font: inherit; border: 0; background: transparent; color: var(--ap-ink); min-height: 44px; }
.ap-sbar__cat { flex: 0 0 auto; display: flex; border-right: 1px solid var(--ap-line); padding-right: 6px; }
.ap-sbar__cat select { font-weight: 700; padding: 0 8px; cursor: pointer; max-width: 260px; }
.ap-sbar__q { flex: 1; display: flex; align-items: center; gap: 8px; padding: 0 6px; color: var(--ap-muted); min-width: 0; }
.ap-sbar__q input { width: 100%; outline-offset: 4px; }
.ap-sbar__filters { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; font: inherit; font-weight: 700; color: var(--ap-ink); padding: 0 12px; cursor: pointer; text-decoration: none; border-radius: 8px; }
.ap-sbar__filters:hover { background: var(--ap-bg); }
.ap .ap-sbar__go { white-space: nowrap; border-radius: 10px; }

/* Home */
.ap8-home { padding: 36px 0 28px; }
.ap8-home__h { font-size: clamp(30px, 5vw, 48px); font-weight: 800; letter-spacing: -0.02em; margin: .1em 0 .5em; }
.ap8-tiles { list-style: none; margin: 18px 0 8px; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.ap8-tiles a { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; background: #fff; border: 1px solid var(--ap-line); border-radius: 12px; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.ap8-tiles a:hover { border-color: var(--ap-amber); box-shadow: 0 6px 18px rgba(16,24,40,.06); }
.ap8-tiles strong { font-size: 16px; }
.ap8-tiles span { font-size: 13px; color: var(--ap-muted); }
.ap8-latest { margin: 20px 0 8px; }
.ap8-latest .ap-head-row a { font-weight: 700; }
.ap8-intro { padding-top: 32px; }
.ap8-intro__h { font-size: clamp(36px, 6vw, 64px); font-weight: 800; letter-spacing: -0.03em; margin: .1em 0 .3em; }
.ap8-intro__h span { color: var(--ap-amber); }

/* Results */
.ap8-search { margin: 0 0 18px; }
.ap8-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); grid-template-areas: "bar bar" "filters list"; gap: 18px 24px; align-items: start; }
.ap8-search--results { display: contents; }
.ap8-search--results .ap-sbar { grid-area: bar; }
.ap8-layout .ap8-filters { grid-area: filters; }
.ap8-layout .ap8-list { grid-area: list; }
.ap8-filters { background: #fff; border: 1px solid var(--ap-line); border-radius: 14px; padding: 16px; position: sticky; top: 90px; max-height: calc(100vh - 110px); overflow: auto; }
.ap8-filters__head { display: flex; justify-content: space-between; align-items: center; }
.ap8-filters__head h2 { font-size: 18px; margin: 0; }
.ap8-filters__close { display: none; border: 0; background: none; font-size: 28px; line-height: 1; cursor: pointer; width: 44px; height: 44px; }
.ap8-filters label:not(.ap-check) { display: block; font-size: 13px; font-weight: 700; margin: 12px 0 0; }
.ap8-filters select, .ap8-filters input[type=number], .ap8-filters input[type=text] { display: block; width: 100%; margin-top: 5px; padding: .55em .7em; font: inherit; font-weight: 400; border: 1px solid #c9ced6; border-radius: 8px; background: #fff; color: var(--ap-ink); }
.ap8-filters fieldset { margin: 12px 0 0; }
.ap8-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ap8-more { margin-top: 14px; border-top: 1px solid var(--ap-line); padding-top: 10px; }
.ap8-more summary { cursor: pointer; font-weight: 700; font-size: 14px; }
.ap8-filters__foot { margin-top: 16px; display: grid; gap: 8px; text-align: center; }
.ap8-clear { font-size: 14px; font-weight: 600; }
.ap8-list .ap-results__head h2 { font-size: 20px; }
.ap8-chips { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ap8-chips a { display: inline-flex; gap: 6px; align-items: center; padding: .3em .75em; border-radius: 4px; background: var(--ap-bg); border: 1px solid var(--ap-line); font-size: 13px; font-weight: 600; text-decoration: none; }
.ap8-chips a:hover { border-color: var(--ap-ink); }
.ap8-chips .ap8-clear { background: none; border-color: transparent; text-decoration: underline; }
.ap8-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ap8-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Cards */
.ap-c8 { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ap-line); border-radius: 12px; overflow: hidden; transition: box-shadow .15s, transform .15s; }
.ap-c8:hover { box-shadow: 0 10px 28px rgba(16,24,40,.10); transform: translateY(-2px); }
.ap-c8__link { display: flex; flex-direction: column; flex: 1; text-decoration: none; color: var(--ap-ink); }
.ap-c8__img { position: relative; aspect-ratio: 4 / 3; background: #eef0f3; display: grid; place-items: center; color: #98a2b3; }
.ap-c8__img img { width: 100%; height: 100%; object-fit: cover; }
.ap-c8__img .ap-badge { position: absolute; top: 10px; left: 10px; }
.ap-c8__n { position: absolute; left: 10px; bottom: 10px; display: inline-flex; gap: 4px; align-items: center; background: rgba(16,24,40,.72); color: #fff; font-size: 12px; font-weight: 600; padding: 3px 8px; border-radius: 6px; }
.ap-c8__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 2px; }
.ap-c8__price { font-size: 20px; font-weight: 800; letter-spacing: -0.01em; }
.ap-c8__vat { font-size: 12px; color: var(--ap-muted); margin-top: -2px; }
.ap-c8 h3 { font-size: 15px; margin: 6px 0 0; font-weight: 700; line-height: 1.3; }
.ap-c8__sub { font-size: 13px; color: var(--ap-muted); margin: 0; }
.ap-c8__facts { font-size: 13px; color: var(--ap-muted); margin: 6px 0 0; }
.ap-c8 .ap-chips { margin-top: 8px; }
.ap-heart { margin: 0; }
.ap-heart button { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--ap-line); background: rgba(255,255,255,.95); color: var(--ap-ink); cursor: pointer; }
.ap-heart button:hover { border-color: var(--ap-ink); }
.ap-heart button.is-on { color: #d92d20; }
.ap-heart button.is-on svg { fill: currentColor; }
.ap-c8__save { position: absolute; top: 8px; right: 8px; }

/* Listing */
.ap8-titlebar { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
.ap8-titlebar h1 { font-size: clamp(24px, 3.2vw, 34px); font-weight: 800; letter-spacing: -0.02em; margin: 0; }
.ap8-sub { font-size: 17px; color: var(--ap-muted); margin: 4px 0 0; }
.ap8-where { font-size: 14px; margin: 4px 0 0; }
.ap8-tools { display: flex; gap: 8px; flex: none; }
.ap8-iconbtn, .ap8-tools .ap-heart button { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 12px; border: 1px solid var(--ap-line); border-radius: 10px; background: #fff; font: inherit; font-weight: 600; cursor: pointer; color: var(--ap-ink); width: auto; }
.ap8-tools .ap-heart button { padding: 0 10px; }
.ap8-mosaic { position: relative; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; height: 460px; border-radius: 14px; overflow: hidden; margin-bottom: 20px; }
.ap8-mosaic button { position: relative; padding: 0; border: 0; background: #eef0f3; cursor: zoom-in; overflow: hidden; }
.ap8-mosaic button:first-child { grid-row: 1 / span 2; }
.ap8-mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.ap8-mosaic button:hover img { transform: scale(1.03); }
.ap8-mosaic--1 { grid-template-columns: 1fr; }
.ap8-mosaic--2 { grid-template-columns: 2fr 1fr; }
.ap8-mosaic--2 button:nth-child(2) { grid-row: 1 / span 2; }
.ap8-mosaic--3 { grid-template-columns: 2fr 1fr; }
.ap8-mosaic--4 { grid-template-columns: 2fr 1fr 1fr; }
.ap8-mosaic--4 button:nth-child(4) { grid-column: 2 / span 2; }
.ap8-mosaic__more { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(16,24,40,.55); color: #fff; font-weight: 800; font-size: 18px; }
.ap8-mosaic__count { position: absolute; left: 12px; bottom: 12px; display: inline-flex; gap: 5px; align-items: center; background: rgba(16,24,40,.75); color: #fff; font-size: 13px; font-weight: 600; padding: 4px 9px; border-radius: 6px; pointer-events: none; }
.ap8-listing > .ap-gallery { display: none; }
.ap8-cols { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; }
.ap8-facts { list-style: none; margin: 0 0 18px; padding: 0 0 18px; display: flex; flex-wrap: wrap; gap: 12px 28px; border-bottom: 1px solid var(--ap-line); }
.ap8-facts li { display: flex; align-items: center; gap: 10px; color: var(--ap-muted); }
.ap8-facts span { display: flex; flex-direction: column; line-height: 1.25; }
.ap8-facts strong { color: var(--ap-ink); font-size: 15px; }
.ap8-facts small { font-size: 12px; }
.ap8-summary:empty { display: none; }
.ap8-summary { margin-bottom: 8px; }
.ap8-sec { padding: 22px 0; border-bottom: 1px solid var(--ap-line); scroll-margin-top: 90px; }
.ap8-sec h2 { font-size: 22px; font-weight: 800; margin-bottom: 12px; }
.ap8-main > .ap-box { margin: 22px 0 0; }
.ap8-desc.is-clamped { max-height: 12.5em; overflow: hidden; position: relative; }
.ap8-desc.is-clamped::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3em; background: linear-gradient(rgba(255,255,255,0), #fff); }
.ap8-morebtn { border: 0; background: none; padding: 8px 0 0; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; color: var(--ap-ink); }
.ap8-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr) minmax(0, 1fr)); gap: 10px 20px; margin: 0; }
.ap8-dl dt { color: var(--ap-muted); font-size: 14px; }
.ap8-dl dd { margin: 0; font-weight: 600; font-size: 14px; }
.ap8-photogrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.ap8-photogrid button { padding: 0; border: 0; border-radius: 8px; overflow: hidden; aspect-ratio: 4 / 3; cursor: zoom-in; background: #eef0f3; }
.ap8-photogrid img { width: 100%; height: 100%; object-fit: cover; }
.ap8-pricing { background: var(--ap-bg); border-radius: 12px; padding: 18px 20px; }
.ap8-pricing .ap-price { margin: 0; }
.ap8-vat { font-size: 14px; color: var(--ap-muted); margin: 2px 0 10px; }
.ap8-listing .ap-listing__buy { border: 0; border-radius: 0; padding: 22px 0; background: none; border-bottom: 1px solid var(--ap-line); }
.ap8-listing .ap-offer { border-top: 0; padding-top: 0; max-width: 560px; }
.ap8-listing .ap-buy__secondary { grid-template-columns: 1fr; max-width: 560px; }
.ap8-listing #ap-viewing { max-width: 560px; }
.ap8-side { position: sticky; top: 90px; display: grid; gap: 14px; }
.ap8-pricecard, .ap8-consultant { background: #fff; border: 1px solid var(--ap-line); border-radius: 14px; padding: 20px; box-shadow: 0 8px 24px rgba(16,24,40,.06); }
.ap8-pricecard__price { font-size: 32px; font-weight: 800; letter-spacing: -0.02em; margin: 8px 0 0; }
.ap8-pricecard .ap-small { margin: 0 0 14px; }
.ap8-pricecard__row { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 8px; }
.ap8-pricecard__row .ap-heart button { width: 48px; height: 100%; min-height: 46px; border-radius: 8px; }
.ap8-link { display: block; text-align: center; margin-top: 12px; font-weight: 700; font-size: 14px; }
.ap8-consultant h2 { font-size: 16px; margin-bottom: 6px; }
.ap8-consultant p { margin-bottom: 8px; }
.ap8-similar { margin: 32px 0 8px; }
.ap8-similar h2 { font-size: 22px; font-weight: 800; }

/* Finance calculator */
.ap8-calc { max-width: 760px; }
.ap8-calc h1 { font-size: 32px; font-weight: 800; }
.ap8-calc__form { background: #fff; border: 1px solid var(--ap-line); border-radius: 14px; padding: 20px; }
.ap8-calc__out { background: var(--ap-bg); border-radius: 12px; padding: 16px 18px; margin-top: 8px; }
.ap8-calc__out p { margin: 0; }
.ap8-calc__pm { font-size: 34px; font-weight: 800; }

@media (max-width: 1100px) {
	.ap8-grid { grid-template-columns: repeat(2, 1fr); }
	.ap8-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.ap8-tiles { grid-template-columns: repeat(3, 1fr); }
	.ap8-cols { grid-template-columns: minmax(0, 1fr) 320px; }
	.ap8-dl { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 860px) {
	.ap8-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "bar" "filters" "list"; }
	html.ap-js .ap8-filters { display: none; }
	html.ap-js .ap8-filters.is-open { display: block; position: fixed; inset: 0; z-index: 100001; max-height: none; border-radius: 0; border: 0; padding: 16px 16px calc(16px + env(safe-area-inset-bottom)); }
	html.ap-js .ap8-filters.is-open .ap8-filters__close { display: inline-block; }
	.ap8-filters { position: static; max-height: none; }
	.ap8-filters__foot { position: sticky; bottom: 0; background: #fff; padding-top: 10px; }
	.ap8-cols { grid-template-columns: 1fr; }
	.ap8-side { position: static; }
	.ap8-mosaic { height: 340px; }
}
@media (max-width: 640px) {
	.ap-sbar { flex-wrap: wrap; padding: 6px; gap: 4px; }
	.ap-sbar__cat { flex: 1 1 100%; border-right: 0; border-bottom: 1px solid var(--ap-line); padding: 0 0 4px; }
	.ap-sbar__cat select { max-width: none; width: 100%; }
	.ap-sbar__q { flex: 1 1 100%; border-bottom: 1px solid var(--ap-line); }
	.ap-sbar__filters { flex: 1; justify-content: center; min-height: 44px; }
	.ap .ap-sbar__go { flex: 2; }
	.ap8-tiles { grid-template-columns: repeat(2, 1fr); }
	.ap8-grid, .ap8-grid--4 { grid-template-columns: 1fr; }
	.ap8-mosaic { display: none; }
	.ap8-listing > .ap-gallery { display: block; margin-bottom: 14px; }
	.ap8-titlebar { flex-direction: column; gap: 8px; }
	.ap8-tools { align-self: flex-start; }
	.ap8-facts { gap: 12px 18px; }
	.ap8-facts li { flex: 0 0 calc(50% - 9px); }
	.ap8-photogrid { grid-template-columns: repeat(3, 1fr); }
	.ap8-side .ap8-pricecard { display: none; }
	.ap8-home { padding-top: 16px; }
	.ap8-crumbs ol { display: none; }
}

/* ================================================================ v1.9: home page, photos, sourcing, log in */
.ap9-hero { grid-template-columns: 1fr 1.05fr; align-items: center; }
.ap9-hero h1.ap8-intro__h { font-size: clamp(36px, 5.6vw, 62px); }
.ap9-filter { border-left: 3px solid var(--ap-amber); padding-left: 12px; max-width: 46ch; }
.ap-rot { position: relative; aspect-ratio: 16 / 10; border-radius: var(--ap-radius); overflow: hidden; background: #dfe4ec; box-shadow: 0 18px 40px rgba(10, 42, 94, .18); }
.ap-rot__slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity .8s ease; }
.ap-rot__slide.is-on { opacity: 1; z-index: 1; }
.ap-rot__slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ap-rot__slide figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 48px 16px 34px; background: linear-gradient(transparent, rgba(6, 20, 46, .78)); display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.ap-rot__chip { display: inline-block; background: #fff; color: var(--ap-ink); font-weight: 700; font-size: 15px; padding: 8px 14px; border-radius: 4px; text-decoration: none; }
.ap-rot__chip b { color: #8a5600; font-weight: 800; }
a.ap-rot__chip:hover { background: var(--ap-amber); color: var(--ap-ink); }
.ap-rot__slide small { color: rgba(255, 255, 255, .8); font-size: 11px; }
.ap-rot__dots { position: absolute; z-index: 2; right: 12px; bottom: 12px; display: flex; gap: 6px; }
.ap-rot__dots button { position: relative; width: 10px; height: 10px; padding: 0; border-radius: 50%; border: 2px solid #fff; background: transparent; cursor: pointer; }
.ap-rot__dots button.is-on { background: var(--ap-amber); border-color: var(--ap-amber); }
.ap-rot__dots button::before { content: ""; position: absolute; inset: -9px; } /* larger tap target */

.ap9-what { padding: 48px 0 32px; }
.ap9-what h2 { font-size: clamp(28px, 3.6vw, 40px); font-weight: 800; max-width: 22ch; }
.ap9-what__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 20px; }
.ap9-what__grid article { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); padding: 24px; display: flex; flex-direction: column; }
.ap9-what__grid article p { color: var(--ap-muted); margin: 0 0 10px; }
.ap9-what__grid article .ap-small { margin-top: auto; color: var(--ap-ink); font-weight: 600; }
.ap9-what__n { align-self: flex-start; background: var(--ap-ink); color: #fff; font-weight: 800; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; padding: 5px 12px; border-radius: 4px; margin-bottom: 14px; }
.ap9-what__grid article:nth-child(2) .ap9-what__n { background: var(--ap-amber); color: var(--ap-ink); }

/* Sourcing */
.ap-source__intro { max-width: 760px; margin-bottom: 20px; }
.ap-source__intro h2 { font-size: clamp(28px, 4vw, 40px); font-weight: 800; }
.ap-source__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; align-items: start; }
.ap-source__form { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); padding: 24px; }
.ap-source__form .ap-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ap-req { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); padding: 16px; margin-bottom: 12px; }
.ap-req__top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.ap-req__reply { background: var(--ap-amber-soft); border-radius: 8px; padding: 10px 12px; font-size: 15px; }
.ap-link-btn { border: 0; background: none; padding: 0; font: inherit; font-size: 14px; color: var(--ap-muted); text-decoration: underline; cursor: pointer; }

/* Log in */
.ap-login { display: grid; grid-template-columns: minmax(0, 460px) 1fr; min-height: 560px; margin: 24px 0 48px; border-radius: 18px; overflow: hidden; border: 1px solid var(--ap-line); background: var(--ap-card); box-shadow: 0 18px 40px rgba(10, 42, 94, .1); }
.ap-login__card { padding: 40px 36px; }
.ap-login__card h1 { font-size: 30px; font-weight: 800; margin-top: 18px; }
.ap-login__logo img { display: block; height: auto; }
.ap-login__form label { display: block; font-weight: 600; margin-bottom: 14px; }
.ap-login__form input[type=text], .ap-login__form input[type=email], .ap-login__form input[type=password] { display: block; width: 100%; margin-top: 6px; }
.ap-login__pw { position: relative; }
.ap-login__pw input { padding-right: 4.5em !important; }
.ap-login__show { position: absolute; right: 6px; bottom: 7px; line-height: 1.2; border: 0; background: var(--ap-bg); border-radius: 6px; padding: 6px 10px; font: inherit; font-size: 13px; font-weight: 700; color: var(--ap-ink); cursor: pointer; }
.ap-login__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 4px 0 18px; font-size: 15px; }
.ap-login__row .ap-check { display: inline-flex; gap: 8px; align-items: center; font-weight: 500; margin: 0; }
.ap-login__alt { margin-top: 18px; font-size: 15px; }
.ap-login__side { position: relative; display: flex; align-items: flex-end; padding: 36px; color: #fff; background: var(--ap-ink) center / cover no-repeat; }
.ap-login__side::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 42, 94, .25), rgba(6, 20, 46, .88)); }
.ap-login__side > div { position: relative; max-width: 420px; }
.ap-login__side .ap-eyebrow { color: var(--ap-amber); }
.ap-login__quote { font-size: 32px; font-weight: 800; line-height: 1.1; margin: 6px 0 10px; color: #fff; }

@media (max-width: 960px) {
	.ap9-hero, .ap-source__grid { grid-template-columns: 1fr; }
	.ap9-what__grid { grid-template-columns: 1fr; }
	.ap-login { grid-template-columns: 1fr; }
	.ap-login__side { min-height: 220px; order: -1; }
}
@media (max-width: 640px) {
	.ap-login__card { padding: 28px 20px; }
	.ap-source__form .ap-form__row { grid-template-columns: 1fr; }
	.ap-rot__chip { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .ap-rot__slide { transition: none; } }

/* ================================================================ v2.0 phase A: auctions, price bands, sourcing for visitors */
.ap8-home__h span { color: var(--ap-amber); }
.ap-sbar__price select { font: inherit; border: 0; background: transparent; color: var(--ap-ink); min-height: 44px; padding: 0 8px; border-left: 1px solid var(--ap-line); }

.ap-auctions__intro { max-width: 760px; margin: 8px 0 24px; }
.ap-auctions__intro h1 { font-size: clamp(30px, 4.4vw, 46px); font-weight: 800; }
.ap-auc-list { display: grid; gap: 14px; }
.ap-auc-card { display: grid; grid-template-columns: 88px 1fr auto; gap: 18px; align-items: center; background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); padding: 18px; }
.ap-auc-card__date { background: var(--ap-ink); color: #fff; border-radius: 10px; text-align: center; padding: 10px 6px; }
.ap-auc-card__date strong { display: block; font-size: 30px; line-height: 1; }
.ap-auc-card__date span { font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--ap-amber); }
.ap-auc-card h2 { font-size: 20px; margin: 0 0 4px; }
.ap-auc-card h2 a { color: var(--ap-ink); text-decoration: none; }
.ap-auc-card p { margin: 0; }
.ap-auc-card__go { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }

.ap-auc-head { display: grid; grid-template-columns: 1.3fr 1fr; gap: 28px; align-items: start; margin: 12px 0 28px; }
.ap-auc-head h1 { font-size: clamp(28px, 4vw, 42px); font-weight: 800; }
.ap-auc-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 20px; margin: 16px 0; }
.ap-auc-facts dt { font-size: 13px; color: var(--ap-muted); font-weight: 600; }
.ap-auc-facts dd { margin: 2px 0 0; font-weight: 600; }
.ap-auc-howto { background: var(--ap-amber-soft); border-radius: var(--ap-radius); padding: 16px 18px; }
.ap-auc-howto h2 { font-size: 18px; }
.ap-auc-reg { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); padding: 22px; box-shadow: 0 10px 30px rgba(10, 42, 94, .08); }
.ap-auc-reg h2 { font-size: 20px; }
.ap-auc-pick { border: 1px solid var(--ap-line); border-radius: 8px; padding: 10px 12px; max-height: 220px; overflow: auto; margin: 0 0 14px; }
.ap-auc-pick legend { font-weight: 600; padding: 0 4px; }
.ap-auc-pick .ap-check { display: flex; gap: 8px; font-weight: 400; margin: 6px 0; }
.ap-lot-teaser { background: var(--ap-card); border: 1px solid var(--ap-line); border-top: 4px solid var(--ap-amber); border-radius: var(--ap-radius); padding: 16px; }
.ap-lot-teaser__no { display: inline-block; background: var(--ap-ink); color: #fff; font-size: 12px; font-weight: 800; padding: 3px 10px; border-radius: 4px; margin-bottom: 10px; }
.ap-lot-teaser h3 { font-size: 16px; margin: 0 0 4px; }

.ap-source__mine h3 { margin-top: 0; }
.ap-source__form h3 { font-size: 18px; margin: 4px 0 12px; }
.ap-source__form h3 + .ap-form__row, .ap-source__form h3 ~ h3 { margin-top: 18px; }

@media (max-width: 860px) {
	.ap-auc-card { grid-template-columns: 72px 1fr; }
	.ap-auc-card__go { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
	.ap-auc-head { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.ap-auc-facts { grid-template-columns: 1fr; }
	.ap-sbar__price { display: none; }
}

/* ================================================================ v2.0 phase B: agent workspace */
.ap-ws { display: grid; grid-template-columns: 232px 1fr; gap: 28px; align-items: start; margin: 16px 0 48px; }
.ap-ws__nav { position: sticky; top: 88px; background: var(--ap-ink); color: #fff; border-radius: 16px; padding: 18px 12px; display: flex; flex-direction: column; gap: 14px; }
.ap-ws__brand { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font-weight: 800; padding: 0 8px; }
.ap-ws__brand img { border-radius: 6px; }
.ap-ws__nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.ap-ws__nav ul a { display: flex; align-items: center; gap: 10px; color: #dbe3f0; text-decoration: none; font-weight: 600; padding: 10px 12px; border-radius: 10px; }
.ap-ws__nav ul a:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.ap-ws__nav ul a.is-on { background: var(--ap-amber); color: var(--ap-ink); }
.ap-ws__me { border-top: 1px solid rgba(255, 255, 255, .15); padding: 12px 8px 0; display: grid; gap: 6px; font-size: 14px; }
.ap-ws__me span { font-weight: 700; }
.ap-ws__me small { display: block; color: var(--ap-amber); font-weight: 600; }
.ap-ws__me a { color: #dbe3f0; }
.ap-ws__main { min-width: 0; }
.ap-ws__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.ap-ws__head h1 { font-size: clamp(26px, 3.4vw, 36px); font-weight: 800; margin: 0; }
.ap-ws__head p { margin: 4px 0 0; }
.ap-ws__quick { display: flex; gap: 8px; flex-wrap: wrap; }
.ap-ws__stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-bottom: 22px; }
.ap-ws__stat { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: 12px; padding: 14px; text-decoration: none; color: var(--ap-ink); }
.ap-ws__stat strong { display: block; font-size: 24px; font-weight: 800; }
.ap-ws__stat span { font-size: 13px; color: var(--ap-muted); }
a.ap-ws__stat:hover { border-color: var(--ap-ink); }
.ap-ws__todo ul { list-style: none; margin: 0; padding: 0; background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: 12px; }
.ap-ws__todo li + li { border-top: 1px solid var(--ap-line); }
.ap-ws__todo a { display: grid; grid-template-columns: 170px 1fr auto; gap: 12px; align-items: center; padding: 12px 14px; color: var(--ap-ink); text-decoration: none; }
.ap-ws__todo a:hover { background: var(--ap-bg); }
.ap-ws__filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.ap-ws__filters input, .ap-ws__filters select { font: inherit; padding: .5em .7em; border: 1px solid #c9ced6; border-radius: 8px; background: #fff; color: var(--ap-ink); }
.ap-ws__table { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: 12px; overflow: hidden; }
.ap-ws__tr { display: grid; grid-template-columns: minmax(0, 2.4fr) 1fr 1fr 1fr .6fr; gap: 12px; align-items: center; padding: 10px 14px; color: var(--ap-ink); text-decoration: none; }
.ap-ws__tr--cl { grid-template-columns: minmax(0, 2fr) 1fr 1fr 1fr 1fr; }
.ap-ws__tr + .ap-ws__tr { border-top: 1px solid var(--ap-line); }
a.ap-ws__tr:hover { background: var(--ap-bg); }
.ap-ws__th { font-size: 13px; font-weight: 700; color: var(--ap-muted); background: var(--ap-bg); }
.ap-ws__item { display: flex; gap: 10px; align-items: center; min-width: 0; }
.ap-ws__item img, .ap-ws__noimg { width: 56px; height: 42px; object-fit: cover; border-radius: 6px; flex: none; background: #dfe4ec; display: block; }
.ap-ws__tr strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ap-ws__tr small { color: var(--ap-muted); }
.ap-ws__warn { color: var(--ap-err); font-weight: 700; }
.ap-ws__cols { display: grid; grid-template-columns: 1.5fr 1fr; gap: 20px; align-items: start; }
.ap-ws__card { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: 12px; padding: 18px; margin-bottom: 16px; }
.ap-ws__card h2 { font-size: 18px; }
.ap-ws__hero { width: 100%; height: auto; border-radius: 8px; margin-bottom: 12px; }
.ap-ws__facts { display: grid; gap: 8px; margin: 0 0 12px; }
.ap-ws__facts div { display: flex; justify-content: space-between; gap: 10px; font-size: 15px; }
.ap-ws__facts dt { color: var(--ap-muted); }
.ap-ws__facts dd { margin: 0; font-weight: 600; text-align: right; }
.ap-ws__offer { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 0; border-top: 1px solid var(--ap-line); }
.ap-ws__offer p { margin: 2px 0; }
.ap-ws__offer-act { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ap-ws__offer-act input { font: inherit; width: 130px; padding: .35em .6em; border: 1px solid #c9ced6; border-radius: 8px; }
.ap-ws__counter { display: inline-flex; gap: 6px; }
.ap-ws__status { margin-top: 10px; display: grid; gap: 8px; }
.ap-ws__steps { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 0; margin: 0 0 18px; counter-reset: none; }
.ap-ws__steps li a, .ap-ws__steps li span { display: block; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--ap-line); background: var(--ap-card); color: var(--ap-muted); text-decoration: none; font-weight: 600; font-size: 14px; }
.ap-ws__steps b { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--ap-bg); margin-right: 6px; }
.ap-ws__steps .is-on a, .ap-ws__steps .is-on span { border-color: var(--ap-ink); color: var(--ap-ink); }
.ap-ws__steps .is-on b { background: var(--ap-amber); }
.ap-ws__steps .is-done b { background: var(--ap-ink); color: #fff; }
.ap-ws__form { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: 12px; padding: 20px; }
.ap-ws__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 4px 16px; }
.ap-ws__grid label, .ap-ws__form > label { display: block; font-weight: 600; margin-bottom: 12px; }
.ap-ws__grid input:not([type=checkbox]), .ap-ws__grid select, .ap-ws__grid textarea, .ap-ws__form > label input, .ap-ws__form > label select { display: block; width: 100%; margin-top: 5px; }
.ap-ws__wide { grid-column: 1 / -1; }
.ap-ws__inline { border: 1px dashed var(--ap-line); border-radius: 10px; padding: 12px 14px; margin: 8px 0 14px; }
.ap-ws__inline legend { font-weight: 700; padding: 0 6px; }
.ap-ws__actions { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.ap-ws__photos { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; padding: 0; margin: 0 0 14px; }
.ap-ws__photos li { background: var(--ap-bg); border: 1px solid var(--ap-line); border-radius: 10px; padding: 6px; cursor: grab; }
.ap-ws__photos li:first-child { border: 2px solid var(--ap-amber); }
.ap-ws__photos li:first-child::after { content: "Cover"; display: block; font-size: 12px; font-weight: 800; color: #8a5600; }
.ap-ws__photos li.is-drag { opacity: .5; }
.ap-ws__photos img { width: 100%; height: 90px; object-fit: cover; border-radius: 6px; display: block; }
.ap-ws__photos .ap-check { font-size: 13px; font-weight: 400; display: flex; gap: 6px; margin-top: 4px; }
.ap-ws__drop { display: block; border: 2px dashed #c9ced6; border-radius: 12px; padding: 18px; text-align: center; font-weight: 600; margin-bottom: 14px; }
.ap-ws__drop input { display: block; margin: 10px auto 0; }
.ap-ws__checks { list-style: none; padding: 0; margin: 0 0 14px; display: grid; gap: 6px; }
.ap-ws__checks li { padding: 8px 10px; border-radius: 8px; font-weight: 600; }
.ap-ws__checks .is-ok { background: var(--ap-ok-soft); color: var(--ap-ok); }
.ap-ws__checks .is-warn { background: var(--ap-amber-soft); color: #6b4500; }
.ap-ws__checks .is-bad { background: var(--ap-err-soft); color: var(--ap-err); }
.ap-ws__log { display: flex; gap: 8px; flex-wrap: wrap; }
.ap-ws__log select, .ap-ws__log input { font: inherit; padding: .45em .6em; border: 1px solid #c9ced6; border-radius: 8px; }
.ap-ws__log input { flex: 1; min-width: 200px; }
.ap-ws__timeline { list-style: none; padding: 0; margin: 0; }
.ap-ws__timeline li { display: grid; grid-template-columns: 96px 1fr; gap: 10px; padding: 10px 0; border-top: 1px solid var(--ap-line); }
.ap-ws__timeline p { margin: 0; }
.ap-ws__timeline small { color: var(--ap-muted); }
.ap-ws__roles { border: 0; padding: 0; margin: 0 0 12px; display: flex; gap: 16px; }
.ap-ws__roles legend { font-weight: 600; margin-bottom: 4px; }
.ap-ws aside .ap-form label { display: block; font-weight: 600; margin-bottom: 10px; }
.ap-ws aside .ap-form input:not([type=checkbox]), .ap-ws aside .ap-form select, .ap-ws aside .ap-form textarea { display: block; width: 100%; margin-top: 4px; }
.page .apt-app .ap-ws { max-width: none; }

@media (max-width: 1000px) {
	.ap-ws { grid-template-columns: 1fr; }
	.ap-ws__nav { position: static; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 10px; }
	.ap-ws__nav ul { display: flex; flex-wrap: wrap; }
	.ap-ws__me { border-top: 0; padding: 0; margin-left: auto; display: flex; gap: 10px; align-items: center; }
	.ap-ws__cols { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.ap-ws__tr, .ap-ws__tr--cl { grid-template-columns: 1fr auto; }
	.ap-ws__tr > :nth-child(n+3) { display: none; }
	.ap-ws__th { display: none; }
	.ap-ws__todo a { grid-template-columns: 1fr auto; }
	.ap-ws__todo a .ap-badge { grid-column: 1 / -1; justify-self: start; }
	.ap-ws__steps { grid-template-columns: repeat(2, 1fr); }
	.ap-ws__brand span, .ap-ws__nav ul a span { font-size: 14px; }
}

/* ================================================================ v2.0 phase C: deals, book, diary, auctions, sourcing, settings */
.ap-ws__tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.ap-ws__tabs a { padding: 8px 14px; border-radius: 4px; border: 1px solid var(--ap-line); background: var(--ap-card); color: var(--ap-ink); text-decoration: none; font-weight: 600; font-size: 14px; }
.ap-ws__tabs a.is-on { background: var(--ap-ink); border-color: var(--ap-ink); color: #fff; }
.ap-ws__bar { display: inline-block; vertical-align: middle; width: 70px; height: 8px; border-radius: 4px; background: var(--ap-line); margin-right: 8px; overflow: hidden; }
.ap-ws__bar span { display: block; height: 100%; width: var(--p); background: var(--ap-amber); }
.ap-ws__checklist { list-style: none; padding: 0; margin: 0 0 14px; display: grid; gap: 6px; }
.ap-ws__checklist .ap-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; padding: 10px 12px; border: 1px solid var(--ap-line); border-radius: 10px; }
.ap-ws__checklist small { display: block; color: var(--ap-muted); }
.ap-ws__funnel { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: 16px; }
.ap-ws__funnel span { background: var(--ap-bg); border-radius: 10px; padding: 10px 14px; }
.ap-ws__scroll { overflow-x: auto; }
.ap-ws__grid-table { border-collapse: collapse; width: 100%; font-size: 14px; }
.ap-ws__grid-table th, .ap-ws__grid-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--ap-line); white-space: nowrap; }
.ap-ws__grid-table thead th { color: var(--ap-muted); font-size: 12px; }
.ap-ws__week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; margin-bottom: 18px; }
.ap-ws__day { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: 12px; padding: 10px; min-height: 140px; }
.ap-ws__day.is-today { border-color: var(--ap-amber); box-shadow: 0 0 0 2px var(--ap-amber-soft); }
.ap-ws__day h2 { font-size: 14px; margin: 0 0 8px; color: var(--ap-muted); }
.ap-ws__bk { background: var(--ap-bg); border-left: 3px solid var(--ap-ink); border-radius: 6px; padding: 6px 8px; font-size: 13px; margin-bottom: 6px; }
.ap-ws__bk small { display: block; color: var(--ap-muted); }
.ap-ws__bk--done { opacity: .6; }
.ap-ws__bk--cancelled { opacity: .5; text-decoration: line-through; }
.ap-ws__bk .ap-link-btn { font-size: 12px; }
.ap-ws__plain { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 8px; }
@media (max-width: 1000px) { .ap-ws__week { grid-template-columns: 1fr; } .ap-ws__day { min-height: 0; } }

/* ---------- v2.0: consultant split ---------- */
.ap-ws__tr--sel { grid-template-columns: 28px minmax(0, 2.4fr) 1fr 1fr 1fr .6fr; }
.ap-ws__tr--sel a.ap-ws__item { color: var(--ap-ink); text-decoration: none; }
.ap-ws__tr--sel a.ap-ws__item:hover strong { text-decoration: underline; }
.ap-ws__split { border: 1px dashed var(--ap-line); border-radius: 10px; padding: 12px 14px; margin: 8px 0 14px; }
.ap-ws__split legend { font-weight: 700; padding: 0 6px; }
.ap-ws__split-row { display: flex; gap: 8px; margin-bottom: 8px; align-items: center; }
.ap-ws__split-row select { flex: 1; min-width: 0; }
.ap-ws__split-row input { width: 80px; }
.ap-ws__split [data-ap-split-total].is-bad { color: var(--ap-err); font-weight: 700; }
.ap-ws__batch summary { cursor: pointer; }
@media (max-width: 700px) { .ap-ws__tr--sel { grid-template-columns: 28px 1fr auto; } .ap-ws__tr--sel > :nth-child(n+4) { display: none; } }

/* ---------- No pill shapes: the photo caption is plain text over the photo ---------- */
.ap-rot__chip, a.ap-rot__chip { background: none; padding: 0; border-radius: 0; color: #fff; font-size: 20px; font-weight: 800; line-height: 1.25; text-shadow: 0 1px 3px rgba(6, 20, 46, .5); }
a.ap-rot__chip:hover { background: none; color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.ap-rot__chip b { color: var(--ap-amber); font-weight: 800; }
.ap-rot__slide figcaption { padding-bottom: 38px; }
@media (max-width: 640px) { .ap-rot__chip, a.ap-rot__chip { font-size: 17px; } }

/* The log-in fields: password matches email, and Show sits inside the box */
.ap-login__form input:focus-visible { outline: 3px solid var(--ap-ink); outline-offset: 1px; }

/* ---------- Testimonials (up to 5) ---------- */
.ap9-voices { padding: 48px 0 24px; }
.ap9-voices h2 { font-size: clamp(26px, 3.4vw, 36px); font-weight: 800; max-width: 24ch; }
.ap9-voices__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 20px; }
.ap9-voice { margin: 0; background: var(--ap-card); border: 1px solid var(--ap-line); border-top: 4px solid var(--ap-amber); border-radius: var(--ap-radius); padding: 22px; display: flex; flex-direction: column; }
.ap9-voice blockquote { margin: 0 0 16px; }
.ap9-voice blockquote p { margin: 0; font-size: 17px; line-height: 1.5; color: var(--ap-ink); }
.ap9-voice blockquote p::before { content: "“"; color: var(--ap-amber); font-weight: 800; font-size: 1.4em; line-height: 0; margin-right: 2px; }
.ap9-voice blockquote p::after { content: "”"; color: var(--ap-amber); font-weight: 800; }
.ap9-voice figcaption { margin-top: auto; }
.ap9-voice figcaption strong { display: block; color: var(--ap-ink); }
.ap9-voice figcaption span { font-size: 14px; color: var(--ap-muted); }

/* ---------- Add stock steps: one line each, number and label centred, equal heights ---------- */
.ap-ws__steps li { display: flex; }
.ap-ws__steps li a, .ap-ws__steps li span { display: flex; align-items: center; gap: 8px; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ap-ws__steps b { flex: none; margin-right: 0; }

/* ---------- Checklist items link to the field to fix; the field is highlighted when you land on it ---------- */
.ap-ws__checks a { color: inherit; text-decoration: none; display: flex; justify-content: space-between; gap: 8px; }
.ap-ws__checks a:hover { text-decoration: underline; }
.ap-ws__form :target { outline: 3px solid var(--ap-amber); outline-offset: 4px; border-radius: 6px; scroll-margin-top: 110px; }

/* ================================================================ v2.1 CRM round 1: the client record */

/* Small fixes: readable workspace name; one card and button scale across the workspace */
.ap-ws .ap-ws__nav .ap-ws__brand, .ap-ws .ap-ws__nav .ap-ws__brand span { color: #fff; }
.ap-ws .ap-ws__nav .ap-ws__brand:hover span { color: var(--ap-amber); }
.ap-ws .ap-ws__card, .ap-crm__card { padding: 20px; border-radius: 12px; }
.ap-ws .ap-ws__card h2, .ap-crm__card h2 { font-size: 16px; font-weight: 800; letter-spacing: .01em; margin: 0 0 12px; }
.ap-ws .ap-btn--sm { min-height: 36px; padding: 0 14px; font-size: 14px; display: inline-flex; align-items: center; gap: 6px; }
.ap-ws .ap-btn--ghost { border-width: 1.5px; }

/* Header */
.ap-crm__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.ap-crm__who { display: flex; gap: 16px; align-items: flex-start; min-width: 0; }
.ap-crm__avatar { flex: none; width: 56px; height: 56px; border-radius: 12px; color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 20px; letter-spacing: .02em; }
.ap-crm__head h1 { font-size: clamp(24px, 3vw, 32px); font-weight: 800; margin: 0 0 4px; line-height: 1.15; }
.ap-crm__meta, .ap-crm__facts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 0 0 4px; font-size: 14px; color: var(--ap-muted); }
.ap-crm__facts strong { color: var(--ap-ink); font-weight: 700; }
.ap-crm__facts a { color: inherit; text-decoration: none; }
.ap-crm__facts a:hover strong { text-decoration: underline; }
.ap-crm__warn, .ap-crm__warn strong { color: var(--ap-err) !important; }
.ap-crm__stage { display: inline; margin: 0; }
.ap-crm__stage label { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-weight: 600; font-size: 14px; color: var(--ap-muted); }
.ap-crm__stage select { font: inherit; font-weight: 700; color: var(--ap-ink); border: 1px solid var(--ap-line); border-radius: 6px; padding: 2px 6px; background: #fff; }
.ap-crm__actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ap-crm__more { position: relative; }
.ap-crm__more summary { list-style: none; cursor: pointer; }
.ap-crm__more summary::-webkit-details-marker { display: none; }
.ap-crm__more > div { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; background: #fff; border: 1px solid var(--ap-line); border-radius: 10px; box-shadow: 0 12px 30px rgba(10, 42, 94, .14); padding: 6px; min-width: 240px; display: grid; }
.ap-crm__more a, .ap-crm__more .ap-link-btn { display: block; padding: 9px 10px; border-radius: 6px; color: var(--ap-ink); text-decoration: none; font-size: 14px; text-align: left; width: 100%; }
.ap-crm__more a:hover, .ap-crm__more .ap-link-btn:hover { background: var(--ap-bg); }

/* Summary strip */
.ap-crm__strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.ap-crm__strip a { display: block; background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: 12px; padding: 12px 14px; color: var(--ap-ink); text-decoration: none; }
.ap-crm__strip a:hover { border-color: var(--ap-ink); }
.ap-crm__strip span { display: block; font-size: 12px; font-weight: 700; color: var(--ap-muted); text-transform: uppercase; letter-spacing: .05em; }
.ap-crm__strip strong { display: block; margin-top: 4px; font-size: 15px; }

/* Two columns */
.ap-crm { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 18px; align-items: start; }
.ap-crm__card { background: var(--ap-card); border: 1px solid var(--ap-line); margin-bottom: 16px; }
.ap-crm__cardhead { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.ap-crm__row { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.ap-crm label { font-size: 14px; }

/* Composer */
.ap-crm__tabs { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--ap-line); margin: -4px 0 14px; }
.ap-crm__tabs label { margin: 0; }
.ap-crm__tabs input { position: absolute; opacity: 0; pointer-events: none; }
.ap-crm__tabs span { display: inline-flex; align-items: center; gap: 6px; padding: 10px 12px; font-weight: 700; color: var(--ap-muted); border-bottom: 3px solid transparent; cursor: pointer; }
.ap-crm__tabs input:checked + span { color: var(--ap-ink); border-bottom-color: var(--ap-amber); }
.ap-crm__tabs input:focus-visible + span { outline: 3px solid var(--ap-ink); outline-offset: 2px; }
.ap-crm__pane { display: none; }
.ap-crm__composer form:has(input[name=kind][value=call]:checked) .ap-crm__pane[data-for~=call],
.ap-crm__composer form:has(input[name=kind][value=whatsapp]:checked) .ap-crm__pane[data-for~=whatsapp],
.ap-crm__composer form:has(input[name=kind][value=email]:checked) .ap-crm__pane[data-for~=email],
.ap-crm__composer form:has(input[name=kind][value=meeting]:checked) .ap-crm__pane[data-for~=meeting] { display: block; }
.ap-crm__choices { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 10px; }
.ap-crm__choices > span { font-size: 13px; font-weight: 700; color: var(--ap-muted); min-width: 64px; }
.ap-crm__choices label, .ap-crm__picks label { margin: 0; }
.ap-crm__choices input, .ap-crm__picks input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
.ap-crm__choices label span, .ap-crm__picks label span { display: inline-block; padding: 6px 10px; border: 1px solid var(--ap-line); border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; background: #fff; }
.ap-crm__choices input:checked + span, .ap-crm__picks input:checked + span { background: var(--ap-ink); border-color: var(--ap-ink); color: #fff; }
.ap-crm__choices input:focus-visible + span, .ap-crm__picks input:focus-visible + span { outline: 3px solid var(--ap-amber); }
.ap-crm__text textarea { width: 100%; }
.ap-crm__picks { border: 0; padding: 0; margin: 8px 0 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ap-crm__picks legend { font-size: 13px; font-weight: 700; color: var(--ap-muted); margin-bottom: 6px; float: left; width: 100%; }
.ap-crm__picks input[type=date], .ap-crm__picks input[type=text] { display: none !important; }
.ap-crm__picks:has(input[value=date]:checked) input[type=date], .ap-crm__picks:has(input[type=radio]:checked:not([value=""])) input[type=text] { display: inline-block !important; width: auto; margin: 0; }
.ap-crm__save { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.ap-crm__links { margin: 8px 0; }
.ap-crm__links > div { max-height: 200px; overflow: auto; border: 1px solid var(--ap-line); border-radius: 8px; padding: 8px 10px; margin-top: 6px; }
.ap-crm__links .ap-check { display: flex; gap: 8px; font-weight: 400; margin: 4px 0; }

/* Timeline */
.ap-crm__filters { display: flex; flex-wrap: wrap; gap: 4px; }
.ap-crm__filters a { font-size: 13px; font-weight: 600; color: var(--ap-muted); text-decoration: none; padding: 4px 8px; border-radius: 6px; }
.ap-crm__filters a.is-on { background: var(--ap-ink); color: #fff; }
.ap-crm__tl { list-style: none; margin: 8px 0 0; padding: 0; }
.ap-crm__day { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ap-muted); padding: 14px 0 6px; border-bottom: 1px solid var(--ap-line); }
.ap-crm__ev { display: grid; grid-template-columns: 32px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--ap-line); }
.ap-crm__ev:last-child { border-bottom: 0; }
.ap-crm__evicon { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; background: var(--ap-bg); color: var(--ap-ink); }
.ap-crm__ev--emails .ap-crm__evicon { background: #e6eef9; }
.ap-crm__ev--deals .ap-crm__evicon { background: var(--ap-amber-soft); color: #7a4c00; }
.ap-crm__ev--viewings .ap-crm__evicon { background: var(--ap-ok-soft); color: var(--ap-ok); }
.ap-crm__ev p { margin: 0; line-height: 1.45; }
.ap-crm__evkind { font-weight: 800; margin-right: 4px; }
.ap-crm__ev small { color: var(--ap-muted); }
.ap-crm__edit summary { display: inline; font-size: 13px; color: var(--ap-muted); cursor: pointer; text-decoration: underline; }
.ap-crm__edit textarea { width: 100%; margin: 6px 0; }

/* Follow-up card */
.ap-crm__fu { border-top: 4px solid var(--ap-amber); }
.ap-crm__fu.is-late { border-top-color: var(--ap-err); }
.ap-crm__fu.is-late .ap-crm__fudate span { color: var(--ap-err); font-weight: 700; }
.ap-crm__fudate { margin: 0 0 4px; font-size: 17px; }
.ap-crm__fudate span { color: var(--ap-muted); font-size: 14px; margin-left: 6px; }
.ap-crm__none { margin: 0 0 6px; font-weight: 700; color: var(--ap-err); }
.ap-crm__fu details summary { cursor: pointer; font-size: 14px; color: var(--ap-muted); }

/* About */
.ap-crm__about { margin: 0; display: grid; gap: 0; }
.ap-crm__about > div { display: grid; grid-template-columns: 120px 1fr; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--ap-line); }
.ap-crm__about > div:last-child { border-bottom: 0; }
.ap-crm__about dt { font-size: 13px; color: var(--ap-muted); font-weight: 600; }
.ap-crm__about dd { margin: 0; font-size: 14px; position: relative; padding-right: 26px; word-break: break-word; }
.ap-crm__fe { display: inline; }
.ap-crm__fe > summary { position: absolute; right: 0; top: 0; list-style: none; cursor: pointer; color: var(--ap-muted); width: 22px; text-align: center; border-radius: 4px; }
.ap-crm__fe > summary::-webkit-details-marker { display: none; }
.ap-crm__fe > summary:hover { background: var(--ap-bg); color: var(--ap-ink); }
.ap-crm__fe[open] form { margin-top: 6px; }
.ap-crm__fe input:not([type=checkbox]), .ap-crm__fe select, .ap-crm__fe textarea { width: 100%; margin: 4px 0; }

/* Linked records */
.ap-crm__rtabs { display: flex; flex-wrap: wrap; gap: 2px; }
.ap-crm__rtabs > input { position: absolute; opacity: 0; pointer-events: none; }
.ap-crm__rtabs > label { margin: 0; padding: 8px 10px; font-size: 13px; font-weight: 700; color: var(--ap-muted); border-bottom: 3px solid transparent; cursor: pointer; }
.ap-crm__rtabs > input:checked + label { color: var(--ap-ink); border-bottom-color: var(--ap-amber); }
.ap-crm__rtabs > input:focus-visible + label { outline: 3px solid var(--ap-ink); }
.ap-crm__rpanes { width: 100%; border-top: 1px solid var(--ap-line); padding-top: 12px; }
.ap-crm__rpane { display: none; }
.ap-crm__rtabs:has(#rt-selling:checked) [data-pane=selling], .ap-crm__rtabs:has(#rt-buying:checked) [data-pane=buying], .ap-crm__rtabs:has(#rt-deals:checked) [data-pane=deals],
.ap-crm__rtabs:has(#rt-requests:checked) [data-pane=requests], .ap-crm__rtabs:has(#rt-bookings:checked) [data-pane=bookings], .ap-crm__rtabs:has(#rt-docs:checked) [data-pane=docs] { display: block; }
.ap-crm__list { list-style: none; padding: 0; margin: 0 0 12px; }
.ap-crm__list li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--ap-line); font-size: 14px; }
.ap-crm__list li > span:last-child { color: var(--ap-muted); text-align: right; flex: none; }
.ap-crm__new summary { list-style: none; cursor: pointer; display: inline-flex; }
.ap-crm__new summary::-webkit-details-marker { display: none; }
.ap-crm__new form { margin-top: 10px; }

@media (max-width: 1000px) {
	.ap-crm { grid-template-columns: 1fr; }
	.ap-crm__side { display: flex; flex-direction: column; }
	.ap-crm__fu { order: -1; }
	.ap-crm__strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.ap-crm__about > div { grid-template-columns: 1fr; gap: 2px; }
	.ap-crm__avatar { width: 44px; height: 44px; font-size: 16px; }
}

/* ================================================================ v2.1 CRM round 2: list, board, bulk, suggestions */
.ap-crm__reason { display: none; font: inherit; font-size: 14px; border: 1px solid var(--ap-line); border-radius: 6px; padding: 2px 6px; }
.ap-crm__stage:has(select[name=stage] option[value=lost]:checked) .ap-crm__reason { display: inline-block; }
.ap-crm__table .ap-crm__tr { grid-template-columns: 28px minmax(0, 2.2fr) 1fr .8fr 1fr 1fr 1fr; }
.ap-ws .ap-crm__table:has(.ap-crm__tr > :nth-child(8)) .ap-crm__tr { grid-template-columns: 28px minmax(0, 2.2fr) 1fr .8fr 1fr 1fr 1fr 1fr; }
.ap-crm__tr > a { color: var(--ap-ink); text-decoration: none; min-width: 0; }
.ap-crm__tr > a:hover strong { text-decoration: underline; }
.ap-crm__tr small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ap-ws__th a { color: var(--ap-muted); text-decoration: none; }
.ap-ws__th a.is-on { color: var(--ap-ink); text-decoration: underline; }
.ap-crm__saveview { display: flex; gap: 8px; align-items: center; margin: -6px 0 12px; }
.ap-crm__saveview input { font: inherit; font-size: 14px; padding: .35em .6em; border: 1px solid #c9ced6; border-radius: 8px; }
.ap-crm__bulk summary, .ap-crm__batch summary { cursor: pointer; }
.ap-crm__bulk form { margin-top: 12px; }
.ap-crm__preview { border-top: 4px solid var(--ap-amber); }
.ap-crm__mail { background: var(--ap-bg); border-radius: 8px; padding: 12px 14px; margin: 10px 0 14px; }

/* Board */
.ap-crm__board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 1fr); gap: 10px; overflow-x: auto; padding-bottom: 8px; margin-bottom: 8px; }
.ap-crm__col { background: var(--ap-bg); border-radius: 12px; padding: 10px; min-height: 180px; }
.ap-crm__col.is-over { outline: 3px dashed var(--ap-amber); outline-offset: -3px; }
.ap-crm__col h2 { font-size: 14px; font-weight: 800; margin: 2px 4px 10px; display: flex; justify-content: space-between; gap: 6px; }
.ap-crm__col h2 span { color: var(--ap-muted); font-weight: 600; font-size: 12px; }
.ap-crm__col[data-stage=won] h2 { color: var(--ap-ok); }
.ap-crm__col[data-stage=lost] h2 { color: var(--ap-muted); }
.ap-crm__bcard { background: #fff; border: 1px solid var(--ap-line); border-radius: 10px; padding: 10px; margin-bottom: 8px; cursor: grab; }
.ap-crm__bcard:focus-visible { outline: 3px solid var(--ap-ink); }
.ap-crm__bcard.is-drag { opacity: .5; }
.ap-crm__bcard a { color: var(--ap-ink); text-decoration: none; }
.ap-crm__bcard p { margin: 4px 0 0; font-size: 13px; color: var(--ap-muted); }
.ap-crm__moveto { margin-top: 6px; }
.ap-crm__moveto summary { font-size: 12px; color: var(--ap-muted); cursor: pointer; }
.ap-crm__movef { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.ap-crm__movef button { font: inherit; font-size: 12px; padding: 3px 8px; border: 1px solid var(--ap-line); border-radius: 6px; background: #fff; cursor: pointer; }
.ap-crm__movef button:hover { border-color: var(--ap-ink); }
.ap-crm__movef select { font: inherit; font-size: 12px; width: 100%; }

/* Suggestions */
.ap-crm__suggest { border-left: 4px solid var(--ap-amber); }
.ap-crm__suggest ul { list-style: none; margin: 0; padding: 0; }
.ap-crm__suggest li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--ap-line); flex-wrap: wrap; }
.ap-crm__suggest li:first-child { border-top: 0; }
.ap-crm__sgact { display: inline-flex; gap: 10px; align-items: center; }
.ap-crm__sgact form { display: inline; }
.ap-crm__dup { margin-bottom: 14px; }
.ap-crm__digest { margin-top: 14px; display: flex; gap: 8px; align-items: center; }
@media (max-width: 860px) {
	.ap-crm__table .ap-crm__tr, .ap-ws .ap-crm__table:has(.ap-crm__tr > :nth-child(8)) .ap-crm__tr { grid-template-columns: 28px 1fr auto; }
	.ap-crm__table .ap-crm__tr > :nth-child(n+4) { display: none; }
	.ap-crm__table .ap-crm__tr > :nth-child(3) { font-size: 13px; }
}

/* Make an offer page and consultant card (v2.1) */
.ap-offerpage { max-width: 1040px; margin: 0 auto; padding: 32px 16px 48px; }
.ap-offerpage__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: start; }
.ap-offerpage h1 { margin: 4px 0 6px; color: var(--ap-navy, #0a2a5e); }
.ap-offerpage__form { margin-top: 18px; }
.ap-offerpage__conds { border: 1px solid var(--ap-line); border-radius: 4px; padding: 10px 14px; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.ap-offerpage__conds legend { padding: 0 4px; font-weight: 600; }
.ap-offerpage__side { background: #f5f6f8; border-top: 3px solid #f0a01e; border-radius: 4px; padding: 18px; position: sticky; top: 24px; }
.ap-offerpage__side h2 { font-size: 1rem; margin: 0 0 12px; }
.ap-cc { display: flex; gap: 12px; align-items: flex-start; }
.ap-cc__photo { width: 56px; height: 56px; border-radius: 4px; object-fit: cover; flex: 0 0 56px; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; }
.ap-cc strong { display: block; color: #0a2a5e; }
.ap-cc span, .ap-cc a { display: block; font-size: .875rem; }
.ap-cc a { color: #0a2a5e; font-weight: 600; text-decoration: none; margin-top: 2px; }
.ap-cc a:hover { text-decoration: underline; }
@media (max-width: 760px) { .ap-offerpage__grid { grid-template-columns: 1fr; } .ap-offerpage__side { position: static; } }

/* My profile (v2.1.2) */
.ap-avatar { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; font-weight: 700; flex: 0 0 auto; object-fit: cover; }
.ap-profile { max-width: 1040px; margin: 0 auto; padding: 24px 16px 48px; }
.ap-profile__head { display: flex; gap: 20px; align-items: center; margin: 8px 0 24px; }
.ap-profile__head h1 { margin: 2px 0 4px; color: #0a2a5e; }
.ap-profile__head p { margin: 0 0 6px; }
.ap-profile__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.ap-profile__card { background: #fff; border: 1px solid var(--ap-line); border-radius: 4px; padding: 18px 20px; margin-bottom: 16px; }
.ap-profile__card h2 { font-size: 1.05rem; margin: 0 0 14px; }
.ap-profile__photo { display: block; margin: 12px 0; }
.ap-profile__dl { margin: 0 0 12px; }
.ap-profile__dl dt { font-size: .8rem; color: var(--ap-muted, #5d6474); }
.ap-profile__dl dd { margin: 0 0 10px; font-weight: 600; word-break: break-word; }
.ap-profile__dl small { display: block; font-weight: 400; color: var(--ap-muted, #5d6474); }
.ap-profile__links { list-style: none; margin: 0; padding: 0; }
.ap-profile__links a { display: block; padding: 8px 0; border-top: 1px solid var(--ap-line); font-weight: 600; color: #0a2a5e; text-decoration: none; }
.ap-profile__links li:first-child a { border-top: 0; }
@media (max-width: 760px) { .ap-profile__grid { grid-template-columns: 1fr; } .ap-profile__head { flex-direction: column; align-items: flex-start; } }

/* FICA in the workspace (v2.1.2) */
.ap-inline { display: inline; margin: 0; }
.ap-linkbtn { background: none; border: 0; padding: 0; color: var(--ap-ink); font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }
.ap-linkbtn--danger { color: #b42318; }
.ap-fica h3 { font-size: .95rem; margin: 16px 0 8px; }
.ap-fica__status { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-weight: 700; }
.ap-fica__check, .ap-fica__docs { list-style: none; margin: 0; padding: 0; }
.ap-fica__check li { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-top: 1px solid var(--ap-line); }
.ap-fica__check li small { margin-left: auto; color: var(--ap-muted, #5d6474); }
.ap-fica__check li.is-ok small { color: #1d7a46; font-weight: 600; }
.ap-fica__tick { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--ap-line); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; flex: 0 0 20px; }
.ap-fica__check li.is-ok .ap-fica__tick { background: #1d7a46; border-color: #1d7a46; color: #fff; }
.ap-fica__check li.is-have .ap-fica__tick { border-color: #f0a01e; color: #b07008; }
.ap-fica__docs li { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 8px 0; border-top: 1px solid var(--ap-line); }
.ap-fica__docs small { display: block; color: var(--ap-muted, #5d6474); }
.ap-fica__acts { display: flex; gap: 14px; align-items: center; }
.ap-fica__add { margin: 14px 0 8px; }
.ap-fica__add summary { cursor: pointer; font-weight: 700; }
.ap-fica__office { margin-top: 16px; padding: 14px; background: #f5f6f8; border-top: 3px solid #0a2a5e; }
.ap-fica__office h3 { margin-top: 0; }
