/* Layout CSS - Page structure, navigation, sections, containers */

/* Navigation */
nav {
    position: fixed; top: 0; width: 100%;
    background: rgba(18, 8, 6, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(140, 39, 30, 0.3);
    z-index: 1000; padding: 1rem 0;
}

.nav-container {
    max-width: 1200px; margin: 0 auto; padding: 0 2rem;
    display: flex; justify-content: space-between; align-items: center;
}

.logo {
    font-size: 1.5rem; font-weight: bold; color: var(--white);
    text-transform: uppercase; letter-spacing: 2px;
    text-shadow: 0 0 10px rgba(140, 39, 30, 0.6);
}

.nav-links { display: flex; list-style: none; gap: 2rem; }
.nav-links a { text-decoration: none; color: var(--text-muted); font-weight: 700; transition: color 0.3s; }
.nav-links a:hover { color: var(--fire-red); text-shadow: 0 0 8px rgba(140, 39, 30, 0.5); }

.menu-toggle { display: none; flex-direction: column; cursor: pointer; gap: 4px; }
.menu-toggle span { width: 25px; height: 3px; background: var(--white); transition: all 0.3s; }

/* Tour ticker banner */
#tourTicker {
    position: fixed; left: 0; right: 0; top: 56px; height: 44px;
    background: var(--white);
    z-index: 1100; display: flex; align-items: center; overflow: hidden; padding: 0 1rem;
}

#tourTicker .ticker-inner {
    display: inline-flex; gap: 1.5rem; white-space: nowrap; padding-left: 2rem;
    will-change: transform; align-items: center; font-weight: 700;
    color: var(--bg-dark); padding-right: 2rem; flex: 1; overflow: hidden;
}

.contact-cta {
    background: var(--fire-red); color: var(--white); padding: 0.45rem 0.75rem; border-radius: 6px; 
    font-weight: 800; text-decoration: none; margin-left: 0.75rem; display: inline-block;
    box-shadow: 0 6px 18px rgba(140, 39, 30, 0.2);
}

#tourTicker .ticker-item { font-size: 0.95rem; color: var(--bg-dark); text-transform: uppercase; }
#tourTicker:hover .ticker-inner { animation-play-state: paused !important; }

/* Sections */
section {
    padding: 5rem 2rem; min-height: 100vh;
    display: flex; flex-direction: column; justify-content: center;
    position: relative;
}

.container { max-width: 1200px; margin: 0 auto; width: 100%; position: relative; z-index: 2; }

/* Hero Section */
#home {
    background: var(--bg-dark);
    position: relative; overflow: hidden;
    display: flex; align-items: center; justify-content: center;
    text-align: center;
}

.hero-box { position: relative; z-index: 10; text-align: center; }
#home h1 {
    font-weight: 900; text-transform: uppercase; letter-spacing: 10px;
    color: var(--white); text-shadow: 0 0 20px rgba(242, 227, 213, 0.3);
    font-size: 3.5rem; margin-bottom: 0.5rem;
}
#home p { letter-spacing: 4px; text-transform: uppercase; color: var(--text-muted); }

/* Section Title Box */
.section-title-box {
    display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
    background: transparent; padding: 0.6rem 1.25rem;
    margin: 0 auto 1rem; text-align: center;
}
.section-title-box h2 { margin: 0; }
.tour-note { margin: 0; font-style: italic; color: var(--text-muted); }

/* Background Images */
.home-bg {
    position: absolute; inset: 0;
    background-position: center center; background-size: cover;
    z-index: 0; 
    background-image: url('images/photo6.jpg'); 
    opacity: 1;
    filter: grayscale(60%) sepia(40%) hue-rotate(330deg) brightness(0.4) contrast(1.2);
}

.section-bg {
    background-size: cover; will-change: opacity; 
    filter: grayscale(60%) sepia(40%) hue-rotate(330deg) brightness(0.3) contrast(1.2);
}

.home-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(18,8,6,0.3), rgba(18,8,6,0.95));
    z-index: 1; pointer-events: none;
}

#tour .section-bg, #tour .home-overlay { display: none !important; }

/* Tour Section */
#tour { background: var(--bg-dark); color: var(--white); }
.tour-dates p { margin: 0.2rem 0; color: var(--text-muted); }

/* Footer */
footer { 
    background: var(--bg-dark); color: var(--text-muted); text-align: center; 
    padding: 2rem; border-top: 1px solid rgba(242, 227, 213, 0.05); 
    text-transform: uppercase; letter-spacing: 2px; font-size: 0.8rem; 
}

/* Black & white responsive photo */
.bw-photo { padding: 2rem 0; }
.bw-photo .bw-img { 
    max-width: 1200px; width: 100%; margin: 0 auto; display:block; 
    filter: grayscale(80%) sepia(30%) hue-rotate(340deg) contrast(115%) brightness(0.8); 
}

/* Mobile menu */
@media (max-width: 768px) {
    .menu-toggle { display: flex; }
    .nav-links { 
        position: fixed; top: 60px; left: -100%; width: 100%; height: 100vh; 
        background: var(--bg-dark); flex-direction: column; padding: 2rem; transition: 0.3s; 
    }
    .nav-links.active { left: 0; }
    #home h1 { font-size: 2.5rem; }
}

@media (max-width: 600px) {
    #tourTicker { padding: 0.25rem 0.5rem; height: auto; top: 56px; }
    #tourTicker .ticker-inner { 
        font-size: 12px; padding-left: 0.5rem; padding-right: 0.5rem; 
        gap: 0.5rem; white-space: normal; justify-content: center; 
    }
    #tourTicker .ticker-item { font-size: 12px; line-height: 1.2; overflow-wrap: anywhere; text-transform: none; }
    .contact-cta { padding: 0.35rem 0.5rem; font-size: 12px; border-radius: 6px; }
}

@media (max-width: 768px) {
    .bw-photo { padding: 1rem 0; } 
    .bw-photo .bw-img { max-width: 100%; } 
}
