/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Child theme for GeneratePress
 Author:       Your Name
 Author URI:   https://example.com
 Template:     generatepress
 Version:      1.1.0
 License:      GNU General Public License v2 or later
 License URI:  https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  generatepress-child
*/

/* ==========================================================
   Custom CSS (moved from Code Snippets plugin)
   GeneratePress loads this file automatically.
   ========================================================== */

.post-grid-footer .gb-loop-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* Sabse last item ka border hatao (mobile + desktop dono) */
.post-grid .gb-loop-item:last-child {
  border-bottom: none;
  padding-bottom: 0; /* optional: last row ki extra spacing bhi khatam */
}

/* Desktop (2 columns): last row ke dono items ka border hatao */
@media (min-width: 768px) {
  .post-grid .gb-loop-item:nth-child(odd):nth-last-child(2) {
    border-bottom: none;
    padding-bottom: 0; /* optional */
  }
}

/* Show only 2 lines */
.custom-2-lines {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Show only 3 lines */
.custom-3-lines {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}




/* Premium Blockquote Design */
body.single-post .dynamic-entry-content blockquote.wp-block-quote {
    position: relative;
    margin: 40px 0;
    padding: 30px 32px 30px 38px;
    background: var(--base-3);
    border-left: 5px solid;
border-image: linear-gradient(
  to bottom,
  var(--accent),
  var(--accent-3)
) 1;
    border-radius: 0 12px 12px 0;
    
}

/* Decorative quotation mark */
body.single-post .dynamic-entry-content blockquote.wp-block-quote::before {
    content: "“";
    display: block;
    color: var(--accent-2);
    font-size: 58px;
    font-weight: 700;
    line-height: 0.8;
    margin-bottom: 10px;
}

/* Quote text */
body.single-post .dynamic-entry-content blockquote.wp-block-quote p {
    margin: 0;
    color: #263244;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.7;
    font-style: italic;
}

/* Mobile responsive */
@media (max-width: 768px) {
    body.single-post .dynamic-entry-content blockquote.wp-block-quote {
        margin: 30px 0;
        padding: 24px 20px 24px 24px;
    }

    body.single-post .dynamic-entry-content blockquote.wp-block-quote p {
        font-size: 18px;
    }
}

/* GeneratePress - Single Posts Only */
/* H2: 60px top margin */
body.single-post .dynamic-entry-content h2 {
    margin-top: 50px !important;
}

/* H3: 50px top margin */
body.single-post .dynamic-entry-content h3 {
    margin-top: 30px !important;
}




/* Table */
.wp-block-table,
.wp-block-table table,
.wp-block-table table.has-fixed-layout {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

.wp-block-table table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  background: var(--base-2);
  table-layout: auto !important;
  text-align: left !important;
}

.wp-block-table table thead th {
  padding: 14px 20px !important;
  font-weight: 700 !important;
  color: var(--contrast-2) !important;
  letter-spacing: 0 !important;
  border: none !important;
  background: var(--base-3);
  word-break: keep-all !important;
}

.wp-block-table table tbody td {
  padding: 14px 20px !important;
  color: var(--contrast-2) !important;
  border-top: 1px solid var(--contrast-4) !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  background: var(--base-2) !important;
  word-break: keep-all !important;
}



.wp-block-table table tbody tr:nth-child(odd) td {
  background: var(--base) !important;
}

.wp-block-table table tbody tr:nth-child(even) td {
  background: var(--base-3) !important;
}

.wp-block-table table td {
  vertical-align: top !important;
}

.wp-block-table::-webkit-scrollbar {
  height: 5px !important;
}

.wp-block-table::-webkit-scrollbar-track {
  background: #f1f1f1 !important;
  margin-top: 5px !important;
}

.wp-block-table::-webkit-scrollbar-thumb {
  background: #c1c1c1 !important;
}

.wp-block-table::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8 !important;
}

@media (max-width: 768px) {
  .wp-block-table table thead th,
  .wp-block-table table tbody td {
    padding: 12px 18px !important;
  }
  .wp-block-table table {
    font-size: 15px !important;
  }
}

figure.wp-block-table {
  margin: 2rem 0 !important;
}





