/* ============================================================
   SHORTFORGE EXTRA â€” comments, contact forms, forced overrides
   Loaded LAST so it overrides all plugin styles
   ============================================================ */

/* ===================================================
   COMMENTS SECTION
=================================================== */
#comments.comments-area,
.comments-area {
  margin-top: 36px !important;
  padding: 36px 40px !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.07) !important;
  border-top: 3px solid #e94560 !important;
}

.comments-title,
#comments .comments-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  color: #1a1a2e !important;
  margin-bottom: 24px !important;
  padding-bottom: 14px !important;
  border-bottom: 2px solid #eef0f4 !important;
  display: block !important;
}

/* Comment list */
.comment-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 30px !important;
}
.comment-list li.comment {
  margin-bottom: 18px !important;
  list-style: none !important;
}
.comment-body {
  background: #f7f8fc !important;
  border-radius: 10px !important;
  padding: 18px 20px !important;
  border: 1px solid #eef0f4 !important;
}
.comment-author.vcard {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}
.comment-author img,
.comment-author .avatar {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 2px solid #e94560 !important;
  flex-shrink: 0 !important;
}
.comment-author .fn,
.comment-author b.fn {
  font-weight: 700 !important;
  font-size: .95rem !important;
  color: #1a1a2e !important;
}
.comment-metadata {
  font-size: .78rem !important;
  color: #888 !important;
  margin-bottom: 8px !important;
}
.comment-content p {
  font-size: .92rem !important;
  line-height: 1.75 !important;
  color: #444 !important;
  margin-bottom: 0 !important;
}
.reply a.comment-reply-link {
  display: inline-block !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  color: #e94560 !important;
  background: rgba(233,69,96,.08) !important;
  border: 1px solid rgba(233,69,96,.2) !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
  margin-top: 8px !important;
  text-decoration: none !important;
}
.reply a.comment-reply-link:hover {
  background: #e94560 !important;
  color: #fff !important;
}
.children {
  list-style: none !important;
  padding-left: 28px !important;
  margin-top: 12px !important;
  border-left: 3px solid #e94560 !important;
}

/* Leave a Reply */
#respond.comment-respond {
  margin-top: 32px !important;
  padding-top: 28px !important;
  border-top: 2px dashed #eef0f4 !important;
}
#respond h3#reply-title,
.comment-respond h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #1a1a2e !important;
  margin-bottom: 18px !important;
}
p.logged-in-as,
p.comment-notes {
  font-size: .85rem !important;
  color: #888 !important;
  background: #f7f8fc !important;
  padding: 10px 14px !important;
  border-left: 3px solid #e94560 !important;
  border-radius: 0 6px 6px 0 !important;
  margin-bottom: 18px !important;
}
p.logged-in-as a { color: #e94560 !important; font-weight: 600 !important; }

/* Comment form inputs */
.comment-form p { margin-bottom: 16px !important; }
.comment-form label {
  display: block !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  margin-bottom: 6px !important;
}
#commentform input[type="text"],
#commentform input[type="email"],
#commentform input[type="url"],
#commentform textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  width: 100% !important;
  border: 2px solid #e2e4eb !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .92rem !important;
  color: #333 !important;
  background: #f7f8fc !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}
#commentform input[type="text"]:focus,
#commentform input[type="email"]:focus,
#commentform input[type="url"]:focus,
#commentform textarea:focus,
.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form textarea:focus {
  border-color: #e94560 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(233,69,96,.12) !important;
}
#commentform textarea, .comment-form textarea {
  height: 140px !important;
  resize: vertical !important;
}
#commentform .submit,
.comment-form .submit,
#commentform input[type="submit"],
.comment-form input[type="submit"] {
  background: linear-gradient(135deg, #e94560, #c73652) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 13px 36px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(233,69,96,.35) !important;
  -webkit-appearance: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
#commentform .submit:hover,
.comment-form .submit:hover,
#commentform input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(233,69,96,.45) !important;
}

@media (max-width: 640px) {
  #comments.comments-area, .comments-area { padding: 20px 16px !important; }
  .children { padding-left: 16px !important; }
}

/* ===================================================
   CONTACT FORM 7
=================================================== */
.wpcf7 form,
div.wpcf7 form.wpcf7-form {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 32px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.09) !important;
  border-top: 4px solid #e94560 !important;
}
.wpcf7 p {
  margin-bottom: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}
