/* ═══════════════════════════════════════════════════════════════════
   Amazon Affiliate Cards Pro v6 — Production CSS
   Amazon-style cards + product pages + comparison tables
   ═══════════════════════════════════════════════════════════════════ */

/* ── Grid wrapper ────────────────────────────────────────────────── */
.aac-wrap { width:100%; display:grid; gap:18px; align-items:stretch; }

.aac-wrap.aac-layout-vertical.aac-cols-1 { grid-template-columns:1fr; }
.aac-wrap.aac-layout-vertical.aac-cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.aac-wrap.aac-layout-vertical.aac-cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.aac-wrap.aac-layout-vertical.aac-cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.aac-wrap.aac-layout-vertical.aac-cols-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.aac-wrap.aac-layout-vertical.aac-cols-6 { grid-template-columns:repeat(6,minmax(0,1fr)); }
.aac-wrap.aac-layout-horizontal          { grid-template-columns:1fr; }

/* ── Card — Amazon style ─────────────────────────────────────────── */
.aac-wrap .aac-card {
  background:#fff;
  border:1px solid #DDD;
  border-radius:8px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 2px 5px 0 rgba(213,217,217,.5);
  transition:box-shadow .15s ease, border-color .15s ease, transform .15s ease;
  position:relative;
}
.aac-wrap .aac-card:hover {
  box-shadow:0 2px 16px rgba(0,0,0,.12);
  border-color:#c7c7c7;
  transform:translateY(-2px);
}
.aac-wrap .aac-card-inner { display:flex; flex-direction:column; height:100%; }
.aac-wrap.aac-layout-horizontal .aac-card-inner { flex-direction:row; gap:0; }

