

@font-face {
    font-family: 'Outfit';
    src: url('../fonts/outfit-300.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Outfit';
    src: url('../fonts/outfit-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Outfit';
    src: url('../fonts/outfit-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Outfit';
    src: url('../fonts/outfit-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Outfit';
    src: url('../fonts/outfit-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}



:root {
	--primary-color: #e62e2e;
	--primary-dark: #3a2e5e;
	--secondary-color: #f4f2f9;
	--text-color: #333333;
	--white: #ffffff;
    --font-main: 'Outfit', sans-serif;

    
    --brand-primary: var(--primary-color);
    --brand-deep: var(--primary-dark);
    --brand-soft: var(--secondary-color);
    --brand-muted: #4a4a68;
    --brand-border: #e8e5f2;
}

* {
    box-sizing: border-box;
}

button, input, select, textarea {
    font-family: inherit;
}

body {
	font-family: var(--font-main);
	color: var(--text-color);
	margin: 0;
    line-height: 1.5;
    overflow-x: clip;
    background-color: #ffffff;
    text-align: start;
}

img {
    max-width: 100%;
    height: auto;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.narrow-container {
    max-width: 1000px;
    margin: 0 auto;
}

.container-fluid {
    width: 100%;
    max-width: 100%;
    padding: 0 40px;
}

.text-center { text-align: center; }

@media (max-width: 991px) {
    .container-fluid { padding: 0 20px; }
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.stars {
    color: #ff8a65;
}
.hero-rating .stars {
    font-size: 16px;
}


.fly-badge-only {
    position: fixed;
    z-index: 9999999;
    pointer-events: none;
    will-change: transform, top, left;
    transition: left 0.8s linear, top 0.8s ease-out; 
}


.fly-badge-inner {
    width: 22px;
    height: 22px;
    background: var(--brand-primary);
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    animation: fly-fx-airplane 0.8s forwards;
}

.fly-badge-inner svg {
    width: 11px;
    height: 11px;
    fill: currentColor;
}


@keyframes fly-fx-airplane {
    0% { transform: scale(0) rotate(0deg); }
    15% { transform: scale(1.8) rotate(45deg); }
    30% { transform: scale(1.2) rotate(180deg); }
    80% { transform: scale(1.0) rotate(360deg); opacity: 1; }
    100% { transform: scale(0.2) rotate(720deg); opacity: 0; }
}



.cart-bump {
    animation: cart-bump 0.3s ease-out;
}

@keyframes cart-bump {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}


.added_to_cart {
    display: none !important;
}


