.ecoaff-h1{margin:0 0 10px}
.ecoaff-intro{margin:0 0 16px}
.ecoaff-box{padding:12px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff;margin:10px 0}
.ecoaff-error{border-color: rgba(220,38,38,.35)}
.ecoaff-muted{opacity:.85}
.ecoaff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width: 849px){.ecoaff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 549px){.ecoaff-grid{grid-template-columns:repeat(1,minmax(0,1fr))}}
.ecoaff-card{border:1px solid rgba(0,0,0,.08);border-radius:14px;overflow:hidden;background:#fff}
.ecoaff-img{aspect-ratio: 4/3; background:rgba(0,0,0,.04); display:block; overflow:hidden}
.ecoaff-img img{width:100%;height:100%;object-fit:cover;display:block}
.ecoaff-body{padding:12px}
.ecoaff-title{font-weight:700;line-height:1.3;margin:0 0 6px}
.ecoaff-price{display:flex;gap:8px;align-items:baseline;margin:0 0 10px}
.ecoaff-price .new{font-weight:800}
.ecoaff-price .old{text-decoration:line-through;opacity:.6;font-size:.95em}
.ecoaff-actions{display:flex;gap:10px;align-items:center}
.ecoaff-btn{display:inline-block;padding:10px 12px;border-radius:12px;font-weight:700;text-decoration:none;background:#111827;color:#fff}
.ecoaff-badge{display:inline-block;font-size:12px;padding:4px 8px;border-radius:999px;background:rgba(253,230,138,.9);color:#111827;font-weight:700;margin-bottom:8px}
.ecoaff-pagi{display:flex;gap:10px;justify-content:center;margin:18px 0;flex-wrap:wrap}
.ecoaff-pagi a{padding:8px 12px;border:1px solid rgba(0,0,0,.12);border-radius:10px;text-decoration:none}
.ecoaff-pagi-label{padding:8px 10px;opacity:.7}
.ecoaff-debug{text-align:center;opacity:.65;margin:10px 0}

.ecoaff-meta{margin:0 0 8px;opacity:.72;font-size:.92em}

/* --- ECO Hub styles --- */
.ecoaff-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:849px){.ecoaff-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:549px){.ecoaff-hub-grid{grid-template-columns:repeat(1,minmax(0,1fr))}}
.ecoaff-hub-card{border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.ecoaff-hub-thumb{aspect-ratio:4/3;background:rgba(0,0,0,.04);position:relative;overflow:hidden;display:block}
.ecoaff-hub-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ecoaff-hub-badge{position:absolute;left:10px;top:10px;background:#dc2626;color:#fff;font-weight:900;font-size:.9em;padding:6px 10px;border-radius:999px}
.ecoaff-hub-body{padding:12px}
.ecoaff-hub-title{margin:0 0 6px;font-weight:900;line-height:1.25;font-size:1.02em}
.ecoaff-hub-title a{text-decoration:none}
.ecoaff-hub-meta{margin:0 0 8px;opacity:.8;font-size:.92em}
.ecoaff-hub-price{display:flex;gap:10px;align-items:baseline;margin:0 0 10px}
.ecoaff-hub-price .new{font-weight:900}
.ecoaff-hub-price .old{text-decoration:line-through;opacity:.6}
.ecoaff-hub-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.ecoaff-btn{display:inline-block;padding:10px 14px;border-radius:12px;font-weight:800;text-decoration:none;border:1px solid rgba(0,0,0,.15)}
.ecoaff-btn-primary{background:#111;color:#fff;border-color:#111}
.ecoaff-btn-ghost{background:#fff;color:#111}
.ecoaff-hub-pagi{display:flex;gap:10px;align-items:center;justify-content:center;margin:18px 0}
.ecoaff-hub-pagi-label{font-weight:800;opacity:.8}
.ecoaff-empty{padding:14px;border:1px dashed rgba(0,0,0,.25);border-radius:14px;background:#fff}

/* Tags/chips inside cards */
.ecoaff-tags{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 8px}
.ecoaff-tag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.12);font-weight:800;font-size:.86em;text-decoration:none;color:inherit;opacity:.95}
.ecoaff-tag:hover{opacity:1}
.ecoaff-tag-muted{opacity:.75}

/* Make buttons look like links when used as <button> */
button.ecoaff-btn{background:transparent}
button.ecoaff-btn-primary{background:#111;color:#fff}
button.ecoaff-btn-ghost{background:#fff;color:#111}

/* Tabs */
.ecoaff-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 0}
.ecoaff-tab{display:inline-block;padding:8px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.15);text-decoration:none;font-weight:900;opacity:.9}
.ecoaff-tab.is-active{background:#111;color:#fff;border-color:#111;opacity:1}

/* Share modal */
.ecoaff-share-modal{position:fixed;inset:0;display:none;z-index:999999}
.ecoaff-share-modal.is-open{display:block}
.ecoaff-share-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.ecoaff-share-panel{position:relative;max-width:520px;margin:10vh auto 0;background:#fff;border-radius:18px;border:1px solid rgba(0,0,0,.12);box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden}
@media(max-width:549px){.ecoaff-share-panel{margin:12vh 12px 0}}
.ecoaff-share-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.08)}
.ecoaff-share-title{font-weight:1000}
.ecoaff-share-close{width:38px;height:38px;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:#fff;font-size:22px;line-height:1;cursor:pointer}
.ecoaff-share-body{padding:14px}
.ecoaff-share-name{font-weight:900;margin:0 0 10px}
.ecoaff-share-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.ecoaff-share-input{width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.15);border-radius:12px}

.ecoaff-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:#111;color:#fff;padding:10px 14px;border-radius:999px;font-weight:900;display:none;z-index:1000000}
.ecoaff-toast.is-show{display:block}
