/* =========================================================
   Review Website Manager – Frontend Styles
   ========================================================= */

/* ---- Base container ---- */
.rwm-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.rwm-container--with-sidebar {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
    align-items: start;
}
@media (max-width: 768px) {
    .rwm-container--with-sidebar {
        grid-template-columns: 1fr;
    }
}

/* ---- Buttons ---- */
.rwm-btn {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.1s;
    border: 2px solid transparent;
    font-size: 0.95rem;
}
.rwm-btn:hover { opacity: 0.9; transform: translateY(-1px); }
.rwm-btn--primary { background: #1a56db; color: #fff; border-color: #1a56db; }
.rwm-btn--secondary { background: #f3f4f6; color: #374151; border-color: #d1d5db; }
.rwm-btn--outline { background: transparent; color: #1a56db; border-color: #1a56db; }
.rwm-btn--sm { padding: 6px 12px; font-size: 0.85rem; }
.rwm-btn--large { padding: 14px 28px; font-size: 1.1rem; }

/* ---- Stars ---- */
.rwm-stars { display: inline-flex; gap: 2px; }
.rwm-star--full  { color: #f59e0b; }
.rwm-star--half  { color: #f59e0b; }
.rwm-star--empty { color: #d1d5db; }
.rwm-rating-value { font-weight: 700; margin-left: 6px; color: #374151; }

/* ---- Badges ---- */
.rwm-badge { display: inline-block; padding: 4px 10px; border-radius: 4px; font-size: 0.8rem; font-weight: 700; }
.rwm-badge--editors-pick { background: #fef3c7; color: #92400e; border: 1px solid #fcd34d; }

/* ---- Summary Box ---- */
.rwm-summary-box {
    background: #fff;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    padding: 28px;
    margin: 30px 0;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
}
.rwm-summary-box .rwm-badge { margin-bottom: 12px; }
.rwm-summary-box__logo { margin-bottom: 16px; }
.rwm-summary-box__logo img { max-height: 60px; width: auto; }
.rwm-summary-box__rating { display: flex; align-items: center; margin-bottom: 12px; font-size: 1.2rem; }
.rwm-summary-box__verdict { font-size: 1.05rem; color: #4b5563; font-style: italic; margin-bottom: 16px; }
.rwm-summary-box__meta { list-style: none; margin: 0 0 20px; padding: 0; }
.rwm-summary-box__meta li { padding: 6px 0; border-bottom: 1px solid #f3f4f6; font-size: 0.95rem; }
.rwm-summary-box .rwm-btn { width: 100%; text-align: center; margin-bottom: 12px; }
.rwm-disclaimer { font-size: 0.78rem; color: #9ca3af; margin-top: 12px; border-top: 1px solid #f3f4f6; padding-top: 10px; }

/* ---- Pros & Cons ---- */
.rwm-pros-cons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 28px 0;
}
@media (max-width: 540px) { .rwm-pros-cons { grid-template-columns: 1fr; } }
.rwm-pros, .rwm-cons { border-radius: 8px; padding: 20px; }
.rwm-pros { background: #f0fdf4; border: 1px solid #bbf7d0; }
.rwm-cons { background: #fff1f2; border: 1px solid #fecdd3; }
.rwm-pros__title { color: #15803d; margin-top: 0; }
.rwm-cons__title { color: #be123c; margin-top: 0; }
.rwm-pros ul, .rwm-cons ul { margin: 0; padding-left: 18px; }
.rwm-pros li, .rwm-cons li { margin-bottom: 6px; font-size: 0.95rem; }

/* ---- Key Features ---- */
.rwm-key-features {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: 20px 24px;
    margin: 24px 0;
}
.rwm-key-features h3 { margin-top: 0; color: #1e40af; }
.rwm-key-features ul { columns: 2; gap: 16px; list-style: none; padding: 0; margin: 0; }
.rwm-key-features li { margin-bottom: 8px; font-size: 0.95rem; break-inside: avoid; }
@media (max-width: 540px) { .rwm-key-features ul { columns: 1; } }

/* ---- Review Card ---- */
.rwm-reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
    margin: 24px 0;
}
.rwm-reviews-grid--top3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 768px) { .rwm-reviews-grid--top3 { grid-template-columns: 1fr; } }

.rwm-review-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: box-shadow 0.2s;
}
.rwm-review-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.10); }
.rwm-review-card--featured { border-color: #fcd34d; background: #fffbeb; }
.rwm-review-card__logo { height: 44px; width: auto; object-fit: contain; }
.rwm-review-card__logo--placeholder { font-weight: 700; font-size: 1rem; color: #6b7280; }
.rwm-review-card__title { margin: 0; font-size: 1rem; }
.rwm-review-card__title a { text-decoration: none; color: #111827; }
.rwm-review-card__title a:hover { color: #1a56db; }
.rwm-review-card__rating { display: flex; align-items: center; gap: 6px; font-size: 0.9rem; }
.rwm-review-card__verdict { color: #6b7280; font-size: 0.9rem; margin: 0; }
.rwm-review-card__actions { display: flex; gap: 8px; margin-top: auto; }
.rwm-review-card__actions .rwm-btn { flex: 1; text-align: center; }

/* ---- Archive Page ---- */
.rwm-archive-header { background: #f9fafb; border-bottom: 1px solid #e5e7eb; padding: 48px 0 36px; margin-bottom: 40px; }
.rwm-archive-header__title { margin: 0 0 10px; font-size: 2rem; }
.rwm-archive-header__intro { color: #6b7280; max-width: 620px; }
.rwm-section { margin-bottom: 48px; }
.rwm-section__title { font-size: 1.4rem; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #e5e7eb; }
.rwm-pagination { margin-top: 32px; text-align: center; }
.rwm-pagination .page-numbers { padding: 8px 14px; border: 1px solid #d1d5db; border-radius: 6px; margin: 0 4px; text-decoration: none; color: #374151; }
.rwm-pagination .current { background: #1a56db; color: #fff; border-color: #1a56db; }
.rwm-no-results { color: #9ca3af; font-style: italic; }

/* ---- Single Review ---- */
.rwm-single-review { margin: 40px auto; }
.rwm-review__header { margin-bottom: 16px; }
.rwm-review__title { font-size: 1.8rem; margin-bottom: 10px; }
.rwm-taxonomy-link { display: inline-block; margin: 2px; padding: 4px 10px; border-radius: 20px; font-size: 0.8rem; text-decoration: none; }
.rwm-taxonomy-link--cat { background: #dbeafe; color: #1e40af; }
.rwm-taxonomy-link--tag { background: #f3f4f6; color: #4b5563; }
.rwm-review__body { font-size: 1.02rem; line-height: 1.75; margin: 28px 0; }

/* ---- CTA Block ---- */
.rwm-cta-block {
    background: linear-gradient(135deg, #1a56db 0%, #1e40af 100%);
    color: #fff;
    border-radius: 12px;
    padding: 36px;
    text-align: center;
    margin: 36px 0;
}
.rwm-cta-block h3 { color: #fff; margin-top: 0; font-size: 1.4rem; }
.rwm-cta-block p  { color: rgba(255,255,255,0.85); }
.rwm-cta-block .rwm-btn--primary {
    background: #fff; color: #1a56db;
    border-color: #fff; padding: 14px 32px;
    font-size: 1.1rem;
}

/* ---- Author Box ---- */
.rwm-author-box { display: flex; gap: 16px; align-items: flex-start; background: #f9fafb; border-radius: 8px; padding: 20px; margin-bottom: 16px; }
.rwm-author-box img { border-radius: 50%; }
.rwm-editorial-policy { font-size: 0.9rem; color: #6b7280; padding: 12px 0; }

/* ---- Sidebar / Widgets ---- */
.rwm-single-review__sidebar { position: sticky; top: 24px; }
.rwm-widget-wrap { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 18px; margin-bottom: 20px; }
.rwm-widget-wrap h3 { margin-top: 0; font-size: 1rem; color: #111827; border-bottom: 1px solid #e5e7eb; padding-bottom: 10px; }

/* Compare list */
.rwm-compare-list { list-style: none; padding: 0; margin: 0; }
.rwm-compare-list__item { display: flex; align-items: center; gap: 8px; padding: 10px 0; border-bottom: 1px solid #f3f4f6; flex-wrap: wrap; }
.rwm-compare-list__item:last-child { border-bottom: none; }
.rwm-compare-list__rank { font-weight: 700; color: #9ca3af; min-width: 24px; }
.rwm-compare-list__item img { height: 28px; width: auto; }
.rwm-compare-list__rating { color: #f59e0b; font-weight: 700; font-size: 0.85rem; margin-left: auto; }
.rwm-compare-list__actions { display: flex; gap: 4px; width: 100%; }

/* Category list */
.rwm-category-list { list-style: none; padding: 0; margin: 0; }
.rwm-category-list li { padding: 8px 0; border-bottom: 1px solid #f3f4f6; display: flex; justify-content: space-between; align-items: center; }
.rwm-category-list li:last-child { border-bottom: none; }
.rwm-category-list a { text-decoration: none; color: #1a56db; font-size: 0.95rem; }
.rwm-category-list__count { color: #9ca3af; font-size: 0.8rem; }

/* Affiliate disclosure */
.rwm-affiliate-disclosure { background: #fffbeb; border: 1px solid #fcd34d; border-radius: 6px; padding: 14px; }
.rwm-affiliate-disclosure p { margin: 0; font-size: 0.85rem; color: #78350f; }

/* Rating badge */
.rwm-rating-badge { display: inline-flex; align-items: center; gap: 4px; }
