/* =============================================================================
   C:\vindxit\frontend\styles\base.css
   VindXit Base (Readable & Annotated)
   -----------------------------------------------------------------------------
   • Tabs for indentation (project standard)
   • Consolidated + ordered: Variables → Keyframes → Resets → Layout → Components
   • Preserves all behaviors from your provided CSS (same selectors & props)
   • Adds section headers and purpose comments for quick scanning
   ============================================================================= */

/* ============================================================================
	1) GLOBAL TOKENS & KEYFRAMES
   ============================================================================ */

/* -- Brand Tokens ----------------------------------------------------------- */
:root {
	/* Global brand tokens used across components for consistent theming */
	--vindxit-blue:   #0047AB;  /* Primary brand blue (headers/gradients) */
	--vindxit-sky:    #00AEEF;  /* Accent blue for gradients/highlights   */
	--vindxit-yellow: #FFCC00;  /* CTA / highlight yellow                 */
	--vindxit-silver: #C0C0C0;  /* Neutral silver for borders/icons       */
	--vindxit-dark:   #002F6C;  /* Deep blue for dark surfaces/buttons    */
}

/* -- Motion Library --------------------------------------------------------- */
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(20px); }
	to   { opacity: 1; transform: translateY(0); }
}

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

/* ✨ Lady Logo “run in + settle + breathe” combo */
@keyframes vxRunAcrossNoBlur {
	0%   { transform: translateX(-140vw) rotate(-12deg) scale(.9); }
	70%  { transform: translateX(12px)    rotate(0)     scale(1.02); }
	85%  { transform: translateX(-8px)                 scale(.98); }
	100% { transform: translateX(0)                    scale(1); }
}

@keyframes vxBreath {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(4px); }
}

/* ============================================================================
	2) BASE ELEMENTS & RESET
   ============================================================================ */

html,
body {
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: 'Poppins', sans-serif;
	background-color: #dce1e4; /* Fallback under gradient */
	display: flex;
	flex-direction: column;
	text-align: center;
}

/* Improve touch responsiveness */
html {
	-ms-touch-action: manipulation;
	touch-action: manipulation;
}

/* Animated gradient background on body */
body {
	background: linear-gradient(135deg, var(--vindxit-blue), var(--vindxit-sky));
	background-size: 400% 400%;
}

/* Form elements: mobile-friendly default sizing and boxing */
input,
select,
textarea {
	font-size: 16px;
	width: 100%;
	box-sizing: border-box;
}

/* Lists: remove default bullets globally (components re-enable when needed) */
ul {
	list-style: none;
	padding-left: 0;
}

/* ============================================================================
	3) GENERIC LAYOUT HELPERS
   ============================================================================ */

.input-wrapper {
	display: flex;
	width: 100%;
	max-width: 100%;
}

.full-height-main {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.container {
	flex: 1;
	max-width: 100%;
	margin: 2rem auto;
	padding: 0 1.5rem;
	width: 100%;
}

/* ============================================================================
	4) HEADER & BRANDING
   ============================================================================ */

header {
	position: relative;
	width: 100%;
	min-height: 80px;
	background-color: #111827;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem;
}

/* Logo link wrapper keeps the image aligned & above overlays */
.logo-link {
	position: relative;
	z-index: 1000;
	height: 100%;
	display: flex;
	align-items: center;
}

/* Lady logo: “run in” once, then subtle breathing loop on hover */
.logo-img {
	height: 100px;
	width: auto;
	object-fit: contain;
	animation:
		vxRunAcrossNoBlur 2.5s cubic-bezier(.2, 1.1, .2, 1) .2s both,
		vxBreath 6s ease-in-out 3s infinite;
	transform-origin: center;
}

.logo-img:hover {
	animation: vxBreath 6s ease-in-out 0s infinite;
}

/* ============================================================================
	5) NAVIGATION & BUTTONS
   ============================================================================ */

nav {
	display: flex;
	justify-content: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-top: 1.25rem;
	align-items: center;
}

/* Base link style for nav */
nav a {
	position: relative;
	text-decoration: none;
}

/* Underline accent on hover */
nav a:hover::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 3px;
	background: var(--vindxit-yellow);
	bottom: -4px;
	left: 0;
}

