/* ==========================================================================
   ÜLKEM TURİZM - Modern Görsel Tema
   Bootstrap sınıflarının üzerine biner, JS hook'larına (id/class) dokunmaz.
   ========================================================================== */

:root {
	--ut-primary: #2563eb;
	--ut-primary-dark: #1d4ed8;
	--ut-primary-light: #eff6ff;
	--ut-accent: #0ea5e9;
	--ut-success: #16a34a;
	--ut-danger: #dc2626;
	--ut-warning: #d97706;
	--ut-ink-900: #111827;
	--ut-ink-700: #374151;
	--ut-ink-500: #6b7280;
	--ut-ink-400: #9ca3af;
	--ut-surface: #ffffff;
	--ut-surface-muted: #f8fafc;
	--ut-border: #e5e7eb;
	--ut-radius-sm: 8px;
	--ut-radius-md: 12px;
	--ut-radius-lg: 18px;
	--ut-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);
	--ut-shadow-md: 0 10px 30px rgba(15, 23, 42, .08);
	--ut-shadow-lg: 0 20px 50px rgba(15, 23, 42, .12);
}

/* ---------------------------------------------------------------------- */
/* Base                                                                    */
/* ---------------------------------------------------------------------- */

body {
	background: linear-gradient(180deg, #f4f7fb 0%, #eef2f7 55%, #eaeff5 100%);
	color: var(--ut-ink-700);
	font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Open Sans', Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--ut-ink-900);
	font-weight: 600;
}

h1 {
	font-size: 1.6rem;
	margin-bottom: 1.1rem;
}

h3 {
	font-size: 1.25rem;
}

a {
	color: var(--ut-primary);
}
a:hover {
	color: var(--ut-primary-dark);
}

hr {
	border-top: 1px solid var(--ut-border);
}

/* ---------------------------------------------------------------------- */
/* Navbar (public site + admin panel)                                     */
/* ---------------------------------------------------------------------- */

.navbar {
	background: var(--ut-surface) !important;
	border-bottom: 1px solid var(--ut-border) !important;
	box-shadow: var(--ut-shadow-sm);
	padding-top: .65rem;
	padding-bottom: .65rem;
	position: sticky;
	top: 0;
	z-index: 1030;
}

.navbar-brand {
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--ut-ink-900) !important;
}

.navbar .nav-link {
	color: var(--ut-ink-700) !important;
	font-weight: 500;
	border-radius: var(--ut-radius-sm);
	padding: .5rem .85rem !important;
	margin: 0 .1rem;
	transition: background-color .15s ease, color .15s ease;
}

.navbar .nav-link:hover {
	background: var(--ut-primary-light);
	color: var(--ut-primary-dark) !important;
}

.navbar .nav-link.active {
	background: var(--ut-primary);
	color: #fff !important;
}

/* ---------------------------------------------------------------------- */
/* Page content shell                                                     */
/* ---------------------------------------------------------------------- */

#layoutDefault_content > main > .container,
#layoutDefault_content > main > .container-fluid,
body > .container:not(.navbar .container),
body > .container-fluid:not(.navbar .container-fluid) {
	background: var(--ut-surface);
	border-radius: var(--ut-radius-lg);
	box-shadow: var(--ut-shadow-md);
	padding: 28px 26px;
	margin-top: 22px;
	margin-bottom: 32px;
}

@media (max-width: 576px) {
	#layoutDefault_content > main > .container,
	#layoutDefault_content > main > .container-fluid,
	body > .container:not(.navbar .container),
	body > .container-fluid:not(.navbar .container-fluid) {
		padding: 18px 14px;
		border-radius: var(--ut-radius-md);
		margin-top: 12px;
	}
}

/* the black logo banner on the public site keeps its own background,
   just soften its corners/shadow so it still reads as part of the shell */
main > div[style*="background:#000"] {
	border-radius: var(--ut-radius-lg) var(--ut-radius-lg) 0 0;
	margin-top: 22px;
}
main > div[style*="background:#000"] + .container {
	margin-top: 0;
	border-radius: 0 0 var(--ut-radius-lg) var(--ut-radius-lg);
	box-shadow: var(--ut-shadow-md);
}

/* ---------------------------------------------------------------------- */
/* Forms                                                                   */
/* ---------------------------------------------------------------------- */

label {
	font-weight: 600;
	font-size: .82rem;
	letter-spacing: .02em;
	color: var(--ut-ink-700);
	text-transform: uppercase;
}

