/* styles.css - Custom styles for responsive Bootstrap 5 header */

/* Modern Responsive Header Section Custom Design */
.header-custom {
  background: linear-gradient(90deg, #fffde7 60%, #ffe082 100%) !important;
  box-shadow: 0 4px 24px #ffe08255;
  border-bottom: 3px solid #ffe082;
  border-radius: 0 0 18px 18px;
  padding: 0.7rem 0;
}
.navbar {
  background: transparent !important;
}
.navbar-brand {
  color: #cc0000 !important;
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.navbar-nav .nav-link {
  color: #cc0000 !important;
  font-weight: 500;
  border-radius: 6px;
  transition: background 0.2s, color 0.2s;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link:hover {
  background: #ffe082;
  color: #fff !important;
}

/* General header styles */
.header-custom {
  background: #fff;
  box-shadow: 0 2px 8px #f0f0f0;
  padding: 0.5rem 0;
}

.navbar-brand {
  font-weight: 700;
  font-size: 1.5rem;
  color: #cc0000 !important;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.navbar-nav .nav-link {
  color: #222;
  font-weight: 500;
  padding: 0.5rem 1.1rem;
  border-radius: 6px;
  transition: background 0.2s, color 0.2s;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
  background: #ffe082;
  color: #cc0000;
}

/* Hamburger icon custom style */
.navbar-toggler {
  border: none;
  outline: none;
  box-shadow: none !important;
}

.navbar-toggler:focus {
  outline: none;
  box-shadow: none;
}

/* Responsive font sizes */
html { font-size: 16px; }
@media (max-width: 1200px) { html { font-size: 15px; } }
@media (max-width: 992px) { html { font-size: 14px; } }
@media (max-width: 768px) { html { font-size: 13px; } }
@media (max-width: 576px) { html { font-size: 12px; } }

/* Responsive adjustments */
@media (max-width: 991.98px) {
  .navbar-nav {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px #ffe08233;
    margin-top: 0.5rem;
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  }
  .navbar-nav .nav-link {
    margin-bottom: 0.3rem;
  }
}

@media (max-width: 575.98px) {
  .navbar-brand {
    font-size: 1.1rem;
  }
}

/* Section navigation bar custom styles */
.section-navbar-custom {
  border-radius: 10px;
  margin-bottom: 1.5rem;
  box-shadow: 0 1px 6px #ffe08233;
}
.section-navbar-custom .navbar-nav .nav-link {
  color: #1d3557;
  font-weight: 500;
  padding: 0.45rem 1.2rem;
  border-radius: 6px;
  margin: 0 0.2rem;
  transition: background 0.2s, color 0.2s;
}
.section-navbar-custom .navbar-nav .nav-link:hover,
.section-navbar-custom .navbar-nav .nav-link.active {
  background: #ffe082;
  color: #cc0000;
}
@media (max-width: 991.98px) {
  .section-navbar-custom .navbar-nav {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px #ffe08233;
    margin-top: 0.5rem;
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  }
  .section-navbar-custom .navbar-nav .nav-link {
    margin-bottom: 0.3rem;
  }
}
@media (max-width: 575.98px) {
  .section-navbar-custom .navbar-nav .nav-link {
    padding: 0.45rem 0.7rem;
    font-size: 0.98rem;
  }
}

/* Search section custom styles */
.search-section-custom {
  background: #fffbe6;
  border-radius: 14px;
  box-shadow: 0 2px 12px #ffe08233;
  margin-bottom: 1.5rem;
}
.search-section-custom .form-select,
.search-section-custom .form-control {
  border-radius: 8px;
  font-size: 1.08rem;
  padding: 0.6rem 1rem;
  border: 1px solid #ffe082;
  box-shadow: none;
}
.search-section-custom .form-select:focus,
.search-section-custom .form-control:focus {
  border-color: #cc0000;
  box-shadow: 0 0 0 0.15rem #ffe08255;
}
.search-section-custom .btn-danger {
  background: #cc0000;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1.08rem;
  transition: background 0.2s;
}
.search-section-custom .btn-danger:hover {
  background: #a80000;
}
@media (max-width: 767.98px) {
  .search-section-custom .form-select,
  .search-section-custom .form-control {
    font-size: 1rem;
    padding: 0.5rem 0.8rem;
  }
  .search-section-custom .btn-danger {
    font-size: 1rem;
    padding: 0.5rem 0.8rem;
  }
}

/* Agent tables section custom styles */
.agent-tables-section-custom {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 12px #ffe08233;
  margin-bottom: 2rem;
}
.agent-table-card {
  border-radius: 12px;
  box-shadow: 0 2px 10px #ffe08222;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.agent-table-card .card-header {
  font-size: 1.15rem;
  letter-spacing: 1px;
  text-align: center;
}
.agent-table {
  font-size: 0.98rem;
  margin-bottom: 0;
}
.agent-table thead td {
  font-weight: 600;
  color: #cc0000;
  background: #fffbe6;
  border-bottom: 2px solid #ffe082;
}
.agent-table td {
  vertical-align: middle;
  text-align: center;
  padding: 0.55rem 0.3rem;
}
.agent-tables-section-custom .row.g-4 {
  display: block;
}
.agent-tables-section-custom .col-12,
.agent-tables-section-custom .col-md-6,
.agent-tables-section-custom .col-lg-4,
.agent-tables-section-custom .col-lg-6 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  display: block;
  margin-bottom: 1.5rem;
}
.agent-tables-section-custom .card.agent-table-card {
  margin-bottom: 1.5rem;
}
@media (max-width: 991.98px) {
  .agent-tables-section-custom .col-lg-4,
  .agent-tables-section-custom .col-lg-6 {
    max-width: 100%;
    flex: 0 0 100%;
  }
}
@media (max-width: 767.98px) {
  .agent-tables-section-custom .col-md-6 {
    max-width: 100%;
    flex: 0 0 100%;
  }
}
@media (max-width: 575.98px) {
  .agent-tables-section-custom .col-12 {
    max-width: 100%;
    flex: 0 0 100%;
  }
}
@media (max-width: 575.98px) {
  .agent-table-card .card-header {
    font-size: 1rem;
    padding: 0.7rem 0.5rem;
  }
  .agent-table {
    font-size: 0.93rem;
  }
}

/* Single agent table section custom styles */
.agent-table-section-single {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 12px #ffe08233;
  margin-bottom: 2rem;
}
.agent-table-section-single .agent-table-card {
  border-radius: 12px;
  box-shadow: 0 2px 10px #ffe08222;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.agent-table-section-single .card-header {
  font-size: 1.15rem;
  letter-spacing: 1px;
  text-align: center;
}
.agent-table-section-single .agent-table {
  font-size: 0.98rem;
  margin-bottom: 0;
}
.agent-table-section-single .agent-table thead td {
  font-weight: 600;
  color: #cc0000;
  background: #fffbe6;
  border-bottom: 2px solid #ffe082;
}
.agent-table-section-single .agent-table td {
  vertical-align: middle;
  text-align: center;
  padding: 0.55rem 0.3rem;
}
@media (max-width: 575.98px) {
  .agent-table-section-single .card-header {
    font-size: 1rem;
    padding: 0.7rem 0.5rem;
  }
  .agent-table-section-single .agent-table {
    font-size: 0.93rem;
  }
}

/* Modern card/box section styles for FAQ, Welcome, User Safety, Services, Contact */
.card-section {
  margin-bottom: 2rem;
}
.card {
  border-radius: 16px;
  box-shadow: 0 2px 12px #ffe08233;
  border: none;
}
.card-icon {
  font-size: 2.5rem;
  color: #cc0000;
  min-width: 48px;
  text-align: center;
}
.faq-modern-title,
.welcome-modern-title,
.usg-banner .card-title,
.services-modern-title,
.contact-modern-title {
  font-weight: 700;
  color: #cc0000;
  letter-spacing: 1px;
}
.faq-modern-list .faq-modern-item {
  border-bottom: 1px solid #ffe08255;
  padding-bottom: 0.5rem;
}
.faq-modern-list .faq-modern-item:last-child {
  border-bottom: none;
}
.faq-modern-question {
  font-weight: 600;
  color: #1d3557;
  font-size: 1.08rem;
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
  padding: 0.5rem 0;
  cursor: pointer;
}
.faq-modern-answer {
  font-size: 0.98rem;
  color: #444;
  padding: 0.3rem 0 0.7rem 1.2rem;
}
.faq-arrow {
  font-size: 1.1rem;
  color: #cc0000;
}
.welcome-modern-list,
.services-modern-list,
.contact-modern-list,
.usg-banner-list {
  list-style: none;
  padding-left: 0;
}
.welcome-modern-list li,
.services-modern-list li,
.contact-modern-list li,
.usg-banner-list li {
  margin-bottom: 0.3rem;
  font-size: 1.01rem;
}
@media (max-width: 767.98px) {
  .card-body.d-flex {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1rem !important;
  }
  .card-icon {
    font-size: 2rem;
    min-width: 36px;
  }
}

/* Remove forced horizontal scroll and min-width from agent tables */
.agent-table-card .card-body {
  overflow-x: visible !important;
}
.agent-table {
  min-width: 0 !important;
  width: 100% !important;
  table-layout: auto !important;
}
@media (max-width: 576px) {
  .agent-table {
    min-width: 0 !important;
    width: 100% !important;
    font-size: 0.95rem;
  }
}

/* Ensure no horizontal scroll on body */
body { overflow-x: hidden; }
/* Card and section spacing for mobile */
.card-section { margin-bottom: 1.5rem; }
/* FAQ and Welcome section tweaks */
.faq-modern-question { font-size: 1rem; }
.faq-modern-answer { font-size: 0.97rem; }
.welcome-modern-text, .usg-banner-text, .services-modern-text, .contact-modern-text {
  font-size: 1rem;
}
/* Table cell padding for mobile */
@media (max-width: 576px) {
  .agent-table td, .agent-table th { padding: 0.4rem 0.3rem; }
}
/* Make nav and header sticky on mobile for better UX */
@media (max-width: 576px) {
  .header-custom, .section-navbar-custom { position: sticky; top: 0; z-index: 1020; }
}

/* FAQ collapse/expand animation */
.faq-modern-answer.collapse {
  display: none;
}
.faq-modern-answer.show {
  display: block;
  animation: fadeIn 0.3s;
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* FAQ Modern Section Custom Design */
.faq-modern.card-section {
  background: linear-gradient(135deg, #fffbe6 60%, #ffe082 100%);
  border-radius: 18px;
  box-shadow: 0 4px 24px #ffe08255;
  padding: 1.5rem 0.5rem;
}
.faq-card {
  background: #fffbe6;
  border-radius: 16px;
  box-shadow: 0 2px 12px #ffe08299;
  border: 1px solid #ffe082;
}
.faq-modern-title.card-title {
  background: linear-gradient(90deg, #ffe082 60%, #fffbe6 100%);
  border-radius: 10px;
  padding: 0.7rem 0;
  color: #cc0000;
  font-weight: 700;
  box-shadow: 0 1px 6px #ffe08255;
}
.faq-modern-list {
  margin-top: 1rem;
}
.faq-modern-item {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 1px 6px #ffe08233;
  margin-bottom: 1rem;
  padding: 0.5rem 1rem;
  border-left: 4px solid #ffe082;
  transition: box-shadow 0.2s;
}
.faq-modern-item:hover {
  box-shadow: 0 4px 16px #ffe08255;
}
.faq-modern-question {
  font-size: 1.08rem;
  color: #cc0000;
  font-weight: 600;
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
  padding: 0.5rem 0;
  cursor: pointer;
  width: 100%;
  text-align: left;
}
.faq-modern-answer {
  background: #fffbe6;
  border-radius: 8px;
  margin-top: 0.5rem;
  padding: 0.7rem 1rem 0.7rem 1.5rem;
  color: #444;
  font-size: 1.01rem;
  border-left: 3px solid #ffe082;
  box-shadow: 0 1px 4px #ffe08222;
}
.faq-arrow {
  color: #cc0000;
  font-size: 1.2rem;
  font-weight: bold;
}
@media (max-width: 576px) {
  .faq-modern.card-section {
    padding: 1rem 0.2rem;
  }
  .faq-modern-item {
    padding: 0.5rem 0.5rem;
  }
  .faq-modern-answer {
    padding: 0.6rem 0.7rem 0.6rem 1rem;
  }
}

/* Welcome Section Modern Card Custom Design */
.welcome-modern.card-section {
  background: linear-gradient(135deg, #e3f9e5 60%, #b2f2bb 100%);
  border-radius: 18px;
  box-shadow: 0 4px 24px #b2f2bb55;
  padding: 1.5rem 0.5rem;
}
.welcome-card {
  background: #e3f9e5;
  border-radius: 16px;
  box-shadow: 0 2px 12px #b2f2bb99;
  border: 1px solid #b2f2bb;
}
.welcome-modern-title.card-title {
  background: linear-gradient(90deg, #b2f2bb 60%, #e3f9e5 100%);
  border-radius: 10px;
  padding: 0.7rem 0;
  color: #1b5e20;
  font-weight: 700;
  box-shadow: 0 1px 6px #b2f2bb55;
}
.welcome-modern-list li {
  background: #fff;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  padding: 0.4rem 0.8rem;
  box-shadow: 0 1px 4px #b2f2bb22;
  color: #1b5e20;
}
@media (max-width: 576px) {
  .welcome-modern.card-section {
    padding: 1rem 0.2rem;
  }
  .welcome-modern-list li {
    padding: 0.3rem 0.5rem;
  }
}

/* User Safety Guidelines Banner Modern Card Custom Design */
.usg-banner.card-section {
  background: linear-gradient(135deg, #e3f2fd 60%, #bbdefb 100%);
  border-radius: 18px;
  box-shadow: 0 4px 24px #90caf955;
  padding: 1.5rem 0.5rem;
}
.usg-card {
  background: #e3f2fd;
  border-radius: 16px;
  box-shadow: 0 2px 12px #90caf999;
  border: 1px solid #90caf9;
}
.usg-banner .card-title {
  background: linear-gradient(90deg, #bbdefb 60%, #e3f2fd 100%);
  border-radius: 10px;
  padding: 0.7rem 0;
  color: #1565c0;
  font-weight: 700;
  box-shadow: 0 1px 6px #90caf955;
}
.usg-banner-list li {
  background: #fff;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  padding: 0.4rem 0.8rem;
  box-shadow: 0 1px 4px #90caf922;
  color: #1565c0;
}
@media (max-width: 576px) {
  .usg-banner.card-section {
    padding: 1rem 0.2rem;
  }
  .usg-banner-list li {
    padding: 0.3rem 0.5rem;
  }
}

/* Services Offered Section Modern Card Custom Design */
.services-modern.card-section {
  background: linear-gradient(135deg, #fff3e0 60%, #ffe0b2 100%);
  border-radius: 18px;
  box-shadow: 0 4px 24px #ffcc8055;
  padding: 1.5rem 0.5rem;
}
.services-card {
  background: #fff3e0;
  border-radius: 16px;
  box-shadow: 0 2px 12px #ffcc8099;
  border: 1px solid #ffcc80;
}
.services-modern-title.card-title {
  background: linear-gradient(90deg, #ffe0b2 60%, #fff3e0 100%);
  border-radius: 10px;
  padding: 0.7rem 0;
  color: #e65100;
  font-weight: 700;
  box-shadow: 0 1px 6px #ffcc8055;
}
.services-modern-list li {
  background: #fff;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  padding: 0.4rem 0.8rem;
  box-shadow: 0 1px 4px #ffcc8022;
  color: #e65100;
}
@media (max-width: 576px) {
  .services-modern.card-section {
    padding: 1rem 0.2rem;
  }
  .services-modern-list li {
    padding: 0.3rem 0.5rem;
  }
}

/* Contact Us Section Modern Card Custom Design */
.contact-modern.card-section {
  background: linear-gradient(135deg, #f3e5f5 60%, #ce93d8 100%);
  border-radius: 18px;
  box-shadow: 0 4px 24px #ce93d855;
  padding: 1.5rem 0.5rem;
}
.contact-card {
  background: #f3e5f5;
  border-radius: 16px;
  box-shadow: 0 2px 12px #ce93d899;
  border: 1px solid #ce93d8;
}
.contact-modern-title.card-title {
  background: linear-gradient(90deg, #ce93d8 60%, #f3e5f5 100%);
  border-radius: 10px;
  padding: 0.7rem 0;
  color: #6a1b9a;
  font-weight: 700;
  box-shadow: 0 1px 6px #ce93d855;
}
.contact-modern-list li {
  background: #fff;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  padding: 0.4rem 0.8rem;
  box-shadow: 0 1px 4px #ce93d822;
  color: #6a1b9a;
}
@media (max-width: 576px) {
  .contact-modern.card-section {
    padding: 1rem 0.2rem;
  }
  .contact-modern-list li {
    padding: 0.3rem 0.5rem;
  }
}

/* Modern Responsive Footer Section Custom Design */
.footer-modern.card-section {
  background: linear-gradient(135deg, #e0f7fa 60%, #80deea 100%) !important;
  border-radius: 18px 18px 0 0;
  box-shadow: 0 -2px 24px #80deea55;
  padding: 1.5rem 0.5rem 0.5rem 0.5rem;
  border-top: 3px solid #00bcd4;
}
.footer-modern {
  color: #006064;
}
.footer-modern .footer-links a {
  color: #006064 !important;
  font-weight: 500;
  transition: color 0.2s;
}
.footer-modern .footer-links a:hover {
  color: #00bcd4 !important;
  text-decoration: underline;
}
@media (max-width: 576px) {
  .footer-modern.card-section {
    padding: 1rem 0.2rem 0.2rem 0.2rem;
    border-radius: 12px 12px 0 0;
  }
}

/* Modern colorful gradients for each agent table card */
#card-AGENT {
  background: linear-gradient(135deg, #ffe082 60%, #fffde7 100%);
  box-shadow: 0 4px 24px #ffe08255;
  border: 2px solid #ffe082;
}
#card-SERVICE {
  background: linear-gradient(135deg, #b2f2bb 60%, #e3f9e5 100%);
  box-shadow: 0 4px 24px #b2f2bb55;
  border: 2px solid #b2f2bb;
}
#card-ADMIN {
  background: linear-gradient(135deg, #90caf9 60%, #e3f2fd 100%);
  box-shadow: 0 4px 24px #90caf955;
  border: 2px solid #90caf9;
}
#card-SUPER {
  background: linear-gradient(135deg, #ffe082 60%, #fffde7 100%);
  box-shadow: 0 4px 24px #ffe08255;
  border: 2px solid #ffe082;
}
#card-MASTER {
  background: linear-gradient(135deg, #bdbdbd 60%, #f5f5f5 100%);
  box-shadow: 0 4px 24px #bdbdbd55;
  border: 2px solid #bdbdbd;
}

/* Card header gradients for each type */
#card-AGENT .card-header {
  background: linear-gradient(90deg, #ff9800 60%, #ffe082 100%) !important;
  color: #fff !important;
  letter-spacing: 1px;
}
#card-SERVICE .card-header {
  background: linear-gradient(90deg, #43a047 60%, #b2f2bb 100%) !important;
  color: #fff !important;
  letter-spacing: 1px;
}
#card-ADMIN .card-header {
  background: linear-gradient(90deg, #1976d2 60%, #90caf9 100%) !important;
  color: #fff !important;
  letter-spacing: 1px;
}
#card-SUPER .card-header {
  background: linear-gradient(90deg, #ffd600 60%, #fffde7 100%) !important;
  color: #333 !important;
  letter-spacing: 1px;
}
#card-MASTER .card-header {
  background: linear-gradient(90deg, #424242 60%, #bdbdbd 100%) !important;
  color: #fff !important;
  letter-spacing: 1px;
}

/* Table header and row styles for modern look */
.agent-table thead td {
  background: transparent !important;
  color: #222;
  font-weight: 700;
  border-bottom: 2px solid #fff;
  font-size: 1.05rem;
}
.agent-table tbody tr {
  transition: background 0.18s;
}
.agent-table tbody tr:hover {
  background: #fffde7cc;
}
#card-SERVICE .agent-table tbody tr:hover {
  background: #e3f9e5cc;
}
#card-ADMIN .agent-table tbody tr:hover {
  background: #e3f2fdcc;
}
#card-SUPER .agent-table tbody tr:hover {
  background: #fffde7cc;
}
#card-MASTER .agent-table tbody tr:hover {
  background: #f5f5f5cc;
}

/* Card and table border radius for smooth look */
.agent-table-card, .agent-table {
  border-radius: 16px !important;
}
.agent-table {
  overflow: hidden;
}

/* Table cell tweaks for clarity */
.agent-table td {
  background: rgba(255,255,255,0.85);
  border-color: #eee;
}

/* Responsive spacing for agent table cards */
@media (max-width: 767.98px) {
  .agent-table-card {
    margin-bottom: 1.2rem;
  }
}

/* Table data cell color coding for each agent type */
#card-AGENT .agent-table td {
  background: rgba(255, 248, 225, 0.95) !important;
  color: #b26a00;
  font-weight: 500;
}
#card-SERVICE .agent-table td {
  background: rgba(227, 249, 229, 0.95) !important;
  color: #1b5e20;
  font-weight: 500;
}
#card-ADMIN .agent-table td {
  background: rgba(227, 242, 253, 0.95) !important;
  color: #1565c0;
  font-weight: 500;
}
#card-SUPER .agent-table td {
  background: rgba(255, 248, 225, 0.95) !important;
  color: #b28900;
  font-weight: 500;
}
#card-MASTER .agent-table td {
  background: rgba(245, 245, 245, 0.97) !important;
  color: #333;
  font-weight: 500;
}

/* Highlighted row for search */
.agent-table tbody tr[style*="background-color: #ffe082"] td {
  background: #ffe082 !important;
  color: #b26a00 !important;
}

/* Make COMPLAIN (অভিযোগ) column background and link red */

.agent-table td:nth-child(6) a {
  color: #c62828 !important;
  text-decoration: underline dotted;
  font-weight: 700;
}
.agent-table td:nth-child(6) a:hover {
  color: #b71c1c !important;
}

/* News ticker styles */
.news-ticker-container {
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 100;
}
.news-ticker-label {
  font-size: 1rem;
  letter-spacing: 1px;
}
.news-ticker {
  position: relative;
  overflow: hidden;
  height: 1.5em;
  vertical-align: middle;
}
.news-ticker-text {
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  animation: ticker-scroll 18s linear infinite;
  font-size: 1rem;
}
@keyframes ticker-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}
