/*
Theme Name: Shooters.Deals
Theme URI: https://shooters.deals
Author: Redfund LLC
Description: Bold-modern deal-board theme for shooters.deals — tactical gear, gun parts & optics deals.
Version: 0.1.0
Text Domain: shooters-deals
*/

:root{
  --bg:#0e0f13; --bg2:#16181e; --bg3:#1e212a; --line:#2a2e39;
  --text:#f4f5f7; --muted:#9aa1ad; --muted2:#6d7480;
  --accent:#ff5b1a; --accent-hi:#ff7a43; --accent-dim:rgba(255,91,26,.14);
  --radius:14px; --maxw:1220px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font); font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
.container{width:100%; max-width:var(--maxw); margin:0 auto; padding:0 20px}
.accent{color:var(--accent)}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(14,15,19,.86); backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex; align-items:center; gap:20px; height:66px}
.wordmark{display:flex; align-items:center; gap:10px; flex:0 0 auto}
.wordmark .wm-mark{width:30px; height:30px; flex:0 0 auto}
.wordmark .wm-text{font-weight:900; font-size:21px; letter-spacing:-.02em; text-transform:uppercase; white-space:nowrap}
.wordmark .wm-text .dot{color:var(--accent)}
.header-search{flex:1 1 auto; max-width:520px; margin:0 auto}
.header-search form{display:flex; position:relative}
.header-search input{
  width:100%; padding:11px 14px; border-radius:10px; border:1px solid var(--line);
  background:var(--bg2); color:var(--text); font-size:15px;
}
.header-search input::placeholder{color:var(--muted2)}
.header-search input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-dim)}
.btn-submit{
  flex:0 0 auto; background:var(--accent); color:#fff; font-weight:700; font-size:14px;
  padding:11px 18px; border-radius:10px; text-transform:uppercase; letter-spacing:.02em;
  transition:background .15s;
}
.btn-submit:hover{background:var(--accent-hi)}

/* ---------- Category nav ---------- */
.cat-nav{border-bottom:1px solid var(--line); background:var(--bg)}
.cat-nav-inner{display:flex; gap:6px; overflow-x:auto; padding:10px 20px; scrollbar-width:none}
.cat-nav-inner::-webkit-scrollbar{display:none}
.cat-link{
  flex:0 0 auto; font-size:13px; font-weight:600; color:var(--muted);
  padding:7px 13px; border-radius:8px; text-transform:uppercase; letter-spacing:.03em;
  border:1px solid transparent; transition:.15s;
}
.cat-link:hover{color:var(--text); background:var(--bg2)}
.cat-link.active{color:var(--accent); border-color:var(--line)}

/* ---------- Hero ---------- */
.hero{
  padding:46px 0 30px;
  background:radial-gradient(1200px 300px at 15% -40%,rgba(255,91,26,.16),transparent 70%);
  border-bottom:1px solid var(--line);
}
.hero-title{margin:0; font-size:clamp(30px,5vw,50px); font-weight:900; letter-spacing:-.03em; line-height:1.02}
.hero-sub{margin:12px 0 0; color:var(--muted); font-size:17px; max-width:640px}
.hero-meta{margin-top:16px; display:flex; gap:18px; flex-wrap:wrap; color:var(--muted2); font-size:13px; text-transform:uppercase; letter-spacing:.04em}
.hero-meta b{color:var(--accent)}

/* ---------- Page/section heads ---------- */
.page-head{padding:34px 0 8px}
.page-head h1{margin:0; font-size:clamp(24px,4vw,36px); font-weight:900; letter-spacing:-.02em}
.page-head .crumb{color:var(--muted2); font-size:13px; text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px}
.main{padding:28px 0 60px}

