/* Overrind themes */

/* ul.navbar-nav > li.nav-item > a.nav-link {
	color: white !important;
} */

.border-all {
	border: 1px solid !important;
}

ul > li.page-item.active > a.page-link {
	background-color: #0277bd !important;
	border-color: #0288d1 !important;
	color: white !important;
}

ul > li.page-item > a.page-link {
	color: #0277bd !important;
}

ul.dropdown-menu {
	/* left: -130px !important; */
	z-index: 9999 !important;
}

ul.dropdown-menu.menu-user {
	/* left: -200px !important; */
	top: 45px !important;
}

input.material {
	background-color: transparent !important;
	border: none !important;
	border-bottom: 1px solid #9e9e9e !important;
	border-radius: 0 !important;
	outline: none !important;
	height: 38px !important;
	width: 100% !important;
	font-size: 16px !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	-webkit-box-sizing: content-box !important;
	box-sizing: content-box !important;
	-webkit-transition:
		border 0.3s,
		-webkit-box-shadow 0.3s !important;
	transition:
		border 0.3s,
		-webkit-box-shadow 0.3s !important;
	transition:
		box-shadow 0.3s,
		border 0.3s !important;
	transition:
		box-shadow 0.3s,
		border 0.3s,
		-webkit-box-shadow 0.3s !important;
}

.input-group-append.material {
	max-height: 39px !important;
}
.input-group-prepend.material {
	max-height: 39px !important;
}

.form-group > label {
	font-weight: normal !important;
}

.select2-selection__choice {
	background-color: #0277bd !important;
}

.select2-results__option:hover {
	background-color: #0277bd !important;
}

.dropdown-item:active {
	background-color: #0277bd !important;
	color: white !important;
}

.swal2-popup {
	width: auto !important;
}

/* New Classes */

.body-sm {
	min-height: 351px !important;
}

.justify-items-strech {
	justify-items: stretch !important;
}

.pointer {
	cursor: pointer !important;
}

.labelWorks {
	margin-bottom: 0;
	font-size: 12px;
	font-weight: lighter;
	color: #919191;
	line-height: 20px;
}

.removeArrow.dropdown-toggle::after {
	display: none !important;
}

.wrap-text-1 {
	overflow: hidden;
	display: -webkit-box !important;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	-webkit-box-orient: vertical;
}

.wrap-text-2 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
}

.wrap-text-3 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
}

.back-escurecido {
	color: grey;
	opacity: 0.4;
}

