@import url('./components/flashcard.css');

/* Bootstrap Variable Overrides */
.btn-primary {
	--ar-btn-color: #000000 !important;
	--ar-btn-hover-color: #000000 !important;
	--ar-btn-active-color: #000000 !important;
	--ar-btn-disabled-color: #000000 !important;
}

/* Override the Bootstrap outline button rule */
[class^=btn-outline-], [class*=" btn-outline-"] {
    --ar-btn-hover-color: #000000;
    --ar-btn-active-color: #000000;
}

/* Override outline primary button text color */
.btn-outline-primary {
    --ar-btn-color: #000000;
}

/* Dark mode override for outline primary button text color (only when not active/checked) */
[data-bs-theme="dark"] .btn-outline-primary:not(.active) {
    --ar-btn-color: var(--ar-light) !important;
}

/* Keep dark text when input is checked (Bootstrap adds active class to label) */
[data-bs-theme="dark"] .btn-check:checked + .btn-outline-primary,
[data-bs-theme="dark"] .btn-outline-primary.active {
    --ar-btn-color: #000000 !important;
}

/* Dark text on hover when background is filled (only for actual buttons, not labels for unchecked inputs) */
[data-bs-theme="dark"] button.btn-outline-primary:hover:not(.active) {
    --ar-btn-color: #000000 !important;
    --ar-btn-hover-color: #000000 !important;
}

/* For labels, only dark text on hover if the associated input is checked (which fills background) */
[data-bs-theme="dark"] .btn-check:checked + .btn-outline-primary:hover {
    --ar-btn-color: #000000 !important;
    --ar-btn-hover-color: #000000 !important;
}

.badge.bg-primary {
	--ar-badge-color: #000000;
}

/* Disable text selection globally */
* {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* Allow text selection for input fields, textareas, and editable content */
input, textarea, [contenteditable="true"] {
	-webkit-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
	user-select: text;
}

.pointer {
	cursor: pointer;
}

.screen {
	margin-bottom: 10rem;
	padding-top: 1rem;
}

.fav-star {
	position: absolute;
	top: 25px;
	right: 25px;
}
.report-icon {
	position: absolute;
	top: 25px;
	right: 65px;
}

.selection-reason-badge.bg-info {
	background-color: rgba(var(--ar-info-rgb), 0.1) !important;
	color: #0a0a0a;
}

.selection-reason-badge.bg-success {
	background-color: rgba(var(--ar-success-rgb), 0.1) !important;
	color: #0a0a0a;
}

.selection-reason-badge.bg-warning {
	background-color: rgba(var(--ar-warning-rgb), 0.1) !important;
	color: #0a0a0a;
}

.selection-reason-badge.bg-danger {
	background-color: rgba(var(--ar-danger-rgb), 0.1) !important;
	color: #0a0a0a;
}

.selection-reason-icon {
	font-size: 0.4rem;
	vertical-align: middle;
	line-height: 1;
}

.answer-option.selected {
    outline: 3px solid black;
}

#login-google-button, #register-google-button {
	transform: scale(1.4);
}

.tooltip-inner {
	max-width: 450px;
	text-align: left;
}

.content-swiper .swiper-slide {
	display: flex;
	flex-direction: column;
}

.slide-content {
	flex: 1;
	padding: 0;
}

/* Add some spacing to prevent content from hiding behind fixed nav */
.content-swiper {
	padding-top: 50px;
}

/* Fixed navigation styling */
.main-menu.position-fixed {
	width: 100%;
}

/* Main menu dark mode support */
[data-bs-theme="dark"] .main-menu {
	background-color: var(--ar-body-bg) !important;
}

/* Disable hover/focus effects but allow .active class to override */
.main-menu .nav-link:hover:not(.active),
.main-menu .nav-link:focus:not(.active),
.main-menu .nav-link:active:not(.active) {
	background-color: transparent !important;
	color: inherit !important;
}

/* Lock icon positioning - floating in corner on mobile only, inline on desktop */
.main-menu .menu-icon-wrapper {
	display: inline-block;
}

