/*
Theme Name: Hello Elementor Child
Description: Child theme for Hello Elementor theme - Migrated from Talemy Child
Author: TIRF
Author URI: https://www.tirfonline.org/
Template: hello-elementor
Version: 1.0.0
*/

/* ============================================
   TYPOGRAPHY & CONTENT STYLES
   ============================================ */
.content b,
.content strong,
.content a b,
.content a strong {
  color: var(--e-global-color-1800328);
}
.blog section.elementor-section.elementor-top-section.elementor-section-height-min-height.content-banner.elementor-section-full_width.elementor-section-height-default.elementor-section-items-middle,
.archive section.elementor-section.elementor-top-section.elementor-section-height-min-height.content-banner.elementor-section-full_width.elementor-section-height-default.elementor-section-items-middle {
  display: none;
}
.elementor-grid-item .elementor-post__title a,
.jet-listing.jet-listing-dynamic-link a {
  color: var(--e-global-color-1800328) !important;
}
.elementor-location-footer a,
.elementor-location-header a {
  text-decoration: none;
}
p {
  word-break: break-word;
}
.post-style-grid .post-category a {
  color: #fff;
}

/* ============================================
   ARCHIVE & DROPDOWN STYLES
   ============================================ */
.month-dropdown .hide_initially,
.separate_dropdowns [name="archive-dropdown"] {
  display: none;
}
.year-dropdown,
.month-dropdown {
  color: #fff;
}

/* ============================================
   NEWSLETTER FORM STYLES
   ============================================ */
.newsletter_form_gf .btn_gf_custom {
  width: 100%;
  color: #41246d !important;
  background-color: #fff !important;
  border-color: #fff !important;
  border-radius: 0px;
  text-transform: capitalize !important;
  border: 0px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}
.custom_years_filter_list {
  min-width: 180px;
  max-height: 40px;
}
.custom_years_filter_hide {
  visibility: hidden !important;
}
.newsletter_form_gf .btn_gf_custom:hover {
  color: var(--e-global-color-1800328) !important;
}
.newsletter_form_gf .ginput_container input::placeholder {
  color: #ffffffb3 !important;
}
.newsletter_form_gf .ginput_container input {
  background-color: rgba(255, 255, 255, 0.09) !important;
  border-radius: 0px !important;
  color: #fff !important;
  border: 0px !important;
}
.newsletter_form_gf .gfield_required,
.newsletter_form_gf .gfield_label {
  display: none !important;
}
.break_links a {
  word-break: break-all;
}

/* ============================================
   SINGLE POST STYLES
   ============================================ */
.single_post_cm_img {
  margin: 20px 0;
  max-width: 300px;
  object-fit: cover;
}
.single-2 .head-image-wrapper {
  background-image: none !important;
}
.lab_pg .jet-listing-dynamic-field__content {
  display: flow-root list-item !important;
}
.jet-listing-dynamic-field__content li a {
  display: inline-block;
  max-width: 95%;
}
.jet-listing-dynamic-field__content {
  text-overflow: unset !important;
  -webkit-line-clamp: none !important;
}
.single_post_pg .theiaStickySidebar {
  top: 110px !important;
}
.single_post_pg .content p {
  color: #3d3d3d;
}
.alatis_prize_tabs .pp-advanced-tabs-title span {
  font-size: 14px;
}
.page-id-4505 .article-content {
  padding-top: 10px !important;
}
.single_post_pg .article-content {
  padding-top: 20px;
}
.single .head-image-wrapper {
  background-color: #fff !important;
}
.single .post-header .post-share {
  display: none;
}
.single .article-head .post-header {
  padding-top: 0px;
  padding-bottom: 0px;
}
.elementor-widget-wp-widget-archives select {
  width: 98%;
  margin-bottom: 10px;
}
.single .article-head .post-header h1 {
  color: #16163f !important;
}
.single .article-head .head-image-overlay {
  background: transparent !important;
  background-color: transparent !important;
}
.single .article-head .post-header .post-meta .meta-author,
.single .article-head .post-header .post-meta .meta-cats,
.single .article-head .post-header .post-meta .meta-comment,
.single .article-head .post-header .post-meta i {
  display: none !important;
}
.single .article-head .post-header .post-meta a {
  color: #9b68d0 !important;
  font-size: 0.7rem;
  font-weight: 600;
}
.single .single-2 .article-head {
  height: auto !important;
  background: #fff !important;
}
.single-post .article-head .post-header h1 {
  margin-top: 30px;
}

/* ============================================
   ARCHIVE & LIST STYLES
   ============================================ */
