/* ================================
   MyCoupon Coupon Archive v4
================================ */
.coupon-archive{margin-top:18px;margin-bottom:38px}
.coupon-archive__hero{margin-bottom:18px}
.coupon-archive__title{margin:0;color:var(--ink,#111827);font-size:27px;font-weight:800;line-height:1.5}
.coupon-archive__description{max-width:760px;margin:7px 0 0;color:#6b7280;font-size:13px;line-height:1.9}
.coupon-archive__layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}

/* Sidebar */
.coupon-filters{position:relative;padding:17px 18px;border:1px solid #e7e9ed;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(17,24,39,.035)}
.coupon-filters__mobile-head{display:none}
.coupon-filter-group{padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid #eef0f2}
.coupon-filter-group:last-of-type{margin-bottom:14px}
.coupon-filter-group--title{padding-bottom:12px}
.coupon-filter-group__title{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:0;color:#111827;font-size:18px;font-weight:800}
.coupon-filter-group__title svg,.coupon-results__filter-button svg,.coupon-filters__close svg,.coupon-section-toggle__arrow svg,.coupon-sortbar__label svg,.coupon-store-search svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.coupon-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:0;background:none;color:#22262d;font-family:inherit;font-size:13px;font-weight:800;cursor:pointer}
.coupon-section-toggle__arrow{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#6b7280;transition:transform .2s ease}
.coupon-filter-group:not(.is-open) .coupon-section-toggle__arrow{transform:rotate(-90deg)}
.coupon-section-body{margin-top:10px}
.coupon-filter-group:not(.is-open) .coupon-section-body{display:none}

.coupon-store-search{position:relative;margin-bottom:10px}
.coupon-store-search svg{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#9ca3af}
.coupon-store-search input{width:100%;height:40px;box-sizing:border-box;border:1px solid #dfe3e8;border-radius:10px;background:#fff;color:#30343b;font-family:inherit;font-size:12px;padding:0 36px 0 12px;outline:none}
.coupon-store-search input:focus{border-color:rgba(229,35,51,.52);box-shadow:0 0 0 3px rgba(229,35,51,.08)}

.coupon-filter-list{display:grid;gap:3px}
.coupon-filter-list--scroll{max-height:300px;overflow:auto;padding-left:2px}
.coupon-filter-list--categories{max-height:260px}
.coupon-filter-list--scroll::-webkit-scrollbar{width:7px}
.coupon-filter-list--scroll::-webkit-scrollbar-thumb{background:#d8dde3;border-radius:99px}
.coupon-filter-list--scroll::-webkit-scrollbar-track{background:transparent}

.coupon-filter-row{display:grid;grid-template-columns:16px 28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:38px;padding:7px 0;cursor:pointer;border-bottom:1px solid #f3f5f7}
.coupon-filter-row:last-child{border-bottom:0}
.coupon-filter-row--cat{grid-template-columns:16px minmax(0,1fr) auto}
.coupon-filter-row input{position:absolute;opacity:0;pointer-events:none}
.coupon-filter-row__check{position:relative;width:16px;height:16px;border:1.5px solid #cfd6de;border-radius:4px;background:#fff;box-sizing:border-box;transition:border-color .16s ease,background-color .16s ease}
.coupon-filter-row.is-active .coupon-filter-row__check{border-color:#e52333;background:#e52333}
.coupon-filter-row.is-active .coupon-filter-row__check:after{content:'';position:absolute;right:4px;top:1px;width:4px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}
.coupon-filter-row__logo{width:28px;height:28px;object-fit:contain;border-radius:8px;background:#fff}
.coupon-filter-row__logo--fallback,.coupon-filter-row__logo--all{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#f4f6f8;color:#7b8590;font-size:10px;font-weight:700}
.coupon-filter-row__name{min-width:0;color:#252a31;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coupon-filter-row__count{color:#8a929d;font-size:11px;font-weight:700;padding-inline-start:10px}
.coupon-filter-row.is-hidden{display:none}

.coupon-filters__submit{width:100%;min-height:42px;border:0;border-radius:10px;background:#e52333;color:#fff;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .16s ease,transform .12s ease}
.coupon-filters__submit:hover{background:#cf1727}.coupon-filters__submit:active{transform:scale(.98)}
.coupon-filters__reset{display:flex;align-items:center;justify-content:center;margin-top:11px;color:#6b7280;text-decoration:none;font-size:12px}.coupon-filters__reset:hover{color:#e52333}

/* Results top */
.coupon-results{min-width:0}
.coupon-results__toolbar{display:flex;align-items:center;gap:12px;min-height:42px;margin-bottom:12px}
.coupon-results__count{margin-right:auto;color:#66707c;font-size:13px}.coupon-results__count strong{color:#1f2937;font-size:14px}
.coupon-results__filter-button{display:none}

.coupon-sortbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;margin-bottom:14px;border:1px solid #eceef2;border-radius:14px;background:#fff}
.coupon-sortbar__label{display:inline-flex;align-items:center;gap:6px;color:#444c56;font-size:13px;font-weight:700}
.coupon-sortbar__chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.coupon-sort-chip{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:999px;background:#f7f8fa;color:#404752;text-decoration:none;font-size:12px;font-weight:700;transition:all .16s ease}
.coupon-sort-chip:hover{background:#f2f4f6;color:#e52333}
.coupon-sort-chip.is-active{background:#fff0f1;color:#e52333;box-shadow:inset 0 0 0 1px rgba(229,35,51,.18)}

/* List */
.coupon-archive__list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.coupon-archive__item,.coupon-archive__item>.mc-card{width:100%;min-width:0;box-sizing:border-box}
.coupon-archive .mc-card{padding:18px 20px}

/* Empty */
.coupon-results__empty{padding:50px 24px;border:1px dashed #dcdfe4;border-radius:16px;background:#fff;text-align:center}
.coupon-results__empty svg{width:42px;height:42px;fill:none;stroke:#a3a9b2;stroke-width:1.5}
.coupon-results__empty h2{margin:12px 0 6px;font-size:18px}.coupon-results__empty p{margin:0 0 16px;color:#6b7280;font-size:13px}.coupon-results__empty a{display:inline-flex;min-height:38px;align-items:center;padding:0 14px;border-radius:9px;background:#f3f4f6;color:#333840;text-decoration:none;font-size:12px}

/* Pagination */
.mc-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;margin:28px auto 8px;direction:rtl}
.mc-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:39px;height:39px;padding:0 10px;box-sizing:border-box;border:1px solid #e1e5ea;border-radius:999px;background:#fff;color:#34383f;text-decoration:none;font-size:13px;font-weight:600;line-height:1;transition:color .16s ease,background-color .16s ease,border-color .16s ease}
.mc-pagination a.page-numbers:hover{color:#e52333;border-color:rgba(229,35,51,.32);background:rgba(229,35,51,.04)}

.mc-pagination .page-numbers.current{color:#fff;border-color:#e52333;background:#e52333;font-weight:700}
.mc-pagination .page-numbers.dots{min-width:26px;padding:0 2px;border-color:transparent;background:transparent;color:#9ca3af}
.mc-pagination .prev,.mc-pagination .next{display:grid;place-items:center;width:39px;min-width:39px;padding:0;font-size:0}
.mc-page-arrow{display:grid;place-items:center;width:18px;height:18px;margin:0;padding:0;line-height:0}.mc-page-arrow svg{display:block;width:18px;height:18px;margin:0;padding:0;fill:currentColor;overflow:visible}.mc-page-arrow svg path{fill:currentColor;stroke:none}

.coupon-filter-backdrop{display:none}

@media (max-width:980px){.coupon-archive__layout{grid-template-columns:260px minmax(0,1fr);gap:16px}.coupon-filters{padding:14px}.coupon-filter-list--scroll{max-height:260px}}
@media (max-width:768px){.coupon-archive{margin-top:14px;margin-bottom:28px}.coupon-archive__title{font-size:22px}.coupon-archive__description{font-size:12.5px}.coupon-archive__layout{display:block}.coupon-results__toolbar{display:flex}.coupon-results__filter-button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 12px;border:1px solid #dfe3e8;border-radius:9px;background:#fff;color:#292d33;font-family:inherit;font-size:12px}.coupon-results__count{margin-right:0;margin-inline-start:auto}.coupon-sortbar{padding:10px 12px;gap:10px}.coupon-sortbar__label{width:100%}.coupon-filters{position:fixed;top:auto;right:0;left:0;bottom:0;z-index:100001;max-height:82vh;overflow-y:auto;padding:0 18px calc(18px + env(safe-area-inset-bottom));border:0;border-radius:20px 20px 0 0;box-shadow:0 -12px 40px rgba(17,24,39,.16);transform:translateY(105%);visibility:hidden;transition:transform .24s ease,visibility .24s ease}.coupon-filter-group--title{display:none}body.mc-filter-open .coupon-filters{transform:translateY(0);visibility:visible}.coupon-filters__mobile-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:58px;margin:0 -18px 14px;padding:0 18px;border-bottom:1px solid #edf0f2;background:#fff}.coupon-filters__close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:9px;background:#f5f6f7;color:#3b4047}.coupon-filter-backdrop{position:fixed;inset:0;z-index:100000;display:block;background:rgba(17,24,39,.38);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}body.mc-filter-open .coupon-filter-backdrop{opacity:1;visibility:visible}body.mc-filter-open{overflow:hidden}.coupon-archive .mc-card{padding:16px}.mc-pagination{gap:5px;margin-top:24px}.mc-pagination .page-numbers{min-width:36px;height:36px;padding:0 9px;font-size:12px}}
@media (max-width:420px){.coupon-sortbar__chips{gap:6px}.coupon-sort-chip{min-height:34px;padding:0 12px;font-size:11.5px}.mc-pagination{gap:4px}.mc-pagination .page-numbers{min-width:34px;height:34px;padding:0 8px}.mc-pagination .prev,.mc-pagination .next{width:34px;min-width:34px;padding:0}}


/* AJAX loading */
.coupon-results{transition:opacity .16s ease}
.coupon-results.is-loading{opacity:.45;pointer-events:none}
.coupon-filters.is-loading{pointer-events:none;opacity:.72}


/* Sortbar color alignment with global theme variables */
.coupon-sortbar{border-color:var(--line);background:var(--white)}
.coupon-sortbar__label{color:var(--ink-alt)}
.coupon-sort-chip{background:var(--surface-muted);color:var(--ink-alt)}
.coupon-sort-chip:hover{background:var(--surface-soft);color:var(--brand)}
.coupon-sort-chip.is-active{background:color-mix(in srgb,var(--brand) 6%,var(--white));color:var(--brand);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 18%,var(--line))}


/* ===== Fix: filter sidebar spacing / closed arrow direction ===== */
.coupon-filter-row__count {
  padding-left: 10px;
  padding-right: 0;
}
.coupon-filter-group:not(.is-open) .coupon-section-toggle__arrow {
  transform: rotate(90deg);
}

/* Stable pagination: reserve the missing prev/next slot so the row never shifts */
.mc-pagination:not(:has(.prev))::before,
.mc-pagination:not(:has(.next))::after{
  content:"";
  display:block;
  width:39px;
  min-width:39px;
  height:39px;
  flex:0 0 39px;
}
@media (max-width:768px){
  .mc-pagination:not(:has(.prev))::before,
  .mc-pagination:not(:has(.next))::after{width:36px;min-width:36px;height:36px;flex-basis:36px}
}
@media (max-width:420px){
  .mc-pagination:not(:has(.prev))::before,
  .mc-pagination:not(:has(.next))::after{width:34px;min-width:34px;height:34px;flex-basis:34px}
}