.form-control,
.custom-select,
.bootstrap-select > .dropdown-toggle {
	border: 1px solid var(--ut-border);
	border-radius: var(--ut-radius-sm) !important;
	padding: .55rem .8rem;
	height: auto;
	background-color: var(--ut-surface-muted);
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.form-control:focus,
.custom-select:focus,
.bootstrap-select > .dropdown-toggle:focus {
	border-color: var(--ut-primary);
	box-shadow: 0 0 0 3px var(--ut-primary-light);
	background-color: var(--ut-surface);
}

textarea.form-control {
	border-radius: var(--ut-radius-md) !important;
}

.form-group {
	margin-bottom: 1.1rem;
}

.form-check-input {
	margin-top: .3rem;
}

.form-check-label {
	text-transform: none;
	font-weight: 400;
	font-size: .95rem;
}

::placeholder {
	color: var(--ut-ink-400);
	opacity: 1;
}

/* ---------------------------------------------------------------------- */
/* Buttons                                                                 */
/* ---------------------------------------------------------------------- */

.btn {
	border-radius: var(--ut-radius-sm);
	font-weight: 600;
	letter-spacing: .01em;
	padding: .55rem 1.15rem;
	transition: transform .1s ease, box-shadow .15s ease, background-color .15s ease;
}

.btn:active {
	transform: translateY(1px);
}

.btn-primary {
	background: var(--ut-primary);
	border-color: var(--ut-primary);
}
.btn-primary:hover {
	background: var(--ut-primary-dark);
	border-color: var(--ut-primary-dark);
	box-shadow: var(--ut-shadow-sm);
}

.btn-block.btn-lg {
	border-radius: var(--ut-radius-md);
}

.btn-sm {
	border-radius: 6px;
}

/* ---------------------------------------------------------------------- */
/* Alerts / notices                                                        */
/* ---------------------------------------------------------------------- */

.alert {
	border: none;
	border-radius: var(--ut-radius-md);
	box-shadow: var(--ut-shadow-sm);
}

.alert-custom {
	background: var(--ut-primary-light) !important;
	color: #1e3a8a !important;
	border: 1px solid #bfdbfe !important;
	border-left: 4px solid var(--ut-primary) !important;
}

.alert-danger {
	background: #fef2f2;
	color: #991b1b;
	border-left: 4px solid var(--ut-danger);
}

.alert-success {
	background: #f0fdf4;
	color: #166534;
	border-left: 4px solid var(--ut-success);
}

.alert-warning {
	background: #fffbeb;
	color: #92400e;
	border-left: 4px solid var(--ut-warning);
}

/* ---------------------------------------------------------------------- */
/* Tables                                                                   */
/* ---------------------------------------------------------------------- */

.table {
	background: var(--ut-surface);
}

.table thead th {
	background: var(--ut-surface-muted);
	color: var(--ut-ink-700);
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	border-bottom: 2px solid var(--ut-border);
	white-space: nowrap;
}

.table td, .table th {
	vertical-align: middle;
	border-color: var(--ut-border);
}

.table-hover tbody tr:hover {
	background-color: var(--ut-primary-light);
}

.table-striped tbody tr:nth-of-type(odd) {
	background-color: var(--ut-surface-muted);
}

/* ---------------------------------------------------------------------- */
/* Modals                                                                   */
/* ---------------------------------------------------------------------- */

.modal-content {
	border: none;
	border-radius: var(--ut-radius-lg);
	box-shadow: var(--ut-shadow-lg);
	overflow: hidden;
}

.modal-header {
	background: var(--ut-surface-muted);
	border-bottom: 1px solid var(--ut-border);
}

.modal-footer {
	border-top: 1px solid var(--ut-border);
}

/* ---------------------------------------------------------------------- */
/* Loading state (body.waiting is toggled by assets/js/custom.js)          */
/* ---------------------------------------------------------------------- */

body.waiting {
	cursor: wait;
}

body.waiting::before {
	content: '';
	position: fixed;
	inset: 0;
	background: rgba(255, 255, 255, .55);
	z-index: 2000;
}

body.waiting::after {
	content: '';
	position: fixed;
	top: 50%;
	left: 50%;
	width: 42px;
	height: 42px;
	margin: -21px 0 0 -21px;
	border: 4px solid var(--ut-primary-light);
	border-top-color: var(--ut-primary);
	border-radius: 50%;
	z-index: 2001;
	animation: ut-spin .7s linear infinite;
}

@keyframes ut-spin {
	to { transform: rotate(360deg); }
}

/* ---------------------------------------------------------------------- */
/* Misc                                                                     */
/* ---------------------------------------------------------------------- */

.badge {
	border-radius: 999px;
	font-weight: 600;
	padding: .35em .7em;
}

::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}
::-webkit-scrollbar-track {
	background: var(--ut-surface-muted);
}
::-webkit-scrollbar-thumb {
	background: #cbd5e1;
	border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover {
	background: #94a3b8;
}