.archive_trustee h5 {
  font-size: 21px;
}
.awardee_list .pp-post-thumbnail-wrap a img {
  height: 300px;
  width: 100%;
  object-fit: none !important;
}
.refrence_list .main_heading {
  padding: 10px 15px;
  color: #292644;
  background: #d3b574;
  text-transform: uppercase;
}
.archive_list_cm {
  background: #0d1b58;
  text-align: left;
  padding: 20px;
  max-height: 285px;
}
.mg-pic {
  margin-right: 25px !important;
}
.donar-img-sec img {
  min-height: 150px !important;
  height: 150px;
  width: auto;
}
.col-tabs-ar {
  border: 1px solid #dfdede;
  margin: 20px 0 !important;
  padding: 10px !important;
}
.full-with-txt {
  width: 100%;
  float: left;
}
.archive_list_cm h5,
.archive_list_cm a {
  color: #fff !important;
}
.archive_list_cm ul li {
  color: #fff !important;
}
.archive_list_cm h5 {
  font-size: 21px;
}
.page-id-10328 .pp-modal-popup-standard .pp-popup-content {
  max-height: 350px;
  overflow: auto;
}

/* ============================================
   BUTTON STYLES
   ============================================ */
.back-list-btn .elementor-button {
  border-radius: 10px;
  display: inline-block;
  line-height: 1;
  background-color: #16163f;
  font-size: 15px;
  margin: 30px 10px;
  padding: 15px 65px;
  -webkit-border-radius: 3px;
  font-weight: 500;
  border-radius: 26px;
  color: #fff;
  fill: #fff;
  text-align: center;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid #16163f;
}
.back-list-btn .elementor-button:hover {
  background-color: transparent;
  color: #16163f;
}
.single_post_pg .back-list-btn .elementor-button {
  margin: 30px 0px;
}
.btn_gf_custom:hover {
  color: #41246d !important;
  background-color: #fff !important;
  border-color: #41246d !important;
}

/* ============================================
   FORM STYLES
   ============================================ */
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
select {
  height: 42px;
}
.gform_wrapper.gravity-theme .ginput_container_date input {
  width: 100% !important;
}
.gform_wrapper.gravity-theme .ginput_container input {
  padding: 15px !important;
}

/* ============================================
   PAGE TITLE & BANNER STYLES
   ============================================ */
.page-title span {
  display: block;
  font-size: 1.5rem;
}

/* ============================================
   RESOURCE LIBRARY STYLES
   ============================================ */
.content_single_resource {
  margin-top: 20px;
  margin-bottom: 50px;
}
.content_single_right {
  margin-top: 10px;
}
.pdf_link_txt {
  color: #16163f;
  font-size: 18px;
  margin: 20px 0;
  display: inline-block;
  font-weight: 600;
}
.resource_sidebar {
  padding-right: 10%;
  margin-top: 20px;
  border-right: 2px solid #8f9ebb;
}
.refrence_list .item_hm,
.refrence_list .main_heading {
  display: none;
}
.resource_type_lst ul li a {
  color: #f5cd6f;
  font-weight: 500;
  display: block;
}
.resource_type_lst ul li {
  display: inline-block;
}
.bck_resource_btn i {
  padding-right: 15px;
}
.bck_resource_btn:hover {
  background: #d3b574 !important;
  color: #16163f !important;
}
.bck_resource_btn {
  border-radius: 0px !important;
  background: #16163f;
  margin: 20px 0;
}

/* ============================================
   TRUSTEE LOGIN STYLES
   ============================================ */
.trusty_login_ar #loginform label {
  margin: 0px;
  text-align: center;
  padding: 0;
  color: #0d1b58;
  display: inline-block;
  width: 100%;
}
.trusty_login_ar #loginform input:focus {
  border: 1px solid #9b68d0;
}
.trusty_login_ar #loginform #rememberme {
  max-width: 20px;
  margin-left: -10px;
}
.logout_btn_trustee {
  display: none;
}
.trusty_login_ar #loginform #wp-submit {
  width: 200px;
  margin: 0 auto;
  padding: 10px;
  color: #fff;
  border: 0px;
  background: #0d1b58;
  cursor: pointer;
}
.trusty_login_ar #loginform #wp-submit:hover {
  border: 1px solid #0d1b58;
  color: #0d1b58;
  background: #fff;
}
.trusty_login_ar #loginform .login-submit {
  text-align: center;
}
.trusty_login_ar #loginform input {
  margin: 10px;
  width: 90%;
  display: inline-block;
  margin: 0px 5%;
  width: 90%;
  display: inline-block;
}
.trusty_login_ar #loginform {
  padding: 20px 10px;
  border-radius: 10px;
  box-shadow: 0 4px 8px 0 rgb(146 146 146 / 20%),
    0 6px 20px 0 rgb(142 142 142 / 19%);
  max-width: 400px;
  margin: 0 auto;
}
.rsc_message {
  padding: 10px;
  font-size: 17px;
  color: #0e1c59;
  text-align: center;
}

/* ============================================
   SLIDER STYLES
   ============================================ */
#rev_slider_2_1 .btn.btn-outline-light {
  background-color: #7136b0 !important;
  color: #fff !important;
  border-color: #7136b0 !important;
}
#rev_slider_2_1 .btn.btn-outline-light:hover {
  background-color: #7136b0 !important;
  color: #fff !important;
  border-color: #7136b0 !important;
}
#rev_slider_2_1 .btn.btn-secondary:hover {
  background-color: #16163f !important;
  color: #fff !important;
  border-color: #16163f !important;
}
#rev_slider_2_1 .btn.btn-secondary {
  background-color: #16163f !important;
  color: #fff !important;
  border-color: #16163f !important;
}
#slider-2-slide-2-layer-13 {
  background-color: #000000bf !important;
}
#archives-dropdown-REPLACE_TO_ID {
  color: #fff;
}

