/* Amazon Affiliate Shop – Frontend Styles */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@700;800&family=DM+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root {
  --aas-primary: #FF6B35;
  --aas-primary-dark: #E8531A;
  --aas-dark: #0D0D0D;
  --aas-gray: #6B7280;
  --aas-light: #F9FAFB;
  --aas-border: #E5E7EB;
  --aas-white: #ffffff;
  --aas-gold: #F59E0B;
  --aas-radius: 16px;
  --aas-shadow: 0 4px 24px rgba(0,0,0,.08);
  --aas-shadow-hover: 0 12px 40px rgba(0,0,0,.14);
}

.aas-shop-wrap { font-family:'DM Sans',sans-serif; max-width:1280px; margin:0 auto; padding:0 20px 60px; color:var(--aas-dark); }

/* Hero */
.aas-shop-hero { text-align:center; padding:64px 20px 48px; background:linear-gradient(135deg,#0D0D0D 0%,#1a1a2e 50%,#16213e 100%); border-radius:24px; margin-bottom:40px; position:relative; overflow:hidden; }
.aas-shop-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 70% 50%,rgba(255,107,53,.2) 0%,transparent 60%); }
.aas-shop-title { font-family:'Syne',sans-serif; font-size:clamp(2rem,5vw,3.5rem); font-weight:800; color:#fff; margin:0 0 12px; position:relative; letter-spacing:-1px; }
.aas-shop-subtitle { color:rgba(255,255,255,.6); font-size:16px; margin:0; position:relative; }

/* Filters */
.aas-filters { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-bottom:28px; }
.aas-filter-btn { padding:9px 22px; border:2px solid var(--aas-border); border-radius:40px; background:var(--aas-white); cursor:pointer; font-size:14px; font-weight:500; color:var(--aas-gray); transition:all .2s; font-family:'DM Sans',sans-serif; }
.aas-filter-btn:hover { border-color:var(--aas-primary); color:var(--aas-primary); }
.aas-filter-btn.active { background:var(--aas-primary); border-color:var(--aas-primary); color:#fff; font-weight:600; }

/* Search */
.aas-shop-search { text-align:center; margin-bottom:36px; }
.aas-shop-search input { width:100%; max-width:480px; padding:14px 20px; border:2px solid var(--aas-border); border-radius:40px; font-size:15px; font-family:'DM Sans',sans-serif; transition:border-color .2s, box-shadow .2s; outline:none; background:var(--aas-white); }
.aas-shop-search input:focus { border-color:var(--aas-primary); box-shadow:0 0 0 4px rgba(255,107,53,.1); }

/* Grid */
.aas-product-grid { display:grid; gap:24px; }
.aas-cols-2 { grid-template-columns:repeat(2,1fr); }
.aas-cols-3 { grid-template-columns:repeat(3,1fr); }
.aas-cols-4 { grid-template-columns:repeat(4,1fr); }
@media(max-width:1024px) { .aas-cols-4,.aas-cols-3 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px)  { .aas-cols-4,.aas-cols-3,.aas-cols-2 { grid-template-columns:1fr; } }

/* Card */
.aas-card { background:var(--aas-white); border-radius:var(--aas-radius); overflow:hidden; border:1px solid var(--aas-border); box-shadow:var(--aas-shadow); transition:transform .25s ease,box-shadow .25s ease; position:relative; display:flex; flex-direction:column; }
.aas-card:hover { transform:translateY(-6px); box-shadow:var(--aas-shadow-hover); }
.aas-card.aas-hidden { display:none; }

.aas-badge-featured { position:absolute; top:12px; left:12px; background:linear-gradient(135deg,#F59E0B,#D97706); color:#fff; font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px; z-index:2; letter-spacing:.3px; }

.aas-card-image { height:220px; overflow:hidden; background:var(--aas-light); display:flex; align-items:center; justify-content:center; }
.aas-card-image img { width:100%; height:100%; object-fit:contain; padding:16px; transition:transform .3s ease; }
.aas-card:hover .aas-card-image img { transform:scale(1.05); }
.aas-img-placeholder { font-size:56px; }

.aas-card-body { padding:20px; display:flex; flex-direction:column; flex:1; }
.aas-card-category { font-size:11px; font-weight:700; color:var(--aas-primary); text-transform:uppercase; letter-spacing:1px; margin-bottom:8px; }
.aas-card-title { font-family:'Syne',sans-serif; font-size:15px; font-weight:700; color:var(--aas-dark); margin:0 0 10px; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.aas-card-desc { font-size:13px; color:var(--aas-gray); line-height:1.6; margin:0 0 14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; flex:1; }

/* Stars */
.aas-card-rating { display:flex; align-items:center; gap:3px; margin-bottom:12px; }
.star { font-size:14px; line-height:1; }
.star.full  { color:var(--aas-gold); }
.star.half  { color:var(--aas-gold); opacity:.7; }
.star.empty { color:#D1D5DB; }
.aas-rating-num { font-size:12px; color:var(--aas-gray); font-weight:600; margin-left:4px; }

/* Footer */
.aas-card-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:14px; border-top:1px solid var(--aas-border); }
.aas-card-price { font-family:'Syne',sans-serif; font-size:20px; font-weight:800; color:#059669; }

/* Buy Button */
.aas-buy-btn { display:inline-flex; align-items:center; gap:7px; background:var(--aas-primary); color:#fff; font-weight:700; font-size:13px; padding:10px 18px; border-radius:40px; text-decoration:none; transition:all .2s; font-family:'DM Sans',sans-serif; white-space:nowrap; }
.aas-buy-btn:hover { background:var(--aas-primary-dark); transform:scale(1.04); color:#fff; text-decoration:none; box-shadow:0 6px 20px rgba(255,107,53,.35); }
.aas-buy-btn svg { flex-shrink:0; }

/* Empty / Disclosure */
.aas-no-products { text-align:center; padding:60px; color:var(--aas-gray); font-size:16px; }
.aas-disclosure { text-align:center; margin-top:40px; color:#9CA3AF; font-size:12px; }
