๐ŸŒท Your happy place for books

Find your next favorite story.

Welcome to Blissful Books โ€” a cozy, colorful bookstore in the heart of Milwaukee, Wisconsin. Discover magical worlds, unforgettable characters, and stories you'll never want to put down.

1,000+ Books to explore
โ™ก Book lovers welcome
โœจ Good vibes only
๐Ÿ“š New Arrivals
๐Ÿ’— Romance
Stack of colorful books
โœฟ

OUR BOOKS

Pick a world to get lost in ๐ŸŒˆ

From magical adventures to heartwarming romances, there's something waiting for every kind of reader.

๐Ÿ’•

Romance

Sweet, swoony, dramatic, and everything in between.

Explore โ†’
๐Ÿงš

Fantasy

Dragons, magic, kingdoms, and unforgettable adventures.

Explore โ†’
๐Ÿ”ฎ

Mystery

Twist-filled stories that keep you guessing.

Explore โ†’
๐ŸŒป

Young Adult

Stories about friendship, growing up, and finding yourself.

Explore โ†’

MORE THAN A BOOKSTORE

We're here to make reading blissful โœจ

Not sure what to read next? We've got you!

01
๐Ÿ’ก

Book Suggestions

Tell us what you love reading and we'll help you discover your next favorite book.

02
๐ŸŽ

Gift Recommendations

Looking for the perfect bookish gift? We'll help you find something special.

03
๐Ÿ“ฆ

Book Bundles

Discover themed bundles filled with books and cute bookish goodies.

04
โ˜•

Reading Recommendations

Need something for your weekend reading session? Ask our team for personalized recommendations.

Books and reading accessories

BOOKISH GOODIES

Because books deserve cute accessories too. ๐Ÿ‘œ

Take your love of reading everywhere with our collection of bookish accessories and gifts.

๐Ÿ‘œ Tote Bags
๐ŸŒธ Stickers
๐Ÿ”– Bookmarks
๐Ÿ•ฏ๏ธ Bookish Candles
๐Ÿงธ Reading Gifts
โœ๏ธ Journals & Stationery
Browse Goodies โœจ

OUR STORY

A little bookstore with a big love for stories. ๐Ÿ’—

Blissful Books was created for readers who believe there's nothing quite like getting lost in a good book.

Located in Milwaukee, Wisconsin, we're a cozy neighborhood bookstore filled with colorful shelves, friendly recommendations, and plenty of books to fall in love with.

โ€œ Every book is a new adventure waiting to happen.
Cozy bookstore shelves
๐Ÿ•

COME VISIT US

Store Hours

Monday โ€“ Saturday 10:00 AM โ€“ 7:00 PM
Sunday Closed

๐Ÿ“ Milwaukee, Wisconsin

STAY IN THE LOOP

Get cozy bookish updates ๐Ÿ’Œ

New arrivals, recommendations, events, and a little reading inspiration delivered to your inbox.