@media (min-width: 768px) {
  .sticky-searchbar {
    display: none !important;
  }
}

.sticky-searchbar {
  position: sticky;
  top: 0;
  z-index: 9999;
  
  width: 100%;
}




button.gb-menu-toggle {
	position: relative;
	transition: background-color .25s ease, color .25s ease, box-shadow .25s ease, transform .15s ease !important;
}

button.gb-menu-toggle:active {
	transform: scale(.94) !important;
}



button.gb-menu-toggle .gb-menu-open-icon,
button.gb-menu-toggle .gb-menu-close-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	transition: opacity .2s ease, transform .3s cubic-bezier(.34,1.56,.64,1) !important;
}

button.gb-menu-toggle .gb-menu-open-icon {
	opacity: 1 !important;
	transform: rotate(0) scale(1) !important;
}

button.gb-menu-toggle .gb-menu-close-icon {
	position: absolute !important;
	top: 50%;
	left: 50%;
	opacity: 0 !important;
	transform: translate(-50%, -50%) rotate(-45deg) scale(.4) !important;
}

button.gb-menu-toggle.gb-menu-toggle--toggled .gb-menu-open-icon,
button.gb-menu-toggle[aria-expanded="true"] .gb-menu-open-icon {
	opacity: 0 !important;
	transform: rotate(45deg) scale(.4) !important;
}

button.gb-menu-toggle.gb-menu-toggle--toggled .gb-menu-close-icon,
button.gb-menu-toggle[aria-expanded="true"] .gb-menu-close-icon {
	opacity: 1 !important;
	transform: translate(-50%, -50%) rotate(0) scale(1) !important;
}

@media (prefers-reduced-motion: reduce) {
	button.gb-menu-toggle,
	button.gb-menu-toggle .gb-menu-open-icon,
	button.gb-menu-toggle .gb-menu-close-icon {
		transition: none !important;
	}
}


/* ==========================================================
   Comments section styling (moved from PHP snippet)
   ========================================================== */

#comments {
  --c-radius: 18px;
  --c-max: 760px;
  --c-gap: 1.15rem;
  --c-avatar: 46px;
  --c-indent: 1.6rem;
  --c-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M10 9V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z%22/%3E%3C/svg%3E");

  width: 100%;
  max-width: var(--c-max);
  margin: 2.25rem auto 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  color: var(--contrast-2);
  font-size: 0.97rem;
}

#comments *,
#comments *::before,
#comments *::after {
  box-sizing: border-box;
}

.comments-title,
#comments .comments-title,
#comments h2.comments-title,
#comments > h2:first-child,
#comments > h3:first-child {
  display: flex !important;
  align-items: center;
  gap: 0.8rem;
  margin: 0 0 1.4rem !important;
  padding: 0 0 1rem !important;
  font-size: clamp(1.5rem, 1.25rem + 1.1vw, 2rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em;
  color: var(--contrast) !important;
  border-bottom: 1px solid var(--base-5);
}

.comments-title::before,
#comments > h2:first-child::before,
#comments > h3:first-child::before {
  content: "";
  flex: 0 0 auto;
  width: 6px;
  height: 1.15em;
  border-radius: 999px;
  background: var(--accent);
  background: linear-gradient(180deg, var(--accent), var(--accent-2));
}

#comments .comments-count {
  font-size: 0.72em;
}

#comments h3.comment-reply-title,
#comments .comment-reply-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0 0 0.75rem;
  padding: 0;
  font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.4rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--contrast);
}

#comments .comment-reply-title small {
  flex: 0 0 auto;
  margin: 0 0 0 auto;
  font-size: inherit;
  line-height: 1;
}

#comments .comment-list,
#comments .children {
  list-style: none;
  margin: 0;
  padding: 0;
}

#comments li.comment {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  scroll-margin-top: 5rem;
}

#comments .comment-list > li.comment {
  padding: var(--c-gap) 0;
}

#comments .comment-list > li.comment:first-child {
  padding-top: 0;
}

#comments .comment-list > li.comment:last-child {
  padding-bottom: 0;
}

#comments .comment-list > li.comment + li.comment {
  border-top: 1px solid var(--base-5);
}