.wpcf7 label {
  font-size: .8rem !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-bottom: 5px !important;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea,
div.wpcf7 input[type="text"],
div.wpcf7 input[type="email"],
div.wpcf7 textarea {
  width: 100% !important;
  border: 2px solid #e2e4eb !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .95rem !important;
  color: #333 !important;
  background: #f7f8fc !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  border-color: #e94560 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(233,69,96,.12) !important;
}
.wpcf7 textarea { height: 150px !important; resize: vertical !important; }
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
  background: linear-gradient(135deg, #e94560, #c73652) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 13px 40px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(233,69,96,.35) !important;
  -webkit-appearance: none !important;
  transition: transform .2s, box-shadow .2s !important;
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(233,69,96,.45) !important;
}
.wpcf7-not-valid-tip {
  color: #e94560 !important;
  font-size: .8rem !important;
  margin-top: 4px !important;
}
.wpcf7-response-output {
  border: 2px solid #e94560 !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: .88rem !important;
  margin-top: 14px !important;
  background: rgba(233,69,96,.05) !important;
}

/* ===================================================
   WPFORMS
=================================================== */
.wpforms-container .wpforms-form,
.wpforms-form {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 32px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.09) !important;
  border-top: 4px solid #e94560 !important;
}
.wpforms-field-label {
  font-size: .8rem !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-bottom: 5px !important;
}
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="tel"],
.wpforms-form input[type="url"],
.wpforms-form select,
.wpforms-form textarea {
  width: 100% !important;
  border: 2px solid #e2e4eb !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .95rem !important;
  color: #333 !important;
  background: #f7f8fc !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.wpforms-form input:focus,
.wpforms-form select:focus,
.wpforms-form textarea:focus {
  border-color: #e94560 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(233,69,96,.12) !important;
}
.wpforms-form textarea { height: 150px !important; resize: vertical !important; }
.wpforms-form .wpforms-submit,
.wpforms-submit-container button[type="submit"] {
  background: linear-gradient(135deg, #e94560, #c73652) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 13px 40px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(233,69,96,.35) !important;
  -webkit-appearance: none !important;
  transition: transform .2s, box-shadow .2s !important;
}
.wpforms-form .wpforms-submit:hover { transform: translateY(-2px) !important; }

@media (max-width: 640px) {
  .wpcf7 form, .wpforms-form { padding: 20px 16px !important; }
}

/* ===================================================
   PAGINATION — Universal (Home + Category + Archive)
   Forces horizontal row of buttons everywhere
=================================================== */
.pagination,
nav.pagination,
.nav-links,
.page-numbers-wrap {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 30px 0 10px !important;
  list-style: none !important;
}

/* Every page number / arrow */
.pagination a,
.pagination span,
.pagination .page-numbers,
.nav-links a,
.nav-links span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  background: #ffffff !important;
  border: 1.5px solid #e2e4eb !important;
  color: #333 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.06) !important;
  transition: all .2s ease !important;
  text-decoration: none !important;
}

/* Hover state */
.pagination a:hover,
.nav-links a:hover {
  background: #e94560 !important;
  border-color: #e94560 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(233,69,96,.35) !important;
  transform: translateY(-1px) !important;
}

/* Current/active page */
.pagination .current,
.pagination span.current,
.nav-links span.current {
  background: #e94560 !important;
  border-color: #e94560 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(233,69,96,.35) !important;
}

/* Dots (...) */
.pagination .dots,
.pagination span.dots,
.nav-links .dots {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: #aaa !important;
  min-width: auto !important;
}

/* Remove any UL/LI list styles inside nav pagination */
.pagination ul,
.nav-links ul { 
  display: flex !important; 
  flex-direction: row !important; 
  list-style: none !important; 
  padding: 0 !important; 
  margin: 0 !important;
  gap: 8px !important;
}
.pagination ul li,
.nav-links ul li { list-style: none !important; }

/* ===================================================
   FOOTER BOTTOM BAR — Center copyright text
=================================================== */
.footer-bottom {
  text-align: center !important;
}
.footer-bottom-inner {
  justify-content: center !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  text-align: center !important;
}
.footer-bottom-left {
  flex: none !important;
  text-align: center !important;
  width: 100% !important;
}
.footer-bottom-center {
  text-align: center !important;
  width: 100% !important;
}
.footer-bottom-right {
  justify-content: center !important;
  width: 100% !important;
}

/* Footer bottom — single centered copyright (no links) */
.footer-bottom-only {
  width: 100% !important;
  text-align: center !important;
  font-size: .85rem !important;
  color: rgba(255,255,255,.55) !important;
}
.footer-bottom-only a {
  color: #e94560 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.footer-bottom-only a:hover { text-decoration: underline !important; }

/* ===================================================
   CATEGORY BADGE — Smooth hover animation, never invisible
=================================================== */

/* Base badge — always visible */
a.badge,
.badge,
.post-card-thumb .badge,
.hero-main-overlay .badge,
.hero-side-card-body .badge,
.article-cat .badge {
  display: inline-block !important;
  padding: 4px 12px !important;
  background: #e94560 !important;
  color: #ffffff !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  border: 2px solid transparent !important;
  box-shadow: 0 2px 8px rgba(233,69,96,.3) !important;
  transition: background .22s ease, color .22s ease, transform .18s ease, box-shadow .22s ease !important;
  cursor: pointer !important;
  line-height: 1.4 !important;
}

/* Hover — darken + lift, text ALWAYS white */
a.badge:hover,
.badge:hover,
.post-card-thumb .badge:hover,
.hero-main-overlay .badge:hover,
.hero-side-card-body .badge:hover,
.article-cat .badge:hover {
  background: #c73652 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-2px) scale(1.04) !important;
  box-shadow: 0 6px 18px rgba(233,69,96,.45) !important;
  border-color: transparent !important;
}

/* Focus state for accessibility */
a.badge:focus,
.badge:focus {
  outline: 2px solid #e94560 !important;
  outline-offset: 2px !important;
  color: #ffffff !important;
}

/* Badge on image overlay — extra glow on hover */
.hero-main-overlay .badge:hover {
  background: #ffffff !important;
  color: #e94560 !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.3) !important;
}

/* ===================================================
   FOOTER BOTTOM BAR LINKS — Hover Animations
=================================================== */
.footer-bottom-right a,
.footer-bottom-right a:link,
.footer-bottom-right a:visited {
  color: #e94560 !important;
  text-decoration: none !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
  padding: 3px 0 !important;
  position: relative !important;
  transition: color .25s ease, transform .2s ease !important;
  display: inline-block !important;
}

/* Underline slide-in animation */
.footer-bottom-right a::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background: #ffffff !important;
  border-radius: 2px !important;
  transition: width .28s ease !important;
}

/* On hover — text turns white + underline grows from left */
.footer-bottom-right a:hover {
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}
.footer-bottom-right a:hover::after {
  width: 100% !important;
}

/* Separator pipe — no animation */
.footer-sep,
.footer-bottom-right .footer-sep {
  color: rgba(255,255,255,.25) !important;
  margin: 0 2px !important;
  font-weight: 300 !important;
}

/* Copyright link hover */
.footer-bottom-only a:hover,
.footer-bottom-left a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
  transition: color .2s ease !important;
}