/* ============================================
   LIST STYLES
   ============================================ */
body dd,
body dl,
body ol,
body ul {
  list-style-position: outside;
  padding-left: 30px;
  list-style: initial;
}

/* ============================================
   SEARCH RESULTS STYLES
   ============================================ */
body.search-results
  .elementor-posts-container.elementor-has-item-ratio
  .elementor-post__thumbnail
  img {
  height: auto;
  position: initial;
  top: auto;
  left: auto;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  width: auto;
  max-width: 100%;
}
body.search-results
  .elementor-element.elementor-element-b42a693
  .elementor-posts-container
  .elementor-post__thumbnail {
  padding-bottom: 0px;
}

/* ============================================
   PIN TO TOP AREA STYLES
   ============================================ */
.pin_to_top_area .jet-listing-grid__items {
  display: flex;
}
.pin_to_top_area .jet-listing-grid__items .jet-listing-dynamic-link__label {
  text-align: left;
}

/* ============================================
   SUPPORTED BY SECTION STYLES
   ============================================ */
.supported_by_section {
  overflow: hidden;
  position: relative;
}
.supported_by_title {
  color: #0e1c59;
  font-size: 15px;
  font-weight: 400;
  text-transform: uppercase;
  margin: 10px 0px;
}
.supported_by_logo {
  margin: 5px 0px;
}

/* ============================================
   RESOURCE LIBRARY PAGE STYLES
   ============================================ */
.search-resources_library {
  padding: 30px 0px;
}
.search-resources_library .left-refine-search {
  color: #16163f;
  padding: 20px;
  background: #d3b574;
}
.search-resources_library h2,
.search-resources_library h3,
.search-resources_library h4,
.search-resources_library a {
  color: #16163f;
}
.search-resources_library .results-number {
  text-align: center;
  padding: 9px;
  text-transform: uppercase;
  border-radius: 40px;
  width: 200px;
  background: #16163f;
  color: #fff;
}
.search-resources_library .resource-list li {
  margin: 20px 0;
}
.search-resources_library .resource-list li img {
  border: 1px solid #6d6a6a;
}
.search-resources_library .wp-pagenavi a {
  border: 0px;
  padding: 7px 15px;
  background: #d3b574;
  font-weight: 600;
  font-size: 18px;
}
.search-resources_library .wp-pagenavi span.current {
  background: #16163f;
  color: #fff;
  border: 0px;
  padding: 7px 15px;
  font-weight: 600;
  font-size: 18px;
}
.content_ar_rl {
  margin-top: 20px;
}
.filter-result-number:before {
  content: "(";
}
.filter-result-number:after {
  content: ")";
}
.search-resources_library .resource-list-thumb-link {
  text-align: center;
  position: relative;
  display: block;
  float: left;
  width: 11%;
  margin: 0 4% 0 0;
  width: 100%;
  float: left;
}
.search-resources_library .resource-list-cat {
  cursor: pointer;
  margin-right: 20px;
}
.search-resources_library .resource-list-cat span {
  color: #d3b574;
}
.search-resources_library .resource-list-cat strong {
  color: #16163f;
}
.filter-resources h4 {
  margin-top: 20px;
  margin-bottom: 5px;
}
#search_resources {
  min-width: 300px;
}
#suggestion_list {
  background: #fff;
  border: 2px solid;
  position: absolute;
  z-index: 9999;
  border-radius: 7px;
  padding: 5px;
  width: 300px;
  max-height: 300px;
  overflow: auto;
}
.resource-title-list a {
  font-size: 13px;
  color: #16163f;
  font-weight: 600;
  line-height: 1.4em;
  display: block;
  padding: 4px 0px;
  border-bottom: 1px solid;
}
.resource-title-list li:last-of-type a {
  border-bottom: none;
}
.close_suggestions {
  position: absolute;
  top: -36px;
  right: -20px;
  cursor: pointer;
}
.suggestion_group {
  position: relative;
  display: none;
  width: 300px;
  color: #16163f;
}
.continued_box_open {
  max-height: inherit !important;
  height: auto !important;
}
.continued_box {
  max-height: 60px;
  position: relative;
  overflow: hidden;
}

/* ============================================
   RESPONSIVE STYLES
   ============================================ */
