/* Drone typography — Geist fonts and sizes aligned with drone/public/css/style.css */

@font-face {
	font-display: swap;
	font-family: Geist-Light;
	font-style: normal;
	font-weight: 300;
	src: url(../fonts/Geist-Light.woff2) format("woff2");
}

@font-face {
	font-display: swap;
	font-family: Geist;
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/Geist-Regular.woff2) format("woff2");
}

@font-face {
	font-display: swap;
	font-family: Geist-Medium;
	font-style: normal;
	font-weight: 500;
	src: url(../fonts/Geist-Medium.woff2) format("woff2");
}

@font-face {
	font-display: swap;
	font-family: Geist-SemiBold;
	font-style: normal;
	font-weight: 600;
	src: url(../fonts/Geist-SemiBold.woff2) format("woff2");
}

@font-face {
	font-display: swap;
	font-family: Geist-Bold;
	font-style: normal;
	font-weight: 700;
	src: url(../fonts/Geist-Bold.woff2) format("woff2");
}

:root {
	--drone-base-font-size: clamp(14px, 1.2vw, 19px);
	--drone-h1-size: clamp(39px, 4.2vw, 66px);
	--drone-h2-size: clamp(33px, 3.1vw, 55px);
	--drone-h3-size: clamp(29px, 2.7vw, 45px);
	--drone-h4-size: clamp(27px, 1.8vw, 30px);
	--drone-h5-size: clamp(18px, 1.4vw, 22px);
	--drone-h6-size: clamp(16px, 1.2vw, 18px);
	--drone-text-color: #333;
}