/* ── Image area ──────────────────────────────────────────────────── */
.aac-wrap .aac-img-link { display:block; text-decoration:none; overflow:hidden; background:#fff; }
.aac-wrap .aac-img {
  width:100%;
  height:220px;
  object-fit:contain;
  background:#fff;
  padding:16px;
  border-bottom:1px solid #f0f2f2;
  transition:transform .3s ease;
  display:block;
}
.aac-wrap .aac-card:hover .aac-img { transform:scale(1.04); }
.aac-wrap.aac-layout-horizontal .aac-img {
  width:200px; max-width:35%; height:auto; min-height:160px;
  border-bottom:none; border-right:1px solid #f0f2f2;
}
.aac-wrap .aac-img-placeholder {
  height:220px;
  background:linear-gradient(135deg,#f0f2f2,#e9eaed);
  display:flex; align-items:center; justify-content:center;
  color:#adb1b8; font-size:42px;
}

/* ── Badge ───────────────────────────────────────────────────────── */
.aac-wrap .aac-badge {
  display:inline-flex; align-items:center;
  font-size:11px; font-weight:800;
  padding:3px 9px; border-radius:4px;
  background:#CC0C39; color:#fff;
  width:max-content; text-transform:uppercase; letter-spacing:.04em;
}
.aac-wrap .aac-badge.aac-badge-gold    { background:#E47911; }
.aac-wrap .aac-badge.aac-badge-green   { background:#067D62; }
.aac-wrap .aac-badge.aac-badge-blue    { background:#0066C0; }
.aac-wrap .aac-badge.aac-badge-prime   { background:#0F1111; }
.aac-wrap .aac-badge.aac-badge-yellow  { background:#f59e0b; }

/* ── Body ────────────────────────────────────────────────────────── */
.aac-wrap .aac-body {
  padding:12px 14px 14px;
  display:flex; flex-direction:column; gap:7px; flex:1;
}
.aac-wrap .aac-brand { font-size:12px; color:#565959; font-weight:400; margin-bottom:1px; }
.aac-wrap .aac-title {
  margin:0; font-size:14px; line-height:1.3; font-weight:400; color:#0F1111;
  font-family:"Amazon Ember","Helvetica Neue",Helvetica,Arial,sans-serif;
}
.aac-wrap .aac-title-link { color:#0F1111; text-decoration:none; }
.aac-wrap .aac-title-link:hover { color:#C7511F; text-decoration:underline; }

/* ── Rating — Amazon star style ──────────────────────────────────── */
.aac-wrap .aac-rating { display:flex; align-items:center; gap:5px; }
.aac-wrap .aac-stars  { color:#F90; font-size:14px; letter-spacing:1px; line-height:1; }
.aac-wrap .aac-rating-text { font-size:13px; font-weight:700; color:#0F1111; }
.aac-wrap .aac-reviews { font-size:12px; color:#007185; text-decoration:underline; cursor:pointer; }

/* ── Score bar ───────────────────────────────────────────────────── */
.aac-wrap .aac-score-wrap { display:flex; align-items:center; gap:7px; }
.aac-wrap .aac-score-label { font-size:11px; color:#565959; white-space:nowrap; }
.aac-wrap .aac-score-bar { flex:1; height:5px; background:#e5e7eb; border-radius:99px; overflow:hidden; }
.aac-wrap .aac-score-fill { height:100%; border-radius:99px; transition:width .5s ease; }
.aac-wrap .aac-score-val  { font-size:12px; font-weight:800; white-space:nowrap; }

/* ── Pros mini ───────────────────────────────────────────────────── */
.aac-wrap .aac-pros-mini,
.aac-wrap .aac-cons-mini { font-size:12px; line-height:1.5; }
.aac-wrap .aac-pros-mini::before { content:"✓ "; color:#067D62; font-weight:800; }
.aac-wrap .aac-cons-mini::before { content:"✗ "; color:#CC0C39; font-weight:800; }

/* ── Description ─────────────────────────────────────────────────── */
.aac-wrap .aac-desc { font-size:13px; color:#333; line-height:1.5; }

/* ── Features list ───────────────────────────────────────────────── */
.aac-wrap .aac-features { margin:3px 0 0; padding-left:14px; font-size:12px; color:#333; line-height:1.6; }
.aac-wrap .aac-features li { margin:1px 0; }

/* ── Verdict ─────────────────────────────────────────────────────── */
.aac-wrap .aac-verdict {
  padding:9px 10px; border-radius:6px;
  background:#f7f8f8; border:1px solid #d5d9d9;
  font-size:12px; color:#0F1111; line-height:1.5;
}
.aac-wrap .aac-verdict strong { color:#007600; }

/* ── Price ───────────────────────────────────────────────────────── */
.aac-wrap .aac-price { font-size:18px; font-weight:700; color:#0F1111; letter-spacing:-.01em; }

/* ── CTA Button — Amazon yellow ──────────────────────────────────── */
.aac-wrap .aac-btn {
  margin-top:auto;
  display:flex; align-items:center; justify-content:center; gap:6px;
  width:100%; text-decoration:none;
  padding:10px 14px; border-radius:8px;
  background:linear-gradient(to bottom, #FFD814, #F0B429);
  border:1px solid #FFA41C;
  color:#0F1111; font-weight:700; font-size:14px;
  letter-spacing:.01em;
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset;
  transition:background .1s, box-shadow .1s;
  cursor:pointer;
}
.aac-wrap .aac-btn:hover {
  background:linear-gradient(to bottom, #F7CA00, #E8A800);
  box-shadow:0 2px 5px rgba(213,217,217,.5);
  color:#0F1111;
}
.aac-wrap .aac-btn-secondary {
  background:linear-gradient(to bottom,#f7f8f8,#e7e9ec);
  border:1px solid #adb1b8; color:#0F1111;
}
.aac-wrap .aac-btn-secondary:hover { background:linear-gradient(to bottom,#e7e9ec,#d5d9d9); }

/* ── Subtext / Trust ─────────────────────────────────────────────── */
.aac-wrap .aac-subtext  { font-size:11px; color:#565959; text-align:center; margin-top:4px; }
.aac-wrap .aac-trust    { font-size:11px; color:#007600; font-weight:600; text-align:center; }
.aac-wrap .aac-note     { font-size:12px; color:#CC0C39; padding:8px; border:1px dashed #fca5a5; border-radius:6px; }

/* ── Footer area ─────────────────────────────────────────────────── */
.aac-wrap .aac-footer {
  padding:10px 14px 14px;
  border-top:1px solid #f0f2f2;
  display:flex; flex-direction:column; gap:7px;
}

/* ── Empty state ─────────────────────────────────────────────────── */
.aac-empty {
  padding:32px; text-align:center; color:#565959; font-size:14px;
  border:2px dashed #d5d9d9; border-radius:8px; width:100%;
}

/* ── Disclaimer ──────────────────────────────────────────────────── */
.aac-disclaimer {
  margin-top:12px; font-size:11px; color:#565959;
  padding:8px 12px; background:#f7f8f8;
  border:1px solid #d5d9d9; border-radius:4px;
}

/* ══════════════════════════════════════════════════════════════════
   COMPARISON TABLE
   ══════════════════════════════════════════════════════════════════ */
.aac-compare { overflow-x:auto; margin:20px 0; }
.aac-compare-table { width:100%; border-collapse:collapse; font-size:14px; }
.aac-compare-table th {
  background:#232F3E; color:#fff;
  padding:12px 14px; font-weight:700; text-align:center;
}
.aac-compare-table th.aac-ct-feature { text-align:left; background:#37475A; }
.aac-compare-table th.aac-ct-winner  { background:#E47911; }
.aac-compare-table td {
  padding:10px 14px; border-bottom:1px solid #f0f2f2;
  text-align:center; vertical-align:middle; color:#0F1111;
}
.aac-compare-table td.aac-ct-feature  { font-weight:600; color:#565959; font-size:12px; text-align:left; background:#FAFAFA; }
.aac-compare-table tr:last-child td   { border-bottom:none; }
.aac-compare-table tr:hover td        { background:#FFF9F0; }
.aac-compare-check { color:#007600; font-size:18px; font-weight:900; }
.aac-compare-x     { color:#CC0C39; font-size:18px; }
.aac-compare-btn {
  display:inline-block; background:linear-gradient(to bottom,#FFD814,#F0B429);
  border:1px solid #FFA41C; border-radius:6px;
  color:#0F1111; font-weight:700; font-size:13px; padding:7px 16px;
  text-decoration:none; transition:background .1s;
}
.aac-compare-btn:hover { background:linear-gradient(to bottom,#F7CA00,#E8A800); }
.aac-compare-tag {
  display:inline-block; background:#CC0C39; color:#fff;
  font-size:10px; font-weight:800; padding:2px 7px; border-radius:3px;
  letter-spacing:.04em; text-transform:uppercase; margin-bottom:4px;
}

/* ══════════════════════════════════════════════════════════════════
   "IMPATIENT" / RESUMEN SHORTCODE
   ══════════════════════════════════════════════════════════════════ */
.aac-impatient {
  margin:20px 0; padding:20px;
  border:2px solid #F0B429; border-radius:10px;
  background:#FFFBF2;
}
.aac-impatient-title { font-weight:800; font-size:16px; margin-bottom:14px; color:#0F1111; }
.aac-impatient-grid  { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; }
.aac-impatient-badge {
  font-size:11px; font-weight:800; padding:3px 10px;
  background:#F90; color:#0F1111; border-radius:4px;
  display:inline-block; margin-bottom:8px;
}

/* ══════════════════════════════════════════════════════════════════
   PRODUCT PAGE (single-aac_product template)
   ══════════════════════════════════════════════════════════════════ */
.aac-sp { max-width:1000px; margin:32px auto; padding:0 20px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:#0F1111; }
.aac-sp * { box-sizing:border-box; }

/* Breadcrumb */
.aac-sp .aac-bc { font-size:12px; color:#565959; margin-bottom:16px; display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
.aac-sp .aac-bc a { color:#007185; text-decoration:none; }
.aac-sp .aac-bc a:hover { color:#C7511F; text-decoration:underline; }
.aac-sp .aac-bc-sep { color:#adb1b8; }

/* Hero grid */
.aac-sp .aac-ph { display:grid; grid-template-columns:1fr 1.1fr; gap:32px; align-items:start; margin-bottom:40px; }
@media(max-width:680px) { .aac-sp .aac-ph { grid-template-columns:1fr; } }

/* Image */
.aac-sp .aac-pi-wrap { position:sticky; top:80px; }
.aac-sp .aac-pi {
  background:#fff; border:1px solid #DDD; border-radius:8px;
  padding:20px; text-align:center;
}
.aac-sp .aac-pi img { max-width:100%; max-height:400px; object-fit:contain; }
.aac-sp .aac-pi-badge { margin-top:12px; }

/* Product info */
.aac-sp .aac-pinfo {}
.aac-sp .aac-pi-brand { font-size:13px; color:#565959; margin-bottom:6px; }
.aac-sp .aac-pi-brand a { color:#007185; text-decoration:none; }
.aac-sp h1.aac-pi-title {
  font-size:clamp(18px,3.5vw,24px); font-weight:400; line-height:1.3;
  color:#0F1111; margin:0 0 10px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
/* Rating row */
.aac-sp .aac-pi-rating { display:flex; align-items:center; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.aac-sp .aac-pi-stars  { color:#F90; font-size:17px; letter-spacing:2px; }
.aac-sp .aac-pi-rv     { font-size:14px; font-weight:700; color:#0F1111; }
.aac-sp .aac-pi-rc     { font-size:13px; color:#007185; text-decoration:underline; cursor:pointer; }
/* Score bar */
.aac-sp .aac-pi-score  { margin-bottom:12px; display:flex; align-items:center; gap:10px; }
.aac-sp .aac-pi-score-bar { flex:1; height:8px; background:#e5e7eb; border-radius:99px; overflow:hidden; }
.aac-sp .aac-pi-score-fill{ height:100%; border-radius:99px; }
/* Badge */
.aac-sp .aac-pi-badge-wrap { margin-bottom:10px; }
/* Price note */
.aac-sp .aac-pi-price-note { font-size:13px; color:#565959; margin-bottom:14px; }
/* CTA block */
.aac-sp .aac-pi-cta { margin-bottom:12px; }
.aac-sp .aac-pi-cta-btn {
  display:block; width:100%; padding:13px 20px;
  background:linear-gradient(to bottom,#FFD814,#F0B429);
  border:1px solid #FFA41C; border-radius:20px;
  color:#0F1111; font-weight:700; font-size:16px;
  text-align:center; text-decoration:none;
  transition:background .1s; box-shadow:0 1px 0 rgba(255,255,255,.4) inset;
}
.aac-sp .aac-pi-cta-btn:hover { background:linear-gradient(to bottom,#F7CA00,#E8A800); }
/* Trust row */
.aac-sp .aac-pi-trust { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; color:#007600; font-weight:600; margin-bottom:6px; }
.aac-sp .aac-pi-trust span::before { content:"✓ "; }
/* Disclaimer */
.aac-sp .aac-pi-disc { font-size:11px; color:#565959; margin-top:8px; }

/* Body sections */
.aac-sp .aac-ps { margin-top:8px; }
.aac-sp h2.aac-ph2 {
  font-size:clamp(17px,2.8vw,22px); font-weight:700; color:#0F1111;
  margin:32px 0 10px; padding-bottom:8px; border-bottom:1px solid #DDD;
}
.aac-sp h3.aac-ph3 { font-size:16px; font-weight:700; color:#0F1111; margin:18px 0 7px; }
.aac-sp .aac-p     { font-size:15px; line-height:1.8; color:#0F1111; margin-bottom:12px; }
.aac-sp .aac-feat-list { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.aac-sp .aac-feat-list li {
  display:flex; align-items:flex-start; gap:10px; font-size:14px;
  padding:10px 14px; background:#F7F8F8; border-radius:6px; border:1px solid #f0f2f2;
}
.aac-sp .aac-feat-list li::before { content:"✓"; color:#007600; font-weight:800; flex-shrink:0; margin-top:2px; }

/* Pros/Cons */
.aac-sp .aac-pc-grid  { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:12px 0; }
@media(max-width:540px) { .aac-sp .aac-pc-grid { grid-template-columns:1fr; } }
.aac-sp .aac-pros-box { background:#F0FFF4; border:1px solid #9AE6B4; border-radius:8px; padding:14px; }
.aac-sp .aac-cons-box { background:#FFF5F5; border:1px solid #FEB2B2; border-radius:8px; padding:14px; }
.aac-sp .aac-pros-box h3 { color:#276749; font-size:13px; font-weight:800; margin:0 0 8px; }
.aac-sp .aac-cons-box h3 { color:#9B2C2C; font-size:13px; font-weight:800; margin:0 0 8px; }
.aac-sp .aac-pc-list  { list-style:none; padding:0; margin:0; font-size:13px; }
.aac-sp .aac-pc-list li { padding:3px 0; display:flex; gap:7px; }
.aac-sp .aac-pros-box .aac-pc-list li::before { content:"✓"; color:#276749; font-weight:900; }
.aac-sp .aac-cons-box .aac-pc-list li::before { content:"✗"; color:#9B2C2C; font-weight:900; }

/* Specs table */
.aac-sp .aac-spec-table { width:100%; border-collapse:collapse; margin:10px 0; }
.aac-sp .aac-spec-table td { padding:9px 12px; border-bottom:1px solid #f0f2f2; font-size:14px; }
.aac-sp .aac-spec-table td:first-child { font-weight:700; color:#565959; background:#FAFAFA; width:36%; }

/* Verdict */
.aac-sp .aac-verdict-box {
  background:#FFFBF2; border:2px solid #F0B429; border-radius:8px; padding:18px 20px; margin:14px 0;
}
.aac-sp .aac-verdict-box .aac-vb-title { font-size:14px; font-weight:800; color:#8A5900; margin-bottom:8px; }
.aac-sp .aac-verdict-box p { margin:0; font-size:14px; color:#3D2B1F; line-height:1.7; }

/* FAQ accordion */
.aac-sp .aac-faq-list { display:grid; gap:8px; margin:12px 0; }
.aac-sp .aac-faq-item { border:1px solid #DDD; border-radius:6px; overflow:hidden; }
.aac-sp .aac-faq-q {
  padding:13px 16px; font-weight:700; font-size:14px;
  cursor:pointer; background:#FAFAFA;
  display:flex; justify-content:space-between; align-items:center;
  user-select:none; transition:background .1s;
}
.aac-sp .aac-faq-q:hover { background:#F0F2F2; }
.aac-sp .aac-faq-q::after { content:"▼"; font-size:10px; color:#adb1b8; transition:transform .2s; }
.aac-sp .aac-faq-item.open .aac-faq-q::after { transform:rotate(180deg); }
.aac-sp .aac-faq-a { padding:12px 16px; font-size:14px; color:#0F1111; line-height:1.7; display:none; background:#fff; }
.aac-sp .aac-faq-item.open .aac-faq-a { display:block; }

/* CTA bottom */
.aac-sp .aac-cta-bottom {
  background:#232F3E; border-radius:10px; padding:28px 32px;
  text-align:center; margin:36px 0; color:#fff;
}
.aac-sp .aac-cta-bottom h2 { font-size:20px; font-weight:700; color:#fff; margin-bottom:8px; }
.aac-sp .aac-cta-bottom p  { color:#ccc; font-size:14px; margin-bottom:16px; }
.aac-sp .aac-cta-bottom a  {
  display:inline-block; padding:13px 32px;
  background:linear-gradient(to bottom,#FFD814,#F0B429);
  border:1px solid #FFA41C; border-radius:20px;
  color:#0F1111; font-weight:700; font-size:16px; text-decoration:none;
}

/* Share row */
.aac-sp .aac-share { display:flex; gap:8px; flex-wrap:wrap; margin:20px 0; }
.aac-sp .aac-share a {
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 14px; border-radius:6px;
  font-size:12px; font-weight:700; text-decoration:none;
  transition:opacity .15s;
}
.aac-sp .aac-share a:hover { opacity:.85; }

/* Responsive */
@media(max-width:900px) {
  .aac-wrap.aac-layout-vertical.aac-cols-3,
  .aac-wrap.aac-layout-vertical.aac-cols-4,
  .aac-wrap.aac-layout-vertical.aac-cols-5,
  .aac-wrap.aac-layout-vertical.aac-cols-6 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aac-wrap.aac-layout-horizontal .aac-card-inner { flex-direction:column; }
  .aac-wrap.aac-layout-horizontal .aac-img { width:100%; max-width:100%; height:220px; border-right:none; border-bottom:1px solid #f0f2f2; }
}
@media(max-width:520px) {
  .aac-wrap.aac-layout-vertical { grid-template-columns:1fr !important; }
  .aac-sp .aac-ph { grid-template-columns:1fr; }
  .aac-sp .aac-pi-wrap { position:static; }
}