/* Unified button look (applies to <button>, .button, and nav links) */
button,
.button,
nav a {
	/* Visuals */
	background-color: #272611;
	color: #ffcc00;

	/* Shape & layout */
	border: none;
	padding: 1rem 1.5rem;
	border-radius: 9999px;
	font-weight: 600;
	font-size: 1rem;
	text-decoration: none;
	display: block;
	width: max-content;
	margin: .5rem;

	/* Motion & depth */
	transition: background-color .2s ease, transform .1s ease;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}

/* Hover state */
button:hover,
.button:hover,
nav a:hover {
	background-color: #2563eb; /* Slight blue pop */
	transform: translateY(-1px);
	cursor: pointer;
}

/* Primary CTA pill */
.cta {
	background-color: var(--vindxit-yellow);
	color: var(--vindxit-blue);
	padding: .75rem 1.5rem;
	border-radius: 9999px;
	font-weight: 600;
	font-size: 1rem;
	box-shadow: 0 4px 12px rgba(0,0,0,.15);
	display: inline-block;
	transition: transform .3s ease, background-color .2s ease;
}

.cta:hover {
	background-color: #ffe066;
	transform: scale(1.05);
}

/* Desktop-only step buttons */
@media (min-width: 769px) {
	.desktop-step-button {
		background-color: #002F6C;
		color: #FFCC00;
	}
	.desktop-step-button:hover {
		background-color: #222;
	}
}

/* ============================================================================
	6) FORMS & VIN ENTRY CLUSTER
   ============================================================================ */

/* Page-level form region */
.form-outer {
	flex: 1;
	display: flex;
	flex-direction: column;
}

/* Centered VIN block */
.vin-center {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1;
	text-align: center;
	gap: 1.5rem;
	transform: scale(1.1); /* Slight emphasis on desktop */
}

/* Input + button row (desktop defaults) */
.input-button-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

/* Rounded input field */
.input-rounded {
	width: 100%;
	max-width: 360px;
	padding: .75rem 1rem;
	border: 1px solid #e5e7eb;
	border-radius: 9999px;
	background-color: #fff;
	font-size: 1rem;
	transition: border-color .2s ease;
}

.input-rounded:focus {
	border-color: #3b82f6;
	outline: none;
}

.vin-wrapper { position: relative; width: 100%; }
.vin-check { text-align: center; margin-top: 1.5rem; }

/* ============================================================================
	7) RESULTS & SCORE PRESENTATION
   ============================================================================ */

#resultSection {
	/* Static centered card */
	position: relative;
	top: 300rem;
	left: auto;
	transform: none;
	width: 100%;
	max-width: 720px;
	margin: 2rem auto;
	padding: 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	text-align: center;
	
}

.score-summary {
	text-align: left;
	margin: 2rem auto;
	max-width: 700px;
	line-height: 1.65;
	font-size: 1.05rem;
	color: #374151;
}

/* Prevent long VIN/strings from overflowing */
#vinDisplay,
#vehicleInfo,
#vindxitScore {
	font-size: 1rem;
	text-align: center;
	line-height: 1.25;
	padding: 0 10px;
	word-break: break-word;
	left: 10px; /* Retained from provided CSS */
}

#resultSection p:not(:first-child):not(:nth-child(2)):not(:nth-child(3)):not(:nth-child(4)) {
	padding-left: 25px;
	padding-right: 6px;
	text-align: left;
}

#vindxitScore {
	display: block;
	margin: 1rem auto;
}

.score-container,
.score-bar-container {
	max-width: 100%;
}

/* Expandable “Why this score?” card */
.vx-reasons {
	background: #fff;
	border: 1px solid #000;
	border-radius: 18px;
	box-shadow:
		10px 12px 0 rgba(0,0,0,.10),
		18px 22px 34px rgba(0,0,0,.28);
	max-width: 700px;
	margin: 1rem auto;
	overflow: hidden;
}

