/* ============ Nessebar.org — FLATNEWS-style magazine (red/black) + hybrid catalog ============ */
:root{
  --red:#e02d2d;
  --red-d:#c01f1f;
  --dark:#1f1f1f;
  --darker:#161616;
  --ink:#232323;
  --muted:#777;
  --line:#e6e6e6;
  --bg:#f0f0f0;
  --card:#fff;
  --radius:4px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);line-height:1.55;
  background:#f2f4f6;min-height:100vh;position:relative;}

/* ===== Дискретна професионална текстура (без анимация) =====
   Фина точкова мрежа + едва доловим морски нюанс в горната част. */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:#f2f4f6;
  background-image:
    radial-gradient(120% 60% at 50% -10%, rgba(14,116,144,.07), transparent 55%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='1.5' cy='1.5' r='1' fill='%230f172a' fill-opacity='0.045'/%3E%3C/svg%3E");
  background-size:auto, 22px 22px;background-position:center;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.ns-container{max-width:1200px;margin:0 auto;padding:0 16px;}

/* Top bar */
.ns-topbar{background:var(--darker);color:#bbb;font-size:.8rem;}
.ns-topbar .ns-container{display:flex;align-items:center;justify-content:space-between;height:36px;}
.ns-topbar a{color:#bbb;}
.ns-topbar a:hover{color:#fff;}
.ns-toplinks a{margin-right:16px;text-transform:uppercase;font-size:.74rem;letter-spacing:.04em;}
.ns-social a{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;margin-left:4px;font-size:.74rem;color:#bbb;}
.ns-social a:hover{color:var(--red);}

/* Header */
.ns-header{background:var(--dark);}
.ns-header .ns-container{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 16px;flex-wrap:wrap;}
.ns-logo{display:flex;align-items:center;gap:12px;}
.ns-logo .ns-mark{width:50px;height:50px;background:var(--red);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:1.5rem;}
.ns-logo .ns-name{font-size:2rem;font-weight:800;color:#fff;letter-spacing:.5px;}
.ns-logo .ns-name b{color:var(--red);font-weight:800;}
.ns-logo .ns-tag{display:block;font-size:.72rem;color:#9a9a9a;font-weight:500;letter-spacing:.03em;margin-top:2px;}

/* Ad slots */
.ns-ad{background:repeating-linear-gradient(45deg,#2a2a2a,#2a2a2a 12px,#262626 12px,#262626 24px);border:1px dashed #444;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888;text-align:center;text-decoration:none;}
.ns-ad:hover{border-color:var(--red);color:#ddd;}
.ns-ad .ns-ad-k{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;color:var(--red);}
.ns-ad .ns-ad-m{font-size:.9rem;font-weight:600;margin-top:4px;}
.ns-ad-leader{height:90px;max-width:728px;width:100%;}
.ns-ad-banner{height:110px;margin:6px 0;background:repeating-linear-gradient(45deg,#fafafa,#fafafa 12px,#f1f1f1 12px,#f1f1f1 24px);border-color:#d4d4d4;color:#999;}
.ns-ad-banner .ns-ad-m{color:#777;}
.ns-ad-rect{height:250px;background:repeating-linear-gradient(45deg,#fafafa,#fafafa 12px,#f1f1f1 12px,#f1f1f1 24px);border-color:#d4d4d4;color:#999;}
.ns-header .ns-ad{flex:1;min-width:300px;}

/* Nav */
.ns-nav{background:var(--red);position:sticky;top:0;z-index:50;box-shadow:0 2px 6px rgba(0,0,0,.2);}
.ns-nav .ns-container{display:flex;align-items:center;flex-wrap:nowrap;overflow-x:auto;}
.ns-nav a{color:#fff;padding:14px 16px;font-weight:700;font-size:.86rem;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em;}
.ns-nav a:hover,.ns-nav a.active{background:var(--red-d);}
.ns-nav .ns-spacer{margin-left:auto;}
.ns-nav .ns-post{background:#fff;color:var(--red);margin:6px 0 6px 8px;border-radius:4px;}
.ns-nav .ns-post:hover{background:var(--dark);color:#fff;}

/* Breaking ticker */
.ns-ticker{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin:16px 0;overflow:hidden;}
.ns-ticker .ns-tk-label{background:var(--dark);color:#fff;font-weight:800;text-transform:uppercase;font-size:.8rem;padding:12px 16px;white-space:nowrap;letter-spacing:.03em;}
.ns-ticker .ns-tk-label b{color:var(--red);}
.ns-ticker .ns-tk-text{flex:1;padding:0 16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.92rem;}
.ns-ticker .ns-tk-text a:hover{color:var(--red);}

/* Section heads */
.ns-section{margin:24px 0;}
.ns-sec-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #ddd;margin-bottom:18px;}
.ns-sec-head h2{font-size:1.1rem;font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.03em;margin:0 0 -2px;padding-bottom:9px;border-bottom:3px solid var(--red);}
.ns-sec-head a{color:var(--red);font-weight:700;font-size:.8rem;text-transform:uppercase;}

/* HOT NEWS featured block */
.ns-hot{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;}
.ns-feat{position:relative;border-radius:var(--radius);overflow:hidden;min-height:330px;background:#222;}
.ns-feat img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .4s;}
.ns-feat:hover img{transform:scale(1.05);}
.ns-feat .ns-feat-body{position:absolute;inset:auto 0 0 0;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);z-index:2;}
.ns-feat .ns-feat-title{color:#fff;font-size:1.5rem;font-weight:800;line-height:1.25;}
.ns-feat .ns-feat-meta{color:#ddd;font-size:.8rem;margin-top:8px;}
.ns-hot-side{display:grid;grid-template-rows:1fr 1fr;gap:16px;}
.ns-feat-sm{min-height:auto;}
.ns-feat-sm .ns-feat-title{font-size:1.05rem;}
.ns-badge{position:absolute;top:10px;left:10px;background:var(--red);color:#fff;font-size:.66rem;font-weight:800;padding:4px 9px;border-radius:3px;text-transform:uppercase;z-index:3;}

/* Compact news strip */
.ns-newsstrip{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
.ns-news{display:flex;gap:11px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:10px;align-items:flex-start;transition:box-shadow .15s;}
.ns-news:hover{box-shadow:0 6px 16px rgba(0,0,0,.1);}
.ns-news .ns-news-img{width:84px;height:64px;border-radius:3px;overflow:hidden;flex:0 0 auto;background:#e2e8f0;}
.ns-news .ns-news-img img{width:100%;height:100%;object-fit:cover;}
.ns-news .ns-news-title{font-size:.88rem;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.ns-news:hover .ns-news-title{color:var(--red);}
.ns-news .ns-news-date{font-size:.72rem;color:var(--muted);margin-top:5px;}

/* Hybrid layout */
.ns-layout{display:grid;grid-template-columns:1fr 320px;gap:26px;align-items:start;}
.ns-main{min-width:0;}
.ns-sidebar{display:flex;flex-direction:column;gap:20px;}
.ns-side-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.ns-side-box h3{margin:0;background:var(--dark);color:#fff;font-size:.85rem;padding:11px 14px;text-transform:uppercase;letter-spacing:.03em;border-left:4px solid var(--red);}
.ns-side-box .ns-side-list{padding:4px 0;}
.ns-side-box .ns-side-list a{display:flex;justify-content:space-between;padding:9px 14px;font-size:.88rem;border-bottom:1px solid var(--line);}
.ns-side-box .ns-side-list a:last-child{border-bottom:none;}
.ns-side-box .ns-side-list a:hover{background:#fdeaea;color:var(--red);}
.ns-side-box .ns-side-list .ns-c{background:#f0f0f0;color:#555;border-radius:10px;padding:1px 9px;font-size:.76rem;font-weight:700;}

/* Popular posts */
.ns-pop{display:flex;gap:11px;padding:11px 14px;border-bottom:1px solid var(--line);}
.ns-pop:last-child{border-bottom:none;}
.ns-pop .ns-pop-img{width:64px;height:50px;border-radius:3px;overflow:hidden;flex:0 0 auto;background:#e2e8f0;}
.ns-pop .ns-pop-img img{width:100%;height:100%;object-fit:cover;}
.ns-pop .ns-pop-title{font-size:.84rem;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ns-pop:hover .ns-pop-title{color:var(--red);}
.ns-pop .ns-pop-meta{font-size:.72rem;color:var(--muted);margin-top:4px;}

/* Social counter */
.ns-sc{padding:12px 14px;display:flex;flex-direction:column;gap:8px;}
.ns-sc a{display:flex;align-items:center;gap:10px;color:#fff;padding:9px 12px;border-radius:3px;font-size:.86rem;font-weight:600;}
.ns-sc .ns-sc-n{margin-left:auto;font-weight:800;}
.ns-sc .fb{background:#1877f2;}
.ns-sc .tw{background:#111;}
.ns-sc .yt{background:#ff0000;}
.ns-sc .ig{background:#c13584;}

/* Category chips */
.ns-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.ns-chips button{background:#fff;border:1px solid var(--line);color:#444;padding:7px 15px;border-radius:3px;font-size:.84rem;font-weight:700;cursor:pointer;text-transform:uppercase;transition:all .15s;}
.ns-chips button:hover{border-color:var(--red);color:var(--red);}
.ns-chips button.active{background:var(--red);border-color:var(--red);color:#fff;}

/* Catalog/обяви grid */
.ns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
.ns-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;}
.ns-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,0,0,.14);}
.ns-card .ns-card-img{position:relative;aspect-ratio:4/3;background:#e2e8f0;overflow:hidden;}
.ns-card .ns-card-img{overflow:hidden;}
.ns-card .ns-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1);}
.ns-card:hover .ns-card-img img{transform:scale(1.05);}
.ns-card .ns-card-body{padding:12px;flex:1;display:flex;flex-direction:column;}
.ns-card .ns-card-title{font-size:.96rem;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ns-card:hover .ns-card-title{color:var(--red);}
.ns-card .ns-card-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.76rem;margin-top:auto;padding-top:10px;}

/* ===== Обяви — обособен панел с по-малки, скролиращи карти (акцент спрямо новините) ===== */
.ns-ads-panel{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:8px 0 24px;box-shadow:0 6px 18px rgba(0,0,0,.05);}
.ns-ads-head{background:#1f1f1f;color:#fff;display:flex;align-items:center;gap:16px;padding:0 16px;flex-wrap:wrap;}
.ns-ads-head .ns-ads-title{display:flex;align-items:center;gap:8px;font-weight:800;text-transform:uppercase;font-size:1rem;letter-spacing:.03em;padding:13px 0;border-bottom:3px solid var(--coral);}
.ns-ads-head .ns-ads-title .ic{color:var(--coral);font-size:1.1rem;}
.ns-ads-head .ns-ads-more{margin-left:auto;color:#cbd5e1;font-size:.78rem;font-weight:700;text-transform:uppercase;}
.ns-ads-head .ns-ads-more:hover{color:var(--coral);}
.ns-ads-body{padding:14px 16px 16px;background:linear-gradient(180deg,#fafafa,#fff);}
.ns-ads-body .ns-chips{margin-bottom:12px;}
.ns-ads-body .ns-search{margin-bottom:14px;}

.ns-scroller{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--coral) #e9e9e9;}
.ns-scroller::-webkit-scrollbar{height:8px;}
.ns-scroller::-webkit-scrollbar-track{background:#e9e9e9;border-radius:8px;}
.ns-scroller::-webkit-scrollbar-thumb{background:var(--coral);border-radius:8px;}
.ns-mini-card{flex:0 0 180px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;}
.ns-mini-card:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,0,0,.13);}
.ns-mini-card .ns-mc-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e2e8f0;}
.ns-mini-card .ns-mc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.2,.7,.2,1);}
.ns-mini-card:hover .ns-mc-img img{transform:scale(1.07);}
.ns-mini-card .ns-mc-badge{position:absolute;top:6px;left:6px;background:var(--coral);color:#fff;font-size:.6rem;font-weight:800;padding:2px 7px;border-radius:3px;text-transform:uppercase;}
.ns-mini-card .ns-mc-body{padding:9px 10px;flex:1;display:flex;flex-direction:column;}
.ns-mini-card .ns-mc-title{font-size:.82rem;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ns-mini-card:hover .ns-mc-title{color:var(--coral);}
.ns-mini-card .ns-mc-meta{font-size:.7rem;color:var(--muted);margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;gap:6px;}
.ns-scroller .ns-empty{flex:1;}

/* Редове по категория (главна страница) */
.ns-cat-row{margin-bottom:16px;}
.ns-cat-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.ns-cat-row-head h4{margin:0;font-size:.92rem;font-weight:800;text-transform:uppercase;color:#1f1f1f;border-left:3px solid var(--coral);padding-left:9px;letter-spacing:.02em;}
.ns-cat-row-head a{font-size:.72rem;color:var(--coral-d);font-weight:700;text-transform:uppercase;white-space:nowrap;}

/* Обяви-страница: филтър бар + компактна решетка (оптимизирана за търсене) */
.ns-filterbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--coral);border-radius:6px;padding:12px;margin-bottom:18px;}
.ns-filterbar input,.ns-filterbar select{padding:10px 12px;border:2px solid var(--line);border-radius:6px;font-size:.94rem;outline:none;background:#fff;color:var(--ink);}
.ns-filterbar input{flex:1;min-width:220px;}
.ns-filterbar input:focus,.ns-filterbar select:focus{border-color:var(--coral);}
.ns-filterbar .ns-fb-count{margin-left:auto;color:var(--muted);font-size:.84rem;font-weight:600;}
.ns-grid-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px;}

.ns-search{margin-bottom:16px;}
.ns-search input{width:100%;padding:12px 16px;border:2px solid var(--line);border-radius:4px;font-size:1rem;outline:none;}
.ns-search input:focus{border-color:var(--red);}
.ns-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:40px;background:#fff;border:1px dashed var(--line);border-radius:var(--radius);}

/* Article page */
.ns-article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:18px 0;}
.ns-article h1{font-size:1.9rem;line-height:1.25;margin:0 0 12px;color:var(--ink);}
.ns-art-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:.85rem;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px;align-items:center;}
.ns-art-badge{background:var(--red);color:#fff;font-weight:800;padding:3px 11px;border-radius:3px;font-size:.72rem;text-transform:uppercase;}
.ns-art-img{width:100%;border-radius:var(--radius);overflow:hidden;margin-bottom:18px;}
.ns-art-content{font-size:1.05rem;line-height:1.8;color:#333;}
.ns-art-content img{border-radius:var(--radius);margin:12px 0;}

/* Footer */
.ns-footer{background:var(--darker);color:#aaa;margin-top:40px;}
.ns-footer .ns-container{padding:36px 16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;}
.ns-footer h3{color:#fff;font-size:1rem;margin:0 0 14px;text-transform:uppercase;border-left:4px solid var(--red);padding-left:10px;}
.ns-footer h3 b{color:var(--red);}
.ns-footer a{color:#aaa;display:block;padding:4px 0;font-size:.9rem;}
.ns-footer a:hover{color:var(--red);}
.ns-footer .ns-fbar{grid-column:1/-1;border-top:1px solid #333;padding-top:16px;text-align:center;font-size:.82rem;color:#888;}

@media(max-width:900px){
  .ns-layout{grid-template-columns:1fr;}
  .ns-hot{grid-template-columns:1fr;}
  .ns-hot-side{grid-template-rows:none;grid-template-columns:1fr 1fr;}
  .ns-feat{min-height:240px;}
  .ns-header .ns-ad{display:none;}
}
@media(max-width:600px){
  .ns-logo .ns-name{font-size:1.5rem;}
  .ns-hot-side{grid-template-columns:1fr;}
}
