/*
Theme Name: FLASK Peptide
Theme URI: https://wpp.com/
Author: FLASK
Description: Minimal Elementor-friendly theme for FLASK — paper / forest design guide.
Version: 1.3.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: flask-peptide
*/

body {
	margin: 0;
	background: var(--flask-bg-base, #f6f4f0);
	color: var(--flask-text-primary, #1c1c1c);
	font-family: var(--flask-font-ui, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
	-webkit-font-smoothing: antialiased;
}

.flask-peptide-main {
	min-height: 50vh;
}

a {
	color: var(--flask-accent, #2f4b48);
}

::selection {
	background: var(--flask-accent-dim, rgba(47, 75, 72, 0.18));
	color: var(--flask-text-primary, #1c1c1c);
}

/* ── 404 (FLASK paper / mono) ── */

.flask-404 {
	--ink: #1c1c1a;
	--paper: #f2f0eb;
	--forest: #2e4b4a;
	--mute: #706e68;
	--line: #d6d3cb;
	--card: #e3e1da;
	box-sizing: border-box;
	width: 100%;
	max-width: 390px;
	margin: 0 auto;
	padding: 48px 20px 72px;
	background: var(--paper);
	color: var(--ink);
	font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
}

.flask-404__kicker {
	margin: 0 0 4px;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--forest);
}

.flask-404__title {
	margin: 0 0 16px;
	font-size: 32px;
	font-weight: 300;
	line-height: 39px;
	letter-spacing: 0;
	color: var(--ink);
}

.flask-404__lead {
	margin: 0 0 32px;
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
	color: var(--ink);
}

.flask-404__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	margin-bottom: 48px;
}

.flask-404__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 16px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
}

.flask-404__cta--primary {
	background: var(--forest);
	color: #fff;
	border: 1px solid var(--forest);
}

.flask-404__cta--ghost {
	background: transparent;
	color: var(--ink);
	border: 1px solid var(--ink);
}

.flask-404__arrow {
	position: relative;
	flex: 0 0 22px;
	width: 22px;
	height: 12px;
}

.flask-404__arrow::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 18px;
	height: 1px;
	background: #fff;
	transform: translateY(-50%);
}

.flask-404__arrow::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}

.flask-404__arrow--ink::before {
	background: var(--ink);
}

.flask-404__arrow--ink::after {
	border-color: var(--ink);
}

.flask-404__routes {
	width: 100%;
	margin-bottom: 32px;
}

.flask-404__routes-label {
	margin: 0 0 16px;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--forest);
}

.flask-404__links {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--line);
}

.flask-404__links li {
	border-bottom: 1px solid var(--line);
}

.flask-404__links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0;
	text-decoration: none;
	font-size: 15px;
	font-weight: 400;
	line-height: 20px;
	color: var(--ink);
}

.flask-404__path {
	flex: 0 0 auto;
	font-size: 11px;
	line-height: 14px;
	color: var(--mute);
	white-space: nowrap;
}

.flask-404__notice {
	box-sizing: border-box;
	width: 100%;
	padding: 16px;
	border: 1px solid var(--ink);
	background: var(--card);
}

.flask-404__notice-title {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--forest);
}

.flask-404__notice-body {
	margin: 0;
	font-size: 12px;
	font-weight: 300;
	line-height: 18px;
	color: var(--ink);
}

@media (min-width: 768px) {
	.flask-404 {
		max-width: 560px;
		padding: 72px 24px 96px;
	}

	.flask-404__title {
		font-size: 40px;
		line-height: 52px;
	}
}

/* Mobile header: research notice and MENU / FLASK / SEARCH layout. */
.flask-site-header { background:#f6f4f0 !important; }
.flask-site-header::before { content:"FOR RESEARCH USE ONLY — NOT FOR HUMAN OR VETERINARY USE"; display:block; padding:19px 16px; background:#1c1c1c; color:#f6f4f0; text-align:center; font:10px/1.25 "IBM Plex Mono", monospace; letter-spacing:.08em; }
.flask-site-logo .elementor-heading-title { color:#1c1c1c !important; font-family:"IBM Plex Mono", monospace !important; font-style:normal !important; font-weight:400 !important; }
.flask-header-search .elementor-button { background:transparent !important; border:0 !important; color:#1c1c1c !important; font:16px/1 "IBM Plex Mono", monospace !important; padding:8px 0 !important; }
@media (max-width:767px) { .flask-site-header > .e-con > .e-con { position:relative; display:flex !important; flex-wrap:wrap; align-items:center; justify-content:space-between; min-height:110px; padding:0 34px !important; } .flask-site-logo { margin:0 !important; align-self:center; } .flask-site-logo .elementor-heading-title { font-size:28px !important; letter-spacing:-.04em !important; } .flask-site-logo::after { content:""; display:block; width:58px; margin:13px auto 0; border-bottom:2px solid #41625d; } .flask-header-search { margin-left:auto; align-self:center; } }
@media (min-width:768px) { .flask-site-header::before { padding:16px 24px; } .flask-site-logo .elementor-heading-title { font-size:26px !important; } .flask-header-search .elementor-button { font-size:14px !important; } }
