/*
Theme Name: Tamang Samaj
Theme URI: https://www.tamangsamaj.com
Author: Kunsang Tamang
Author URI: https://www.kunsang.net
Description: Custom WordPress theme developed by Mama Group. Designed for professional, modern, and scalable websites using Bootstrap 5.
Version: 2.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mamagroup-theme
Tags: bootstrap, responsive, modern, custom-theme, multipurpose

Copyright (c) 2025 .
All rights reserved. This theme is distributed under the terms of the GNU General Public License (GPL), but the Mama Group name, logo, brand identity, and any proprietary designs or content are protected under applicable intellectual property laws and may not be reused without explicit written permission.
*/

/* ===========================
   FONT: POPPINS (Self-hosted)
=========================== */

@font-face {
  font-family: "Poppins";
  src: url("assets/fonts/poppins/poppins-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("assets/fonts/poppins/poppins-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("assets/fonts/poppins/poppins-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("assets/fonts/poppins/poppins-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ===================
   Base Typography 
=================== */
:root {
  --ts-font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --ts-text: #101011;
  --ts-accent: #ef582c;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: var(--ts-font);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ts-text);
  background-color: #fff;
  margin: 0;
  padding: 0;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--ts-font);
  margin: 0 0 .6rem;
  color: var(--ts-text);
}

/* Paragraphs */
p {
  margin: 0 0 1.1rem;
  font-weight: 400;
  /* font-size: 1rem;  optional; inherits from body */
}

/* Links (UI-safe) */
a {
  color: var(--ts-accent);
  text-decoration: none;
}

/* Underline only for content links (not header/footer UI) */
.entry-content a:hover,
.ts-content a:hover,
article a:hover {
  text-decoration: underline;
  text-underline-offset: .18em;
}

a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 .2rem rgba(239, 88, 44, .28);
  border-radius: .35rem;
}

/* Strong and bold */
strong,
b {
  font-weight: 600;
}

/* Buttons + form controls inherit font */
button,
.btn,
input,
textarea,
select {
  font: inherit;
}

/* ===========================
   DESKTOP HEADER 
=========================== */

/* Sticky header */
.header--sticky {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, .06);
}

/* Offcanvas button */
.header__offcanvas-btn {
  border: 0;
  background: transparent;
  padding: .25rem .5rem;
  line-height: 1;
}

.header__offcanvas-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 .2rem rgba(239, 88, 44, .25);
  border-radius: .5rem;
}

/* ---------------------------
   NAV MENU
---------------------------- */

.header__menu {
  font-size: 1.1rem;
  font-weight: 600;
}

