/* OneLink Store Pro 4.1 — Public Styles */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@700;800&family=DM+Sans:wght@400;500;600&display=swap');

:root { --ols-primary: #5b4fff; }

/* ── Feed Grid ───────────────────────────────────────── */
.ols-feed { display:grid; gap:20px; font-family:'DM Sans',sans-serif; margin:24px 0; }
.ols-cols-1 { grid-template-columns:1fr; }
.ols-cols-2 { grid-template-columns:repeat(2,1fr); }
.ols-cols-3 { grid-template-columns:repeat(3,1fr); }
.ols-cols-4 { grid-template-columns:repeat(4,1fr); }

/* ── Card ────────────────────────────────────────────── */
.ols-card { background:#fff; border:1px solid #e8eaee; border-radius:14px; overflow:hidden; display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s; }
.ols-card:hover { transform:translateY(-3px); box-shadow:0 8px 32px rgba(0,0,0,.10); }
.ols-card-img-wrap { display:block; position:relative; height:180px; background:#f5f6fa; overflow:hidden; text-decoration:none; }
.ols-card-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.ols-card:hover .ols-card-img-wrap img { transform:scale(1.04); }
.ols-img-ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:56px; }
.ols-type-badge { position:absolute; top:9px; left:9px; padding:3px 9px; border-radius:18px; font-size:10px; font-weight:800; color:#fff; }
.ols-disc-badge { position:absolute; top:9px; right:9px; background:#e53935; color:#fff; font-family:'Syne',sans-serif; font-size:12px; font-weight:800; width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; }

/* ── Card Body ───────────────────────────────────────── */
.ols-card-body { padding:14px; display:flex; flex-direction:column; gap:7px; flex:1; }
.ols-card-brand { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:#aaa; }
.ols-card-title { font-family:'Syne',sans-serif; font-size:15px; font-weight:700; margin:0; line-height:1.3; }
.ols-card-title a { color:#111; text-decoration:none; }
.ols-card-title a:hover { color:var(--ols-primary); }

/* ── Coupon strip ────────────────────────────────────── */
.ols-coupon-strip { background:rgba(32,194,96,.08); border:1.5px dashed rgba(32,194,96,.4); border-radius:7px; padding:6px 10px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; }
.ols-coupon-code { font-family:'Courier New',monospace; font-size:13px; font-weight:700; color:#111; letter-spacing:2px; }
.ols-cc-lbl { font-size:14px; color:#20c260; }

/* ── Pricing ─────────────────────────────────────────── */
.ols-pricing { display:flex; align-items:baseline; gap:8px; }
.ols-price-now { font-family:'Syne',sans-serif; font-size:21px; font-weight:800; color:#e53935; }
.ols-price-orig { font-size:13px; color:#bbb; text-decoration:line-through; }

/* ── Timers ──────────────────────────────────────────── */
.ols-expires-timer { font-size:12px; color:#f39c12; font-weight:600; }
.ols-expired-label { font-size:12px; color:#e53935; font-weight:600; }

/* ── Store count ─────────────────────────────────────── */
.ols-store-count-label { font-size:11px; color:#888; }

/* ── Card Actions ────────────────────────────────────── */
.ols-card-actions { display:flex; gap:7px; margin-top:auto; }
.ols-btn { display:block; background:var(--ols-primary); color:#fff !important; text-align:center; padding:11px 16px; border-radius:9px; font-weight:700; font-size:13px; text-decoration:none !important; transition:background .15s; cursor:pointer; border:none; font-family:'DM Sans',sans-serif; }
.ols-btn:hover { background:#4a3dee; color:#fff; }
.ols-wl-btn { background:rgba(0,0,0,.04); border:1px solid #e8eaee; border-radius:9px; width:40px; font-size:17px; cursor:pointer; transition:all .15s; flex-shrink:0; }
.ols-wl-btn:hover, .ols-wl-btn.saved { background:#ffeef0; color:#e53935; }

/* ── Mini links ──────────────────────────────────────── */
.ols-mini-links { display:flex; flex-direction:column; gap:4px; margin-top:2px; }
.ols-mini-link { display:flex; justify-content:space-between; align-items:center; padding:5px 9px; background:#f5f6fa; border-radius:7px; font-size:12px; font-weight:600; color:#333; text-decoration:none; transition:all .1s; }
.ols-mini-link:hover { background:var(--ols-primary); color:#fff; }
.ols-mini-link em { font-style:normal; font-family:'Syne',sans-serif; font-weight:800; font-size:12px; }

/* ── Store List ──────────────────────────────────────── */
.ols-store-list { background:#f8f9fb; border-radius:14px; padding:20px; margin:24px 0; font-family:'DM Sans',sans-serif; }
.ols-store-list-title { font-family:'Syne',sans-serif; font-size:17px; font-weight:800; margin:0 0 14px; color:#111; }
.ols-store-row { display:flex; align-items:center; gap:10px; background:#fff; border:1px solid #e8eaee; border-radius:9px; padding:11px 14px; margin-bottom:8px; flex-wrap:wrap; }
.ols-store-name { flex:1; font-weight:700; font-size:14px; color:#111; }
.ols-store-price { font-family:'Syne',sans-serif; font-size:16px; font-weight:800; color:#111; min-width:70px; text-align:right; }
.ols-store-btn { background:var(--ols-primary); color:#fff; border:none; border-radius:7px; padding:8px 16px; font-weight:700; font-size:12px; cursor:pointer; text-decoration:none; font-family:'DM Sans',sans-serif; white-space:nowrap; }
.ols-store-btn:hover { background:#4a3dee; color:#fff; }

/* ── Price Compare ───────────────────────────────────── */
.ols-price-compare { border:1px solid #e8eaee; border-radius:13px; overflow:hidden; margin:20px 0; font-family:'DM Sans',sans-serif; }
.ols-pc-header { background:#f8f9fb; padding:13px 18px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #eee; font-weight:700; }
.ols-pc-count { font-size:12px; color:#888; font-weight:400; }
.ols-pc-row { display:flex; align-items:center; gap:12px; padding:13px 18px; border-bottom:1px solid #f5f5f5; flex-wrap:wrap; position:relative; }
.ols-pc-row:last-child { border-bottom:none; }
.ols-pc-top { background:#f8f6ff; }
.ols-pc-best { background:#f0fff4; border-left:3px solid #20c260; }
.ols-pc-badge { position:absolute; top:-8px; left:14px; font-size:10px; font-weight:800; padding:2px 8px; border-radius:10px; background:var(--ols-primary); color:#fff; }
.ols-pc-badge-top { background:var(--ols-primary); }
.ols-pc-store { flex:1; min-width:120px; font-weight:700; }
.ols-pc-price { font-family:'Syne',sans-serif; font-size:19px; font-weight:800; color:#111; min-width:80px; text-align:right; }
.ols-pc-price-best { color:#20c260; }
.ols-pc-btn { font-size:12px; padding:8px 14px; }

/* ── Countdown ───────────────────────────────────────── */
.ols-countdown { background:linear-gradient(135deg,#0f0c2e,#1a1040); border-radius:14px; padding:18px 24px; display:inline-flex; flex-direction:column; align-items:center; margin:16px 0; width:100%; }
.ols-cd-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:rgba(255,255,255,.55); margin-bottom:12px; }
.ols-cd-timer { display:flex; align-items:center; gap:8px; }
.ols-cd-seg { display:flex; flex-direction:column; align-items:center; }
.ols-cd-seg span { font-family:'Syne',sans-serif; font-size:32px; font-weight:800; background:rgba(255,255,255,.08); border-radius:8px; padding:6px 10px; min-width:50px; text-align:center; color:#fff; }
.ols-cd-seg em { font-size:9px; font-style:normal; text-transform:uppercase; letter-spacing:.7px; margin-top:5px; color:rgba(255,255,255,.45); }
.ols-cd-colon { font-family:'Syne',sans-serif; font-size:24px; font-weight:800; color:rgba(255,255,255,.3); padding-bottom:16px; }
.ols-expired { background:#fce4ec; color:#c62828; border-radius:8px; padding:10px 16px; font-size:13px; font-weight:700; display:inline-block; }

/* ── Coupon Box ──────────────────────────────────────── */
.ols-coupon-box { border:2px dashed rgba(32,194,96,.4); border-radius:14px; overflow:hidden; margin:16px 0; font-family:'DM Sans',sans-serif; }
.ols-cb-header { background:linear-gradient(135deg,#0f0c2e,#1a1040); padding:16px 20px; }
.ols-cb-disc { display:inline-block; background:var(--ols-primary); color:#fff; font-family:'Syne',sans-serif; font-size:16px; font-weight:800; padding:2px 12px; border-radius:16px; margin-bottom:5px; }
.ols-cb-title { color:#fff; font-weight:700; font-size:15px; }
.ols-cb-exp { color:rgba(255,255,255,.5); font-size:12px; margin-top:3px; }
.ols-cb-body { padding:16px 20px; }
.ols-cb-code { display:flex; align-items:center; justify-content:space-between; background:rgba(32,194,96,.08); border:1.5px dashed rgba(32,194,96,.4); border-radius:9px; padding:12px 16px; cursor:pointer; transition:background .1s; }
.ols-cb-code:hover { background:rgba(32,194,96,.14); }
.ols-cb-code-text { font-family:'Courier New',monospace; font-size:18px; font-weight:700; color:#111; letter-spacing:4px; }
.ols-cb-copy { background:#20c260; color:#fff; border:none; border-radius:7px; padding:7px 14px; font-weight:700; font-size:13px; cursor:pointer; font-family:'DM Sans',sans-serif; }
.ols-cb-stores { display:flex; gap:8px; padding:0 20px 16px; flex-wrap:wrap; }
.ols-cb-store-btn { background:#f0f2f5; color:#333; padding:8px 14px; border-radius:8px; font-size:13px; font-weight:600; text-decoration:none; transition:all .15s; }
.ols-cb-store-btn:hover { background:var(--ols-primary); color:#fff; }

/* ── Wishlist ────────────────────────────────────────── */
.ols-wishlist-empty { text-align:center; padding:40px 20px; color:#888; font-family:'DM Sans',sans-serif; }
.ols-wishlist-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; font-family:'DM Sans',sans-serif; }
.ols-wl-card { background:#fff; border:1px solid #e8eaee; border-radius:12px; overflow:hidden; }
.ols-wl-card img { width:100%; height:140px; object-fit:cover; }
.ols-wl-body { padding:13px; }
.ols-wl-body h4 { font-family:'Syne',sans-serif; font-size:14px; font-weight:700; margin:0 0 5px; }
.ols-wl-body h4 a { color:#111; text-decoration:none; }
.ols-wl-price { font-family:'Syne',sans-serif; font-size:18px; font-weight:800; color:#e53935; }
.ols-wl-remove { background:none; border:1px solid #e8eaee; border-radius:7px; color:#e53935; cursor:pointer; padding:6px 10px; font-size:12px; font-weight:700; }

/* ── Price Alert ─────────────────────────────────────── */
.ols-alert-wrap { background:#f8f9fb; border-radius:12px; padding:18px; margin:16px 0; font-family:'DM Sans',sans-serif; }
.ols-alert-title { font-weight:700; font-size:14px; color:#111; margin-bottom:10px; }
.ols-alert-form { display:flex; flex-direction:column; gap:8px; }
.ols-alert-email, .ols-alert-target { border:1.5px solid #e0e2e8; border-radius:8px; padding:9px 12px; font-size:14px; font-family:'DM Sans',sans-serif; width:100%; }
.ols-alert-msg { border-radius:8px; padding:10px 14px; font-size:13px; background:#e8f5e9; color:#2e7d32; }

/* ── Comparison Table ────────────────────────────────── */
.ols-table-wrap { overflow-x:auto; margin:20px 0; }
.ols-compare-table { width:100%; border-collapse:collapse; font-size:13px; font-family:'DM Sans',sans-serif; }
.ols-compare-table th { background:#f8f9fb; padding:11px 14px; text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:#666; border-bottom:2px solid #eee; }
.ols-compare-table td { padding:11px 14px; border-bottom:1px solid #f5f5f5; vertical-align:middle; }
.ols-ct-label { font-weight:700; color:#555; min-width:100px; }
.ols-ct-price { font-family:'Syne',sans-serif; font-size:18px; font-weight:800; color:#111; }
.ols-ct-best { color:#20c260; }
.ols-ct-badge { background:#e8f5e9; color:#2e7d32; font-size:10px; font-weight:800; padding:2px 6px; border-radius:8px; margin-left:4px; }
.ols-ct-disc { background:#fce4ec; color:#c62828; font-size:11px; font-weight:700; padding:2px 7px; border-radius:6px; }

/* ── Search ──────────────────────────────────────────── */
.ols-search-wrap { margin:16px 0; font-family:'DM Sans',sans-serif; }
.ols-search-hero { padding:48px 32px; background:linear-gradient(135deg,#0b0d14,#1a1040); border-radius:18px; }
.ols-search-hero .ols-search-bar { max-width:560px; margin:0 auto; }
.ols-search-bar { display:flex; align-items:center; background:#fff; border:1.5px solid #e0e2e8; border-radius:12px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.ols-search-icon { padding:0 14px; font-size:18px; }
.ols-search-input { flex:1; border:none; outline:none; padding:13px 0; font-size:14px; font-family:'DM Sans',sans-serif; background:transparent; }
.ols-suggestions { position:absolute; left:0; right:0; top:100%; background:#fff; border:1px solid #e0e2e8; border-top:none; border-radius:0 0 12px 12px; box-shadow:0 8px 24px rgba(0,0,0,.10); z-index:9999; overflow:hidden; }
.ols-sugg-item { display:flex; align-items:center; gap:10px; padding:9px 14px; cursor:pointer; font-size:13px; border-bottom:1px solid #f5f5f5; transition:background .1s; }
.ols-sugg-item:hover { background:#f5f6ff; }
.ols-sugg-thumb { width:34px; height:34px; border-radius:6px; object-fit:cover; flex-shrink:0; background:#f0f0f0; }
.ols-sugg-title { flex:1; font-weight:600; color:#111; }
.ols-sugg-price { font-family:'Syne',sans-serif; font-weight:800; color:var(--ols-primary); }

/* ── Search Page ─────────────────────────────────────── */
.ols-search-page .ols-feed { margin-top:20px; }

/* ── Responsive ──────────────────────────────────────── */
@media (max-width:960px) {
  .ols-cols-3,.ols-cols-4 { grid-template-columns:repeat(2,1fr); }
  .ols-wishlist-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px) {
  .ols-cols-2,.ols-cols-3,.ols-cols-4 { grid-template-columns:1fr; }
  .ols-wishlist-grid { grid-template-columns:1fr; }
  .ols-store-row { flex-direction:column; align-items:flex-start; }
  .ols-store-price { text-align:left; }
  .ols-pc-row { flex-direction:column; align-items:flex-start; }
}
