/* ============================================================
   AddiListo — design system (mobile-first, lightweight, no dependencies)
   No build framework: clean, efficient CSS tuned for Core Web Vitals.
   Variables allow branding from the Customizer/theme.json.
   ============================================================ */

:root {
    --apl-primary:      #4f46e5;   /* indigo — consistent with AddiPress */
    --apl-primary-600:  #4338ca;
    --apl-primary-050:  #eef2ff;
    --apl-secondary:    #0ea5e9;
    --apl-ink:          #0f172a;
    --apl-ink-2:        #334155;
    --apl-muted:        #64748b;
    --apl-line:         #e2e8f0;
    --apl-bg:           #ffffff;
    --apl-bg-2:         #f8fafc;
    --apl-success:      #16a34a;
    --apl-warning:      #f59e0b;
    --apl-radius:       14px;
    --apl-radius-sm:    10px;
    --apl-shadow:       0 1px 2px rgba(15,23,42,.06), 0 8px 24px rgba(15,23,42,.06);
    --apl-shadow-lg:    0 12px 40px rgba(15,23,42,.12);
    --apl-container:    1200px;
    --apl-gap:          20px;
    --apl-font:         -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.apl-body {
    margin: 0;
    font-family: var(--apl-font);
    color: var(--apl-ink);
    background: var(--apl-bg-2);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
/* Reserve room for the mobile bottom bar only where it actually shows. */
@media (max-width: 860px) {
    body.apl-body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

.apl-container { max-width: var(--apl-container); margin: 0 auto; padding: 0 16px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }
.apl-skip-link { position: absolute; left: -9999px; }
.apl-skip-link:focus { left: 16px; top: 12px; background: #fff; padding: 8px 14px; border-radius: 8px; z-index: 1000; box-shadow: var(--apl-shadow); }

/* ---------- Buttons ---------- */
.apl-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 11px 18px; border: 1px solid transparent; border-radius: 999px;
    font-weight: 600; font-size: 15px; cursor: pointer; transition: .18s ease;
    background: var(--apl-bg-2); color: var(--apl-ink); line-height: 1;
}
.apl-btn--primary   { background: var(--apl-primary); color: #fff; }
.apl-btn--primary:hover { background: var(--apl-primary-600); }
.apl-btn--secondary { background: var(--apl-ink); color: #fff; }
.apl-btn--ghost     { background: transparent; border-color: var(--apl-line); color: var(--apl-ink-2); }
.apl-btn--ghost:hover { background: var(--apl-bg-2); }
.apl-btn--block     { width: 100%; }
.apl-btn__icon      { font-size: 18px; font-weight: 700; }

.apl-input {
    width: 100%; padding: 11px 14px; border: 1px solid var(--apl-line);
    border-radius: var(--apl-radius-sm); font-size: 15px; background: #fff; color: var(--apl-ink);
}
.apl-input:focus { outline: none; border-color: var(--apl-primary); box-shadow: 0 0 0 3px var(--apl-primary-050); }

.apl-chip {
    display: inline-block; padding: 8px 14px; background: #fff; border: 1px solid var(--apl-line);
    border-radius: 999px; font-size: 14px; font-weight: 500; transition: .15s;
}
.apl-chip:hover { border-color: var(--apl-primary); color: var(--apl-primary); }

/* ---------- Header ---------- */
.apl-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.92); backdrop-filter: saturate(180%) blur(10px); border-bottom: 1px solid var(--apl-line); }
.apl-header__inner { display: flex; align-items: center; gap: 16px; height: 64px; }
.apl-logo { font-weight: 800; font-size: 20px; letter-spacing: -.02em; color: var(--apl-ink); }
.apl-nav--primary { margin-left: 8px; }
.apl-menu { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.apl-menu a { padding: 8px 12px; border-radius: 8px; font-weight: 500; color: var(--apl-ink-2); }
.apl-menu a:hover { background: var(--apl-bg-2); color: var(--apl-ink); }
.apl-header__actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.apl-nav-toggle { display: none; flex-direction: column; gap: 4px; width: 40px; height: 40px; border: 1px solid var(--apl-line); border-radius: 10px; background: #fff; cursor: pointer; align-items: center; justify-content: center; }
.apl-nav-toggle span { width: 18px; height: 2px; background: var(--apl-ink); border-radius: 2px; }

/* ---------- Hero ---------- */
.apl-hero { background: linear-gradient(135deg, var(--apl-primary) 0%, #6366f1 55%, var(--apl-secondary) 100%); color: #fff; padding: 56px 0 64px; }
.apl-hero__inner { text-align: center; }
.apl-hero__title { font-size: clamp(28px, 5vw, 44px); font-weight: 800; letter-spacing: -.03em; margin: 0 0 8px; }
.apl-hero__subtitle { font-size: 18px; opacity: .92; margin: 0 0 28px; }
.apl-herosearch {
    display: flex; gap: 8px; background: #fff; border-radius: 999px; padding: 8px; max-width: 720px;
    margin: 0 auto; box-shadow: var(--apl-shadow-lg); align-items: center;
}
.apl-herosearch__field { flex: 1; text-align: left; padding: 4px 14px; }
.apl-herosearch__field--loc { border-left: 1px solid var(--apl-line); }
.apl-herosearch__label { display: block; font-size: 12px; font-weight: 700; color: var(--apl-muted); }
.apl-herosearch input { width: 100%; border: none; font-size: 15px; padding: 2px 0; color: var(--apl-ink); background: transparent; }
.apl-herosearch input:focus { outline: none; }
.apl-herosearch__submit { flex: 0 0 auto; padding: 14px 26px; }
.apl-hero__cats { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; list-style: none; padding: 0; margin: 24px 0 0; }
.apl-hero__cats .apl-chip { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.28); color: #fff; }
.apl-hero__cats .apl-chip:hover { background: #fff; color: var(--apl-primary); }

/* ---------- Sections / grid ---------- */
.apl-section { padding: 36px 16px; }
.apl-section__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 20px; }
.apl-section__title { font-size: 24px; font-weight: 800; letter-spacing: -.02em; margin: 0; }
.apl-section__more { font-weight: 600; color: var(--apl-primary); }

.apl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--apl-gap); }

/* ---------- Listing card ---------- */
.apl-card { background: #fff; border: 1px solid var(--apl-line); border-radius: var(--apl-radius); overflow: hidden; transition: .2s ease; }
.apl-card:hover { transform: translateY(-3px); box-shadow: var(--apl-shadow-lg); border-color: transparent; }
.apl-card--featured { border-color: var(--apl-warning); box-shadow: 0 0 0 1px var(--apl-warning) inset; }
.apl-card__link { display: block; color: inherit; }
.apl-card__media { position: relative; aspect-ratio: 4 / 3; background: var(--apl-bg-2); overflow: hidden; }
.apl-card__img { width: 100%; height: 100%; object-fit: cover; transition: .3s ease; }
.apl-card:hover .apl-card__img { transform: scale(1.04); }
.apl-card__img--ph { object-fit: contain; opacity: .5; padding: 20%; }
.apl-card__badges { position: absolute; top: 10px; left: 10px; display: flex; gap: 6px; flex-wrap: wrap; }
.apl-badge { font-size: 11px; font-weight: 700; padding: 4px 9px; border-radius: 999px; background: #fff; color: var(--apl-ink); box-shadow: var(--apl-shadow); }
.apl-badge--featured { background: var(--apl-warning); color: #fff; }
.apl-card__actions { position: absolute; top: 10px; right: 10px; display: flex; gap: 6px; }
.apl-card__body { padding: 14px; }
.apl-card__price { font-size: 19px; font-weight: 800; color: var(--apl-ink); letter-spacing: -.01em; }
.apl-card__title { font-size: 15px; font-weight: 600; margin: 4px 0 8px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.apl-card__loc { font-size: 13px; color: var(--apl-muted); display: flex; align-items: center; gap: 4px; }
.apl-card__foot { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--apl-line); }
.apl-card__date { font-size: 12px; color: var(--apl-muted); }

/* ---------- Archiwum ---------- */
.apl-archive { padding: 28px 16px 48px; }
.apl-archive__head { margin-bottom: 18px; }
.apl-archive__title { font-size: 28px; font-weight: 800; letter-spacing: -.02em; margin: 0; }
.apl-archive__count { color: var(--apl-muted); margin: 4px 0 0; }
.apl-filters-toggle { display: none; margin-bottom: 16px; }
.apl-archive__layout { display: grid; grid-template-columns: 280px 1fr; gap: 28px; align-items: start; }
.apl-archive__sidebar { position: sticky; top: 80px; }
.apl-archive__toolbar { display: flex; justify-content: flex-end; margin-bottom: 16px; }
.apl-sort .apl-input { width: auto; }

.apl-filters { background: #fff; border: 1px solid var(--apl-line); border-radius: var(--apl-radius); padding: 18px; }
.apl-filters__group { margin-bottom: 16px; }
.apl-filters__lbl { display: block; font-size: 13px; font-weight: 700; color: var(--apl-ink-2); margin-bottom: 8px; }
.apl-filters__price { display: flex; align-items: center; gap: 8px; }
.apl-filters__dash { color: var(--apl-muted); }
.apl-check { display: flex; align-items: center; gap: 8px; font-size: 14px; padding: 4px 0; color: var(--apl-ink-2); cursor: pointer; }
.apl-filters__actions { display: grid; gap: 8px; margin-top: 8px; }

/* ---------- Skeleton loader ---------- */
.apl-skel-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--apl-gap); margin-top: 4px; }
.apl-skel { background: #fff; border: 1px solid var(--apl-line); border-radius: var(--apl-radius); overflow: hidden; }
.apl-skel__media { aspect-ratio: 4/3; }
.apl-skel__body { padding: 14px; display: grid; gap: 10px; }
.apl-skel__line { height: 12px; border-radius: 6px; }
.apl-skel__line--price { width: 40%; height: 18px; }
.apl-skel__line--title { width: 90%; }
.apl-skel__line--loc { width: 55%; }
.apl-skel__media, .apl-skel__line { background: linear-gradient(90deg, #eef1f6 25%, #e2e8f0 37%, #eef1f6 63%); background-size: 400% 100%; animation: apl-shimmer 1.3s ease infinite; }
@keyframes apl-shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }

/* ---------- Single ---------- */
.apl-single { padding: 24px 16px 56px; }
.apl-breadcrumb { display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--apl-muted); margin-bottom: 16px; }
.apl-single__layout { display: grid; grid-template-columns: 1fr 340px; gap: 32px; align-items: start; }
.apl-gallery { border-radius: var(--apl-radius); position: relative; }
.apl-gallery__track { display: flex; transition: transform .35s ease; will-change: transform; }
.apl-gallery__slide { flex: 0 0 100%; margin: 0; cursor: zoom-in; }
.apl-gallery__img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.apl-gallery__dots { position: absolute; bottom: 12px; left: 0; right: 0; display: flex; gap: 6px; justify-content: center; z-index: 3; }
.apl-gallery__dot { width: 8px; height: 8px; border-radius: 999px; border: none; background: rgba(255,255,255,.5); cursor: pointer; }
.apl-gallery__dot.is-active { background: #fff; width: 22px; }
.apl-single__title { font-size: 28px; font-weight: 800; letter-spacing: -.02em; margin: 20px 0 6px; }
.apl-single__loc { color: var(--apl-muted); }
.apl-single__content { margin-top: 20px; font-size: 16px; color: var(--apl-ink-2); }
.apl-single__terms { margin-top: 20px; font-size: 14px; color: var(--apl-muted); }

.apl-pricebox { background: #fff; border: 1px solid var(--apl-line); border-radius: var(--apl-radius); padding: 20px; position: sticky; top: 80px; box-shadow: var(--apl-shadow); display: grid; gap: 12px; }
.apl-pricebox__price { font-size: 30px; font-weight: 800; letter-spacing: -.02em; }
.apl-pricebox__seller { display: flex; align-items: center; gap: 10px; margin-top: 6px; padding-top: 14px; border-top: 1px solid var(--apl-line); }
.apl-pricebox__avatar { border-radius: 999px; }
.apl-pricebox__seller-name { display: block; font-weight: 700; }
.apl-pricebox__seller-since { display: block; font-size: 12px; color: var(--apl-muted); }

/* ---------- Paginacja / pusty stan ---------- */
.apl-pagination { margin-top: 28px; }
.apl-pagination .page-numbers { display: inline-flex; min-width: 40px; height: 40px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--apl-line); border-radius: 10px; margin: 2px; background: #fff; font-weight: 600; }
.apl-pagination .page-numbers.current { background: var(--apl-primary); color: #fff; border-color: var(--apl-primary); }
.apl-empty { padding: 48px 16px; text-align: center; color: var(--apl-muted); grid-column: 1 / -1; }

/* ---------- Stopka ---------- */
.apl-footer { background: var(--apl-ink); color: #cbd5e1; margin-top: 40px; }
.apl-footer__inner { display: flex; justify-content: space-between; gap: 24px; padding: 40px 16px; flex-wrap: wrap; }
.apl-footer .apl-logo { color: #fff; }
.apl-footer__tag { color: #94a3b8; margin: 8px 0 0; max-width: 320px; }
.apl-footer__menu { list-style: none; display: flex; gap: 18px; padding: 0; margin: 0; flex-wrap: wrap; }
.apl-footer__menu a:hover { color: #fff; }
.apl-footer__bottom { border-top: 1px solid rgba(255,255,255,.08); font-size: 13px; color: #94a3b8; }
.apl-footer__bottom .apl-container { padding: 16px; }

/* ---------- Mobile bottom tab bar (native-app feel) ---------- */
.apl-bottomnav { display: none; }
@media (max-width: 860px) {
    .apl-bottomnav {
        display: flex; align-items: flex-end; position: fixed; bottom: 0; left: 0; right: 0; z-index: 500;
        background: rgba(255,255,255,.94); -webkit-backdrop-filter: saturate(180%) blur(14px); backdrop-filter: saturate(180%) blur(14px);
        border-top: 1px solid var(--apl-line);
        padding: 8px 6px calc(8px + env(safe-area-inset-bottom, 0px));
        box-shadow: 0 -6px 24px rgba(15,23,42,.06);
    }
    .apl-bottomnav__item {
        flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px;
        padding: 4px 2px; font-size: 10.5px; font-weight: 600; color: var(--apl-muted);
        letter-spacing: .01em; -webkit-tap-highlight-color: transparent;
    }
    .apl-bnav__svg { width: 24px; height: 24px; display: block; }
    .apl-bottomnav__item.is-active { color: var(--apl-primary); }
    .apl-bottomnav__item.is-active .apl-bnav__svg { stroke-width: 2.3; }
    .apl-bottomnav__item:active { transform: scale(.94); transition: transform .1s; }

    /* Elevated centre "Add" FAB */
    .apl-bottomnav__item--cta { color: var(--apl-primary); }
    .apl-bottomnav__fab {
        width: 52px; height: 52px; margin-top: -26px; margin-bottom: 2px;
        display: flex; align-items: center; justify-content: center;
        background: linear-gradient(135deg, var(--apl-primary), #6366f1);
        color: #fff; font-size: 30px; font-weight: 400; line-height: 1; border-radius: 50%;
        box-shadow: 0 8px 20px rgba(79,70,229,.42); border: 4px solid #fff;
    }
    .apl-bottomnav__item--cta:active .apl-bottomnav__fab { transform: scale(.92); transition: transform .1s; }

    /* Declutter the mobile header — the bottom bar owns primary navigation. */
    .apl-header__actions .apl-acct,
    .apl-header__add { display: none; }
    .apl-header__inner { gap: 10px; }
}

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
    .apl-nav--primary, .apl-header__add .apl-btn__label { display: none; }
    .apl-nav-toggle { display: flex; }
    .apl-archive__layout { grid-template-columns: 1fr; }
    .apl-archive__sidebar { position: fixed; inset: 0; z-index: 300; background: var(--apl-bg-2); padding: 20px; overflow: auto; transform: translateX(-100%); transition: transform .25s ease; }
    .apl-archive__sidebar.is-open { transform: translateX(0); }
    .apl-filters-toggle { display: inline-flex; }
    .apl-single__layout { grid-template-columns: 1fr; }
    .apl-pricebox { position: static; }
    .apl-herosearch { flex-direction: column; border-radius: var(--apl-radius); align-items: stretch; }
    .apl-herosearch__field--loc { border-left: none; border-top: 1px solid var(--apl-line); }
    .apl-herosearch__submit { width: 100%; }
}

/* Mobile header — slide-out menu (handled in mobile-nav.js) */
.apl-body.apl-menu-open { overflow: hidden; }

/* ============================================================
   HARDENING / COMPATIBILITY (v0.2.0)
   Resilience against ClassiPress plugin CSS (dark-switcher, trust-core, etc.)
   and a tidy header when a large/foreign menu is assigned.
   ============================================================ */

/* --- Logo: always a sensible size (fixes 0x0 render / huge PNG) --- */
.apl-header__brand img,
.apl-header .custom-logo {
    height: 40px !important;
    width: auto !important;
    max-width: 180px;
    object-fit: contain;
    display: block;
}
.apl-header__brand { flex: 0 0 auto; display: flex; align-items: center; }

/* --- Menu: do not overflow the screen; sub-menu as a dropdown --- */
.apl-nav--primary { min-width: 0; overflow: hidden; }
.apl-menu { flex-wrap: wrap; align-items: center; row-gap: 2px; }
.apl-menu > li { position: relative; }
.apl-menu .sub-menu {
    position: absolute; top: 100%; left: 0; z-index: 200;
    display: none; min-width: 200px; margin: 0; padding: 8px;
    list-style: none; background: #fff; border: 1px solid var(--apl-line);
    border-radius: 12px; box-shadow: var(--apl-shadow-lg);
}
.apl-menu li:hover > .sub-menu,
.apl-menu li:focus-within > .sub-menu { display: block; }
.apl-menu .sub-menu a { display: block; padding: 8px 12px; border-radius: 8px; white-space: nowrap; }
.apl-menu .sub-menu a:hover { background: var(--apl-bg-2); }
.apl-menu a { white-space: nowrap; }

/* --- Pola formularzy w naszych komponentach: wygraj z dark.css wtyczek ---
   The .apl-body prefix raises specificity above .cp-dark input[type=text]
   from classipress-dark-switcher (which uses !important and loads later). --- */
.apl-body .apl-herosearch input,
.apl-body .apl-herosearch input[type="text"],
.apl-body .apl-herosearch input[type="search"] {
    background: transparent !important;
    color: var(--apl-ink) !important;
    border: none !important;
    box-shadow: none !important;
}
.apl-body .apl-herosearch input::placeholder { color: var(--apl-muted) !important; }

.apl-body .apl-filters .apl-input,
.apl-body .apl-filters input,
.apl-body .apl-filters select,
.apl-body .apl-form input,
.apl-body .apl-form select,
.apl-body .apl-form textarea,
.apl-body .apl-searchform .apl-input,
.apl-body .apl-input {
    background: #fff !important;
    color: var(--apl-ink) !important;
    border: 1px solid var(--apl-line) !important;
}

/* --- Karta: zabezpiecz kolory tekstu przed ciemnymi motywami wtyczek --- */
.apl-card,
.apl-card__body { background: #fff !important; }
.apl-card__title,
.apl-card__price { color: var(--apl-ink) !important; }
.apl-card__loc,
.apl-card__date { color: var(--apl-muted) !important; }

/* --- Hide any empty/bare menu items (tokens with no text) --- */
.apl-menu > li:empty { display: none; }

/* ---------- Homepage: popular categories ---------- */
.apl-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.apl-cat { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 16px 18px; background: #fff; border: 1px solid var(--apl-line); border-radius: var(--apl-radius); font-weight: 600; transition: .18s ease; }
.apl-cat:hover { border-color: var(--apl-primary); transform: translateY(-2px); box-shadow: var(--apl-shadow); }
.apl-cat__name { color: var(--apl-ink); }
.apl-cat__count { font-size: 12px; font-weight: 700; color: var(--apl-muted); background: var(--apl-bg-2); padding: 2px 8px; border-radius: 999px; }

/* ---------- Homepage: CTA banner ---------- */
.apl-cta { background: var(--apl-ink); color: #fff; margin: 24px 0; }
.apl-cta__inner { text-align: center; padding: 48px 16px; }
.apl-cta__title { font-size: 28px; font-weight: 800; letter-spacing: -.02em; margin: 0 0 8px; color: #fff; }
.apl-cta__text { opacity: .85; margin: 0 0 20px; }

/* ---------- Hero style variants ---------- */
.apl-hero--solid .apl-hero__subtitle, .apl-hero--image .apl-hero__subtitle { opacity: .95; }

/* Seller links in the pricebox (Phase 21 — seller storefront) */
.apl-pricebox__seller-name{color:inherit;text-decoration:none;font-weight:700}
.apl-pricebox__seller-name:hover{color:var(--apl-primary,#4f46e5)}
.apl-pricebox__seller-avatar-link{display:inline-block;line-height:0}
.apl-pricebox__seller-profile{display:block;margin-top:2px;font-size:12.5px;font-weight:700;color:var(--apl-primary,#4f46e5);text-decoration:none}
.apl-pricebox__seller-profile:hover{text-decoration:underline}

/* ===== Sidebar widgets (Phase 24 — modern widget styling) ===== */
.apl-widget{background:#fff;border:1px solid var(--apl-line,#e2e8f0);border-radius:16px;padding:18px;margin-bottom:18px}
.apl-widget__title{font-size:16px;font-weight:800;margin:0 0 12px}
.apl-widget ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.apl-widget li{font-size:14px;line-height:1.4}
.apl-widget a{color:inherit;text-decoration:none}
.apl-widget a:hover{color:var(--apl-primary,#4f46e5)}
.apl-widget .children{margin-top:9px;padding-left:14px;border-left:2px solid var(--apl-line,#e2e8f0)}
.apl-widget select,.apl-widget input[type=search],.apl-widget input[type=text],.apl-widget input[type=email]{width:100%;border:1px solid var(--apl-line,#e2e8f0);border-radius:10px;padding:10px 12px;font:inherit;background:#fff}
.apl-widget img{max-width:100%;height:auto;border-radius:10px}
.apl-widget p{margin:0 0 10px;font-size:14px;color:var(--apl-ink-2,#334155)}
/* Block-based widgets */
.apl-widget .wp-block-search__inside-wrapper{display:flex;gap:6px}
.apl-widget .wp-block-search__button{background:var(--apl-primary,#4f46e5);color:#fff;border:0;border-radius:10px;padding:0 16px;cursor:pointer;font-weight:700}
.apl-widget .wp-block-search__button:hover{filter:brightness(1.07)}
.apl-widget .wp-block-latest-posts,.apl-widget .wp-block-categories,.apl-widget .wp-block-archives,.apl-widget .wp-block-page-list,.apl-widget .wp-block-latest-comments{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.apl-widget .wp-block-latest-posts__post-date{display:block;font-size:12px;color:var(--apl-muted,#64748b)}
.apl-widget .tagcloud a,.apl-widget .wp-block-tag-cloud a{display:inline-block;background:rgba(79,70,229,.08);color:var(--apl-primary,#4f46e5);padding:4px 11px;border-radius:999px;font-size:12px!important;margin:2px 3px 2px 0;text-decoration:none}
.apl-widget .tagcloud a:hover,.apl-widget .wp-block-tag-cloud a:hover{background:rgba(79,70,229,.16)}
.apl-widget .wp-block-calendar table{width:100%;font-size:13px}
.apl-widget .wp-block-calendar caption{font-weight:700;padding-bottom:6px}

/* Category icons on the homepage (Phase 25) */
.apl-cat__icon{font-size:26px;line-height:1;display:block;margin-bottom:6px}

/* ============================================================
   Gallery pro — thumbnail strip, counter, lightbox (Phase 26)
   ============================================================ */
.apl-gallery__viewport{position:relative;border-radius:var(--apl-radius);overflow:hidden;background:var(--apl-bg-2)}
.apl-gallery__counter{position:absolute;left:12px;bottom:12px;background:rgba(15,23,42,.72);color:#fff;font-size:13px;font-weight:700;padding:5px 10px;border-radius:999px;z-index:2}
.apl-gallery__thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.apl-gallery__thumb{flex:0 0 auto;width:74px;height:56px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none;cursor:pointer;opacity:.7;transition:.15s}
.apl-gallery__thumb img{width:100%;height:100%;object-fit:cover}
.apl-gallery__thumb.is-active{opacity:1;border-color:var(--apl-primary)}
.apl-gallery__thumb:hover{opacity:1}

/* Lightbox */
.apl-lightbox{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(6,10,20,.94)}
.apl-lightbox[hidden]{display:none}
.apl-lightbox__stage{margin:0;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
.apl-lightbox__stage img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:6px}
.apl-lightbox__close{position:absolute;top:16px;right:18px;width:44px;height:44px;border:0;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:20px;cursor:pointer}
.apl-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.apl-lightbox__prev{left:16px}
.apl-lightbox__next{right:16px}
.apl-lightbox__nav:hover,.apl-lightbox__close:hover{background:rgba(255,255,255,.28)}
.apl-lightbox__count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;font-weight:600;letter-spacing:.02em}
@media(max-width:600px){.apl-lightbox__nav{width:44px;height:44px;font-size:24px}}

/* Photo-count badge on cards */
.apl-card__photos{position:absolute;right:10px;bottom:10px;background:rgba(15,23,42,.72);color:#fff;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;z-index:2}

/* Owner-config card fields + ad zones (Phase 27) */
.apl-card__cat{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--apl-primary);margin-bottom:2px}
.apl-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.apl-card__seller{font-size:12px;color:var(--apl-muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}
.apl-adzone{margin:22px auto;text-align:center}
.apl-adzone img{display:inline-block}

/* ============================================================
   Compare tray (Phase 29)
   ============================================================ */
.apl-card{position:relative}
.apl-card__compare{position:absolute;top:10px;left:10px;z-index:3;width:34px;height:34px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:#0f172a;font-size:16px;font-weight:800;cursor:pointer;box-shadow:var(--apl-shadow);line-height:1}
.apl-card__compare:hover{background:#fff}
.apl-card__compare.is-on{background:var(--apl-primary);color:#fff}
.apl-compare-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:20px;z-index:9990;display:flex;align-items:center;gap:12px;background:#0f172a;color:#fff;padding:10px 14px;border-radius:999px;box-shadow:0 12px 34px rgba(0,0,0,.3)}
.apl-compare-bar[hidden]{display:none}
.apl-compare-bar__n{font-weight:700;font-size:14px}
.apl-compare-bar__open{background:var(--apl-primary);color:#fff;border:0;border-radius:999px;padding:8px 18px;font-weight:800;cursor:pointer}
.apl-compare-bar__clear{background:none;border:0;color:#94a3b8;cursor:pointer;font-size:14px}
@media(max-width:860px){.apl-compare-bar{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}
.apl-compare-modal{position:fixed;inset:0;z-index:100000;background:rgba(6,10,20,.7);display:flex;align-items:center;justify-content:center;padding:16px}
.apl-compare-modal__box{background:#fff;border-radius:16px;max-width:900px;width:100%;max-height:86vh;overflow:auto;padding:22px;position:relative}
.apl-compare-modal__close{position:absolute;top:14px;right:16px;background:none;border:0;font-size:18px;cursor:pointer;color:#64748b}
.apl-compare-table{width:100%;border-collapse:collapse}
.apl-compare-table th{text-align:left;font-size:13px;color:#64748b;padding:10px;white-space:nowrap;border-top:1px solid #eef2f7;width:110px}
.apl-compare-table td{padding:10px;border-top:1px solid #eef2f7;vertical-align:top;text-align:center}
.apl-compare-head td{border-top:0}
.apl-compare-head img{width:100%;max-width:150px;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin:0 auto 8px}
.apl-compare-title{font-weight:700;color:#0f172a;font-size:14px}
.apl-compare-x{background:#fee2e2;color:#b91c1c;border:0;border-radius:999px;width:24px;height:24px;cursor:pointer;float:right}

/* Promotions — highlighted card + urgent badge (Phase 30) */
.apl-card--highlight{border-color:var(--apl-primary);box-shadow:0 0 0 2px var(--apl-primary) inset,var(--apl-shadow)}
.apl-badge--urgent{background:#dc2626;color:#fff}

/* ============================================================
   Header account cluster (giant-style: icons + badges + dropdown)
   ============================================================ */
.apl-acct{display:flex;align-items:center;gap:6px}
.apl-acct__icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;font-size:18px;color:var(--apl-ink-2);text-decoration:none;transition:.15s}
.apl-acct__icon:hover{background:var(--apl-bg-2)}
.apl-acct__badge{position:absolute;top:2px;right:2px;min-width:17px;height:17px;padding:0 4px;background:#dc2626;color:#fff;font-size:10px;font-weight:800;line-height:17px;text-align:center;border-radius:999px;border:2px solid #fff}
.apl-acct__signin{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--apl-line);border-radius:999px;font-weight:700;font-size:14px;color:var(--apl-ink)}
.apl-acct__signin:hover{background:var(--apl-bg-2)}
.apl-acct__menu{position:relative}
.apl-acct__toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:0;cursor:pointer;padding:4px 8px 4px 4px;border-radius:999px}
.apl-acct__toggle:hover{background:var(--apl-bg-2)}
.apl-acct__avatar{border-radius:999px;width:32px;height:32px}
.apl-acct__name{font-weight:700;font-size:14px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apl-acct__caret{color:var(--apl-muted);font-size:12px}
.apl-acct__dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:#fff;border:1px solid var(--apl-line);border-radius:14px;box-shadow:var(--apl-shadow-lg);padding:8px;z-index:200}
.apl-acct__dropdown[hidden]{display:none}
.apl-acct__link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;color:var(--apl-ink-2)}
.apl-acct__link:hover{background:var(--apl-bg-2);color:var(--apl-ink)}
.apl-acct__logout{border-top:1px solid var(--apl-line);margin-top:6px;padding-top:12px;color:#b91c1c}
@media(max-width:860px){
  .apl-acct__name,.apl-acct__caret,.apl-acct__signin-lbl{display:none}
  .apl-acct__signin{padding:8px;border-radius:999px}
  .apl-header__add .apl-btn__label{display:none}
}

/* ============================================================
   Location selector + Categories mega-menu (header, 2026 UX)
   ============================================================ */
.apl-loc{position:relative;flex:0 0 auto}
.apl-loc__chip{display:inline-flex;align-items:center;gap:7px;background:var(--apl-bg-2);border:1px solid var(--apl-line);border-radius:999px;padding:8px 14px;cursor:pointer;font-weight:600;font-size:14px;color:var(--apl-ink);max-width:200px}
.apl-loc__chip:hover{border-color:var(--apl-primary)}
.apl-loc__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apl-loc__caret{color:var(--apl-muted);font-size:12px}
.apl-loc__panel{position:absolute;left:0;top:calc(100% + 8px);width:300px;max-width:88vw;background:#fff;border:1px solid var(--apl-line);border-radius:14px;box-shadow:var(--apl-shadow-lg);padding:14px;z-index:200;display:flex;flex-direction:column;gap:10px}
.apl-loc__panel[hidden]{display:none}
.apl-loc__geo{display:flex;align-items:center;gap:8px;justify-content:center;background:var(--apl-primary);color:#fff;border:0;border-radius:10px;padding:11px;font-weight:700;cursor:pointer}
.apl-loc__input{width:100%;padding:11px 13px;border:1px solid var(--apl-line);border-radius:10px;font-size:15px}
.apl-loc__all{font-size:13px;font-weight:600;color:var(--apl-primary);text-align:center}
.apl-loc__status{font-size:12px;color:var(--apl-muted);min-height:14px;text-align:center}

.apl-mega{position:relative;display:inline-block}
.apl-mega__trigger{display:inline-flex;align-items:center;gap:7px;background:none;border:0;cursor:pointer;font-weight:600;font-size:15px;color:var(--apl-ink-2);padding:8px 12px;border-radius:8px}
.apl-mega__trigger:hover{background:var(--apl-bg-2);color:var(--apl-ink)}
.apl-mega__panel{position:absolute;left:0;top:calc(100% + 10px);width:640px;max-width:92vw;background:#fff;border:1px solid var(--apl-line);border-radius:16px;box-shadow:var(--apl-shadow-lg);padding:16px;z-index:200}
.apl-mega__panel[hidden]{display:none}
.apl-mega__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.apl-mega__item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--apl-ink-2);font-weight:600;font-size:14px}
.apl-mega__item:hover{background:var(--apl-bg-2);color:var(--apl-ink)}
.apl-mega__ico{font-size:18px}
.apl-mega__count{margin-left:auto;font-size:12px;color:var(--apl-muted);background:var(--apl-bg-2);border-radius:999px;padding:1px 8px}
@media(max-width:960px){.apl-loc,.apl-mega{display:none}}

/* ============================================================
   Header polish — one consistent line-icon system, aligned (v0.19)
   ============================================================ */
.apl-i{display:block;flex:0 0 auto;color:inherit}
.apl-header__inner{gap:14px}
.apl-header__brand{display:flex;align-items:center;flex:0 0 auto}
.apl-header__actions{gap:4px}

/* Location chip */
.apl-loc__chip{height:40px;gap:6px;padding:0 12px}
.apl-loc__pin,.apl-loc__caret{display:flex;align-items:center;color:var(--apl-muted)}
.apl-loc__chip:hover .apl-loc__pin{color:var(--apl-primary)}

/* Account quick icons — uniform buttons */
.apl-acct{gap:2px}
.apl-acct__icon{width:42px;height:42px;border-radius:12px;color:var(--apl-muted);display:inline-flex;align-items:center;justify-content:center;position:relative}
.apl-acct__icon:hover{background:var(--apl-bg-2);color:var(--apl-ink)}
.apl-acct__icon .apl-i{width:22px;height:22px}
.apl-acct__badge{position:absolute;top:5px;right:5px;min-width:16px;height:16px;line-height:16px;padding:0 4px;font-size:10px;font-weight:800;background:#ef4444;color:#fff;border:2px solid #fff;border-radius:999px;text-align:center}

/* Avatar toggle */
.apl-acct__toggle{height:42px;gap:8px;padding:0 8px 0 4px;border-radius:999px;display:inline-flex;align-items:center}
.apl-acct__avatar{width:30px;height:30px;border-radius:999px;display:block}
.apl-acct__name{font-weight:700;font-size:14px;color:var(--apl-ink)}
.apl-acct__caret{display:flex;align-items:center;color:var(--apl-muted)}

/* Sign-in (logged out) */
.apl-acct__signin{height:40px;gap:8px;color:var(--apl-ink)}
.apl-acct__signin .apl-i{color:var(--apl-ink-2)}

/* Dropdown links with uniform icons */
.apl-acct__dropdown .apl-acct__link{display:flex;align-items:center;gap:12px}
.apl-acct__link .apl-i{width:18px;height:18px;color:var(--apl-muted)}
.apl-acct__link:hover .apl-i{color:var(--apl-primary)}
.apl-acct__logout .apl-i{color:#b91c1c}

/* ============================================================
   Header micro-details (v0.20) — separators, active nav, focus, scroll shadow
   ============================================================ */
.apl-header{transition:box-shadow .2s ease, background .2s ease}
.apl-header.is-scrolled{box-shadow:0 4px 20px rgba(15,23,42,.07);background:rgba(255,255,255,.97)}

/* Subtle divider between quick icons and the avatar menu */
.apl-acct__menu{position:relative}
.apl-acct__menu::before{content:"";display:block;width:1px;height:24px;background:var(--apl-line);margin:0 8px 0 4px}
.apl-acct{align-items:center}

/* Active item in the primary menu */
.apl-menu .current-menu-item>a,
.apl-menu .current_page_item>a,
.apl-menu .current-menu-parent>a{background:var(--apl-primary-050);color:var(--apl-primary)}

/* Smooth, consistent interactions */
.apl-acct__icon,.apl-acct__toggle,.apl-loc__chip,.apl-menu a{transition:background .15s ease,color .15s ease,transform .1s ease}
.apl-acct__icon:active,.apl-acct__toggle:active,.apl-loc__chip:active{transform:scale(.96)}

/* Avatar ring */
.apl-acct__avatar{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--apl-line)}
.apl-acct__toggle:hover .apl-acct__avatar{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--apl-primary)}

/* Keyboard accessibility — clear focus rings */
.apl-acct__icon:focus-visible,.apl-acct__toggle:focus-visible,.apl-loc__chip:focus-visible,
.apl-acct__signin:focus-visible,.apl-header__add:focus-visible,.apl-acct__link:focus-visible{
    outline:2px solid var(--apl-primary);outline-offset:2px;border-radius:12px
}
.apl-acct__dropdown{animation:aplFade .14s ease}
@keyframes aplFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