/* ---------- Deal grid + cards ---------- */
.sd-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(232px,1fr));
  gap:20px; margin:24px 0;
}
.sd-card{
  background:var(--bg2); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column; transition:transform .16s,border-color .16s,box-shadow .16s;
}
.sd-card:hover{transform:translateY(-4px); border-color:#3a4150; box-shadow:0 12px 30px rgba(0,0,0,.4)}
.sd-card-img{position:relative; display:block; aspect-ratio:4/3; background:#0b0c10}
.sd-card-img img{width:100%; height:100%; object-fit:cover}
.sd-noimg{display:flex; align-items:center; justify-content:center; width:100%; height:100%;
  color:#4a5160; font-weight:900; font-size:13px; letter-spacing:.08em; text-transform:uppercase;
  background:radial-gradient(120px 120px at 50% 40%,rgba(255,91,26,.10),transparent 70%),
  repeating-linear-gradient(45deg,#111319,#111319 10px,#14161c 10px,#14161c 20px)}
.sd-badge{
  position:absolute; top:10px; left:10px; background:var(--accent); color:#fff;
  font-weight:800; font-size:13px; padding:4px 9px; border-radius:8px; letter-spacing:.02em;
  box-shadow:0 3px 10px rgba(255,91,26,.4);
}
.sd-badge.lg{font-size:16px; padding:6px 12px}
.sd-card-body{padding:14px; display:flex; flex-direction:column; gap:9px; flex:1}
.sd-merchant{font-size:11px; color:var(--muted2); text-transform:uppercase; letter-spacing:.06em; font-weight:700}
.sd-card-title{margin:0; font-size:15px; line-height:1.32; font-weight:600;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.sd-card-title a{color:var(--text)}
.sd-card-title a:hover{color:var(--accent-hi)}
.sd-price{display:flex; align-items:baseline; gap:9px; margin-top:auto}
.sd-now{font-weight:900; font-size:21px; color:var(--accent); letter-spacing:-.01em}
.sd-was{text-decoration:line-through; color:var(--muted2); font-size:14px}
.sd-empty{color:var(--muted); padding:40px 0; text-align:center}

/* ---------- Single deal ---------- */
.single-wrap{padding:34px 0 60px}
.single-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:34px; align-items:start}
.single-media{position:relative; background:var(--bg2); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
.single-media img{width:100%; height:auto}
.single-info .sd-merchant{font-size:12px}
.single-title{margin:8px 0 16px; font-size:clamp(22px,3.2vw,32px); font-weight:900; letter-spacing:-.02em; line-height:1.12}
/* price/CTA block injected by the plugin into the_content */
.sd-single{background:var(--bg2); border:1px solid var(--line); border-radius:var(--radius); padding:20px; margin:0 0 22px}
.sd-single-price{display:flex; align-items:baseline; gap:12px}
.sd-single-price .sd-now{font-size:34px; font-weight:900; color:var(--accent)}
.sd-single-price .sd-was{font-size:18px}
.sd-single-merch{color:var(--muted); margin:8px 0 0}
.sd-coupon{margin:12px 0 0; color:var(--muted)}
.sd-coupon code{background:var(--bg3); padding:3px 8px; border-radius:6px; color:var(--accent-hi); font-weight:700}
.sd-btn,.cta{
  display:inline-block; background:var(--accent); color:#fff !important; font-weight:800;
  padding:14px 26px; border-radius:11px; font-size:17px; margin-top:16px;
  text-transform:uppercase; letter-spacing:.02em; transition:background .15s,transform .15s;
}
.sd-btn:hover,.cta:hover{background:var(--accent-hi); transform:translateY(-1px)}
.sd-btn-lg{font-size:18px}
.sd-exp{color:var(--muted2); font-size:13px; margin-top:12px}
.sd-disclosure,.disclosure{color:var(--muted2); font-size:12px; margin-top:16px; line-height:1.5}
.single-desc,.entry{color:#d6d9df; line-height:1.7}
.single-desc a,.entry a{color:var(--accent-hi)}

/* ---------- Submission form ---------- */
.sd-form{display:flex; flex-direction:column; gap:14px; max-width:520px; margin-top:20px}
.sd-form label{display:flex; flex-direction:column; font-size:13px; gap:6px; color:var(--muted); text-transform:uppercase; letter-spacing:.03em; font-weight:600}
.sd-form input{padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:var(--bg2); color:var(--text); font-size:15px}
.sd-form input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-dim)}
.sd-form .btn-submit,.sd-form button{align-self:flex-start; border:0; cursor:pointer; margin-top:4px}
.sd-ok{background:rgba(38,166,91,.14); color:#4ade80; padding:12px 14px; border-radius:10px; margin-bottom:14px}
.sd-err{background:rgba(229,57,53,.14); color:#f87171; padding:12px 14px; border-radius:10px; margin-bottom:14px}

/* ---------- Ads ---------- */
.sd-leaderboard{text-align:center; margin:0 0 24px; max-width:100%; overflow:hidden}
.sd-ad{text-align:center; margin:0 auto; max-width:100%; overflow:hidden}
.sd-ad *{max-width:100%}
.sd-ad-card{display:flex; align-items:center; justify-content:center; background:var(--bg2);
  border:1px dashed var(--line); border-radius:var(--radius); min-height:250px; overflow:hidden}
@media(max-width:640px){ .sd-ad-card{grid-column:1 / -1} }

/* ---------- Pagination ---------- */
.pagination{margin-top:34px; display:flex; justify-content:center}
.pagination .page-numbers{padding:9px 14px; border:1px solid var(--line); border-radius:9px; margin:0 4px; color:var(--muted); font-weight:600}
.pagination .page-numbers.current{background:var(--accent); color:#fff; border-color:var(--accent)}
.pagination a.page-numbers:hover{color:var(--text); border-color:#3a4150}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--line); background:#0b0c10; margin-top:40px}
.footer-inner{padding:36px 0; display:flex; flex-wrap:wrap; gap:24px; justify-content:space-between; align-items:flex-start}
.footer-brand .wm-text{font-weight:900; text-transform:uppercase; letter-spacing:-.02em; font-size:18px}
.footer-brand p{color:var(--muted2); font-size:13px; max-width:360px; margin:10px 0 0; line-height:1.6}
.footer-cats{display:flex; flex-wrap:wrap; gap:8px 18px; max-width:520px}
.footer-cats a{color:var(--muted); font-size:13px}
.footer-cats a:hover{color:var(--accent-hi)}
.footer-legal{border-top:1px solid var(--line); padding:16px 0; color:var(--muted2); font-size:12px; text-align:center; line-height:1.6}

/* ---------- Responsive ---------- */
@media(max-width:820px){
  .single-grid{grid-template-columns:1fr; gap:22px}
  .header-search{display:none}
  .header-inner{height:60px; justify-content:space-between}
}
@media(max-width:520px){
  .sd-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr)); gap:12px}
  .sd-now{font-size:18px}
  .wordmark .wm-text{font-size:18px}
}

/* ---------- Deal-page detail: breadcrumb, meta, related ---------- */
.breadcrumb{padding:22px 0 0; font-size:13px; color:var(--muted2); display:flex; gap:8px; flex-wrap:wrap}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--accent-hi)}
.single-meta{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:0 0 18px}
.chip{background:var(--bg3); color:var(--muted); font-size:12px; font-weight:700; padding:5px 11px;
  border-radius:999px; text-transform:uppercase; letter-spacing:.04em; border:1px solid var(--line)}
.chip:hover{color:var(--accent-hi); border-color:var(--accent)}
.single-meta .posted{color:var(--muted2); font-size:13px}
.section-h{font-size:20px; font-weight:900; letter-spacing:-.01em; margin:44px 0 4px}
.related{margin-top:8px}

/* ---------- Report an issue ---------- */
.sd-report{margin-top:20px; border:1px solid var(--line); border-radius:12px; background:var(--bg2)}
.sd-report summary{cursor:pointer; padding:13px 16px; color:var(--muted); font-size:14px; font-weight:600; list-style:none}
.sd-report summary::-webkit-details-marker{display:none}
.sd-report summary:hover{color:var(--text)}
.sd-report[open] summary{border-bottom:1px solid var(--line); color:var(--text)}
.sd-report-form{display:flex; gap:10px; flex-wrap:wrap; padding:14px 16px}
.sd-report-form select,.sd-report-form input{padding:10px 12px; border:1px solid var(--line); border-radius:9px;
  background:var(--bg); color:var(--text); font-size:14px}
.sd-report-form input{flex:1 1 200px}
.sd-report-form button{background:var(--accent); color:#fff; border:0; border-radius:9px; padding:10px 18px;
  font-weight:700; cursor:pointer}
.sd-report-form button:hover{background:var(--accent-hi)}

/* ---------- Comments (user-generated content) ---------- */
.comments-wrap{border-top:1px solid var(--line); margin-top:44px}
.comments-area{padding-top:8px}
.comment-list{list-style:none; margin:18px 0 0; padding:0}
.comment-list ol.children{list-style:none; margin:14px 0 0 26px; padding-left:16px; border-left:2px solid var(--line)}
.comment-list li.comment{margin:0 0 16px}
.comment-body{background:var(--bg2); border:1px solid var(--line); border-radius:12px; padding:16px 18px}
.comment-author{display:flex; align-items:center; gap:10px}
.comment-author .avatar{border-radius:50%}
.comment-author .fn{font-weight:700; color:var(--text); font-style:normal}
.comment-author .says{display:none}
.comment-meta{margin-left:auto}
.comment-metadata a,.comment-meta a{color:var(--muted2); font-size:12px}
.comment-content{color:#d6d9df; line-height:1.65; margin-top:10px}
.comment-content p{margin:0 0 8px}
.reply{margin-top:8px}
.reply a{color:var(--accent-hi); font-size:13px; font-weight:600}
.comment-respond{margin-top:26px; background:var(--bg2); border:1px solid var(--line); border-radius:14px; padding:20px}
.comment-reply-title{font-size:18px; font-weight:900; margin:0 0 14px}
.comment-form-comment textarea,.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url]{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:var(--bg); color:var(--text);
  font-size:15px; font-family:inherit}
.comment-form textarea:focus,.comment-form input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-dim)}
.comment-form{display:flex; flex-direction:column; gap:12px}
.comment-form .comment-form-author,.comment-form .comment-form-email,.comment-form .comment-form-url{flex:1}
.comment-form .form-submit .submit,.comment-form .btn-submit{background:var(--accent); color:#fff; border:0; border-radius:10px;
  padding:12px 22px; font-weight:800; text-transform:uppercase; letter-spacing:.02em; cursor:pointer; align-self:flex-start}
.comment-form .form-submit .submit:hover{background:var(--accent-hi)}
.comment-notes,.comment-form label{color:var(--muted2); font-size:13px}

/* ---------- Slickdeals-style deal detail ---------- */
.sd-summary{font-size:16px; line-height:1.6; color:#e6e8ec; margin:0 0 18px; padding:14px 16px;
  background:var(--accent-dim); border-left:3px solid var(--accent); border-radius:0 10px 10px 0}
.sd-summary code{background:var(--bg3); padding:2px 7px; border-radius:5px; color:var(--accent-hi); font-weight:700}
.sd-single-price{align-items:center; flex-wrap:wrap}
.sd-single-price .sd-save{font-size:13px; font-weight:800; color:#4ade80;
  background:rgba(38,166,91,.16); padding:5px 11px; border-radius:8px}
.sd-highlights{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:12px; overflow:hidden; margin:18px 0 0}
.sd-highlights > div{background:var(--bg2); padding:12px 14px}
.sd-highlights dt{font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted2); font-weight:700; margin:0}
.sd-highlights dd{margin:4px 0 0; font-size:15px; color:var(--text); font-weight:600}
.sd-highlights code{background:var(--bg3); padding:2px 8px; border-radius:5px; color:var(--accent-hi)}
.sd-desc-h{font-size:20px; font-weight:900; letter-spacing:-.01em; margin:34px 0 14px;
  padding-top:26px; border-top:1px solid var(--line)}
