.favorites-page{padding:var(--space-xl) 0 var(--space-4xl)}.favorites-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-2xl);flex-wrap:wrap;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xl)}.favorites-eyebrow{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);display:block;margin-bottom:var(--space-xs)}.page-title{font-family:Manrope,sans-serif;font-size:clamp(1.85rem,3.5vw,2.5rem);font-weight:800;color:var(--color-text);margin-bottom:var(--space-xs);line-height:1.2}.page-subtitle{color:var(--color-text-secondary);font-size:1.05rem}.favorites-header__actions{display:flex;gap:var(--space-md);align-items:center;flex-wrap:wrap}.fav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-xl);margin-bottom:var(--space-4xl)}.fav-card{background:var(--glass-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md);box-shadow:var(--glass-shadow);backdrop-filter:var(--backdrop-blur);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);position:relative}.fav-card:hover{transform:translateY(-4px);border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.fav-card__top{display:flex;justify-content:space-between;align-items:center}.fav-card__school-badge .school-link,.fav-card__school-badge .school-name{font-size:.8rem;font-weight:700;color:var(--color-primary);text-decoration:none;background:#0f766e1a;padding:.25rem .65rem;border-radius:var(--radius-full);border:1px solid rgba(15,118,110,.25);display:inline-block;transition:background var(--transition-fast)}.fav-card__school-badge .school-link:hover{background:#0f766e33}.fav-remove-btn{background:none;border:none;font-size:1.35rem;cursor:pointer;padding:4px;line-height:1;transition:transform var(--transition-fast),opacity var(--transition-fast);opacity:.9}.fav-remove-btn:hover{transform:scale(1.2);opacity:1}.fav-card__title{font-family:Manrope,sans-serif;font-size:1.15rem;font-weight:700;color:var(--color-text);text-decoration:none;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color var(--transition-fast);min-height:3.2em}.fav-card__title:hover{color:var(--color-primary)}.fav-card__badges{display:flex;flex-wrap:wrap;gap:.4rem}.badge{font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:var(--radius-sm)}.badge--discount{background:var(--color-danger);color:#fff;font-weight:700}.badge--meta{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.badge--feature{background:#38bdf81f;color:#0284c7;border:1px solid rgba(56,189,248,.25)}[data-theme=dark] .badge--feature{color:#38bdf8}.fav-card__pricing{margin-top:auto;padding-top:var(--space-sm);border-top:1px dashed var(--color-border);display:flex;flex-direction:column;gap:.25rem}.pricing-main{display:flex;align-items:baseline;gap:var(--space-sm)}.price-current{font-size:1.35rem;font-weight:800;color:var(--color-text)}.price-old{font-size:.9rem;color:var(--color-text-muted);text-decoration:line-through}.pricing-credit{font-size:.85rem;color:var(--color-text-secondary)}.pricing-credit strong{color:var(--color-primary)}.fav-card__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-xs)}.action-btn-main{flex:1.4;text-align:center;white-space:nowrap}.fav-compare-btn{flex:1;text-align:center;font-size:.8rem;padding:.4rem .6rem}.fav-compare-btn.active{background:#0ea5e926;color:var(--color-primary);border-color:var(--color-primary);font-weight:700}.favorites-advice-section{border-top:1px solid var(--color-border);padding-top:var(--space-3xl)}.section-title{font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:800;color:var(--color-text);margin-bottom:var(--space-xl)}.advice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.advice-card{background:var(--glass-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm)}.advice-card__icon{font-size:2rem}.advice-card__title{font-family:Manrope,sans-serif;font-size:1.1rem;font-weight:700;color:var(--color-text)}.advice-card__text{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5}.loading-state{text-align:center;padding:var(--space-4xl)}.loader{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-lg)}@keyframes spin{to{transform:rotate(360deg)}}.favorites-empty{text-align:center;padding:var(--space-4xl) var(--space-xl);background:var(--glass-bg);border:1px dashed var(--color-border);border-radius:var(--radius-xl);max-width:680px;margin:var(--space-xl) auto var(--space-3xl)}.favorites-empty__icon{font-size:4rem;margin-bottom:var(--space-md);opacity:.8}.favorites-empty__title{font-family:Manrope,sans-serif;font-size:1.6rem;font-weight:800;margin-bottom:var(--space-sm);color:var(--color-text)}.favorites-empty__text{color:var(--color-text-secondary);margin-bottom:var(--space-xl);line-height:1.6;font-size:1rem}.favorites-empty__categories{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-md);align-items:center}.categories-label{font-size:.85rem;color:var(--color-text-muted);font-weight:600}.categories-chips{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}.chip{background:var(--color-bg-secondary);border:1px solid var(--color-border);padding:.4rem .85rem;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-fast)}.chip:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}@media(max-width:900px){.advice-grid{grid-template-columns:1fr}}@media(max-width:640px){.favorites-header{flex-direction:column;align-items:flex-start}.favorites-header__actions{width:100%}.favorites-header__actions .btn{flex:1}.fav-grid{grid-template-columns:1fr}}
