/*
Theme Name: Pulsul Capitalei
Theme URI: https://pulsulcapitalei.ro
Description: Buletin informativ municipal București
Author: Pulsul Capitalei
Version: 6.4.0
Text Domain: pulsulcapitalei
*/

/* ==========================================================================
   0. Design Tokens — Enhanced v5
   ========================================================================== */

/* Google Fonts: premium editorial stack */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,700&family=Source+Sans+3:wght@300;400;600;700&family=IBM+Plex+Mono:wght@400;600&display=swap');

:root{
    /* Brand */
    --crimson:#9B1C1C;--crimson-dk:#6D1313;--crimson-lt:#C53030;--crimson-pale:#FEF2F2;
    --crimson-glow:rgba(155,28,28,.12);
    --crimson-mid:rgba(155,28,28,.08);

    /* Neutrals — warmer, richer */
    --black:#0D0D0D;--charcoal:#2D2D2D;--charcoal-dk:#181818;
    --white:#FFFFFE;--off-white:#F7F6F3;--paper:#FAFAF8;
    --border:#DDD9D3;--border-lt:#EDEAE5;--border-dk:#C8C3BB;

    /* Text */
    --text-1:#141414;--text-2:#4A4A4A;--text-3:#888;--text-4:#BBB;

    /* Typography */
    --f-display:'Playfair Display',Georgia,serif;
    --f-body:'Source Sans 3','Source Sans Pro',system-ui,sans-serif;
    --f-mono:'IBM Plex Mono','Courier New',monospace;

    /* Geometry */
    --radius:6px;--radius-lg:12px;--radius-xl:16px;
    --ease:.22s cubic-bezier(.4,0,.2,1);
    --ease-spring:.35s cubic-bezier(.34,1.56,.64,1);
    --gutter:16px;

    /* Category colours — richer, more distinct */
    --cat-evenimente:#92400E;--cat-utile:#065F7A;--cat-opinii:#581C87;--cat-timp-liber:#064E3B;
    --cat-s1:#B91C1C;--cat-s2:#166534;--cat-s3:#1E3A5F;--cat-s4:#B45309;--cat-s5:#1D4ED8;--cat-s6:#7C2D8E;

    /* Shadows — layered, warm */
    --shadow-xs:0 1px 2px rgba(0,0,0,.04);
    --shadow-sm:0 2px 6px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
    --shadow-md:0 4px 20px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.05);
    --shadow-lg:0 12px 40px rgba(0,0,0,.12),0 4px 12px rgba(0,0,0,.07);
    --shadow-xl:0 24px 60px rgba(0,0,0,.15),0 8px 24px rgba(0,0,0,.09);
    --shadow-card:0 1px 4px rgba(0,0,0,.05),0 4px 16px rgba(0,0,0,.06);
    --shadow-card-hover:0 4px 24px rgba(0,0,0,.11),0 2px 8px rgba(0,0,0,.06);

    /* Divider gradient */
    --divider:linear-gradient(90deg,transparent,var(--border) 20%,var(--border) 80%,transparent);
}
@media(min-width:600px){:root{--gutter:20px}}
@media(min-width:1024px){:root{--gutter:28px}}

/* ==========================================================================
   1. Reset & Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
    font-family:var(--f-body);color:var(--text-1);
    background:var(--off-white);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    /* Subtle paper texture via noise gradient */
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.018'/%3E%3C/svg%3E");
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:100%;max-width:1160px;margin:0 auto;padding:0 var(--gutter)}

/* Focus-visible ring */
:focus-visible{outline:2px solid var(--crimson);outline-offset:3px;border-radius:3px}