/* Top-level links (Bootstrap-safe) */
.header__menu-link.nav-link {
  color: var(--ts-text, #2b2a27);
  text-decoration: none !important;
  padding: .1rem .1rem;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  line-height: 1.2;
  transition: color .2s ease;
}

/* Remove underline everywhere in header links */
.header__menu-link.nav-link:hover,
.header__menu-link.nav-link:focus,
.header__submenu-link.dropdown-item,
.header__submenu-link.dropdown-item:hover {
  text-decoration: none !important;
}

/* Hover / active */
.header__menu-link.nav-link:hover,
.header__menu-link.nav-link:focus,
.header__menu-item:hover>.header__menu-link.nav-link,
.header__menu-item.active>.header__menu-link.nav-link {
  color: var(--ts-accent, #ef582c);
}

/* Dropdown menu */
.header__submenu.dropdown-menu {
  padding: .5rem 0;
  min-width: 220px;
  border: 1px solid rgba(0, 0, 0, .06);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
  overflow: hidden;
}

/* Dropdown items */
.header__submenu-link.dropdown-item {
  font-size: .95rem;
  color: #333;
  font-weight: 500;
  padding: .55rem 1rem;
  transition: background-color .15s ease, color .15s ease;
}

.header__submenu-link.dropdown-item:hover {
  background-color: var(--ts-primary, #243c7c);
  color: #fff;
}

/* Focus styles */
.header__menu-link:focus-visible,
.header__submenu-link:focus-visible,
.custom-signin-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 .2rem rgba(239, 88, 44, .28);
  border-radius: .5rem;
}

/* Sign-in button */
.custom-signin-btn {
  background-color: var(--ts-accent, #ef582c);
  border: 1px solid var(--ts-accent, #ef582c);
  color: #fff;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.custom-signin-btn:hover {
  background-color: var(--ts-primary, #243c7c);
  border-color: var(--ts-primary, #243c7c);
  color: #fff;
}

/* ================================
   TS User Dropdown 
================================== */

@media (min-width: 992px) {

  .ts-user-dropdown {
    position: relative;
  }

  /* Remove Bootstrap's default spacing that can create a hover "gap" */
  .ts-user-dropdown>.dropdown-menu {
    display: none;
    /* we control hover open */
    margin-top: 0 !important;
    /* IMPORTANT: no gap */
    top: 100%;
    right: 0;
    left: auto;
    z-index: 1055;
    /* above header items */
  }

  /* Show on hover OR while keyboard focusing items */
  .ts-user-dropdown:hover>.dropdown-menu,
  .ts-user-dropdown:focus-within>.dropdown-menu {
    display: block;
  }

  /* Hover bridge so menu doesn't disappear when moving cursor down */
  .ts-user-dropdown>.dropdown-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -12px;
    height: 12px;
  }

  /* Keep the button looking normal (optional) */
  .ts-user-dropdown .dropdown-toggle::after {
    margin-left: .5rem;
  }
}

/* Optional: smoother feel on all sizes */
.ts-user-dropdown .dropdown-menu {
  border-radius: 14px;
}

/* Search suggestions */
#searchSuggestions {
  max-height: 250px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .12);
  border-top: 0;
  border-radius: 0 0 .5rem .5rem;
  -webkit-overflow-scrolling: touch;
}


/* ------------------------
  Offcanvas Mobile Menu
------------------------- */
.header-mobile .offcanvas-body {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.header-mobile__icon {
  color: #88940b;
  font-size: 1.1rem;
}

.header-mobile__scroll {
  flex-grow: 1;
  overflow-y: auto;
}

.header-mobile__link {
  color: #0d0e05;
  font-weight: 500;
}

.header-mobile__link:hover {
  color: #88940b
}

.header-mobile__cta {
  background-color: #fff;
  position: sticky;
  bottom: 0;
  z-index: 10;
}

/* Info and Expert */
.header-mobile__info i,
.header-mobile__expert i {
  font-size: 1rem;
}

.header-mobile__expert img {
  width: 40px;
  height: 40px;
  object-fit: cover;
}

/* ===========================
   HOME : BLOG
=========================== */

/* Blog Section Overlay */
.blog-section {
  position: relative;
}

.blog-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1d3a75d2;
  /* Adjust the overlay color & opacity */
  z-index: 0;
}

.blog-section .container {
  position: relative;
  z-index: 1;
}

/* ===========================
   SINGLE BLOG PAGE
=========================== */
/* Social Share Sticky (Desktop & Tablet) */
.social-share {
  position: fixed;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 1000;
}

/* Social Share Section (Mobile) - Placed at the End */
.social-share-mobile {
  position: sticky;
  bottom: 0;
  left: 12px;
  width: 100%;
  padding: 15px 0;
  text-align: center;
  z-index: 999;
}

/* Social Icon Buttons */
.social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  font-size: 18px;
  color: white;
  transition: all 0.3s ease-in-out;
}

/* Individual Colors */
.facebook {
  background: #1877F2;
}

.messenger {
  background: #0084FF;
}

.viber {
  background: #7C4DFF;
}

.whatsapp {
  background: #25D366;
}

.telegram {
  background: #0088CC;
}

.email {
  background: #D44638;
}

/* Hover Effect */
.social-icon:hover {
  opacity: 0.8;
  transform: scale(1.1);
}

/* Mobile Visibility */
@media (max-width: 768px) {
  .social-share {
    display: none;
    /* Hide Desktop Sticky Share */
  }

  .social-share-mobile {
    display: flex;
  }
}

/* ===========================
   PAGE : ABOUT US
=========================== */
.accordion-button {
  font-size: 1rem !important;
  font-weight: 600 !important;
}

.accordion-body {
  font-size: 0.9rem !important;
}

/* ===========================
   TEMPLATE PARTS: SOCIAL SHARE
=========================== */

.mg-social-share {
  font-family: inherit;
}

.mg-social-share__sticky {
  position: sticky;
  top: 100px;
  z-index: 2;
}

.mg-social-share__label {
  display: flex;
  align-items: center;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #39271B;
}

.mg-social-share__label i {
  margin-right: 0.5rem;
  font-size: 1rem;
  color: inherit;
}

.mg-social-share__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* Modifier for vertical layout */
.mg-social-share--vertical .mg-social-share__list {
  flex-direction: column;
}

.mg-social-share__item {
  margin: 0;
}

.mg-social-share__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 1.1rem;
  /* ~18px */
  border-radius: 50%;
  transition: all 0.3s ease;
  color: #fff;
  text-decoration: none;
  line-height: 1;
  padding: 0;
}

/* Hover effect */
.mg-social-share__btn:hover {
  transform: scale(1.1);
  opacity: 0.9;
}

/* Platform Colors (Official) */
.btn-facebook {
  background-color: #3b5998;
}

.btn-twitter {
  background-color: #1da1f2;
}

.btn-linkedin {
  background-color: #0077b5;
}

.btn-whatsapp {
  background-color: #25D366;
}

.btn-telegram {
  background-color: #0088cc;
}

.btn-pinterest {
  background-color: #bd081c;
}

.btn-messenger {
  background-color: #0084ff;
}

.btn-viber {
  background-color: #8f5db7;
}

.btn-email {
  background-color: #7b7b7b;
}

.btn-print {
  background-color: #444444;
}

/* Optional hover consistency */
.btn-facebook:hover,
.btn-twitter:hover,
.btn-linkedin:hover,
.btn-whatsapp:hover,
.btn-telegram:hover,
.btn-pinterest:hover,
.btn-messenger:hover,
.btn-viber:hover,
.btn-email:hover,
.btn-print:hover {
  background-color: #AC3048;
  color: #ffc107;
}

/* ============================
  BUTTON GLOBAL PRIMARY CTA
=========================== */
/* Global Primary CTA Button */
.btn-primary-cta {
  background-color: #FFD52E;
  color: #212529;
  border: none;
  border-radius: 0.5rem;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.5px;
  padding: 0.6rem 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  text-decoration: none;
}

.btn-primary-cta:hover,
.btn-primary-cta:focus {
  background-color: #f5c518;
  color: #000;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
}

.btn-primary-cta:active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

.btn-primary-cta i {
  font-size: 0.9rem;
}

/* ===========================
   BLOG CARD FEATURED
   Built with BEM + Bootstrap 5.3.3
=========================== */

/* Card container */
.blog-card-featured {
  position: relative;
  overflow: hidden;
}

/* Featured image */
.blog-card-featured__image {
  object-fit: cover;
  height: 100%;
}

/* Overlay background */
.blog-card-featured__overlay {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
  padding-top: 4rem;
}

/* Category, title, and author text shadow */
.blog-card-featured__category,
.blog-card-featured__title,
.blog-card-featured__author-name,
.blog-card-featured__date {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
}

/* Author block */
.blog-card-featured__author {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Author avatar */
.blog-card-featured__avatar {
  width: 40px;
  height: 40px;
  object-fit: cover;
  margin-bottom: 0.5rem;
}

/* ====================
   CATEGORY ARCHIVE 
======================= */

.ts-archive-wrap {
  background: #f6f8fc;
}

/* Hero */
.ts-archive-hero {
  background:
    radial-gradient(900px 300px at 20% 0%, rgba(239, 88, 44, .12), transparent 55%),
    radial-gradient(900px 300px at 80% 0%, rgba(36, 60, 124, .12), transparent 55%),
    #fff;
  border: 1px solid rgba(36, 60, 124, .08);
}

/* Hero text (from final PHP) */
.ts-archive-title {
  color: #243c7c;
  letter-spacing: .3px;
}

.ts-archive-desc {
  color: rgba(11, 18, 32, .65);
  font-size: 1.05rem;
}

/* Kicker badge */
.ts-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem .75rem;
  border-radius: 999px;
  background: rgba(239, 88, 44, .12);
  color: #ef582c;
  font-weight: 700;
  font-size: .85rem;
}

/* Post card */
.ts-post-card {
  border: 0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}

.ts-post-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(0, 0, 0, .10);
}

