.nkl-promotion-filters { margin-bottom:28px; padding:24px; border:1px solid #e1eae5; border-radius:18px; background:#fff; box-shadow:0 8px 28px rgba(23,58,40,.035); }
.nkl-promotion-filters__heading { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.nkl-promotion-filters__heading-icon { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:12px; background:#eaf6ef; color:#008544; }
.nkluck-site .nkl-promotion-filters__heading h2 { margin:0 0 3px; color:#244c39; font-size:18px; font-weight:700; line-height:1.4; }
.nkl-promotion-filters__heading p { margin:0; color:#8a9990; font-size:12px; line-height:1.5; }
.nkl-promotion-icon { display:block; flex-shrink:0; width:20px; height:20px; }
.nkl-promotion-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
.nkl-promotion-tabs a { display:flex; align-items:center; gap:12px; min-width:0; min-height:66px; padding:12px 14px; border:1px solid #e4ebe6; border-radius:12px; background:#fff; color:#5d7064; font-size:14px; font-weight:600; text-decoration:none; transition:border-color .18s,background-color .18s; }
.nkl-promotion-tabs a:hover { border-color:#b3d5c1; background:#f8fcfa; }
.nkl-promotion-tabs a.is-active { border-color:#00a651; background:#eff9f3; color:#007e41; box-shadow:inset 0 0 0 1px rgba(0,166,81,.12); }
.nkl-promotion-tab-icon { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:10px; background:#f1f5f3; color:#6c8a77; }
.nkl-promotion-tabs .is-active .nkl-promotion-tab-icon { background:#008544; color:#fff; }
.nkl-promotion-tab-label { flex:1; min-width:0; }
.nkl-promotion-tab-count { display:grid; place-items:center; flex-shrink:0; min-width:26px; height:26px; padding:0 6px; border-radius:50%; background:#f2f5f3; color:#6c8173; font-size:12px; font-variant-numeric:tabular-nums; }
.nkl-promotion-tabs .is-active .nkl-promotion-tab-count { background:#d9efe2; color:#007e41; }
.nkl-promotion-filter-form { display:grid; grid-template-columns:minmax(200px,1fr) 190px 210px auto auto; align-items:end; gap:12px; padding-top:20px; border-top:1px solid #edf2ef; }
.nkl-promotion-filter-form label { display:flex; flex-direction:column; gap:8px; min-width:0; margin:0; color:#6a7d70; font-size:12px; font-weight:600; }
.nkl-promotion-field { display:block; position:relative; }
.nkl-promotion-field > .nkl-promotion-icon { position:absolute; left:13px; top:14px; z-index:1; width:18px; height:18px; color:#8aa194; pointer-events:none; }
.nkl-promotion-filter-form :is(input[type="search"],select) { box-sizing:border-box; width:100%; height:46px; margin:0; padding:10px 12px 10px 40px; border:1px solid #dfe8e2; border-radius:9px; background:#fafcfb; color:#375443; font-family:inherit; font-size:14px; font-weight:400; transition:border-color .18s,box-shadow .18s; }
.nkl-promotion-filter-form input::placeholder { color:#9aa99f; opacity:1; }
.nkl-promotion-filter-form :is(input,select):focus { border-color:#00a651; background:#fff; box-shadow:0 0 0 3px rgba(0,166,81,.08); }
.nkl-promotion-filter-form button,.nkl-promotion-reset { display:flex; align-items:center; justify-content:center; gap:8px; box-sizing:border-box; height:46px; margin:0; padding:10px 16px; border-radius:9px; font-family:inherit; font-size:13px; font-weight:600; white-space:nowrap; cursor:pointer; text-decoration:none; }
.nkl-promotion-filter-form button { border:1px solid #008544; background:#008544; color:#fff; box-shadow:0 3px 8px rgba(0,133,68,.1); }
.nkl-promotion-filter-form button:hover { background:#006d38; border-color:#006d38; }
.nkl-promotion-reset { border:1px solid #e1e9e4; background:#fff; color:#71877a; }
.nkl-promotion-reset:hover { border-color:#b3d5c1; background:#f4faf6; color:#008544; }
.nkl-promotion-result-count { margin:16px 0 0; color:#8b9b91; font-size:12px; text-align:right; }
.nkl-promotion-filters :is(a,input,select,button):focus-visible { outline:2px solid #008544; outline-offset:3px; }
@media(max-width:1199px) { .nkl-promotion-filter-form { grid-template-columns:1fr 1fr auto auto; } .nkl-promotion-search { grid-column:1/-1; } .nkl-promotion-tabs a { gap:8px; padding:10px; } }
@media(max-width:767px) { .nkl-promotion-filters { padding:16px; border-radius:14px; } .nkl-promotion-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:16px; } .nkl-promotion-tabs a { min-height:58px; font-size:12px; } .nkl-promotion-tab-icon { flex-basis:30px; width:30px; height:30px; border-radius:8px; } .nkl-promotion-tab-count { min-width:22px; height:22px; font-size:11px; } .nkl-promotion-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .nkl-promotion-filter-form select { font-size:12px; padding-left:34px; } .nkl-promotion-field > .nkl-promotion-icon { left:10px; width:16px; } .nkl-promotion-result-count { text-align:left; } }
.nkl-promotion-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #edf1ef; border-radius:14px; background:#fff; box-shadow:0 6px 20px rgba(16,55,35,.06); }
.nkl-promotion-card__image { display:block; aspect-ratio:1; background:#edf7f1; overflow:hidden; }
.nkl-promotion-card__image img { display:block; width:100%; height:100%; object-fit:cover; }
.nkl-promotion-card__placeholder { display:block; height:100%; background:linear-gradient(135deg,#e3f3e9,#f8fcfa); }
.nkl-promotion-card__body { display:flex; flex:1; flex-direction:column; padding:16px; }
.nkl-promotion-card__meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.nkl-promotion-status { display:inline-flex; padding:4px 9px; border-radius:20px; background:#00a651; color:#fff; font-size:10px; font-weight:700; line-height:1.4; text-transform:uppercase; }
.nkl-promotion-status.is-upcoming { background:#1687b5; }
.nkl-promotion-status.is-ended,.nkl-promotion-status.is-undated { background:#98a2af; }
.nkl-promotion-card__period { color:#8b98a5; font-size:11px; }
.nkluck-site .nkl-promotion-card h2 { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; margin:0 0 18px; color:#233c30; font-size:20px; font-weight:600; line-height:1.5; }
.nkl-promotion-card h2 a { color:inherit; text-decoration:none; }
.nkl-promotion-card.is-ended h2 { color:#79818e; }
.nkl-promotion-card__link { display:flex; align-items:center; gap:8px; margin-top:auto; color:#00a651; font-size:14px; font-weight:600; text-decoration:none; }
.nkl-promotion-card.is-ended .nkl-promotion-card__link { color:#8b98a5; }
.nkl-promotion-card a:focus-visible { outline:2px solid #008544; outline-offset:-3px; }
.nkl-promotion-date-summary { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:14px; color:#718096; font-size:13px; }

