/* static/css/style.css */

/* --- General Resets & Basic Typography --- */
body { font-family: Arial, sans-serif; margin: 0; line-height: 1.6; color: #333; background-color: #f4f4f4; }
.container { width: 90%; max-width: 1200px; margin: 0 auto; padding: 0 15px; box-sizing: border-box; }
a { color: #007bff; text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { margin-top: 1em; margin-bottom: 0.5em; }
hr { border: 0; border-top: 1px solid #eee; margin: 20px 0; }

/* --- Alerts --- */
.alert { padding: 10px 15px; border: 1px solid transparent; border-radius: 4px; margin-top: 20px;}
.alert-success { color: #155724; background-color: #d4edda; border-color: #c3e6cb; }
.alert-danger { color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; }
.alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; }
.alert-info { color: #0c5460; background-color: #d1ecf1; border-color: #bee5eb; }

/* --- Forms --- */
.form-group { margin-bottom: 15px; }
.control-label { display: block; margin-bottom: 5px; font-weight: bold; }
.form-control { display: block; width: 100%; padding: 8px 12px; font-size: 14px; line-height: 1.42857143; color: #555; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; box-sizing: border-box; }
.form-control:focus { border-color: #66afe9; outline: 0; box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); }
textarea.form-control { min-height: 120px; }
.form-check-inline { display: flex; align-items: center; margin-bottom: 10px; }
.form-check-inline .form-check-input { margin-right: 8px; }
.form-check-inline .form-check-label { margin-bottom: 0; font-weight: normal; }
.errors .error-message { color: #dc3545; font-size: 0.875em; display: block; margin-top: 4px; }
.js-password-field { margin-left: 20px; }

/* --- Buttons --- */
.btn { display: inline-block; padding: 8px 15px; margin-bottom: 0; font-size: 14px; font-weight: normal; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; cursor: pointer; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px; color: #fff; background-color: #007bff; border-color: #007bff; }
.btn:hover, .btn:focus { color: #fff; background-color: #0056b3; border-color: #0056b3; text-decoration: none; }
.btn.-big { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; }
.btn.-small { padding: 3px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; background-color: #f0f0f0; color: #333; border: 1px solid #ccc; }
.btn.-small:hover { background-color: #e0e0e0; border-color: #adadad; color: #333; }

/* --- Header Styles (Desktop First) --- */
.header {
    background-color: #222c3c;
    padding: 10px 0;
    color: #ecf0f1;
    border-bottom: 3px solid #1abc9c;
    position: relative;
}
.header .container.header-nav-container { width: 100%; max-width: 100%; padding: 0 15px; }
.header__container { display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 1200px; margin: 0 auto; }

.header__left {
    display: flex;
    align-items: center;
    flex-grow: 1; /* Allow left to take up necessary space, pushing right to the end */
}
.header__right {
    display: flex;
    align-items: center;
    flex-shrink: 0; /* Prevent right side from being squished */
}

.header__logo {
    font-size: 1.8em;
    font-weight: bold;
    color: #ecf0f1;
    margin-right: 20px;
    flex-shrink: 0; /* Don't let logo shrink */
    order: 1; /* Default order for desktop */
}
.header__logo:hover { color: #fff; text-decoration: none; }

.header__nav { /* Contains main links like Archive */
    display: flex;
    align-items: center;
    margin-left: 10px; /* Space from logo */
    order: 2; /* Default order for desktop */
}
.header__links-list { list-style: none; padding: 0; margin: 0; display: flex; }
.header__links-list li a { color: #bdc3c7; margin-right: 15px; padding: 8px 10px; text-transform: uppercase; font-size: 0.9em; display: block; }
.header__links-list li:last-child a { margin-right: 0; }
.header__links-list li a:hover { color: #fff; text-decoration: none; }

.header__btn.main-paste-btn { /* The "+ Paste" button */
    background-color: #1abc9c;
    color: white !important;
    padding: 6px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 0.75em;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: 20px; /* Space from Archive link */
    order: 3; /* Default order for desktop, after nav */
}
.header__btn.main-paste-btn:hover { background-color: #16a085; color: white !important; text-decoration: none; }

/* Desktop Auth Links Area */
.header__auth-container {
    display: flex;
    align-items: center;
    /* margin-left: auto; /* Pushes this block to the far right of header__right if header__right has space */
}
.header__auth-container .header__user-info { display: flex; align-items: center; gap: 10px; }
.username-greeting { color: #ecf0f1; font-size: 0.9em; white-space: nowrap; }
.header_sign a, .header__user-info .btn-sign.sign-out { color: #bdc3c7; padding: 7px 10px; margin-left: 8px; border: 1px solid #bdc3c7; border-radius: 4px; font-size: 0.85em; white-space: nowrap; }
.header_sign a.sign-up { background-color: #3498db; border-color: #3498db; color: white !important; }
.header_sign a:hover, .header__user-info .btn-sign.sign-out:hover { color: white !important; border-color: #fff; text-decoration: none; }
.header_sign a.sign-up:hover { background-color: #2980b9; border-color: #2980b9; }
.header__user-info .btn-sign.sign-out { background-color: #e74c3c; border-color: #e74c3c; color: white !important; }
.header__user-info .btn-sign.sign-out:hover { background-color: #c0392b; border-color: #c0392b; }

/* Mobile Menu Toggle Button */
.header__mobile-menu-toggle {
    display: none; /* Hidden by default */
    background: none;
    border: none;
    color: #ecf0f1;
    font-size: 1.6em;
    cursor: pointer;
    padding: 5px 0; /* Vertical padding only */
    width: 35px; /* Fixed width */
    height: 35px; /* Fixed height */
    text-align: center;
    line-height: 1;
    margin-left: 10px; /* Space from other elements in header__right */
    order: 2; /* Default order for desktop, but changes on mobile */
}
.header__mobile-menu-toggle:hover { color: #fff; }


/* --- Main Content & Other sections (Truncated for brevity but should be here) --- */
/* ... (All your .main-wrapper, .view-paste-container, .sidebar, etc. styles go here) ... */
/* Styles from previous message should be pasted here, omitting for this example's focus */
.main-wrapper { padding-top: 20px; padding-bottom: 40px; background-color: #fff; min-height: 70vh; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.index-page-container { }
.create-paste-form-section { margin-bottom: 30px; }
.optional-settings-title { font-size: 1.3em; margin-top: 20px; margin-bottom: 15px; padding-bottom: 5px; border-bottom: 1px solid #eee; color: #333; }
.form-check-inline { display: flex; align-items: center; margin-bottom: 10px; }
.form-check-inline .form-check-input { margin-right: 8px; }
.form-check-inline .form-check-label { margin-bottom: 0; font-weight: normal; }
.errors .error-message { color: #dc3545; font-size: 0.875em; display: block; margin-top: 4px; }
.js-password-field { margin-left: 20px; }
hr.section-separator { border: 0; border-top: 2px solid #e9ecef; margin: 40px 0; }
.recent-pastes-section h2, .view-page-sidebar .sidebar__title { font-size: 1.5em; margin-bottom: 15px; color: #333; }
.recent-pastes-section h2 i, .view-page-sidebar .sidebar__title i { margin-right: 8px; color: #000000; }
.recent-pastes-table.maintable { width: 100%; border-collapse: collapse; font-size: 0.9em; margin-bottom: 20px; background-color: #fff; }
.recent-pastes-table th, .recent-pastes-table td { padding: 8px 10px; text-align: left; border-bottom: 1px solid #dee2e6; }
.recent-pastes-table th { background-color: #f8f9fa; font-weight: 600; color: #495057; }
.recent-pastes-table td a { color: #0056b3; font-weight: 500; text-decoration: none; }
.recent-pastes-table td a:hover { text-decoration: underline; color: #003d80; }
.recent-pastes-table td a i.fa-paste { margin-right: 6px; color: #6c757d; }
.recent-pastes-table .td_smaller { font-size: 0.9em; color: #6c757d; }
.recent-pastes-table .td_right { text-align: right; }
.view-page-page-container { margin-top: 20px; } /* Typo fixed to view-paste-page-container */
.view-paste-container { display: flex; flex-wrap: nowrap; gap: 25px; margin-top: 20px; }
.paste-main-content { flex: 3; min-width: 0; }
.sidebar.view-page-sidebar { flex: 1; background-color: #f9f9f9; padding: 20px; border: 1px solid #e7e7e7; border-radius: 5px; align-self: flex-start; min-width: 280px; }
.paste-details-header { display: flex; align-items: flex-start; border: 1px solid #e0e0e0; padding: 15px; margin-bottom: 20px; background-color: #fff; border-radius: 5px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.user-icon .user-avatar-icon { color: #777; margin-right: 15px; font-size: 40px; }
.user-icon .guest-avatar-icon { color: #aaa; }
.info-bar { flex-grow: 1; }
.info-top h1 { font-size: 1.7em; margin-top: 0; margin-bottom: 8px; word-break: break-all; color: #333; }
.info-bottom { display: flex; flex-wrap: wrap; gap: 10px 15px; font-size: 0.85em; color: #666; }
.info-bottom > span { padding-right: 0; }
.info-bottom i.fas { margin-right: 5px; color: #888; }
.guest-signup-notice .notice.-success.-post-view { background-color: #dff0d8; border:1px solid #c3e6cb; padding:10px 15px; margin:15px 0; border-radius: 4px; font-size: 0.9em; }
.paste-actions-bar { display: flex; justify-content: space-between; align-items: center; background-color: #f7f7f9; padding: 8px 15px; border-bottom: 1px solid #e0e0e0; font-size: 0.9em; color: #555; }
.paste-actions-bar .actions-left, .paste-actions-bar .actions-right { display: flex; align-items: center; gap: 10px; }
.action-label { display: inline-flex; align-items: center; gap: 4px; color: #555; }
.action-label.syntax-label { font-weight: bold; }
.btn-action { padding: 4px 8px; font-size: 0.85em; background-color: #e9ecef; color: #495057; border: 1px solid #ced4da; display: inline-flex; align-items: center; gap: 4px; }
.btn-action:hover { background-color: #dee2e6; border-color: #adb5bd; color: #343a40; }
.share-section { display: flex; align-items: center; flex-wrap: wrap; padding: 10px 15px; background-color: #f7f7f9; border-bottom: 1px solid #e0e0e0; font-size: 0.9em; }
.share-section strong { margin-right: 10px; color: #555; }
.share-section strong i.fas { margin-right: 5px; }
.share-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: #fff; padding: 5px 8px; margin: 3px; border-radius: 3px; font-size: 0.85em; transition: opacity 0.2s ease-in-out; border: none; cursor: pointer; }
.share-btn i { margin-right: 0; font-size: 1.1em; }
.share-btn.copy-link { gap: 4px; }
.share-btn.copy-link i { margin-right: 4px; }
.share-btn:hover { opacity: 0.85; }
.share-btn.twitter { background-color: #1DA1F2; } .share-btn.facebook { background-color: #1877F2; } .share-btn.linkedin { background-color: #0A66C2; } .share-btn.reddit { background-color: #FF4500; } .share-btn.email { background-color: #777; } .share-btn.copy-link { background-color: #6c757d; }
.copy-status-message { margin-left: 8px; font-size: 0.9em; display: none; }
.source-code-area { padding: 0; overflow-x: auto; font-size: 13px; line-height: 1.5; border: 1px solid #e0e0e0; border-top:none; background-color: #fff; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px;}
.syntax { border-collapse: collapse; width: 100%; margin: 0; border: none; }
.syntax td { padding: 2px 0; vertical-align: top; border: none; }
.syntax .linenos { background-color: #fdf6e3; padding: 2px 8px 2px 10px; text-align: right; color: #93a1a1; border-right: 1px solid #eee8d5; user-select: none; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; }
.syntax .code { padding: 2px 10px; white-space: pre; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; background-color: #fdf6e3; color: #657b83; }
.syntax .k { color: #859900; } .syntax .s { color: #2aa198; } .syntax .c1 { color: #93a1a1; font-style: italic; }
.view-page-sidebar .sidebar__title { background-color: #e9ecef; color: #495057; padding: 10px 15px; margin: 0 0 10px 0; font-size: 1.1em; font-weight: 600; border-radius: 0; border-bottom: 1px solid #dee2e6;}
.view-page-sidebar .sidebar__title a { color: inherit; text-decoration: none; }
.view-page-sidebar .sidebar__title i.fas { margin-right: 6px; }
.view-page-sidebar .stacked-paste-list { list-style: none; padding: 0; margin: 0; }
.view-page-sidebar .sidebar-list-item { padding: 8px 0; border-bottom: 1px solid #eee; }
.view-page-sidebar .sidebar-list-item:last-child { border-bottom: none; }
.view-page-sidebar .paste-title-link { display: block; font-weight: 500; color: #0056b3; text-decoration: none; margin-bottom: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.9em; }
.view-page-sidebar .paste-title-link:hover { text-decoration: underline; }
.view-page-sidebar .paste-meta-details { display: flex; align-items: center; font-size: 0.75em; color: #6c757d; }
.view-page-sidebar .paste-meta-details > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 0; }
.view-page-sidebar .paste-meta-details .meta-syntax { color: #007bff; }
.view-page-sidebar .paste-meta-details .meta-separator { margin: 0 4px; color: #ccc; }
.password-entry-form { border: 1px solid #ffc107; padding: 20px; margin: 20px 0; background-color: #fff3cd; border-radius: 5px; }
.password-entry-form h3 { margin-top:0; color: #856404; }
.password-entry-form label { font-weight: bold; margin-right: 10px; }
.no-pastes-message { font-size: 0.9em; color: #6c757d; text-align: center; padding: 10px 0; }
.pagination-nav { margin-top: 20px; display: flex; justify-content: center; }
.pagination { display: inline-flex; padding-left: 0; list-style: none; border-radius: 0.25rem; }
.page-item:first-child .page-link { margin-left: 0; border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem; }
.page-item:last-child .page-link { border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem; }
.page-item.active .page-link { z-index: 3; color: #fff; background-color: #007bff; border-color: #007bff; }
.page-item.disabled .page-link { color: #6c757d; pointer-events: none; cursor: auto; background-color: #fff; border-color: #dee2e6; }
.page-link { position: relative; display: block; padding: 0.5rem 0.75rem; margin-left: -1px; line-height: 1.25; color: #007bff; background-color: #fff; border: 1px solid #dee2e6; }
.page-link:hover { z-index: 2; color: #0056b3; text-decoration: none; background-color: #e9ecef; border-color: #dee2e6; }
.sidebar-pastes-table { width: 100%; border-collapse: collapse; font-size: 0.8em; margin-top: -5px; }
.sidebar-pastes-table td { padding: 5px 3px; border-bottom: 1px dotted #e0e0e0; vertical-align: middle; white-space: nowrap; }
.sidebar-pastes-table tr:last-child td { border-bottom: none; }
.sidebar-pastes-table .paste-title-cell { width: 60%; overflow: hidden; text-overflow: ellipsis; }
.sidebar-pastes-table .paste-title-cell a { color: #0056b3; text-decoration: none; font-weight: 500; }
.sidebar-pastes-table .paste-title-cell a:hover { text-decoration: underline; }
.sidebar-pastes-table .paste-meta-cell { width: 25%; color: #007bff; text-align: left; overflow: hidden; text-overflow: ellipsis; }
.sidebar-pastes-table .paste-time-cell { width: 15%; color: #6c757d; text-align: right; }
.footer { background-color: #2c3e50; color: #bdc3c7; padding: 40px 0 20px 0; text-align: left; font-size: 0.9em; margin-top: 50px; border-top: 3px solid #16a085; }
.footer-content { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.footer-links-internal, .footer-links-external, .footer-legal { flex: 1; min-width: 200px; }
.footer h4 { color: #ecf0f1; font-size: 1.1em; margin-top: 0; margin-bottom: 15px; padding-bottom: 5px; border-bottom: 1px solid #3e5771; }
.footer ul { list-style: none; padding: 0; margin: 0; }
.footer ul li { margin-bottom: 8px; }
.footer ul li a { color: #95a5a6; text-decoration: none; transition: color 0.2s ease; }
.footer ul li a:hover { color: #ecf0f1; text-decoration: none; }
.footer ul li a i.fas { margin-right: 8px; width: 16px; text-align: center; color: #7f8c8d; }
.footer ul li a:hover i.fas { color: #1abc9c; }
.footer-copyright { text-align: center; padding-top: 20px; border-top: 1px solid #3e5771; font-size: 0.85em; color: #7f8c8d; }


/* --- Responsive Styles --- */
@media (max-width: 992px) { /* Tablet and smaller */
    /* --- Responsive Header --- */
    .header__container {
        /* Allow items to wrap on mobile if they don't fit.
           This is mainly for the case where logo + paste button + hamburger
           might be too wide on very narrow end of this breakpoint. */
        /* flex-wrap: wrap; */ /* Consider this if needed */
    }

    .header__left {
        /* On mobile, we want logo, then +paste, then hamburger (which is in header__right) */
        /* So, header__left might need to allow its items to take full width up to a point */
        flex-grow: 0; /* Don't let it grow excessively */
        margin-right: auto; /* Pushes header__right to the end */
    }
    .header__right {
        /* Contains auth (hidden on desktop for mobile menu) and toggle */
    }

    .header__nav, /* Hide desktop main nav links <nav id="mainNav"> */
    .header__auth-container /* Hide desktop auth links <div id="authNavContainer"> */ {
        display: none;
    }

    /* Show mobile menu toggle */
    .header__mobile-menu-toggle {
        display: flex; /* Use flex to center icon inside button */
        align-items: center;
        justify-content: center;
        order: 3; /* Ensure it's last in .header__right visually */
    }
    
    .header__btn.main-paste-btn { /* The "+ Paste" button */
        order: 2; /* Display order for mobile: Logo (1 implicitly from DOM), +Paste (2), Toggle (3 in header__right) */
        margin-left: 10px; /* Space from logo */
        /* On mobile, this button is now in header__left. Auth links are hidden. */
    }


    /* Styles for the .active mobile menu dropdown */
    .header__nav.active,
    .header__auth-container.active {
        display: flex !important;
        flex-direction: column;
        position: absolute;
        top: calc(100% + 3px); /* Header height + header border */
        left: 0;
        width: 100%;
        background-color: #2c3e50;
        z-index: 1000;
        border-top: 3px solid #1abc9c; /* Optional: visual cue for dropdown */
        box-shadow: 0 3px 5px rgba(0,0,0,0.2);
        padding: 0; /* ADD THIS: Ensure no padding on the dropdown containers themselves */
        margin: 0;  /* ADD THIS: Ensure no margin either */
    }
    
    .header__nav.active .header__links-list,
    .header__auth-container.active .header_sign,
    .header__auth-container.active .header__user-info {
        flex-direction: column;
        width: 100%;
        margin:0;
        padding:0;
    }
    .header__auth-container.active .header__user-info {
        padding: 12px 20px;
        text-align: left;
        border-bottom: 1px solid #3e5771; /* Separator for user greeting area */
        color: #ecf0f1; /* Ensure greeting text is visible */
    }
    .header__auth-container.active .username-greeting {
        display: block;
        padding-bottom: 8px;
    }

    /* Styling for individual links (<a>) in the mobile menu */
    .header__nav.active .header__links-list li a,
    .header__auth-container.active .header_sign a, /* Targets <a> within .header_sign */
    .header__auth-container.active .header__user-info a.sign-out { /* Targets <a> within .header__user-info */
        padding: 12px 20px;
        text-align: left;
        border-bottom: 1px solid #3e5771;
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        border-radius: 0;
        color: #ecf0f1 !important; /* Make text light */
        background-color: transparent !important; /* Remove button bg */
        border-left: none; border-right: none; border-top: none; /* Remove button borders */
        font-size: 1em;
        display: block;
        text-transform: none; /* Optional: normal case for mobile links */
    }
    
    /* Remove bottom border from the very last item in the entire dropdown menu */
    /* This logic assumes #authNavContainer comes after #mainNav in the HTML for the dropdown's visual order */
    .header__auth-container.active .header_sign a:last-of-type,
    .header__auth-container.active .header__user-info a.sign-out { /* sign-out is usually the only 'a' here */
        border-bottom: none;
    }
    /* If #mainNav is active and is the last visible menu block (i.e., auth is hidden or not present) */
    .header__nav.active .header__links-list li:last-child a {
         /* Check if #authNavContainer would be shown after it. If not, remove border. */
    }
    /* A simpler rule: if an item is the absolute last in the combined dropdown, no border.
       This is hard to do with pure CSS if mainNav and authNavContainer are separate active blocks.
       The current approach ensures the last link *within its own section* has no border if it's last overall. */
    .header__nav.active + .header__auth-container.active .header__links-list li:last-child a {
        /* If mainNav is directly followed by an active authContainer, mainNav's last item still needs its border */
         border-bottom: 1px solid #3e5771;
    }


    .header__nav.active .header__links-list li a:hover,
    .header__auth-container.active .header_sign a:hover,
    .header__auth-container.active .header__user-info a.sign-out:hover {
        background-color: #3e5771 !important;
    }

    /* Hide the desktop paste button if you have a mobile one or want to save space */
    /* .header__btn.main-paste-btn { display: none; } */

    /* Other responsive rules */
    .view-paste-container { flex-direction: column; }
    .sidebar { min-width: 100%; margin-top: 20px; }
    .h_800 { display: none !important; }
}

@media (max-width: 768px) { /* Phone */
    .container { width: 95%; }
    .header__logo { font-size: 1.2em; margin-right: 10px; }
    .header__btn.main-paste-btn { /* The "+ Paste" button */
        padding: 6px 10px;
        font-size: 0.8em;
        /* Optionally hide text, show only icon */
        /* span { display: none; } */
        /* i.fas { margin-right: 0; } */
    }
    /* Footer stacking already in your CSS */
    .footer-content { flex-direction: column; align-items: flex-start; }
    .footer-links-internal, .footer-links-external, .footer-legal { min-width: 100%; margin-bottom: 20px; }
    .footer-legal { margin-bottom: 0; }

    .info-bottom { font-size: 0.8em; gap: 5px 10px; }
    .info-top h1 { font-size: 1.4em; }
}




/* Optional: Add to your custom CSS file */
.advertisement-table tbody tr:hover {
    background-color: #f8f9fa; /* Lighter hover for ads */
}

.advertisement-table .fa-star {
    color: #ffc107; /* Gold star color */
}

.advertisement-pastes-section h2 {
    /* If you want to style the ad section title differently */
    /* color: #007bff; */
}

.advertisement-pastes-section p.text-center a {
    font-weight: bold;
}


/* In your custom CSS file (e.g., style.css) */

.advertisement-table td a.btn.btn-primary,
.advertisement-table td a.btn.btn-success,
.advertisement-table td a.btn.btn-info {
    color: #ffffff !important; /* Force white text */
    text-decoration: none !important; /* Ensure no underline */
}

/* Optional: Style for hover/focus states if needed */
.advertisement-table td a.btn.btn-primary:hover,
.advertisement-table td a.btn.btn-primary:focus,
.advertisement-table td a.btn.btn-success:hover,
.advertisement-table td a.btn.btn-success:focus,
.advertisement-table td a.btn.btn-info:hover,
.advertisement-table td a.btn.btn-info:focus {
    color: #ffffff !important; /* Keep text white on hover/focus */
    text-decoration: none !important;
}