/* CouponPress — Groupon green + Slickdeals card layout + RetailMeNot store pages. */
:root{
  --cp-accent:#0f9d58; --cp-accent-dark:#0b7a44; --cp-ink:#1f2937; --cp-muted:#6b7280;
  --cp-bg:#f6f7f9; --cp-card:#fff; --cp-border:#e5e7eb; --cp-code:#d4a017; --cp-radius:10px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cp-bg);color:var(--cp-ink);font:15px/1.55 -apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:var(--cp-accent-dark);text-decoration:none}
img{max-width:100%;height:auto}
.cp-wrap{max-width:1180px;margin:0 auto;padding:0 16px}

/* Header */
.cp-header{background:#fff;border-bottom:1px solid var(--cp-border);position:sticky;top:0;z-index:50}
.cp-header-inner{display:flex;align-items:center;gap:20px;padding:12px 16px}
.cp-brand{font-size:22px;font-weight:800;color:var(--cp-accent);white-space:nowrap}
.cp-search{flex:1;display:flex;max-width:520px}
.cp-search input{flex:1;padding:10px 14px;border:2px solid var(--cp-border);border-right:0;border-radius:8px 0 0 8px;font-size:14px}
.cp-search input:focus{outline:none;border-color:var(--cp-accent)}
.cp-search button{border:0;background:var(--cp-accent);color:#fff;padding:0 16px;border-radius:0 8px 8px 0;cursor:pointer}
.cp-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.cp-nav a{font-weight:600;color:var(--cp-ink)}

/* Hero */
.cp-hero{background:linear-gradient(135deg,var(--cp-accent),var(--cp-accent-dark));color:#fff;padding:56px 0;text-align:center}
.cp-hero h1{margin:0 0 8px;font-size:34px}
.cp-hero p{margin:0 0 24px;opacity:.9}
.cp-hero-search{display:flex;max-width:560px;margin:0 auto;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.15)}
.cp-hero-search input{flex:1;border:0;padding:16px;font-size:16px}
.cp-hero-search input:focus{outline:none}
.cp-hero-search button{border:0;background:var(--cp-code);color:#fff;font-weight:700;padding:0 24px;cursor:pointer}

/* Sections & grids */
.cp-section{padding:36px 16px}
.cp-section h2{font-size:24px;margin:0 0 18px}
.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.cp-grid-6{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.cp-card{background:var(--cp-card);border:1px solid var(--cp-border);border-radius:var(--cp-radius);padding:18px}

/* Store tiles & cards */
.cp-store-tile{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:1px solid var(--cp-border);border-radius:var(--cp-radius);padding:18px 10px;text-align:center;transition:box-shadow .15s}
.cp-store-tile:hover{box-shadow:0 4px 14px rgba(0,0,0,.08)}
.cp-store-tile img{width:64px;height:64px;object-fit:contain}
.cp-tile-name{font-weight:700;color:var(--cp-ink);font-size:14px}
.cp-tile-count{font-size:12px;color:var(--cp-muted)}
.cp-logo-fallback{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:12px;background:var(--cp-accent);color:#fff;font-size:28px;font-weight:800}
.cp-store-card{text-align:center}
.cp-store-card h3{margin:10px 0 6px;font-size:16px}
.cp-meta{display:flex;justify-content:center;gap:10px;color:var(--cp-muted);font-size:13px;margin-bottom:12px}
.cp-stars .on{color:#f5a623}.cp-stars span{color:#d1d5db}
.cp-stars .on{color:#f5a623 !important}

/* Buttons */
.cp-btn{display:inline-block;background:var(--cp-accent);color:#fff;font-weight:700;border:0;border-radius:8px;padding:10px 18px;cursor:pointer;text-align:center}
.cp-btn:hover{background:var(--cp-accent-dark);color:#fff}
.cp-btn-outline{background:#fff;color:var(--cp-accent-dark);border:2px solid var(--cp-accent)}
.cp-btn-outline.is-on{background:var(--cp-accent);color:#fff}

/* Coupon cards (Slickdeals-style row) */
.cp-coupon-list{display:flex;flex-direction:column;gap:12px}
.cp-coupon-card{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--cp-border);border-radius:var(--cp-radius);padding:16px}
.cp-coupon-type{flex:0 0 64px;text-align:center;font-size:11px;font-weight:800;letter-spacing:1px;border-radius:8px;padding:14px 0}
.cp-coupon-type.code{background:#fff8e1;color:var(--cp-code);border:1.5px dashed var(--cp-code)}
.cp-coupon-type.deal{background:#e8f5ee;color:var(--cp-accent-dark);border:1.5px solid var(--cp-accent)}
.cp-coupon-body{flex:1;min-width:0}
.cp-coupon-body h3{margin:0 0 4px;font-size:16px}
.cp-coupon-body p{margin:0 0 6px;color:var(--cp-muted);font-size:13px}
.cp-coupon-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px;color:var(--cp-muted)}
.cp-coupon-store{font-weight:700}
.cp-votes button{background:none;border:1px solid var(--cp-border);border-radius:6px;padding:2px 8px;cursor:pointer;font-size:12px}
.cp-coupon-action{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.cp-reveal{position:relative;overflow:hidden;min-width:130px}
.cp-reveal-peek{position:absolute;right:0;top:0;bottom:0;width:44px;background:#fff8e1;color:var(--cp-code);border-left:1.5px dashed var(--cp-code);display:flex;align-items:center;justify-content:center;font-family:monospace;font-weight:800;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}
.is-expired{opacity:.55}
.cp-expired-head{margin-top:32px}

/* Store page */
.cp-store-layout{padding-top:24px}
.cp-store-head{display:flex;gap:20px;background:#fff;border:1px solid var(--cp-border);border-radius:var(--cp-radius);padding:24px;margin-bottom:20px}
.cp-store-head-logo img,.cp-store-head-logo .cp-logo-fallback{width:96px;height:96px;object-fit:contain}
.cp-store-head-info h1{margin:0 0 8px;font-size:26px}
.cp-store-head-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.cp-store-stats{color:var(--cp-muted);font-size:13px;margin:8px 0 0}
.cp-store-cols{display:grid;grid-template-columns:1fr 320px;gap:20px}
.cp-side-box{background:#fff;border:1px solid var(--cp-border);border-radius:var(--cp-radius);padding:18px;margin-bottom:16px}
.cp-side-box h3{margin:0 0 10px}
.cp-side-stores{list-style:none;margin:0;padding:0}
.cp-side-stores li{padding:6px 0;border-bottom:1px solid var(--cp-border)}

/* Category cloud, newsletter band, footer, pagination */
.cp-cat-cloud{display:flex;flex-wrap:wrap;gap:10px}
.cp-cat-cloud a{background:#fff;border:1px solid var(--cp-border);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;color:var(--cp-ink)}
.cp-cat-cloud a:hover{border-color:var(--cp-accent);color:var(--cp-accent-dark)}
.cp-archive-filters{margin:12px 0 20px}
.cp-newsletter-band{background:var(--cp-accent);color:#fff;padding:40px 0;margin-top:20px;text-align:center}
.cp-newsletter-band .ce-newsletter{max-width:480px;margin:0 auto;justify-content:center}
.cp-footer{background:#111827;color:#d1d5db;margin-top:40px;padding:36px 0 0}
.cp-footer h4{color:#fff}
.cp-footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;padding-bottom:24px}
.cp-footer a{color:#9ca3af}
.cp-copy{border-top:1px solid #374151;padding:14px 16px;font-size:12px;color:#9ca3af}
.cp-pagination{margin:24px 0;text-align:center}
.cp-pagination .page-numbers{display:inline-block;padding:8px 14px;background:#fff;border:1px solid var(--cp-border);border-radius:6px;margin:0 2px}
.cp-pagination .current{background:var(--cp-accent);color:#fff;border-color:var(--cp-accent)}
.cp-page{background:#fff;border:1px solid var(--cp-border);border-radius:var(--cp-radius);padding:28px;margin:24px auto}

/* Mobile */
@media (max-width:860px){
  .cp-store-cols{grid-template-columns:1fr}
  .cp-header-inner{flex-wrap:wrap}
  .cp-search{order:3;flex-basis:100%;max-width:none}
  .cp-coupon-card{flex-direction:column;align-items:stretch}
  .cp-coupon-action{align-items:stretch}
  .cp-store-head{flex-direction:column;text-align:center;align-items:center}
  .cp-store-head-meta{justify-content:center}
  .cp-hero h1{font-size:26px}
}

/* Fillers */
.cp-main{min-height:60vh}
.cp-expires{color:#b45309}
.cp-reveal-label{padding-right:44px;display:block}
.cp-store-about{background:#fff;border:1px solid var(--cp-border);border-radius:var(--cp-radius);padding:20px;margin-top:20px}
.cp-store-card-logo{display:inline-block}
.cp-term-desc{color:var(--cp-muted);max-width:720px}
.cp-expired-list{opacity:.9}

/* ================= v1.1 additions ================= */

/* Enhanced coupon reveal button — ticket peel with hover lift */
.cp-reveal{min-width:150px;padding-right:52px;box-shadow:0 2px 0 var(--cp-accent-dark);transition:transform .12s,box-shadow .12s}
.cp-reveal:hover{transform:translateY(-1px);box-shadow:0 3px 0 var(--cp-accent-dark),0 6px 14px rgba(15,157,88,.25)}
.cp-reveal:active{transform:translateY(1px);box-shadow:0 1px 0 var(--cp-accent-dark)}
.cp-reveal-peek{width:48px;font-size:13px;letter-spacing:1px;box-shadow:inset 3px 0 6px rgba(0,0,0,.08)}
.cp-reveal:hover .cp-reveal-peek{width:54px}
.cp-deal-btn{box-shadow:0 2px 0 var(--cp-accent-dark);transition:transform .12s}
.cp-deal-btn:hover{transform:translateY(-1px)}
.cp-btn-wide{display:block;width:100%}
.cp-verified{color:var(--cp-accent-dark);font-weight:700}
.cp-coupon-off{display:block;font-size:14px;margin-bottom:2px}

/* Card coupon view (grid of vertical cards) */
.cp-coupon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-bottom:8px}
.cp-view-card{flex-direction:column;align-items:stretch;text-align:center;gap:10px;transition:box-shadow .15s,transform .15s}
.cp-view-card:hover{box-shadow:0 8px 22px rgba(0,0,0,.09);transform:translateY(-2px)}
.cp-view-card .cp-coupon-type{flex:none;align-self:center;width:110px;padding:10px 0;font-size:12px}
.cp-view-card .cp-coupon-off{font-size:18px}
.cp-view-card .cp-coupon-meta{justify-content:center}
.cp-view-card .cp-coupon-action{flex-direction:column;align-items:stretch}
.cp-view-card .cp-coupon-body h3{font-size:15px}

/* Tables: highlights + current coupons */
.cp-sec-head{margin:28px 0 14px;font-size:22px}
.cp-card h2{margin-top:0}
.cp-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--cp-border);border-radius:var(--cp-radius);overflow:hidden}
.cp-table th,.cp-table td{padding:10px 14px;border-bottom:1px solid var(--cp-border);text-align:left;font-size:14px}
.cp-table thead th{background:#eef7f2;color:var(--cp-accent-dark);font-weight:800}
.cp-table tr:last-child td,.cp-table tr:last-child th{border-bottom:0}
.cp-highlights-table th{width:56%;font-weight:600;color:var(--cp-muted)}
.cp-td-discount{font-weight:800;color:var(--cp-accent-dark);white-space:nowrap}
.cp-pill{display:inline-block;font-size:11px;font-weight:800;border-radius:999px;padding:3px 10px}
.cp-pill.code{background:#fff8e1;color:var(--cp-code)}
.cp-pill.deal{background:#e8f5ee;color:var(--cp-accent-dark)}
.cp-highlights{margin-bottom:8px}

/* FAQs accordion + hacks */
.cp-faq{background:#fff;border:1px solid var(--cp-border);border-radius:var(--cp-radius);margin-bottom:8px;padding:0 16px}
.cp-faq summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none;position:relative;padding-right:28px}
.cp-faq summary::-webkit-details-marker{display:none}
.cp-faq summary:after{content:"+";position:absolute;right:2px;top:10px;font-size:20px;color:var(--cp-accent)}
.cp-faq[open] summary:after{content:"–"}
.cp-faq p{margin:0 0 14px;color:var(--cp-muted)}
.cp-hacks{margin-top:20px}
.cp-hacks-list{margin:0;padding:0;list-style:none}
.cp-hacks-list li{padding:10px 0 10px 30px;position:relative;border-bottom:1px dashed var(--cp-border)}
.cp-hacks-list li:last-child{border-bottom:0}
.cp-hacks-list li:before{content:"💡";position:absolute;left:0;top:9px}

/* Follow box (e-mail alerts) */
.cp-follow-box input[type=email]{width:100%;padding:10px 12px;border:2px solid var(--cp-border);border-radius:8px;margin-bottom:8px;font-size:14px}
.cp-follow-box input[type=email]:focus{outline:none;border-color:var(--cp-accent)}
.cp-side-note{font-size:12px;color:var(--cp-muted);margin:8px 0 0}
.ce-follow-msg{font-size:13px;color:var(--cp-accent-dark);margin:8px 0 0}
.ce-follow-msg a{text-decoration:underline}
.cp-manage-follows{max-width:560px}
.ce-follow-link-msg{color:var(--cp-accent-dark);font-size:13px}

/* A–Z letter bar */
.cp-letter-bar{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.cp-letter-bar a{min-width:34px;text-align:center;padding:7px 8px;background:#fff;border:1px solid var(--cp-border);border-radius:8px;font-weight:700;color:var(--cp-ink);font-size:13px}
.cp-letter-bar a:hover{border-color:var(--cp-accent);color:var(--cp-accent-dark)}
.cp-letter-bar a.is-on{background:var(--cp-accent);border-color:var(--cp-accent);color:#fff}

/* Search autocomplete dropdown */
.cp-search{position:relative}
.cp-ac{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--cp-border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);overflow:hidden;z-index:60}
.cp-ac-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #f1f3f5;color:var(--cp-ink)}
.cp-ac-item:last-child{border-bottom:0}
.cp-ac-item:hover,.cp-ac-item.is-active{background:#eef7f2}
.cp-ac-item img{width:28px;height:28px;object-fit:contain;border-radius:6px}
.cp-ac-fallback{display:inline-flex;width:28px;height:28px;border-radius:6px;background:var(--cp-accent);color:#fff;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.cp-ac-name{flex:1;font-weight:600}
.cp-ac-count{font-size:12px;color:var(--cp-muted)}

/* Full-size logos everywhere (no crops) */
.cp-store-head-logo img{width:110px;height:110px;object-fit:contain}
.cp-store-tile img,.cp-store-card img{width:72px;height:72px;object-fit:contain}

@media (max-width:860px){
  .cp-coupon-grid{grid-template-columns:1fr 1fr}
  .cp-table{font-size:13px}
}
@media (max-width:560px){ .cp-coupon-grid{grid-template-columns:1fr} }

/* Country selector (footer) */
.ce-country-select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #374151;background:#1f2937;color:#e5e7eb;font-size:14px}
.cp-footer-note{font-size:12px;color:#9ca3af;margin-top:8px}

/* Sidebar FAQs & Hacks */
.cp-side-faqs .cp-faq{border:0;border-bottom:1px solid var(--cp-border);border-radius:0;margin:0;padding:0}
.cp-side-faqs .cp-faq summary{font-size:13.5px;padding:11px 24px 11px 0}
.cp-side-faqs .cp-faq summary:after{top:8px}
.cp-side-faqs .cp-faq p{font-size:13px;margin-bottom:12px}
.cp-side-faqs .cp-faq:last-of-type{border-bottom:0}
.cp-side-hacks .cp-hacks-list li{font-size:13px;padding:8px 0 8px 26px}
.cp-side-hacks .cp-hacks-list li:before{top:7px;font-size:13px}
