/* ==========================================================================
   THE MANSLAUGHTER - MASTER STYLESHEET
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. GLOBAL RESET & BASE
   -------------------------------------------------------------------------- */
body { 
    font-family: 'Georgia', serif; 
    color: #121212; 
    margin: 0; 
    padding: 0; 
    background-color: #fff; 
}

.page-width { 
    max-width: 1250px; 
    margin: 0 auto; 
    padding: 0 20px; 
}

a { 
    color: inherit; 
    text-decoration: none; 
}

a:hover { 
    text-decoration: none; 
}

img { 
    width: 100%; 
    height: auto; 
    display: block; 
    margin-bottom: 12px; 
}

/* --------------------------------------------------------------------------
   2. LAYOUT & GRID SYSTEM
   -------------------------------------------------------------------------- */
.home-grid { 
    display: grid; 
    grid-template-columns: 1.4fr 2.2fr 1.4fr; /* must equal 5 */
    gap: 25px; 
    margin-top: 20px;
    min-height: 80vh;
}

.left-col { 
    border-right: 1px solid #e2e2e2; 
    padding-right: 15px; 
}

.right-col { 
    border-left: 1px solid #e2e2e2; 
    padding-left: 15px; 
}

.main-col .article-block {
    border-bottom: 1px solid #e2e2e2;
    margin-bottom: 30px;
    padding-bottom: 20px;
}

.main-col .article-block:last-child { 
    border-bottom: none; 
}
/* --------------------------------------------------------------------------
   3. TYPOGRAPHY & ELEMENTS
   -------------------------------------------------------------------------- */
h2 { 
    font-size: clamp(22px, 2.5vw, 28px); 
    line-height: 1.1; 
    margin: 0 0 10px 0; 
    font-weight: 700; 
}

h3 { 
    font-size: clamp(14px, 1.5vw, 17px); 
    margin: 0 0 8px 0; 
    line-height: 1.2; 
    font-weight: 700; 
}

.summary { 
    font-size: 14px; 
    color: #333; 
    line-height: 1.4; 
    margin-bottom: 15px; 
}

.article-block { 
    margin-bottom: 25px; 
    padding-bottom: 15px; 
}

/* --------------------------------------------------------------------------
   4. HEADER & NAVIGATION
   -------------------------------------------------------------------------- */
.edition-bar { 
    position: relative; 
    text-align: center; 
    padding: 10px 0; 
    margin-top: 10px; 
    font-family: Arial, sans-serif; 
    font-size: 11px; 
    height: 30px; 
    display: flex; 
    align-items: center; 
    justify-content: center;
}

.edition-links { 
    font-weight: 400; 
    color: #000; 
    z-index: 1; 
}

/* Auth Buttons in Header */
.auth-wrapper {
    position: absolute; 
    right: 0; top: 0; bottom: 0; margin: auto; 
    height: 30px;
    display: flex; align-items: center; justify-content: flex-end; gap: 12px; 
    font-family: Arial, sans-serif; font-size: 11px; text-transform: uppercase;
    z-index: 10; background-color: white; padding-left: 10px;
}

.btn-auth-red {
    background-color: #830000; 
    color: #fff !important;
    padding: 6px 14px; 
    font-weight: 700; 
    border-radius: 3px; 
    white-space: nowrap;
    text-decoration: none; 
    display: inline-block;
}