@media screen and (min-width: 1236px) {
  .white-bg-on-left:before {
    width: 1000%;
    height: 100%;
    content: "";
    display: block;
    position: absolute;
    right: 100%;
    background-color: #fff;
  }
}
@media screen and (max-width: 1024px) {
  .pp-advanced-tabs-title {
    border-top: 2px solid;
  }
  .page-id-10328 .pp-modal-popup-standard .mfp-close {
    top: 30px !important;
  }
  .elementor-element-692f9a5a img {
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .page-id-10328 .pp-modal-popup-wrap .pp-modal-popup {
    text-align: center !important;
  }
  .page-id-10328 .pp-modal-popup-standard .pp-modal-popup-window {
    width: 100%;
  }
}

/* ============================================
   TALEMY BANNER/HERO STYLES (Migrated)
   ============================================ */
:root {
  /* TIRF Custom Variables */
  --tirf-primary: #16163f;
  --tirf-secondary: #d3b574;
  --tirf-text: #222;
  --tirf-text-light: #7f7f7f;
  --tirf-border: #ddd;
  --tirf-background: #f5f5f5;

  /* Talemy Theme Variables (for compatibility) */
  --theme-color-primary: #16163f;
  --theme-color-secondary: #d3b574;
  --theme-color-text: #7f7f7f;
  --theme-color-text-dark: #222;
  --theme-color-link: #16163f;
  --theme-color-bg: #f5f5f5;
  --theme-color-border: #ddd;
}

.content-banner {
  background-color: var(--tirf-primary);
  background-position: center center;
  background-repeat: no-repeat;
  /* background-size: cover; */
  position: relative;
}

.content-banner .banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

.content-banner .container {
  padding-top: 80px;
  padding-bottom: 90px;
  position: relative;
  z-index: 3;
  min-height: 250px;
  max-width: 1200px;
}

.content-banner .page-title {
  color: #fff;
  font-size: 32px;
  font-size: 3rem;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1.3;
  margin: 0;
  position: relative;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  word-break: break-word;
  z-index: 2;
}

.content-banner .page-title a {
  color: inherit;
}

.content-banner .breadcrumbs {
  display: none;
  color: #bababa;
  font-size: 11px;
  letter-spacing: 0.1em;
  margin-top: 15px;
  text-align: center;
  text-transform: uppercase;
}

.content-banner .breadcrumbs a {
  color: #fff;
}

.content-banner .breadcrumbs a:hover {
  color: var(--tirf-secondary);
}

.content-banner:before {
  background-image: url("assets/images/wave_banner.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center bottom;
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  height: 64px;
  width: 100%;
  z-index: 4;
}

.content-banner.no-wave:before {
  display: none;
}

.breadcrumbs {
  font-size: 12px;
  line-height: 18px;
}

.breadcrumbs .fa-home {
  margin-right: 10px;
}

.breadcrumbs .item {
  display: inline-block;
  vertical-align: top;
}

.breadcrumbs .sep {
  font-size: 8px;
  line-height: inherit;
  padding: 0 8px;
  vertical-align: top;
}

.breadcrumbs a:not(:hover) {
  color: currentColor;
}

.content-breadcrumbs {
  background-color: var(--tirf-background);
  padding: 15px 0;
}

.content-breadcrumbs a {
  color: var(--tirf-text);
}

.content-breadcrumbs a:hover {
  color: var(--tirf-primary);
}

/* ============================================
   TALEMY INPUT & FORM STYLES (Migrated)
   ============================================ */
input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=tel],
input[type=url],
input[type=date],
input[type=search],
textarea,
select {
  background-color: transparent;
  border: 1px solid var(--tirf-border);
  color: var(--tirf-text);
  font-size: 14px;
  line-height: 22px;
  padding: 10px 15px;
  max-width: 100%;
  -webkit-transition: all 400ms;
  transition: all 400ms;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=date]:focus,
input[type=search]:focus,
textarea:focus,
select:focus {
  outline: 0;
  border-color: #999;
}

input[type=text]:hover,
input[type=email]:hover,
input[type=password]:hover,
input[type=number]:hover,
input[type=tel]:hover,
input[type=url]:hover,
input[type=date]:hover,
input[type=search]:hover,
textarea:hover,
select:hover {
  border-color: #999;
}

input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=password]::placeholder,
input[type=number]::placeholder,
input[type=tel]::placeholder,
input[type=url]::placeholder,
input[type=date]::placeholder,
input[type=search]::placeholder,
textarea::placeholder {
  color: var(--tirf-text-light);
}

select option {
  color: var(--tirf-text);
  padding-left: 15px;
}

button {
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 0;
  margin: 0;
}

/* ============================================
   TALEMY SEARCH FORM STYLES (Migrated)
   ============================================ */
.search-form {
  position: relative;
}

.sf-input {
  display: block;
  padding-right: 50px !important;
  width: 100%;
}

.sf-submit {
  position: absolute;
  top: 0;
  right: 0;
  background: none;
  color: #777;
  cursor: pointer;
  font-size: 16px;
  overflow: hidden;
}

.sf-submit .fa-search,
.sf-submit .dashicons-search {
  display: inline-block;
  line-height: 40px;
  height: 42px;
  width: 42px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
}

.widget_search .sf-submit .fa-search,
.widget_product_search .sf-submit .fa-search {
  background: var(--tirf-primary);
  color: #fff;
}

.widget_search .sf-submit:hover .fa-search,
.widget_product_search .sf-submit:hover .fa-search {
  background: #000;
}

.ajax-search-form input[type=search]::-ms-clear,
.ajax-search-form input[type=search]::-webkit-clear-button {
  display: none;
}