#comments .children {
  margin: 1rem 0 0;
  padding: 0 0 0 var(--c-indent);
  border: 0;
  border-left: 1px solid var(--base-5);
  background: none;
}

#comments .children > li.comment {
  margin: 0;
  padding: 0;
  border: 0;
}

#comments .children > li.comment + li.comment {
  margin-top: 1rem;
}

#comments .comment-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 0.75rem;
  row-gap: 0.7rem;
  align-items: center;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  font-size: 0.97rem;
  line-height: 1.7;
  color: var(--contrast-2);
}

#comments .comment-content {
  display: contents;
}

#comments .comment-meta {
  grid-column: 1;
  grid-row: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 0.85rem;
  row-gap: 0.6rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}

#comments .comment-meta .avatar {
  display: block;
  float: none;
  flex: 0 0 auto;
  width: var(--c-avatar);
  height: var(--c-avatar);
  margin: 0;
  padding: 0;
  border-radius: 50%;
  object-fit: cover;
  background: var(--base-3);
  box-shadow: 0 0 0 2px var(--base), 0 0 0 3px var(--base-5);
}

#comments .comment-author-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
  min-height: var(--c-avatar);
  margin: 0;
  padding: 0;
  position: relative;
  top: 2px;
}

#comments .comment-author {
  margin: 0;
  padding: 0;
  line-height: 1.2;
}

#comments .comment-author .fn,
#comments .comment-author .fn a {
  font-size: 1rem;
  font-weight: 650;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: -0.005em;
  color: var(--contrast);
  text-decoration: none;
  transition: color 0.15s ease;
}

#comments .comment-author .fn a:hover {
  color: var(--accent);
}

#comments .comment-metadata {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 0.3rem;
  margin: 0;
  padding: 0;
  font-size: 0.78rem;
  line-height: 1.2;
  color: var(--contrast-4);
}

#comments .comment-metadata a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}

#comments .comment-metadata a:hover {
  color: var(--accent);
}

#comments .comment-metadata time {
  white-space: normal;
}

#comments li.bypostauthor > .comment-body .comment-author .fn::after {
  content: "Author";
  display: inline-block;
  margin-left: 0.5rem;
  padding: 0.1rem 0.6rem;
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--base-2);
  background: var(--accent-2);
  border-radius: 999px;
  vertical-align: middle;
}

#comments .comment-content > .reply {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  align-self: start;
  margin: calc(var(--c-avatar) / 2 - 0.93rem) 0 0;
  padding: 0;
}

#comments .comment-reply-link,
#comments .comment-reply-login,
#comments #cancel-comment-reply-link,
#comments .comment-awaiting-moderation {
  display: inline-flex;
  align-items: center;
  padding: 0.32rem 0.95rem;
  font-size: 0.78rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0.005em;
  white-space: nowrap;
  color: var(--accent);
  background: var(--base-3);
  border: 1px solid var(--base-5);
  border-radius: 999px;
  text-decoration: none;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

#comments .comment-reply-link::before {
  content: "";
  flex: 0 0 auto;
  width: 0.9em;
  height: 0.9em;
  margin-right: 0.4rem;
  background-color: currentColor;
  -webkit-mask: var(--c-icon) center / contain no-repeat;
  mask: var(--c-icon) center / contain no-repeat;
}

#comments .comment-reply-link:hover,
#comments .comment-reply-login:hover,
#comments #cancel-comment-reply-link:hover {
  background: var(--accent);
  color: var(--base);
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px color-mix(in srgb, var(--accent) 30%, transparent);
}

#comments .comment-awaiting-moderation {
  grid-column: 1 / -1;
  justify-self: start;
  max-width: 100%;
  margin: 0;
  padding: 0.3rem 0.85rem;
  font-size: 0.75rem;
  font-weight: 500;
  white-space: normal;
  border-radius: 12px;
  color: var(--contrast-2);
}

#comments .comment-content > :not(.reply) {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

#comments .comment-content p a {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

#comments .comment-content p a:hover {
  color: var(--accent-2);
}

