/* @import url("./MS-Globals.css"); */

/* --------- BUtton --------- */
.btn-primary,
.btn-secondary {
  min-width: 120px;
  margin-right: 10px;
}

/* Logo Styles */
.logo-default {
  min-height: 64px;
  padding: 5%; 
}

/* Site Header adjustments */
.static-top.navbar .menu-bar > ul.navbar-nav > li > a:hover,
.navbar-dark .navbar-nav a.show, .navbar-dark .navbar-nav a.dropdown-toggle.show
{
  color:white;
  text-decoration: none!important;
}

.static-top.navbar .menu-bar > ul.navbar-nav > li > a:visited
{
  text-decoration: none!important;
}

#navbar ul.dropdown-menu
{
  padding:0;
  width:100%;
}

#navbar ul.dropdown-menu li
{
  padding-top:8px;
  border-radius: 5px;
}

#navbar ul.dropdown-menu li:hover
{
  background-color: #000;
}

#navbar ul.dropdown-menu li a
{
  text-align: center;
}

#navbar ul.dropdown-menu li.dropdown-divider
{
  margin:0;
  padding:0;
}

@media screen and (max-width: 600px)
{
  .static-top.navbar .menu-bar > .navbar-nav > li > a
  {
    text-align: center;
  }
}

/* Page Title and Header */
ul.breadcrumb {
    margin: 0 !important;
    padding: 0 !important;
}

.breadcrumb>li+li:before {
    content: "> ";
    padding: 0 5px;
    color: #666;
}

.breadcrumb {
  font-size: 20px;
}

.page-header h1 {
    margin-top: 5px;
}

.page-header {
    padding: 0;
    border: 0;
    margin: 0;
}

ul li {
    padding: 0 0 .75rem 0;
}

html[dir=ltr] li a {
    margin-left: 0px;
}

.breadcrumb > li a {
  padding: 0px;
}

/* Fixes Progress Bar on Mobile */
@media (max-width: 767px) {
    ol.progress.list-group.left, ol.progress.list-group.right {
        flex-direction: column;
    }
}

/* ----------------------- VIEWS GENERAL --------------------- */
.entity-grid div.view-grid
{
  overflow: visible;
}

td[aria-label="action menu"] .dropdown.action ul
{
  padding:0;
}

td[aria-label="action menu"] .dropdown.action ul li
{
  padding-top:8px;
}

td[aria-label="action menu"] .dropdown.action ul li:hover
{
  background-color: #5fceea;
  border-radius: 5px;
}

/* ----------------------- FORMS GENERAL --------------------- */

/* General input styling */
input::placeholder, textarea::placeholder
{
  color: grey!important;
}

#EntityFormPanel {
  border: none !important;
}

.crmEntityFormView {
  border: none !important;
}

input.pretend-disabled, textarea.pretend-disabled
{
  background-color: lightgrey!important;
}

h2.tab-title {
    display: none;
}

/* Hide sections */
fieldset[aria-label="Hidden"] {
  display: none;
}

/* ----------------------- TABS --------------------- */
/* Tabs */
.nav-tabs {
  list-style: none;
  padding-left: 0;
  margin: 20px 0 20px 0;
  display: flex;
  border-bottom: 2px solid #ccc;
}

/* Tab item */
.nav-tabs li {
  margin-right: 2rem;
}

/* Tab link base */
.nav-tabs a {
  text-decoration: none;
  font-weight: bold;
  padding-bottom: 0.5rem;
  display: inline-block;
  border-bottom: 4px solid transparent;
  color: var(--color-indigo);
}

/* Active tab */
.nav-tabs li.active a {
  border-bottom: 4px solid var(--color-indigo);
  color: var(--color-indigo);
}

/* ----------------------- READ ONLY FORM --------------------- */
#EntityFormPanel .form-readonly h2.tab-title {
  display: none;
}

/* --------- Quick View --------- */
#EntityFormPanel .form-readonly .crmquickform-cell .table-info .field-label {
    display: none;
}

#EntityFormPanel .form-readonly .crmquickform-cell {
    border: none !important;
    padding: 0 !important;
}

/* ----------------------------- Cards ----------------------------- */

/* Make all cards the same height with footer buttons aligned */
.card.equal{ 
  display:flex; 
  flex-direction:column; 
  height:100%; 
}