.vx-reasons > summary {
	font-size: 3rem;
	right: 3rem;
	color: #000;
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: 4rem 1.25rem;
	user-select: none;
}

/* Hide default marker */
.vx-reasons > summary::-webkit-details-marker { display: none; }

/* Caret rotation */
.vx-reasons > summary .vx-caret {
	order: -1;
	display: inline-block;
	width: 1em;
	text-align: center;
	transform: rotate(0);
	transition: transform .2s ease;
}

.vx-reasons[open] > summary .vx-caret {
	color: #000;
	transform: rotate(180deg);
}

/* Inner content */
.vx-reasons .reasons-card {
	padding: 1rem 1.25rem;
	border-top: 1px solid rgba(0,0,0,.12);
	animation: vxFadeSlide .25s ease both;
}

.vx-reasons .reasons-card ul {
	color: #000;
	margin: 0;
	padding-left: 1rem;
	list-style: disc;
}

.vx-reasons .reasons-card li {
	margin: .35rem 0;
}

@keyframes vxFadeSlide {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================================
	8) LADY FETCHER (FLOATING ASSIST)
   ============================================================================ */

.lady-fetcher-box {
	position: fixed;
	bottom: 100px;
	right: 30px;
	z-index: 999;
	max-width: 320px;
	display: block;
}

.lady-fetcher {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #f9fafb;
	padding: 1rem;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0,0,0,.15);
}

.lady-fetcher img { height: 80px; }

.lady-fetcher h2 {
	font-size: 1rem;
	margin: 0;
	text-align: left;
}

.lady-fetcher p {
	font-size: .9rem;
	margin-top: .25rem;
	text-align: left;
}

.close-fetcher {
	position: absolute;
	top: -10px;
	right: -10px;
	background: transparent;
	border: none;
	border-radius: 0;
	width: 28px;
	height: 28px;
	font-size: 1.2rem;
	font-weight: 700;
	color: #444;
	cursor: pointer;
	box-shadow: none;
	line-height: 1;
	padding: 0;
	z-index: 1000;
	transition: color .2s ease;
}

.close-fetcher:hover { color: #000; }

/* Hidden on mobile (explicit override later too) */
.lady-fetcher-box { display: none; }

/* ============================================================================
	9) LONG-FORM CONTENT (LEGAL/ABOUT)
   ============================================================================ */

.legal {
	width: 90%;
	max-width: 640px;
	height: 80vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 1.5rem;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,.1);
	box-sizing: border-box;
}

/* About Lady layout */
.about-lady-flex {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 2rem;
	padding: 2rem;
	flex-wrap: wrap;
	max-width: 1000px;
	margin: 0 auto;
}

.lady-text { flex: 1; }

.lady-img {
	height: auto;
	max-width: 900px;
	border-radius: 3px;
	box-shadow: 0 0 20px rgba(0,0,0,.1);
	object-fit: cover;
}

/* Larger screens: reverse columns and scale type */
@media (min-width: 768px) {
	.about-lady-flex {
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: flex-start;
		gap: 2rem;
		padding: 2rem;
		max-width: 2100px;
		margin: 0 auto;
	}
	.lady-img { align-self: center; }
	.lady-text {
		width: 100%;
		font-size: 1.5rem;
		line-height: 1.4;
		text-align: left;
	}
}

/* Smaller screens: stack columns */
@media (max-width: 900px) {
	.about-lady-flex {
		flex-direction: column;
		align-items: center;
		text-align: center;
		max-width: 100%;
		padding: 1rem;
		/* reduced gap for compactness */
		gap: 1rem;
	}
	.lady-img {
		width: 90%;
		max-width: 320px;
		height: auto;
		border-radius: 4px;
		box-shadow: 0 0 10px rgba(0,0,0,.08);
	}
	.lady-text {
		width: 100%;
		font-size: .95rem;
		line-height: 1.4;
		text-align: left;
	}
}

