/* SunshineMag — Custom Home */
:root{
  --bg:#0b1020; --card:#0f172a; --muted:#94a3b8; --text:#e2e8f0;
  --primary:#f59e0b; --primary-600:#d97706; --ring:#ffffff22;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--text);}

/* Hero */
.sm-hero{position:relative;overflow:hidden;border-radius:28px;margin:1.25rem 0;padding:3rem 2rem;background:linear-gradient(135deg,#111827,#1f2937);}
.sm-hero__content{max-width:720px;position:relative;z-index:2}
.eyebrow{display:inline-block;font-size:.875rem;color:var(--primary);background:#ffffff0f;border:1px solid var(--ring);border-radius:999px;padding:.25rem .6rem;margin-bottom:.75rem}
.sm-hero h1{font-size:2.2rem;line-height:1.1;margin:.25rem 0 .5rem}
.sm-hero h1 em{color:var(--primary);font-style:normal}
.sm-hero p{color:var(--muted);max-width:60ch}
.sm-hero__cta{margin-top:1rem;display:flex;gap:.75rem}
.sm-hero__visual{position:absolute;inset:0;pointer-events:none}
.blob{position:absolute;filter:blur(50px);opacity:.5;border-radius:999px}
.blob.b1{width:320px;height:320px;background:#f59e0b44;top:-40px;right:-60px}
.blob.b2{width:240px;height:240px;background:#22d3ee33;bottom:-60px;left:-30px}
.blob.b3{width:380px;height:380px;background:#a78bfa33;top:20%;left:60%}

/* Filters */
.sm-filters{margin:1.25rem 0}
.row{display:flex;gap:.75rem;flex-wrap:wrap}
.col{flex:0 0 auto}
.col--grow{flex:1 1 220px}
.input{display:flex;align-items:center;gap:.5rem;background:#0b1222;border:1px solid var(--ring);border-radius:12px;padding:.5rem .65rem}
.input input{background:transparent;border:none;outline:none;color:var(--text);width:100%}
.select{appearance:none;background:#0b1222;border:1px solid var(--ring);color:var(--text);border-radius:12px;padding:.55rem .8rem}
.chips{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}
.chip{display:inline-block;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--ring);color:var(--text);text-decoration:none}
.chip--active{background:var(--primary);border-color:var(--primary);color:#0b0b0b}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border-radius:12px;border:1px solid var(--ring);text-decoration:none;color:var(--text);background:#0b1222}
.btn:hover{transform:translateY(-1px)}
.btn--primary{background:var(--primary);border-color:var(--primary);color:#111827}
.btn--ghost{background:transparent}

/* Grid & Cards */
.sm-grid .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.card{background:var(--card);border:1px solid var(--ring);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 24px #00000033}
.card__media{position:relative}
.card__media img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ribbon{position:absolute;top:.6rem;left:.6rem;background:var(--primary);color:#111827;font-weight:700;border-radius:8px;padding:.2rem .5rem;font-size:.8rem}
.card__body{padding:.85rem}
.card__title{margin:.25rem 0 .4rem;font-size:1rem}
.card__meta{display:flex;justify-content:space-between;align-items:center}
.price{font-weight:800}

/* Banners / Newsletter */
.sm-banner .banner{margin:1.25rem 0;padding:1rem 1.1rem;border:1px solid var(--ring);background:linear-gradient(135deg,#0f172a,#0b1222);border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.sm-newsletter .nl{margin:1.25rem 0;padding:1rem 1.1rem;border:1px dashed var(--ring);border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.nl__form{display:flex;gap:.5rem}
.nl__form input{background:#0b1222;border:1px solid var(--ring);border-radius:12px;padding:.55rem .8rem;color:var(--text);min-width:260px}

/* Helpers */
.muted{color:var(--muted)}
.responsive-img{max-width:100%;height:auto}
@media (max-width: 720px){
  .sm-hero{padding:2rem 1rem}
  .sm-hero h1{font-size:1.6rem}
}