body {
	font-family: Geist-Light, sans-serif;
	font-size: var(--drone-base-font-size);
	line-height: 1.37;
	color: var(--drone-text-color);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.section-title h1,
.section-title h2 {
	font-family: Geist-SemiBold, sans-serif;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.05;
}

h1, .title.h1, .title.h1 p {
	font-size: var(--drone-h1-size);
}

h2, .title.h2, .title.h2 p {
	font-size: var(--drone-h2-size);
}

h3, .title.h3, .title.h3 p {
	font-size: var(--drone-h3-size);
}

h4, .title.h4, .title.h4 p {
	font-size: var(--drone-h4-size);
}

h5, .title.h5, .title.h5 p {
	font-size: var(--drone-h5-size);
}

h6, .title.h6, .title.h6 p {
	font-size: var(--drone-h6-size);
}

p, li, label, td, th, .section-title p, .tab-content p {
	font-family: Geist-Light, sans-serif;
	font-size: inherit;
}

strong, b, .welcome-heading {
	font-family: Geist-Medium, sans-serif;
	font-weight: 500;
}

.section-title p {
	font-size: 14px;
	line-height: 1.5;
}

.welcome-heading {
	font-size: var(--drone-h2-size);
	letter-spacing: -0.02em;
	line-height: 1.05;
}

.sidebar-card .card-title h4,
.sidebar-card .card-title h5,
.item-info .card-title h4 {
	font-family: Geist-SemiBold, sans-serif;
	font-size: var(--drone-h4-size);
	letter-spacing: -0.02em;
	line-height: 1.05;
}

.sidebar--single-product .card-content a,
.my-trafalgar .card-content a {
	font-family: Geist-Medium, sans-serif;
	font-size: 14px;
}

.mainmenu__menu .navbar-nav > li > a,
.top-menu-area .navbar-nav > li > a,
.dropdown-menu li a {
	font-family: Geist-Medium, sans-serif;
	font-size: 14px;
	letter-spacing: -0.02em;
}

.dashboard-area .block h2,
.dashboard-area .block h3,
.step-main .block h2,
.step-main .block h3,
.step3 .block h3,
.step3 .block.col3 h3 {
	font-family: Geist-Medium, sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.step-main .block p,
.block p,
.online-form p,
.quote-summary-item,
.quote-summary-item span,
.quote-summary-item strong {
	font-family: Geist-Light, sans-serif;
	font-size: 1.25rem;
	line-height: 1.5;
}

.step-main .block strong,
.online-form strong {
	font-family: Geist-Medium, sans-serif;
	font-weight: 500;
}

.txt3,
.text_field,
select.txt3,
input.form-control,
textarea.txt3,
textarea.text_field,
.login-form input,
.login-form select,
.login-form textarea,
.broker-account-form input,
.broker-account-form select {
	font-family: Geist-Medium, sans-serif;
	font-size: 95%;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--drone-text-color);
}

.form-group label,
.online-form label,
.login-form label,
.broker-account-form label {
	font-family: Geist-Medium, sans-serif;
	font-size: 12px;
	letter-spacing: -0.02em;
	margin-bottom: 0.5rem;
}

.btn,
.btn--md,
.btn-primary,
.btn-secondary,
.btn-info,
.btn-continue,
.apply-submit,
button[type="submit"] {
	font-family: Geist-Medium, sans-serif;
	font-size: 14px;
	letter-spacing: -0.02em;
	text-transform: capitalize;
}

.dashboard_menu_area .dashboard_menu li a,
.dashboard_menu_area .dashboard_menu li .active-text {
	font-family: Geist-Medium, sans-serif;
	font-size: 14px;
}

.table.withdraw__table th {
	font-family: Geist-Medium, sans-serif;
	font-size: inherit;
	font-weight: 500;
}

.table.withdraw__table td {
	font-family: Geist-Light, sans-serif;
	font-size: inherit;
}

.login_area .login-form h2,
.login_area .section-title h2 {
	font-family: Geist-SemiBold, sans-serif;
	font-size: var(--drone-h2-size);
}

.error p,
.below-box p {
	font-family: Geist-Medium, sans-serif;
	font-size: 95%;
}

.contact-block h3,
.quote-summary-item h2,
.quote-summary-item h3 {
	font-family: Geist-SemiBold, sans-serif;
}

.quote-summary-item strong {
	font-family: Geist-Medium, sans-serif;
}

.footer-area,
.footer-area p,
.footer-area a {
	font-family: Geist-Light, sans-serif;
	font-size: 14px;
}

/* Toggle / segmented controls (declaration, state selector, etc.) */
.btn.btn-outline-primary.flex-fill,
label.btn.btn-outline-primary.flex-fill {
	display: flex !important;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	min-height: 48px;
	padding: 12px 16px;
	border-radius: 0;
	font-family: Geist-Medium, sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.2;
	text-transform: none;
	color: var(--drone-text-color) !important;
	background: #fff !important;
	border: 1px solid var(--drone-text-color) !important;
	box-shadow: none !important;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.btn.btn-outline-primary.flex-fill:hover,
.btn.btn-outline-primary.flex-fill:focus,
.btn.btn-outline-primary.flex-fill:active,
label.btn.btn-outline-primary.flex-fill:hover,
label.btn.btn-outline-primary.flex-fill:focus,
label.btn.btn-outline-primary.flex-fill:active {
	color: var(--drone-text-color) !important;
	background: #fff !important;
	border-color: var(--drone-text-color) !important;
	box-shadow: none !important;
	outline: none !important;
}

.btn.btn-outline-primary.flex-fill.active,
.btn.btn-outline-primary.flex-fill.active:hover,
.btn.btn-outline-primary.flex-fill.active:focus,
.btn.btn-outline-primary.flex-fill.active:active,
label.btn.btn-outline-primary.flex-fill.active,
label.btn.btn-outline-primary.flex-fill.active:hover,
label.btn.btn-outline-primary.flex-fill.active:focus,
label.btn.btn-outline-primary.flex-fill.active:active {
	background: var(--drone-text-color) !important;
	border-color: var(--drone-text-color) !important;
	color: #fff !important;
	box-shadow: none !important;
}

.btn.btn-outline-primary.flex-fill input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

@media (max-width: 767px) {
	.btn.btn-outline-primary.flex-fill,
	label.btn.btn-outline-primary.flex-fill {
		min-height: 44px;
		font-size: 13px;
		padding: 10px 8px;
	}
}