/* =====================================================
   HINDI + ENGLISH TYPOGRAPHY OPTIMIZATION
   Hind = Hindi + English both render beautifully
====================================================== */

/* Better line-height for Devanagari script in article body */
.article-content,
.article-content p,
.entry-content,
.entry-content p,
.post-content p {
  font-family: 'Hind', 'Noto Sans Devanagari', sans-serif !important;
  font-size: 1.06rem !important;
  line-height: 2.05 !important;
  color: #2c2c2c !important;
  word-spacing: 0.03em !important;
}

/* Headings in article — Mukta handles both scripts */
.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-title,
.article-header h1 {
  font-family: 'Mukta', 'Noto Sans Devanagari', 'Hind', sans-serif !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  word-spacing: 0.02em !important;
}

/* Post card titles — need more line-height for Hindi wrapping */
.post-card-body h3,
.post-card-body h3 a,
.hero-main-overlay h2,
.hero-side-card-body h3 {
  font-family: 'Mukta', 'Noto Sans Devanagari', sans-serif !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
}

/* Post excerpts */
.post-card-excerpt {
  font-family: 'Hind', 'Noto Sans Devanagari', sans-serif !important;
  line-height: 1.75 !important;
  font-size: .88rem !important;
}

/* Body text globally */
body,
p,
li,
span,
a {
  font-family: 'Hind', 'Noto Sans Devanagari', -apple-system, sans-serif !important;
}

/* Keep nav/buttons using Mukta for crisp look */
.primary-nav a,
.btn,
button,
.sf-widget,
.sf-widget-title,
.badge,
.widget-title {
  font-family: 'Mukta', 'Noto Sans Devanagari', sans-serif !important;
}

/* Article lists — important for Hindi bullet points */
.article-content ul li,
.article-content ol li {
  line-height: 2.0 !important;
  margin-bottom: 10px !important;
  font-family: 'Hind', 'Noto Sans Devanagari', sans-serif !important;
}

/* Article blockquote — Hindi needs more space */
.article-content blockquote {
  font-family: 'Hind', 'Noto Sans Devanagari', sans-serif !important;
  line-height: 2.0 !important;
  font-style: normal !important;
}
