/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */
 /* Resource Links Styles */

 .case-study-resource-links {
     display: flex;
     flex-wrap: wrap;
     gap: 10px;
 }

 .case-study-resource-links.display-block {
     flex-direction: column;
 }

 .case-study-resource-links.display-block .case-study-resource-link {
     display: block;
     text-align: center;
 }

 .case-study-resource-link {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     text-decoration: none;
     transition: all 0.3s ease;
 }

 .case-study-resource-link:hover {
     text-decoration: none;
 }

 .case-study-no-links {
     width: 100%;
     text-align: center;
     margin: 10px 0;
     font-style: italic;
 }

 @media (max-width: 767px) {
     .case-study-resource-links {
         flex-direction: column;
     }

     .case-study-resource-link {
         width: 100%;
         text-align: center;
     }
 }

 .cbd-p2-sorting-checkboxes-cls {
     font-size: 16px;
     display: flex;
     flex-direction: row;
     align-items: center;
     gap: 10px;
     margin-top: 15px;
     margin-left: 7px;
     color: var( --e-global-color-secondary );
     cursor: pointer;
 }

 /* Second-tier filter rows (e.g. the sub-filters under "Speed") */

 .acs-filter-sublist {
     list-style: none;
     margin: 0 0 0 7px;
     padding-left: 17px;
     border-left: 1px solid var( --e-global-color-e9a59f2, rgba( 0, 0, 0, 0.12 ) );
 }

 .acs-filter-sublist[hidden] {
     display: none;
 }

 .acs-filter-subitem {
     margin: 0;
     padding: 0;
 }

 .acs-filter-row--child {
     font-size: 15px;
     margin-left: 0;
 }

 .acs-filter-row.acs-is-partial > .acs-filter-label {
     font-weight: 600;
 }

 /* Disclosure control, sits at the end of a parent row */

 .acs-filter-toggle {
     margin-left: auto;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     flex: 0 0 auto;
     width: 28px;
     height: 28px;
     padding: 0;
     border: 0;
     border-radius: 0;
     background: none;
     box-shadow: none;
     color: #2059B1;
     cursor: pointer;
 }

 .acs-filter-toggle:hover,
 .acs-filter-toggle:focus {
     background: none;
     color: #2059B1;
 }

 .acs-filter-toggle:focus-visible {
     outline: 2px solid currentColor;
     outline-offset: 2px;
 }

 .acs-filter-caret {
     display: block;
     width: 7px;
     height: 7px;
     margin-top: -3px;
     border-right: 2px solid currentColor;
     border-bottom: 2px solid currentColor;
     transform: rotate( 45deg );
     transition: transform 0.2s ease;
 }

 .acs-filter-toggle[aria-expanded="true"] .acs-filter-caret {
     margin-top: 3px;
     transform: rotate( -135deg );
 }

 @media ( prefers-reduced-motion: reduce ) {
     .acs-filter-caret {
         transition: none;
     }
 }

 /* Map container styles */
 .us-map-container {
     max-width: 1000px;
     margin: 0 auto;
     position: relative;
 }

 /* SVG styles */
 .us-map-container svg {
     width: 100%;
     height: auto;
 }

 /* State styles */
 .svg-state {
     fill: #f0f0f0;
     stroke: #ffffff;
     stroke-width: 1;
     transition: all 0.3s ease;
     vector-effect: non-scaling-stroke;
 }

 /* Hover state */
 .svg-state.available:hover {
     fill: #0073aa !important;
 }

 /* Available */
 .svg-state.available {
     fill: #c5e1ff;
	 cursor: pointer;
 }


 /* Active/Selected state */
 .svg-state.current-selected {
     fill: #005177;
 }


 /* Tooltip styles */
 .state-tooltip {
     position: absolute;
     background: rgba(0, 0, 0, 0.8);
     color: white;
     padding: 6px 12px;
     border-radius: 4px;
     font-size: 14px;
     pointer-events: none;
     z-index: 1000;
     display: none;
     white-space: nowrap;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
 }

 .state-tooltip::after {
     content: '';
     position: absolute;
     bottom: -5px;
     left: 50%;
     transform: translateX(-50%);
     width: 0;
     height: 0;
     border-left: 5px solid transparent;
     border-right: 5px solid transparent;
     border-top: 5px solid rgba(0, 0, 0, 0.8);
 }

 /* Responsive adjustments */
 @media (max-width: 768px) {
     .state-tooltip {
         font-size: 12px;
         padding: 4px 8px;
     }
 }

 /* Optional: Add a hover effect for states that have case studies */
 .svg-state.has-cases {
     position: relative;
 }

 .svg-state.has-cases::after {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: rgba(255, 255, 255, 0.1);
     opacity: 0;
     transition: opacity 0.3s ease;
 }

 .svg-state.has-cases:hover::after {
     opacity: 1;
 }