/* Friendly paragraph default in this theme */
p { color: #000; }

/* Allow hero Lady image to scale on ultrawide */
.lady-img { max-width: 1200px; }
@media (min-width: 1600px) { .lady-img { max-width: 1400px; } }

/* ============================================================================
	10) LOADING SCREEN
   ============================================================================ */

#loadingScreen {
	text-align: center;
	padding: 1rem;
}

#loadingScreen img {
	max-width: 500px;
	height: auto;
}

#loadingScreen p {
	font-size: 1.2rem;
	margin-top: .5rem;
	height: auto;
}

@media (max-width: 768px) {
	#loadingScreen img { max-width: 140px; }
	#loadingScreen p   { font-size: .9rem; }
}

/* ============================================================================
	11) THEME: N64 SKIN
   ============================================================================ */

.n64-skin {
	color: #e6f0ff;
	min-height: 100%;
	background:
		radial-gradient(1200px 600px at 50% 120%, rgba(0,0,0,.55), transparent 60%) no-repeat,
		linear-gradient(180deg, #1e6aff 0%, #1a4fff 40%, #1437b5 75%, #0c1b4a 100%);
}

/* “Grid horizon” overlay */
.n64-skin::before {
	content: "";
	position: fixed;
	inset: 55vh 0 0 0;
	pointer-events: none;
	background:
		repeating-conic-gradient(from 45deg, rgba(255,255,255,.06) 0 25%, rgba(0,0,0,.06) 0 50%)
		0 0 / 80px 80px;
	transform: perspective(800px) rotateX(55deg) translateZ(0);
	filter: blur(1px) saturate(1.2);
	opacity: .55;
}

/* Ambient prism glows */
.n64-skin::after {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(18vmax 12vmax at 10% -10%, rgba(255,212,0,.10), transparent 60%),
		radial-gradient(14vmax 10vmax at 90%  10%, rgba(0,160,48,.12), transparent 60%),
		radial-gradient(20vmax 16vmax at 50% -20%, rgba(230,0,18,.10), transparent 70%);
	mix-blend-mode: screen;
	animation: n64SkyShift 18s ease-in-out infinite alternate;
}

@keyframes n64SkyShift {
	0%   { transform: translateY(0); }
	100% { transform: translateY(-2vh); }
}

/* Sticky glassy header in N64 skin */
.n64-skin header {
	position: sticky;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 14px;
	background: linear-gradient(180deg, rgba(20,31,58,.92), rgba(6,10,22,.75));
	border-bottom: 2px solid rgba(255,255,255,.06);
	box-shadow: 0 8px 18px rgba(0,0,0,.35);
	z-index: 10;
}

/* Light bars in burger icon for contrast (if present) */
.n64-skin .menu-toggle .bar { background: #e6f0ff; }

/* Hero title bob */
.n64-skin h1 {
	margin: 20px auto 10px;
	display: flex;
	justify-content: center;
	gap: 10px;
	font-family: "Russo One", "Kanit", sans-serif;
	font-weight: 900;
	letter-spacing: .5px;
	font-size: clamp(34px, 3vw + 24px, 56px);
	color: #fff;
	text-shadow:
		0 2px 0 rgba(0,0,0,.55),
		0 0 18px rgba(0,85,255,.45);
	animation: titleBob 3.2s ease-in-out infinite;
}

@keyframes titleBob {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-4px); }
}

/* ============================================================================
	12) UTILITIES & MISC
   ============================================================================ */

.fade-in        { opacity: 0; }
.fade-in.visible{ opacity: 1; animation: fadeIn .6s forwards; }

/* Badges & bullet sets used inside “Why” blocks */
.why-block {
	margin: .75rem 0;
	color: #000; /* text color: black for everything inside by default */
}

.why-block summary {
	cursor: pointer;
	font-weight: 600;
	color: #000; /* ensure summary stays black even if browser styles differ */
}

.why-bullets {
	list-style: disc;
	padding-left: 1.25rem;
	margin: .5rem 0;
	color: #000; /* bullets + text in black */
}

.why-bullets li {
	color: #000; /* extra explicit for list items */
}