.entry h1,.entry h2,.entry h3,.entry h4{color:var(--text); margin:20px 0 10px; line-height:1.25}
.entry ul,.entry ol{padding-left:22px; margin:10px 0}
.entry li{margin:5px 0}
.entry img{border-radius:10px; margin:12px 0; height:auto}
.entry table{width:100%; border-collapse:collapse; margin:14px 0; font-size:14px; display:block; overflow-x:auto}
.entry td,.entry th{border:1px solid var(--line); padding:8px 11px; text-align:left}
.entry strong{color:var(--text)}
@media(max-width:520px){ .sd-highlights{grid-template-columns:1fr} }
.sd-badge-new{background:#16a34a; box-shadow:0 3px 10px rgba(22,163,74,.45)}
.sd-ad img{max-width:100%!important; height:auto!important; display:block; margin:0 auto}

/* ---------- Image placeholder / broken-image fallback ---------- */
.sd-card-img{overflow:hidden;
  background:radial-gradient(120px 120px at 50% 40%,rgba(255,91,26,.10),transparent 70%),
  repeating-linear-gradient(45deg,#111319,#111319 10px,#14161c 10px,#14161c 20px)}
.sd-card-img::after{content:'SHOOTERS.DEALS'; position:absolute; inset:0; display:flex; align-items:center;
  justify-content:center; color:#3a4150; font-weight:900; font-size:12px; letter-spacing:.08em; z-index:0}
.sd-card-img img{position:relative; z-index:1; background:#0b0c10}
.sd-badge{z-index:2}
.single-media{min-height:120px;
  background:radial-gradient(180px 180px at 50% 40%,rgba(255,91,26,.10),transparent 70%),
  repeating-linear-gradient(45deg,#111319,#111319 12px,#14161c 12px,#14161c 24px)}
.single-media img{position:relative; z-index:1}
.single-media-empty::after{content:'SHOOTERS.DEALS'; position:absolute; inset:0; display:flex; align-items:center;
  justify-content:center; color:#3a4150; font-weight:900; font-size:15px; letter-spacing:.08em}
.footer-links{margin:0 0 10px}
.footer-links a{font-weight:600}
.footer-legal a{color:var(--muted); text-decoration:underline}
.footer-legal a:hover{color:var(--accent-hi)}

/* ---------- Newsletter signup ---------- */
.sd-newsletter{background:linear-gradient(135deg,rgba(255,91,26,.10),transparent 60%),var(--bg2);
  border:1px solid var(--line); border-radius:var(--radius); padding:28px 26px; margin:0 0 10px;
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px}
.sd-nl-copy{max-width:560px; font-size:15px; color:var(--muted); line-height:1.5}
.sd-nl-copy strong{display:block; font-size:19px; font-weight:900; letter-spacing:-.01em; margin-bottom:3px; color:var(--text)}
.sd-nl-form{display:flex; gap:10px; width:100%; max-width:460px}
.sd-nl-form input[type=email]{flex:1; min-width:0; padding:11px 14px; border:1px solid var(--line); border-radius:10px; background:var(--bg2); color:var(--text); font-size:15px}
.sd-nl-form input[type=email]::placeholder{color:var(--muted2)}
.sd-nl-form input[type=email]:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-dim)}
.sd-nl-form button{background:var(--accent); color:#fff; border:0; border-radius:10px; padding:11px 18px; font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.02em; cursor:pointer; white-space:nowrap; transition:background .15s}
.sd-nl-form button:hover{background:var(--accent-hi)}
.sd-nl-msg{margin:0; flex:1 1 100%; font-weight:700}
.sd-nl-ok{color:#4ade80}
.sd-nl-err{color:#f87171}
/* ---------- Price history ---------- */
.sd-pricehist{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin:16px 0;padding:12px 14px;background:var(--bg3);border:1px solid var(--line);border-radius:10px;font-size:14px}
.sd-ph-label{font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:12px;color:var(--muted);width:100%}
.sd-ph-row{color:var(--text)}
.sd-ph-best{color:#4ade80;font-weight:700}
.sd-ph-since{color:var(--muted2);font-size:12px}
/* Responsive leaderboard: 728x90 desktop, 320x50 mobile */
.sd-lead-m{display:none}
@media(max-width:640px){ .sd-lead-d{display:none} .sd-lead-m{display:block} }
.sd-ad-inline{margin:24px auto;text-align:center}
/* ---------- Homepage deal filters (match the header search field) ---------- */
.sd-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 22px}
.sd-fsearch,.sd-ffilter{padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);color:var(--text);font-size:15px}
.sd-fsearch{flex:1 1 240px;min-width:180px}
.sd-fsearch::placeholder{color:var(--muted2)}
.sd-ffilter{cursor:pointer}
.sd-fsearch:focus,.sd-ffilter:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}
/* Cross-property links */
.sd-xsite{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:0 0 18px;font-size:14px;color:var(--muted)}
.sd-xsite a{color:var(--accent);font-weight:700}
.footer-sister{font-size:13px;color:var(--muted2)!important;margin-top:6px}
.footer-sister a{color:var(--accent)}
