/* F-Tech Listing Engine: frontend. Tokeny 1:1 z DESIGN.md (CIEMNY PAS). */
.fle, .fle-page{
    --fle-bg:#0C0D10; --fle-surface:#16181D; --fle-surface-2:#1C1F26;
    --fle-text:#F2F3F5; --fle-muted:#7A7F8A; --fle-accent:#C6F135;
    --fle-accent-hover:#D4F95C; --fle-accent-ink:#131503; --fle-line:#262A33;
    --fle-line-hover:#333945; --fle-radius:8px; --fle-radius-s:5px;
    --fle-font-d:"Archivo",sans-serif; --fle-font-b:"Instrument Sans",sans-serif;
    --fle-ease:cubic-bezier(0.4,0,0.2,1);
}
.fle *, .fle *::before, .fle *::after,
.fle-page *, .fle-page *::before, .fle-page *::after{ box-sizing:border-box; }
.fle-page{ background:var(--fle-bg); color:var(--fle-text); font-family:var(--fle-font-b);
    padding:7.5rem 0 5rem; min-height:60vh; -webkit-font-smoothing:antialiased; }
.fle-page__wrap{ max-width:1200px !important; margin-left:auto !important; margin-right:auto !important; padding:0 1.5rem; }
.fle-page__head{ margin-bottom:2rem; }
.fle-page__title{ font-family:var(--fle-font-d); font-size:clamp(1.75rem,2.6vw,2.4rem);
    font-weight:700; letter-spacing:-0.02em; color:var(--fle-text); margin:0 0 .5rem; line-height:1.1; }
.fle-page__sub{ color:var(--fle-muted); max-width:60ch; margin:0; line-height:1.6; }
.fle-page a{ text-decoration:none; }
.fle-page a:focus-visible, .fle a:focus-visible, .fle button:focus-visible,
.fle input:focus-visible, .fle select:focus-visible, .fle textarea:focus-visible{
    outline:2px solid var(--fle-accent); outline-offset:3px; border-radius:4px; }

/* Przyciski */
.fle-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
    min-height:44px; padding:.78rem 1.4rem; border-radius:6px; border:1px solid transparent;
    background:var(--fle-accent); color:var(--fle-accent-ink); font-family:var(--fle-font-b);
    font-weight:600; font-size:.95rem; cursor:pointer; text-decoration:none;
    transition:background-color .18s var(--fle-ease), transform .18s var(--fle-ease); }
.fle-btn:hover{ background:var(--fle-accent-hover); color:var(--fle-accent-ink); transform:translateY(-1px); }
.fle-btn:active{ transform:scale(.98); }
.fle-btn--lg{ padding:.95rem 1.9rem; font-size:1rem; }

/* Komunikaty */
.fle-box{ background:var(--fle-surface); border:1px solid var(--fle-line);
    border-radius:var(--fle-radius); padding:1.25rem 1.4rem; margin:0 0 1.5rem;
    color:var(--fle-muted); font-family:var(--fle-font-b); }
.fle-box__title{ color:var(--fle-text); font-weight:600; margin:0 0 .35rem; font-size:1.02rem; }
.fle-box p{ margin:0 0 .75rem; line-height:1.6; }
.fle-box ul{ margin:.25rem 0 0 1.2rem; padding:0; list-style:disc; }
.fle-box--ok{ border-color:var(--fle-accent); }
.fle-box--ok .fle-box__title{ color:var(--fle-accent); }
.fle-box--err{ border-color:#8a3a3a; }
.fle-empty{ color:var(--fle-muted); padding:2rem 0; font-family:var(--fle-font-b); }
.fle-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }

/* Siatki kart */
.fle-grid3, .fle-rail{ display:grid; gap:1rem; margin:0 0 2rem; }
.fle-rail{ grid-auto-flow:column; grid-auto-columns:min(74vw,300px); overflow-x:auto;
    scroll-snap-type:x mandatory; padding-bottom:1rem;
    scrollbar-width:thin; scrollbar-color:var(--fle-line) transparent; }
@media (min-width:960px){
    .fle-grid3{ grid-template-columns:repeat(3,1fr); }
    .fle-rail{ grid-auto-flow:row; grid-template-columns:repeat(3,1fr); overflow:visible; }
}

/* Karta oferty (sygnatura: rata + pasek harmonogramu) */
.fle-card{ background:var(--fle-surface); border:1px solid var(--fle-line);
    border-radius:var(--fle-radius); overflow:hidden; display:flex; flex-direction:column;
    scroll-snap-align:start; font-family:var(--fle-font-b);
    transition:transform .22s var(--fle-ease), border-color .22s var(--fle-ease); }
.fle-card:hover{ transform:translateY(-4px); border-color:var(--fle-line-hover); }
.fle-card__media{ position:relative; display:block; aspect-ratio:3/2; overflow:hidden; background:var(--fle-surface-2); }
.fle-card__media img{ width:100%; height:100%; object-fit:cover; display:block;
    transition:transform .5s var(--fle-ease); }
.fle-card:hover .fle-card__media img{ transform:scale(1.035); }
.fle-card__badge{ position:absolute; top:.8rem; left:.8rem; z-index:1; font-size:.7rem;
    font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:.3rem .6rem;
    border-radius:4px; background:color-mix(in srgb, var(--fle-bg) 72%, transparent);
    -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
    border:1px solid var(--fle-line); color:var(--fle-text); }
.fle-card__badge--hot{ background:var(--fle-accent); color:var(--fle-accent-ink); border-color:var(--fle-accent); }
.fle-card__body{ padding:1.25rem; display:flex; flex-direction:column; gap:.7rem; flex:1; }
.fle-card__rata{ display:flex; align-items:baseline; gap:.4rem; margin:0; font-variant-numeric:tabular-nums; }
.fle-card__rata b{ font-family:var(--fle-font-d); font-weight:800; letter-spacing:-.02em;
    font-size:clamp(1.55rem,1.9vw,1.85rem); color:var(--fle-accent); line-height:1; }
.fle-card__rata span{ color:var(--fle-muted); font-size:.85rem; font-weight:500; }
.fle-card__name{ margin:0; font-size:.98rem; font-weight:600; line-height:1.35; letter-spacing:normal; font-family:var(--fle-font-b); }
.fle-card__name a{ color:var(--fle-text); }
.fle-card__name a:hover{ color:var(--fle-accent); }
.fle-card__meta{ color:var(--fle-muted); font-size:.84rem; line-height:1.55; margin:0; font-variant-numeric:tabular-nums; }
.fle-card__sched{ margin-top:auto; display:grid; gap:.4rem; }
.fle-card__bar{ height:4px; background:var(--fle-line); overflow:hidden; }
.fle-card__bar i{ display:block; height:100%; background:var(--fle-accent); }
.fle-card__sched small{ color:var(--fle-muted); font-size:.8rem; line-height:1.5; font-variant-numeric:tabular-nums; }
.fle-card__sched small b{ color:var(--fle-text); font-weight:600; }
.fle-card__foot{ display:flex; align-items:center; justify-content:space-between; gap:1rem;
    border-top:1px solid var(--fle-line); padding-top:.8rem; font-size:.86rem; font-variant-numeric:tabular-nums; }
.fle-card__foot span{ color:var(--fle-muted); }
.fle-card__foot b{ color:var(--fle-text); font-weight:600; }
.fle-card__foot a{ color:var(--fle-accent); font-weight:600; white-space:nowrap;
    min-height:44px; display:inline-flex; align-items:center; }
.fle-card__foot a:hover{ text-decoration:underline; text-underline-offset:4px; }

/* Filtry */
.fle-filters{ display:grid; grid-template-columns:1fr 1fr; gap:.7rem; background:var(--fle-surface);
    border:1px solid var(--fle-line); border-radius:var(--fle-radius); padding:1rem; margin:0 0 1.5rem;
    font-family:var(--fle-font-b); }
.fle-filters select, .fle-filters input[type=number]{ width:100%; min-height:44px;
    background:var(--fle-surface-2); border:1px solid var(--fle-line); border-radius:6px;
    color:var(--fle-text); padding:.5rem .7rem; font-family:inherit; font-size:.92rem; }
.fle-filters select option{ background:var(--fle-surface-2); color:var(--fle-text); }
.fle-filters__check{ display:flex; align-items:center; gap:.5rem; color:var(--fle-muted);
    font-size:.92rem; min-height:44px; cursor:pointer; }
.fle-filters__check input{ width:18px; height:18px; accent-color:var(--fle-accent); }
@media (min-width:960px){ .fle-filters{ grid-template-columns:repeat(4,1fr) auto; align-items:center; }
    .fle-filters .fle-btn{ grid-column:auto; } }

/* Paginacja */
.fle-pages{ display:flex; gap:.4rem; flex-wrap:wrap; margin:0 0 2rem; font-family:var(--fle-font-b); }
.fle-pages__item{ display:inline-flex; align-items:center; justify-content:center; min-width:44px;
    min-height:44px; border:1px solid var(--fle-line); border-radius:6px; color:var(--fle-muted);
    font-weight:600; transition:border-color .18s var(--fle-ease), color .18s var(--fle-ease); }
.fle-pages__item:hover{ border-color:var(--fle-line-hover); color:var(--fle-text); }
.fle-pages__item.is-active{ background:var(--fle-accent); border-color:var(--fle-accent); color:var(--fle-accent-ink); }

/* Formularz dodawania */
.fle-form{ background:var(--fle-surface); border:1px solid var(--fle-line);
    border-radius:var(--fle-radius); padding:1.5rem; font-family:var(--fle-font-b); }
.fle-form__h{ font-family:var(--fle-font-d); color:var(--fle-text); font-size:1.1rem;
    font-weight:700; letter-spacing:-.01em; margin:1.4rem 0 .9rem; }
.fle-form__h:first-of-type{ margin-top:0; }
.fle-form__grid{ display:grid; gap:.9rem 1.1rem; }
@media (min-width:760px){ .fle-form__grid{ grid-template-columns:1fr 1fr; } }
.fle-form p{ margin:0; }
.fle-form label{ display:block; color:var(--fle-muted); font-size:.82rem; font-weight:600;
    letter-spacing:.06em; text-transform:uppercase; margin-bottom:.3rem; }
.fle-form input[type=text], .fle-form input[type=number], .fle-form input[type=tel],
.fle-form input[type=email], .fle-form input[type=password], .fle-form input[type=date],
.fle-form select, .fle-form textarea, .fle-form input[type=file]{
    width:100%; min-height:44px; background:var(--fle-surface-2); border:1px solid var(--fle-line);
    border-radius:6px; color:var(--fle-text); padding:.6rem .8rem; font-family:inherit; font-size:.95rem;
    transition:border-color .18s var(--fle-ease); }
.fle-form textarea{ min-height:130px; resize:vertical; }
.fle-form input:hover, .fle-form select:hover, .fle-form textarea:hover{ border-color:var(--fle-line-hover); }
.fle-form select option{ background:var(--fle-surface-2); }
.fle-form__full{ margin-top:.9rem !important; }
.fle-form__hint{ display:block; color:var(--fle-muted); font-size:.8rem; margin-top:.35rem; text-transform:none; letter-spacing:0; }
.fle-form .fle-btn--lg{ margin-top:1.2rem; }

/* Pojedyncze ogloszenie */
.fle-crumb{ display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; color:var(--fle-muted);
    font-size:.85rem; margin-bottom:1.5rem; font-family:var(--fle-font-b); }
.fle-crumb a{ color:var(--fle-muted); transition:color .18s var(--fle-ease); }
.fle-crumb a:hover{ color:var(--fle-accent); }
.fle-crumb span:last-child{ color:var(--fle-text); }
/* (stary grid na areas usuniety w 1.21.2; layout ponizej, na koncu arkusza) */
.fle-single__hero{ margin:0 0 .75rem; border-radius:var(--fle-radius); overflow:hidden;
    border:1px solid var(--fle-line); }
.fle-single__hero img{ width:100%; height:auto; display:block; }
.fle-single__thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; margin-bottom:1.5rem; }
.fle-single__thumbs a{ border-radius:var(--fle-radius-s); overflow:hidden; border:1px solid var(--fle-line);
    aspect-ratio:3/2; display:block; }
.fle-single__thumbs img{ width:100%; height:100%; object-fit:cover; display:block; }
.fle-single__desc h2{ font-family:var(--fle-font-d); color:var(--fle-text); font-size:1.2rem;
    font-weight:700; margin:1.5rem 0 .75rem; }
.fle-single__desc p{ color:var(--fle-muted); line-height:1.7; margin:0 0 1em; font-size:.95rem; }
.fle-single__side{ position:sticky; top:5.5rem; }
.fle-single__card{ background:var(--fle-surface); border:1px solid var(--fle-line);
    border-radius:var(--fle-radius); padding:1.5rem; }
.fle-single__title{ font-family:var(--fle-font-d); font-size:1.35rem; font-weight:700;
    letter-spacing:-.01em; color:var(--fle-text); margin:0 0 .35rem; line-height:1.25; }
.fle-single__meta{ color:var(--fle-muted); font-size:.87rem; margin:0 0 1rem; }
.fle-single__rata b{ font-size:2.1rem; }
.fle-single__table{ width:100%; border-collapse:collapse; margin:1rem 0 1.25rem; font-size:.9rem; }
.fle-single__table th{ text-align:left; color:var(--fle-muted); font-weight:500; padding:.55rem 0;
    border-bottom:1px solid var(--fle-line); }
.fle-single__table td{ text-align:right; color:var(--fle-text); font-weight:600; padding:.55rem 0;
    border-bottom:1px solid var(--fle-line); font-variant-numeric:tabular-nums; }
.fle-single__contact{ background:var(--fle-surface-2); border:1px solid var(--fle-line);
    border-radius:var(--fle-radius-s); padding:1rem 1.1rem; }
