/* EasyCoupons – plain CSS, no build step. */
:root{
  --ec-accent:#6d28d9;
  --bg:#f7f7fb;--surface:#fff;--text:#1b1b25;--muted:#62627a;--line:#e4e4ee;
  --radius:14px;--shadow:0 1px 2px rgba(20,20,40,.06),0 4px 16px rgba(20,20,40,.05);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#0f0f16;--surface:#181822;--text:#f0f0f7;--muted:#9a9ab3;--line:#2a2a3a;--shadow:none}
}
:root[data-theme="dark"]{--bg:#0f0f16;--surface:#181822;--text:#f0f0f7;--muted:#9a9ab3;--line:#2a2a3a;--shadow:none}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
img{max-width:100%;height:auto}
a{color:var(--ec-accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}
.screen-reader-text{position:absolute;left:-9999px}
.ec-skip{position:absolute;left:-9999px}.ec-skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.ec-wrap{width:min(1120px,100% - 32px);margin-inline:auto}
:focus-visible{outline:3px solid color-mix(in srgb,var(--ec-accent) 55%,transparent);outline-offset:2px}

/* Header */
.ec-header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.ec-header-row{display:flex;align-items:center;gap:16px;min-height:64px;flex-wrap:wrap}
.ec-brand{font-weight:800;font-size:1.25rem}
.ec-brand a{color:var(--text)}
.ec-brand img{max-height:40px;width:auto}
.ec-nav{flex:1}
.ec-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:18px}
.ec-nav a{color:var(--text);font-weight:600}
.ec-icon-btn{background:none;border:1px solid var(--line);color:var(--text);border-radius:10px;width:38px;height:38px;cursor:pointer;font-size:18px}
.ec-menu-toggle{display:none}

/* Search */
.ec-search{display:flex;border:1px solid var(--line);border-radius:999px;background:var(--bg);overflow:hidden;min-width:220px}
.ec-search input{flex:1;border:0;background:transparent;color:var(--text);padding:9px 14px;font:inherit;min-width:0}
.ec-search input:focus{outline:none}
.ec-search button{border:0;background:var(--ec-accent);color:#fff;padding:0 16px;cursor:pointer;font:inherit}
.ec-search-big{max-width:560px;margin:22px auto 0;background:var(--surface);box-shadow:var(--shadow)}
.ec-search-big input{padding:15px 20px;font-size:1.05rem}
.ec-search-big button{padding:0 26px;font-weight:700}

/* Hero */
.ec-hero{background:linear-gradient(135deg,var(--ec-accent),color-mix(in srgb,var(--ec-accent) 55%,#0b0b1a));color:#fff;text-align:center;padding:56px 0 52px}
.ec-hero h1{font-size:clamp(1.8rem,4.5vw,3rem);letter-spacing:-.02em}
.ec-hero p{margin:0;opacity:.9;font-size:1.1rem}

/* Sections */
.ec-main{min-height:60vh;padding-bottom:48px}
.ec-section{margin-top:36px}
.ec-section h2{font-size:1.35rem}
.ec-page-head{padding:32px 0 12px}
.ec-page-head h1{font-size:clamp(1.5rem,3.5vw,2.2rem)}
.ec-lede{color:var(--muted);margin:0;max-width:62ch}
.ec-side-title{font-size:1.1rem;margin:28px 0 12px}
.ec-empty{text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);padding:40px 20px;margin-top:32px}

/* Store tiles */
.ec-store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.ec-store-grid-sm{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.ec-store-card{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 10px;color:var(--text);transition:transform .15s,border-color .15s}
.ec-store-card:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--ec-accent)}
.ec-store-name{font-weight:700;font-size:.92rem;overflow-wrap:anywhere}
.ec-store-count{font-size:.78rem;color:var(--muted)}
.ec-logo{width:56px;height:56px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:4px;flex:none}
.ec-logo-lg{width:84px;height:84px;border-radius:16px}
.ec-avatar{display:inline-grid;place-items:center;font-weight:800;font-size:1.5rem;color:#fff;background:hsl(var(--h) 60% 45%);border:0;padding:0}

/* Chips */
.ec-chips{display:flex;flex-wrap:wrap;gap:8px}
.ec-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 14px;color:var(--text);font-weight:600}
.ec-chip small{color:var(--muted);margin-left:4px}
.ec-chip:hover{text-decoration:none;border-color:var(--ec-accent)}

/* Store header + columns */
.ec-store-head{display:flex;align-items:center;gap:20px;padding:32px 0 20px;flex-wrap:wrap}
.ec-store-head>div{flex:1;min-width:240px}
.ec-store-head h1{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:6px}
.ec-cols{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:start}

/* Coupon card */
.ec-list{display:grid;gap:12px}
.ec-coupon{display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.ec-coupon-store{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.ec-badge{text-transform:uppercase;background:color-mix(in srgb,var(--ec-accent) 14%,transparent);color:var(--ec-accent);font-weight:800;font-size:.78rem;padding:3px 9px;border-radius:999px;white-space:nowrap}
.ec-coupon-title{font-size:1.05rem;margin:0 0 4px}
.ec-coupon-meta{margin:0;color:var(--muted);font-size:.85rem}
.ec-coupon-desc{margin-top:6px;color:var(--muted);font-size:.9rem}

/* Buttons */
.ec-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ec-accent);background:transparent;color:var(--ec-accent);border-radius:10px;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
.ec-btn:hover{text-decoration:none;opacity:.9}
.ec-btn-solid{background:var(--ec-accent);color:#fff}
.ec-btn-wide{display:flex;width:100%;margin-top:14px}
.ec-reveal{position:relative;overflow:hidden;padding-right:56px;min-width:150px}
.ec-reveal-peek{position:absolute;right:0;top:0;bottom:0;width:48px;display:grid;place-items:center;background:rgba(255,255,255,.22);font-family:ui-monospace,Menlo,monospace;letter-spacing:.05em;border-left:2px dashed rgba(255,255,255,.7)}

/* Dialog */
.ec-dialog{border:0;border-radius:18px;padding:28px;width:min(440px,calc(100% - 32px));background:var(--surface);color:var(--text);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.ec-dialog::backdrop{background:rgba(10,10,20,.55)}
.ec-dialog h2{font-size:1.1rem;padding-right:28px}
.ec-dialog-sub{color:var(--muted);margin:0 0 14px}
.ec-dialog-x{position:absolute;right:12px;top:10px;background:none;border:0;font-size:26px;color:var(--muted);cursor:pointer;line-height:1}
.ec-codebox{display:flex;gap:8px;align-items:center;border:2px dashed var(--ec-accent);border-radius:12px;padding:8px 8px 8px 16px}
.ec-codebox code{flex:1;font-size:1.3rem;font-weight:800;letter-spacing:.06em;overflow-wrap:anywhere}

/* A–Z */
.ec-filter{margin-top:10px;width:100%;max-width:360px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit}
.ec-az{margin-top:22px}.ec-az h2{font-size:1.2rem;color:var(--ec-accent)}

/* Pagination */
.pagination{margin-top:24px}.nav-links{display:flex;gap:6px;flex-wrap:wrap}
.page-numbers{padding:6px 12px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface)}
.page-numbers.current{background:var(--ec-accent);color:#fff;border-color:var(--ec-accent)}

.ec-prose{max-width:760px;padding:32px 0}
.ec-footer{border-top:1px solid var(--line);background:var(--surface);padding:24px 0;color:var(--muted);text-align:center;font-size:.9rem}
.ec-footer-nav{list-style:none;display:flex;gap:16px;justify-content:center;padding:0;margin:0 0 8px}

/* Mobile */
@media (max-width:760px){
  .ec-menu-toggle{display:inline-block;margin-left:auto}
  .ec-nav{display:none;order:5;flex-basis:100%}
  .ec-nav.is-open{display:block}
  .ec-nav ul{flex-direction:column;gap:8px;padding-bottom:8px}
  .ec-header-row .ec-search{order:4;flex-basis:100%}
  .ec-cols{grid-template-columns:1fr}
  .ec-coupon{grid-template-columns:72px 1fr;gap:12px}
  .ec-coupon-action{grid-column:1/-1}
  .ec-coupon-action .ec-btn{width:100%}
  .ec-logo{width:48px;height:48px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