/* ========================================= BLISSFUL BOOKS Cute + Colorful Bookstore Website ========================================= */ :root { --pink: #f7a8c4; --light-pink: #fff0f6; --purple: #b9a5e8; --light-purple: #f1edff; --blue: #9ed9e5; --light-blue: #eafaff; --yellow: #f8d879; --cream: #fffaf2; --dark: #352c3e; --text: #655b68; --white: #ffffff; --shadow: 0 15px 40px rgba(74, 57, 77, 0.10); } /* ========================================= GENERAL ========================================= */ * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: "DM Sans", sans-serif; background: var(--cream); color: var(--dark); line-height: 1.7; } img { width: 100%; display: block; } a { text-decoration: none; color: inherit; } h1, h2, h3 { font-family: "Playfair Display", serif; } section { padding: 100px 7%; } /* ========================================= NAVIGATION ========================================= */ .navbar { min-height: 80px; padding: 15px 7%; display: flex; align-items: center; justify-content: space-between; background: rgba(255, 250, 242, 0.95); position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid #f1e7dd; backdrop-filter: blur(10px); } .logo { font-family: "Playfair Display", serif; font-size: 1.45rem; font-weight: 700; display: flex; align-items: center; gap: 8px; } .logo span { font-size: 1.6rem; } nav { display: flex; gap: 25px; } nav a { color: var(--text); font-size: 0.9rem; font-weight: 600; transition: 0.25s; } nav a:hover { color: #d46c98; } .nav-button, .primary-button { display: inline-block; padding: 12px 22px; background: var(--pink); color: white; border-radius: 50px; font-weight: 700; box-shadow: 0 7px 20px rgba(224, 119, 157, 0.25); transition: 0.25s; } .nav-button:hover, .primary-button:hover { transform: translateY(-3px); } /* ========================================= HERO ========================================= */ .hero { min-height: 700px; padding: 90px 7%; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; overflow: hidden; background: radial-gradient(circle at 10% 20%, #ffe4ef 0, transparent 25%), radial-gradient(circle at 90% 80%, #e9e2ff 0, transparent 25%), var(--cream); } .badge { display: inline-block; padding: 8px 15px; border-radius: 50px; background: white; color: #bc5d87; font-weight: 700; font-size: 0.85rem; margin-bottom: 22px; box-shadow: var(--shadow); } .hero h1 { font-size: clamp(3.2rem, 6vw, 5.5rem); line-height: 1.05; max-width: 650px; margin-bottom: 25px; } .hero h1 span { display: block; color: #d36f99; font-style: italic; } .hero p { color: var(--text); font-size: 1.05rem; max-width: 570px; margin-bottom: 30px; } .hero-buttons { display: flex; gap: 15px; flex-wrap: wrap; } .secondary-button { padding: 11px 22px; border: 2px solid #e7a4bf; border-radius: 50px; color: #a95379; font-weight: 700; transition: 0.25s; } .secondary-button:hover { background: var(--light-pink); } .mini-stats { display: flex; gap: 30px; margin-top: 45px; } .mini-stats div { display: flex; flex-direction: column; } .mini-stats strong { font-size: 1.3rem; } .mini-stats span { color: #827783; font-size: 0.75rem; } .hero-image { position: relative; } .hero-image img { height: 520px; object-fit: cover; border-radius: 180px 180px 25px 25px; box-shadow: 20px 25px 60px rgba(71, 55, 73, 0.18); } .floating-card { position: absolute; background: white; padding: 13px 18px; border-radius: 15px; box-shadow: var(--shadow); font-weight: 700; z-index: 2; animation: float 4s ease-in-out infinite; } .card-one { top: 15%; left: -30px; } .card-two { bottom: 15%; right: -30px; animation-delay: 1s; } .flower-decoration { position: absolute; font-size: 5rem; color: var(--pink); bottom: -30px; left: -50px; } @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } /* ========================================= SECTION HEADINGS ========================================= */ .section-heading { text-align: center; max-width: 700px; margin: 0 auto 55px; } .eyebrow { color: #c6678f; font-weight: 800; letter-spacing: 2px; font-size: 0.75rem; margin-bottom: 10px; } .section-heading h2, .accessories-content h2, .about-content h2, .hours-card h2, .newsletter h2 { font-size: clamp(2.2rem, 4vw, 3.4rem); line-height: 1.15; margin-bottom: 15px; } .section-heading > p:last-child { color: var(--text); } /* ========================================= CATEGORIES ========================================= */ .category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; } .category-card { padding: 35px 28px; border-radius: 25px; transition: 0.3s; } .category-card:hover { transform: translateY(-8px); box-shadow: var(--shadow); } .category-card.pink { background: var(--light-pink); } .category-card.purple { background: var(--light-purple); } .category-card.blue { background: var(--light-blue); } .category-card.yellow { background: #fff8dc; } .category-icon { width: 65px; height: 65px; display: grid; place-items: center; background: white; border-radius: 50%; font-size: 1.8rem; margin-bottom: 25px; } .category-card h3 { font-size: 1.5rem; margin-bottom: 10px; } .category-card p { color: var(--text); font-size: 0.9rem; margin-bottom: 20px; } .category-card a { color: #b65f86; font-weight: 800; } /* ========================================= FEATURED BOOKS ========================================= */ .featured-section { background: white; } .book-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; max-width: 1200px; margin: auto; } .book-card { background: var(--cream); border-radius: 20px; overflow: hidden; transition: 0.3s; } .book-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); } .book-cover { height: 330px; padding: 25px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: white; } .book-cover span { font-size: 2rem; margin-bottom: 15px; } .book-cover h3 { font-size: 1.9rem; line-height: 1.15; } .book-cover small { margin-top: 15px; font-size: 0.65rem; letter-spacing: 1px; } .cover-pink { background: linear-gradient(145deg, #e987ad, #c95783); } .cover-purple { background: linear-gradient(145deg, #a999dc, #7664b3); } .cover-blue { background: linear-gradient(145deg, #73c6d6, #478e9e); } .cover-yellow { background: linear-gradient(145deg, #f2c95d, #dba832); } .book-info { padding: 20px; } .book-info h3 { font-size: 1.25rem; } .book-info p { font-size: 0.8rem; color: #887d88; margin: 5px 0; } .book-info strong { color: #b35b82; } /* ========================================= SERVICES ========================================= */ .services-section { background: #f8f4ff; } .services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; } .service-card { background: white; border-radius: 25px; padding: 35px; position: relative; overflow: hidden; box-shadow: 0 8px 30px rgba(84, 67, 100, 0.05); } .service-number { position: absolute; right: 20px; top: 15px; color: #eee6f4; font-size: 3rem; font-weight: 800; } .service-icon { font-size: 2rem; margin-bottom: 20px; } .service-card h3 { font-size: 1.4rem; margin-bottom: 12px; } .service-card p { color: var(--text); font-size: 0.9rem; } /* ========================================= ACCESSORIES ========================================= */ .accessories-section { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; background: var(--cream); } .accessories-image img { height: 500px; object-fit: cover; border-radius: 30px; } .accessories-content > p:not(.eyebrow) { color: var(--text); margin-bottom: 25px; } .goodies-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 30px; } .goodies-list div { background: white; padding: 13px; border-radius: 12px; font-size: 1.1rem; } .goodies-list span { margin-left: 8px; font-size: 0.85rem; font-weight: 700; } /* ========================================= ABOUT ========================================= */ .about-section { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; background: white; } .about-content > p:not(.eyebrow) { color: var(--text); margin-bottom: 15px; } .about-image img { height: 500px; object-fit: cover; border-radius: 30px 120px 30px 120px; } .quote { margin-top: 30px; background: var(--light-pink); padding: 25px; border-radius: 20px; font-family: "Playfair Display", serif; font-size: 1.25rem; font-style: italic; } .quote span { font-size: 3rem; color: var(--pink); } /* ========================================= HOURS ========================================= */ .hours-section { background: #f5edff; display: flex; justify-content: center; } .hours-card { background: white; padding: 50px; border-radius: 30px; max-width: 900px; width: 100%; display: grid; grid-template-columns: 100px 1fr; gap: 35px; box-shadow: var(--shadow); } .hours-icon { width: 80px; height: 80px; display: grid; place-items: center; border-radius: 50%; background: var(--light-pink); font-size: 2rem; } .hours-row { display: flex; justify-content: space-between; border-bottom: 1px solid #eee5ed; padding: 15px 0; } .hours-row strong { color: #ad5b80; } .hours-row.closed strong { color: #888; } .location { margin-top: 20px; font-weight: 700; } /* ========================================= NEWSLETTER ========================================= */ .newsletter { padding: 80px 7%; background: #efbfd2; display: flex; justify-content: space-between; align-items: center; gap: 40px; } .newsletter .eyebrow { color: #92516e; } .newsletter h2 { margin-bottom: 10px; } .newsletter p { max-width: 600px; } .newsletter form { display: flex; background: white; padding: 7px; border-radius: 50px; min-width: 430px; } .newsletter input { border: none; outline: none; padding: 12px 18px; background: transparent; width: 100%; font-family: inherit; } .newsletter button { border: none; background: var(--dark); color: white; padding: 12px 22px; border-radius: 50px; font-family: inherit; font-weight: 700; cursor: pointer; } /* ========================================= FOOTER ========================================= */ footer { background: var(--dark); color: white; padding: 70px 7%; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 70px; } .footer-brand p { color: #c7bec9; max-width: 350px; margin-top: 15px; } .footer-links { display: flex; flex-direction: column; gap: 8px; } .footer-links h4 { color: var(--pink); margin-bottom: 10px; } .footer-links a, .footer-links p { color: #c7bec9; font-size: 0.9rem; } .footer-links a:hover { color: white; } .copyright { background: #292331; color: #aaa1ad; text-align: center; padding: 18px; font-size: 0.8rem; } /* ========================================= RESPONSIVE DESIGN ========================================= */ @media (max-width: 1000px) { nav { display: none; } .hero { grid-template-columns: 1fr; } .hero-image { max-width: 650px; width: 100%; margin: auto; } .category-grid, .book-grid, .services-grid { grid-template-columns: repeat(2, 1fr); } .accessories-section, .about-section { grid-template-columns: 1fr; gap: 45px; } .newsletter { flex-direction: column; align-items: flex-start; } footer { grid-template-columns: 1fr 1fr; } } @media (max-width: 650px) { section { padding: 70px 6%; } .navbar { padding: 14px 6%; } .nav-button { display: none; } .hero { padding: 65px 6%; } .hero h1 { font-size: 3rem; } .hero-image img { height: 400px; } .floating-card { font-size: 0.75rem; } .card-one { left: 5px; } .card-two { right: 5px; } .mini-stats { gap: 15px; } .category-grid, .book-grid, .services-grid { grid-template-columns: 1fr; } .book-cover { height: 380px; } .goodies-list { grid-template-columns: 1fr; } .about-image img, .accessories-image img { height: 350px; } .hours-card { grid-template-columns: 1fr; padding: 30px; } .hours-row { flex-direction: column; gap: 4px; } .newsletter form { min-width: 0; width: 100%; flex-direction: column; background: transparent; gap: 10px; } .newsletter input { background: white; border-radius: 50px; padding: 15px; } .newsletter button { width: 100%; } footer { grid-template-columns: 1fr; gap: 35px; } }