/* TULE CREEK CAVALIERS - MASTER STYLESHEET */

/* === 1. GLOBAL RESET & BACKGROUND === */
* { box-sizing: border-box; }

body {
    background-color: #1A0F08; 
    background-image: url('https://tulecreekcavaliers.com/images/wood-bg.webp');
    background-size: cover; 
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    color: #3e2723;
    font-family: 'Quicksand', sans-serif;
    margin: 0;
    padding: 30px 10px;
    line-height: 1.7;
}

/* === 2. THE MAIN WRAPPER & ROPE BORDER === */
.site-wrapper {
    max-width: 1050px;
    margin: 0 auto;
    background-color: #fdfbf7; 
    box-shadow: 0 15px 50px rgba(0,0,0,0.9);
    display: flex;
    flex-direction: column;
    position: relative;
    border: 14px solid #4a2c11; 
    z-index: 1;
}

/* Photographic Rope Border Layer */
.site-wrapper::before {
    content: "";
    position: absolute;
    top: -14px; left: -14px; right: -14px; bottom: -14px;
    border: 14px solid transparent;
    border-image-source: url('https://tulecreekcavaliers.com/images/rope-texture.png');
    border-image-slice: 40; 
    border-image-repeat: round;
    mix-blend-mode: multiply;
    pointer-events: none; 
    z-index: 10;
}

/* === 3. HEADER & TOP NAVIGATION === */
.site-header {
    display: flex;
    justify-content: center; 
    align-items: center;
    background-color: #2b170a;
    border-bottom: 4px solid #a87e6a; 
    overflow: hidden; 
    max-height: 280px; 
}
.header-logo img { width: 100%; height: auto; display: block; }

.top-nav {
    background-color: #2b170a;
    background-image: url('https://tulecreekcavaliers.com/images/wood-bg.webp');
    background-size: cover;
    padding: 15px 0;
    text-align: center;
    border-bottom: 4px solid #4a2c11;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.top-nav a {
    color: #fdfbf7;
    text-decoration: none;
    margin: 0 15px;
    font-weight: 700;
    text-shadow: 1px 1px 2px #000;
}
.top-nav a:hover { color: #e6c8b7; }

/* === 4. CONTENT LAYOUT === */
.main-layout { display: flex; min-height: 800px; position: relative; }

.content {
    flex: 1;
    padding: 50px 60px; 
    background-image: url('https://www.transparenttextures.com/patterns/cream-paper.png'); 
    position: relative;
    overflow: hidden;
    z-index: 5;
}

h2 { 
    font-family: 'Great Vibes', cursive; 
    font-size: 5.5rem; 
    color: #4a2c11; 
    text-align: center; 
    margin: 0; 
    line-height: 1; 
    text-shadow: 1px 1px 1px rgba(255,255,255,0.4); 
}

h3 { 
    font-family: 'Quicksand', sans-serif; 
    font-weight: 700; 
    color: #5c3a21; 
    margin-top: 40px; 
    font-size: 1.8rem;
    border-left: 5px solid #a87e6a;
    padding-left: 15px;
    clear: both;
}

.content-text { font-size: 1.15rem; color: #3e2723; margin-bottom: 25px; text-align: justify; }
strong { color: #5c3a21; }

/* Portrait/Breeder Framing */
.portrait-frame {
    border: 12px solid #5c3a21; 
    background-image: url('https://tulecreekcavaliers.com/images/wood-bg.webp');
    background-size: cover;
    padding: 8px;
    box-shadow: 8px 8px 15px rgba(0,0,0,0.2);
    text-align: center;
    outline: 3px solid #a87e6a;
    outline-offset: -10px;
}
.portrait-frame img { width: 100%; border: 2px solid #1A0F08; display: block; }

.mission-box {
    background-color: rgba(168, 126, 106, 0.08); 
    border: 2px dashed #a87e6a; 
    padding: 30px; 
    margin-top: 40px; 
    font-style: italic; 
    text-align: center; 
    color: #4a2c11; 
    border-radius: 4px;
    font-size: 1.3rem;
    clear: both;
}

/* === 5. MOBILE ELEMENTS === */
.mobile-menu-toggle { display: none !important; }

.menu-overlay { 
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; 
    background: rgba(0,0,0,0.7); z-index: 99; 
}
.menu-overlay.active { display: block; }

@media (max-width: 768px) {
    .mobile-menu-toggle { 
        display: block !important; 
        background-image: url('https://tulecreekcavaliers.com/images/wood-bg.webp');
        background-size: cover;
        color: #fdfbf7;
        border: 3px solid #e6c8b7;
        padding: 12px 24px;
        font-family: 'Quicksand', sans-serif;
        font-weight: 700;
        z-index: 101;
        text-shadow: 1px 1px 2px #000;
        position: relative;
    }
    .main-layout { flex-direction: column; }
    .content { padding: 30px 20px; }
    .site-wrapper { border-width: 8px; }
    .site-wrapper::before { top: -8px; left: -8px; right: -8px; bottom: -8px; border-width: 8px; }
    h2 { font-size: 3.5rem; }
}