#comments .comment-content > blockquote {
  padding: 0.1rem 0 0.1rem 0.9rem;
  border-left: 2px solid var(--base-5);
  color: var(--contrast-4);
}

#comments .comment-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

#comments .comment-respond {
  margin: 1.75rem 0 0;
  padding: 1.25rem 1.35rem;
  background: var(--base-4);
  border: 1px solid var(--base-5);
  border-radius: var(--c-radius);
}

#comments li.comment > .comment-respond {
  margin: 0.9rem 0 0;
}

#comments .logged-in-as,
#comments .comment-notes,
#comments .must-log-in {
  margin: 0 0 0.8rem;
  font-size: 0.83rem;
  line-height: 1.55;
  color: var(--contrast-4);
}

#comments .must-log-in {
  margin: 0;
  font-size: 0.92rem;
}

#comments .logged-in-as a,
#comments .comment-notes a,
#comments .must-log-in a {
  color: var(--accent);
  font-weight: 600;
  text-decoration: none;
}

#comments .logged-in-as a:hover,
#comments .must-log-in a:hover {
  color: var(--accent-2);
  text-decoration: underline;
}

#comments label:not(.screen-reader-text) {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--contrast-2);
}

#comments label.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
  white-space: nowrap;
}

#comments textarea,
#comments input[type="text"],
#comments input[type="email"],
#comments input[type="url"] {
  width: 100%;
  padding: 0.7rem 0.95rem;
  font: inherit;
  font-size: 0.96rem;
  line-height: 1.55;
  color: var(--contrast-2);
  background: var(--base-2);
  border: 1px solid var(--base-5);
  border-radius: 14px;
  box-shadow: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

#comments textarea {
  display: block;
  height: 92px;
  min-height: 76px;
  resize: vertical;
}

#comments textarea:focus,
#comments input[type="text"]:focus,
#comments input[type="email"]:focus,
#comments input[type="url"]:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--base-5);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent);
}

#comments .comment-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 0.75rem;
  row-gap: 0;
}

#comments .comment-form > * {
  grid-column: 1 / -1;
}

#comments .comment-form #author {
  grid-column: 1;
}

#comments .comment-form #email {
  grid-column: 2;
}

#comments .comment-form p {
  margin: 0 0 0.75rem;
}

#comments .comment-form input[type="text"],
#comments .comment-form input[type="email"],
#comments .comment-form input[type="url"] {
  margin: 0 0 0.75rem;
}

#comments textarea::placeholder,
#comments input::placeholder {
  color: var(--contrast-4);
  opacity: 1;
}

#comments .comment-form .comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin: 0.15rem 0 0.4rem;
}

#comments .comment-form .comment-form-cookies-consent input[type="checkbox"] {
  flex: 0 0 auto;
  width: 1.05rem;
  height: 1.05rem;
  margin: 0.2rem 0 0;
  accent-color: var(--accent);
  cursor: pointer;
}

#comments .comment-form .comment-form-cookies-consent label {
  display: block;
  margin: 0;
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--contrast-4);
  cursor: pointer;
}

#comments .comment-form .form-submit {
  margin: 0.4rem 0 0;
}

#comments .submit,
#comments input[type="submit"],
#comments .form-submit button {
  padding: 0.62rem 1.6rem;
  font-size: 0.9rem;
  font-weight: 650;
  letter-spacing: 0.005em;
  text-transform: none;
  color: var(--base);
  background: var(--accent);
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

#comments .submit:hover,
#comments input[type="submit"]:hover,
#comments .form-submit button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--accent) 32%, transparent);
}

#comments a:focus-visible,
#comments .submit:focus-visible,
#comments input[type="submit"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--base-5);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 25%, transparent);
}

#comments .comment-navigation,
#comments .comments-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 1.25rem 0;
}

#comments .comment-navigation .nav-links,
#comments .comments-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
  justify-content: space-between;
}

#comments .comment-navigation a,
#comments .comments-pagination a,
#comments .comments-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  padding: 0.32rem 0.95rem;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--accent);
  background: var(--base-3);
  border: 1px solid var(--base-5);
  border-radius: 999px;
  text-decoration: none;
  transition: background-color 0.18s ease, color 0.18s ease;
}

