Initial commit: Fat Kiss site — Hugo + Decap CMS
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
// Fat Kiss — contact.js
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const form = document.getElementById('contactForm');
|
||||
if (!form) return;
|
||||
|
||||
form.addEventListener('submit', async (e) => {
|
||||
e.preventDefault();
|
||||
const btn = document.getElementById('submitBtn');
|
||||
const msg = document.getElementById('formMessage');
|
||||
btn.disabled = true;
|
||||
btn.textContent = 'Sending…';
|
||||
|
||||
try {
|
||||
const fd = new FormData(form);
|
||||
const res = await fetch('/api/contact', {
|
||||
method: 'POST',
|
||||
headers: { 'Accept': 'application/json' },
|
||||
body: fd
|
||||
});
|
||||
const data = await res.json();
|
||||
|
||||
if (res.ok && data.ok) {
|
||||
msg.innerHTML = '<div class="form-message form-message--success">Thank you — your note made it through. Fat Kiss will get back to you soon.</div>';
|
||||
form.reset();
|
||||
if (typeof turnstile !== 'undefined') turnstile.reset();
|
||||
} else {
|
||||
msg.innerHTML = '<div class="form-message form-message--error">' + (data.error || 'Something did not go through. Please try again in a moment.') + '</div>';
|
||||
}
|
||||
} catch (err) {
|
||||
msg.innerHTML = '<div class="form-message form-message--error">Something did not go through. Please try again in a moment.</div>';
|
||||
}
|
||||
|
||||
btn.disabled = false;
|
||||
btn.textContent = 'Send Message';
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,52 @@
|
||||
// Fat Kiss — main.js
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
// Mobile nav toggle
|
||||
const toggle = document.getElementById('navToggle');
|
||||
const nav = document.getElementById('mainNav');
|
||||
if (toggle && nav) {
|
||||
toggle.addEventListener('click', () => nav.classList.toggle('open'));
|
||||
nav.querySelectorAll('a').forEach(a => {
|
||||
a.addEventListener('click', () => nav.classList.remove('open'));
|
||||
});
|
||||
}
|
||||
|
||||
// FAQ accordion
|
||||
document.querySelectorAll('.faq-item__question').forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
btn.parentElement.classList.toggle('open');
|
||||
});
|
||||
});
|
||||
|
||||
// Sparkle effect on primary buttons
|
||||
document.querySelectorAll('.btn--primary').forEach(btn => {
|
||||
btn.addEventListener('mousemove', (e) => {
|
||||
const rect = btn.getBoundingClientRect();
|
||||
btn.style.setProperty('--x', ((e.clientX - rect.left) / rect.width * 100) + '%');
|
||||
btn.style.setProperty('--y', ((e.clientY - rect.top) / rect.height * 100) + '%');
|
||||
});
|
||||
});
|
||||
|
||||
// Kiss mark entrance animation for hero logo
|
||||
const heroLogo = document.querySelector('.hero__logo');
|
||||
if (heroLogo && !sessionStorage.getItem('fk-hero-seen')) {
|
||||
heroLogo.classList.add('kiss-mark');
|
||||
sessionStorage.setItem('fk-hero-seen', '1');
|
||||
}
|
||||
|
||||
// Jingle button (if present)
|
||||
const jingleBtn = document.getElementById('jingleBtn');
|
||||
if (jingleBtn) {
|
||||
const audio = document.getElementById('jingleAudio');
|
||||
jingleBtn.addEventListener('click', () => {
|
||||
if (audio) {
|
||||
if (audio.paused) {
|
||||
audio.play();
|
||||
jingleBtn.textContent = '⏸ Pause';
|
||||
} else {
|
||||
audio.pause();
|
||||
jingleBtn.textContent = '▶ Play Jingle';
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,914 @@
|
||||
/* ── Header ── */
|
||||
.site-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
height: var(--fk-header-height);
|
||||
background: rgba(251, 247, 242, 0.85);
|
||||
backdrop-filter: blur(12px);
|
||||
-webkit-backdrop-filter: blur(12px);
|
||||
border-bottom: 1px solid var(--fk-border);
|
||||
}
|
||||
|
||||
.site-header__inner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.site-header__logo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--fk-space-sm);
|
||||
font-family: var(--fk-font-logo);
|
||||
font-size: 1.75rem;
|
||||
letter-spacing: 0.04em;
|
||||
color: var(--fk-kiss-red);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.site-header__logo svg {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.site-header__nav {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--fk-space-xl);
|
||||
}
|
||||
|
||||
.site-header__nav a {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-sm);
|
||||
font-weight: 500;
|
||||
color: var(--fk-ink-soft);
|
||||
transition: color var(--fk-duration-fast);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.site-header__nav a:hover,
|
||||
.site-header__nav a.active {
|
||||
color: var(--fk-ink);
|
||||
}
|
||||
|
||||
.site-header__nav a.active::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: -4px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 2px;
|
||||
background: var(--fk-kiss-red);
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
/* Mobile nav toggle */
|
||||
.nav-toggle {
|
||||
display: none;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
padding: var(--fk-space-sm);
|
||||
}
|
||||
|
||||
.nav-toggle span {
|
||||
display: block;
|
||||
width: 24px;
|
||||
height: 2px;
|
||||
background: var(--fk-ink);
|
||||
border-radius: 1px;
|
||||
transition: transform var(--fk-duration-md), opacity var(--fk-duration-md);
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.nav-toggle { display: flex; }
|
||||
.site-header__nav {
|
||||
position: fixed;
|
||||
top: var(--fk-header-height);
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: var(--fk-bg);
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
gap: var(--fk-space-2xl);
|
||||
transform: translateX(100%);
|
||||
transition: transform var(--fk-duration-md) var(--fk-ease-out);
|
||||
}
|
||||
.site-header__nav.open {
|
||||
transform: translateX(0);
|
||||
}
|
||||
.site-header__nav a {
|
||||
font-size: var(--fk-text-xl);
|
||||
}
|
||||
}
|
||||
|
||||
/* ── Footer ── */
|
||||
.site-footer {
|
||||
background: var(--fk-ink);
|
||||
color: var(--fk-parchment);
|
||||
padding: var(--fk-space-4xl) 0 var(--fk-space-2xl);
|
||||
}
|
||||
|
||||
.site-footer__grid {
|
||||
display: grid;
|
||||
grid-template-columns: 2fr 1fr 1fr;
|
||||
gap: var(--fk-space-2xl);
|
||||
margin-bottom: var(--fk-space-3xl);
|
||||
}
|
||||
|
||||
.site-footer__brand {
|
||||
font-family: var(--fk-font-logo);
|
||||
font-size: 1.5rem;
|
||||
color: var(--fk-kiss-red);
|
||||
text-transform: uppercase;
|
||||
margin-bottom: var(--fk-space-md);
|
||||
}
|
||||
|
||||
.site-footer__slogan {
|
||||
font-family: var(--fk-font-display);
|
||||
font-style: italic;
|
||||
color: var(--fk-muted-gold);
|
||||
margin-bottom: var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.site-footer__copy {
|
||||
font-size: var(--fk-text-sm);
|
||||
color: rgba(244, 237, 228, 0.5);
|
||||
}
|
||||
|
||||
.site-footer h4 {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.1em;
|
||||
color: var(--fk-seafoam);
|
||||
margin-bottom: var(--fk-space-md);
|
||||
}
|
||||
|
||||
.site-footer a {
|
||||
display: block;
|
||||
font-size: var(--fk-text-sm);
|
||||
color: rgba(244, 237, 228, 0.7);
|
||||
padding: var(--fk-space-xs) 0;
|
||||
transition: color var(--fk-duration-fast);
|
||||
}
|
||||
|
||||
.site-footer a:hover {
|
||||
color: var(--fk-cream);
|
||||
}
|
||||
|
||||
.site-footer__bottom {
|
||||
border-top: 1px solid rgba(244, 237, 228, 0.1);
|
||||
padding-top: var(--fk-space-lg);
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-size: var(--fk-text-xs);
|
||||
color: rgba(244, 237, 228, 0.4);
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.site-footer__grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.site-footer__bottom {
|
||||
flex-direction: column;
|
||||
gap: var(--fk-space-sm);
|
||||
}
|
||||
}
|
||||
|
||||
/* ── Buttons ── */
|
||||
.btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: var(--fk-space-sm);
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-sm);
|
||||
font-weight: 600;
|
||||
padding: 0.75rem 1.75rem;
|
||||
border-radius: var(--fk-radius-full);
|
||||
transition: all var(--fk-duration-md) var(--fk-ease-out);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.btn--primary {
|
||||
background: var(--fk-kiss-red);
|
||||
color: #fff;
|
||||
box-shadow: 0 2px 12px rgba(196, 30, 58, 0.25);
|
||||
}
|
||||
|
||||
.btn--primary:hover {
|
||||
background: var(--fk-kiss-red-dim);
|
||||
box-shadow: 0 4px 20px rgba(196, 30, 58, 0.35);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.btn--primary:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.btn--secondary {
|
||||
background: transparent;
|
||||
color: var(--fk-ink);
|
||||
border: 1.5px solid var(--fk-border-strong);
|
||||
}
|
||||
|
||||
.btn--secondary:hover {
|
||||
border-color: var(--fk-ink);
|
||||
background: rgba(28, 20, 16, 0.03);
|
||||
}
|
||||
|
||||
.btn--ghost {
|
||||
background: transparent;
|
||||
color: var(--fk-ink-soft);
|
||||
}
|
||||
|
||||
.btn--ghost:hover {
|
||||
color: var(--fk-ink);
|
||||
background: rgba(28, 20, 16, 0.04);
|
||||
}
|
||||
|
||||
.btn--lg {
|
||||
padding: 1rem 2.25rem;
|
||||
font-size: var(--fk-text-base);
|
||||
}
|
||||
|
||||
/* Spark hover effect on primary buttons */
|
||||
.btn--primary::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: radial-gradient(circle at var(--x, 50%) var(--y, 50%), rgba(255,255,255,0.15) 0%, transparent 60%);
|
||||
opacity: 0;
|
||||
transition: opacity var(--fk-duration-fast);
|
||||
}
|
||||
|
||||
.btn--primary:hover::after {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* ── Product Card ── */
|
||||
.product-card {
|
||||
background: var(--fk-surface);
|
||||
border-radius: var(--fk-radius-lg);
|
||||
border: 1px solid var(--fk-border);
|
||||
overflow: hidden;
|
||||
transition: all var(--fk-duration-md) var(--fk-ease-out);
|
||||
}
|
||||
|
||||
.product-card:hover {
|
||||
box-shadow: var(--fk-shadow-lg);
|
||||
transform: translateY(-4px);
|
||||
border-color: var(--fk-amber-glass);
|
||||
}
|
||||
|
||||
.product-card__image {
|
||||
aspect-ratio: 4/3;
|
||||
background: var(--fk-seafoam-pale);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.product-card__image img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.product-card__image-placeholder {
|
||||
font-family: var(--fk-font-display);
|
||||
font-size: var(--fk-text-2xl);
|
||||
color: var(--fk-sage);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.product-card__body {
|
||||
padding: var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.product-card__type {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.08em;
|
||||
color: var(--fk-kiss-red);
|
||||
margin-bottom: var(--fk-space-xs);
|
||||
}
|
||||
|
||||
.product-card__title {
|
||||
font-size: var(--fk-text-xl);
|
||||
margin-bottom: var(--fk-space-sm);
|
||||
}
|
||||
|
||||
.product-card__summary {
|
||||
font-size: var(--fk-text-sm);
|
||||
color: var(--fk-ink-soft);
|
||||
margin-bottom: var(--fk-space-md);
|
||||
line-height: var(--fk-leading-body);
|
||||
}
|
||||
|
||||
.product-card__chips {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: var(--fk-space-xs);
|
||||
margin-bottom: var(--fk-space-md);
|
||||
}
|
||||
|
||||
.product-card__chip {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-xs);
|
||||
padding: 0.25rem 0.75rem;
|
||||
background: var(--fk-seafoam-pale);
|
||||
color: var(--fk-ink-soft);
|
||||
border-radius: var(--fk-radius-full);
|
||||
}
|
||||
|
||||
.product-card__footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.product-card__status {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-xs);
|
||||
padding: 0.25rem 0.75rem;
|
||||
border-radius: var(--fk-radius-full);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.product-card__status--inquiry {
|
||||
background: var(--fk-amber-glass);
|
||||
color: var(--fk-amber);
|
||||
}
|
||||
|
||||
.product-card__status--coming_soon {
|
||||
background: var(--fk-seafoam-pale);
|
||||
color: var(--fk-sage);
|
||||
}
|
||||
|
||||
/* ── Badge ── */
|
||||
.badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-xs);
|
||||
font-weight: 600;
|
||||
padding: 0.3rem 0.8rem;
|
||||
border-radius: var(--fk-radius-full);
|
||||
}
|
||||
|
||||
.badge--red {
|
||||
background: var(--fk-kiss-red);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.badge--amber {
|
||||
background: var(--fk-amber-glass);
|
||||
color: var(--fk-amber);
|
||||
}
|
||||
|
||||
.badge--sage {
|
||||
background: var(--fk-seafoam-pale);
|
||||
color: var(--fk-sage);
|
||||
}
|
||||
|
||||
/* ── Ethos block ── */
|
||||
.ethos-block {
|
||||
text-align: center;
|
||||
padding: var(--fk-space-3xl) 0;
|
||||
}
|
||||
|
||||
.ethos-block__icon {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 72px;
|
||||
height: 72px;
|
||||
border-radius: 50%;
|
||||
background: var(--fk-seafoam-pale);
|
||||
margin-bottom: var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.ethos-block__icon svg {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
color: var(--fk-kiss-red);
|
||||
}
|
||||
|
||||
/* ── Review card ── */
|
||||
.review-card {
|
||||
background: var(--fk-surface-warm);
|
||||
border-radius: var(--fk-radius-md);
|
||||
padding: var(--fk-space-xl);
|
||||
border: 1px solid var(--fk-border);
|
||||
}
|
||||
|
||||
.review-card__text {
|
||||
font-family: var(--fk-font-display);
|
||||
font-style: italic;
|
||||
font-size: var(--fk-text-lg);
|
||||
line-height: var(--fk-leading-loose);
|
||||
color: var(--fk-ink);
|
||||
margin-bottom: var(--fk-space-md);
|
||||
}
|
||||
|
||||
.review-card__author {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-sm);
|
||||
font-weight: 600;
|
||||
color: var(--fk-ink);
|
||||
}
|
||||
|
||||
.review-card__location {
|
||||
font-size: var(--fk-text-xs);
|
||||
color: var(--fk-ink-soft);
|
||||
}
|
||||
|
||||
/* ── Contact form ── */
|
||||
.contact-form {
|
||||
max-width: var(--fk-max-narrow);
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.form-group {
|
||||
margin-bottom: var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.form-label {
|
||||
display: block;
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-sm);
|
||||
font-weight: 500;
|
||||
color: var(--fk-ink);
|
||||
margin-bottom: var(--fk-space-xs);
|
||||
}
|
||||
|
||||
.form-input,
|
||||
.form-select,
|
||||
.form-textarea {
|
||||
width: 100%;
|
||||
font-family: var(--fk-font-body);
|
||||
font-size: var(--fk-text-base);
|
||||
padding: 0.75rem 1rem;
|
||||
background: var(--fk-surface);
|
||||
border: 1.5px solid var(--fk-border-strong);
|
||||
border-radius: var(--fk-radius-md);
|
||||
color: var(--fk-ink);
|
||||
transition: border-color var(--fk-duration-fast), box-shadow var(--fk-duration-fast);
|
||||
}
|
||||
|
||||
.form-input:focus,
|
||||
.form-select:focus,
|
||||
.form-textarea:focus {
|
||||
outline: none;
|
||||
border-color: var(--fk-kiss-red);
|
||||
box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.1);
|
||||
}
|
||||
|
||||
.form-textarea {
|
||||
min-height: 140px;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
.form-honeypot {
|
||||
position: absolute;
|
||||
left: -9999px;
|
||||
opacity: 0;
|
||||
height: 0;
|
||||
width: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.form-message {
|
||||
padding: var(--fk-space-md) var(--fk-space-lg);
|
||||
border-radius: var(--fk-radius-md);
|
||||
font-size: var(--fk-text-sm);
|
||||
margin-bottom: var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.form-message--success {
|
||||
background: var(--fk-seafoam-pale);
|
||||
color: var(--fk-sage);
|
||||
border: 1px solid var(--fk-seafoam);
|
||||
}
|
||||
|
||||
.form-message--error {
|
||||
background: var(--fk-soft-pink);
|
||||
color: var(--fk-kiss-red-dim);
|
||||
border: 1px solid var(--fk-soft-pink);
|
||||
}
|
||||
|
||||
/* ── Journal card ── */
|
||||
.journal-card {
|
||||
display: block;
|
||||
background: var(--fk-surface);
|
||||
border-radius: var(--fk-radius-md);
|
||||
border: 1px solid var(--fk-border);
|
||||
overflow: hidden;
|
||||
transition: all var(--fk-duration-md) var(--fk-ease-out);
|
||||
}
|
||||
|
||||
.journal-card:hover {
|
||||
box-shadow: var(--fk-shadow-md);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.journal-card__image {
|
||||
aspect-ratio: 16/9;
|
||||
background: var(--fk-seafoam-pale);
|
||||
}
|
||||
|
||||
.journal-card__body {
|
||||
padding: var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.journal-card__date {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-xs);
|
||||
color: var(--fk-ink-soft);
|
||||
margin-bottom: var(--fk-space-xs);
|
||||
}
|
||||
|
||||
.journal-card__title {
|
||||
font-size: var(--fk-text-lg);
|
||||
margin-bottom: var(--fk-space-sm);
|
||||
}
|
||||
|
||||
.journal-card__summary {
|
||||
font-size: var(--fk-text-sm);
|
||||
color: var(--fk-ink-soft);
|
||||
}
|
||||
|
||||
/* ── Hero ── */
|
||||
.hero {
|
||||
padding: var(--fk-space-4xl) 0;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.hero::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background:
|
||||
radial-gradient(ellipse 60% 50% at 50% 40%, var(--fk-amber-glass) 0%, transparent 70%),
|
||||
radial-gradient(ellipse 80% 60% at 50% 50%, rgba(197, 216, 209, 0.15) 0%, transparent 70%);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.hero__eyebrow {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.15em;
|
||||
color: var(--fk-kiss-red);
|
||||
margin-bottom: var(--fk-space-md);
|
||||
}
|
||||
|
||||
.hero__logo {
|
||||
font-family: var(--fk-font-logo);
|
||||
font-size: clamp(3.5rem, 8vw, 6rem);
|
||||
color: var(--fk-kiss-red);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.02em;
|
||||
line-height: 1;
|
||||
margin-bottom: var(--fk-space-md);
|
||||
}
|
||||
|
||||
.hero__subhead {
|
||||
font-family: var(--fk-font-display);
|
||||
font-size: var(--fk-text-2xl);
|
||||
font-style: italic;
|
||||
color: var(--fk-ink-soft);
|
||||
margin-bottom: var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.hero__body {
|
||||
max-width: 36rem;
|
||||
margin: 0 auto var(--fk-space-xl);
|
||||
font-size: var(--fk-text-lg);
|
||||
color: var(--fk-ink-soft);
|
||||
line-height: var(--fk-leading-loose);
|
||||
}
|
||||
|
||||
.hero__actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: var(--fk-space-md);
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
/* ── Kiss mark animation ── */
|
||||
.kiss-mark {
|
||||
display: inline-block;
|
||||
animation: kissPop 0.5s var(--fk-ease-spring) both;
|
||||
}
|
||||
|
||||
@keyframes kissPop {
|
||||
0% { transform: scale(0) rotate(-10deg); opacity: 0; }
|
||||
60% { transform: scale(1.15) rotate(2deg); opacity: 1; }
|
||||
100% { transform: scale(1) rotate(0deg); opacity: 1; }
|
||||
}
|
||||
|
||||
/* ── Sparkle ── */
|
||||
.sparkle {
|
||||
position: absolute;
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
background: var(--fk-spark-color);
|
||||
border-radius: 50%;
|
||||
pointer-events: none;
|
||||
animation: sparkleFade 1.2s ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes sparkleFade {
|
||||
0% { transform: scale(0) translateY(0); opacity: 1; }
|
||||
100% { transform: scale(1) translateY(-24px); opacity: 0; }
|
||||
}
|
||||
|
||||
/* ── Jingle button ── */
|
||||
.jingle-btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: var(--fk-space-sm);
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-xs);
|
||||
color: var(--fk-muted-gold);
|
||||
padding: var(--fk-space-sm) var(--fk-space-md);
|
||||
border: 1px solid var(--fk-muted-gold);
|
||||
border-radius: var(--fk-radius-full);
|
||||
transition: all var(--fk-duration-fast);
|
||||
}
|
||||
|
||||
.jingle-btn:hover {
|
||||
background: var(--fk-muted-gold);
|
||||
color: var(--fk-ink);
|
||||
}
|
||||
|
||||
/* ── Product detail ── */
|
||||
.product-hero {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: var(--fk-space-3xl);
|
||||
align-items: center;
|
||||
padding: var(--fk-space-3xl) 0;
|
||||
}
|
||||
|
||||
.product-hero__image {
|
||||
aspect-ratio: 1;
|
||||
background: var(--fk-seafoam-pale);
|
||||
border-radius: var(--fk-radius-lg);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.product-hero__image img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.product-hero__image-placeholder {
|
||||
font-family: var(--fk-font-display);
|
||||
font-size: var(--fk-text-3xl);
|
||||
color: var(--fk-sage);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.product-hero__type {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.1em;
|
||||
color: var(--fk-kiss-red);
|
||||
margin-bottom: var(--fk-space-sm);
|
||||
}
|
||||
|
||||
.product-hero__title {
|
||||
font-size: var(--fk-text-4xl);
|
||||
margin-bottom: var(--fk-space-sm);
|
||||
}
|
||||
|
||||
.product-hero__identity {
|
||||
font-family: var(--fk-font-display);
|
||||
font-style: italic;
|
||||
font-size: var(--fk-text-xl);
|
||||
color: var(--fk-ink-soft);
|
||||
margin-bottom: var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.product-hero__summary {
|
||||
font-size: var(--fk-text-lg);
|
||||
line-height: var(--fk-leading-loose);
|
||||
color: var(--fk-ink-soft);
|
||||
margin-bottom: var(--fk-space-xl);
|
||||
}
|
||||
|
||||
.product-hero__chips {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: var(--fk-space-sm);
|
||||
margin-bottom: var(--fk-space-xl);
|
||||
}
|
||||
|
||||
.product-hero__chip {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-sm);
|
||||
padding: 0.4rem 1rem;
|
||||
background: var(--fk-seafoam-pale);
|
||||
color: var(--fk-ink-soft);
|
||||
border-radius: var(--fk-radius-full);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.product-hero__actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--fk-space-md);
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.product-hero {
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--fk-space-xl);
|
||||
}
|
||||
.product-hero__title {
|
||||
font-size: var(--fk-text-3xl);
|
||||
}
|
||||
}
|
||||
|
||||
/* ── Sensory block ── */
|
||||
.sensory-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.sensory-card {
|
||||
background: var(--fk-surface-warm);
|
||||
border-radius: var(--fk-radius-md);
|
||||
padding: var(--fk-space-xl);
|
||||
text-align: center;
|
||||
border: 1px solid var(--fk-border);
|
||||
}
|
||||
|
||||
.sensory-card__label {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.08em;
|
||||
color: var(--fk-kiss-red);
|
||||
margin-bottom: var(--fk-space-sm);
|
||||
}
|
||||
|
||||
.sensory-card__value {
|
||||
font-family: var(--fk-font-display);
|
||||
font-style: italic;
|
||||
font-size: var(--fk-text-lg);
|
||||
color: var(--fk-ink);
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.sensory-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
/* ── FAQ ── */
|
||||
.faq-item {
|
||||
border-bottom: 1px solid var(--fk-border);
|
||||
padding: var(--fk-space-lg) 0;
|
||||
}
|
||||
|
||||
.faq-item__question {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-base);
|
||||
font-weight: 600;
|
||||
color: var(--fk-ink);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.faq-item__question::after {
|
||||
content: '+';
|
||||
font-size: var(--fk-text-xl);
|
||||
color: var(--fk-kiss-red);
|
||||
transition: transform var(--fk-duration-fast);
|
||||
}
|
||||
|
||||
.faq-item.open .faq-item__question::after {
|
||||
content: '−';
|
||||
}
|
||||
|
||||
.faq-item__answer {
|
||||
max-height: 0;
|
||||
overflow: hidden;
|
||||
transition: max-height var(--fk-duration-md) var(--fk-ease-out);
|
||||
font-size: var(--fk-text-sm);
|
||||
color: var(--fk-ink-soft);
|
||||
line-height: var(--fk-leading-body);
|
||||
}
|
||||
|
||||
.faq-item.open .faq-item__answer {
|
||||
max-height: 500px;
|
||||
padding-top: var(--fk-space-md);
|
||||
}
|
||||
|
||||
/* ── Ingredient list ── */
|
||||
.ingredient-list {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: var(--fk-space-sm) var(--fk-space-xl);
|
||||
}
|
||||
|
||||
.ingredient-list__item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--fk-space-sm);
|
||||
font-size: var(--fk-text-sm);
|
||||
color: var(--fk-ink-soft);
|
||||
padding: var(--fk-space-sm) 0;
|
||||
border-bottom: 1px solid var(--fk-border);
|
||||
}
|
||||
|
||||
.ingredient-list__item::before {
|
||||
content: '';
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
border-radius: 50%;
|
||||
background: var(--fk-kiss-red);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.ingredient-list {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
/* ── About page ── */
|
||||
.about-hero {
|
||||
text-align: center;
|
||||
padding: var(--fk-space-4xl) 0 var(--fk-space-2xl);
|
||||
}
|
||||
|
||||
.about-hero__title {
|
||||
font-size: var(--fk-text-4xl);
|
||||
margin-bottom: var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.about-hero__body {
|
||||
max-width: var(--fk-max-narrow);
|
||||
margin: 0 auto;
|
||||
font-size: var(--fk-text-lg);
|
||||
line-height: var(--fk-leading-loose);
|
||||
color: var(--fk-ink-soft);
|
||||
}
|
||||
|
||||
.about-section {
|
||||
padding: var(--fk-space-3xl) 0;
|
||||
}
|
||||
|
||||
.about-section__title {
|
||||
font-size: var(--fk-text-2xl);
|
||||
margin-bottom: var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.about-section__body {
|
||||
font-size: var(--fk-text-lg);
|
||||
line-height: var(--fk-leading-loose);
|
||||
color: var(--fk-ink-soft);
|
||||
max-width: var(--fk-max-narrow);
|
||||
}
|
||||
|
||||
/* ── Waitlist ── */
|
||||
.waitlist-block {
|
||||
text-align: center;
|
||||
padding: var(--fk-space-3xl);
|
||||
background: var(--fk-surface-warm);
|
||||
border-radius: var(--fk-radius-lg);
|
||||
border: 1px solid var(--fk-border);
|
||||
}
|
||||
|
||||
.waitlist-block__title {
|
||||
margin-bottom: var(--fk-space-md);
|
||||
}
|
||||
|
||||
.waitlist-block__body {
|
||||
color: var(--fk-ink-soft);
|
||||
margin-bottom: var(--fk-space-lg);
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
/* ── Container ── */
|
||||
.container {
|
||||
width: 100%;
|
||||
max-width: var(--fk-max-width);
|
||||
margin: 0 auto;
|
||||
padding: 0 var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.container--narrow {
|
||||
max-width: var(--fk-max-narrow);
|
||||
}
|
||||
|
||||
/* ── Section ── */
|
||||
.section {
|
||||
padding: var(--fk-section) 0;
|
||||
}
|
||||
|
||||
.section + .section {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.section__label {
|
||||
font-family: var(--fk-font-ui);
|
||||
font-size: var(--fk-text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.12em;
|
||||
color: var(--fk-kiss-red);
|
||||
margin-bottom: var(--fk-space-sm);
|
||||
}
|
||||
|
||||
.section__title {
|
||||
margin-bottom: var(--fk-space-lg);
|
||||
}
|
||||
|
||||
.section__body {
|
||||
max-width: var(--fk-max-narrow);
|
||||
font-size: var(--fk-text-lg);
|
||||
color: var(--fk-ink-soft);
|
||||
}
|
||||
|
||||
/* ── Grid helpers ── */
|
||||
.grid-2 {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: var(--fk-space-xl);
|
||||
}
|
||||
|
||||
.grid-3 {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: var(--fk-space-xl);
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.grid-2, .grid-3 {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.section {
|
||||
padding: var(--fk-space-3xl) 0;
|
||||
}
|
||||
h1 { font-size: var(--fk-text-3xl); }
|
||||
h2 { font-size: var(--fk-text-2xl); }
|
||||
h3 { font-size: var(--fk-text-xl); }
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
/* ── Arcade grid background (subtle) ── */
|
||||
.arcade-grid-bg {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.arcade-grid-bg::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background-image:
|
||||
linear-gradient(var(--fk-grid-line) 1px, transparent 1px),
|
||||
linear-gradient(90deg, var(--fk-grid-line) 1px, transparent 1px);
|
||||
background-size: 40px 40px;
|
||||
pointer-events: none;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
/* ── Page transitions ── */
|
||||
.page-enter {
|
||||
animation: fadeInUp 0.5s var(--fk-ease-out) both;
|
||||
}
|
||||
|
||||
@keyframes fadeInUp {
|
||||
from { opacity: 0; transform: translateY(16px); }
|
||||
to { opacity: 1; transform: translateY(0); }
|
||||
}
|
||||
|
||||
/* ── Image hover zoom ── */
|
||||
.img-hover-zoom {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.img-hover-zoom img {
|
||||
transition: transform 0.6s var(--fk-ease-out);
|
||||
}
|
||||
|
||||
.img-hover-zoom:hover img {
|
||||
transform: scale(1.04);
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
:root {
|
||||
/* ── Palette ── */
|
||||
--fk-cream: #FBF7F2;
|
||||
--fk-parchment: #F4EDE4;
|
||||
--fk-kiss-red: #C41E3A;
|
||||
--fk-kiss-red-dim: #9B1730;
|
||||
--fk-seafoam: #C5D8D1;
|
||||
--fk-seafoam-pale: #E4EFEA;
|
||||
--fk-sage: #9BAF9C;
|
||||
--fk-amber: #D4841A;
|
||||
--fk-amber-glass: rgba(212, 132, 26, 0.12);
|
||||
--fk-brown: #5C3D2E;
|
||||
--fk-ink: #1C1410;
|
||||
--fk-ink-soft: #3D2E1E;
|
||||
--fk-muted-gold: #C4A882;
|
||||
--fk-arcade-mint: #7DE8D4;
|
||||
--fk-soft-pink: #F2D7D9;
|
||||
|
||||
/* ── Surfaces ── */
|
||||
--fk-bg: var(--fk-cream);
|
||||
--fk-surface: #FFFFFF;
|
||||
--fk-surface-warm: var(--fk-parchment);
|
||||
--fk-border: rgba(92, 61, 46, 0.12);
|
||||
--fk-border-strong:rgba(92, 61, 46, 0.25);
|
||||
|
||||
/* ── Typography ── */
|
||||
--fk-font-display: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
|
||||
--fk-font-body: 'Inter', 'SF Pro Text', -apple-system, BlinkMacSystemFont, sans-serif;
|
||||
--fk-font-ui: 'Inter', 'SF Pro Text', -apple-system, sans-serif;
|
||||
--fk-font-logo: 'Bebas Neue', 'Anton', 'Impact', sans-serif;
|
||||
|
||||
--fk-text-base: 1rem;
|
||||
--fk-text-scale: 1.25;
|
||||
--fk-text-sm: 0.875rem;
|
||||
--fk-text-xs: 0.75rem;
|
||||
--fk-text-lg: 1.25rem;
|
||||
--fk-text-xl: 1.563rem;
|
||||
--fk-text-2xl: 1.953rem;
|
||||
--fk-text-3xl: 2.441rem;
|
||||
--fk-text-4xl: 3.052rem;
|
||||
|
||||
--fk-leading-tight: 1.15;
|
||||
--fk-leading-body: 1.65;
|
||||
--fk-leading-loose: 1.8;
|
||||
|
||||
/* ── Spacing ── */
|
||||
--fk-space-xs: 0.25rem;
|
||||
--fk-space-sm: 0.5rem;
|
||||
--fk-space-md: 1rem;
|
||||
--fk-space-lg: 1.5rem;
|
||||
--fk-space-xl: 2rem;
|
||||
--fk-space-2xl: 3rem;
|
||||
--fk-space-3xl: 4rem;
|
||||
--fk-space-4xl: 6rem;
|
||||
--fk-section: 5rem;
|
||||
|
||||
/* ── Layout ── */
|
||||
--fk-max-width: 72rem;
|
||||
--fk-max-narrow: 42rem;
|
||||
--fk-header-height: 4rem;
|
||||
--fk-radius-sm: 6px;
|
||||
--fk-radius-md: 12px;
|
||||
--fk-radius-lg: 20px;
|
||||
--fk-radius-full: 9999px;
|
||||
|
||||
/* ── Shadows ── */
|
||||
--fk-shadow-sm: 0 1px 3px rgba(28, 20, 16, 0.06);
|
||||
--fk-shadow-md: 0 4px 16px rgba(28, 20, 16, 0.08);
|
||||
--fk-shadow-lg: 0 8px 32px rgba(28, 20, 16, 0.10);
|
||||
--fk-shadow-glow: 0 0 24px rgba(212, 132, 26, 0.18);
|
||||
|
||||
/* ── Motion ── */
|
||||
--fk-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
|
||||
--fk-ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);
|
||||
--fk-duration-fast: 150ms;
|
||||
--fk-duration-md: 300ms;
|
||||
--fk-duration-slow: 500ms;
|
||||
|
||||
/* ── Arcade accents ── */
|
||||
--fk-grid-line: rgba(125, 232, 212, 0.08);
|
||||
--fk-spark-color: var(--fk-arcade-mint);
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
/* ── Reset & Base ── */
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: var(--fk-font-body);
|
||||
font-size: var(--fk-text-base);
|
||||
line-height: var(--fk-leading-body);
|
||||
color: var(--fk-ink);
|
||||
background: var(--fk-bg);
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
img, svg, video {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
button {
|
||||
font: inherit;
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
background: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: var(--fk-font-display);
|
||||
line-height: var(--fk-leading-tight);
|
||||
font-weight: 600;
|
||||
color: var(--fk-ink);
|
||||
}
|
||||
|
||||
h1 { font-size: var(--fk-text-4xl); }
|
||||
h2 { font-size: var(--fk-text-3xl); }
|
||||
h3 { font-size: var(--fk-text-2xl); }
|
||||
h4 { font-size: var(--fk-text-xl); }
|
||||
|
||||
p + p { margin-top: var(--fk-space-md); }
|
||||
|
||||
::selection {
|
||||
background: var(--fk-kiss-red);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* ── Focus ── */
|
||||
:focus-visible {
|
||||
outline: 2px solid var(--fk-kiss-red);
|
||||
outline-offset: 3px;
|
||||
}
|
||||
|
||||
/* ── Skip link ── */
|
||||
.skip-link {
|
||||
position: absolute;
|
||||
top: -100%;
|
||||
left: var(--fk-space-md);
|
||||
background: var(--fk-ink);
|
||||
color: #fff;
|
||||
padding: var(--fk-space-sm) var(--fk-space-md);
|
||||
border-radius: var(--fk-radius-sm);
|
||||
z-index: 9999;
|
||||
font-size: var(--fk-text-sm);
|
||||
}
|
||||
.skip-link:focus {
|
||||
top: var(--fk-space-md);
|
||||
}
|
||||
|
||||
/* ── Reduced motion ── */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*, *::before, *::after {
|
||||
animation-duration: 0.01ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
}
|
||||
html { scroll-behavior: auto; }
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
@import 'tokens';
|
||||
@import 'type';
|
||||
@import 'layout';
|
||||
@import 'components';
|
||||
@import 'motion';
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none"><circle cx="16" cy="16" r="15" stroke="#C41E3A" stroke-width="2"/><path d="M10 18c0-2 1.5-4 3-5.5s3-2.5 4.5-2.5c1 0 2 .5 2.5 1.5.5.8.5 1.8 0 2.6-.6 1-1.8 1.6-3 1.6-1 0-2-.5-2.5-1.4" stroke="#C41E3A" stroke-width="1.8" stroke-linecap="round"/><path d="M10 18c0 1.5 1 3 2.5 3.5s3.5.5 5-1c1-1 1.5-2.5 1.5-4" stroke="#C41E3A" stroke-width="1.8" stroke-linecap="round"/></svg>
|
||||
|
After Width: | Height: | Size: 444 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 60" fill="none"><text x="0" y="48" font-family="'Bebas Neue',Impact,sans-serif" font-size="56" fill="#C41E3A" letter-spacing="2">FAT KISS</text></svg>
|
||||
|
After Width: | Height: | Size: 208 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none"><circle cx="16" cy="16" r="14" stroke="#C41E3A" stroke-width="2.5"/><path d="M9 18c0-2.5 2-5 3.5-6.5s3.5-3 5-3c1.5 0 2.5.8 3 2 .4 1 .3 2.2-.2 3-.8 1.2-2.2 2-3.5 2-1.2 0-2.5-.8-3-2" stroke="#C41E3A" stroke-width="2" stroke-linecap="round"/><path d="M9 18c0 2 1.5 4 3 4.5s4 .5 5.5-1.5c1-1.2 1.5-3 1.5-4.5" stroke="#C41E3A" stroke-width="2" stroke-linecap="round"/></svg>
|
||||
|
After Width: | Height: | Size: 441 B |
Reference in New Issue
Block a user