.ts-thumb {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

/* Category label */
.ts-cat a {
  text-decoration: none;
  color: #ef582c;
  font-weight: 700;
  letter-spacing: .4px;
}

/* Title */
.ts-title a {
  color: #0b1220;
  text-decoration: none;
}

.ts-title a:hover {
  color: #243c7c;
}

/* Meta */
.ts-meta {
  color: rgba(11, 18, 32, .65);
  font-size: .9rem;
}

/* Widgets */
.ts-widget {
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(36, 60, 124, .08);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
  overflow: hidden;
}

.ts-widget__head {
  padding: 1rem 1.25rem;
  background: linear-gradient(90deg, rgba(36, 60, 124, .10), rgba(239, 88, 44, .08));
  border-bottom: 1px solid rgba(36, 60, 124, .08);
}

.ts-widget__title {
  margin: 0;
  font-weight: 800;
  color: #243c7c;
  letter-spacing: .2px;
}

.ts-widget__body {
  padding: 1.25rem;
}

/* Latest posts */
.ts-latest-item+.ts-latest-item {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed rgba(36, 60, 124, .15);
}

.ts-latest-thumb {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(36, 60, 124, .08);
  flex-shrink: 0;
}

.ts-latest-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Latest post text (from final PHP) */
.ts-latest-title {
  color: #243c7c;
  line-height: 1.25;
}

.ts-latest-title:hover {
  color: #ef582c;
}

.ts-latest-meta {
  color: rgba(11, 18, 32, .60);
}

/* Category chips */
.ts-chip {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .55rem .8rem;
  border-radius: 999px;
  border: 1px solid rgba(36, 60, 124, .12);
  background: #fff;
  text-decoration: none;
  color: #0b1220;
  font-weight: 600;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.ts-chip:hover {
  transform: translateY(-1px);
  background: rgba(239, 88, 44, .06);
  border-color: rgba(239, 88, 44, .35);
}

.ts-chip__count {
  font-size: .82rem;
  font-weight: 800;
  color: #243c7c;
  background: rgba(36, 60, 124, .10);
  padding: .15rem .5rem;
  border-radius: 999px;
}

/* Pagination (scoped to our archive to avoid affecting other pagination) */
.ts-archive-wrap .page-numbers {
  list-style: none;
  display: flex;
  gap: .5rem;
  padding-left: 0;
  flex-wrap: wrap;
  margin: 0;
}

.ts-archive-wrap .page-numbers a,
.ts-archive-wrap .page-numbers span {
  min-width: 42px;
  height: 42px;
  padding: 0 .85rem;
  border-radius: 12px;
  border: 1px solid rgba(36, 60, 124, .15);
  font-weight: 700;
  color: #243c7c;
  background: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.ts-archive-wrap .page-numbers a:hover {
  background: rgba(239, 88, 44, .06);
  border-color: rgba(239, 88, 44, .35);
  transform: translateY(-1px);
}

.ts-archive-wrap .page-numbers .current {
  background: #243c7c;
  color: #fff;
  border-color: #243c7c;
}

/* Accessibility: focus states */
.ts-archive-wrap a:focus-visible {
  outline: 2px solid rgba(239, 88, 44, .55);
  outline-offset: 3px;
  border-radius: 12px;
}

/* ========================
CARD MEDIA STANDARD
=========================== */
.ts-media-16x9 {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* ===========================
   FOOTER: GTranslate Floating Button
=========================== */
#floating-gtranslate {
  position: fixed;
  bottom: 80px;
  left: 20px;
  z-index: 9999;
  background-color: rgba(209, 205, 205, 0.7);
  /* optional background */
  padding: 5px 10px;
  border-radius: 8px;
  color: #fff;
}