#comments .comment-navigation a:hover,
#comments .comments-pagination a:hover {
  background: var(--accent);
  color: var(--base);
}

#comments .no-comments {
  margin: 1.5rem 0 0;
  padding: 0.8rem 1rem;
  font-size: 0.9rem;
  color: var(--contrast-2);
  background: var(--base-3);
  border: 1px solid var(--base-5);
  border-radius: 14px;
}

@media (max-width: 600px) {
  #comments {
    --c-gap: 0.95rem;
    --c-avatar: 40px;
    --c-indent: 1.2rem;
    --c-radius: 16px;
    margin-top: 1.5rem;
  }

  #comments .comment-body {
    column-gap: 0.5rem;
    row-gap: 0.55rem;
  }

  #comments .comment-meta {
    column-gap: 0.7rem;
  }

  #comments .comment-metadata {
    font-size: 0.74rem;
  }

  #comments .comment-reply-link,
  #comments .comment-reply-login,
  #comments #cancel-comment-reply-link {
    padding: 0.28rem 0.75rem;
    font-size: 0.75rem;
  }

  #comments .comment-respond {
    padding: 1rem;
  }

  #comments textarea {
    height: 84px;
  }

  #comments .comment-form {
    grid-template-columns: minmax(0, 1fr);
  }

  #comments .comment-form #author,
  #comments .comment-form #email {
    grid-column: 1 / -1;
  }

  #comments .submit,
  #comments input[type="submit"],
  #comments .form-submit button {
    width: 100%;
    padding: 0.8rem 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  #comments *,
  #comments *::before,
  #comments *::after {
    transition: none !important;
  }

  #comments *:hover {
    transform: none !important;
  }
}


/* ==========================================================
   Custom search bar  [custom_search_bar*] (moved from PHP snippet)
   ========================================================== */

.cwsb-root{--cwsb-accent:var(--accent);--cwsb-accent-dark:var(--accent-2);--cwsb-ink:var(--contrast);--cwsb-muted:var(--contrast-4);--cwsb-line:var(--base-3);--cwsb-surface:var(--base-2);--cwsb-field:var(--base-3);--cwsb-on:var(--base-2)}
.cwsb-root *{box-sizing:border-box}

/* shared panel look (bar + input + button), used by both desktop and mobile */
.cwsb-panel{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px;background:var(--cwsb-surface);border-radius:999px;padding:6px;box-shadow:0 1px 2px color-mix(in srgb,var(--cwsb-ink) 4%,transparent),0 16px 32px -8px color-mix(in srgb,var(--cwsb-ink) 16%,transparent),0 0 0 1px color-mix(in srgb,var(--cwsb-ink) 5%,transparent)}
.cwsb-input-wrap{position:relative;flex:1;min-width:0;display:flex;align-items:center}
.cwsb-panel-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);flex-shrink:0;color:var(--cwsb-muted);pointer-events:none}
/* input font-size must stay 16px+, smaller makes mobile browsers zoom on focus */
.cwsb-panel input.cwsb-input[type="search"],.cwsb-panel input.cwsb-input{width:100%!important;height:42px;border:none!important;outline:none!important;box-shadow:none!important;padding:0 14px 0 34px!important;margin:0!important;font-size:16px!important;font-family:inherit!important;background:var(--cwsb-field)!important;border-radius:999px!important;color:var(--cwsb-ink)!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;box-sizing:border-box!important}
.cwsb-panel input.cwsb-input:focus,.cwsb-panel input.cwsb-input:focus-visible{border:none!important;outline:none!important;box-shadow:none!important}
.cwsb-input::-webkit-search-decoration,.cwsb-input::-webkit-search-cancel-button,.cwsb-input::-webkit-search-results-button,.cwsb-input::-webkit-search-results-decoration{-webkit-appearance:none;display:none}
.cwsb-input::placeholder{color:var(--cwsb-muted)}
.cwsb-submit-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 16px;border:none;border-radius:999px;background:var(--cwsb-accent);color:var(--cwsb-on);font-size:13px;font-weight:600;font-family:inherit;letter-spacing:.01em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,transform .15s ease}
.cwsb-submit-btn:hover{background:var(--cwsb-accent-dark)}
.cwsb-submit-btn:active{transform:scale(.96)}
.cwsb-submit-btn:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--cwsb-accent) 25%,transparent)}