.ajax-search-results {
  position: absolute;
  top: 100%;
  z-index: 999;
  background-color: #fff;
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  min-width: 270px;
  width: 100%;
}

.ajax-search-results .post-list {
  padding: 12px 0 15px;
}

.ajax-search-results .post-title {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.26;
}

.ajax-search-results .post-title:last-child {
  margin-bottom: 0;
}

.ajax-search-results .post-title a {
  color: var(--tirf-text);
  padding: 9px 20px;
}

.ajax-search-results .post-title a:hover {
  background-color: var(--tirf-background);
  color: var(--tirf-primary);
}

/* ============================================
   TALEMY BLOCK POSTS WIDGET STYLES (Migrated)
   Uses Talemy's exact class names for compatibility
   ============================================ */

/* Block wrapper */
.block-posts {
  margin-bottom: 30px;
}

/* Block header - matching Talemy */
.block-posts .block-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 25px;
}

.block-posts .sf-heading {
  margin-bottom: 0;
}

.block-posts .sf-heading__subtitle {
  display: block;
  font-size: 14px;
  color: var(--theme-color-text);
  margin-bottom: 5px;
}

.block-posts .sf-heading__title {
  font-size: 24px;
  font-weight: 600;
  margin: 0;
  color: var(--theme-color-text-dark);
}

.block-posts .sf-heading__bottom {
  margin-top: 10px;
}

.block-posts .sf-heading__line {
  display: block;
  width: 50px;
  height: 3px;
  background: var(--theme-color-primary);
}

/* Block navigation / tabs */
.block-posts .block-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.block-posts .tabs-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
}

.block-posts .tab-item {
  display: inline-block;
  padding: 8px 16px;
  background: var(--theme-color-bg);
  color: var(--theme-color-text);
  text-decoration: none;
  font-size: 14px;
  border-radius: 4px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
}

.block-posts .tab-item:hover,
.block-posts .tab-item.active {
  background: var(--theme-color-primary);
  color: #fff;
}

/* Post list - matching Talemy's exact structure */
.block-posts .post-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

/* Column classes - matching Talemy */
.block-posts .post-list.columns-1 .post { width: 100%; }
.block-posts .post-list.columns-2 .post { width: 50%; }
.block-posts .post-list.columns-3 .post { width: 33.333%; }
.block-posts .post-list.columns-4 .post { width: 25%; }
.block-posts .post-list.columns-5 .post { width: 20%; }
.block-posts .post-list.columns-6 .post { width: 16.666%; }

/* Post item wrapper - matching Talemy */
.block-posts .post-list .post {
  position: relative;
  min-height: 1px;
}

.block-posts .post-list .post-style-grid,
.block-posts .post-list .post-style-masonry {
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 20px;
}

/* Post body - matching Talemy */
.block-posts .post-body {
  background-color: #fff;
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.08);
          box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

/* Post thumbnail - matching Talemy's .post-thumb */
.block-posts .post-thumb {
  position: relative;
  overflow: hidden;
}

.block-posts .post-thumb > a {
  display: block;
  overflow: hidden;
  position: relative;
}

.block-posts .post-thumb > a:before {
  background-color: #000;
  content: "";
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  -webkit-transition: all 400ms;
  transition: all 400ms;
}

.block-posts .post-thumb img {
  height: auto;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
  width: 100%;
  vertical-align: top;
}

.block-posts .post-thumb:hover > a:before {
  opacity: 0.2;
}

.block-posts .post-thumb:hover img {
  -webkit-transform: scale3d(1.1, 1.1, 1);
          transform: scale3d(1.1, 1.1, 1);
}

/* Post badge / category - matching Talemy */
.block-posts .post-badge {
  display: inline-block;
  margin: 0 20px 20px 20px;
  padding: 5px 10px;
  background: var(--theme-color-primary);
  color: #fff;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.08em;
  pointer-events: none;
  text-transform: uppercase;
  white-space: nowrap;
  z-index: 2;
}
.home .block-content .post-title a {
  color: #9C69D1 !important;
  text-decoration: underline !important;
  font-size: 18px;
  font-weight: bold;
}
.home .block-content .post-excerpt {
  color: rgb(81, 81, 81) !important;
  font-size: 14px !important;
  line-height: 24px !important;
  font-weight: 400;
}
.home .block-content .post-meta {
  color: #000 !important;
  font-size: 12px !important;
  line-height: 30px;
  font-weight: 400;
  text-decoration: underline;
}
.home .block-content .post-meta i { 
  color: #000 !important;
}
.block-posts .post-thumb + .post-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  margin: 0;
}

.block-posts .post-category {
  display: block;
  line-height: 1;
  font-size: 0;
  margin: 0 0 20px;
}

.block-posts .post-category a {
  background: var(--theme-color-primary);
  color: #fff;
  display: inline-block;
  font-size: 10px;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 5px 12px;
  text-transform: uppercase;
  text-decoration: none;
}

/* Post info - matching Talemy */
.block-posts .post-info {
  background-color: #fff;
  position: relative;
  z-index: 1;
  padding: 20px;
}