.auth-wrapper span { font-weight: 500; color: #000; }
.auth-wrapper .logout-link { text-decoration: none; color: #000; cursor: pointer; text-transform: none; }

/* Masthead */
.masthead { 
    display: flex; 
    align-items: center; 
    justify-content: space-between;
    padding: 10px 0 0 0; 
    position: relative;
    width: 100%;
}

.tagline-block { 
    width: 200px; 
    min-width: 200px;
    text-align: left;
    font-family: Arial; font-size: 13px; line-height: 1.4;
    font-weight: 400; 
}

.logo-wrapper { 
    flex-grow: 1; 
    text-align: center; 
}

.logo { 
    width: 600px; 
    height: auto; 
    display: block; 
    margin: 0 auto; 
    position: relative; 
    top: -25px; 
}

.feed-wrapper { 
    width: 200px; 
    min-width: 200px;
    text-align: right; 
    display: flex; 
    justify-content: flex-end; 
}

.date-row {
    text-align: center;
    font-family: Arial, sans-serif;
    font-size: 10px;
    margin-top: 0px; 
    margin-bottom: 15px;
}

/* Navigation Links */
.nav-container { 
    margin: 0 0 25px 0; 
    padding-bottom: 15px; 
    border-bottom: 3px double #000; 
}

.nav-links { 
    display: flex; 
    justify-content: center; 
    gap: 20px; 
    list-style: none; 
    padding: 0; 
    margin: 0; 
    font-family: Arial, sans-serif; 
    font-size: 14px; 
}

.nav-links li { 
    display: flex; 
    align-items: center; 
    gap: 4px; 
}

.nav-links li::after { 
    content: ""; 
    display: inline-block; 
    width: 8px; 
    height: 5px; 
    margin-top: 2px; 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none' stroke='%23888' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E"); 
    background-repeat: no-repeat; 
    background-position: center; 
}

/* --------------------------------------------------------------------------
   5. AUTH MODAL (Login Popup)
   -------------------------------------------------------------------------- */
.auth-modal-overlay {
    position: fixed; 
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.4); 
    backdrop-filter: blur(8px);
    z-index: 9999;
    display: flex; align-items: center; justify-content: center;
    display: none; 
    opacity: 0;
    transition: opacity 0.2s ease;
}

.auth-modal-overlay.open {
    display: flex !important; 
    opacity: 1 !important;    
}

.auth-box {
    background: #ffffff;
    width: 100%; max-width: 400px;
    border-radius: 16px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    padding: 30px;
    position: relative;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #111;
    transform: scale(0.95);
    transition: transform 0.2s ease;
}

.auth-modal-overlay.open .auth-box { transform: scale(1); }

.auth-header { margin: 0 0 20px 0; font-size: 20px; font-weight: 700; text-align: center; letter-spacing: -0.5px; }
.close-btn { position: absolute; top: 20px; right: 20px; background: none; border: none; color: #999; cursor: pointer; padding: 5px; border-radius: 50%; transition: background 0.2s, color 0.2s; display: flex; align-items: center; justify-content: center; }
.close-btn:hover { background: #f3f4f6; color: #111; }

.auth-tabs-wrapper { background: #f3f4f6; padding: 4px; border-radius: 10px; margin-bottom: 25px; }
.auth-tabs { display: flex; }
.auth-tabs button { flex: 1; padding: 8px; border: none; background: transparent; font-size: 13px; font-weight: 600; color: #6b7280; border-radius: 7px; cursor: pointer; transition: all 0.2s; }
.auth-tabs button.active { background: #fff; color: #000; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }

.input-group { margin-bottom: 18px; text-align: left; }
.input-group label { display: block; font-size: 13px; font-weight: 500; color: #374151; margin-bottom: 6px; }
.input-wrapper { position: relative; }
.input-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #9ca3af; font-size: 15px; font-weight: 500; pointer-events: none; }

.auth-box input { width: 100%; padding: 10px 12px; font-size: 15px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; outline: none; transition: border-color 0.15s, box-shadow 0.15s; box-sizing: border-box; font-family: inherit; color: #111; }
#modal-login-user, #modal-signup-handle { padding-left: 32px; }
.auth-box input:focus { border-color: #000; box-shadow: 0 0 0 3px rgba(0,0,0,0.05); }
.auth-box input::placeholder { color: #d1d5db; }

.btn-primary { width: 100%; background: #000; color: #fff; border: none; padding: 12px; border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer; transition: transform 0.1s, background 0.2s; }
.btn-primary:hover { background: #222; }
.btn-primary:active { transform: scale(0.98); }

.sub-link { font-size: 12px; color: #6b7280; text-decoration: none; }
.sub-link:hover { color: #111; text-decoration: underline; }
.helper-text { font-size: 12px; color: #9ca3af; margin-top: 5px; }
.msg-box { font-size: 13px; margin-top: 12px; text-align: center; min-height: 20px; font-weight: 500; }
.error-txt { color: #ef4444; }
.success-txt { color: #10b981; }
.success-banner { background: #ecfdf5; color: #065f46; padding: 10px; border-radius: 8px; font-size: 13px; margin-bottom: 15px; text-align: center; }

.otp-container { text-align: center; padding: 10px 0; }
.otp-container h3 { margin: 0 0 5px 0; font-size: 18px; }
.otp-container p { color: #6b7280; font-size: 13px; margin-bottom: 20px; }
.otp-input { text-align: center; letter-spacing: 5px; font-size: 20px; width: 100%; margin-bottom: 15px; }

@media (max-width: 450px) { .auth-box { width: 90%; margin: 0 auto; padding: 25px 20px; } }


/* --------------------------------------------------------------------------
   6. FOOTER
   -------------------------------------------------------------------------- */
footer {
    border-top: 1px solid #e2e2e2;
    padding: 30px 0 50px 0;
    margin-top: 60px;
    text-align: center;
}

.footer-logo { 
    width: 220px; 
    margin-bottom: 10px;
    
    /* ADD THESE TWO LINES TO CENTER IT: */
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
}

.copyright { 
    font-size: 11px; 
    color: #666; 
    margin-bottom: 20px; 
}

.footer-links-row { 
    display: flex; 
    flex-wrap: wrap; 
    justify-content: center; 
    gap: 15px; 
    font-family: Arial, sans-serif;
    font-size: 11px; 
    color: #666; 
}

.footer-links-row span { 
    cursor: pointer; 
    white-space: nowrap; 
}

.footer-links-row span:hover { 
    text-decoration: underline; 
}