.load {
	top: 0px !important;
	left: 0px !important;
	width: 100% !important;
	height: 100% !important;
	position: fixed !important;
	display: flex !important;
	flex-direction: column;
	align-items: center !important;
	justify-content: center !important;
	opacity: 1 !important;
	z-index: 99999 !important;
}
.lds-dual-ring {
	opacity: 1;
}
.lds-dual-ring:after {
	content: " ";
	display: block;
	width: 64px;
	height: 64px;
	margin: 8px;
	border-radius: 50%;
	border: 6px solid black;
	border-color: #00897b transparent #00897b transparent;
	animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
.lsd-message {
	position: relative;
	padding: 0.5rem 0.75rem;
	margin-bottom: 1rem;
	border: 1px solid transparent;
	border-radius: 0.25rem;
	background-color: #00897b;
	color: white;
	border-color: #00897b transparent #00897b transparent;
}

.chip {
	padding: 0 6px !important;
	/* margin-right: 0px !important; */
}

.chip.retangular {
	height: auto !important;
	line-height: initial !important;
	border-radius: 3px !important;
	margin-bottom: 0px !important;
}

.btn-circle.btn-xl {
	width: 70px;
	height: 70px;
	padding: 10px 16px;
	border-radius: 35px;
	font-size: 24px;
	line-height: 1.33;
}

.btn-circle {
	width: 30px;
	height: 30px;
	padding: 6px 0px;
	border-radius: 15px;
	text-align: center;
	font-size: 12px;
	line-height: 1.42857;
}

.alert {
	position: relative;
	padding: 0.75rem 1.25rem;
	margin-bottom: 1rem;
	border: 1px solid transparent;
	border-radius: 0.25rem;
}

.alert-warning {
	color: #856404;
	background-color: #fff3cd;
	border-color: #ffeeba;
}

.alert-danger {
	color: #721c24;
	background-color: #f8d7da;
	border-color: #f5c6cb;
}

.alert-success {
	color: #155724;
	background-color: #d4edda;
	border-color: #c3e6cb;
}

/* The switch - the box around the slider */
.switch {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 25px;
}

/* Hide default HTML checkbox */
.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

/* The slider */
.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.slider:before {
	position: absolute;
	content: "";
	height: 18px;
	width: 26px;
	left: 4px;
	bottom: 4px;
	background-color: white;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

input:checked + .slider {
	background-color: #2196f3;
}

input:focus + .slider {
	box-shadow: 0 0 1px #2196f3;
}

input:checked + .slider:before {
	-webkit-transform: translateX(26px);
	-ms-transform: translateX(26px);
	transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
	border-radius: 34px;
}

.slider.round:before {
	border-radius: 50%;
}

.load {
	top: 0px !important;
	left: 0px !important;
	width: 100% !important;
	height: 100% !important;
	position: fixed !important;
	display: flex !important;
	flex-direction: column;
	align-items: center !important;
	justify-content: center !important;
	opacity: 1 !important;
	z-index: 99999 !important;
}
.lds-dual-ring {
	opacity: 1;
}
.lds-dual-ring:after {
	content: " ";
	display: block;
	width: 64px;
	height: 64px;
	margin: 8px;
	border-radius: 50%;
	border: 6px solid black;
	border-color: #007bff transparent #007bff transparent;
	animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
.lsd-message {
	position: relative;
	padding: 0.5rem 0.75rem;
	margin-bottom: 1rem;
	border: 1px solid transparent;
	border-radius: 0.25rem;
	background-color: #00897b;
	color: white;
	border-color: #00897b transparent #00897b transparent;
}

.is-invalid .select2-selection,
.needs-validation ~ span > .select2-dropdown {
	border-color: red !important;
}

.blue-portal {
	background-color: #27518a;
}

.w-100 {
	max-height: 200px;
}

.w-login {
	height: 100vh;
	width: 100%;
}

.login-page {
	height: auto;
}

.select2 {
	width: 100% !important;
}

.direct-chat-messages {
	min-height: 275px !important;
}

.btn-google {
	color: #545454;
	background-color: #ffffff;
	box-shadow: 0 1px 2px 1px #ddd;
}

hr {
	margin-top: 1rem;
	margin-bottom: 1rem;
	border: 0;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}
/* .progress {
    display: -ms-flexbox;
    display: flex;
    height: 1rem;
    overflow: hidden;
    font-size: 0.75rem;
    background-color: #e9ecef;
    border-radius: 0.25rem;
    box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1);
  }

  .progress-bar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    background-color: #007bff;
    transition: width 0.6s ease;
  }

  @media (prefers-reduced-motion: reduce) {
    .progress-bar {
      transition: none;
    }
  }

  .progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-size: 1rem 1rem;
  }

  .progress-bar-animated {
    -webkit-animation: progress-bar-stripes 1s linear infinite;
    animation: progress-bar-stripes 1s linear infinite;
  }

  @media (prefers-reduced-motion: reduce) {
    .progress-bar-animated {
      -webkit-animation: none;
      animation: none;
    }
  } */

.navbar-nav > .user-menu > .dropdown-menu > li.user-header > p {
	z-index: 5;
	color: #fff;
	color: rgba(255, 255, 255, 0.8);
	font-size: 17px;
	margin-top: 10px;
}

.pull-right {
	float: right !important;
}
.pull-left {
	float: left !important;
}

.navbar-nav > li {
	color: #fff;
}
.navbar-nav > li.nav-setting:hover {
	background-color: #0c2446;
	color: #fff;
	border-radius: 5px;
}

/* table {
    font-weight: 400;
    min-width: 420px;
    width: 100%;

    thead {
      display: none;
      font-weight: 500;
    }

    tbody {
      tr {
        border: 1px solid #c7dbf8;
        border-radius: 5px;
        display: block;
        padding: 30px;
        margin-bottom: 30px;

        td {
          display: block;
          font-weight: 500;
          padding: 5px;
          position: relative;
          text-align: right;

          &:before {
            color: #8a8a87;
            content: attr(data-label);
            font-weight: 400;
            left: 5px;
            position: absolute;
          }


        }
      }
    }
  } */

/* @media all and (min-width: 768px) {
    table {

      border-collapse: separate;
      max-width: 992px;
      text-align: left;
      width: 100%;
      border-spacing: 0 10px;



      thead {
        display: table-header-group;

        tr {
            border: none;
            display: table-row;
            border: 1px solid #c7dbf8 !important;
            border-radius: 5px;
            margin-bottom: 10px;
        }

        th {
          padding: 10px;

					&:first-child{
						border-bottom-left-radius: 8px;
						border-top-left-radius: 8px;
					}
					&:last-child{
						border-bottom-right-radius: 8px;
						border-top-right-radius: 8px;
				}

        }
      }

      tbody {
        font-size: .875em;

        tr {
          border: none;
          display: table-row;
          border: 1px solid #c7dbf8;
          border-radius: 5px;
          margin-bottom: 10px;


          &:nth-child(odd) {
            background: #eee;
          }

          td {
            display: table-cell;
            font-weight: 400;
            text-align: left;
            padding: 0.5rem 2rem;
            font-size: 16px;
            vertical-align: middle !important;

                &:before {
                    display: none;
                }

                &:first-child{
                    border-bottom-left-radius: 8px;
                    border-top-left-radius: 8px;
                }
                &:last-child{
                    border-bottom-right-radius: 8px;
                    border-top-right-radius: 8px;
                }
            }

        }
      }
    }
  } */

.pagUp {
	flex-wrap: wrap;
	justify-content: center;
}

small.badge-up {
	font-size: 10px;
	font-weight: 400;
	vertical-align: middle;
}

.card > .dropdown-menu-header {
	margin: 0;
}
.card > .dropdown-menu-header .dropdown-menu-header-inner {
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
}
.dropdown-menu-header .dropdown-menu-header-inner {
	margin: -1px -1px 0;
	padding: 1.5rem 0.5rem;
	position: relative;
}
.bg-dark {
	background-color: #343a40 !important;
}
.dropdown-menu-header {
	color: #fff;
	margin-top: -0.65rem;
	margin-bottom: 0.65rem;
	position: relative;
}
.dropdown-menu-header .menu-header-image {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	opacity: 0.25;
	filter: grayscale(80%);
	background-size: cover;
}
.opacity-2 {
	opacity: 0.2 !important;
}
.dropdown-menu-header .menu-header-content.btn-pane-right {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	display: flex;
	align-content: center;
	align-items: center;
	text-align: left;
}
.dropdown-menu-header .menu-header-content {
	text-align: center;
	position: relative;
}
.avatar-icon-wrapper {
	display: inline-block;
	margin-right: 0.1rem;
	position: relative;
}
.btn-hover-shine {
	position: relative;
}
.avatar-icon-xl .avatar-icon {
	width: 64px;
	height: 64px;
}
.avatar-icon.rounded {
	border-radius: 0.39rem !important;
}
.avatar-icon {
	border: #fff solid 3px;
	overflow: hidden;
}
.avatar-icon {
	display: block;
	width: 44px;
	height: 44px;
	transition: all 0.2s;
	opacity: 1;
	border-radius: 50px;
}
.avatar-icon img {
	width: 100%;
	height: 100%;
}
img {
	vertical-align: middle;
	border-style: none;
}

.menu-header-btn-pane {
	margin: 0 0 0 auto;
}

/* ============================================
   MODERN PRODUCT DISPLAY SYSTEM STYLES
   ============================================ */

/* Modern Products Container */
.modern-products-container {
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	border: none;
	border-radius: 12px;
	overflow: hidden;
	transition: all 0.3s ease;
}

/* Modern Filters Container */
.modern-filters-container {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	border-radius: 12px;
	padding: 24px;
	border: 1px solid #dee2e6;
	margin-bottom: 20px;
}

.filter-section {
	margin-bottom: 20px;
}

.filter-section:last-child {
	margin-bottom: 0;
}

.filter-label {
	color: #495057;
	font-weight: 600;
	font-size: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}

.filter-chips-container {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

/* Filter Chips */
.filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	background: #ffffff;
	color: #495057;
	text-decoration: none;
	border-radius: 25px;
	border: 2px solid #dee2e6;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.3s ease;
	white-space: nowrap;
	position: relative;
	overflow: hidden;
}

.filter-chip:hover {
	background: #27518a;
	color: #ffffff;
	border-color: #27518a;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(39, 81, 138, 0.25);
}

.filter-chip.active {
	background: #27518a;
	color: #ffffff;
	border-color: #27518a;
	box-shadow: 0 3px 10px rgba(39, 81, 138, 0.3);
}

/* Secondary filter chips (for types) */
.filter-chip.secondary {
	border-color: #17a2b8;
}

.filter-chip.secondary:hover {
	background: #17a2b8;
	border-color: #17a2b8;
	color: #ffffff;
}

.filter-chip.secondary.active {
	background: #17a2b8;
	border-color: #17a2b8;
	color: #ffffff;
}

/* Chip hover effect */
.filter-chip::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(255, 255, 255, 0.2),
		transparent
	);
	transition: left 0.5s;
}

.filter-chip:hover::before {
	left: 100%;
}

/* Modern Products Grid */
.modern-products-grid {
	animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* No Products Found State */
.no-products-found {
	background: #f8f9fa;
	border-radius: 12px;
	margin: 20px 0;
	border: 2px dashed #dee2e6;
}

/* ============================================
   MODERN PRODUCT CARD STYLES
   ============================================ */

.modern-product-card {
	transition: all 0.3s ease;
	border: none;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	height: 100%;
	background: #ffffff;
	position: relative;
}

.modern-product-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(39, 81, 138, 0.05), transparent);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.modern-product-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.modern-product-card:hover::before {
	opacity: 1;
}

.modern-product-card .card-img-top {
	border-radius: 12px 12px 0 0;
	transition: transform 0.3s ease;
}

.modern-product-card:hover .card-img-top {
	transform: scale(1.05);
}

.modern-product-card .card-body {
	padding: 20px;
}

.modern-product-card .card-title {
	color: #2c3e50;
	font-weight: 600;
	font-size: 1.1rem;
	line-height: 1.3;
	margin-bottom: 12px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
}

.modern-product-card .card-text {
	color: #6c757d;
	font-size: 14px;
	line-height: 1.5;
}

.modern-product-card .card-footer {
	background: #f8f9fa;
	border-top: 1px solid #e9ecef;
	padding: 15px 20px;
}

/* Modern Chips */
.modern-chip {
	display: inline-block;
	padding: 4px 12px;
	margin: 2px 4px 2px 0;
	background: #e9ecef;
	color: #495057;
	border-radius: 15px;
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.2s ease;
}

.modern-chip.primary {
	background: linear-gradient(135deg, #27518a, #1e3d6b);
	color: #ffffff;
}

.modern-chip.success {
	background: linear-gradient(135deg, #28a745, #1e7e34);
	color: #ffffff;
}

.modern-chip.info {
	background: linear-gradient(135deg, #17a2b8, #117a8b);
	color: #ffffff;
}

.modern-chip.danger {
	background: linear-gradient(135deg, #dc3545, #c82333);
	color: #ffffff;
}

/* Action Indicator */
.modern-product-card .action-indicator {
	opacity: 0;
	transition: all 0.3s ease;
	transform: translateX(-10px);
}

.modern-product-card:hover .action-indicator {
	opacity: 1;
	transform: translateX(0);
}

.chips-container {
	flex: 1;
}

/* ============================================
   ACCESSIBILITY & FOCUS STATES
   ============================================ */

.filter-chip:focus,
.modern-product-card:focus {
	outline: 2px solid #27518a;
	outline-offset: 2px;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 768px) {
	.modern-filters-container {
		padding: 20px 15px;
		margin: 0 -5px 20px -5px;
	}

	.filter-chips-container {
		gap: 6px;
	}

	.filter-chip {
		padding: 6px 12px;
		font-size: 13px;
	}

	.filter-label {
		font-size: 15px;
	}

	.modern-product-card .card-body {
		padding: 15px;
	}

	.modern-product-card .card-footer {
		padding: 12px 15px;
	}
}

@media (max-width: 576px) {
	.modern-filters-container {
		border-radius: 8px;
		padding: 15px;
	}

	.filter-chip {
		padding: 5px 10px;
		font-size: 12px;
	}

	.filter-section {
		margin-bottom: 15px;
	}

	.modern-chip {
		font-size: 11px;
		padding: 3px 8px;
	}
}

/* ============================================
   PERFORMANCE OPTIMIZATIONS
   ============================================ */

.modern-product-card,
.filter-chip {
	will-change: transform;
}

/* Preload hover effects */
.modern-product-card:hover,
.filter-chip:hover {
	backface-visibility: hidden;
	perspective: 1000px;
}

/* Modern badges and components */
.modern-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.25rem 0.6rem;
	border-radius: 25px;
	font-size: 0.75rem;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.modern-badge.badge-info {
	background: linear-gradient(135deg, #17a2b8, #138496);
	color: white;
}

.modern-badge.badge-primary {
	background: linear-gradient(135deg, #007bff, #0056b3);
	color: white;
}

.modern-badge.badge-danger {
	background: linear-gradient(135deg, #dc3545, #c82333);
	color: white;
}

/* Product image container improvements */
.product-image-container {
	border-radius: 12px;
	overflow: hidden;
}

.product-image-container img {
	transition: transform 0.3s ease;
}

.product-image-container:hover img {
	transform: scale(1.05);
}

/* Action buttons improvements */
.action-buttons .btn {
	transition: all 0.3s ease;
	border: none;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0.025em;
	font-size: 0.9rem;
	padding: 0.5rem 1.25rem !important;
	border-radius: 25px !important;
}

.action-buttons .btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.action-buttons .btn i {
	font-size: 0.85rem;
}

/* Card hover effects - DESABILITADO para evitar efeitos indesejados */
.card.shadow-sm:hover {
	/* Removido efeitos de hover para manter comportamento padrão */
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; /* Volta ao shadow padrão do Bootstrap */
	transform: none !important;
	transition: none !important;
}

/* List group modern styling */
.list-group-item-action:hover {
	background-color: #f8f9fa;
	transform: translateX(5px);
	transition: all 0.3s ease;
}

/* Badge position adjustments */
.position-absolute .badge {
	backdrop-filter: blur(10px);
	border: 2px solid rgba(255, 255, 255, 0.3);
}

/* Responsive improvements */
@media (max-width: 768px) {
	.action-buttons .btn {
		font-size: 0.85rem;
		padding: 0.45rem 1rem !important;
	}

	.modern-badge {
		font-size: 0.7rem;
		padding: 0.2rem 0.5rem;
	}
}

@media (max-width: 576px) {
	.action-buttons .btn {
		font-size: 0.8rem;
		padding: 0.4rem 0.875rem !important;
	}

	.action-buttons .btn i {
		font-size: 0.75rem;
	}

	.modern-badge {
		font-size: 0.65rem;
		padding: 0.15rem 0.4rem;
	}
}

/* ============================================
   SUBSCRIPTION INFO CARDS STYLES
   ============================================ */

.subscription-info-container {
	margin-bottom: 1.5rem;
}

.info-card {
	display: flex;
	align-items: center;
	background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
	border: 1px solid #e9ecef;
	border-radius: 8px;
	padding: 1rem 1.25rem;
	transition: all 0.3s ease;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
	height: 100%;
}

/* .info-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	border-color: #27518a;
} */

.info-icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	background: linear-gradient(135deg, #27518a, #1e3d6b);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 0.875rem;
	box-shadow: 0 3px 8px rgba(39, 81, 138, 0.25);
}

.info-icon i {
	color: white;
	font-size: 1rem;
}

.info-content {
	flex: 1;
}

.info-label {
	color: #6c757d;
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 0.25rem;
}

.info-value {
	color: #2c3e50;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
}

.info-value .text-success {
	color: #28a745 !important;
	font-weight: 700;
}

/* Responsive design for subscription info */
@media (max-width: 768px) {
	.info-card {
		padding: 1rem;
		flex-direction: column;
		text-align: center;
	}

	.info-icon {
		margin-right: 0;
		margin-bottom: 0.75rem;
		width: 36px;
		height: 36px;
	}

	.info-icon i {
		font-size: 0.9rem;
	}

	.info-label {
		font-size: 0.7rem;
		margin-bottom: 0.2rem;
	}

	.info-value {
		font-size: 0.95rem;
	}
}

@media (max-width: 576px) {
	.subscription-info-container {
		margin-bottom: 1rem;
	}

	.subscription-info-container .row {
		margin: 0;
	}

	.subscription-info-container .col-md-6 {
		padding: 0 0.25rem;
		margin-bottom: 0.75rem;
	}

	.info-card {
		padding: 0.875rem;
	}

	.info-icon {
		width: 32px;
		height: 32px;
		margin-bottom: 0.5rem;
	}

	.info-icon i {
		font-size: 0.85rem;
	}

	.info-label {
		font-size: 0.65rem;
	}

	.info-value {
		font-size: 0.9rem;
	}
}

/* ============================================
   MODAL AND CARD ORIGINAL BEHAVIOR FIXES
   ============================================ */

/* Garante que o modal mantenha seu comportamento original */
.modal#modalParticipacaoTurma {
	/* Reset transformações que podem interferir */
	transform: none !important;
	will-change: auto !important;
}

.modal#modalParticipacaoTurma .modal-dialog {
	/* Garante posicionamento correto */
	transform: none !important;
	will-change: auto !important;
}

.modal#modalParticipacaoTurma .modal-content {
	/* Remove efeitos que podem interferir */
	transform: none !important;
	will-change: auto !important;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

/* Preserva comportamento original dos cards de turma */
.card.border-left-primary {
	/* Remove transformações modernas para cards de turma */
	transform: none !important;
	will-change: auto !important;
	transition: none !important;
}

.card.border-left-primary:hover {
	/* Remove efeito hover para manter comportamento original */
	transform: none !important;
	box-shadow: none !important;
}

/* Cards de lançamentos recentes mantêm comportamento original */
.card[style*="min-height: 120px"] {
	transform: none !important;
	will-change: auto !important;
	transition: none !important;
}

.card[style*="min-height: 120px"]:hover {
	transform: none !important;
	box-shadow: none !important;
}

/* Isola os estilos modernos apenas para a seção de produtos */
/* Os estilos dos produtos modernos já estão aplicados corretamente acima */

/* Garante que outros cards não sejam afetados pelos estilos modernos */
.card:not(.modern-product-card) {
	/* Preserva comportamento padrão do Bootstrap */
	transform: none !important;
	will-change: auto !important;
}

.card:not(.modern-product-card):hover {
	transform: none !important;
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; /* Shadow padrão do Bootstrap */
	transition: none !important;
}

/* Regra adicional para garantir que cards com shadow-sm mantenham comportamento padrão */
.card:hover {
	transform: none !important;
	transition: none !important;
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; /* Força shadow padrão */
}

/* Regra mais específica para neutralizar QUALQUER efeito de hover em cards */
.card,
.card:hover,
.card:focus,
.card:active {
	transform: none !important;
	transition: none !important;
	animation: none !important;
	will-change: auto !important;
}

/* Força box-shadow estático para todos os cards */
.card {
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.card:hover {
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

/* Exceção apenas para modern-product-card que deve manter seus efeitos */
.modern-product-card,
.modern-product-card:hover {
	/* Restore effects for modern product cards */
	transform: unset !important;
	transition: unset !important;
	animation: unset !important;
	will-change: unset !important;
	box-shadow: unset !important;
}

/* Fix para modal backdrop e z-index */
.modal-backdrop {
	z-index: 1040 !important;
}

.modal {
	z-index: 1050 !important;
}

/* Garante que elementos do modal não sejam afetados por transformações */
.modal * {
	transform: none !important;
	will-change: auto !important;
}

/* Override para chips dentro do modal */
.modal .chip {
	transform: none !important;
	transition: none !important;
}

.helper-section-modal .modal-title {
	font-size: 1.15rem;
	font-weight: 600;
}

.helper-section-modal .modal-body {
	font-size: 14px;
	line-height: 1.5;
}

.helper-section-modal .helper-section-eyebrow {
	font-size: 12px;
	letter-spacing: 0.04em;
}

.helper-section-modal .helper-section-heading {
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.4;
}

.helper-section-modal .helper-section-text {
	font-size: 14px;
	line-height: 1.5;
}

.helper-section-modal .helper-section-card .card-body {
	padding: 0.9rem;
}

.helper-section-modal .helper-section-card-title {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.helper-section-modal .helper-section-note {
	font-size: 13.5px;
	line-height: 1.5;
	padding: 0.65rem 0.9rem;
}

.game-badge-selector {
	border: 1px solid rgba(23, 43, 77, 0.08);
	border-radius: 10px;
	background: #f8fafc;
	padding: 14px;
}

.game-badge-selector__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

.game-badge-selector__hint {
	font-size: 12px;
	line-height: 1.45;
	color: #6b7280;
}

.game-badge-selector__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.game-badge-selector__action {
	border: 0;
	background: transparent;
	color: #0b63ce;
	font-size: 12px;
	font-weight: 600;
	padding: 0;
}

.game-badge-selector__action:hover {
	text-decoration: underline;
}

.game-badge-selector__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.game-badge-selector__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.game-badge-selector__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid rgba(11, 99, 206, 0.18);
	background: #ffffff;
	color: #37506b;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;
	transition:
		background-color 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease,
		box-shadow 0.15s ease;
	margin: 0;
}

.game-badge-selector__badge:hover {
	border-color: rgba(11, 99, 206, 0.45);
	color: #0b63ce;
}

.game-badge-selector__input:checked + .game-badge-selector__badge {
	background: #0b63ce;
	border-color: #0b63ce;
	color: #ffffff;
	box-shadow: 0 6px 16px rgba(11, 99, 206, 0.16);
}

.game-form-row {
	display: flex;
	margin-left: -10px;
}

.game-dropdown-menu {
	left: 0 !important;
	right: inherit !important;
}

.game-color-dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	display: inline-block;
	vertical-align: middle;
}