/* Post title - matching Talemy */
.block-posts .post-title {
  margin: 0;
  position: relative;
  word-break: break-word;
  white-space: normal;
  z-index: 1;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

.block-posts .post-title a {
  color: var(--theme-color-text-dark);
  display: block;
  text-decoration: none;
}

.block-posts .post-title a:hover {
  color: var(--theme-color-link);
}

/* Post meta - matching Talemy */
.block-posts .post-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 12px;
  font-size: 12px;
  color: var(--theme-color-text);
}

.block-posts .post-meta > span {
  margin-right: 15px;
}

.block-posts .post-meta a {
  color: inherit;
  text-decoration: none;
}

.block-posts .post-meta a:hover {
  color: var(--theme-color-link);
}

.block-posts .post-meta .meta-avatar {
  display: inline-block;
  margin-right: 8px;
}

.block-posts .post-meta .meta-avatar img {
  border-radius: 50%;
  vertical-align: middle;
}

/* Post excerpt - matching Talemy */
.block-posts .post-excerpt {
  font-size: 13px;
  line-height: 24px;
  color: var(--theme-color-text);
  margin-top: 12px;
}

/* List style - matching Talemy */
.block-posts .post-style-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 20px;
  width: 100%;
}

.block-posts .post-style-list .post-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.block-posts .post-style-list .post-thumb {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 300px;
          flex: 0 0 300px;
  max-width: 300px;
}

.block-posts .post-style-list .post-thumb img {
  height: 100%;
  min-height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
}

.block-posts .post-style-list .post-info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* Block footer / pagination - matching Talemy */
.block-posts .block-footer {
  text-align: center;
  margin-top: 20px;
}

.block-posts .load-next-prev-posts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}