.why-badges {
	display: flex;
	gap: .5rem;
	flex-wrap: wrap;
	margin-top: .25rem;
}

.why-badges .badge {
	border: 1px solid #e3e3e3;
	padding: .25rem .5rem;
	border-radius: 999px;
	font-size: .9rem;
	color: #000; /* badge text in black */
	/* background-color: #fff;  uncomment if you need a white pill behind black text */
}


/* The small ™ mark next to brand text */
.tm-mark {
	font-size: .7em;
	vertical-align: super;
	margin-left: 2px;
	color: #000;
}

/* Delete button palette variants */
.delete-btnrd     { background: linear-gradient(180deg, #a00010, #a00010); color: #fff; }
.delete-btngrn    { background: linear-gradient(180deg, #00a048, #00a048); color: #fff; }
.delete-btnrdylw  { background: linear-gradient(180deg, #FFCC00, #FFCC00); color: #000; }
.delete-btnrdgry  { background: linear-gradient(180deg, #6d6d6d, #6d6d6d); color: #fff; }

/* ============================================================================
	13) RESPONSIVE: MOBILE FIRST TWEAKS
   ============================================================================ */

@media (max-width: 900px) {
	body {
		-webkit-touch-callout: none;
		touch-action: manipulation;
		-webkit-text-size-adjust: 100%;
		margin: 0;
		padding: 0;
		font-size: 14px;
	}

	input,
	select,
	textarea {
		font-size: 16px; /* Prevent iOS zoom */
	}

	.container {
		padding: 0 1rem;
		margin: 1rem auto;
	}

	.logo-img {
		max-width: 80%;
		height: auto;
	}

	h1, h2, h3 { font-size: 1.4rem; }

	button,
	.button {
		font-size: .95rem;
		padding: .75rem 1.25rem;
	}

	.vin-center {
		transform: scale(1); /* Remove desktop emphasis */
		padding: 1rem;
		gap: 1rem;
	}

	.input-button-row {
		flex-direction: column;
		gap: 10px;
		width: 100%;
	}

	.input-rounded {
		max-width: 100%;
		font-size: .95rem;
		padding: .6rem 1rem;
	}
}

/* Result card scaling on mobile */
#resultSection {
	position: relative;
	transform: none;
	left: auto;
	top: auto;
	width: 94%;
	max-width: 720px;
	margin: 1rem auto;
	padding: 1rem;
	box-sizing: border-box;
}

/* Narrower mobile refinements for step rows */
@media only screen and (max-width: 768px) {
	.input-button-row {
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}

	.input-button-row input,
	.input-button-row select {
		width: 90%;
	}

	.input-button-row button {
		width: 40%;
	}

	/* Specific step rows: keep two buttons side-by-side on small screens */
	#step-mileage .input-button-row,
	#step-price .input-button-row,
	#step-owners .input-button-row,
	#step-condition .input-button-row {
		flex-direction: column;
	}

	#step-mileage .input-button-row button,
	#step-price .input-button-row button,
	#step-owners .input-button-row button,
	#step-condition .input-button-row button {
		display: inline-block;
		width: 45%;
	}

	#step-mileage .input-button-row button:nth-of-type(2),
	#step-price .input-button-row button:nth-of-type(2),
	#step-owners .input-button-row button:nth-of-type(2),
	#step-condition .input-button-row button:nth-of-type(2) {
		margin-left: 10px;
	}
}

/* Landscape tweaks for small tablets/phones */
@media screen and (max-width: 768px) and (orientation: landscape) {
	.logo-link {
		position: relative;
		top: 0;
		left: 0;
		transform: none;
		margin: 0 auto;
	}
	.logo-img {
		max-width: 140px;
		height: auto;
	}
}

/* Desktop structure ordering fix for “mobile-first” HTML flows */
@media (min-width: 768px) {
	.input-button-row { display: flex; align-items: center; gap: 1rem; }
	.mobile-button-row { display: contents; }
	.input-button-row > .mobile-button-row > button:first-child { order: -1; }
}

/* ============================================================================
	14) DOS THEME HEADER CENTERING (OVERRIDE)
   ============================================================================ */
/* 🟣 **TASK (in pink): Make header logo centered in DOS theme** */
header {
	justify-content: center !important;  /* Center contents horizontally */
}

.logo-link {
	margin: 0 auto;                      /* Push logo to center */
	justify-content: center;             /* Ensure flex aligns center */
}

.logo-img {
	display: block;
	margin: 0 auto;                      /* Extra safeguard for centering */
}
/* ────────────────────────────────────────────────────────────────────────────
   💗 **TASK**: Enlarge logo on desktop by 25%
   - Only affects viewports ≥ 768px (your desktop breakpoints)
   - Keeps existing mobile rules intact
   ──────────────────────────────────────────────────────────────────────────── */
/* ────────────────────────────────────────────────────────────────────────────
   💗 **TASK**: Scale logo 25% larger inside fixed-height header
   - Header remains exactly 80px tall
   - Logo is visually bigger using transform, not height
   ──────────────────────────────────────────────────────────────────────────── */
@media (min-width: 901px) {
	header {
		height: 150px;              /* lock header height */
		min-height: 150px;          /* reinforce min height */
		
	}

	.logo-img {
		height: 250px;             /* keep intrinsic size */
		
	}
}
/* === Center logo on ALL viewports without moving other header items === */
header { position: relative !important; } /* positioning context for absolute center */

.logo-link {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 10;           /* above hamburger/login, still clickable */
  pointer-events: auto;  /* keep link interactive */
}

.logo-img {
  display: block !important;
  height: 250;          /* respects whatever heights you set elsewhere */
  width: auto;           /* keeps intrinsic ratio */
  object-fit: contain;
}

/* Optional safety: avoid the logo being clipped if it’s tall */
header { overflow: visible !important; }
.lady-mute-dock{
	position: fixed;
	right: 12px;
	bottom: 12px;
	z-index: 9999;
	background: #FFCC00; /* VindXit yellow */
	border: 1px solid rgba(0,0,0,.25);
	border-radius: 12px;
	padding: 6px 10px;
	box-shadow: 0 6px 24px rgba(0,0,0,.25);
}

.lady-mute-dock .mute-btn{
	background: transparent;
	border: none;
	color: #000;           /* black text */
	font-weight: 700;
	cursor: pointer;
	font-size: 1rem;
	display: flex;
	flex-direction: column; /* stack icon over text */
	align-items: center;
	justify-content: center;
	gap: 1px;               /* space between icon and label */
}

/* Hide every other mute button except the global one */
.ladyMuteBtn:not(#ladyMuteGlobal){
	display: none !important;
}

@media (max-width: 600px){
	#ladyMuteGlobal { font-size: 0.9rem; }
}
/* 🦴 Dog-bone bullets for reasons lists */
.bone-bullets { text-align: left; color: #000; }
.bone-bullets li {
	list-style: none;
	position: relative;
	padding-left: 1.6rem;   /* room for the bone */
	margin: .35rem 0;
	color: #000;
}
.bone-bullets li::before {
	content: "🦴";
	position: absolute;
	left: 0;
	top: 0;
	transform: translateY(2px);
}
/* 📋 Safety section: black text + dog bone bullets */
.safety-section {
	text-align: left;
	color: #000; /* all text black */
}

/* Replace default list marker with 🦴 emoji */
.safety-section ul {
	list-style: none; /* remove normal bullets */
	padding-left: 1.25rem;
	color: #000;
}

.safety-section li {
	position: relative;
	padding-left: 1.5rem; /* space for bone icon */
	margin: .35rem 0;
	color: #000;
}

/* 🦴 Custom dog bone marker */
.safety-section li::before {
	content: "🦴";
	position: absolute;
	left: 0;
	top: 0;
	transform: translateY(1px); /* slight vertical alignment tweak */
}

/* Summary line stays clean & black */
.safety-section summary {
	font-weight: 600;
	cursor: pointer;
	color: #000;
}