@font-face {
    font-family: 'Engebrechtre';
    src: url('../../fonts/Engebrechtre.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'BarlowCondensed';
    src: url('../../fonts/BarlowCondensed.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'DMSans';
    src: url('../../fonts/DMSans.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

:root {
	--xmas-red: #A63935;
	--xmas-gold: #F8E7AF;
	--xmas-blue: #083F6A;
	--xmas-white: #fff;
	--xmas-cream: #FBF5EC;	
}

/* Global Xmas Styles */
.xmas-section {
    position: relative !important;
    overflow: hidden !important;
    font-family: 'DMSans', sans-serif !important;
}

.xmas-title {
    font-family: 'Engebrechtre', sans-serif !important;
    text-transform: uppercase !important;
}

.xmas-btn {
    font-family: 'BarlowCondensed', sans-serif !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
    border-radius: 0 !important;
}

.xmas-btn.btn-primary {
    background-color: var(--xmas-red) !important;
    border-color: var(--xmas-red) !important;
}

.xmas-block-label {
    font-family: 'BarlowCondensed', sans-serif !important;
    font-size: 1.1rem !important;
    letter-spacing: 2px !important;
    color: var(--xmas-red) !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
}

/* Hero Section */
.xmas-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: var(--xmas-white);
    background-size: cover;
    background-position: center;
}

.xmas-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.xmas-hero-content {
    position: relative;
    z-index: 2;
    padding: 100px 0;
}

h1.xmas-hero-title {
    font-size: clamp(3rem, 8vw, 6.5rem) !important;
    line-height: 1 !important;
    font-style: italic !important;
    font-weight: normal !important;
	font-family: 'Engebrechtre', sans-serif !important;
}

.xmas-hero-description {
    font-size: clamp(1rem, 2vw, 1.25rem) !important;
    max-width: 600px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    line-height: 1.4 !important;
}

.xmas-hero-description p {
	font-family: 'DMSans', sans-serif !important;
}

.xmas-hero-actions {
    margin-top: 30px !important;
}

.xmas-hero-btn {
    background-color: var(--xmas-gold) !important;
    color: var(--xmas-blue) !important;
    border: none !important;
    padding: 15px 40px !important;
    font-size: 1.2rem !important;
    border-radius: 50px !important;
    font-weight: bold !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
}

.xmas-hero-btn:hover {
    background-color: var(--xmas-white) !important;
    transform: translateY(-2px) !important;
}

.xmas-hero-disclaimer {
    font-size: 0.8rem !important;
    opacity: 0.9 !important;
    margin-top: 15px !important;
}

/* Hero Key Facts */
.xmas-hero-key-facts-container {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--xmas-red) !important;
    z-index: 3;
    padding: 12px 0;
}

.xmas-key-fact-item {
    font-family: 'Engebrechtre', sans-serif !important;
    text-transform: uppercase !important;
    color: var(--xmas-white) !important;
    padding: 0 20px !important;
    font-size: clamp(0.9rem, 1.5vw, 1.2rem) !important;
    white-space: nowrap !important;
}

.xmas-key-fact-separator {
    color: var(--xmas-gold) !important;
    font-size: 0.8rem !important;
}

@keyframes ticker {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.xmas-key-facts-ticker {
    overflow: hidden;
    width: 100%;
}

.xmas-key-facts-ticker-inner {
    display: flex;
    width: max-content;
    animation: ticker 25s linear infinite;
}

/* Packages Section */
.xmas-packages {
    background-color: var(--xmas-cream) !important;
    padding: 100px 0 !important;
}

.xmas-packages .xmas-title {
    color: var(--xmas-red) !important;
    font-style: italic !important;
    font-size: clamp(2.5rem, 5vw, 4.5rem) !important;
    line-height: 1 !important;
}

.xmas-package-card {
    border: 2px solid var(--xmas-blue) !important;
    background: var(--xmas-white) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    height: 100% !important;
    position: relative !important;
}

.xmas-package-card:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.1) !important;
}

.xmas-discount-bubble {
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    z-index: 5 !important;
}

.xmas-package-label {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    background: var(--xmas-cream) !important;
    color: var(--xmas-blue) !important;
    padding: 8px 20px !important;
    font-family: 'BarlowCondensed', sans-serif !important;
    text-transform: uppercase !important;
    font-weight: bold !important;
    font-size: 0.9rem !important;
}

.xmas-session-type {
    font-size: 0.85rem !important;
    letter-spacing: 1px !important;
    color: var(--xmas-blue) !important;
    text-transform: uppercase !important;
    font-family: 'BarlowCondensed', sans-serif !important;
}

.xmas-package-title {
    font-family: 'Engebrechtre', sans-serif !important;
    font-size: 2.2rem !important;
    line-height: 1 !important;
    color: var(--xmas-blue) !important;
    font-style: italic !important;
    margin-bottom: 20px !important;
}

.xmas-package-content {
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
}

.xmas-package-content ul {
    padding-left: 0 !important;
    list-style: none !important;
}

.xmas-package-content li {
    position: relative !important;
    padding-left: 15px !important;
    margin-bottom: 5px !important;
}

.xmas-package-content li::before {
    content: "•" !important;
    position: absolute !important;
    left: 0 !important;
    color: var(--xmas-red) !important;
}

.xmas-price-discounted {
    font-family: 'Engebrechtre', sans-serif !important;
    color: var(--xmas-blue) !important;
    font-size: 3rem !important;
    font-style: italic !important;
}

.xmas-price-full {
    font-family: 'Engebrechtre', sans-serif !important;
    color: var(--xmas-red) !important;
    font-size: 1.5rem !important;
    text-decoration: line-through !important;
    font-style: italic !important;
}

.xmas-package-btn {
    background-color: var(--xmas-cream) !important;
    color: var(--xmas-blue) !important;
    border: 2px solid var(--xmas-red) !important;
    padding: 12px 30px !important;
    border-radius: 50px !important;
    font-family: 'BarlowCondensed', sans-serif !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
}

.xmas-package-btn:hover {
    background-color: var(--xmas-red) !important;
    color: var(--xmas-white) !important;
}

/* Story Section */
.xmas-story {
    background-color: var(--xmas-blue) !important;
    color: var(--xmas-white) !important;
    padding: 100px 0 !important;
    position: relative !important;
}

.xmas-story .xmas-title {
    color: var(--xmas-white) !important;
    font-style: italic !important;
    font-size: clamp(2rem, 4vw, 3.5rem) !important;
}

.xmas-story-counter {
    font-family: 'Engebrechtre', sans-serif !important;
    font-size: 1.5rem !important;
    color: var(--xmas-cream) !important;
}

.xmas-story-nav button {
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    background-color: var(--xmas-cream) !important;
    color: var(--xmas-blue) !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.xmas-story-nav button:hover {
    background-color: var(--xmas-white) !important;
    transform: scale(1.1) !important;
}

.xmas-story-slider {
    gap: 30px !important;
    padding: 20px 0 !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.xmas-story-slider::-webkit-scrollbar {
    display: none !important;
}

.xmas-story-panel {
    width: clamp(280px, 40vw, 400px) !important;
    margin-right: 30px !important;
}

.xmas-story-panel-inner {
    background-color: var(--xmas-cream) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}

.xmas-panel-number {
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    background: var(--xmas-white) !important;
    color: var(--xmas-blue) !important;
    padding: 5px 12px !important;
    font-family: 'Engebrechtre', sans-serif !important;
    font-size: 1.2rem !important;
    z-index: 2 !important;
    border: 1px solid var(--xmas-blue) !important;
}

.xmas-story-panel-text {
    font-family: 'BarlowCondensed', sans-serif !important;
    color: var(--xmas-blue) !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    font-size: 1.1rem !important;
    line-height: 1.2 !important;
}

/* Progress Bar */
.xmas-story-progress-bar {
    height: 4px !important;
    background: rgba(248, 241, 231, 0.2) !important;
    width: 100% !important;
    position: relative !important;
}

.xmas-story-progress-indicator {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    height: 100% !important;
    background: var(--xmas-cream) !important;
    width: 0%;
    transition: width 0.3s ease !important;
}

.xmas-story-cta {
    font-size: 1.2rem !important;
    line-height: 1.4 !important;
}

.xmas-story-btn {
    background-color: var(--xmas-cream) !important;
    color: var(--xmas-blue) !important;
    border: none !important;
    padding: 15px 40px !important;
    border-radius: 50px !important;
    font-family: 'BarlowCondensed', sans-serif !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    display: inline-block !important;
}

/* Info Section */
.xmas-info {
    background-color: var(--xmas-cream) !important;
    padding: 100px 0 !important;
}

.xmas-info .xmas-title {
    color: var(--xmas-red) !important;
    font-style: italic !important;
    font-size: clamp(2.5rem, 5vw, 4.5rem) !important;
}

.xmas-steps-container {
    border: 2px solid var(--xmas-red) !important;
    background: transparent !important;
}

.xmas-step-number {
    font-family: 'Engebrechtre', sans-serif !important;
    font-size: 1.2rem !important;
    color: var(--xmas-red) !important;
}

.xmas-step-title {
    font-family: 'BarlowCondensed', sans-serif !important;
    font-weight: bold !important;
    font-size: 1.5rem !important;
    text-transform: uppercase !important;
    color: var(--xmas-blue) !important;
}

.xmas-step-description {
    font-size: 0.9rem !important;
    color: #444 !important;
}

/* FAQ Accordion */
.xmas-faq-item {
    border: 2px solid var(--xmas-red) !important;
    background: transparent !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}

.xmas-faq-question {
    background-color: transparent !important;
    color: var(--xmas-blue) !important;
    font-family: 'BarlowCondensed', sans-serif !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    font-size: 1.2rem !important;
    box-shadow: none !important;
    border: none !important;
}

.xmas-faq-question:not(.collapsed) {
    color: var(--xmas-red) !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.xmas-faq-question::after {
    filter: brightness(0) saturate(100%) invert(26%) sepia(89%) saturate(1583%) hue-rotate(338deg) brightness(91%) contrast(97%) !important;
}

.xmas-faq-answer {
    color: #444 !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
}

/* Footer CTA Section */
.xmas-footer-cta {
    background-color: var(--xmas-red) !important; /* Red background */
    padding: 100px 0 !important;
    position: relative !important;
    overflow: hidden !important;
}

.xmas-footer-cta-title {
    color: var(--xmas-cream) !important; /* Cream text */
    font-family: 'Engebrechtre', sans-serif !important;
    font-size: clamp(2.5rem, 6vw, 5rem) !important;
    line-height: 0.9 !important;
    font-style: italic !important;
    text-transform: uppercase !important;
}

.xmas-footer-cta-btn {
    background-color: var(--xmas-cream) !important;
    color: var(--xmas-blue) !important;
    border: none !important;
    padding: 15px 40px !important;
    border-radius: 50px !important;
    font-family: 'BarlowCondensed', sans-serif !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-top: 30px !important;
}

.xmas-footer-halftone {
    position: absolute !important;
    bottom: -50px !important;
    right: -50px !important;
    width: clamp(200px, 30vw, 400px) !important;
    opacity: 0.8 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.xmas-footer-cta .container {
    position: relative !important;
    z-index: 2 !important;
}

@media (max-width: 768px) {
    .xmas-hero {
        min-height: 80vh;
    }
    .xmas-hero-content {
        padding: 60px 0 120px;
    }
    .xmas-discount-bubble {
        top: -10px;
        right: -10px;
        transform: scale(0.8);
    }
    .xmas-story-panel {
        width: 280px;
    }
}