.block-posts .load-posts {
  display: inline-block;
  padding: 10px 25px;
  background: var(--theme-color-bg);
  color: var(--theme-color-text);
  text-decoration: none;
  border-radius: 4px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.block-posts .load-posts:hover {
  background: var(--theme-color-primary);
  color: #fff;
}

.block-posts .load-more {
  display: inline-block;
  padding: 12px 30px;
  background: var(--theme-color-primary);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.block-posts .load-more:hover {
  background: var(--theme-color-secondary);
  color: var(--theme-color-text);
}

.block-posts .load-more .loading-text {
  display: none;
}

.block-posts .load-more.loading .load-text {
  display: none;
}

.block-posts .load-more.loading .loading-text {
  display: inline;
}

/* Responsive for block posts - matching Talemy */
@media screen and (max-width: 1024px) {
  .block-posts .post-list.columns-5 .post,
  .block-posts .post-list.columns-6 .post { width: 33.333%; }
}

@media screen and (max-width: 768px) {
  .block-posts .post-list.columns-3 .post,
  .block-posts .post-list.columns-4 .post,
  .block-posts .post-list.columns-5 .post,
  .block-posts .post-list.columns-6 .post { width: 50%; }

  .block-posts .post-style-list .post-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .block-posts .post-style-list .post-thumb {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    max-width: 100%;
  }
}

@media screen and (max-width: 480px) {
  .block-posts .post-list.columns-2 .post,
  .block-posts .post-list.columns-3 .post,
  .block-posts .post-list.columns-4 .post,
  .block-posts .post-list.columns-5 .post,
  .block-posts .post-list.columns-6 .post { width: 100%; }

  .block-posts .block-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
  }
}

/* ==========================================================
   LAYOUT BODY CLASSES (Page Settings)
   ========================================================== */

/* Layout containers */
.tirf-layout-full-width .site-main,
.tirf-layout-full-width .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.tirf-layout-thin-width .site-main,
.tirf-layout-thin-width .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Sidebar layouts */
.tirf-layout-sidebar-right .site-content-area {
  display: flex;
  flex-wrap: wrap;
}

.tirf-layout-sidebar-right .site-main {
  flex: 1;
  min-width: 0;
  padding-right: 30px;
}

.tirf-layout-sidebar-right .sidebar {
  width: 300px;
  flex-shrink: 0;
}

.tirf-layout-sidebar-left .site-content-area {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}

.tirf-layout-sidebar-left .site-main {
  flex: 1;
  min-width: 0;
  padding-left: 30px;
}

.tirf-layout-sidebar-left .sidebar {
  width: 300px;
  flex-shrink: 0;
}

/* Container settings */
.tirf-container .site-main {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.tirf-no_container .site-main,
.tirf-no_container .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* Breadcrumbs-only banner style */
.content-breadcrumbs {
  background-color: #f5f5f5;
  padding: 15px 0;
  border-bottom: 1px solid var(--tirf-border);
}

.content-breadcrumbs .container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 15px;
}

/* Responsive layouts */
@media screen and (max-width: 991px) {
  .tirf-layout-sidebar-right .site-content-area,
  .tirf-layout-sidebar-left .site-content-area {
    flex-direction: column;
  }

  .tirf-layout-sidebar-right .site-main,
  .tirf-layout-sidebar-left .site-main {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }

  .tirf-layout-sidebar-right .sidebar,
  .tirf-layout-sidebar-left .sidebar {
    width: 100%;
    margin-top: 30px;
  }

  .tirf-layout-thin-width .site-main {
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* ==========================================================
   CONTENT WRAPPER & LAYOUT SYSTEM
   ========================================================== */

/* Content wrapper */
.content-wrapper {
  padding: 40px 0;
}

.content-wrapper .container {
  /* max-width: 1200px; */
  margin: 0 auto;
  padding: 0 15px;
}

/* Row for sidebar layouts */
.content-wrapper .row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}

.content-wrapper .row.flex-row-reverse {
  flex-direction: row-reverse;
}

.content-wrapper .col-lg-9 {
  flex: 0 0 75%;
  max-width: 75%;
  padding: 0 15px;
}

.content-wrapper .col-lg-3 {
  flex: 0 0 25%;
  max-width: 25%;
  padding: 0 15px;
}

/* Main content area */
.main-content {
  width: 100%;
}

/* Thin content wrapper */
.thin-content-wrapper {
  max-width: 800px;
  margin: 0 auto;
}

/* ==========================================================
   SIDEBAR STYLES - Talemy Compatible
   ========================================================== */

.sidebar {
  font-size: 14px;
  font-weight: normal;
  margin-top: 40px;
  position: relative;
  -webkit-backface-visibility: hidden;
}

.elementor-widget-sidebar::before,
.elementor-widget-sidebar::after,
.sidebar::before,
.sidebar::after {
  display: block;
  clear: both;
  content: "";
}

@media (min-width: 1025px) {
  .elementor-widget-sidebar,
  .sidebar {
    margin-top: 0;
  }
}

.elementor-widget-sidebar .widget,
.sidebar .widget {
  position: relative;
  margin-bottom: 40px;
}

.elementor-widget-sidebar .widget:last-of-type,
.sidebar .widget:last-of-type {
  margin-bottom: 0;
}

.elementor-widget-sidebar .widget-title,
.sidebar .widget-title {
  border-bottom: 2px solid var(--theme-color-border);
  color: #000;
  font-size: 16px;
  line-height: 1;
  margin: 0 0 20px;
}

.elementor-widget-sidebar .widget-title .title,
.sidebar .widget-title .title {
  -webkit-box-shadow: 0 2px 0 var(--theme-color-primary);
  box-shadow: 0 2px 0 var(--theme-color-primary);
  color: #000;
  display: inline-block;
  line-height: inherit;
  padding-bottom: 15px;
  position: relative;
  text-transform: capitalize;
  z-index: 1;
}

.elementor-widget-sidebar p,
.sidebar p {
  margin-bottom: 15px;
}

.elementor-widget-sidebar p:last-child,
.sidebar p:last-child {
  margin-bottom: 0;
}

.elementor-widget-sidebar ul li,
.sidebar ul li {
  padding: 0 0 8px;
}

.elementor-widget-sidebar ul li:last-child,
.sidebar ul li:last-child {
  padding-bottom: 0;
}

.elementor-widget-sidebar ul li a,
.sidebar ul li a {
  color: var(--theme-color-text-dark);
}

.elementor-widget-sidebar ul li a:hover,
.sidebar ul li a:hover {
  color: var(--theme-color-link);
}

.elementor-widget-sidebar ul ul,
.sidebar ul ul {
  margin-top: 8px;
}

.sidebar .sidebar-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: relative;
  width: 100%;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition: -webkit-transform 300ms;
  transition: -webkit-transform 300ms;
  transition: transform 300ms;
  transition: transform 300ms, -webkit-transform 300ms;
}

.sidebar .sidebar-wrapper.stuck {
  position: fixed;
  top: 90px;
}

@media (min-width: 1200px) {
  .tirf-layout-sidebar-right .col-lg-9,
  .layout-sidebar-right .col-lg-9 {
    padding-right: 25px;
  }
  .tirf-layout-sidebar-left .col-lg-9,
  .layout-sidebar-left .col-lg-9 {
    padding-left: 25px;
  }
}

/* ==========================================================
   LOOP POST STYLES (Grid/List/Masonry)
   ========================================================== */

/* Post list container */
.post-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}

/* Grid columns */
.post-list.columns-1 .loop-post { width: 100%; }
.post-list.columns-2 .loop-post { width: 50%; }
.post-list.columns-3 .loop-post { width: 33.333%; }
.post-list.columns-4 .loop-post { width: 25%; }
.post-list.columns-5 .loop-post { width: 20%; }
.post-list.columns-6 .loop-post { width: 16.666%; }

/* Loop post item */
.loop-post {
  padding: 0 15px;
  margin-bottom: 30px;
  box-sizing: border-box;
}

.loop-post .post-body {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
}

.loop-post .post-body:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

/* Post thumbnail */
.loop-post .post-thumb {
  position: relative;
  overflow: hidden;
}

.loop-post .post-thumb img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
}

.loop-post .post-body:hover .post-thumb img {
  transform: scale(1.05);
}

/* Post info */
.loop-post .post-info {
  padding: 20px;
}

