/* ============================================
   Tools Page Specific Styles
   ============================================ */

/* Horoscope Tabs */
.horoscope-tabs { display:flex; justify-content:center; gap:8px; margin-bottom:25px; }
.htab { padding:10px 24px; border-radius:10px; border:1px solid var(--border); background:var(--bg-card); color:var(--text-muted); font-family:'Poppins',sans-serif; font-size:0.85rem; font-weight:600; cursor:pointer; transition:all 0.3s ease; }
.htab:hover { border-color:var(--primary); color:var(--text); }
.htab.active { background:var(--gradient-1); color:white; border-color:transparent; box-shadow:0 4px 15px rgba(139,92,246,0.3); }

/* Rashi Grid */
.rashi-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; }
.rashi-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:20px 15px; text-align:center; cursor:pointer; transition:all 0.3s ease; }
.rashi-card:hover { transform:translateY(-4px); border-color:var(--primary); box-shadow:var(--shadow); }
.rashi-card.active { border-color:var(--secondary); background:rgba(245,158,11,0.05); }
.rashi-icon { font-size:2rem; margin-bottom:6px; display:block; }
.rashi-name { font-weight:600; font-size:0.85rem; color:var(--text); }
.rashi-hindi { font-size:0.75rem; color:var(--text-dim); }

/* Horoscope Detail */
.horoscope-detail { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:30px; margin-top:20px; animation:fadeInUp 0.5s ease; }
.horo-header { display:flex; align-items:center; gap:15px; margin-bottom:20px; padding-bottom:15px; border-bottom:1px solid var(--border); }
.horo-header .rashi-icon { font-size:2.5rem; }
.horo-title { font-family:'Cinzel',serif; font-size:1.3rem; color:var(--secondary); }
.horo-date { font-size:0.8rem; color:var(--text-dim); }
.horo-content { color:var(--text-muted); line-height:1.9; font-size:0.95rem; }
.horo-meters { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; margin-top:20px; }
.horo-meter { background:var(--bg-input); border-radius:var(--radius-sm); padding:12px; text-align:center; }
.horo-meter-label { font-size:0.75rem; color:var(--text-dim); text-transform:uppercase; margin-bottom:5px; }
.horo-meter-stars { color:var(--gold); font-size:0.85rem; }
.horo-share { margin-top:20px; display:flex; gap:10px; }

/* Lucky Today */
.lucky-today-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:30px; display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px; }
.lucky-today-item { text-align:center; padding:20px; background:var(--bg-input); border-radius:var(--radius-sm); transition:all 0.3s ease; }
.lucky-today-item:hover { transform:translateY(-3px); }
.lucky-today-icon { font-size:1.5rem; margin-bottom:8px; }
.lucky-today-label { font-size:0.72rem; color:var(--text-dim); text-transform:uppercase; letter-spacing:0.5px; }
.lucky-today-value { font-size:1.2rem; font-weight:700; font-family:'Cinzel',serif; color:var(--primary-light); margin-top:4px; }

/* Tool Result Cards */
.tool-result { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:30px; margin-top:20px; text-align:center; animation:fadeInUp 0.5s ease; }
.tool-score { font-size:4rem; font-weight:900; font-family:'Cinzel',serif; margin-bottom:10px; }
.tool-score.good { color:var(--success); }
.tool-score.avg { color:var(--secondary); }
.tool-score.bad { color:var(--danger); }
.tool-verdict { font-size:1.1rem; font-weight:600; margin-bottom:8px; }
.tool-desc { color:var(--text-muted); line-height:1.8; max-width:600px; margin:0 auto; font-size:0.9rem; }
.tool-details { text-align:left; margin-top:20px; background:var(--bg-input); border-radius:var(--radius-sm); padding:20px; }
.tool-details h4 { color:var(--secondary); margin-bottom:10px; }
.tool-details p { color:var(--text-muted); font-size:0.85rem; line-height:1.7; margin-bottom:8px; }

/* Love Result */
.love-heart-anim { font-size:5rem; color:#ec4899; animation:heartbeat 1s ease infinite; display:block; margin-bottom:10px; }

/* Baby Names */
.baby-names-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; margin-top:15px; }
.baby-name-card { background:var(--bg-input); border:1px solid var(--border); border-radius:var(--radius-sm); padding:14px; display:flex; justify-content:space-between; align-items:center; transition:all 0.3s ease; }
.baby-name-card:hover { transform:translateX(4px); border-color:var(--primary); }
.baby-name-text { font-weight:600; color:var(--text); font-size:0.95rem; }
.baby-name-num { color:var(--primary-light); font-size:0.8rem; font-weight:600; }
.baby-name-meaning { font-size:0.75rem; color:var(--text-dim); }

/* Dream Cards */
.dream-results { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; margin-top:15px; }
.dream-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:20px; cursor:pointer; transition:all 0.3s ease; }
.dream-card:hover { transform:translateY(-3px); border-color:var(--primary); }
.dream-keyword { font-weight:700; color:var(--secondary); font-size:1rem; margin-bottom:6px; }
.dream-meaning { color:var(--text-muted); font-size:0.85rem; line-height:1.6; }
.dream-category { font-size:0.7rem; color:var(--text-dim); margin-top:6px; text-transform:uppercase; }

