:root {
    --primary-orange: #FF6B00;
    --primary-lime: #A6E22E;
    --light-bg: #f8f9fa;
    --gradient-sunrise: linear-gradient(120deg, #ffecd2 0%, #fcb69f 100%);
    --gradient-sunset: linear-gradient(to right, #ffecd2 0%, #fcb69f 100%);
}

body {
    font-family: 'Manrope', sans-serif;
    background-color: var(--light-bg);
}

.navbar-brand {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 2rem;
    color: var(--primary-orange) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.navbar-nav {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.navbar-nav .nav-item {
    flex: 1;
    text-align: center;
}

.nav-link {
    font-family: 'Manrope', sans-serif;
    text-transform: uppercase;
    font-weight: 600;
    padding: 0.75rem 0.5rem !important;
    margin: 0;
    border-radius: 4px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 44px;
}

.nav-link:hover {
    background-color: rgba(255, 107, 0, 0.1);
    color: var(--primary-orange) !important;
}

.form-control {
    border-radius: 20px 0 0 20px;
    border: 1px solid #dee2e6;
}

.form-control:focus {
    border-color: var(--primary-orange);
    box-shadow: 0 0 0 0.2rem rgba(255, 107, 0, 0.25);
}

.btn-outline-primary {
    border-radius: 0 20px 20px 0;
    border: 1px solid #dee2e6;
    border-left: none;
    color: var(--primary-orange);
}

.btn-outline-primary:hover {
    background-color: var(--primary-orange);
    border-color: var(--primary-orange);
    color: white;
}

.btn-primary {
    background-color: var(--primary-orange);
    border-color: var(--primary-orange);
    border-radius: 25px;
    padding: 0.5rem 1.5rem;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background-color: var(--primary-lime);
    border-color: var(--primary-lime);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.snipcart-checkout {
    color: var(--primary-orange);
    transition: color 0.3s ease;
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.snipcart-checkout:hover {
    color: var(--primary-lime);
}

.snipcart-items-count {
    background-color: var(--primary-orange);
    color: white;
    border-radius: 50%;
    padding: 0.2rem 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    min-width: 20px;
    text-align: center;
    display: inline-block;
}

footer {
    box-shadow: 0 -4px 8px rgba(0,0,0,0.05);
}

footer a {
    color: var(--primary-orange);
    transition: color 0.3s ease;
}

footer a:hover {
    color: var(--primary-lime);
}

.cookie-consent {
    box-shadow: 0 -4px 8px rgba(0,0,0,0.1);
}

.contact-info .card {
    transition: transform 0.3s ease;
    background: var(--gradient-sunrise);
}

.contact-info .card:hover {
    transform: translateY(-5px);
}

.contact-details i {
    color: var(--primary-orange);
}

.contact-details a {
    color: #333;
    transition: color 0.3s ease;
}

.contact-details a:hover {
    color: var(--primary-orange);
}

.accordion-button:not(.collapsed) {
    background-color: rgba(255, 107, 0, 0.1);
    color: var(--primary-orange);
}

.accordion-button:focus {
    border-color: var(--primary-orange);
    box-shadow: 0 0 0 0.25rem rgba(255, 107, 0, 0.25);
}

/* Carousel styles */
.carousel-item img {
    max-height: 400px;
    object-fit: cover;
    width: 100%;
}

.carousel-caption {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 1.5rem;
    border-radius: 8px;
    color: #333 !important;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    max-width: 600px;
}

.carousel-caption h1,
.carousel-caption h2 {
    color: #333 !important;
    margin-bottom: 0.5rem;
}

.carousel-caption p {
    color: #666 !important;
    margin-bottom: 1rem;
}

/* Text background for better readability */
.card-body,
.alert,
.breadcrumb {
    background-color: rgba(248, 249, 250, 0.95);
    border-radius: 8px;
}

.card {
    background-color: rgba(255, 255, 255, 0.95);
}

/* Snipcart currency symbol replacement */
#snipcart *,
.snipcart * {
    font-family: inherit !important;
}

/* Additional currency replacement for Snipcart */
#snipcart .snipcart-item-price::before,
#snipcart .snipcart-total-price::before,
#snipcart .snipcart-subtotal::before,
#snipcart .snipcart-taxes::before,
#snipcart .snipcart-shipping::before,
#snipcart .snipcart-discount::before {
    content: "€" !important;
}

/* Hide original dollar signs in Snipcart */
#snipcart .snipcart-item-price,
#snipcart .snipcart-total-price,
#snipcart .snipcart-subtotal,
#snipcart .snipcart-taxes,
#snipcart .snipcart-shipping,
#snipcart .snipcart-discount {
    position: relative;
}

#snipcart .snipcart-item-price::before,
#snipcart .snipcart-total-price::before,
#snipcart .snipcart-subtotal::before,
#snipcart .snipcart-taxes::before,
#snipcart .snipcart-shipping::before,
#snipcart .snipcart-discount::before {
    position: absolute;
    left: -0.5em;
    content: "€";
}