/* Post category */
.loop-post .post-category {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
}

.loop-post .post-category a {
  color: var(--tirf-secondary);
  text-decoration: none;
  font-weight: 600;
}

/* Post title */
.loop-post .post-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 10px;
}

.loop-post .post-title a {
  color: var(--tirf-text);
  text-decoration: none;
  transition: color 0.3s ease;
}

.loop-post .post-title a:hover {
  color: var(--tirf-primary);
}

/* Post excerpt */
.loop-post .post-excerpt {
  font-size: 14px;
  line-height: 1.6;
  color: var(--tirf-text-light);
  margin-bottom: 15px;
}

/* Post meta */
.loop-post .post-meta {
  padding: 15px 20px;
  border-top: 1px solid var(--tirf-border);
  font-size: 13px;
  color: var(--tirf-text-light);
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.loop-post .post-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.loop-post .post-meta i {
  font-size: 12px;
  color: var(--tirf-secondary);
}

/* List style specific */
.post-style-list .post-body {
  display: flex;
  flex-direction: row;
}

.post-style-list .post-thumb {
  flex: 0 0 200px;
  position: relative;
}

.post-style-list .post-thumb .post-category {
  position: absolute;
  top: 10px;
  left: 10px;
  background: var(--tirf-secondary);
  padding: 3px 10px;
  border-radius: 3px;
}

.post-style-list .post-thumb .post-category a {
  color: #fff;
}

.post-style-list .post-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.post-style-list .post-meta {
  border-top: none;
  padding: 0 20px 20px;
}

/* Masonry layout */
.post-list.masonry {
  display: block;
  column-count: 3;
  column-gap: 30px;
}

.post-list.masonry .loop-post {
  width: 100%;
  display: inline-block;
  margin-bottom: 30px;
  padding: 0;
}

/* No posts found */
.no-posts-found {
  text-align: center;
  padding: 60px 20px;
  background: #f9f9f9;
  border-radius: 8px;
}

.no-posts-found p {
  font-size: 18px;
  color: var(--tirf-text-light);
}

/* ==========================================================
   PAGINATION STYLES
   ========================================================== */

.tirf-pagination {
  margin-top: 40px;
  text-align: center;
}

.tirf-pagination .nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}

.tirf-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  background: #fff;
  border: 1px solid var(--tirf-border);
  border-radius: 5px;
  font-size: 14px;
  color: var(--tirf-text);
  text-decoration: none;
  transition: all 0.3s ease;
}

.tirf-pagination .page-numbers:hover,
.tirf-pagination .page-numbers.current {
  background: var(--tirf-primary);
  border-color: var(--tirf-primary);
  color: #fff;
}

.tirf-pagination .prev,
.tirf-pagination .next {
  background: var(--tirf-secondary);
  border-color: var(--tirf-secondary);
  color: #fff;
}

.tirf-pagination .prev:hover,
.tirf-pagination .next:hover {
  background: var(--tirf-primary);
  border-color: var(--tirf-primary);
}

/* Load more button */
.load-more-btn {
  display: inline-block;
  padding: 15px 40px;
  background: var(--tirf-primary);
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.load-more-btn:hover {
  background: var(--tirf-secondary);
}

/* ==========================================================
   AUTHOR BOX (Archive)
   ========================================================== */

.archive-author-box {
  display: flex;
  align-items: center;
  gap: 25px;
  padding: 30px;
  background: #f9f9f9;
  border-radius: 8px;
  margin-bottom: 40px;
}

.archive-author-box .author-avatar img {
  border-radius: 50%;
}

.archive-author-box .author-name {
  font-size: 24px;
  margin: 0 0 10px;
  color: var(--tirf-primary);
}

.archive-author-box .author-bio {
  font-size: 15px;
  line-height: 1.6;
  color: var(--tirf-text-light);
}

/* ==========================================================
   RESPONSIVE LOOP STYLES
   ========================================================== */

@media screen and (max-width: 991px) {
  .content-wrapper .col-lg-9,
  .content-wrapper .col-lg-3 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .content-wrapper .row.flex-row-reverse {
    flex-direction: column;
  }

  .sidebar {
    margin-top: 40px;
  }

  .post-list.columns-4 .loop-post,
  .post-list.columns-5 .loop-post,
  .post-list.columns-6 .loop-post {
    width: 50%;
  }

  .post-list.masonry {
    column-count: 2;
  }
}

@media screen and (max-width: 767px) {
  .home .block-content .post-style-grid{
    width: 90% !important;
    margin: 0 auto;
    margin-bottom: 10px;
  }
  .post-list.columns-2 .loop-post,
  .post-list.columns-3 .loop-post,
  .post-list.columns-4 .loop-post,
  .post-list.columns-5 .loop-post,
  .post-list.columns-6 .loop-post {
    width: 100%;
  }

  .post-list.masonry {
    column-count: 1;
  }

  .post-style-list .post-body {
    flex-direction: column;
  }

  .post-style-list .post-thumb {
    flex: none;
    width: 100%;
  }

  .archive-author-box {
    flex-direction: column;
    text-align: center;
  }
}
