/* ============================================================
   EPR Compliant Producers – Premium Redesign v3.0
   ============================================================ */

/* ── HERO ─────────────────────────────────────────────────── */
.producers-hero {
    position: relative;
    background:
        radial-gradient(ellipse at top right, rgba(184,134,11,.22) 0%, transparent 55%),
        radial-gradient(ellipse at bottom left, rgba(0,109,79,.5) 0%, transparent 60%),
        linear-gradient(135deg, #003d24 0%, #006b3f 55%, #1f8a5c 100%);
    color: #fff;
    padding: 60px 0 70px;
    overflow: hidden;
}
.hero-bg-shapes { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.hero-bg-shapes .shape {
    position: absolute; border-radius: 50%;
    background: rgba(255,255,255,.04);
    animation: floatShape 14s ease-in-out infinite;
}
.hero-bg-shapes .shape-1 { width:320px; height:320px; top:-100px; right:-80px; }
.hero-bg-shapes .shape-2 { width:220px; height:220px; bottom:-60px; left:20%; animation-delay:3s; background:rgba(184,134,11,.12); }
.hero-bg-shapes .shape-3 { width:180px; height:180px; top:40%; right:25%; animation-delay:6s; }
@keyframes floatShape {
    0%,100% { transform:translate(0,0) scale(1); }
    50%      { transform:translate(20px,-20px) scale(1.05); }
}
.producers-hero .breadcrumb { background:none; padding:0; margin:0; }
.producers-hero .breadcrumb-item a { color:rgba(255,255,255,.85); text-decoration:none; }
.producers-hero .breadcrumb-item a:hover { color:#ffd700; }
.producers-hero .breadcrumb-item.active { color:rgba(255,255,255,.55); }
.producers-hero .breadcrumb-item+.breadcrumb-item::before { color:rgba(255,255,255,.45); }

.hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(255,255,255,.12); backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.2); color:#fff;
    padding:7px 16px; border-radius:25px; font-size:.78rem;
    font-weight:600; margin-bottom:18px; letter-spacing:.03em;
}
.hero-badge i { color:#ffd700; }
.hero-title {
    font-family:'Poppins',sans-serif; font-weight:800; font-size:2.6rem;
    line-height:1.15; margin:0 0 16px; color:#fff;
    text-shadow:0 2px 8px rgba(0,0,0,.15);
}
.hero-subtitle { font-size:1rem; line-height:1.65; opacity:.92; max-width:600px; margin-bottom:28px; }
.hero-subtitle strong { color:#ffd700; font-weight:700; }
.hero-stats { display:flex; gap:18px; flex-wrap:wrap; margin-top:8px; }
.hero-stat {
    display:flex; align-items:center; gap:12px;
    background:rgba(255,255,255,.08); backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.12); border-radius:14px;
    padding:12px 18px; min-width:165px; transition:transform .3s,background .3s;
}
.hero-stat:hover { transform:translateY(-3px); background:rgba(255,255,255,.14); }
.hero-stat-icon {
    width:38px; height:38px; background:rgba(255,215,0,.2); color:#ffd700;
    border-radius:10px; display:flex; align-items:center; justify-content:center;
    font-size:.95rem; flex-shrink:0;
}
.hero-stat-value { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.35rem; line-height:1.1; color:#fff; }
.hero-stat-label { font-size:.72rem; color:rgba(255,255,255,.7); font-weight:500; margin-top:1px; }
.hero-illustration {
    display:inline-flex; align-items:center; justify-content:center;
    width:220px; height:220px; border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,.15) 0%, rgba(255,255,255,.05) 70%);
    border:2px dashed rgba(255,255,255,.25); color:rgba(255,255,255,.9);
    font-size:7rem; animation:floatShape 6s ease-in-out infinite;
}

/* ── FILTER BAR ───────────────────────────────────────────── */
.filter-bar {
    background:#fff; border-bottom:1px solid #e9ecef;
    padding:22px 0; position:sticky; top:0; z-index:50;
    box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.filter-label {
    display:block; font-size:.68rem; font-weight:700; color:#003d24;
    text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px;
}
.search-input-wrap { position:relative; }
.search-input-wrap .search-icon {
    position:absolute; left:16px; top:50%;
    transform:translateY(-50%); color:#6c757d; font-size:.9rem;
}
.search-input-wrap input.form-control-lg {
    padding:14px 44px 14px 42px; border:1.5px solid #e3e7eb;
    border-radius:12px; font-size:.95rem; background:#fafbfc; transition:all .25s;
}
.search-input-wrap input.form-control-lg:focus {
    border-color:#006b3f; background:#fff;
    box-shadow:0 0 0 4px rgba(0,107,63,.1);
}
.search-input-wrap .search-clear {
    position:absolute; right:12px; top:50%; transform:translateY(-50%);
    background:#f0f0f0; border:none; color:#6c757d; width:26px; height:26px;
    border-radius:50%; display:none; align-items:center; justify-content:center;
    font-size:.72rem; cursor:pointer; transition:all .15s;
}
.search-input-wrap .search-clear:hover { background:#006b3f; color:#fff; }
.search-input-wrap.has-value .search-clear { display:flex; }
.btn-reset {
    background:#fff; color:#212529; border:1.5px solid #e3e7eb;
    border-radius:12px; padding:14px 18px; font-weight:600; font-size:.9rem;
    transition:all .25s; white-space:nowrap;
}
.btn-reset:hover {
    background:#e6f4ed; border-color:#006b3f; color:#006b3f; transform:translateY(-1px);
}
.live-status {
    display:inline-flex; align-items:center;
    font-size:.82rem; color:#006b3f; font-weight:500;
}

/* ── RESULTS SECTION ──────────────────────────────────────── */
.results-section {
    background:linear-gradient(180deg,#f2f7f4 0%,#e8f2ec 100%);
    padding:36px 0 70px; min-height:50vh;
}
.results-header {
    display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:16px; margin-bottom:24px; background:#fff;
    border-radius:16px; padding:18px 24px;
    box-shadow:0 2px 16px rgba(0,0,0,.05); border:1px solid #e6edef;
}
.results-count { display:flex; align-items:center; gap:14px; }
.check-pill {
    width:46px; height:46px;
    background:linear-gradient(135deg,#e6f4ed,#d0ebde); color:#006b3f;
    border-radius:12px; display:flex; align-items:center; justify-content:center;
    font-size:1.2rem; flex-shrink:0; box-shadow:0 4px 12px rgba(0,107,63,.12);
}
.results-count-num {
    font-family:'Poppins',sans-serif; font-weight:700; color:#003d24;
    font-size:1.1rem; line-height:1.2;
}
.results-count-num span:first-child { font-size:1.6rem; color:#006b3f; margin-right:6px; }
.results-count-sub { font-size:.78rem; color:#6c757d; margin-top:2px; }
.results-count-sub strong { color:#003d24; }
.results-meta { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.badge-soft {
    display:inline-flex; align-items:center;
    background:#e3e7eb; color:#6c757d;
    padding:5px 12px; border-radius:20px; font-size:.72rem; font-weight:600; transition:all .25s;
}
.badge-soft.badge-active {
    background:linear-gradient(135deg,#fff3cd,#ffe69c); color:#856404;
    box-shadow:0 2px 6px rgba(184,134,11,.15);
}

/* ── ANIMATE IN ───────────────────────────────────────────── */
@keyframes animateIn {
    from { opacity:0; transform:translateY(18px); }
    to   { opacity:1; transform:translateY(0); }
}
.animate-in { animation:animateIn .45s ease both; }

/* ── TABLE SHELL ──────────────────────────────────────────── */
.ptable-shell {
    background:#fff;
    border-radius:20px;
    box-shadow:0 8px 40px rgba(0,0,0,.07), 0 2px 8px rgba(0,0,0,.04);
    border:1px solid #dde9e4;
    overflow:hidden;
    position:relative;
}

/* Animated top accent bar */
.ptable-accent-bar {
    height:5px;
    background:linear-gradient(90deg,#003d24 0%,#006b3f 20%,#2dbe7a 40%,#ffd700 55%,#2dbe7a 70%,#006b3f 85%,#003d24 100%);
    background-size:300% 100%;
    animation:accentSlide 6s linear infinite;
}
@keyframes accentSlide {
    0%   { background-position:0% 50%; }
    100% { background-position:300% 50%; }
}

/* ── TABLE TOOLBAR ────────────────────────────────────────── */
.ptable-toolbar {
    display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:12px;
    padding:16px 24px;
    border-bottom:1px solid #eef2ef;
    background:linear-gradient(180deg,#fafcfb 0%,#f5f9f6 100%);
}
.ptable-toolbar-left { display:flex; align-items:center; gap:12px; }
.ptable-toolbar-right { display:flex; align-items:center; gap:10px; }

.ptable-count-badge {
    display:inline-flex; align-items:center; gap:7px;
    background:linear-gradient(135deg,#003d24,#006b3f);
    color:#fff; font-family:'Poppins',sans-serif;
    font-weight:700; font-size:.8rem;
    padding:6px 14px; border-radius:20px;
    box-shadow:0 3px 10px rgba(0,107,63,.28);
    letter-spacing:.02em;
}
.ptable-count-badge i { color:#a8f0cc; font-size:.75rem; }

.ptable-sub {
    color:#6c757d; font-size:.8rem; font-weight:500;
}

.ptable-toolbar-label {
    font-size:.75rem; font-weight:600; color:#003d24;
    text-transform:uppercase; letter-spacing:.05em;
}
.per-page-select-wrap {
    position:relative; display:inline-flex; align-items:center;
}
.per-page-select {
    appearance:none; -webkit-appearance:none;
    border:1.5px solid #c8ddd5; border-radius:10px;
    padding:7px 32px 7px 12px;
    font-size:.82rem; font-weight:700; color:#003d24;
    background:#fff; cursor:pointer;
    transition:all .2s;
    font-family:'Poppins',sans-serif;
}
.per-page-select:focus { outline:none; border-color:#006b3f; box-shadow:0 0 0 3px rgba(0,107,63,.12); }
.per-page-arrow {
    position:absolute; right:10px; top:50%; transform:translateY(-50%);
    pointer-events:none; color:#006b3f; font-size:.65rem;
}

/* ── TABLE SCROLL ─────────────────────────────────────────── */
.ptable-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.ptable-scroll::-webkit-scrollbar { height:5px; }
.ptable-scroll::-webkit-scrollbar-track { background:#f1f5f2; }
.ptable-scroll::-webkit-scrollbar-thumb { background:#b3d4c2; border-radius:10px; }

/* ── PTABLE TABLE ─────────────────────────────────────────── */
.ptable {
    width:100%; border-collapse:separate; border-spacing:0;
    font-size:.875rem; min-width:820px;
}
.ptable thead tr {
    background:linear-gradient(180deg,#edf7f1 0%,#dff0e7 100%);
}
.ptable thead th {
    padding:16px 20px; text-align:left;
    font-family:'Poppins',sans-serif; font-weight:700;
    font-size:.68rem; text-transform:uppercase; letter-spacing:.07em;
    color:#003d24; border-bottom:2px solid #b8d9c7;
    white-space:nowrap; position:sticky; top:0; z-index:2;
}
.ptable thead th i { color:#006b3f; opacity:.85; font-size:.7rem; }
.ptable thead th.th-num { width:60px; padding-left:24px; }
.ptable thead th:last-child { padding-right:24px; }

/* ── TABLE ROWS ───────────────────────────────────────────── */
.ptable tbody .ptable-row {
    position:relative;
    transition:background .25s, box-shadow .25s, transform .18s;
    animation:rowFadeIn .5s ease both;
}
.ptable tbody .ptable-row:nth-child(1)  { animation-delay:.03s; }
.ptable tbody .ptable-row:nth-child(2)  { animation-delay:.06s; }
.ptable tbody .ptable-row:nth-child(3)  { animation-delay:.09s; }
.ptable tbody .ptable-row:nth-child(4)  { animation-delay:.12s; }
.ptable tbody .ptable-row:nth-child(5)  { animation-delay:.15s; }
.ptable tbody .ptable-row:nth-child(6)  { animation-delay:.18s; }
.ptable tbody .ptable-row:nth-child(7)  { animation-delay:.21s; }
.ptable tbody .ptable-row:nth-child(8)  { animation-delay:.24s; }
.ptable tbody .ptable-row:nth-child(9)  { animation-delay:.27s; }
.ptable tbody .ptable-row:nth-child(10) { animation-delay:.30s; }
@keyframes rowFadeIn {
    from { opacity:0; transform:translateY(8px); }
    to   { opacity:1; transform:translateY(0); }
}

.ptable tbody .ptable-row:hover {
    background:linear-gradient(90deg,#edfaf2 0%,#f7fdf9 60%,#fff 100%);
    box-shadow:inset 4px 0 0 #006b3f, 0 4px 18px rgba(0,107,63,.09);
    transform:translateX(2px);
    z-index:1;
}
.ptable tbody .ptable-row:nth-child(even) { background:#fbfcfb; }
.ptable tbody .ptable-row:nth-child(even):hover {
    background:linear-gradient(90deg,#edfaf2 0%,#f7fdf9 60%,#fbfcfb 100%);
}

.ptable tbody td {
    padding:18px 20px; border-bottom:1px solid #f0f4f2;
    vertical-align:top; color:#212529;
}
.ptable tbody .ptable-row:last-child td { border-bottom:none; }
.ptable tbody td:first-child { padding-left:24px; }
.ptable tbody td:last-child  { padding-right:24px; }

/* ── ROW NUMBER ──────────────────────────────────────────── */
.prow-num {
    display:inline-flex; align-items:center; justify-content:center;
    width:34px; height:34px;
    background:linear-gradient(135deg,#e6f4ed,#cce8d8);
    color:#006b3f; border-radius:10px;
    font-weight:800; font-size:.82rem;
    font-family:'Poppins',sans-serif;
    border:1px solid rgba(0,107,63,.15);
    transition:all .25s;
}
.ptable-row:hover .prow-num {
    background:linear-gradient(135deg,#006b3f,#004f2d);
    color:#fff; border-color:#006b3f;
    box-shadow:0 3px 10px rgba(0,107,63,.3);
}

/* ── PRODUCER CELL ────────────────────────────────────────── */
.prow-name-link {
    display:flex; align-items:flex-start; gap:12px;
    text-decoration:none; color:inherit;
}
.prow-avatar {
    width:46px; height:46px; flex-shrink:0;
    background:linear-gradient(135deg,#006b3f,#003d24);
    color:#fff; border-radius:13px;
    display:flex; align-items:center; justify-content:center;
    font-size:1.1rem; font-weight:800; font-family:'Poppins',sans-serif;
    box-shadow:0 4px 12px rgba(0,107,63,.3);
    transition:transform .3s, box-shadow .3s;
    letter-spacing:0;
}
.ptable-row:hover .prow-avatar {
    transform:rotate(-5deg) scale(1.08);
    box-shadow:0 6px 20px rgba(0,107,63,.38);
}
.prow-info { min-width:0; }
.prow-company {
    font-family:'Poppins',sans-serif; font-weight:700; color:#003d24;
    font-size:.95rem; line-height:1.3; transition:color .2s;
}
.prow-name-link:hover .prow-company { color:#006b3f; }
.prow-trading { font-size:.74rem; color:#6c757d; margin-top:2px; font-style:italic; }
.prow-nema {
    display:inline-flex; align-items:center; gap:5px;
    font-size:.7rem; color:#006b3f; font-weight:700;
    margin-top:6px; background:#e6f4ed; padding:3px 9px;
    border-radius:6px; font-family:'Poppins',sans-serif;
    border:1px solid #b8dcc6; letter-spacing:.02em;
}

/* ── PRODUCT CHIPS ────────────────────────────────────────── */
.prow-products {
    display:flex; flex-direction:column; gap:5px; max-width:340px; margin-bottom:8px;
}
.prow-product-chip {
    display:flex; align-items:center; gap:7px;
    font-size:.8rem; padding:6px 10px;
    background:linear-gradient(90deg,#f4fbf7,#edf7f1);
    border-radius:8px; border-left:3px solid #2dbe7a;
    transition:all .22s; line-height:1.3;
}
.ptable-row:hover .prow-product-chip {
    background:#fff;
    box-shadow:0 2px 8px rgba(0,107,63,.1);
    transform:translateX(3px);
}
.chip-icon { color:#2dbe7a; font-size:.72rem; flex-shrink:0; }
.chip-name { color:#212529; font-weight:600; flex:1; }
.chip-pack {
    font-size:.65rem; font-weight:700; color:#006b3f;
    background:#d4edda; padding:2px 7px; border-radius:5px;
    text-transform:uppercase; letter-spacing:.04em; flex-shrink:0;
}
.prow-more-chip {
    display:inline-flex; align-items:center; gap:5px;
    font-size:.72rem; font-weight:700; color:#7c5200;
    background:linear-gradient(135deg,#fff8e1,#ffe082);
    padding:4px 10px; border-radius:8px;
    border:1px solid #f5c842; align-self:flex-start;
}
.prow-cleared-badge {
    display:inline-flex; align-items:center; gap:5px;
    font-size:.7rem; font-weight:700; color:#006b3f;
    background:#e6f4ed; padding:3px 10px; border-radius:12px;
    border:1px solid #b8dcc6;
}
.prow-no-products { font-size:.82rem; color:#9ca3af; }

/* ── PLASTIC COMPLIANCE ───────────────────────────────────── */
.pc-badge {
    display:inline-flex; align-items:center; gap:10px;
    padding:9px 13px; border-radius:13px; font-size:.78rem;
    min-width:160px; transition:all .25s;
}
.ptable-row:hover .pc-badge { transform:scale(1.02); box-shadow:0 4px 14px rgba(0,0,0,.1); }

.pc-ok {
    background:linear-gradient(135deg,#d1f7e4,#b4edcd);
    border:1px solid #6fcf97; color:#08502e;
}
.pc-ok .pc-icon {
    width:30px; height:30px; flex-shrink:0;
    background:linear-gradient(135deg,#006b3f,#00a05a);
    color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-size:.88rem; box-shadow:0 3px 8px rgba(0,107,63,.3);
}

.pc-nok {
    background:linear-gradient(135deg,#fff8e1,#ffecb3);
    border:1.5px solid #f59e0b; color:#78350f;
}
.pc-nok .pc-icon {
    width:30px; height:30px; flex-shrink:0;
    background:linear-gradient(135deg,#d97706,#b45309);
    color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-size:.88rem; box-shadow:0 3px 8px rgba(217,119,6,.35);
    animation:pulseAmber 2.5s ease-in-out infinite;
}
@keyframes pulseAmber {
    0%,100% { box-shadow:0 3px 8px rgba(217,119,6,.35); }
    50%      { box-shadow:0 3px 14px rgba(217,119,6,.65), 0 0 0 4px rgba(245,158,11,.14); }
}
.pc-label {
    font-weight:700; font-size:.8rem; line-height:1.2;
    font-family:'Poppins',sans-serif;
}
.pc-sub { font-size:.67rem; opacity:.75; margin-top:2px; line-height:1.25; }
.pc-days {
    display:inline-flex; align-items:center; gap:4px;
    font-size:.7rem; font-weight:700; margin-top:7px;
    padding:3px 9px; border-radius:10px;
}
.pc-days-ok   { background:#e6f4ef; color:#006b3f; border:1px solid #b3d9c9; }
.pc-days-warn { background:#fff3cd; color:#856404; border:1px solid #ffe69c; animation:pulseWarn 2s ease-in-out infinite; }
@keyframes pulseWarn {
    0%,100% { box-shadow:none; }
    50%      { box-shadow:0 0 0 5px rgba(184,134,11,0); }
}

/* ── DATE CELL ────────────────────────────────────────────── */
.prow-date {
    display:flex; align-items:flex-start; gap:9px;
}
.prow-date-icon {
    width:30px; height:30px; flex-shrink:0;
    border-radius:9px; display:flex; align-items:center; justify-content:center;
    font-size:.78rem; margin-top:1px; transition:transform .25s;
}
.ptable-row:hover .prow-date-icon { transform:scale(1.1); }
.prow-date-pub { background:#e6f4ed; color:#006b3f; }
.prow-date-exp { background:#fff3cd; color:#856404; }

.prow-date-val {
    font-size:.83rem; font-weight:600; color:#212529;
    white-space:nowrap; display:flex; align-items:center; gap:6px; flex-wrap:wrap;
}
.prow-date-sub {
    font-size:.68rem; color:#9ca3af; margin-top:2px;
}
.prow-timeline-link {
    color:#3b82f6; text-decoration:none; font-weight:600;
}
.prow-timeline-link:hover { text-decoration:underline; }

/* ── EXPIRY PILLS ─────────────────────────────────────────── */
.expiry-pill {
    display:inline-flex; align-items:center; gap:3px;
    font-size:.68rem; font-weight:800; padding:2px 8px; border-radius:12px;
    font-family:'Poppins',sans-serif; white-space:nowrap;
}
.eb-ok      { background:linear-gradient(135deg,#d4edda,#c3e6cb); color:#155724; }
.eb-warning { background:linear-gradient(135deg,#fff3cd,#ffe69c); color:#856404; }
.eb-danger  {
    background:linear-gradient(135deg,#f8d7da,#f1aeb5); color:#842029;
    animation:pulseDanger 1.8s ease-in-out infinite;
}
@keyframes pulseDanger {
    0%,100% { box-shadow:0 0 0 0 rgba(220,53,69,.4); }
    50%      { box-shadow:0 0 0 6px rgba(220,53,69,0); }
}

/* ── EMPTY STATE ──────────────────────────────────────────── */
.empty-state {
    background:#fff; border-radius:20px; border:2px dashed #c8d9d2;
    padding:70px 24px; text-align:center;
    box-shadow:0 4px 20px rgba(0,0,0,.04);
}
.empty-state .empty-icon {
    width:90px; height:90px;
    background:linear-gradient(135deg,#e6f4ed,#d0ebde); color:#006b3f;
    border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
    font-size:2.2rem; margin-bottom:20px;
    box-shadow:0 6px 20px rgba(0,107,63,.15);
}
.empty-state h5 {
    color:#003d24; font-weight:700;
    font-family:'Poppins',sans-serif; margin-bottom:8px; font-size:1.1rem;
}
.empty-state p { color:#6c757d; font-size:.9rem; margin-bottom:20px; }
.btn-reset-link {
    display:inline-flex; align-items:center; gap:8px;
    background:linear-gradient(135deg,#006b3f,#003d24);
    color:#fff; padding:10px 22px; border-radius:12px;
    font-weight:700; font-size:.88rem; text-decoration:none;
    box-shadow:0 4px 14px rgba(0,107,63,.3);
    transition:all .25s;
}
.btn-reset-link:hover { transform:translateY(-2px); box-shadow:0 7px 20px rgba(0,107,63,.4); color:#fff; }

/* ── SEARCH HIGHLIGHT ─────────────────────────────────────── */
.search-match {
    background:linear-gradient(120deg,#fff3cd 0%,transparent 100%);
    padding:0 2px; border-radius:3px;
    font-weight:700; color:#003d24;
}

/* ══════════════════════════════════════════════════════════
   MODERN PAGINATION
   ══════════════════════════════════════════════════════════ */
.pg-bar {
    display:flex; align-items:center; flex-wrap:wrap; gap:14px;
    justify-content:space-between;
    padding:18px 24px;
    border-top:1px solid #eef2ef;
    background:linear-gradient(180deg,#f7fbf8 0%,#f1f8f4 100%);
}

/* Info */
.pg-info {
    font-size:.82rem; color:#6c757d; font-weight:500;
    white-space:nowrap;
}
.pg-info strong { color:#003d24; font-family:'Poppins',sans-serif; font-weight:800; }

/* Controls */
.pg-controls {
    display:flex; align-items:center; gap:5px; flex-wrap:wrap;
}

/* Base page button */
.pg-btn {
    min-width:38px; height:38px;
    display:inline-flex; align-items:center; justify-content:center;
    padding:0 10px; border-radius:10px;
    background:#fff; border:1.5px solid #dde7e2;
    color:#003d24; font-weight:700; font-size:.84rem;
    text-decoration:none; transition:all .22s;
    font-family:'Poppins',sans-serif;
    cursor:pointer; user-select:none; position:relative; overflow:hidden;
}
.pg-btn::before {
    content:''; position:absolute; inset:0;
    background:linear-gradient(135deg,#006b3f,#003d24);
    opacity:0; transition:opacity .22s; border-radius:8px;
}
.pg-btn:hover:not(.disabled):not(.pg-active) {
    border-color:#006b3f; color:#006b3f;
    transform:translateY(-2px);
    box-shadow:0 4px 12px rgba(0,107,63,.18);
    text-decoration:none;
}
.pg-btn:hover:not(.disabled):not(.pg-active) { background:#e8f5ee; }

/* Active page */
.pg-btn.pg-active {
    background:linear-gradient(135deg,#006b3f,#004a2b);
    border-color:#006b3f; color:#fff;
    box-shadow:0 4px 16px rgba(0,107,63,.38);
    transform:translateY(-1px);
}

/* Disabled */
.pg-btn.disabled {
    opacity:.35; cursor:not-allowed; pointer-events:none;
}

/* Arrow buttons (prev/next) */
.pg-btn.pg-arrow {
    border-radius:10px;
    font-size:.78rem;
}

/* Edge buttons (first/last) */
.pg-btn.pg-edge {
    border-radius:10px;
    font-size:.72rem;
    color:#6c757d; border-color:#e3e7eb;
}
.pg-btn.pg-edge:hover:not(.disabled) {
    color:#006b3f; border-color:#006b3f; background:#e8f5ee;
}

/* Ellipsis */
.pg-ellipsis {
    min-width:24px; height:38px; display:inline-flex;
    align-items:center; justify-content:center;
    color:#9ca3af; font-size:.9rem; font-weight:700;
    pointer-events:none; user-select:none;
}

/* Jump to page */
.pg-jump {
    display:flex; align-items:center; gap:6px;
}
.pg-jump-label {
    font-size:.75rem; font-weight:700; color:#6c757d;
    text-transform:uppercase; letter-spacing:.05em; white-space:nowrap;
}
.pg-jump-input {
    width:58px; height:38px; border:1.5px solid #dde7e2;
    border-radius:10px; text-align:center;
    font-size:.84rem; font-weight:700; color:#003d24;
    font-family:'Poppins',sans-serif; padding:0 6px;
    background:#fff; transition:all .2s;
    -moz-appearance:textfield;
}
.pg-jump-input::-webkit-outer-spin-button,
.pg-jump-input::-webkit-inner-spin-button { -webkit-appearance:none; }
.pg-jump-input:focus {
    outline:none; border-color:#006b3f;
    box-shadow:0 0 0 3px rgba(0,107,63,.12);
}
.pg-jump-btn {
    width:38px; height:38px; border:none; cursor:pointer;
    background:linear-gradient(135deg,#006b3f,#004a2b);
    color:#fff; border-radius:10px; display:flex; align-items:center; justify-content:center;
    font-size:.78rem; transition:all .22s;
    box-shadow:0 3px 10px rgba(0,107,63,.28);
}
.pg-jump-btn:hover { transform:translateY(-1px); box-shadow:0 5px 16px rgba(0,107,63,.38); }

/* ── INFO BANNER ──────────────────────────────────────────── */
.info-banner {
    background:linear-gradient(135deg,#003d24 0%,#006b3f 100%);
    padding:32px 0; position:relative; overflow:hidden;
}
.info-banner::before {
    content:''; position:absolute; top:-50px; right:-50px;
    width:200px; height:200px;
    background:rgba(255,255,255,.04); border-radius:50%;
}
.info-card {
    display:flex; align-items:flex-start; gap:18px;
    color:rgba(255,255,255,.92); font-size:.9rem; line-height:1.65;
    position:relative; z-index:2;
}
.info-icon {
    width:46px; height:46px; flex-shrink:0;
    background:rgba(255,215,0,.2); color:#ffd700; border-radius:13px;
    display:flex; align-items:center; justify-content:center; font-size:1.1rem;
}
.info-text strong { color:#fff; }
.info-text a { color:#ffd700; text-decoration:none; }
.info-text a:hover { text-decoration:underline; }

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════ */
@media (max-width:991px) {
    .hero-title { font-size:2.1rem; }
    .hero-illustration { width:160px; height:160px; font-size:5rem; }
    .hero-stat { min-width:145px; padding:10px 14px; }
}

@media (max-width:768px) {
    .results-header { flex-direction:column; align-items:flex-start; }
    .hero-stats { width:100%; }
    .hero-stat { flex:1; min-width:0; }

    /* ── Mobile card layout ── */
    .ptable-shell { border-radius:14px; }
    .ptable-scroll { overflow-x:visible; }
    .ptable,
    .ptable tbody,
    .ptable tbody .ptable-row,
    .ptable tbody td { display:block; width:100%; }

    .ptable thead { display:none; }

    .ptable tbody .ptable-row {
        background:#fff; border:1px solid #dde9e4;
        border-radius:16px; margin:0 12px 14px;
        padding:16px; box-shadow:0 3px 14px rgba(0,0,0,.05);
        position:relative; width:auto;
        animation:rowFadeIn .4s ease both;
        transition:box-shadow .25s, transform .2s;
    }
    .ptable tbody .ptable-row:nth-child(even) { background:#fff; }
    .ptable tbody .ptable-row:hover {
        box-shadow:0 8px 28px rgba(0,107,63,.14);
        transform:translateY(-2px); background:#fff;
    }
    .ptable tbody .ptable-row::before {
        content:''; position:absolute; top:0; left:0; bottom:0; width:4px;
        background:linear-gradient(180deg,#006b3f,#2dbe7a);
        border-radius:16px 0 0 16px;
    }

    /* Each cell as labelled row */
    .ptable tbody td {
        padding:9px 0; border-bottom:1px dashed #eef2ef;
        display:flex; justify-content:space-between; align-items:flex-start;
        gap:12px; text-align:right; border-radius:0;
    }
    .ptable tbody td:last-child { border-bottom:none; }
    .ptable tbody td::before {
        content:attr(data-label);
        font-weight:700; color:#003d24; font-size:.67rem;
        text-transform:uppercase; letter-spacing:.05em;
        text-align:left; flex-shrink:0; min-width:105px; padding-top:4px;
    }

    /* Producer cell special */
    .ptable tbody td[data-label="Producer"] {
        display:block; text-align:left;
        padding:0 0 12px; border-bottom:1px solid #dde9e4; margin-bottom:10px;
    }
    .ptable tbody td[data-label="Producer"]::before { display:none; }

    /* # number cell */
    .ptable tbody td[data-label="#"] {
        justify-content:flex-end; border-bottom:none;
        position:absolute; top:12px; right:12px; padding:0; width:auto; min-width:auto;
    }
    .ptable tbody td[data-label="#"]::before { display:none; }

    /* Products list */
    .prow-products { max-width:100%; }

    /* Pagination responsive */
    .pg-bar {
        flex-direction:column; align-items:center; gap:14px; padding:16px;
        text-align:center;
    }
    .pg-controls { justify-content:center; }
    .pg-jump { justify-content:center; }

    /* Toolbar responsive */
    .ptable-toolbar { flex-direction:column; align-items:flex-start; gap:10px; }
    .ptable-toolbar-right { align-self:flex-end; }
}

@media (max-width:480px) {
    .hero-title { font-size:1.7rem; }
    .hero-subtitle { font-size:.9rem; }
    .info-card { flex-direction:column; gap:12px; }
    .pg-btn { min-width:34px; height:34px; font-size:.78rem; padding:0 7px; }
    .pg-jump-input { width:50px; height:34px; }
    .pg-jump-btn { width:34px; height:34px; }
    .ptable-toolbar { padding:14px; }
    .pg-bar { padding:12px 14px; }
    .ptable-count-badge { font-size:.75rem; padding:5px 11px; }
}