.skip-link{position:absolute;left:-9999px;z-index:9999;padding:8px 16px;background:var(--crimson);color:#fff;font-weight:700}
.skip-link:focus{left:8px;top:8px}

/* ==========================================================================
   2. Header — Premium Editorial
   ========================================================================== */
.site-header{
    background:var(--white);
    border-bottom:none;
    box-shadow:0 1px 0 var(--border-lt), var(--shadow-sm);
    position:sticky;top:0;z-index:200;
    transition:box-shadow .3s ease;
}
.site-header.scrolled{
    box-shadow:0 1px 0 var(--border), var(--shadow-md);
}

/* Breaking news ticker strip */
.site-header::before{
    content:'';display:block;height:3px;
    background:linear-gradient(90deg,var(--crimson-dk) 0%,var(--crimson) 40%,var(--crimson-lt) 100%);
}

.hdr-top{
    display:flex;align-items:center;justify-content:space-between;
    padding:12px var(--gutter);max-width:1160px;margin:0 auto;
    gap:12px;
}
.hdr-logo img{height:52px;width:auto;transition:opacity var(--ease)}
.hdr-logo:hover img{opacity:.85}
@media(min-width:768px){.hdr-logo img{height:60px}}

.hdr-date{
    display:none;
    font-family:var(--f-mono);font-size:.63rem;color:var(--text-3);
    letter-spacing:.06em;text-transform:uppercase;
    padding:4px 10px;
    border:1px solid var(--border-lt);
    border-radius:20px;
    background:var(--paper);
}
@media(min-width:768px){.hdr-date{display:block}}

.hdr-actions{display:flex;align-items:center;gap:14px}
.hdr-social{display:flex;gap:4px}
.hdr-social a{
    display:flex;align-items:center;justify-content:center;
    width:32px;height:32px;border-radius:8px;
    color:var(--text-3);
    border:1px solid var(--border-lt);
    background:var(--paper);
    transition:all var(--ease);
}
.hdr-social a:hover{
    color:var(--crimson);
    border-color:var(--crimson);
    background:var(--crimson-pale);
    transform:translateY(-1px);
    box-shadow:var(--shadow-sm);
}
.hdr-contact{
    font-size:.65rem;font-weight:700;color:#fff;
    text-transform:uppercase;letter-spacing:.07em;
    padding:7px 16px;
    background:var(--crimson);
    border-radius:var(--radius);
    transition:all var(--ease);
    box-shadow:0 2px 8px rgba(155,28,28,.25);
}
.hdr-contact:hover{
    background:var(--crimson-dk);
    transform:translateY(-1px);
    box-shadow:0 4px 14px rgba(155,28,28,.35);
}

@media(max-width:767px){
    .hdr-top{flex-wrap:wrap;justify-content:center;gap:8px;padding:10px var(--gutter) 8px}
    .hdr-logo{order:-1;width:100%;text-align:center;margin-bottom:2px}
    .hdr-logo img{height:40px;margin:0 auto}
    .hdr-actions{gap:10px}
    .hdr-social a{width:30px;height:30px}
    .hdr-social a svg{width:14px;height:14px}
    .hdr-contact{font-size:.62rem;padding:6px 13px}
}

/* Nav bar — refined dark strip */
.hdr-nav-bar{
    background:var(--charcoal-dk);
    position:relative;
}
/* Subtle crimson left accent */
.hdr-nav-bar::before{
    content:'';position:absolute;left:0;top:0;bottom:0;
    width:3px;background:var(--crimson);
}

.hdr-nav-wrap{
    display:flex;align-items:center;justify-content:space-between;
    max-width:1160px;margin:0 auto;padding:0 var(--gutter);
}
.hdr-nav{display:none;gap:0}
@media(min-width:768px){.hdr-nav{display:flex}}

.hdr-nav__link{
    position:relative;display:block;
    padding:11px 15px;
    font-size:.63rem;font-weight:700;
    color:rgba(255,255,255,.45);
    text-transform:uppercase;letter-spacing:.09em;
    transition:color var(--ease);white-space:nowrap;
}
.hdr-nav__link::before{
    content:'';position:absolute;
    bottom:0;left:50%;right:50%;
    height:2px;background:var(--crimson);
    transition:left var(--ease),right var(--ease);
}
.hdr-nav__link:hover{color:rgba(255,255,255,.9)}
.hdr-nav__link:hover::before,.hdr-nav__link--active::before{
    left:15px;right:15px;
}
.hdr-nav__link--active{color:#fff}

.hdr-nav__dropdown{position:relative}
.hdr-nav__link--dropdown{
    background:none;border:none;cursor:pointer;font:inherit;
    color:rgba(255,255,255,.45);
    padding:11px 15px;font-size:.63rem;font-weight:700;
    text-transform:uppercase;letter-spacing:.09em;
    transition:color var(--ease);
    display:flex;align-items:center;gap:4px;
}
.hdr-nav__dropdown:hover .hdr-nav__link--dropdown{color:rgba(255,255,255,.9)}
.hdr-dropdown-menu{
    position:absolute;top:calc(100% + 4px);left:0;
    background:var(--white);min-width:150px;
    box-shadow:var(--shadow-lg);
    border-top:2px solid var(--crimson);
    border-radius:0 var(--radius-lg) var(--radius-lg) var(--radius-lg);
    opacity:0;visibility:hidden;
    transform:translateY(-6px) scale(.97);
    transform-origin:top left;
    transition:all .2s cubic-bezier(.4,0,.2,1);
    z-index:100;overflow:hidden;
}
.hdr-nav__dropdown:hover .hdr-dropdown-menu,
.hdr-nav__dropdown:focus-within .hdr-dropdown-menu{
    opacity:1;visibility:visible;transform:translateY(0) scale(1);
}
.hdr-dropdown-menu__link{
    display:block;padding:8px 16px;
    font-size:.66rem;font-weight:600;
    color:var(--charcoal);text-transform:uppercase;letter-spacing:.05em;
    transition:all .15s;border-left:2px solid transparent;
}
.hdr-dropdown-menu__link:hover,
.hdr-dropdown-menu__link.active{
    background:var(--crimson-pale);color:var(--crimson);
    border-left-color:var(--crimson);padding-left:18px;
}

.hdr-hamburger{
    display:flex;flex-direction:column;gap:5px;
    padding:10px 12px;background:none;border:none;cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    border-radius:var(--radius);
    transition:background var(--ease);
}
.hdr-hamburger:hover{background:rgba(255,255,255,.06)}
.hdr-hamburger span{
    display:block;width:22px;height:2px;
    background:rgba(255,255,255,.7);border-radius:2px;
    transition:all .3s ease;
}
@media(min-width:768px){.hdr-hamburger{display:none}}

/* Mobile nav — polished slide-in */
.mobile-overlay{
    position:fixed;inset:0;
    background:rgba(10,10,10,.65);
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    opacity:0;visibility:hidden;z-index:998;
    transition:all .3s ease;
}
.mobile-overlay.open{opacity:1;visibility:visible}

.mobile-nav{
    position:fixed;top:0;right:-320px;width:320px;
    max-width:88vw;height:100%;
    background:var(--white);
    z-index:999;
    transition:right .35s cubic-bezier(.4,0,.2,1);
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    box-shadow:-12px 0 60px rgba(0,0,0,.18);
    border-left:3px solid var(--crimson);
}
.mobile-nav.open{right:0}
.mobile-nav-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 20px;border-bottom:1px solid var(--border-lt);
    background:var(--paper);
}
.mobile-nav-header img{height:30px}
.mobile-nav-close{
    background:none;border:1px solid var(--border);
    font-size:1.2rem;cursor:pointer;color:var(--text-2);
    padding:6px 10px;border-radius:var(--radius);
    transition:all var(--ease);
}
.mobile-nav-close:hover{background:var(--crimson-pale);border-color:var(--crimson);color:var(--crimson)}
.mobile-nav-list a{
    display:flex;align-items:center;gap:14px;
    padding:14px 20px;
    font-size:.88rem;font-weight:600;
    color:var(--text-1);
    border-bottom:1px solid var(--border-lt);
    -webkit-tap-highlight-color:transparent;
    transition:all .15s;
}
.mobile-nav-list a:hover{background:var(--paper);padding-left:24px}
.mobile-nav-list a.active{
    color:var(--crimson);background:var(--crimson-pale);
    border-left:3px solid var(--crimson);font-weight:700;
}
.mobile-nav-list .dot{
    width:10px;height:10px;border-radius:50%;
    flex-shrink:0;box-shadow:0 0 0 2px rgba(255,255,255,.8);
}
.mobile-nav-footer{
    padding:20px;display:flex;gap:16px;
    border-top:1px solid var(--border-lt);
    background:var(--paper);
}
.mobile-nav-footer a{
    font-size:.78rem;font-weight:700;color:var(--text-3);
    padding:6px 12px;border:1px solid var(--border);
    border-radius:20px;transition:all var(--ease);
}
.mobile-nav-footer a:hover{color:var(--crimson);border-color:var(--crimson);background:var(--crimson-pale)}

/* ==========================================================================
/* ==========================================================================
   3. HERO — BUCURESTI
   ========================================================================== */
.hero{
    position:relative;overflow:visible;
    background:linear-gradient(165deg,#F8FAFC 0%,#EEF2F8 40%,#F1F5F9 100%);
    min-height:auto;
}
.hero::before{content:'';position:absolute;top:-25%;right:-12%;width:400px;height:400px;background:radial-gradient(circle,rgba(192,57,43,.05) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-20%;left:-8%;width:350px;height:350px;background:radial-gradient(circle,rgba(59,111,160,.05) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.hero__overlay{display:none}
.hero__inner{
    position:relative;z-index:2;
    display:flex;flex-direction:column;gap:0;
    padding-top:20px;padding-bottom:20px;
}
@media(min-width:900px){
    .hero__inner{flex-direction:row;align-items:stretch;gap:40px;padding:36px var(--gutter) 32px}
}

/* LEFT: News side */
.hero__left{flex:1;min-width:0;display:flex;flex-direction:column}
.hero__brand-row{margin-bottom:10px}
.hero__live-tag{
    display:inline-flex;align-items:center;gap:8px;
    padding:5px 14px;background:rgba(192,57,43,.08);
    border:1px solid rgba(192,57,43,.15);border-radius:20px;
    font-family:var(--f-mono);font-size:.57rem;font-weight:600;
    color:var(--crimson);text-transform:uppercase;letter-spacing:.1em;
}
.hero__live-dot{width:7px;height:7px;border-radius:50%;background:var(--crimson);animation:livePulse 2s ease infinite}
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.6)}}
.hero__city{
    font-family:var(--f-display);font-size:clamp(1.6rem,5vw,3rem);
    font-weight:900;line-height:.95;color:var(--text-1);letter-spacing:-.03em;margin-bottom:6px;
}
.hero__city::after{content:'';display:block;width:40px;height:3px;background:var(--crimson);margin-top:8px;border-radius:2px}
/* Hide tagline on mobile */
.hero__tagline{display:none;font-size:.78rem;color:var(--text-3);font-style:italic;font-family:var(--f-display);margin-bottom:14px;max-width:280px}
@media(min-width:900px){.hero__tagline{display:block}}

/* Pills — mobile primary nav */
.hero__pills{display:flex;gap:5px;margin:12px 0 10px;flex-wrap:wrap}
@media(min-width:900px){.hero__pills{display:none}}
.hero__pill{
    padding:6px 14px;border-radius:20px;border:1.5px solid var(--border);
    background:var(--white);font-family:var(--f-mono);font-size:.62rem;font-weight:700;
    color:var(--text-2);cursor:pointer;transition:all var(--ease-spring);
}
.hero__pill--on{background:var(--pc,var(--crimson));color:#fff;border-color:var(--pc,var(--crimson));transform:scale(1.06);box-shadow:0 3px 12px rgba(0,0,0,.12)}

/* Map — HIDDEN on mobile */
.hero__map-wrap{display:none}
@media(min-width:900px){
    .hero__map-wrap{
        display:block;position:relative;width:460px;max-width:460px;aspect-ratio:1;
        flex-shrink:0;align-self:center;overflow:visible;margin-right:-60px;
    }
}
@media(min-width:1100px){
    .hero__map-wrap{width:540px;max-width:540px;margin-right:-80px}
}

/* Panels */
.hero__panel{display:none;flex-direction:column;gap:6px}
.hero__panel--default{display:block}
@keyframes hmFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.hero__panel-top{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.hero__panel-badge{display:inline-block;padding:4px 14px;font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#fff;border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.hero__panel-sub{font-family:var(--f-mono);font-size:.55rem;color:var(--text-3);letter-spacing:.03em}
.hero__panel-all{
    display:inline-block;margin-top:6px;font-family:var(--f-mono);font-size:.55rem;
    text-transform:uppercase;letter-spacing:.06em;color:var(--crimson);font-weight:600;
    padding:4px 12px;border:1px solid var(--crimson-pale);border-radius:20px;transition:all var(--ease);
}
.hero__panel-all:hover{background:var(--crimson-pale)}

/* Default panel news */
.hero__lead{margin-bottom:14px}
.hero__badge{display:inline-block;padding:3px 10px;font-size:.53rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#fff;border-radius:4px;margin-bottom:8px}
.hero__lead-title{font-family:var(--f-display);font-size:clamp(1rem,2.2vw,1.4rem);font-weight:700;line-height:1.22;color:var(--text-1);margin-bottom:8px}
.hero__lead-title a{color:var(--text-1);transition:color var(--ease)}
.hero__lead-title a:hover{color:var(--crimson)}
.hero__lead-ex{font-size:.8rem;color:var(--text-2);line-height:1.6;max-width:460px;margin-bottom:4px}
.hero__lead-time{font-family:var(--f-mono);font-size:.55rem;color:var(--text-3)}
/* Grid of secondary stories — desktop only */
.hero__grid{display:none}
@media(min-width:900px){
    .hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-top:10px;border-top:1px solid var(--border-lt)}
}
.hero__grid-item{display:flex;gap:8px;padding:8px;background:var(--white);border:1px solid var(--border-lt);border-radius:var(--radius-lg);transition:all var(--ease);box-shadow:var(--shadow-xs)}
.hero__grid-item:hover{border-color:var(--crimson);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.hero__grid-img{width:44px;height:44px;border-radius:var(--radius);object-fit:cover;flex-shrink:0;background:var(--border-lt)}
.hero__grid-body{min-width:0}
.hero__grid-cat{font-size:.48rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--crimson)}
.hero__grid-title{font-size:.68rem;font-weight:600;color:var(--text-2);line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Sector news items */
.hero__s-item{display:flex;gap:10px;padding:8px 4px;border-bottom:1px solid var(--border-lt);transition:all var(--ease);text-decoration:none;color:inherit;border-radius:var(--radius);margin:0 -4px}
.hero__s-item:hover{background:var(--white);padding-left:8px;box-shadow:var(--shadow-xs)}
.hero__s-item:last-of-type{border-bottom:none}
.hero__s-img{width:100%;max-width:180px;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-shrink:0}
@media(max-width:899px){.hero__s-img{max-width:100%}}
.hero__s-body{min-width:0}
.hero__s-title{font-family:var(--f-display);font-size:.82rem;font-weight:600;line-height:1.3;color:var(--text-1);margin-bottom:2px}
.hero__s-ex{font-size:.72rem;color:var(--text-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hero__s-time{font-family:var(--f-mono);font-size:.5rem;color:var(--text-3);margin-top:2px;display:block}
.hero__s-empty{font-size:.78rem;color:var(--text-3);padding:12px 0;font-style:italic}

/* Single SVG map */
.hero__buc{
    display:block;width:100%;height:100%;
    filter:drop-shadow(0 4px 16px rgba(43,58,82,.08));
    animation:hmMapIn .8s ease-out both;
}
@keyframes hmMapIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Pie slices (underneath sectors in same SVG) */
.hm__pie-slice{transition:all .4s cubic-bezier(.16,1,.3,1);pointer-events:none}
.hm__pie--active{opacity:.8!important;filter:brightness(1.08) saturate(1.2)}
.hm__pie--dim{opacity:.15!important;filter:grayscale(.3)}

/* Map sectors */
.hm__sector{
    fill-opacity:.8;stroke:#fff;stroke-width:2.5;
    stroke-linecap:round;stroke-linejoin:round;
    pointer-events:none;transition:all .35s cubic-bezier(.16,1,.3,1);
}
.hm__sector--active{
    fill-opacity:1!important;stroke-width:3.5;
    filter:drop-shadow(0 4px 14px rgba(0,0,0,.12)) brightness(1.08);
}
.hm__sector--dim{fill-opacity:.3;filter:grayscale(.2)}
.hm__num{transition:all .35s ease;pointer-events:none}

/* Invisible interaction layer — clean pie geometry on top */
.hm__hit{pointer-events:auto}
.hm__hit-center{pointer-events:auto}

/* Center circle */
.hm__glow{animation:hmPulse 3s ease-in-out infinite}
@keyframes hmPulse{0%,100%{stroke-opacity:.12}50%{stroke-opacity:.28}}
.hm__ring{animation:hmSpin 40s linear infinite;transform-origin:260px 268px}
@keyframes hmSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* Tooltip */
.hm__tooltip{
    position:absolute;bottom:2%;left:50%;
    transform:translateX(-50%) translateY(6px);
    background:#fff;padding:.5rem 1rem;border-radius:var(--radius);
    box-shadow:var(--shadow-lg);
    display:flex;flex-direction:column;align-items:center;gap:.1rem;
    z-index:10;opacity:0;visibility:hidden;
    transition:all .3s cubic-bezier(.16,1,.3,1);
    pointer-events:none;border:1.5px solid var(--border-lt);
}
.hm__tooltip--visible{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.hm__tooltip-name{font-family:var(--f-display);font-size:.85rem;font-weight:700;color:var(--crimson)}
.hm__tooltip-sub{font-family:var(--f-mono);font-size:.5rem;color:var(--text-3);letter-spacing:.04em}

/* --- 3c. BUCURESTI STORIES GRID --- */
.buc-grid{display:grid;grid-template-columns:1fr;gap:14px;padding:14px 0 22px}
@media(min-width:520px){.buc-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.buc-grid{grid-template-columns:1fr 1fr 1fr}}
.buc-grid__feat{grid-column:span 1}
.buc-grid__row{border-bottom:1px solid var(--border-lt)}
.buc-grid__row:last-child{border-bottom:none}
.buc-grid__row a{
    display:flex;gap:12px;align-items:flex-start;padding:9px 0;
    transition:all var(--ease);-webkit-tap-highlight-color:transparent;
    text-decoration:none;color:inherit;
    border-radius:var(--radius);
    padding-left:4px;padding-right:4px;
    margin:0 -4px;
}
.buc-grid__row a:hover{color:var(--crimson);background:var(--crimson-pale);padding-left:8px}
.buc-grid__dot{
    width:7px;height:7px;border-radius:50%;
    flex-shrink:0;margin-top:7px;
}
.buc-grid__t{font-size:.83rem;font-weight:600;line-height:1.36}
.buc-grid__d{font-family:var(--f-mono);font-size:.53rem;color:var(--text-3);margin-top:2px}
@media(min-width:900px){.buc-grid__row{grid-column:3}}

   5. Section Header — Editorial style
   ========================================================================== */
.sh{
    display:flex;align-items:center;gap:10px;
    padding:24px 0 12px;
    border-bottom:2px solid var(--border);
    position:relative;
}
@media(min-width:768px){.sh{padding:28px 0 14px}}

/* Accent left border on section */
.sh::before{
    content:'';position:absolute;
    left:-var(--gutter);bottom:-2px;width:40px;height:2px;
    background:var(--crimson);
}
.sh__icon{
    width:28px;height:28px;border-radius:6px;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--f-mono);font-size:.58rem;font-weight:700;color:#fff;flex-shrink:0;
    box-shadow:0 2px 6px rgba(0,0,0,.2);
}
.sh__title{
    font-family:var(--f-display);
    font-size:1rem;font-weight:700;
    color:var(--text-1);letter-spacing:-.01em;
}
@media(min-width:768px){.sh__title{font-size:1.1rem}}
.sh__line{
    flex:1;height:1px;
    background:var(--divider);
}
.sh__more{
    font-family:var(--f-mono);font-size:.57rem;
    text-transform:uppercase;letter-spacing:.07em;
    color:var(--crimson);font-weight:600;flex-shrink:0;
    padding:4px 10px;border:1px solid var(--crimson-pale);
    border-radius:20px;transition:all var(--ease);
}
.sh__more:hover{
    background:var(--crimson);color:#fff;
    border-color:var(--crimson);
    transform:translateY(-1px);
}

/* ==========================================================================
   6. News Card Grid — Premium elevated cards
   ========================================================================== */
.grid3{display:grid;grid-template-columns:1fr;gap:16px;padding:14px 0}
@media(min-width:520px){.grid3{grid-template-columns:1fr 1fr;gap:18px}}
@media(min-width:900px){.grid3{grid-template-columns:1fr 1fr 1fr}}

.card{
    background:var(--white);
    border:1px solid var(--border-lt);
    border-radius:var(--radius-xl);
    overflow:hidden;
    transition:box-shadow var(--ease),border-color var(--ease),transform var(--ease);
    box-shadow:var(--shadow-card);
    position:relative;
}
/* Top accent line per card */
.card::before{
    content:'';position:absolute;
    top:0;left:0;right:0;height:2px;
    background:var(--card-accent,var(--border-lt));
    opacity:0;transition:opacity var(--ease);
    z-index:1;
}
.card:hover::before{opacity:1}
.card:hover{
    box-shadow:var(--shadow-card-hover);
    border-color:var(--border);
    transform:translateY(-3px);
}
.card:active{transform:translateY(-1px)}

.card__img-wrap{position:relative;overflow:hidden}
.card__img{
    width:100%;aspect-ratio:16/10;object-fit:cover;display:block;
    transition:transform .5s cubic-bezier(.4,0,.2,1);
}
.card:hover .card__img{transform:scale(1.04)}
.card__badge{
    position:absolute;top:8px;left:8px;
    padding:3px 9px;font-size:.53rem;font-weight:700;
    text-transform:uppercase;letter-spacing:.06em;
    color:#fff;border-radius:4px;
    box-shadow:0 2px 6px rgba(0,0,0,.25);
    backdrop-filter:blur(4px);
}
/* Gradient fade at bottom of image */
.card__img-wrap::after{
    content:'';position:absolute;bottom:0;left:0;right:0;height:40%;
    background:linear-gradient(to top,rgba(0,0,0,.18),transparent);
    pointer-events:none;opacity:0;transition:opacity var(--ease);
}
.card:hover .card__img-wrap::after{opacity:1}

.card__body{padding:12px 14px 14px}
.card__title{
    font-family:var(--f-display);
    font-size:.88rem;line-height:1.32;font-weight:600;
    margin-bottom:6px;letter-spacing:-.01em;
}
.card__title a{color:var(--text-1);transition:color var(--ease)}
.card__title a:hover{color:var(--crimson)}
.card__excerpt{
    font-size:.77rem;color:var(--text-2);
    line-height:1.5;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.card__time{
    font-family:var(--f-mono);font-size:.55rem;
    color:var(--text-4);margin-top:8px;
    display:flex;align-items:center;gap:4px;
}
.card__time::before{
    content:'';display:inline-block;
    width:14px;height:1px;background:var(--border);
    flex-shrink:0;
}

/* Cards — mobile layout */
@media(max-width:519px){
    .grid3 .card:not(:first-child){display:flex;flex-direction:row}
    .grid3 .card:not(:first-child) .card__img-wrap{
        width:110px;flex-shrink:0;position:relative;overflow:hidden;
        border-radius:var(--radius-xl) 0 0 var(--radius-xl);
    }
    .grid3 .card:not(:first-child) .card__img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
    .grid3 .card:not(:first-child) .card__body{display:flex;flex-direction:column;justify-content:center;padding:10px 12px;flex:1}
    .grid3 .card:not(:first-child) .card__excerpt{display:none}
    .grid3 .card:not(:first-child) .card__title{font-size:.8rem}
    .grid3 .card:not(:first-child)::before{display:none}
}

/* Badge & accent colors per category */
.bg-evenimente{background:var(--cat-evenimente)}
.bg-utile{background:var(--cat-utile)}
.bg-opinii{background:var(--cat-opinii)}
.bg-timp-liber{background:var(--cat-timp-liber)}
.bg-sector-1{background:var(--cat-s1)}
.bg-sector-2{background:var(--cat-s2)}
.bg-sector-3{background:var(--cat-s3)}
.bg-sector-4{background:var(--cat-s4)}
.bg-sector-5{background:var(--cat-s5)}
.bg-sector-6{background:var(--cat-s6)}

/* Card accent colors from category */
.card[data-cat="evenimente"]{--card-accent:var(--cat-evenimente)}
.card[data-cat="utile"]{--card-accent:var(--cat-utile)}
.card[data-cat="opinii"]{--card-accent:var(--cat-opinii)}
.card[data-cat="timp-liber"]{--card-accent:var(--cat-timp-liber)}

/* ==========================================================================
   7. Dual Column — Opinii + Timp Liber
   ========================================================================== */
.dual{display:grid;grid-template-columns:1fr;gap:18px;padding:18px 0 28px}
@media(min-width:700px){.dual{grid-template-columns:1fr 1fr;gap:24px}}
.dual__col{
    background:var(--white);
    border:1px solid var(--border-lt);
    border-radius:var(--radius-xl);
    padding:18px 20px 14px;
    box-shadow:var(--shadow-xs);
    transition:box-shadow var(--ease);
}
.dual__col:hover{box-shadow:var(--shadow-sm)}
.dual__list{list-style:none;padding:0;margin-top:4px}
.dual__list li{padding:10px 0;border-bottom:1px solid var(--border-lt)}
.dual__list li:last-child{border-bottom:none}
.dual__list a{
    display:flex;gap:12px;align-items:flex-start;
    transition:all var(--ease);-webkit-tap-highlight-color:transparent;
    border-radius:var(--radius);
    padding:2px 4px;margin:0 -4px;
}
.dual__list a:hover{color:var(--crimson);background:var(--crimson-pale);padding-left:8px}
.dual__list-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:7px}
.dual__list-title{font-size:.84rem;font-weight:600;line-height:1.36}
.dual__list-time{font-family:var(--f-mono);font-size:.55rem;color:var(--text-3);margin-top:2px}

/* ==========================================================================
   8. TikTok Section
   ========================================================================== */
.tiktok-section{
    background:var(--charcoal-dk);
    padding:24px 0 28px;overflow:hidden;
    position:relative;
}
/* Subtle gradient backdrop */
.tiktok-section::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at 70% 50%,rgba(255,255,255,.025) 0%,transparent 60%);
    pointer-events:none;
}
@media(min-width:768px){.tiktok-section{padding:32px 0 36px}}
.tiktok-section .sh__title{color:#fff}
.tiktok-section .sh__line{background:rgba(255,255,255,.07)}
.tiktok-section .sh__more{color:rgba(255,255,255,.3);border-color:rgba(255,255,255,.06)}
.tiktok-section .sh__more:hover{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.15)}
.tiktok-section .sh{border-bottom-color:rgba(255,255,255,.07)}
.tiktok-profile-embed{display:flex;justify-content:center;margin-top:16px}
.tiktok-embed-wrap{
    background:#000;border-radius:var(--radius-xl);
    overflow:hidden;width:100%;
    box-shadow:0 8px 40px rgba(0,0,0,.4);
}
.tiktok-profile-embed blockquote{margin:0!important;width:100%!important;max-width:100%!important}
.tiktok-profile-embed iframe{width:100%!important;max-width:100%!important;min-height:300px}
.tiktok-cta{
    display:flex;align-items:center;justify-content:center;gap:8px;
    margin:16px auto 0;padding:11px 24px;
    background:rgba(255,255,255,.06);color:#fff;
    border:1px solid rgba(255,255,255,.1);
    border-radius:var(--radius-xl);
    font-size:.7rem;font-weight:700;
    width:fit-content;text-transform:uppercase;letter-spacing:.06em;
    transition:all var(--ease);-webkit-tap-highlight-color:transparent;
}
.tiktok-cta:hover{
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.2);
    transform:translateY(-1px);
}
.tiktok-cta svg{width:14px;height:14px}

/* ==========================================================================
   9. Footer — Premium
   ========================================================================== */
.site-footer{
    background:var(--black);
    color:rgba(255,255,255,.5);
    padding:40px 0 24px;
    border-top:none;
    position:relative;
    overflow:hidden;
}
/* Top gradient border */
.site-footer::before{
    content:'';display:block;
    position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--crimson-dk),var(--crimson),var(--crimson-lt));
}
/* Subtle radial glow */
.site-footer::after{
    content:'';position:absolute;
    top:-80px;left:50%;transform:translateX(-50%);
    width:600px;height:300px;border-radius:50%;
    background:radial-gradient(ellipse,rgba(155,28,28,.06) 0%,transparent 70%);
    pointer-events:none;
}
.footer-grid{display:grid;grid-template-columns:1fr;gap:24px;position:relative;z-index:1}
@media(min-width:600px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.footer-brand__logo{
    height:36px;margin-bottom:10px;
    filter:brightness(0) invert(1);opacity:.6;
    transition:opacity var(--ease);
}
.footer-brand__logo:hover{opacity:.9}
.footer-brand__desc{font-size:.76rem;line-height:1.6;color:rgba(255,255,255,.28);font-style:italic}
.footer-col__title{
    font-family:var(--f-mono);font-size:.58rem;text-transform:uppercase;
    letter-spacing:.12em;color:rgba(255,255,255,.18);margin-bottom:10px;
}
.footer-col a{
    display:block;font-size:.78rem;padding:4px 0;
    color:rgba(255,255,255,.38);transition:color var(--ease);
}
.footer-col a:hover{color:rgba(255,255,255,.85);padding-left:4px;transition:color var(--ease),padding-left var(--ease)}
.footer-bottom{
    display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
    padding-top:20px;margin-top:20px;
    border-top:1px solid rgba(255,255,255,.06);
    font-size:.68rem;gap:10px;position:relative;z-index:1;
}
.footer-social{display:flex;gap:14px}
.footer-social a{
    font-size:.72rem;font-weight:600;
    color:rgba(255,255,255,.28);
    padding:4px 8px;border:1px solid rgba(255,255,255,.07);
    border-radius:var(--radius);
    transition:all var(--ease);
}
.footer-social a:hover{
    color:#fff;border-color:rgba(255,255,255,.2);
    background:rgba(255,255,255,.05);
}
@media(max-width:599px){
    .footer-grid{text-align:center;gap:28px}
    .footer-brand__logo{margin:0 auto 10px}
    .footer-col a{padding:6px 0}
    .footer-bottom{justify-content:center;flex-direction:column;gap:12px;text-align:center}
    .footer-social{justify-content:center}
}

/* ==========================================================================
   10. Single Post — Premium editorial reading experience
   ========================================================================== */
.post{max-width:800px;margin:0 auto;padding:24px var(--gutter) 48px}
.post:has(.has-sidebar){max-width:1120px}
@media(min-width:768px){.post{padding:28px var(--gutter) 56px}}

.post-bar{
    font-family:var(--f-mono);font-size:.62rem;color:var(--text-3);
    padding:10px 0;letter-spacing:.03em;
    border-bottom:1px solid var(--border-lt);
    margin-bottom:16px;
}
.post-bar a{color:var(--text-3);transition:color var(--ease)}
.post-bar a:hover{color:var(--crimson)}

.post-cat{
    display:inline-block;padding:4px 12px;
    font-size:.57rem;font-weight:700;text-transform:uppercase;
    letter-spacing:.08em;color:#fff;border-radius:20px;
    margin-bottom:12px;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.post-title{
    font-family:var(--f-display);
    font-size:clamp(1.4rem,3.8vw,2.2rem);
    line-height:1.18;font-weight:800;
    margin-bottom:10px;letter-spacing:-.02em;
    color:var(--black);
}
.post-meta{font-family:var(--f-mono);font-size:.68rem;color:var(--text-3);margin-bottom:22px}
.post-img{
    margin:0 calc(var(--gutter) * -1) 24px;
    border-radius:0;overflow:hidden;
}
@media(min-width:768px){
    .post-img{margin:0 0 24px;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md)}
}
.post-img img{width:100%;display:block}

.post-content{
    font-size:1.04rem;line-height:1.82;color:var(--text-1);
    font-weight:300;
}
.post-content p{margin-bottom:1.3em}
.post-content h2,.post-content h3{
    font-family:var(--f-display);
    margin:1.8em 0 .6em;
    font-weight:700;letter-spacing:-.02em;
    color:var(--black);
}
.post-content h2{font-size:1.35rem;border-bottom:2px solid var(--border-lt);padding-bottom:.4em}
.post-content h3{font-size:1.1rem}
.post-content img{
    border-radius:var(--radius-lg);margin:.8em 0;
    box-shadow:var(--shadow-sm);
}
.post-content blockquote{
    margin:1.5em 0;
    padding:16px 20px;
    border-left:3px solid var(--crimson);
    background:var(--crimson-pale);
    border-radius:0 var(--radius-lg) var(--radius-lg) 0;
    font-family:var(--f-display);
    font-style:italic;font-size:1rem;
    color:var(--text-2);line-height:1.6;
}
.post-content strong{font-weight:700;color:var(--text-1)}
.post-content a{
    color:var(--crimson);
    text-decoration:underline;
    text-decoration-color:rgba(155,28,28,.3);
    text-underline-offset:3px;
    transition:text-decoration-color var(--ease);
}
.post-content a:hover{text-decoration-color:var(--crimson)}

/* Drop cap for first paragraph */
.post-content > p:first-of-type::first-letter{
    font-family:var(--f-display);
    font-size:3.2em;font-weight:900;
    float:left;line-height:.8;
    margin:.04em .1em -.04em 0;
    color:var(--crimson);
}

.post-tags{padding:18px 0;display:flex;flex-wrap:wrap;gap:7px}
.post-tags a{
    display:inline-block;padding:5px 14px;
    font-size:.7rem;font-weight:600;
    background:var(--paper);border:1px solid var(--border);
    border-radius:20px;color:var(--text-2);
    transition:all var(--ease);box-shadow:var(--shadow-xs);
}
.post-tags a:hover{
    border-color:var(--crimson);color:var(--crimson);
    background:var(--crimson-pale);
    transform:translateY(-1px);box-shadow:var(--shadow-sm);
}
.post-rel h3{
    font-family:var(--f-display);font-size:1rem;
    padding:16px 0 12px;
    border-top:2px solid var(--border);
    font-weight:700;
}
.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(min-width:600px){.rel-grid{grid-template-columns:1fr 1fr 1fr 1fr}}
.rel-item{
    background:var(--white);border:1px solid var(--border-lt);
    border-radius:var(--radius-xl);overflow:hidden;
    transition:all var(--ease);box-shadow:var(--shadow-xs);
}
.rel-item:hover{
    border-color:var(--border);
    box-shadow:var(--shadow-sm);
    transform:translateY(-2px);
}
.rel-item h4{font-size:.76rem;font-weight:600;padding:8px 10px;line-height:1.32}
.rel-img{aspect-ratio:16/10;background-size:cover;background-position:center;transition:transform .4s ease}
.rel-item:hover .rel-img{transform:scale(1.04)}

.share-row{display:flex;align-items:center;gap:8px;padding:14px 0}
.share-label{font-size:.68rem;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.07em}
.share-btn{
    display:flex;align-items:center;justify-content:center;
    width:36px;height:36px;border:1px solid var(--border);
    border-radius:var(--radius-lg);font-size:.7rem;font-weight:700;
    color:var(--text-2);background:var(--white);
    cursor:pointer;transition:all var(--ease);
    box-shadow:var(--shadow-xs);
}
.share-btn:hover{
    border-color:var(--crimson);color:var(--crimson);
    background:var(--crimson-pale);
    transform:translateY(-2px);box-shadow:var(--shadow-sm);
}

/* ==========================================================================
   11. Ads
   ========================================================================== */
.pulsul-ad{text-align:center;margin:0 auto;overflow:hidden;line-height:0}
.pulsul-ad--centered{display:flex;justify-content:center;align-items:center}
.pulsul-ad--728x90{max-width:728px;padding:1rem}
.pulsul-ad--300x250{margin-top:1rem}
.pulsul-ad--float-right{float:right;margin:0 0 1rem 1.5rem;max-width:300px}
.pulsul-ad--sidebar-sticky{position:sticky;top:100px}
.pulsul-ad--after-content-pair{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;padding:1rem;max-width:700px;margin:0 auto}
.pulsul-ad--300x250-inline{flex:0 0 auto}
.pulsul-ad img,.pulsul-ad iframe{max-width:100%;height:auto}
.pulsul-ad ins{display:block}
.post-body-wrapper{max-width:1100px;margin:0 auto;padding:0 16px 20px;display:flex;gap:2rem;justify-content:center}
.post-body-wrapper:not(.has-sidebar){max-width:780px}
.post-body-main{flex:1;min-width:0;max-width:700px}
.post-body-main .post-content{max-width:none;padding:0;margin:0}
.post-sidebar-ad{flex:0 0 300px;padding-top:1rem;display:none}
.post-sidebar-ad .pulsul-ad--300x250{margin-bottom:1.5rem}
.pulsul-ad--desktop{display:none}
.pulsul-ad--mobile{display:block;padding:2px 0}
@media(min-width:768px){.pulsul-ad--desktop{display:block}.pulsul-ad--mobile{display:none}}
@media(min-width:1024px){.post-sidebar-ad{display:block}.post-body-wrapper.has-sidebar{padding:0 2rem 20px}}
@media(max-width:767px){.pulsul-ad--float-right{float:none;max-width:100%;margin:0 0 1rem 0;display:flex;justify-content:center}.post-body-wrapper{flex-direction:column;padding:0 16px 20px}.post-body-main{max-width:none}}

/* ==========================================================================
   12. Scroll Top & 404
   ========================================================================== */
.scroll-top{
    position:fixed;bottom:20px;right:20px;
    width:44px;height:44px;
    background:var(--crimson);color:#fff;
    border:none;border-radius:12px;
    font-size:1rem;cursor:pointer;
    opacity:0;visibility:hidden;
    transition:all .3s cubic-bezier(.4,0,.2,1);
    z-index:90;
    box-shadow:0 4px 16px rgba(155,28,28,.4);
    -webkit-tap-highlight-color:transparent;
}
.scroll-top.visible{opacity:1;visibility:visible}
.scroll-top:hover{
    background:var(--crimson-dk);
    transform:translateY(-3px);
    box-shadow:0 8px 24px rgba(155,28,28,.5);
}
.scroll-top:active{transform:scale(.9)}
body.a11yt-active .scroll-top{bottom:90px;right:30px}

.error-404{text-align:center;padding:80px var(--gutter)}
.error-404 .page-title{
    font-family:var(--f-display);
    font-size:clamp(3rem,8vw,6rem);color:var(--crimson);
    font-weight:900;letter-spacing:-.04em;
}

/* ==========================================================================
   13. Utility & Sidebar
   ========================================================================== */
@media(max-width:767px){a,button{-webkit-tap-highlight-color:transparent}}
@supports(-webkit-touch-callout:none){.latest__scroll{scroll-snap-type:x proximity}}

/* Sidebar Recent Posts */
.sidebar-recent{margin:1.5rem 0;padding:0}
.sidebar-recent__title{
    font-family:var(--f-display);
    font-size:.95rem;font-weight:700;
    margin:0 0 14px;padding-bottom:10px;
    border-bottom:2px solid var(--crimson);color:var(--text-1);
    letter-spacing:-.01em;
}
.sidebar-recent__list{list-style:none;margin:0;padding:0}
.sidebar-recent__list li{border-bottom:1px solid var(--border-lt)}
.sidebar-recent__list li:last-child{border-bottom:none}
.sidebar-recent__item{
    display:flex;gap:12px;padding:12px 0;
    text-decoration:none;color:var(--text-1);
    transition:all .15s;
    border-radius:var(--radius);padding-left:4px;padding-right:4px;margin:0 -4px;
}
.sidebar-recent__item:hover{background:var(--paper);padding-left:8px}
.sidebar-recent__thumb{
    width:62px;height:62px;object-fit:cover;
    border-radius:var(--radius-lg);flex-shrink:0;
    box-shadow:var(--shadow-xs);
    transition:transform var(--ease);
}
.sidebar-recent__item:hover .sidebar-recent__thumb{transform:scale(1.04)}
.sidebar-recent__body{display:flex;flex-direction:column;justify-content:center;min-width:0}
.sidebar-recent__headline{
    font-size:.82rem;font-weight:600;line-height:1.32;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.sidebar-recent__time{font-size:.68rem;color:var(--text-3);margin-top:4px;font-family:var(--f-mono)}

/* Smooth entrance animations */
@keyframes fadeInUp{
    from{opacity:0;transform:translateY(16px)}
    to{opacity:1;transform:translateY(0)}
}
.card,.sx__panel,.dual__col{animation:fadeInUp .4s ease both}
.grid3 .card:nth-child(1){animation-delay:.05s}
.grid3 .card:nth-child(2){animation-delay:.1s}
.grid3 .card:nth-child(3){animation-delay:.15s}

@media print{
    .site-header,.hdr-nav-bar,.mobile-nav,.mobile-overlay,.scroll-top,.site-footer,
    .share-row,.pulsul-ad,.pulsul-ad--desktop,.pulsul-ad--mobile,.post-sidebar-ad,.tiktok-section,.nexus__wheel{display:none!important}
    body{padding-top:0;background:#fff}
    .card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
}


/* ==========================================================================
   IMG-CAP — plafonare înălțime imagini articol  (feedback client, 4 aug 2026)
   --------------------------------------------------------------------------
   Problema: imaginile portret afișate la 100% lățime ajungeau la 1200-1600px
   înălțime și ocupau 2-3 ecrane consecutive pe desktop.
   Soluția: plafon de înălțime (--img-cap). Imaginea se scalează proporțional
   și rămâne centrată — FĂRĂ crop, nu se pierde nimic din cadru.
   Se aplică la imaginea principală și la imaginile din corpul articolului.
   ========================================================================== */
:root{--img-cap:520px}
@media(max-width:1024px){:root{--img-cap:480px}}
@media(max-width:768px){:root{--img-cap:420px}}

.post-img{
    margin:0 0 24px;
    display:block;text-align:center;
    overflow:visible;background:none;box-shadow:none;border-radius:0
}
.post-img img{
    display:inline-block;vertical-align:top;
    width:auto;max-width:100%;
    height:auto;max-height:var(--img-cap);
    border-radius:var(--radius-xl)
}
@media(min-width:768px){.post-img img{box-shadow:var(--shadow-md)}}
.post-content img:not(.alignleft):not(.alignright):not(.emoji):not(.avatar){
    display:block;margin-left:auto;margin-right:auto;
    width:auto;max-width:100%;
    height:auto;max-height:var(--img-cap);
    object-fit:contain
}
.post-content figure{margin-left:auto;margin-right:auto;text-align:center}
.post-content figure figcaption{text-align:center}