/* desktop: toggle icon + slide-in panel, visible above 768px */
.cwsb-root:not(.cwsb-mobile){position:relative!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;height:40px!important;vertical-align:middle;font-family:inherit;line-height:1;isolation:isolate;direction:ltr!important;z-index:1000}
@media (max-width:768px){.cwsb-root:not(.cwsb-mobile){display:none!important}}
.cwsb-toggle-btn{position:relative!important;z-index:20;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0;width:40px!important;height:40px!important;min-width:40px;padding:0!important;margin:0!important;border:1px solid var(--cwsb-line)!important;border-radius:50%!important;background:var(--cwsb-surface)!important;color:var(--cwsb-muted);cursor:pointer;appearance:none;-webkit-appearance:none;line-height:1;transition:background .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease,transform .15s ease}
.cwsb-toggle-btn:hover{border-color:var(--cwsb-accent);color:var(--cwsb-accent)}
.cwsb-toggle-btn:active{transform:scale(.94)}
.cwsb-toggle-btn:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--cwsb-accent) 15%,transparent)}
.cwsb-toggle-btn[aria-expanded="true"]{background:var(--cwsb-ink)!important;border-color:var(--cwsb-ink)!important;color:var(--cwsb-on)!important}
.cwsb-icon{position:absolute;display:inline-flex;transition:opacity .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}
.cwsb-icon-close{opacity:0;transform:rotate(-45deg) scale(.4)}
.cwsb-toggle-btn[aria-expanded="true"] .cwsb-icon-search{opacity:0;transform:rotate(45deg) scale(.4)}
.cwsb-toggle-btn[aria-expanded="true"] .cwsb-icon-close{opacity:1;transform:rotate(0) scale(1)}
.cwsb-root:not(.cwsb-mobile) .cwsb-panel{position:absolute!important;top:50%!important;left:auto!important;right:100%!important;bottom:auto!important;margin:0 12px 0 0!important;transform:translateY(-50%) translateX(10px);width:320px;max-width:min(70vw,320px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,transform .28s cubic-bezier(.16,1,.3,1),visibility .28s;z-index:999}
.cwsb-root.is-open .cwsb-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%) translateX(0)}
@media (prefers-reduced-motion:reduce){.cwsb-toggle-btn,.cwsb-icon,.cwsb-root:not(.cwsb-mobile) .cwsb-panel,.cwsb-submit-btn{transition:none!important}}

/* mobile: always-visible bar, no toggle, visible only at 768px and below */
.cwsb-root.cwsb-mobile{display:none;width:100%}
@media (max-width:768px){.cwsb-root.cwsb-mobile{display:block!important}}

/* always: same static bar as mobile, shown on every screen size */
.cwsb-root.cwsb-mobile.cwsb-always{display:block}



/* ==========================================================
   Share box  [share_box] (moved from PHP snippet)
   ========================================================== */

