/* Rankers Home Tuition — Additional Styles */

/* Post Content Typography */
.post-content h1,.post-content h2,.post-content h3,.post-content h4 { margin:1.5rem 0 0.75rem; }
.post-content p { margin-bottom:1.25rem; }
.post-content ul,.post-content ol { padding-left:1.5rem; margin-bottom:1.25rem; }
.post-content li { margin-bottom:0.5rem; }
.post-content a { color:var(--primary); border-bottom:1px solid transparent; }
.post-content a:hover { border-bottom-color:var(--primary); }
.post-content blockquote { border-left:4px solid var(--primary); padding:1rem 1.5rem; background:var(--primary-light); border-radius:0 8px 8px 0; margin:1.5rem 0; font-style:italic; }
.post-content img { border-radius:var(--radius-sm); margin:1.5rem 0; }
.post-content table { width:100%; border-collapse:collapse; margin:1.5rem 0; }
.post-content th,.post-content td { padding:10px 14px; border:1px solid var(--border); font-size:0.9rem; }
.post-content th { background:var(--primary-light); font-weight:700; }
.post-content code { background:var(--bg-light); padding:2px 8px; border-radius:4px; font-size:0.88rem; }
.post-content pre { background:#1a1a2e; color:#e2e8f0; padding:1.5rem; border-radius:var(--radius-sm); overflow-x:auto; margin:1.5rem 0; }

/* Widget Styles */
.widget { margin-bottom:1.5rem; }
.widget-title { font-size:0.95rem; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:1rem; padding-bottom:0.5rem; border-bottom:2px solid var(--primary-light); color:var(--text-dark); }

/* Comment Styles */
.comments-area { margin-top:3rem; }
.comments-title { font-size:1.2rem; font-weight:700; margin-bottom:1.5rem; }
.comment-list { padding:0; }
.comment { list-style:none; margin-bottom:1.5rem; }
.comment-body { background:var(--bg-light); border-radius:var(--radius-sm); padding:1.25rem; }
.comment-author { display:flex; align-items:center; gap:10px; margin-bottom:0.75rem; }
.comment-author img { border-radius:50%; width:40px; height:40px; }
.comment-author .fn { font-weight:600; font-size:0.9rem; }
.comment-metadata { font-size:0.8rem; color:var(--text-light); }
.comment-content p { font-size:0.9rem; margin:0; }

/* Contact Form */
.contact-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:3rem; align-items:start; }
.contact-info-card { background:#fff; border:1.5px solid var(--border); border-radius:var(--radius-md); padding:28px; }
.contact-info-item { display:flex; align-items:flex-start; gap:14px; margin-bottom:1.5rem; }
.contact-info-icon { width:44px; height:44px; background:var(--primary-light); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
.contact-info-label { font-weight:700; font-size:0.85rem; margin-bottom:3px; }
.contact-info-value { font-size:0.9rem; color:var(--text-medium); }
.contact-map { margin-top:1.5rem; border-radius:var(--radius-sm); overflow:hidden; border:1.5px solid var(--border); }

/* Tutor Search Results Page */
.tutor-search-page { background:var(--bg-light); min-height:60vh; }
.tutor-results-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }

/* Membership Plans */
.membership-plan-card { border:2px solid var(--primary); border-radius:var(--radius-lg); padding:36px; text-align:center; position:relative; background:#fff; box-shadow:var(--shadow-md); }
.membership-plan-badge { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--accent); color:#fff; padding:6px 20px; border-radius:50px; font-size:0.8rem; font-weight:700; white-space:nowrap; }
.membership-price { font-size:3rem; font-weight:800; color:var(--primary); line-height:1; }
.membership-period { font-size:0.9rem; color:var(--text-light); margin-bottom:1.5rem; }
.membership-features { text-align:left; margin-bottom:2rem; }
.membership-feature { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--border); font-size:0.9rem; }
.membership-feature-check { color:#10b981; font-size:1.1rem; }

/* Profile verification badge */
.verified-chip { display:inline-flex; align-items:center; gap:5px; background:#f0fdf4; border:1px solid #86efac; color:#166534; font-size:0.78rem; font-weight:600; padding:4px 12px; border-radius:50px; }

/* Notification dot */
.notification-dot { width:8px; height:8px; background:var(--accent); border-radius:50%; display:inline-block; }

/* Status badges */
.badge-active { background:#f0fdf4; color:#166534; border:1px solid #86efac; font-size:0.75rem; font-weight:600; padding:3px 10px; border-radius:50px; }
.badge-expired { background:#fef2f2; color:#991b1b; border:1px solid #fca5a5; font-size:0.75rem; font-weight:600; padding:3px 10px; border-radius:50px; }
.badge-pending { background:#fffbeb; color:#92400e; border:1px solid #fcd34d; font-size:0.75rem; font-weight:600; padding:3px 10px; border-radius:50px; }

/* Loading states */
.skeleton { background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%); background-size:200% 100%; animation:skeleton 1.5s infinite; border-radius:var(--radius-sm); }
@keyframes skeleton { 0%{background-position:200%} 100%{background-position:-200%} }

/* Print styles */
@media print {
    #site-header, #site-footer, .cta-section, #back-to-top { display:none !important; }
    body { font-size:12pt; color:#000; }
    a { color:#000; }
}

/* Elementor compatibility */
.elementor-page #site-header { position:sticky !important; }

/* WooCommerce basic compatibility */
.woocommerce .button { display:inline-flex; align-items:center; gap:8px; padding:13px 28px; border-radius:var(--radius-sm); font-size:0.95rem; font-weight:600; cursor:pointer; background:var(--primary); color:#fff; border:none; transition:all var(--transition); text-decoration:none; }
.woocommerce .button:hover { background:var(--primary-dark); color:#fff; }