/* Header: keep badge pinned, title never overlaps, consistent height */
.card.equal .card-header{
  position:relative;
  min-height: 3.75rem;
  padding-right: 8rem;
}
.card.equal .card-header strong{ display:block; }
.card.equal .status-badge {
  position:absolute; 
  top:.5rem; 
  right:.75rem;
  padding: 5px 10px;
}

/* Pill-Color: Styling the pill color */
.draft .status-badge { background-color: var(--portalThemeColor5); }
.in-progress .status-badge { background-color: var(--portalThemeColor2); }
.completed .status-badge { background-color: var(--portalThemeColor8); }

/* Body: summary grows so due date lines up at the same vertical position */
.card.equal .card-body{
  min-height: 3.75rem;
  display:flex; flex-direction:column;
}
.card.equal .summary{ flex:1 1 auto; }
.card.equal .due{ margin-top:auto; }

/* Slightly reduce reserved badge room on very small screens */
@media (max-width:576px){
  .card.equal .card-header {
      padding-right: 6.5rem;
    }
}






/* --- Navy accordion (compiled/clean) --- */
.accordion.pp-accord {
  --pp-indigo: var(--color-indigo, #282c5c);

  --bs-accordion-bg: #fff;
  --bs-accordion-border-color: transparent;
  --bs-accordion-border-radius: 2px;      /* ↓ smaller radius */
  --bs-accordion-btn-bg: var(--pp-indigo);
  --bs-accordion-btn-color: #fff;
  --bs-accordion-active-bg: var(--pp-indigo);
  --bs-accordion-active-color: #fff;
  --bs-accordion-btn-padding-y: 12px;
  --bs-accordion-btn-padding-x: 18px;
  --bs-accordion-body-padding-y: 18px;
  --bs-accordion-body-padding-x: 22px;

  /* Tighten the space BELOW the whole accordion block */
  margin-bottom: 12px !important;
}

.accordion.pp-accord .accordion-item {
  border: 0;
  border-radius: 2px;                  
  overflow: hidden;
  margin-bottom: 8px;                   
}

.accordion.pp-accord .accordion-button {
  font-weight: 600;
  border-radius: 2px !important;          
}

.accordion.pp-accord .accordion-button:not(.collapsed) {
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.08);
}

.accordion.pp-accord .accordion-button::after {
  filter: invert(1) brightness(2); /* white chevron */
}

.accordion.pp-accord .accordion-button:focus {
  box-shadow: 0 0 0 .2rem rgba(40,44,92,.28);
}

.accordion.pp-accord .accordion-body li {
  font-size: inherit;
}

/* --- Nested accordions (lighter blue headers) --- */
.accordion.pp-accord.nested {
  --bs-accordion-btn-bg: #3d4a91;
  --bs-accordion-active-bg: #3d4a91;
  --bs-accordion-btn-color: #fff;
  --bs-accordion-active-color: #fff;
}

.accordion.pp-accord.nested .accordion-button::after {
  filter: invert(1) brightness(2);
}

/* --- Terms & Conditions checkbox text --- */
#terms-and-conditions-section .checkbox label,
#terms-and-conditions-section label[for="terms-conditions-confirmation"] {
  font-family: Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: inherit !important;
}

/* Align the box with the first text line */
#terms-and-conditions-section .checkbox input[type="checkbox"],
#terms-and-conditions-section input#terms-conditions-confirmation[type="checkbox"] {
  position: relative;
  top: 2px;
  margin-right: 8px;
}

/* Reduce spacing ONLY inside the Terms & Conditions area */
#terms-and-conditions-section .terms-and-conditions {
  margin-top: 10px !important;    
  margin-bottom: 10px !important;  
}

#terms-and-conditions-section .container.columnBlockLayout {
  margin-top: 30px !important;     
  margin-bottom: 5px !important; 
  padding-top: 12px !important;    
  padding-bottom: 0px !important;  
}


/* Tighten vertical spacing around the checkbox & button */
#terms-and-conditions-section .mb-3[role="presentation"] {
  margin-top: 8px !important;
  margin-bottom: 40px !important;
}
#submit-agreement { margin-top: 10px !important; }

/* extra top spacing sneaks in on the accordion */
section[aria-label="Full Privacy Statement"] .accordion { margin-top: 0 !important; }

/* Align Confirm button with accordion start */
#terms-and-conditions-section #submit-agreement {
  margin-left: 18px;   
  margin-top: 12px !important;
}


