overdue confessions | max hatter x fem reader (friends to lovers, hurt/comfort, light angst, fluff, all lowercase, oneshot, x y/n) word count ~ 2.2k
you were getting things out of your locker while max was doing some hat tricks... looking stupidly cute while doing so, a small crowd of girls giggling around him.
"if you guys don’t like it, i’m gonna be very upset," he joked in a teasing tone.
you continued to grab your books, hazel and felix standing next to you, completely used to max’s usual dramatic personality. but as you pulled your binder from the shelf, a sharp pang of hurt crossed your face.
max’s smile faltered the second he caught your expression. his playful hat trick stopped mid-flip—literally freezing in his hand like the brim forgot how to spin. the crowd of girls kept giggling around him, but he wasn’t listening anymore. his pretty eyes locked right onto yours.
he didn’t say a word yet. he just gently set his hat back on his head and took a small step away from the group, never breaking eye contact with you. he watched as you grabbed the rest of your stuff, shut your locker door, and started heading the other way down the hall.
the second you turned to walk away, he was already moving—shouldering past the confused, giggling girls with zero explanation. one of them reached out, "wait, max—" but he was already gone.
long strides ate up the distance between you two. in seconds, he was right behind you, his voice soft but urgent as it cut through the hallway chatter.
not playful. not teasing. just your name—quiet, careful, and full of something that sounded a lot like regret.
max stepped right in front of you, blocking your path gently. his usual arrogant smirk was nowhere to be seen—just wide, worried eyes scanning your face like he was trying to read a secret message. the hallway noise faded around you both. he didn’t care about the stares or the whispers starting up from passing students.
for a second, he just looked at you—then swallowed hard and reached out slowly, hesitating before his hand finally brushed against yours.
"you okay?" his voice was low, quiet—the kind of tone only you ever got to hear.
"yeah, uh... just not having the best day."
max’s jaw tightened just slightly, the way it always did when he was upset but trying really hard not to show it. he hated that you were hurting, especially if even a little bit of it was because of him. without another word, he took your hand—warm and firm—and started walking backward down the hall, gently tugging you with him like an anchor.
leading you out to a quiet bench, max sat down first, then pulled you gently beside him—close, but giving you space. he turned his whole body toward you, one arm resting along the back of the bench like he was guarding the area around you.
he didn’t buy it. not for a single second.
"you’re not," he said softly, not accusingly, just stating it like a fact he could see right in your eyes.
a quiet beat passed. the wind rustled through the leaves above as max watched you, the usual bright spark in his eyes dimmed with deep concern. then slowly, carefully, he lifted his hand and brushed a stray strand of hair from your face.
"yes i am. now i’m gonna be late," you said, your tone turning more stern this time.
max’s hand froze mid-air. the softness in his eyes hardened just a little bit—not with anger, but with hurt. he was frustrated that you were shutting him out. he dropped his hand slowly, his jaw clenching again as he watched you stiffen up and pull away emotionally.
"you’re leaving?" he asked, his voice calm, though there was a noticeable crack underneath it. not pleading, not begging you to stay... just asking.
"yeah, i need to go to class."
max nod once—short and quiet. the kind of nod someone gives when they’re trying really hard not to show how much something stings. he stood up with you, but he didn’t reach for your hand again. he didn’t smile either, just stepped back to give you space, even though every instinct in him probably wanted to pull you into his arms and make it better.
the walk back toward the school building was dead silent. the same two people who were always laughing together were now walking side by side in total silence. students glanced over as max passed, a few calling out, "hey max!" but he just gave a half-hearted wave without looking at them.
hazel spotted you from down the hall. her eyes flickered between both of your tense faces, her eyebrows furrowing into a frown.
"bye max," you said, a bit annoyed as you turned to head into your classroom.
max stopped dead in his tracks the second he heard your tone—cold, clipped, and annoyed. not at a stranger, but at him. his chest tightened painfully. he didn’t say anything back, not even a quick "see you later." he just stood there outside your classroom door as you walked in without looking back at him.
the bell rang soon after, students shuffling into classrooms all around him, but max stayed frozen for three long seconds, staring straight at the closed door where you had disappeared. felix found him still standing there moments later and raised an eyebrow.
he didn’t answer. he just turned on his heel and walked away fast—like if he moved quickly enough, no one would notice how much that actually hurt him.
internally, max was spinning out, trying to figure out what could have possibly happened. it couldn’t have been from him flirting with those girls... could it? there was no way the most beautiful girl in auradon—a princess, for that matter—could ever be jealous of the random girls he talked to.
max sat through his next two classes on pure autopilot, tapping his pen against his desk, staring out the window, and not hearing a single word from the teacher. his brain was spinning in circles.
the second school let out, max was already up, shoving his books into his bag before anyone could even speak to him. he had been subtly checking the clock all period.
he spotted you walking alone down toward the rabbit hole to wonderland—shoulders slightly hunched, headphones in like you were trying to block out the entire world. without thinking twice, he started walking fast behind you, his long legs quickly closing the distance until he was practically jogging to catch up.
he reached you in seconds. he didn’t say anything at first, just fell into step beside you, his hands shoved deep into his jacket pockets. the silence between you two was thick and awkward—the kind of silence that had never existed between you before. you used to talk about everything: classes, weekend plans, stupid jokes, whatever came to mind.
he sneaked subtle glances at your face every few steps, taking in the soft curve of your cheek under the fading sunlight, his stomach twisting with a heavy guilt he couldn’t quite name yet. a light breeze kicked up around you both as the quiet afternoon hummed on.
"i kinda just wanna be alone, max," you said softly, keeping your eyes glued to the ground.
max’s breath caught in his throat. the words hit him harder than he expected. he slowed his steps immediately, the hopeful energy completely draining from his shoulders. you didn’t yell, you didn’t snap—you just asked him to leave you alone, quietly and sadly. and somehow, that made it so much worse.
for once, the boy who always had something smooth or charming to say had absolutely nothing.
max didn’t walk away, though. he didn’t argue or make a scene either. he just gently reached out and touched your arm, stopping you for half a second. then he stepped directly in front of you, carefully blocking your path, and pulled one hand from his pocket to cup the side of your face. his thumb brushed softly against your cheekbone, turning your head toward him ever so slightly.
his eyes searched yours, soft and completely vulnerable. when he spoke, it was barely above a whisper.
the usual playful, cocky max was gone. this was just max. the real one—the one who cared about you more than anyone else in the world ever knew.
"i don’t wanna talk about it."
max’s thumb still rested against your cheek, his hand warm and steady. his expression didn’t change—no frustration, no pushback, just quiet understanding. he didn’t pull away, nor did he sigh or get annoyed. instead, he just gave a slow nod.
then, without another word, he lowered his hand and stepped closer, wrapping both of his arms around you in a soft, tight hug right there on the path home.
as you buried your face into his chest, you broke, starting to cry. max felt the first sob hit his chest, and something inside him shattered into pieces. his arms tightened instantly—protective, warm, and solid. one hand moved up to gently cradle the back of your head while the other pressed firmly between your shoulder blades.
"shhh... i’ve got you," he murmured into your hair, his voice thick with emotion.
each quiet sob you let out cut deeper than he’d ever admit out loud. he didn’t fully understand what was wrong yet, but it was tearing him apart that you were hurting. instinctively, his heart kept screaming that this was somehow all his fault. a heavy knot of guilt coiled tightly in his stomach, but right now, you came first.
you sniffled, slowly calming down a bit, though your face remained buried against his chest. max swallowed hard, his throat tight with nervousness. he wasn't used to feeling this way—uncertain, scared of saying the wrong thing. gently, carefully, he tilted his head down just enough so his lips were close to your ear, his voice soft and trembling slightly.
"y/n..." he paused, "are your tears... because of me?"
the question hung heavy in the air between you two.
"i don’t even know why i’m crying, it’s so stupid. you wouldn’t even believe—"
"no," max interrupted firmly, shaking his head gently before you could finish the sentence. "don’t say it’s stupid. don’t even think that."
his arms tightened around you again, pulling your face just a little closer into the crook of his neck where he pressed a sweet, instinctive kiss to your hair.
"it’s not stupid if it made you cry," he murmured against your skin. the mere thought that something he did had hurt you made his chest ache worse than anything else ever could.
"i’m scared to tell you," you whispered.
max’s breath hitched. you—the bravest person he knew, someone who stood up to anything—were scared to tell him something? his heart plummets. he didn't panic or pressure you, but inside, he was terrified—not because you might say something bad about him, but because you were afraid of his reaction.
slowly, he leaned back just enough to look at your face, the tear tracks on your cheeks still fresh, and cupped both sides of your face with his warm hands. his thumbs brushed away the last few tears as he searched your eyes, his usual gaze filled with nothing but softness and worry.
"hey," he whispered, "whatever it is... i promise i won’t get mad."
"but you won’t wanna be my friend anymore... i just know it."
max’s heart absolutely shattered. his hands froze on your face, his eyes flooding with absolute devastation. the idea that you’d cry over something and think his first reaction would be to ditch you? that he could ever stop caring about the person who meant more to him than life itself?
without a word, max pulled you back into a tighter, fiercer hug. one arm locked around your shoulders while his other hand cradled the back of your head, shielding you from the rest of the world.
"y/n," his voice cracked slightly, "i could never stop being friends with you."
"seeing you flirt with other girls breaks me," you blurted out, the truth finally spilling over.
max went completely still. the world around him—sound, color, everything—just stopped. his arms stayed locked around you, but his mind was spinning. he had thought it was harmless—just jokes, tricks, and attention he didn't even care about. he never meant to hurt anyone, especially not you.
he finally pulled back just enough to look into your eyes, his face raw with regret and overwhelming guilt. he didn't make an excuse, because the truth was, he had been flirting with other girls. constantly. and you—sweet, beautiful y/n, who meant everything to him—had been watching it all while silently breaking inside.
without saying a word, he lifted both hands and gently cupped your face again. leaning in slowly, he pressed his lips against yours in a soft kiss.
"you don’t need to kiss me out of pity... i should go," you whispered, breaking the kiss and turning to leave in the opposite direction.
max stumbled back half a step, his lips still tingling, his heart pounding in utter confusion and panic. in two quick strides, he moved to stop you from leaving again. he reached out fast but gently, catching your wrist with soft fingers before turning you around to face him fully.
"y/n," his voice cracked, "that was not pity."
his eyes were wide, almost frantic.
"it was... you don’t need to feel the same way. i’m your best friend."
max’s chest tightened like he’d been punched in the gut. that phrase—best friend—echoed painfully in his head. that was what everyone thought you two were: best friends since childhood, an inseparable duo. but he had never seen it that way. not even close.
"no," he said firmly, stepping closer despite your attempt to pull away. his hand didn't leave yours; instead, he lifted it slowly and pressed a soft kiss right onto the back of your palm, then another on each knuckle as his voice dropped low with raw emotion. "i kissed you because i’ve liked you for years."
"no you haven’t. you tell me all the time that you don’t want a girlfriend and that flirting is easier."
max took a deep, shaky breath, about to admit something he had never said out loud before.
"yeah... i did say all that," he admitted quietly. "i told everyone i didn’t want a girlfriend, that flirting was just for fun." he paused, running his thumb over your hand where it rested in his. "but i lied. i didn’t flirt with them because i liked them. i did it as a distraction... a cover-up. because you were right there, and you were my best friend. i thought if i confessed how much i actually liked you, it would ruin everything we had."
you looked up at him with genuine confusion, and he found the expression so unbelievably cute. max’s heart squeezed at the sight of your wide eyes staring up at him like he was speaking a foreign language. he couldn't help it—his lips twitched into a tiny, nervous smile for half a second before melting back into seriousness.
you really had no idea. not one clue that all this time, the boy who flirted with every girl in school was actually head-over-heels for you, too terrified to say anything because you were his safe place.
slowly, carefully, max lifted his other hand and gently tucked a loose strand of hair behind your ear, his touch feather-light. then he leaned down again—slower this time—and kissed you.
max absolutely melted. the second your lips moved against his, soft and sweet, his knees went weak. his breath hitched in his chest with pure joy. this was real. you were kissing him back.
y/n—the girl of his dreams since childhood—was actually kissing him.
all those years spent pretending not to care, all that dumb flirting just to hide how nervous he got around you—it was all gone, forgotten, and irrelevant now that your lips were warm against his. he kissed you back with equal tenderness, slow and deep, like every brush of his lips was a promise: i’ve liked you forever. i’m sorry i didn’t say it sooner.
as you slowly pulled away, max made the most pathetic little sound. his lips chased yours for a split second before his brain caught up and realized the kiss had ended. his puppy eyes went wide and glassy. the whine was soft, high-pitched, and completely involuntary.
he didn't even care that he sounded ridiculous, reduced to pouting like a baby because the kiss ended too soon. without thinking, he leaned forward again, still chasing your mouth, and gently brushed another quick peck against your lips before pulling back slightly to wait.
"what does that make us now then?"
max’s eyes lit up like someone had just handed him the sun. he was still buzzing, his heart racing. he took both of your hands in his, warm and sure, looking straight into your eyes with that soft expression saved only for you.
"us?" he said, his voice tender. "it makes us... together."
a tiny smile snuck onto his face—pure happiness.
"i mean... if you want to be." then, as a bit of nervous energy crept back in, he quickly added, "we don’t have to label it right now! but yeah... i really want to."
"yeah, i’d... like that."
max’s entire face exploded into a wide, radiant grin. you said yes. you wanted to be with him.
he gently pulled you into another hug, tighter this time, and buried his face in your neck, breathing you in like you were the best thing that had ever happened to him. then he kissed your cheek, then your forehead, then softly right on your nose.
finally, he pressed one more sweet kiss to your lips—slower this time, softer, sealing the promise between you both.