.ssb{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin:2em 0;padding:20px 22px 20px 26px;background:var(--contrast,#222);color:var(--base,#fff);border:1px solid var(--contrast-3,#b2b7bb);border-radius:18px;box-shadow:0 8px 28px rgba(0,0,0,.15)}
.ssb:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:0 5px 5px 0;background:linear-gradient(180deg,var(--accent,#f43f5e),var(--accent-3,#8b5cf6))}
.ssb-t{color:var(--base,#fff);flex:1 1 230px;margin:0;font-size:1.08rem;font-weight:700;line-height:1.35;letter-spacing:-.01em}
.ssb-l{display:flex;flex-wrap:wrap;gap:10px}
.ssb-b{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--k);color:var(--base,#fff);cursor:pointer;text-decoration:none;box-shadow:0 3px 8px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.2);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,background .2s;-webkit-tap-highlight-color:transparent}
.ssb-b[hidden]{display:none}
.ssb-b:before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--k);opacity:0;pointer-events:none}
.ssb-i{width:21px;height:21px;fill:var(--base,#fff);pointer-events:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.ssb .ssb-b,.ssb .ssb-b:link,.ssb .ssb-b:visited,.ssb .ssb-b:hover,.ssb .ssb-b:focus,.ssb .ssb-b:active{color:var(--base,#fff)!important;background:var(--k)!important;text-decoration:none!important}
.ssb .ssb-b .ssb-i,.ssb .ssb-b:hover .ssb-i,.ssb .ssb-b:focus .ssb-i,.ssb .ssb-b:active .ssb-i{fill:var(--base,#fff)!important;color:var(--base,#fff)!important}
.ssb-b:focus-visible{outline:2px solid var(--k);outline-offset:3px;transform:translateY(-4px) scale(1.1);color:var(--base,#fff)}
@media(hover:hover){.ssb-b:hover{transform:translateY(-4px) scale(1.1);box-shadow:0 12px 18px -6px var(--k);color:var(--base,#fff)}.ssb-b:hover:before{animation:ssbr .6s ease-out}.ssb-b:hover .ssb-i{transform:rotate(-10deg) scale(1.12)}}
.ssb-b:active{transform:scale(.88);box-shadow:0 2px 4px rgba(0,0,0,.2);transition-duration:.08s}
.ssb-b[data-ok]{--k:#16a34a;animation:ssbp .35s}
@keyframes ssbr{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.7)}}
@keyframes ssbp{0%{transform:scale(.8)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
.ssb-b[data-ok]:after{content:"Link copied!";position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);padding:5px 10px;border-radius:8px;background:var(--accent,#111);color:var(--base,#fff);font:600 12px/1.2 system-ui,sans-serif;white-space:nowrap}
@media(max-width:560px){.ssb{flex-direction:column;gap:10px;margin:1.4em 0;padding:16px 14px 14px;text-align:center}.ssb:before{left:50%;top:0;bottom:auto;width:112px;height:4px;transform:translateX(-50%);border-radius:0 0 5px 5px;background:linear-gradient(90deg,var(--accent,#f43f5e),var(--accent-3,#8b5cf6))}.ssb-t{flex:none;font-size:1rem}.ssb-l{justify-content:center;gap:10px 12px}}
@media(prefers-reduced-motion:reduce){.ssb-b,.ssb-i{transition:none}.ssb-b:hover,.ssb-b:hover .ssb-i{transform:none}.ssb-b:hover:before,.ssb-b[data-ok]{animation:none}}



/* ==========================================================
   Author box  [author_box] (moved from PHP snippet)
   ========================================================== */

.lwab{margin:40px 0;border:1px solid var(--base-3);border-radius:18px;background:var(--base-2);overflow:hidden;line-height:1.55}
.lwab:before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--accent-2),var(--accent-3))}
.lwab__top{display:flex;align-items:center;gap:22px;padding:22px}
.lwab__top>div{min-width:0;flex:1}
.lwab__img{box-sizing:border-box;flex:none;width:88px;height:88px;margin:0;padding:3px;border:2px solid var(--accent);border-radius:50%;object-fit:cover}
.lwab__label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--contrast-4)}
.lwab__name{margin:2px 0 6px;font-size:21px;font-weight:700;color:var(--contrast-2)}
.lwab__name a{color:inherit;text-decoration:none}
.lwab__name a:hover{text-decoration:underline}
.lwab__bio{margin:0 0 12px;font-size:15px;line-height:1.7;color:var(--contrast-2)}
.lwab__links{display:flex;flex-wrap:wrap;gap:8px}
.lwab__links a{font-size:13px;padding:3px 12px;border:1px solid var(--accent);border-radius:99px;color:var(--accent);text-decoration:none}
.lwab__links a:first-child{background:var(--accent-2);border-color:var(--accent-2);color:var(--base);font-weight:600}
.lwab__links a:hover{opacity:.8}
@media(max-width:560px){.lwab__top{flex-direction:column;text-align:center;gap:14px}.lwab__links{justify-content:center}}



/* ==========================================================
   Table of Contents (auto) (moved from PHP snippet)
   ========================================================== */

.ltoc{--t-bg:var(--base-4);--t-line:var(--base-5);--t-active:var(--base);--t-title:var(--contrast);--t-text:var(--contrast-2);--t-sub:var(--contrast-3);--t-mute:var(--contrast-4);--t-accent:var(--accent);--t-accent-dark:var(--accent-2);--t-focus:var(--accent-3);box-sizing:border-box;max-width:100%;margin:0 0 2em;border:1px solid var(--t-line);border-radius:12px;background:var(--t-bg);color:var(--t-text);font-size:.97rem;line-height:1.4}
.ltoc *,.ltoc *::before,.ltoc *::after{box-sizing:border-box}
.ltoc summary{display:flex;align-items:center;gap:10px;min-height:50px;margin:0;padding:12px 18px;border-radius:12px;color:var(--t-title);font-size:1.05em;font-weight:700;cursor:pointer;list-style:none}
.ltoc summary::-webkit-details-marker{display:none}
.ltoc summary::before{content:"";flex:none;width:16px;height:12px;color:var(--t-accent);background:linear-gradient(currentColor,currentColor) 0 0/100% 2px,linear-gradient(currentColor,currentColor) 0 50%/65% 2px,linear-gradient(currentColor,currentColor) 0 100%/100% 2px;background-repeat:no-repeat}
.ltoc summary::after{content:"";flex:none;width:8px;height:8px;margin-left:auto;border:solid var(--t-text);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.ltoc details[open]>summary{border-bottom:1px solid var(--t-line);border-radius:12px 12px 0 0}
.ltoc details[open]>summary::after{transform:rotate(225deg) translateY(-2px)}
.ltoc summary:focus-visible{outline:2px solid var(--t-focus);outline-offset:-2px}
.ltoc ol{margin:0;padding:0;list-style:none;counter-reset:ltoc}
.ltoc li{margin:0;padding:0;list-style:none;counter-increment:ltoc}
.ltoc li::before{display:none}
.ltoc .ltoc-l{position:relative;max-height:min(55vh,440px);padding:10px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.ltoc .ltoc-l ol{margin:2px 0 6px 13px;padding:0 0 0 6px;border-left:2px solid var(--t-accent)}
.ltoc .ltoc-l li>a{display:flex;align-items:baseline;gap:.6em;margin:0;padding:8px 10px;border:0;border-radius:8px;box-shadow:none;background:none;color:var(--t-text);font-weight:600;text-decoration:none;overflow-wrap:anywhere;transition:background-color .15s}
.ltoc .ltoc-l li>a::before{content:counters(ltoc,".");flex:none;min-width:1.4em;color:var(--t-accent);font-size:.9em;font-weight:700;font-variant-numeric:tabular-nums}
.ltoc .ltoc-l ol a{padding:6px 10px;color:var(--t-sub);font-size:.93em;font-weight:400}
.ltoc .ltoc-l ol a::before{min-width:2.2em;color:var(--t-mute);font-weight:400}
.ltoc .ltoc-l a:hover{background:var(--t-line);color:var(--t-title)}
.ltoc .ltoc-l a.on{background:var(--t-active);box-shadow:0 0 0 1px var(--t-line);color:var(--t-accent-dark);font-weight:600}
.ltoc .ltoc-l a.on::before{color:var(--t-accent);font-weight:700}
.ltoc .ltoc-l a:focus-visible{outline:2px solid var(--t-focus);outline-offset:-2px}
.ltoc-t{scroll-margin-top:90px}
@media(max-width:640px){.ltoc{font-size:1rem}.ltoc .ltoc-l li>a{padding:10px}.ltoc .ltoc-l ol a{padding:9px 10px}}
@media(prefers-reduced-motion:no-preference){html:has(.ltoc){scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){.ltoc summary::after,.ltoc .ltoc-l li>a{transition:none}}


/* ==========================================================
   Article links
   ========================================================== */

/* Article, category description aur page content ke links underlined */
.dynamic-entry-content a,
.category-description a,
.entry-content a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Table of Contents ke links: na normal, na hover par underline */
.dynamic-entry-content .ltoc a,
.dynamic-entry-content .ltoc a:hover,
.dynamic-entry-content .ltoc a:focus {
  text-decoration: none;
}