.main-menu .menu-lock-icon {
	position: absolute;
	top: -4px;
	right: -4px;
	font-size: 0.75em;
	border-radius: 50%;
	padding: 2px;
	line-height: 1;
	color: var(--ar-danger);
}

.main-menu .nav-link .fa-lock.ms-2 {
	color: var(--ar-danger);
}

/* Allow clicks on locked menu items even with disabled class */
.main-menu .nav-link.disabled[data-locked="true"] {
	pointer-events: auto !important;
	cursor: pointer;
}

.main-menu .menu-icon-wrapper .flashcard-repetition-count {
	position: absolute;
	top: -6px;
	right: -6px;
	font-size: 0.6em;
	padding: 1px 4px;
	line-height: 1.2;
	min-width: 1.2em;
	text-align: center;
}

@media (max-width: 767.98px) {
	.main-menu .menu-lock-icon {
		font-size: 0.6em;
		top: -6px;
		right: -6px;
		padding: 1px;
	}
}

@media (max-width: 575.98px) {
  .tooltip-inner {
    font-size: 0.65rem;
    max-width: 300px;
  }
}

.casestudy-container .card-text, .casestudy-container td, .caselaw-container .card-text {
	white-space: pre-line;
}

/* Global modal blur backdrop */
.modal.show {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.modal-backdrop {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

/* Simple vertical scrolling for question grid only */
.question-grid .d-grid {
	max-height: 300px;
	overflow-y: auto;
}

.badge-search-suggestion {
	white-space: normal;
	text-align: left;
}

.faculty-flag {
	width: 24px;
	height: auto;
	image-rendering: optimizeSpeed;
	image-rendering: -moz-crisp-edges;
	image-rendering: -o-crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: pixelated;
	image-rendering: optimize-contrast;
	-ms-interpolation-mode: nearest-neighbor;
	/* Shadow for transparent PNGs using drop-shadow filter */
	filter: drop-shadow(0 2px 4px rgba(0,0,0,0.18));
}

.row {
	margin-left: unset;
	margin-right: unset;
}

.row-original {
    margin-right: calc(-0.5 * var(--ar-gutter-x));
    margin-left: calc(-0.5 * var(--ar-gutter-x));
}

.bottommenu-button {
	transition: background-color 0.3s ease;
}

#notifications-items {
	max-height: 400px;
}

/* Topic name input styling to match label font size and indicate editability */
.topic-name-input {
	font-size: calc(var(--ar-body-font-size) * .875);
}

.topic-name-input:focus {
	outline: none;
	box-shadow: none;
}

/* Animation for year select in faculty modal */
@keyframes yearSelectPulse {
	0%, 100% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(var(--ar-primary-rgb), 0.6), 0 0 20px rgba(var(--ar-primary-rgb), 0.3);
		border-color: transparent;
	}
	50% {
		transform: scale(1.15);
		box-shadow: 0 0 0 12px rgba(var(--ar-primary-rgb), 0), 0 0 30px rgba(var(--ar-primary-rgb), 0.6);
		border-color: rgba(var(--ar-primary-rgb), 0.8);
	}
}

.year-select-animate {
	animation: yearSelectPulse 0.5s ease-in-out 1;
	border-width: 2px;
	border-style: solid;
}

/* Make range slider thumb bigger */
.form-range::-webkit-slider-thumb {
	width: 1.5rem;
	height: 1.5rem;
	margin-top: -0.5rem;
}

.form-range::-moz-range-thumb {
	width: 1.5rem;
	height: 1.5rem;
	border: 0;
}

/* Diagonal red strikethrough for prices - only the line is red, text stays original color */
.strike-price-container {
	position: relative;
	display: inline-block;
}

.strike-price-container::after {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 1.5px;
	background-color: #dc3545;
	transform: rotate(-15deg);
	transform-origin: center;
}

/* Notification modal hr styling */
#component-notification-modal hr {
	margin: 30px 0;
}

#component-notification-modal h1 {
	font-size: 28px;
}

#component-notification-modal h2 {
	font-size: 21px;
}

#component-notification-modal h3 {
	font-size: 16px;
}