.fle-single__contact-title{ color:var(--fle-text); font-weight:600; margin:0 0 .3rem; }
.fle-single__contact-info{ color:var(--fle-muted); font-size:.87rem; margin:0; line-height:1.55; }
.fle-single__similar h2{ font-family:var(--fle-font-d); color:var(--fle-text); font-size:1.4rem;
    font-weight:700; letter-spacing:-.01em; margin:0 0 1.25rem; }

@media (max-width:959px){ .fle-single__side{ position:static; } }
@media (prefers-reduced-motion: reduce){
    .fle *, .fle-page *{ transition-duration:.01ms !important; animation:none !important; }
}

/* === 1.1.0: shell (widoki app-like), body dark, chipy, opis, moje ogloszenia, lightbox === */
body.fle-dark, body.fle-dark #page, body.fle-dark .site,
body.fle-dark #content, body.fle-dark .site-content,
body.fle-dark .ast-container, body.fle-dark .entry-content{ background:#0C0D10; }
body.fle-dark .entry-content{ margin-top:0; }

.fle-shell{ max-width:860px; margin:0 auto; padding:7.5rem 1.5rem 4rem; font-family:var(--fle-font-b); }
.fle-shell__head{ margin-bottom:1.5rem; }
.fle-shell__title{ font-family:var(--fle-font-d); font-size:clamp(1.6rem,2.4vw,2.2rem);
    font-weight:700; letter-spacing:-.02em; color:var(--fle-text); margin:0 0 .4rem; line-height:1.1; }
.fle-shell__sub{ color:var(--fle-muted); margin:0; line-height:1.6; max-width:56ch; }

.fle-chips{ display:flex; flex-wrap:wrap; gap:.45rem; list-style:none; margin:0 0 1rem; padding:0; }
.fle-chips__item{ display:inline-flex; align-items:center; min-height:30px; padding:.25rem .7rem;
    background:var(--fle-surface-2); border:1px solid var(--fle-line); border-radius:5px;
    color:var(--fle-text); font-size:.83rem; font-weight:500; font-variant-numeric:tabular-nums; }
.fle-single__lessor{ color:var(--fle-muted); font-size:.9rem; margin:0 0 .8rem; }
.fle-single__lessor b{ color:var(--fle-text); font-weight:600; }

.fle-single__desc{ background:var(--fle-surface); border:1px solid var(--fle-line);
    border-radius:var(--fle-radius); padding:1.5rem; margin-top:1.5rem; }
.fle-single__desc-h{ display:flex; align-items:center; gap:.6rem; font-family:var(--fle-font-d);
    color:var(--fle-text); font-size:1.15rem; font-weight:700; margin:0 0 .9rem !important; }
.fle-single__desc-h span{ width:8px; height:8px; background:var(--fle-accent); transform:rotate(45deg); flex-shrink:0; }
.fle-single__desc-body p{ color:var(--fle-muted); line-height:1.75; margin:0 0 1em; font-size:.96rem; }
.fle-single__desc-body p:last-child{ margin-bottom:0; }
.fle-single__table th{ color:#A9AEB8; }

/* Moje ogloszenia */
.fle-mylist{ display:grid; gap:.8rem; }
.fle-mylist__row{ display:grid; grid-template-columns:72px 1fr auto; gap:1rem; align-items:center;
    background:var(--fle-surface); border:1px solid var(--fle-line); border-radius:var(--fle-radius);
    padding:.9rem 1.1rem; }
.fle-mylist__thumb img{ width:72px; height:54px; object-fit:cover; border-radius:5px; display:block; }
.fle-mylist__title{ color:var(--fle-text); font-size:1rem; font-weight:600; margin:0 0 .2rem; font-family:var(--fle-font-b); }
.fle-mylist__meta{ color:var(--fle-muted); font-size:.84rem; margin:0; font-variant-numeric:tabular-nums; }
.fle-mylist__reason{ color:#E8A0A0; font-size:.83rem; margin:.3rem 0 0; }
.fle-mylist__side{ display:flex; flex-direction:column; align-items:flex-end; gap:.4rem; }
.fle-mylist__badge{ font-size:.7rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
    padding:.28rem .6rem; border-radius:4px; border:1px solid var(--fle-line); color:var(--fle-muted); white-space:nowrap; }
.fle-mylist__badge.is-ok{ background:var(--fle-accent); border-color:var(--fle-accent); color:var(--fle-accent-ink); }
.fle-mylist__badge.is-wait{ border-color:var(--fle-line-hover); color:var(--fle-text); }
.fle-mylist__badge.is-bad{ border-color:#8a3a3a; color:#E8A0A0; }
.fle-mylist__link{ color:var(--fle-accent); font-weight:600; font-size:.85rem; }
.fle-mylist__link:hover{ text-decoration:underline; text-underline-offset:4px; }
@media (max-width:560px){
    .fle-mylist__row{ grid-template-columns:1fr auto; }
    .fle-mylist__thumb{ display:none; }
}

/* Lightbox */
.fle-lb{ position:fixed; inset:0; z-index:9999; background:rgba(6,7,9,.92);
    display:none; align-items:center; justify-content:center; padding:2rem; }
.fle-lb.is-open{ display:flex; }
.fle-lb__img{ max-width:min(92vw,1400px); max-height:86vh; border-radius:8px;
    border:1px solid var(--fle-line, #262A33); display:block; }
.fle-lb__close{ position:absolute; top:1rem; right:1rem; width:44px; height:44px;
    background:transparent; border:1px solid #262A33; border-radius:6px; color:#F2F3F5;
    font-size:1.5rem; line-height:1; cursor:pointer; }
.fle-lb__nav{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:64px;
    background:rgba(22,24,29,.8); border:1px solid #262A33; border-radius:6px; color:#F2F3F5;
    font-size:1.8rem; line-height:1; cursor:pointer; }
.fle-lb__prev{ left:1rem; }
.fle-lb__next{ right:1rem; }
.fle-lb__close:hover, .fle-lb__nav:hover{ border-color:#C6F135; }

/* === 1.2.0: modal sukcesu, panel SaaS, lightbox v2 (mobile-first) === */
.fle-modal{ position:fixed; inset:0; z-index:9998; background:rgba(6,7,9,.9);
    display:none; align-items:center; justify-content:center; padding:1.25rem;
    -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.fle-modal.is-open{ display:flex; }
.fle-modal__card{ background:#16181D; border:1px solid #C6F135; border-radius:8px;
    padding:1.75rem 1.5rem; max-width:440px; width:100%; text-align:center;
    font-family:"Instrument Sans",sans-serif; }
.fle-modal__mark{ display:block; width:12px; height:12px; margin:0 auto 1rem;
    background:#C6F135; transform:rotate(45deg); }
.fle-modal__title{ font-family:"Archivo",sans-serif; color:#F2F3F5; font-size:1.25rem;
    font-weight:700; letter-spacing:-.01em; margin:0 0 .6rem; line-height:1.3; }
.fle-modal__text{ color:#7A7F8A; font-size:.93rem; line-height:1.6; margin:0 0 .9rem; }
.fle-modal__count{ color:#F2F3F5; font-size:.9rem; margin:0 0 1.1rem; font-variant-numeric:tabular-nums; }
.fle-modal__count b{ color:#C6F135; }

.fle-app__bar{ display:flex; align-items:center; justify-content:space-between; gap:1rem;
    margin-bottom:1.1rem; flex-wrap:wrap; }
.fle-app__hello{ color:var(--fle-muted); font-size:.85rem; margin:.2rem 0 0; }
.fle-app__tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin-bottom:1.25rem; }
.fle-app__tile{ background:var(--fle-surface); border:1px solid var(--fle-line); border-radius:8px;
    padding:.85rem .9rem; display:grid; gap:.15rem; }
.fle-app__tile b{ font-family:var(--fle-font-d); font-size:1.35rem; font-weight:800;
    color:var(--fle-accent); line-height:1; font-variant-numeric:tabular-nums; }
.fle-app__tile span{ color:var(--fle-muted); font-size:.74rem; font-weight:600;
    letter-spacing:.08em; text-transform:uppercase; }
@media (min-width:640px){
    .fle-app__tiles{ gap:.9rem; }
    .fle-app__tile{ padding:1rem 1.2rem; }
    .fle-app__tile b{ font-size:1.6rem; }
}

/* Lightbox v2: mniejsze, rowno osadzone kontrolki */
.fle-lb__stage{ display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.fle-lb__img{ max-width:min(94vw,1400px); max-height:82vh; }
.fle-lb__close, .fle-lb__nav{ width:38px; height:38px; padding:0; display:flex;
    align-items:center; justify-content:center; font-size:1.1rem;
    background:rgba(22,24,29,.85); border:1px solid #333945; border-radius:6px; color:#F2F3F5;
    cursor:pointer; transition:border-color .18s cubic-bezier(0.4,0,0.2,1); }
.fle-lb__close{ position:absolute; top:.9rem; right:.9rem; font-size:.95rem; }
.fle-lb__nav{ position:absolute; top:50%; transform:translateY(-50%); font-size:1.4rem; line-height:1; }
.fle-lb__prev{ left:.9rem; }
.fle-lb__next{ right:.9rem; }
.fle-lb__count{ position:absolute; bottom:1rem; left:50%; transform:translateX(-50%);
    color:#7A7F8A; font-size:.82rem; font-family:"Instrument Sans",sans-serif;
    font-variant-numeric:tabular-nums; margin:0; }
@media (min-width:768px){
    .fle-lb__close{ top:1.25rem; right:1.25rem; }
    .fle-lb__prev{ left:1.25rem; }
    .fle-lb__next{ right:1.25rem; }
}

/* === 1.4.0: konta, zakladki, pakiety, Pokaz numer (mobile-first) === */
.fle-shell--auth{ max-width:480px; }
.fle-form--auth p{ margin:0 0 1rem; }
.fle-form__hint{ display:block; color:var(--fle-muted); font-size:0.8rem; margin-top:0.35rem; line-height:1.5; }
.fle-form__consent label{ display:flex; gap:0.6rem; align-items:flex-start; color:var(--fle-muted); font-size:0.88rem; line-height:1.55; cursor:pointer; }
.fle-form__consent input{ width:auto; margin-top:0.2rem; accent-color:var(--fle-accent); }
.fle-form__consent a{ color:var(--fle-accent); text-decoration:underline; text-underline-offset:2px; }
.fle-form__alt{ color:var(--fle-muted); font-size:0.88rem; margin-top:1rem; }
.fle-form__alt a{ color:var(--fle-accent); font-weight:600; }
.fle-btn--lg{ width:100%; justify-content:center; padding:0.95rem 1.5rem; }
.fle-btn--ghost{ background:transparent; color:var(--fle-text); border:1px solid var(--fle-line-hover); }
.fle-btn--ghost:hover{ border-color:var(--fle-accent); color:var(--fle-accent); background:transparent; }

.fle-tabs{ display:flex; gap:0.4rem; overflow-x:auto; padding-bottom:2px; margin-bottom:1.4rem;
    scrollbar-width:none; border-bottom:1px solid var(--fle-line); }
.fle-tabs::-webkit-scrollbar{ display:none; }
.fle-tabs__item{ white-space:nowrap; padding:0.65rem 0.9rem; color:var(--fle-muted); font-weight:600;
    font-size:0.9rem; border-bottom:2px solid transparent; margin-bottom:-1px; min-height:44px;
    display:inline-flex; align-items:center;
    transition:color 0.18s cubic-bezier(0.4,0,0.2,1), border-color 0.18s cubic-bezier(0.4,0,0.2,1); }
.fle-tabs__item:hover{ color:var(--fle-text); }
.fle-tabs__item.is-active{ color:var(--fle-accent); border-bottom-color:var(--fle-accent); }

.fle-app__h{ font-family:var(--fle-font-d); font-size:1.05rem; font-weight:700; margin:1.6rem 0 0.8rem; color:var(--fle-text); }
.fle-app__h:first-child{ margin-top:0; }
.fle-form--inline{ display:flex; gap:0.6rem; flex-wrap:wrap; }
.fle-form--inline input[type="text"]{ flex:1 1 180px; min-width:0; text-transform:uppercase; }

.fle-credits{ display:grid; gap:0.7rem; }
.fle-credits__row{ background:var(--fle-surface-2); border:1px solid var(--fle-line); border-radius:6px;
    padding:0.9rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.fle-credits__row > div > b{ display:block; font-size:0.95rem; }
.fle-credits__days{ color:var(--fle-accent); font-size:0.83rem; font-weight:600; font-variant-numeric:tabular-nums; }
.fle-credits__use{ display:flex; gap:0.5rem; flex-wrap:wrap; align-items:center; }
.fle-credits__use select{ max-width:230px; }
.fle-credits__used, .fle-credits__hint{ color:var(--fle-muted); font-size:0.83rem; }

.fle-orders{ width:100%; border-collapse:collapse; font-size:0.88rem; font-variant-numeric:tabular-nums; }
.fle-orders th{ text-align:left; color:var(--fle-muted); font-size:0.72rem; letter-spacing:0.08em;
    text-transform:uppercase; padding:0.5rem 0.6rem; border-bottom:1px solid var(--fle-line); }
.fle-orders td{ padding:0.65rem 0.6rem; border-bottom:1px solid var(--fle-line); color:var(--fle-text); }

.fle-contact__actions{ display:flex; gap:0.6rem; flex-wrap:wrap; align-items:center; }
.fle-contact__result{ color:var(--fle-muted); font-size:0.85rem; }
@media (min-width:640px){
    .fle-form--inline input[type="text"]{ flex:0 1 240px; }
}


/* === 1.5.0: autofill w ciemnym motywie + auth jak aplikacja === */
.fle-form input:-webkit-autofill,
.fle-form input:-webkit-autofill:hover,
.fle-form input:-webkit-autofill:focus{
    -webkit-box-shadow:0 0 0 60px var(--fle-surface-2) inset;
    box-shadow:0 0 0 60px var(--fle-surface-2) inset;
    -webkit-text-fill-color:var(--fle-text);
    caret-color:var(--fle-text);
    border:1px solid var(--fle-line);
    transition:background-color 9999s ease-out 0s;
}
.fle.fle-shell--auth{ max-width:460px; padding-top:7rem; }
.fle-shell--auth .fle-shell__head{ text-align:center; }
.fle-shell--auth .fle-form{ padding:1.6rem 1.4rem; }
@media (min-width:640px){ .fle-shell--auth .fle-form{ padding:2rem 1.75rem; } }
.fle-form__error{ display:none; color:#F87171; font-size:0.8rem; margin-top:0.35rem; }
.fle-form p.is-invalid .fle-form__error{ display:block; }
.fle-form p.is-invalid input{ border-color:#F87171; }

/* === 1.6.0: wiadomosci (mobile-first) === */
.fle-threads{ display:grid; gap:0.6rem; }
.fle-threads__row{ background:var(--fle-surface-2); border:1px solid var(--fle-line); border-radius:6px;
    padding:0.85rem 1rem; display:grid; grid-template-columns:1fr auto; gap:0.2rem 0.8rem;
    align-items:center; text-decoration:none; position:relative;
    transition:border-color 0.18s cubic-bezier(0.4,0,0.2,1); }
.fle-threads__row:hover{ border-color:var(--fle-line-hover); }
.fle-threads__title{ color:var(--fle-text); font-weight:600; font-size:0.95rem; }
.fle-threads__who{ color:var(--fle-muted); font-size:0.8rem; grid-column:1; }
.fle-threads__date{ color:var(--fle-muted); font-size:0.78rem; grid-column:2; grid-row:1; font-variant-numeric:tabular-nums; }
.fle-threads__badge{ grid-column:2; grid-row:2; justify-self:end;
    background:var(--fle-accent); color:var(--fle-accent-ink); font-size:0.72rem; font-weight:700;
    min-width:20px; height:20px; border-radius:10px; display:inline-flex; align-items:center;
    justify-content:center; padding:0 6px; }
.fle-msg__back{ color:var(--fle-muted); text-decoration:none; font-size:0.85rem; }
.fle-msg__back:hover{ color:var(--fle-accent); }
.fle-msg__list{ display:grid; gap:0.6rem; margin:0 0 1rem; }
.fle-msg{ background:var(--fle-surface-2); border:1px solid var(--fle-line); border-radius:8px 8px 8px 2px;
    padding:0.75rem 0.95rem; max-width:85%; justify-self:start; }
.fle-msg--mine{ justify-self:end; border-radius:8px 8px 2px 8px;
    background:color-mix(in srgb, var(--fle-accent) 10%, var(--fle-surface-2)); border-color:color-mix(in srgb, var(--fle-accent) 30%, var(--fle-line)); }
.fle-msg__body{ color:var(--fle-text); font-size:0.92rem; line-height:1.55; margin:0 0 0.3rem; word-break:break-word; }
.fle-msg__time{ color:var(--fle-muted); font-size:0.72rem; font-variant-numeric:tabular-nums; }
.fle-msg__form{ display:grid; gap:0.6rem; padding:1rem; }
.fle-msg__form textarea{ resize:vertical; min-height:74px; }


/* === 1.6.1 / FIX ASTRA: page-builder zeruje max-width dzieci entry-content
   (.ast-page-builder-template .entry-content[data-ast-blocks-layout] > * {max-width:none}).
   Ponizsze selektory maja WYZSZA specyficznosc i wygrywaja kaskada. === */
.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .fle.fle-shell,
.entry-content[data-ast-blocks-layout] > .fle.fle-shell,
.entry-content > .fle.fle-shell,
body .fle.fle-shell{
    max-width:860px;
    margin-left:auto;
    margin-right:auto;
}
.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .fle.fle-shell--auth,
.entry-content[data-ast-blocks-layout] > .fle.fle-shell--auth,
.entry-content > .fle.fle-shell--auth,
body .fle.fle-shell--auth{
    max-width:460px;
}


/* Formularz wiadomosci osadzony w kartach: bez wlasnego tla i ramki */
.fle-form.fle-msg__form{
    background:transparent;
    border:none;
    border-radius:0;
    padding:0;
}
.fle-single__contact .fle-msg__form{
    border-top:1px solid var(--fle-line);
    padding-top:1rem;
    margin-top:0.9rem;
}
.fle-msg__form textarea{ background:var(--fle-surface-2); }


/* Komunikaty w bloku kontaktu: wyrazny odstep, bez zlewania z hintem */
.fle-single__contact .fle-box{
    margin:0 0 1.1rem;
    padding:0.9rem 1.1rem;
}
.fle-single__contact .fle-box .fle-box__title{ margin:0; font-size:0.95rem; }

/* === 1.7.0: obserwowane === */
.fle-watch .fle-watch__mark{ width:9px; height:9px; background:transparent;
    border:1.5px solid currentColor; transform:rotate(45deg); flex:none;
    transition:background-color 0.18s cubic-bezier(0.4,0,0.2,1); }
.fle-watch.is-watched{ border-color:var(--fle-accent); color:var(--fle-accent); }
.fle-watch.is-watched .fle-watch__mark{ background:var(--fle-accent); border-color:var(--fle-accent); }
.fle-grid--watch{ display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width:640px){ .fle-grid--watch{ grid-template-columns:repeat(2,1fr); } }

/* === 1.7.1: obserwuj przy tytule, ikony === */
.fle-single__titlerow{ display:flex; align-items:flex-start; justify-content:space-between; gap:0.8rem; }
.fle-single__titlerow .fle-single__title{ margin:0; min-width:0; }
.fle-btn.fle-watch--sm{ padding:0.45rem 0.85rem; font-size:0.8rem; min-height:36px; flex:none; gap:0.4rem; }
.fle-btn svg{ flex:none; }

/* === 1.8.0: caly kafelek klikalny === */
.fle-card{ position:relative; }
.fle-card__cover{ position:absolute; inset:0; z-index:1; border-radius:inherit; }
.fle-card__media, .fle-card__name a, .fle-card .fle-btn{ position:relative; z-index:2; }
.fle-card__cover:focus-visible{ outline:2px solid var(--fle-accent); outline-offset:2px; }

/* === 1.9.0: obserwowane w koncie: usuwanie + mobile === */
.fle-watchitem{ display:grid; gap:0.5rem; align-content:start; }
.fle-watchitem__remove{ justify-self:start; }
/* Mobile: w pasku konta chowamy drugi CTA "Dodaj cesje" (jest w naglowku strony) */
@media (max-width:760px){
    .fle-app__bar .fle-btn{ display:none; }
}

/* === 1.10.0: listing w ukladzie wierszy (styl serwisow ogloszeniowych) === */
.fle-list{ display:grid; grid-template-columns:1fr; gap:1rem; margin:0 0 2rem; }
.fle-card__loc{ color:var(--fle-muted); font-size:0.8rem; margin:0.35rem 0 0; }
@media (min-width:760px){
    .fle-list .fle-card{ display:grid; grid-template-columns:300px 1fr; align-items:stretch; }
    .fle-list .fle-card__media{ aspect-ratio:auto; height:100%; min-height:210px; }
    .fle-list .fle-card__body{
        display:grid; grid-template-columns:minmax(0,1fr) 200px; column-gap:1.25rem;
        align-content:start; padding:1.1rem 1.25rem;
    }
    .fle-list .fle-card__name{ grid-column:1; margin:0 0 0.3rem; }
    .fle-list .fle-card__meta{ grid-column:1; }
    .fle-list .fle-card__sched{ grid-column:1; max-width:420px; }
    .fle-list .fle-card__loc{ grid-column:1; margin-top:0.55rem; }
    .fle-list .fle-card__rata{ grid-column:2; grid-row:1; justify-self:end; text-align:right; margin:0; }
    .fle-list .fle-card__foot{
        grid-column:2; grid-row:2 / span 3; align-self:end; justify-self:end;
        display:flex; flex-direction:column; align-items:flex-end; gap:0.45rem;
        border-top:0; padding-top:0; margin-top:0;
    }
}
@media (min-width:1024px){
    .fle-list .fle-card{ grid-template-columns:340px 1fr; }
}

/* === 1.11.0: filtry w lewej kolumnie (sticky) + chipy parametrow === */
.fle-layout{ display:grid; grid-template-columns:1fr; gap:1.25rem; align-items:start; }
@media (min-width:960px){
    .fle-layout{ grid-template-columns:280px minmax(0,1fr); gap:1.5rem; }
    .fle-layout__filters{ position:sticky; top:5.5rem; }
    /* Filtry w kolumnie: pola jedno pod drugim */
    .fle-layout__filters .fle-filters{ grid-template-columns:1fr; align-items:stretch; }
    .fle-layout__filters .fle-filters .fle-btn,
    .fle-layout__filters .fle-filters button{ width:100%; }
}
/* Chipy parametrow: subtelna zielen z jasnym tekstem (czytelnosc > czysta limonka) */
.fle-card__chips{ list-style:none; display:flex; flex-wrap:wrap; gap:0.4rem; margin:0.15rem 0 0.6rem; padding:0; }
.fle-chip{
    display:inline-flex; align-items:center;
    background:rgba(198,241,53,0.14);
    border:1px solid rgba(198,241,53,0.22);
    color:#F2F3F5;
    font-size:0.78rem; font-weight:600; line-height:1;
    padding:0.4rem 0.6rem; border-radius:5px;
    white-space:nowrap;
}
.fle-list .fle-card__chips{ grid-column:1; }

/* === 1.12.0: ikony w chipach + pas Najwazniejsze na stronie ogloszenia === */
.fle-chip .fle-ico{ width:14px; height:14px; color:var(--fle-accent); flex:none; }
.fle-chip{ gap:0.4rem; }
.fle-feats{ background:var(--fle-surface); border:1px solid var(--fle-line);
    border-radius:var(--fle-radius); padding:1.15rem 1.25rem; margin:0 0 1.25rem; }
.fle-feats__h{ font-family:var(--fle-font-d); font-size:1.05rem; font-weight:700;
    letter-spacing:-0.01em; margin:0 0 0.9rem; color:var(--fle-text); }
.fle-feats__grid{ list-style:none; margin:0; padding:0; display:grid;
    grid-template-columns:repeat(2,1fr); gap:1rem 0.75rem; }
@media (min-width:640px){ .fle-feats__grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px){ .fle-feats__grid{ grid-template-columns:repeat(6,1fr); } }
.fle-feats__item{ display:grid; justify-items:center; text-align:center; gap:0.3rem; }
.fle-feats__ico{ display:inline-flex; align-items:center; justify-content:center;
    width:44px; height:44px; border-radius:8px;
    background:rgba(198,241,53,0.12); border:1px solid rgba(198,241,53,0.2);
    color:var(--fle-accent); }
.fle-feats__ico .fle-ico{ width:22px; height:22px; }
.fle-feats__label{ color:var(--fle-muted); font-size:0.72rem; letter-spacing:0.02em; }
.fle-feats__val{ color:var(--fle-text); font-weight:700; font-size:0.9rem; line-height:1.25; }


/* === 1.12.2: sekcja kontaktu wyraznie oddzielona od czesci informacyjnej === */
.fle-single__contact{
    margin-top:1.5rem;
    background:var(--fle-surface-2);
    border:1px solid var(--fle-line-hover);
    border-radius:var(--fle-radius);
    padding:1.25rem 1.25rem 1.35rem;
    position:relative;
}
.fle-single__contact::before{
    content:"";
    position:absolute; top:0; left:1.25rem; right:1.25rem; height:2px;
    background:var(--fle-accent);
    border-radius:0 0 2px 2px;
    opacity:0.9;
}
.fle-single__contact-title{
    display:flex; align-items:center; gap:0.5rem;
    font-family:var(--fle-font-d); font-size:1.02rem; font-weight:700;
    margin:0 0 1rem; color:var(--fle-text);
}
.fle-single__contact-title::before{
    content:""; width:8px; height:8px; background:var(--fle-accent);
    transform:rotate(45deg); flex:none;
}
.fle-single__table{ margin-bottom:0; }

/* === 1.13.0: przejecie kontenera motywu na stronach wtyczki ===
   Diagnoza z realnego DOM klienta: .ast-container mial max-width:1240px
   i display:flex BEZ margin:auto, wiec caly kontener stal przy lewej
   krawedzi, a nasz wrap centrowal sie wewnatrz niego. Na NASZYCH stronach
   kontener dostaje pelna szerokosc i block, a centrowanie robi wrap. */
body.single-fle_listing .site-content .ast-container,
body.post-type-archive-fle_listing .site-content .ast-container,
body.fle-shell-page .site-content .ast-container{
    max-width:100% !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:block !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

/* === 1.14.0: jezyk redakcyjny strony glownej na podstronach wtyczki ===
   Parytet ze strona glowna (sekcje P1/hero/oferty): eyebrow z rombem nad
   tytulami stron, pas "Najwazniejsze" bez ikon w kwadratach (wartosc nad
   etykieta, pionowe linie miedzy pozycjami, romb przy wartosci), blok
   kontaktu bez ozdobnej kreski, badge licznika bez piguly. */

/* Eyebrow z rombem (metryki 1:1 ze strona glowna) */
.fle-eyebrow{ display:inline-flex; align-items:center; gap:0.5rem; color:var(--fle-muted);
    font-size:0.72rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
    margin:0 0 0.7rem; font-family:var(--fle-font-b); }
.fle-eyebrow i{ width:8px; height:8px; background:var(--fle-accent); transform:rotate(45deg); flex:none; }
.fle-page__head{ margin-bottom:2.4rem; }
.fle-shell__head{ margin-bottom:1.75rem; }

/* Pas "Najwazniejsze": statystyki redakcyjne zamiast ikon w kwadratach */
.fle-feats__ico{ display:none; }
.fle-feats__grid{ grid-template-columns:repeat(2,1fr); gap:1.1rem 1.5rem; }
@media (min-width:640px){ .fle-feats__grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px){ .fle-feats__grid{ grid-template-columns:repeat(6,1fr); } }
.fle-feats__item{ justify-items:start; text-align:left; gap:0.35rem;
    padding-left:1.1rem; border-left:1px solid var(--fle-line); }
.fle-feats__val{ order:1; position:relative; font-family:var(--fle-font-d);
    font-size:1.02rem; letter-spacing:-0.01em; }
.fle-feats__label{ order:2; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; }
.fle-feats__val::before{ content:""; position:absolute; left:-1.1rem; top:0.42em;
    width:7px; height:7px; background:var(--fle-accent); transform:rotate(45deg) translateX(-30%); }

/* Blok kontaktu: bez ozdobnej kreski (romb w tytule zostaje) */
.fle-single__contact::before{ content:none; }

/* Badge nieprzeczytanych: geometria 5px zamiast piguly */
.fle-threads__badge{ border-radius:5px; }

/* === 1.15.0: eleganckie ikony w "Najwazniejsze", akcje zbywcy, kontakt osobno ===
   Ikony wracaja bez kwadratow: cienka kreska 1.5, limonka, 20 px, w linii
   z wartoscia; uklad pozycji: ikona | wartosc nad etykieta. */
.fle-feats__item{ grid-template-columns:auto 1fr; column-gap:0.65rem; row-gap:0.15rem; }
.fle-feats__ico{ display:inline-flex; width:auto; height:auto; background:none; border:none;
    border-radius:0; color:var(--fle-accent); grid-column:1; grid-row:1 / span 2;
    align-self:start; margin-top:0.15rem; }
.fle-feats__ico .fle-ico{ width:20px; height:20px; stroke-width:1.5; }
.fle-feats__val{ grid-column:2; grid-row:1; }
.fle-feats__label{ grid-column:2; grid-row:2; }
.fle-feats__val::before{ content:none; }

/* Wiersz akcji zbywcy w Moje ogloszenia */
.fle-mylist__actions{ display:flex; flex-wrap:wrap; gap:0.15rem 0.9rem; justify-content:flex-end; }
.fle-mylist__actions .fle-mylist__link{ min-height:32px; display:inline-flex; align-items:center; }
@media (max-width:560px){ .fle-mylist__actions{ justify-content:flex-start; } }

/* Kontakt jako osobna karta w kolumnie bocznej (poza specyfikacja) */
.fle-single__side > .fle-single__contact{ margin-top:1.25rem; }

/* === 1.16.0: naprawa lamania pasa Wazne informacje + porzadek w kontakcie ===
   Pas siedzi w kolumnie 7fr grida ogloszenia; 6 kolumn na 1024+ scisnelo
   pozycje (wartosci lamane, ostatnia ucieta). Maks. 3 kolumny w tym pasie. */
.fle-feats__grid{ grid-template-columns:repeat(2,1fr); }
@media (min-width:640px){ .fle-feats__grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px){ .fle-feats__grid{ grid-template-columns:repeat(3,1fr); gap:1.15rem 1rem; } }
.fle-feats__val{ overflow-wrap:anywhere; }

/* Kontakt: spojne szerokosci i rytm (przyciski i pole na pelna szerokosc) */
.fle-single__contact .fle-contact__actions{ display:grid; gap:0.6rem; }
.fle-single__contact .fle-contact__actions .fle-btn{ width:100%; }
.fle-single__contact .fle-contact__result{ margin:0; }
.fle-single__contact .fle-msg__form .fle-btn{ width:100%; }
.fle-single__contact .fle-single__contact-info{ margin-top:0.6rem; }

/* === 1.19.0: zgloszenia i moderacja wiadomosci === */
.fle-report{ margin-top:1rem; }
.fle-report summary{ color:var(--fle-muted); font-size:0.82rem; cursor:pointer;
    list-style:none; display:inline-flex; align-items:center; gap:0.4rem; min-height:44px;
    transition:color 0.18s var(--fle-ease); }
.fle-report summary::before{ content:""; width:7px; height:7px; border:1.5px solid currentColor;
    transform:rotate(45deg); flex:none; }
.fle-report summary::-webkit-details-marker{ display:none; }
.fle-report summary:hover{ color:var(--fle-text); }
.fle-report[open] summary{ color:var(--fle-text); }
.fle-report__form{ margin-top:0.6rem; padding:1.1rem 1.2rem; display:grid; gap:0.8rem; }
.fle-report__form p{ margin:0; }
.fle-msg__topbar{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.fle-msg__flag{ color:var(--fle-muted); font-size:0.75rem; text-decoration:none; margin-left:0.7rem;
    transition:color 0.18s var(--fle-ease); }
.fle-msg__flag:hover{ color:#F87171; }
.fle-msg--hidden{ opacity:0.65; border-style:dashed; }
.fle-msg--hidden .fle-msg__body em{ color:var(--fle-muted); font-style:italic; }

/* === 1.20.0: czerwone linki Zglos + okno zgloszenia === */
.fle-flag, a.fle-flag, .fle-msg__flag, a.fle-msg__flag{ color:#F87171; font-size:0.78rem; font-weight:600;
    text-decoration:none; transition:color 0.18s var(--fle-ease); }
.fle-flag:hover, a.fle-flag:hover, .fle-msg__flag:hover, a.fle-msg__flag:hover{ color:#EF4444; }
.fle-report-link{ display:inline-flex; align-items:center; min-height:44px; margin-top:0.6rem; }
.fle-modal--report[hidden]{ display:none !important; }
.fle-modal__card--form{ text-align:left; border-color:var(--fle-line); max-width:430px; }
.fle-modal__bar{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.fle-modal__bar .fle-modal__title{ margin:0; font-size:1.1rem; }
.fle-modal__close{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
    background:transparent; border:1px solid var(--fle-line); border-radius:6px; color:var(--fle-text);
    cursor:pointer; flex:none; transition:border-color 0.18s var(--fle-ease); }
.fle-modal__close:hover{ border-color:var(--fle-muted); }
.fle-report__form{ display:grid; gap:0.85rem; }
.fle-report__form textarea{ min-height:90px; }
.fle-report__foot{ display:grid; gap:0.6rem; }
.fle-report__hint{ color:var(--fle-muted); font-size:0.75rem; line-height:1.5; }
/* stary wariant details nieuzywany od 1.20.0 */
.fle-report{ display:none; }

/* === 1.21.0: rezerwacja, zbywca, obserwujacy, udostepnianie === */
.fle-card__badge--reserved{ background:#2B2113; color:#FBBF24; border-color:#4A3A1A; }
.fle-single__reserved{ color:#FBBF24; font-size:0.8rem; font-weight:600; margin:0.35rem 0 0;
    display:flex; align-items:center; gap:0.45rem; }
.fle-single__reserved::before{ content:""; width:7px; height:7px; background:#FBBF24;
    transform:rotate(45deg); flex:none; }
.fle-single__watchers{ display:flex; align-items:center; gap:0.5rem; color:var(--fle-muted);
    font-size:0.82rem; margin:0; padding:0.7rem 0 0; }
.fle-single__watchers span{ width:7px; height:7px; background:var(--fle-accent); transform:rotate(45deg); flex:none; }
.fle-single__seller-name{ color:var(--fle-text); font-weight:600; font-size:0.95rem; margin:0 0 0.15rem; }
.fle-single__seller-since{ color:var(--fle-muted); font-size:0.8rem; margin:0 0 0.6rem; }
.fle-single__seller-link{ display:inline-flex; align-items:center; gap:0.45rem; color:var(--fle-text);
    font-size:0.85rem; font-weight:600; text-decoration:none; min-height:44px;
    transition:color 0.18s var(--fle-ease), gap 0.18s var(--fle-ease); }
.fle-single__seller-link:hover{ color:var(--fle-accent); gap:0.65rem; }
.fle-single__share{ display:flex; align-items:center; flex-wrap:wrap; gap:0.5rem; margin-top:1rem; }
.fle-single__share-label{ color:var(--fle-muted); font-size:0.72rem; font-weight:600;
    letter-spacing:0.12em; text-transform:uppercase; margin-right:0.25rem; }
.fle-share__btn{ display:inline-flex; align-items:center; min-height:38px; padding:0 0.85rem;
    background:transparent; border:1px solid var(--fle-line); border-radius:6px;
    color:var(--fle-muted); font-family:inherit; font-size:0.8rem; font-weight:600;
    text-decoration:none; cursor:pointer;
    transition:color 0.18s var(--fle-ease), border-color 0.18s var(--fle-ease); }
.fle-share__btn:hover{ color:var(--fle-text); border-color:var(--fle-line-hover); }
.fle-share__btn.is-done{ color:var(--fle-accent); border-color:var(--fle-accent); }
.fle-gate{ display:flex; flex-wrap:wrap; gap:0.6rem; margin:0.9rem 0 0; }

/* ============================================================
   1.21.2: STRONA OGLOSZENIA, przeprojektowana
   Lewa kolumna: galeria w ramie, potem pas Wazne informacje i opis
   jako tekst redakcyjny na liniach (bez pudelek). Prawa: karty jak
   dotad, przyklejone. Zadnych grid-areas: dwie kolumny wprost.
   ============================================================ */
.fle-single__grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:2rem;
    align-items:start; margin-bottom:3rem; }
.fle-single__grid > *{ grid-area:auto; }
.fle-single__main{ display:flex; flex-direction:column; gap:2.25rem; min-width:0; }
.fle-single__main > *{ margin:0; }
@media (min-width:960px){
    .fle-single__grid{ grid-template-columns:minmax(0,58fr) minmax(0,42fr); gap:2.5rem; }
    .fle-single__side{ position:sticky; top:5.5rem; }
}

/* Galeria */
.fle-single__media{ display:flex; flex-direction:column; gap:0.6rem; }
.fle-single__hero{ margin:0; border:1px solid var(--fle-line); border-radius:8px;
    overflow:hidden; background:var(--fle-surface); }
.fle-single__hero a{ display:block; }
.fle-single__hero img{ display:block; width:100%; height:auto; aspect-ratio:16/10;
    object-fit:cover; transition:transform 0.35s var(--fle-ease); }
.fle-single__hero a:hover img{ transform:scale(1.02); }
.fle-single__thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:0.6rem; margin:0; }
@media (min-width:640px){ .fle-single__thumbs{ grid-template-columns:repeat(5,1fr); } }
.fle-single__thumbs a{ display:block; border:1px solid var(--fle-line); border-radius:6px;
    overflow:hidden; background:var(--fle-surface); aspect-ratio:4/3;
    transition:border-color 0.2s var(--fle-ease); }
.fle-single__thumbs a:hover{ border-color:var(--fle-accent); }
.fle-single__thumbs img{ display:block; width:100%; height:100%; object-fit:cover; }

/* Wazne informacje: pas redakcyjny na liniach, bez pudelka */
.fle-single__main .fle-feats{ background:transparent; border:0; border-radius:0; padding:0; margin:0; }
.fle-single__main .fle-feats__h{ display:flex; align-items:center; gap:0.6rem;
    color:var(--fle-muted); font-family:var(--fle-font-b); font-size:0.72rem; font-weight:600;
    letter-spacing:0.16em; text-transform:uppercase; margin:0 0 0.9rem; }
.fle-single__main .fle-feats__h::before{ content:""; width:8px; height:8px;
    background:var(--fle-accent); transform:rotate(45deg); flex:none; }
.fle-single__main .fle-feats__grid{ list-style:none; margin:0; padding:0; display:grid;
    grid-template-columns:repeat(2,1fr); border-top:1px solid var(--fle-line); }
@media (min-width:640px){ .fle-single__main .fle-feats__grid{ grid-template-columns:repeat(3,1fr); } }
.fle-single__main .fle-feats__item{ display:grid; grid-template-columns:auto 1fr;
    grid-template-rows:auto auto; column-gap:0.6rem; align-items:center; align-content:start;
    padding:1rem 0.9rem 1rem 0.25rem; border-bottom:1px solid var(--fle-line); }
.fle-single__main .fle-feats__ico{ grid-row:1; display:inline-flex; color:var(--fle-accent); }
.fle-single__main .fle-feats__ico svg{ width:18px; height:18px; }
.fle-single__main .fle-feats__val{ grid-row:1; color:var(--fle-text); font-family:var(--fle-font-d);
    font-weight:700; font-size:1.02rem; line-height:1.25; overflow-wrap:anywhere; }
.fle-single__main .fle-feats__label{ grid-row:2; grid-column:2; color:var(--fle-muted);
    font-size:0.68rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; margin-top:0.2rem; }

/* Opis: tekst redakcyjny na linii, bez pudelka */
.fle-single__main .fle-single__desc{ background:transparent; border:0; border-radius:0; padding:0; }
.fle-single__main .fle-single__desc-h{ display:flex; align-items:center; gap:0.6rem;
    color:var(--fle-muted); font-family:var(--fle-font-b); font-size:0.72rem; font-weight:600;
    letter-spacing:0.16em; text-transform:uppercase; margin:0 0 0.9rem; }
.fle-single__main .fle-single__desc-h span{ width:8px; height:8px; background:var(--fle-accent);
    transform:rotate(45deg); flex:none; }
.fle-single__main .fle-single__desc h2{ margin:0 0 0.9rem; }
.fle-single__main .fle-single__desc p{ color:var(--fle-muted); font-size:0.97rem;
    line-height:1.75; margin:0 0 1em; max-width:70ch; }

/* Puste elementy nie zostawiaja ramek ani dziur */
.fle-contact__result:empty{ display:none; }
.fle-msg__list:empty{ display:none; }

/* Udostepnianie: hover i Skopiowano = czarny tekst na limonce (bije style motywu) */
.fle-single__share{ display:flex; align-items:center; flex-wrap:wrap; gap:0.5rem; margin-top:1rem; }
.fle-single__share-label{ color:var(--fle-muted); font-size:0.72rem; font-weight:600;
    letter-spacing:0.12em; text-transform:uppercase; margin-right:0.25rem; }
.fle-single__share .fle-share__btn,
.fle-single__share button.fle-share__btn,
.fle-single__share a.fle-share__btn{
    background:transparent; color:var(--fle-muted); border:1px solid var(--fle-line);
    border-radius:6px; font-family:var(--fle-font-b, inherit); font-size:0.8rem; font-weight:600;
    min-height:38px; padding:0 0.85rem; display:inline-flex; align-items:center;
    text-decoration:none; cursor:pointer;
    transition:color 0.18s var(--fle-ease), background-color 0.18s var(--fle-ease), border-color 0.18s var(--fle-ease); }
.fle-single__share .fle-share__btn:hover,
.fle-single__share button.fle-share__btn:hover,
.fle-single__share a.fle-share__btn:hover,
.fle-single__share .fle-share__btn.is-done,
.fle-single__share button.fle-share__btn.is-done{
    background:var(--fle-accent); color:#131503; border-color:var(--fle-accent); }

/* Okno zgloszenia: samowystarczalne (montowane przy body) */
.fle-modal--report .fle-modal__card{ text-align:left; border-color:#262A33; max-width:430px; }
.fle-modal--report .fle-modal__bar{ display:flex; align-items:center; justify-content:space-between;
    gap:1rem; margin-bottom:1rem; }
.fle-modal--report .fle-modal__title{ margin:0; font-size:1.1rem; text-align:left; }
.fle-modal--report .fle-modal__close{ position:relative; display:inline-flex; width:38px; height:38px;
    background:transparent; border:1px solid #262A33; border-radius:6px; color:#F2F3F5;
    cursor:pointer; flex:none; transition:border-color 0.18s ease; }
.fle-modal--report .fle-modal__close:hover{ border-color:#7A7F8A; background:transparent; }
/* Krzyzyk rysowany w CSS: odporny na wycinanie i stylowanie SVG przez motyw i optymalizatory */
.fle-modal--report .fle-modal__close::before,
.fle-modal--report .fle-modal__close::after{ content:""; position:absolute; top:50%; left:50%;
    width:16px; height:2px; background:#F2F3F5; border-radius:1px; }
.fle-modal--report .fle-modal__close::before{ transform:translate(-50%,-50%) rotate(45deg); }
.fle-modal--report .fle-modal__close::after{ transform:translate(-50%,-50%) rotate(-45deg); }
.fle-modal--report .fle-modal__close svg{ display:none; }
.fle-modal--report form{ display:grid; gap:0.85rem; margin:0; }
.fle-modal--report form p{ margin:0; }
.fle-modal--report label{ display:block; color:#7A7F8A; font-size:0.72rem; font-weight:600;
    letter-spacing:0.12em; text-transform:uppercase; margin-bottom:0.4rem; }
.fle-modal--report select,
.fle-modal--report textarea{ width:100%; background:#101216; border:1px solid #262A33;
    border-radius:6px; color:#F2F3F5; font-family:inherit; font-size:0.92rem;
    padding:0.65rem 0.8rem; transition:border-color 0.18s ease; }
.fle-modal--report select:hover, .fle-modal--report textarea:hover{ border-color:#333945; }
.fle-modal--report select:focus-visible, .fle-modal--report textarea:focus-visible{
    outline:2px solid #C6F135; outline-offset:2px; }
.fle-modal--report select option{ background:#16181D; }
.fle-modal--report textarea{ min-height:90px; resize:vertical; }
.fle-modal--report button[type="submit"]{ display:inline-flex; align-items:center; justify-content:center;
    gap:0.5rem; width:100%; min-height:46px; background:#C6F135; color:#131503; border:none;
    border-radius:6px; font-family:inherit; font-weight:600; font-size:0.92rem; cursor:pointer;
    transition:background-color 0.18s ease, transform 0.18s ease; }
.fle-modal--report button[type="submit"]:hover{ background:#D4F95C; color:#131503; transform:translateY(-1px); }
.fle-modal--report .fle-report__hint{ color:#7A7F8A; font-size:0.75rem; line-height:1.5; }

/* === 1.22.0: wyposazenie, historia pojazdu, mapa, pasek akcji === */
.fle-equip{ border:1px solid var(--fle-line); border-radius:8px; padding:1.1rem 1.2rem 1.2rem; }
.fle-equip legend{ color:var(--fle-muted); font-size:0.72rem; font-weight:600;
    letter-spacing:0.12em; text-transform:uppercase; padding:0 0.4rem; }
.fle-equip__grid{ display:grid; grid-template-columns:1fr; gap:0.25rem 1.25rem; }
@media (min-width:640px){ .fle-equip__grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:960px){ .fle-equip__grid{ grid-template-columns:repeat(3,1fr); } }
.fle-equip__item{ display:flex; align-items:center; gap:0.6rem; min-height:40px;
    color:var(--fle-muted); font-size:0.9rem; cursor:pointer;
    transition:color 0.15s var(--fle-ease); }
.fle-equip__item:hover{ color:var(--fle-text); }
.fle-equip__item input{ width:17px; height:17px; accent-color:#C6F135; flex:none; cursor:pointer; }
.fle-equip__item input:checked + span{ color:var(--fle-text); }

.fle-single__equip-grid{ list-style:none; margin:0; padding:0; display:grid;
    grid-template-columns:1fr; gap:0.1rem 1.5rem; border-top:1px solid var(--fle-line); padding-top:0.9rem; }
@media (min-width:640px){ .fle-single__equip-grid{ grid-template-columns:repeat(2,1fr); } }
.fle-single__equip-grid li{ position:relative; color:var(--fle-muted); font-size:0.92rem;
    line-height:1.6; padding:0.35rem 0 0.35rem 1.35rem; }
.fle-single__equip-grid li::before{ content:""; position:absolute; left:0.15rem; top:0.95em;
    width:7px; height:7px; background:var(--fle-accent); transform:rotate(45deg); }

.fle-single__history{ border-top:1px solid var(--fle-line); padding-top:1.25rem; }
.fle-single__history-row{ display:flex; align-items:center; flex-wrap:wrap; gap:0.6rem; margin:0 0 0.6rem; }
.fle-single__history-lbl{ color:var(--fle-muted); font-size:0.72rem; font-weight:600;
    letter-spacing:0.12em; text-transform:uppercase; }
.fle-single__vin{ font-family:ui-monospace, "SF Mono", Menlo, monospace; font-size:0.92rem;
    color:var(--fle-text); background:var(--fle-surface); border:1px solid var(--fle-line);
    border-radius:6px; padding:0.45rem 0.7rem; letter-spacing:0.06em; }
.fle-single__history-note{ color:var(--fle-muted); font-size:0.82rem; line-height:1.6; margin:0; max-width:60ch; }

.fle-single__map{ margin-top:1rem; }
.fle-single__map-load{ display:flex; align-items:center; justify-content:center; gap:0.55rem;
    width:100%; min-height:52px; background:var(--fle-surface); border:1px solid var(--fle-line);
    border-radius:8px; color:var(--fle-muted); font-family:inherit; font-size:0.88rem; font-weight:600;
    cursor:pointer; transition:color 0.18s var(--fle-ease), border-color 0.18s var(--fle-ease); }
.fle-single__map-load:hover{ color:var(--fle-text); border-color:var(--fle-line-hover); }
.fle-single__map-load svg{ color:var(--fle-accent); flex:none; }
.fle-single__map-frame{ display:block; width:100%; height:230px; border:1px solid var(--fle-line);
    border-radius:8px; background:var(--fle-surface); }

.fle-stickybar{ position:fixed; left:0; right:0; z-index:45;
    background:rgba(12,13,16,0.92); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.fle-stickybar[hidden]{ display:none !important; }
.fle-stickybar__in{ max-width:1200px; margin:0 auto; padding:0.6rem 1.25rem;
    display:flex; align-items:center; gap:1rem; }
.fle-stickybar__title{ color:var(--fle-text, #F2F3F5); font-family:var(--fle-font-d, sans-serif);
    font-weight:700; font-size:0.95rem; margin:0; overflow:hidden; text-overflow:ellipsis;
    white-space:nowrap; min-width:0; flex:1; }
.fle-stickybar__rate{ color:var(--fle-muted, #7A7F8A); font-size:0.85rem; margin:0; white-space:nowrap; }
.fle-stickybar__rate b{ color:var(--fle-accent, #C6F135); font-size:1.05rem; }
.fle-stickybar__btn{ flex:none; }
@media (min-width:768px){
    .fle-stickybar{ top:0; border-bottom:1px solid var(--fle-line, #262A33); }
    body.admin-bar .fle-stickybar{ top:32px; }
}
@media (max-width:767px){
    .fle-stickybar{ bottom:0; border-top:1px solid var(--fle-line, #262A33); }
    .fle-stickybar__in{ padding-bottom:calc(0.6rem + env(safe-area-inset-bottom, 0px)); }
    .fle-stickybar__title{ display:none; }
    .fle-stickybar__rate{ flex:1; }
}

/* === 1.23.0: lokalizacja z mapa od razu, VIN do odkrycia; przyciski odporne na Astre ===
   Astra nadaje wlasne tlo i kolor kazdemu button w tresci; ponizej wyzsza
   specyficznosc i jawne wartosci na kazdym stanie. */
.fle-single__loc{ margin-top:1.25rem; }
.fle-single__loc-h{ display:flex; align-items:center; gap:0.6rem; margin:0 0 0.35rem;
    color:var(--fle-muted, #7A7F8A); font-size:0.72rem; font-weight:600;
    letter-spacing:0.16em; text-transform:uppercase; }
.fle-single__loc-h span{ width:8px; height:8px; background:var(--fle-accent, #C6F135);
    transform:rotate(45deg); flex:none; }
.fle-single__loc-addr{ color:var(--fle-text, #F2F3F5); font-weight:600; font-size:0.95rem; margin:0 0 0.7rem; }
.fle-single__map-frame{ display:block; width:100%; height:230px; border:1px solid var(--fle-line, #262A33);
    border-radius:8px; background:var(--fle-surface, #16181D); }

.fle-single .fle-share__btn,
.fle-single button.fle-share__btn,
.fle-single a.fle-share__btn,
.fle-single button.fle-single__vinbtn{
    background:transparent; color:var(--fle-muted, #7A7F8A); border:1px solid var(--fle-line, #262A33);
    border-radius:6px; font-family:inherit; font-size:0.8rem; font-weight:600; line-height:1;
    min-height:38px; padding:0 0.85rem; display:inline-flex; align-items:center; gap:0.4rem;
    text-decoration:none; cursor:pointer; text-transform:none; letter-spacing:normal; box-shadow:none;
    transition:color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease; }
.fle-single .fle-share__btn:hover,
.fle-single button.fle-share__btn:hover,
.fle-single a.fle-share__btn:hover,
.fle-single button.fle-single__vinbtn:hover{
    background:var(--fle-accent, #C6F135); color:#131503; border-color:var(--fle-accent, #C6F135); }
.fle-single .fle-share__btn.is-done{ background:var(--fle-accent, #C6F135); color:#131503;
    border-color:var(--fle-accent, #C6F135); }
.fle-single__vinwrap{ display:inline-flex; align-items:center; gap:0.6rem; flex-wrap:wrap; }

/* === 1.24.0: dane pojazdu, wyposazenie w grupach, film w galerii, bialy opis === */
/* Opis ogloszenia bialym tekstem (decyzja wlasciciela) */
.fle-single__main .fle-single__desc p{ color:var(--fle-text, #F2F3F5); }

/* Formularz: rozwijane grupy wyposazenia jak na duzych portalach */
.fle-equip{ padding:0.4rem 1.2rem 0.6rem; }
.fle-equip__group{ border-bottom:1px solid var(--fle-line); }
.fle-equip__group:last-of-type{ border-bottom:none; }
.fle-equip__group summary{ display:flex; align-items:center; gap:0.6rem; min-height:52px;
    color:var(--fle-text); font-weight:600; font-size:0.95rem; cursor:pointer; list-style:none;
    transition:color 0.15s var(--fle-ease); }
.fle-equip__group summary::-webkit-details-marker{ display:none; }
.fle-equip__group summary::after{ content:""; width:8px; height:8px; margin-left:auto;
    border-right:2px solid var(--fle-muted); border-bottom:2px solid var(--fle-muted);
    transform:rotate(45deg); transition:transform 0.2s var(--fle-ease); flex:none; }
.fle-equip__group[open] summary::after{ transform:rotate(-135deg); }
.fle-equip__group summary:hover{ color:var(--fle-accent); }
.fle-equip__group .fle-equip__grid{ padding:0 0 1rem; }
.fle-equip__count{ display:inline-flex; align-items:center; justify-content:center;
    min-width:20px; height:20px; padding:0 6px; background:var(--fle-accent); color:#131503;
    border-radius:5px; font-size:0.7rem; font-weight:700; font-variant-numeric:tabular-nums; }
.fle-equip__count[hidden]{ display:none !important; }

/* Film z YouTube jako pierwszy element galerii */
.fle-single__hero--video{ aspect-ratio:16/9; }
.fle-single__hero--video iframe{ display:block; width:100%; height:100%; border:0; }

/* Naglowki grup wyposazenia na stronie ogloszenia */
.fle-single__equip-group{ color:var(--fle-text); font-family:var(--fle-font-d);
    font-weight:700; font-size:0.95rem; margin:1.1rem 0 0.4rem; }
.fle-single__equip-group:first-of-type{ margin-top:0; }
.fle-single__equip-grid{ border-top:0; padding-top:0.2rem; }

/* === 1.24.1: mobile poukladane jak otomoto ===
   Ponizej 960px obie kolumny rozpuszczamy (display:contents) i ukladamy
   wszystkie bloki jedna kolumna w kolejnosci znanej z otomoto:
   galeria, tytul z cena, Wazne informacje, opis, wyposazenie, historia,
   kontakt, zbywca, lokalizacja, udostepnianie, zgloszenie. */
@media (max-width:959px){
    .fle-single__grid{ display:flex; flex-direction:column; gap:1.5rem; }
    .fle-single__main, .fle-single__side{ display:contents; }
    .fle-single__media{ order:1; }
    .fle-single__side > .fle-single__card{ order:2; }
    .fle-single__grid .fle-feats{ order:3; }
    .fle-single__desc{ order:4; }
    .fle-single__equip{ order:5; }
    .fle-single__history{ order:6; }
    .fle-single__watchers{ order:7; }
    .fle-single__contact{ order:8; }
    .fle-single__side > .fle-box{ order:8; }
    .fle-single__seller{ order:9; }
    .fle-single__loc{ order:10; }
    .fle-single__share{ order:11; margin-top:0; }
    .fle-single__side > .fle-report-link{ order:12; margin-top:0; }
    .fle-single__side > .fle-modal{ order:13; }
    .fle-single__loc{ margin-top:0; }

    /* Pas Wazne informacje jak na otomoto: 3 kolumny, ikona nad wartoscia,
       wszystko wysrodkowane */
    .fle-single__main .fle-feats__grid{ grid-template-columns:repeat(3,1fr); border-top:1px solid var(--fle-line); }
    .fle-single__main .fle-feats__item{ display:flex; flex-direction:column; align-items:center;
        text-align:center; gap:0.35rem; padding:1rem 0.4rem; }
    .fle-single__main .fle-feats__ico svg{ width:22px; height:22px; }
    .fle-single__main .fle-feats__val{ font-size:0.95rem; }
    .fle-single__main .fle-feats__label{ margin-top:0; }
}

/* === 1.24.2: porzadek sekcji, galeria z przelaczaniem, VIN w pasie === */
/* Sekcje tekstowe oddzielone liniami (opis nie zlewa sie z wyposazeniem) */
.fle-single__main .fle-single__desc,
.fle-single__main .fle-single__equip{ border-top:1px solid var(--fle-line); padding-top:1.5rem; }

/* Hero jako <img> sterowany miniaturami; klik otwiera lightbox */
.fle-single__hero-img{ display:block; width:100%; height:auto; aspect-ratio:16/10;
    object-fit:cover; cursor:zoom-in; }
.fle-single__hero-img[hidden]{ display:none !important; }
.fle-single__hero--video iframe[hidden]{ display:none !important; }
.fle-single__thumbs .fle-lightbox-item.is-active{ border-color:var(--fle-accent); }
.fle-single__thumb-video{ display:flex; align-items:center; justify-content:center;
    aspect-ratio:4/3; background:var(--fle-surface); border:1px solid var(--fle-line);
    border-radius:6px; color:var(--fle-accent); cursor:pointer;
    transition:border-color 0.2s var(--fle-ease); }
.fle-single__thumb-video:hover, .fle-single__thumb-video.is-active{ border-color:var(--fle-accent); }

/* VIN jako stopka pasa Wazne informacje */
.fle-feats__vin{ display:flex; align-items:center; flex-wrap:wrap; gap:0.7rem;
    margin:0; padding:0.9rem 0.25rem 0; }

/* Naglowek karty zbywcy */
.fle-single__seller .fle-single__loc-h{ margin-bottom:0.6rem; }

/* Mobile: kazdy blok pelna, ta sama szerokosc, jeden pion */
@media (max-width:959px){
    .fle-single__grid > *,
    .fle-single__main > *,
    .fle-single__side > *{ width:100%; margin-left:0; margin-right:0; }
    .fle-single__map-frame{ height:210px; }
}

/* === 1.24.3: wyposazenie z flagami grup (czytelna hierarchia, jezyk DESIGN.md) ===
   Naglowek grupy jako przypieta flaga: limonkowy grzbiet z lewej, plakietka na
   powierzchni; lista wisi pod flaga na cienkiej nitce (hairline), przez co grupy
   wyraznie odcinaja sie od opisu i od siebie. */
.fle-single__equip-group,
.fle-single__main .fle-single__equip .fle-single__equip-group{
    display:inline-flex; align-items:center;
    background:var(--fle-surface, #16181D);
    border:1px solid var(--fle-line, #262A33);
    border-left:3px solid var(--fle-accent, #C6F135);
    border-radius:0 6px 6px 0;
    padding:0.45rem 0.95rem;
    color:var(--fle-text, #F2F3F5);
    font-family:var(--fle-font-d, sans-serif);
    font-weight:700; font-size:0.85rem; letter-spacing:0.02em;
    margin:1.5rem 0 0.75rem;
}
.fle-single__equip-group:first-of-type,
.fle-single__main .fle-single__equip .fle-single__equip-group:first-of-type{ margin-top:1rem; }
.fle-single__main .fle-single__equip-grid{
    border-top:0; padding-top:0;
    border-left:1px solid var(--fle-line, #262A33);
    margin-left:1px; padding-left:1.1rem;
}
.fle-single__equip-grid li{ padding-top:0.3rem; padding-bottom:0.3rem; }

/* === 1.27.0: dolne paski nie nachodza na siebie ===
   Gdy wylogowany widzi pasek logowania (widget), pasek kontaktu ogloszenia
   wjezdza nad niego (zmienna --fle-authbar-h ustawiana przez widget). */
@media (max-width:767px){
    .fle-stickybar{ bottom:var(--fle-authbar-h, 0px); }
}

/* === 1.29.0: zarzadzanie zdjeciami przy edycji === */
.fle-photoman{ border:1px solid var(--fle-line); border-radius:8px; padding:1rem 1.1rem 1.1rem; }
.fle-photoman legend{ color:var(--fle-muted); font-size:0.72rem; font-weight:600;
    letter-spacing:0.12em; text-transform:uppercase; padding:0 0.4rem; }
.fle-photoman__hint{ margin:0 0 0.9rem; }
.fle-photoman__grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); gap:0.8rem; }
.fle-photoman__item{ display:grid; gap:0.45rem; }
.fle-photoman__item img{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover;
    border:1px solid var(--fle-line); border-radius:6px; }
.fle-photoman__item:has(input[type="radio"]:checked) img{ border-color:var(--fle-accent); }
.fle-photoman__item:has(input[type="checkbox"]:checked) img{ opacity:0.35; border-color:#EF4444; }
.fle-photoman__main, .fle-photoman__del{ display:flex; align-items:center; gap:0.45rem;
    color:var(--fle-muted); font-size:0.8rem; font-weight:600; cursor:pointer; min-height:24px; }
.fle-photoman__main input{ accent-color:#C6F135; width:15px; height:15px; flex:none; cursor:pointer; }
.fle-photoman__del input{ accent-color:#EF4444; width:15px; height:15px; flex:none; cursor:pointer; }
.fle-photoman__main input:checked + span{ color:var(--fle-text); }
.fle-photoman__del input:checked + span{ color:#F87171; }

/* === 1.29.1: rytm powierzchni na stronie ogloszenia ===
   Zamiast jednej czarnej plamy trzy wyrazne strefy:
   1. Wazne informacje: panel na tle #101216 z kafelkami-kartami na #16181D,
      VIN jako stopka panelu za linia;
   2. Opis: celowo bez pudelka, oddycha na tle strony (kontrast przez sasiadow);
   3. Wyposazenie: drugi panel, flagi grup na jasniejszej powierzchni #1C1F26.
   Jezyk DESIGN.md bez zmian: limonka, romby, radius 8/6, linie 1px. */

/* --- Strefa 1: Wazne informacje jako panel --- */
.fle-single__main .fle-feats{
    background:#101216; border:1px solid var(--fle-line, #262A33);
    border-radius:8px; padding:1.3rem 1.3rem 1.15rem; }
.fle-single__main .fle-feats__grid{
    border-top:0; padding-top:0.25rem; gap:0.7rem; }
.fle-single__main .fle-feats__item{
    background:var(--fle-surface, #16181D); border:1px solid var(--fle-line, #262A33);
    border-radius:6px; padding:0.95rem 0.7rem;
    transition:border-color 0.18s var(--fle-ease, ease); }
.fle-single__main .fle-feats__item:hover{ border-color:var(--fle-line-hover, #333945); }
.fle-single__main .fle-feats__vin{
    border-top:1px solid var(--fle-line, #262A33);
    margin-top:1.1rem; padding:1rem 0.1rem 0; }

/* --- Strefa 2: opis oddycha (bez podwojnych linii przy panelach) --- */
.fle-single__main .fle-single__desc{ border-top:0; padding-top:0.4rem; }

/* --- Strefa 3: Wyposazenie jako panel --- */
.fle-single__main .fle-single__equip{
    background:#101216; border:1px solid var(--fle-line, #262A33);
    border-radius:8px; padding:1.3rem 1.3rem 1.35rem; border-top:1px solid var(--fle-line, #262A33); }
.fle-single__main .fle-single__equip .fle-single__equip-group{
    background:var(--fle-surface-2, #1C1F26); }
.fle-single__main .fle-single__equip .fle-single__equip-grid{
    border-left-color:var(--fle-line-hover, #333945); }

/* --- Mobile: panele pelnej szerokosci, kafelki zwarte, 3 kolumny zostaja --- */
@media (max-width:959px){
    .fle-single__main .fle-feats,
    .fle-single__main .fle-single__equip{ padding:1.05rem 0.95rem 1rem; }
    .fle-single__main .fle-feats__grid{ gap:0.5rem; border-top:0; }
    .fle-single__main .fle-feats__item{ padding:0.85rem 0.35rem; }
}

/* === 1.30.0: mapa widoczna na desktopie, social w kolorach marek,
       mobile 1:1 jak otomoto (bez pudelek), fallbacki pod embedami === */

/* Kolumna boczna NIE klei sie jako calosc: przy dluzszej zawartosci sticky
   ucinal dol (mapa, udostepnianie) poza ekranem bez mozliwosci doscrollowania. */
.fle-single .fle-single__side{ position:static; top:auto; }

/* Fallback pod mapa i filmem (adblock na desktopie potrafi wycinac iframy) */
.fle-single__ext{ display:inline-flex; align-items:center; gap:0.4rem; margin-top:0.55rem;
    color:var(--fle-muted, #7A7F8A); font-size:0.8rem; font-weight:600; text-decoration:none;
    transition:color 0.18s var(--fle-ease, ease); }
.fle-single__ext:hover{ color:var(--fle-accent, #C6F135); }
.fle-single__ext--video{ margin:0.55rem 0 0 0.1rem; }

/* Udostepnianie w kolorach marek */
.fle-single .fle-share__btn--wa{ color:#25D366; border-color:rgba(37,211,102,0.45); }
.fle-single .fle-share__btn--wa:hover{ background:#25D366; border-color:#25D366; color:#06130B; }
.fle-single .fle-share__btn--fb{ color:#4D8FF5; border-color:rgba(24,119,242,0.55); }
.fle-single .fle-share__btn--fb:hover{ background:#1877F2; border-color:#1877F2; color:#FFFFFF; }

/* Mobile: uklad 1:1 jak otomoto, zero kwadratowych paneli */
@media (max-width:959px){
    .fle-single__main .fle-feats,
    .fle-single__main .fle-single__equip{
        background:transparent; border:none; border-radius:0; padding:0; }
    .fle-single__main .fle-feats__grid{ gap:0; border-top:1px solid var(--fle-line, #262A33); }
    .fle-single__main .fle-feats__item{
        background:transparent; border:none; border-radius:0; padding:1rem 0.35rem; }
    .fle-single__main .fle-feats__vin{ margin-top:0.4rem; padding:0.9rem 0 0; }
    .fle-single__main .fle-single__desc{ border-top:1px solid var(--fle-line, #262A33); padding-top:1.4rem; }
    .fle-single__main .fle-single__equip{ border-top:1px solid var(--fle-line, #262A33); padding-top:1.4rem; }
    .fle-single__main .fle-single__equip .fle-single__equip-group{
        background:transparent; border:none; border-radius:0; padding:0.1rem 0;
        margin:1.1rem 0 0.35rem; font-size:1rem; }
    .fle-single__main .fle-single__equip .fle-single__equip-grid{
        border-left:none; margin-left:0; padding-left:0; }
}

/* ============================================================
   1.31.0 REDESIGN STRONY OGLOSZENIA 1:1 wg mapy twojacesja-ogloszenie.html
   Warstwa autorytatywna: nadpisuje wczesniejsze eksperymenty (panele 1.29.1,
   mobile bez pudelek 1.30.0). Jezyk mapy: panele surface z ramka i radius 8
   na KAZDEJ szerokosci, eyebrows uppercase bez ikon, dane pojazdu jako
   wiersze dt/dd na liniach, wyposazenie jako chipy w grupach, aside 400px
   sticky z wlasnym scrollem, uklad g/a nad c/a.
   ============================================================ */

/* --- Uklad --- */
.fle-single__grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; }
.fle-single__main{ display:contents; }
.fle-single__side{ display:contents; }
.fle-single__grid > *, .fle-single__main > *, .fle-single__side > *{ min-width:0; width:auto; margin:0; }

/* Kolejnosc (mobile i desktopowa kolumna tresci): galeria, karta oferty,
   obserwujacy, kontakt, zbywca, udostepnianie, zgloszenie, opis, dane,
   wyposazenie, lokalizacja */
.fle-single__media{ order:1; }
.fle-single__side > .fle-single__card{ order:2; }
.fle-single__watchers{ order:3; }
.fle-single__side > .fle-box{ order:3; }
.fle-single__contact{ order:4; }
.fle-single__seller{ order:5; }
.fle-single__share{ order:6; }
.fle-single__side > .fle-report-link{ order:7; }
.fle-single__side > .fle-modal{ order:8; }
.fle-single__desc{ order:10; }
.fle-single__grid .fle-feats{ order:11; }
.fle-single__equip{ order:12; }
.fle-single__loc{ order:13; }

@media (min-width:1020px){
    .fle-single__grid{ grid-template-columns:minmax(0,1fr) 400px; gap:2.5rem 2.5rem; align-items:start; }
    .fle-single__main{ display:contents; }
    .fle-single__main > *{ grid-column:1; }
    .fle-single__side{ display:flex; flex-direction:column; gap:1.5rem;
        grid-column:2; grid-row:1 / span 30;
        position:sticky; top:5.2rem;
        max-height:calc(100dvh - 6.2rem); overflow-y:auto; overscroll-behavior:contain;
        scrollbar-width:thin; scrollbar-color:var(--fle-line) transparent;
        padding-right:2px; }
    .fle-single__side > *{ order:0; flex:none; }
    .fle-single__grid{ row-gap:2.5rem; }
}
@media (max-width:1019px){
    .fle-single__grid{ display:flex; flex-direction:column; gap:1rem; }
    .fle-single .fle-single__side{ position:static; max-height:none; overflow:visible; }
}

/* --- Panele wszedzie (mapa nie rozroznia mobile/desktop) --- */
.fle-single__desc,
.fle-single__main .fle-single__desc,
.fle-single__main .fle-feats,
.fle-single__main .fle-single__equip,
.fle-single__loc,
.fle-single__seller,
.fle-single__share{
    background:var(--fle-surface, #16181D); border:1px solid var(--fle-line, #262A33);
    border-radius:8px; padding:1.5rem; margin:0; }
.fle-single__main .fle-single__desc{ border-top:1px solid var(--fle-line, #262A33); padding-top:1.5rem; }
.fle-single__main .fle-feats{ background:var(--fle-surface, #16181D); }

/* --- Eyebrows sekcji: uppercase, bez ikon (romb ukryty) --- */
.fle-single__desc-h,
.fle-single__loc-h,
.fle-single__seller .fle-single__loc-h,
.fle-feats__h{
    display:flex; align-items:center; gap:0.6rem;
    font-family:var(--fle-font-b, sans-serif);
    font-size:0.75rem; font-weight:600; letter-spacing:0.15em; text-transform:uppercase;
    color:var(--fle-muted, #7A7F8A); margin:0 0 1rem; }
.fle-single__desc-h span, .fle-single__loc-h span{ display:none; }

/* --- Dane pojazdu: wiersze dt/dd na liniach zamiast kafelkow z ikonami --- */
.fle-single__main .fle-feats__grid{
    display:block; border:none; padding:0; gap:0; }
.fle-single__main .fle-feats__item{
    display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
    background:transparent; border:none; border-radius:0;
    border-bottom:1px solid var(--fle-line, #262A33);
    padding:0.65rem 0; text-align:left; font-size:0.95rem; }
.fle-single__main .fle-feats__ico{ display:none; }
.fle-single__main .fle-feats__label{
    order:-1; color:var(--fle-muted, #7A7F8A);
    font-size:0.95rem; font-weight:400; letter-spacing:0; text-transform:none; margin:0; }
.fle-single__main .fle-feats__val{ font-size:0.95rem; font-weight:600; color:var(--fle-text, #F2F3F5); }
.fle-single__main .fle-feats__vin{
    border-top:none; margin-top:0.15rem; padding:0.65rem 0 0; }

/* --- Wyposazenie: grupy z naglowkiem uppercase i chipami --- */
.fle-single__main .fle-single__equip .fle-single__equip-group,
.fle-single__equip-group{
    display:block; background:transparent; border:none; border-radius:0; padding:0;
    color:var(--fle-muted, #7A7F8A); font-family:var(--fle-font-b, sans-serif);
    font-size:0.75rem; font-weight:600; letter-spacing:0.15em; text-transform:uppercase;
    margin:1.5rem 0 0.7rem; }
.fle-single__main .fle-single__equip .fle-single__equip-group:first-of-type{ margin-top:0; }
.fle-single__main .fle-single__equip-grid,
.fle-single__equip-grid{
    display:flex; flex-wrap:wrap; gap:0.5rem;
    border:none; margin:0; padding:0; }
.fle-single__equip-grid li{
    display:inline-flex; align-items:center;
    border:1px solid var(--fle-line, #262A33); border-radius:5px;
    padding:0.38rem 0.7rem; margin:0;
    color:var(--fle-text, #F2F3F5); font-size:0.85rem; line-height:1.4; }
.fle-single__equip-grid li::before{ display:none; }

/* --- Karta oferty: detale jak w mapie (tagi uppercase, pasek 6px) --- */
.fle-single__card .fle-single__chip,
.fle-single .fle-chip{
    text-transform:uppercase; letter-spacing:0.08em; font-size:0.78rem;
    border-radius:4px; }
.fle-single__card .fle-card__bar,
.fle-single .fle-card__bar{ height:6px; }

/* --- Lokalizacja jako panel tresci: adres i mapa --- */
.fle-single__loc-addr{ font-size:0.95rem; }
.fle-single__map-frame{ height:260px; }

/* --- Reduced motion bez zmian (dziedziczy z wczesniejszych warstw) --- */

/* ============================================================
   1.32.0 / czesc A: poprawki strony ogloszenia po wdrozeniu mapy
   ============================================================ */
/* Link do YouTube pod miniaturami (byl w figurze i nachodzil na zdjecie) */
.fle-single__ext--video{ margin:0.15rem 0 0; align-self:flex-start; }

/* Prawa kolumna: bez wlasnego suwaka i bez klejenia calosci (dol zawsze
   osiagalny), kolejnosc 1:1 z mapa: karta oferty, kontakt, zbywca,
   udostepnianie, zgloszenie */
@media (min-width:1020px){
    .fle-single__side{ position:static; top:auto; max-height:none; overflow:visible; padding-right:0; }
    .fle-single__side > .fle-single__card{ order:1; }
    .fle-single__side > .fle-box{ order:2; }
    .fle-single__watchers{ order:2; }
    .fle-single__contact{ order:3; }
    .fle-single__seller{ order:4; }
    .fle-single__share{ order:5; }
    .fle-single__side > .fle-report-link{ order:6; }
    .fle-single__side > .fle-modal{ order:7; }
}

/* Udostepnianie w kolorach portali (ikona + tekst, hover pelny kolor marki) */
.fle-single .fle-single__share .fle-share__btn--wa,
.fle-single .fle-single__share a.fle-share__btn--wa{
    color:#25D366; border-color:rgba(37,211,102,0.5); }
.fle-single .fle-single__share .fle-share__btn--wa:hover,
.fle-single .fle-single__share a.fle-share__btn--wa:hover{
    background:#25D366; border-color:#25D366; color:#06130B; }
.fle-single .fle-single__share .fle-share__btn--fb,
.fle-single .fle-single__share a.fle-share__btn--fb{
    color:#5A97F7; border-color:rgba(24,119,242,0.6); }
.fle-single .fle-single__share .fle-share__btn--fb:hover,
.fle-single .fle-single__share a.fle-share__btn--fb:hover{
    background:#1877F2; border-color:#1877F2; color:#FFFFFF; }
.fle-single__share .fle-share__btn svg{ flex:none; }

/* ============================================================
   1.32.0 / czesc B: LISTING OGLOSZEN 1:1 wg mapy twojacesja-listing.html
   Panel filtrow: pola z etykietami uppercase na liniach, kontrolki bez
   ramek, toggle Bez odstepnego, limonkowy Pokaz cesje. Karty POZIOME:
   zdjecie | tresc | kolumna transakcji; pasek wynikow z licznikiem i
   sortowaniem; stopka z licznikiem wyswietlen.
   ============================================================ */

/* --- Panel filtrow --- */
.fle-filters{
    display:block; background:var(--fle-surface, #16181D);
    border:1px solid var(--fle-line, #262A33); border-radius:8px;
    padding:0.5rem 1.5rem 1.25rem; }
.fle-filters__field{ border-bottom:1px solid var(--fle-line, #262A33); padding:0.85rem 0; }
.fle-filters__field label{
    display:block; font-size:0.7rem; font-weight:600; letter-spacing:0.14em;
    text-transform:uppercase; color:var(--fle-muted, #7A7F8A); margin:0 0 0.15rem; }
.fle-filters__field select,
.fle-filters__field input[type="number"]{
    width:100%; background:transparent; border:none; border-radius:0;
    color:var(--fle-text, #F2F3F5); font-family:inherit; font-size:1rem; font-weight:500;
    padding:0.15rem 1.6rem 0.15rem 0; cursor:pointer; appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%237A7F8A' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right center; }
.fle-filters__field input[type="number"]{ background-image:none; cursor:text; }
.fle-filters__field select option{ background:var(--fle-surface-2, #1C1F26); color:var(--fle-text, #F2F3F5); }
.fle-filters__field select:focus-visible,
.fle-filters__field input:focus-visible{ outline:2px solid var(--fle-accent, #C6F135); outline-offset:2px; }
.fle-filters__check{
    display:inline-flex; margin:1.1rem 0 0; cursor:pointer; }
.fle-filters__check input{ position:absolute; opacity:0; pointer-events:none; }
.fle-filters__check span{
    display:inline-flex; align-items:center; gap:0.5rem;
    border:1px solid var(--fle-line, #262A33); border-radius:4px;
    padding:0.45rem 0.8rem; color:var(--fle-muted, #7A7F8A);
    font-size:0.92rem; font-weight:500;
    transition:border-color 0.18s var(--fle-ease, ease), color 0.18s var(--fle-ease, ease); }
.fle-filters__check span i{ width:8px; height:8px; background:var(--fle-line-hover, #333945);
    transform:rotate(45deg); transition:background-color 0.18s var(--fle-ease, ease); }
.fle-filters__check input:checked + span{ color:var(--fle-text, #F2F3F5); border-color:var(--fle-accent, #C6F135); }
.fle-filters__check input:checked + span i{ background:var(--fle-accent, #C6F135); }
.fle-filters__check input:focus-visible + span{ outline:2px solid var(--fle-accent, #C6F135); outline-offset:2px; }
.fle-filters__submit{ width:100%; margin-top:1.25rem; }

@media (min-width:1020px){
    .fle-layout{ align-items:start; }
    .fle-layout__filters{ position:sticky; top:5.2rem; }
}

/* --- Pasek wynikow --- */
.fle-results{
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
    flex-wrap:wrap; margin:0 0 1rem; }
.fle-results__count{ margin:0; color:var(--fle-muted, #7A7F8A); font-size:0.95rem;
    font-variant-numeric:tabular-nums; }
.fle-results__count b{ color:var(--fle-text, #F2F3F5); font-weight:700; }
.fle-results__sort{ display:flex; align-items:center; gap:0.5rem; margin-left:auto;
    color:var(--fle-muted, #7A7F8A); font-size:0.88rem; }
.fle-results__sort select{
    background:transparent; border:1px solid var(--fle-line, #262A33); border-radius:4px;
    color:var(--fle-text, #F2F3F5); font-family:inherit; font-size:0.9rem; font-weight:500;
    padding:0.4rem 1.7rem 0.4rem 0.7rem; cursor:pointer; appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%237A7F8A' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 0.6rem center; }
.fle-results__sort select option{ background:var(--fle-surface-2, #1C1F26); }

/* --- Karty poziome --- */
.fle-list{ display:grid; grid-template-columns:1fr; gap:1rem; }
.fle-list .fle-card{
    display:grid; grid-template-columns:1fr; grid-template-rows:auto;
    background:var(--fle-surface, #16181D); border:1px solid var(--fle-line, #262A33);
    border-radius:8px; overflow:hidden;
    transition:border-color 0.22s var(--fle-ease, ease), transform 0.22s var(--fle-ease, ease); }
.fle-list .fle-card:hover{ transform:none; border-color:var(--fle-line-hover, #333945); }
.fle-list .fle-card__media{ position:relative; aspect-ratio:3/2; overflow:hidden; }
.fle-list .fle-card__media img{ width:100%; height:100%; object-fit:cover; }
.fle-list .fle-card__body{ display:contents; }
.fle-list .fle-card__name{ order:1; padding:1rem 1.5rem 0; font-size:1.08rem; }
.fle-list .fle-card__loc{ order:2; padding:0.35rem 1.5rem 0; margin:0; font-size:0.9rem; }
.fle-list .fle-card__chips{ order:3; padding:0.7rem 1.5rem 0; margin:0; }
.fle-list .fle-card__sched{ order:4; padding:0.9rem 1.5rem 1rem; margin:0; }
.fle-list .fle-card__rata{ order:5; margin:0; padding:1rem 1.5rem 0.4rem;
    border-top:1px solid var(--fle-line, #262A33);
    display:flex; justify-content:flex-end; }
.fle-list .fle-card__foot{ order:6; border-top:0; padding:0 1.5rem 1rem; margin:0;
    display:flex; flex-direction:column; align-items:flex-end; gap:0.4rem; }
.fle-list .fle-card__foot a{ min-height:0; }
.fle-list .fle-card__foot a::after{ content:" \2192"; }

@media (min-width:720px){
    .fle-list .fle-card{
        grid-template-columns:300px minmax(0,1fr) 208px;
        grid-template-rows:auto auto auto 1fr; }
    .fle-list .fle-card__media{ grid-column:1; grid-row:1 / -1; aspect-ratio:auto;
        height:100%; min-height:186px; }
    .fle-list .fle-card__media img{ position:absolute; inset:0; }
    .fle-list .fle-card__name{ grid-column:2; grid-row:1; padding:1.5rem 1.5rem 0; }
    .fle-list .fle-card__loc{ grid-column:2; grid-row:2; padding:0.3rem 1.5rem 0; }
    .fle-list .fle-card__chips{ grid-column:2; grid-row:3; padding:0.7rem 1.5rem 0; }
    .fle-list .fle-card__sched{ grid-column:2; grid-row:4; align-self:end; padding:1rem 1.5rem 1.5rem; }
    .fle-list .fle-card__rata{ grid-column:3; grid-row:1; border-top:0;
        border-left:1px solid var(--fle-line, #262A33); padding:1.5rem 1.5rem 0; }
    .fle-list .fle-card__foot{ grid-column:3; grid-row:2 / -1;
        border-left:1px solid var(--fle-line, #262A33); padding:0.4rem 1.5rem 1.5rem;
        justify-content:flex-start; }
    .fle-list .fle-card__foot a{ margin-top:auto; }
}

/* --- Paginacja i stopka listy --- */
.fle-pages{ display:flex; justify-content:center; gap:0.5rem; margin:2.5rem 0 0; }
.fle-pages__item{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:44px; min-height:44px; padding:0 0.9rem;
    border:1px solid var(--fle-line, #262A33); border-radius:6px;
    color:var(--fle-text, #F2F3F5); font-weight:600; text-decoration:none;
    transition:border-color 0.18s var(--fle-ease, ease), color 0.18s var(--fle-ease, ease); }
.fle-pages__item:hover{ border-color:var(--fle-muted, #7A7F8A); }
.fle-pages__item.is-active{ background:var(--fle-accent, #C6F135); color:#131503; border-color:var(--fle-accent, #C6F135); }
.fle-list__shown{ margin:0.6rem 0 0; text-align:center; color:var(--fle-muted, #7A7F8A);
    font-size:0.88rem; font-variant-numeric:tabular-nums; }

/* ============================================================
   1.33.0: pusty pas pod ogloszeniem, jednolite bloki mobile,
   karta listingu 1:1 z makieta, chipy filtrow, lightbox mobile
   ============================================================ */

/* --- Ogloszenie / DESKTOP: kolumna glowna jako pion (koniec z pustymi
       wierszami siatki: span 30 + row-gap tworzyl setki pikseli pustki) --- */
@media (min-width:1020px){
    .fle-single__grid{ grid-template-columns:minmax(0,1fr) 400px; grid-template-rows:auto;
        column-gap:2.5rem; row-gap:0; align-items:start; }
    .fle-single__main{ display:flex; flex-direction:column; gap:2.5rem;
        grid-column:1; grid-row:1; min-width:0; }
    .fle-single__side{ grid-column:2; grid-row:1; }
    .fle-single__main > .fle-single__media{ order:1; }
    .fle-single__main > .fle-single__desc{ order:2; }
    .fle-single__main > .fle-feats{ order:3; }
    .fle-single__main > .fle-single__equip{ order:4; }
    .fle-single__main > .fle-single__loc{ order:5; }
}

/* --- Ogloszenie / MOBILE: jedna autorytatywna kolejnosc i pelna szerokosc
       kazdego bloku (wczesniejsze warstwy orderow sie gryzly, a karta
       zbywcy wychodzila wezsza) --- */
@media (max-width:1019px){
    .fle-single__grid{ display:flex; flex-direction:column; gap:1rem; }
    .fle-single__main, .fle-single__side{ display:contents; }
    .fle-single__grid > *, .fle-single__main > *, .fle-single__side > *{
        width:100%; max-width:none; margin:0; box-sizing:border-box; }
    .fle-single__media{ order:1; }
    .fle-single__side > .fle-single__card{ order:2; }
    .fle-single__side > .fle-box{ order:3; }
    .fle-single__watchers{ order:3; }
    .fle-single__contact{ order:4; }
    .fle-single__seller{ order:5; }
    .fle-single__share{ order:6; }
    .fle-single__side > .fle-report-link{ order:7; }
    .fle-single__side > .fle-modal{ order:8; }
    .fle-single__desc{ order:9; }
    .fle-single__grid .fle-feats{ order:10; }
    .fle-single__equip{ order:11; }
    .fle-single__loc{ order:12; }
}

/* --- Karta: meta tekstem i tagi umowy (makieta), jedna strzalka --- */
.fle-card__meta{ margin:0.3rem 0 0; color:var(--fle-muted, #7A7F8A); font-size:0.9rem;
    font-variant-numeric:tabular-nums; line-height:1.5; }
.fle-card__tags{ display:flex; flex-wrap:wrap; gap:0.45rem; margin-top:0.7rem; }
.fle-card__tag{ font-size:0.78rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
    border:1px solid var(--fle-line, #262A33); border-radius:4px; padding:0.3rem 0.6rem;
    color:var(--fle-muted, #7A7F8A); }
.fle-list .fle-card__foot a::after{ content:none; }

/* Pozioma karta listingu: nowe elementy w miejsca makiety */
.fle-list .fle-card__meta{ order:2; padding:0.3rem 1.5rem 0; margin:0; }
.fle-list .fle-card__tags{ order:3; padding:0.7rem 1.5rem 0; margin:0; }
@media (min-width:720px){
    .fle-list .fle-card__meta{ grid-column:2; grid-row:2; padding:0.3rem 1.5rem 0; }
    .fle-list .fle-card__tags{ grid-column:2; grid-row:3; padding:0.7rem 1.5rem 0; }
}

/* --- Chipy aktywnych filtrow przy liczniku --- */
.fle-results__chips{ display:flex; flex-wrap:wrap; gap:0.5rem; }
.fle-results__chip{ display:inline-flex; align-items:center; gap:0.5rem;
    border:1px solid color-mix(in srgb, var(--fle-accent, #C6F135) 45%, transparent);
    border-radius:4px; padding:0.35rem 0.7rem;
    color:var(--fle-text, #F2F3F5); font-size:0.85rem; font-weight:500; text-decoration:none;
    transition:border-color 0.18s var(--fle-ease, ease); }
.fle-results__chip span{ color:var(--fle-accent, #C6F135); font-size:1rem; line-height:1; }
.fle-results__chip:hover{ border-color:var(--fle-accent, #C6F135); }

/* --- Lightbox na telefonie: strzalki pod zdjeciem, nic na siebie nie wchodzi --- */
@media (max-width:767px){
    .fle-lb__img{ max-width:96vw; max-height:calc(100dvh - 9rem); }
    .fle-lb__nav{ top:auto; bottom:calc(1.1rem + env(safe-area-inset-bottom, 0px));
        transform:none; height:48px; width:64px; }
    .fle-lb__prev{ left:1.1rem; }
    .fle-lb__next{ right:1.1rem; }
    .fle-lb__close{ top:calc(0.9rem + env(safe-area-inset-top, 0px)); right:0.9rem; }
}

/* ============================================================
   1.34.0: jedna pionowa kreska na karcie, wykrzyknik w rogu po
   zalogowaniu, finalna kolejnosc blokow ogloszenia na telefonie
   ============================================================ */

/* Karta listingu: JEDNA ciagla pionowa linia przed kolumna transakcji
   (border-left na dwoch elementach zostawial przerwy przy tekstach) */
.fle-list .fle-card{ position:relative; }
@media (min-width:720px){
    .fle-list .fle-card::before{ content:""; position:absolute; top:0; bottom:0; right:208px;
        width:1px; background:var(--fle-line, #262A33); pointer-events:none; }
    .fle-list .fle-card__rata{ border-left:none; }
    .fle-list .fle-card__foot{ border-left:none; }
}

/* Wykrzyknik: pozycje przepisane od zera (baza = zalogowany w samym rogu) */
@media (max-width:767px){
    .fle-bug__fab{ bottom:calc(0.9rem + env(safe-area-inset-bottom, 0px)); }
    body.fle-has-authbar .fle-bug__fab{ bottom:calc(var(--fle-authbar-h, 3.6rem) + 0.9rem); }
    body.single-fle_listing .fle-bug__fab{ bottom:calc(4.4rem + env(safe-area-inset-bottom, 0px)); }
    body.single-fle_listing.fle-has-authbar .fle-bug__fab{ bottom:calc(var(--fle-authbar-h, 3.6rem) + 4.4rem); }
}

/* Ogloszenie / telefon: kolejnosc dokladnie wg wlasciciela:
   zdjecia, blok z Obserwuj (karta oferty), zbywca, udostepnij,
   opis, dane pojazdu, wyposazenie, mapa; kontakt za mapa (dolny pasek
   Kontakt zjezdza prosto do niego), zgloszenie na koncu */
@media (max-width:1019px){
    .fle-single__media{ order:1; }
    .fle-single__side > .fle-single__card{ order:2; }
    .fle-single__side > .fle-box{ order:3; }
    .fle-single__watchers{ order:3; }
    .fle-single__seller{ order:4; }
    .fle-single__share{ order:5; }
    .fle-single__desc{ order:6; }
    .fle-single__grid .fle-feats{ order:7; }
    .fle-single__equip{ order:8; }
    .fle-single__loc{ order:9; }
    .fle-single__contact{ order:10; }
    .fle-single__side > .fle-report-link{ order:11; }
    .fle-single__side > .fle-modal{ order:12; }
}

/* === 1.35.0: pasek dolny ogloszenia na telefonie ===
   Zalogowany: widoczny od wejscia, rata z lewej, Pokaz numer z prawej
   (przycisk zamienia sie w klikalny numer tel:). Wylogowany na telefonie
   nie widzi tego paska (ma pasek logowania); desktop bez zmian. */
.fle-stickybar__phone{ display:none; }
@media (max-width:767px){
    body:not(.logged-in) .fle-stickybar{ display:none !important; }
    .fle-stickybar__in{ justify-content:space-between; }
    .fle-stickybar__rate{ flex:1; font-size:0.9rem; }
    .fle-stickybar__rate b{ font-size:1.25rem; }
    .fle-stickybar__btn{ display:none; }
    .fle-stickybar__phone{ display:inline-flex; flex:none; }
    /* wykrzyknik u zalogowanego na ogloszeniu: nad tym paskiem */
    body.logged-in.single-fle_listing .fle-bug__fab{
        bottom:calc(4.4rem + env(safe-area-inset-bottom, 0px)); }
}

/* === 1.36.0: rejestracja z kodem SMS === */
.fle-smsrow{ display:flex; gap:0.6rem; align-items:stretch; }
.fle-smsrow input{ flex:1; min-width:0; }
.fle-smsrow__send{ flex:none; white-space:nowrap; min-height:48px; }
.fle-smsrow__send[disabled]{ opacity:0.55; cursor:default; transform:none; }
@media (max-width:420px){
    .fle-smsrow{ flex-direction:column; }
}

/* === 1.37.0: okno weryfikacji SMS (krok 2 rejestracji) === */
.fle-smsstep__title{ color:var(--fle-text, #F2F3F5); font-family:var(--fle-font-d, sans-serif);
    font-size:1.35rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 0.6rem; }
.fle-smsstep__lead{ color:var(--fle-muted, #7A7F8A); font-size:0.95rem; line-height:1.65; margin:0 0 1.25rem; }
.fle-smsstep__lead b{ color:var(--fle-text, #F2F3F5); }
.fle-smsstep #fle_sms_code{ font-size:1.4rem; letter-spacing:0.35em; text-align:center;
    font-variant-numeric:tabular-nums; }
.fle-smsstep__resend{ display:flex; flex-direction:column; gap:0.5rem; align-items:flex-start;
    margin-top:0.5rem; }

/* === 1.38.0: okno weryfikacji SMS przy dodawaniu ogloszenia === */
.fle-smsmodal[hidden]{ display:none !important; }
.fle-smsmodal{ position:fixed; top:0; left:0; width:100%; height:100dvh; z-index:99990;
    display:flex; align-items:center; justify-content:center; padding:1.25rem;
    background:rgba(9, 10, 13, 0.78); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.fle-smsmodal__card{ width:100%; max-width:430px; background:var(--fle-surface, #16181D);
    border:1px solid var(--fle-line-hover, #333945); border-radius:8px; padding:1.75rem;
    max-height:calc(100dvh - 2.5rem); overflow-y:auto; }
.fle-smsmodal__title{ color:var(--fle-text, #F2F3F5); font-family:var(--fle-font-d, sans-serif);
    font-size:1.25rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 0.6rem; }
.fle-smsmodal__lead{ color:var(--fle-muted, #7A7F8A); font-size:0.92rem; line-height:1.6; margin:0 0 1.1rem; }
.fle-smsmodal__lead b{ color:var(--fle-text, #F2F3F5); white-space:nowrap; }
.fle-smsmodal #fle_gate_code{ font-size:1.4rem; letter-spacing:0.35em; text-align:center;
    font-variant-numeric:tabular-nums; width:100%; }
.fle-smsmodal__cancel{ background:none; border:none; padding:0; cursor:pointer;
    color:var(--fle-muted, #7A7F8A); font-size:0.88rem; text-decoration:underline;
    text-underline-offset:3px; font-family:inherit; }
.fle-smsmodal__cancel:hover{ color:var(--fle-text, #F2F3F5); }

/* === 1.39.0: pytanie o poprawnosc numeru przed wysylka SMS === */
.fle-smsmodal__phone{ color:var(--fle-text, #F2F3F5); font-family:var(--fle-font-d, sans-serif);
    font-size:1.45rem; font-weight:700; letter-spacing:0.02em; font-variant-numeric:tabular-nums;
    margin:0 0 0.8rem; }
.fle-smsmodal__ask{ color:var(--fle-muted, #7A7F8A); font-size:0.95rem; margin:0 0 1rem; }
.fle-smsmodal__askrow{ display:flex; align-items:center; gap:1.1rem; flex-wrap:wrap; margin:0; }
.fle-smsmodal [data-fle-smsmodal-status]:empty{ display:none; }

/* === 1.40.0: przycisk Popraw numer / Anuluj w oknie SMS ===
   Astra maluje wlasne tlo na button w tresci, przez co po najechaniu
   napis znikal (limonka na limonce). Tlo i kolor przybite na sztywno. */
.fle-smsmodal button.fle-smsmodal__cancel,
.fle-smsmodal .fle-smsmodal__cancel{
    background:transparent !important; border:none !important; box-shadow:none !important;
    padding:0.25rem 0 !important; min-height:44px; cursor:pointer;
    color:#7A7F8A !important; font-size:0.9rem; font-family:inherit;
    text-decoration:underline; text-underline-offset:3px;
    transition:color 0.18s cubic-bezier(0.4, 0, 0.2, 1); }
.fle-smsmodal button.fle-smsmodal__cancel:hover,
.fle-smsmodal button.fle-smsmodal__cancel:focus,
.fle-smsmodal .fle-smsmodal__cancel:hover{
    background:transparent !important; color:#F2F3F5 !important; }
.fle-smsmodal button.fle-smsmodal__cancel:focus-visible{
    outline:2px solid #C6F135; outline-offset:3px; }
