/* Frontend styles for ABX plugin - unique class prefixes: abx- */
.abx-accordion-wrapper { max-width: 1200px; margin: 20px auto; padding: 10px; }
.abx-accordion-item { background: transparent; margin-bottom: 18px; border-radius: 6px; }
.abx-accordion-toggle { width: 100%; text-align: left; font-size: 20px; font-weight: 700; padding: 14px 18px; border: 0; background: none; cursor: pointer; position: relative; }
.abx-accordion-toggle .abx-accordion-chevron { float: right; font-size: 20px; color: #2f8f4a; }
.abx-accordion-content { padding: 12px 18px 24px 18px; }

/* Box row and cards */
.abx-box-row { display:flex; flex-wrap:wrap; gap:20px; align-items:flex-start; }
.abx-box-card { flex: 1 1 calc(33.333% - 20px); background:#f7f7f7; border-radius:6px; padding:22px; box-shadow: 0 1px 0 rgba(0,0,0,0.03); position:relative; text-align:center; min-width:220px; }
@media (max-width:800px) {
  .abx-box-card { flex: 1 1 100%; }
}

/* Ribbon */
.abx-ribbon { position:absolute; right: -36px; top: 12px; background:#e74c3c; color:#fff; padding:6px 48px; transform: rotate(45deg); font-weight:700; box-shadow:0 1px 2px rgba(0,0,0,0.1); }

/* Content */
.abx-box-title { font-size:18px; margin:20px 0 8px; }
.abx-box-desc { font-size:14px; color:#333; line-height:1.4; margin-bottom:16px; }

/* Button */
.abx-box-btn { display:inline-block; padding:10px 18px; background:#ff8c2b; color:#fff; border-radius:6px; text-decoration:none; font-weight:700; }