/* Festival Calendar */
.festival-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.festival-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:18px; display:flex; gap:14px; align-items:flex-start; transition:all 0.3s ease; }
.festival-card:hover { transform:translateY(-2px); }
.festival-date-box { min-width:55px; text-align:center; background:var(--gradient-2); border-radius:10px; padding:8px; color:white; }
.festival-day { font-size:1.4rem; font-weight:900; font-family:'Cinzel',serif; line-height:1; }
.festival-month { font-size:0.65rem; text-transform:uppercase; letter-spacing:1px; }
.festival-info h4 { font-size:0.9rem; color:var(--text); margin-bottom:3px; }
.festival-info p { font-size:0.78rem; color:var(--text-muted); line-height:1.4; }
.festival-type { display:inline-block; font-size:0.65rem; padding:2px 8px; border-radius:10px; margin-top:4px; }
.festival-type.major { background:rgba(245,158,11,0.15); color:var(--secondary); }
.festival-type.vrat { background:rgba(139,92,246,0.15); color:var(--primary-light); }
.festival-type.muhurta { background:rgba(16,185,129,0.15); color:var(--success); }

/* Biorhythm */
.bio-chart { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:20px; margin-top:15px; }
.bio-canvas { width:100%; height:250px; }
.bio-legend { display:flex; justify-content:center; gap:20px; margin-top:15px; }
.bio-legend-item { display:flex; align-items:center; gap:6px; font-size:0.8rem; color:var(--text-muted); }
.bio-legend-dot { width:12px; height:12px; border-radius:50%; }
.bio-today-values { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin-top:15px; }
.bio-value-card { text-align:center; padding:15px; background:var(--bg-input); border-radius:var(--radius-sm); }
.bio-value-label { font-size:0.72rem; color:var(--text-dim); text-transform:uppercase; }
.bio-value-num { font-size:1.5rem; font-weight:700; font-family:'Cinzel',serif; }
.bio-value-num.positive { color:var(--success); }
.bio-value-num.negative { color:var(--danger); }

/* Celebrity Grid */
.celeb-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; }
.celeb-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:20px; text-align:center; cursor:pointer; transition:all 0.3s ease; }
.celeb-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--primary); }
.celeb-emoji { font-size:2.5rem; margin-bottom:8px; display:block; }
.celeb-name { font-weight:600; font-size:0.95rem; color:var(--text); }
.celeb-sign { font-size:0.8rem; color:var(--primary-light); margin-top:3px; }
.celeb-detail { display:none; margin-top:12px; text-align:left; padding-top:12px; border-top:1px solid var(--border); }
.celeb-detail.show { display:block; animation:fadeInUp 0.3s ease; }
.celeb-detail p { font-size:0.82rem; color:var(--text-muted); line-height:1.6; margin-bottom:5px; }

/* Light theme */
body.light-theme .rashi-card { background:rgba(255,255,255,0.8); border-color:rgba(0,0,0,0.06); }
body.light-theme .rashi-name { color:#1e1e2e; }
body.light-theme .horoscope-detail { background:rgba(255,255,255,0.85); border-color:rgba(0,0,0,0.06); }
body.light-theme .horo-content { color:#4a4a6a; }
body.light-theme .htab { background:rgba(255,255,255,0.8); border-color:rgba(0,0,0,0.08); color:#4a4a6a; }
body.light-theme .lucky-today-card { background:rgba(255,255,255,0.85); border-color:rgba(0,0,0,0.06); }
body.light-theme .lucky-today-item { background:#f5f5fa; }
body.light-theme .tool-result { background:rgba(255,255,255,0.85); border-color:rgba(0,0,0,0.06); }
body.light-theme .tool-details { background:#f5f5fa; }
body.light-theme .dream-card { background:rgba(255,255,255,0.8); border-color:rgba(0,0,0,0.06); }
body.light-theme .festival-card { background:rgba(255,255,255,0.8); border-color:rgba(0,0,0,0.06); }
body.light-theme .baby-name-card { background:#f5f5fa; border-color:rgba(0,0,0,0.06); }
body.light-theme .bio-chart { background:rgba(255,255,255,0.85); border-color:rgba(0,0,0,0.06); }
body.light-theme .celeb-card { background:rgba(255,255,255,0.8); border-color:rgba(0,0,0,0.06); }

/* Fix single input sections - center everything */
.input-card .form-group {
    text-align: center;
}

.input-card .form-group label {
    text-align: left;
    display: block;
}

.input-card .form-group input,
.input-card .form-group select {
    width: 100%;
}

.input-card .btn-full {
    display: block;
}

@media(max-width:768px) {
    .rashi-grid { grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); }
    .rashi-card { padding:14px 10px; }
    .rashi-icon { font-size:1.5rem; }
    .horo-meters { grid-template-columns:1fr 1fr; }
    .bio-today-values { grid-template-columns:1fr; }
}
