@import url('https://fonts.googleapis.com/css2?family=Share+Tech&display=swap');

/* --- 1. Universal Sharp Geometry & Typography --- */
*, *::before, *::after,
*:hover, *:focus, *:active {
    box-sizing: border-box;
    border-radius: 0px !important;
    font-family: 'Share Tech', monospace, sans-serif !important;
}

/* --- 2. Viewport & Center Alignment --- */
html {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body {
    background-color: #8bc5dd !important;
    background-image: url("https://blog.shorewatcher.nl/wp-content/uploads/2024/11/Preview_143.png") !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
    color: #222222 !important;
    min-height: 100vh !important;
    margin: 0 auto !important;
    padding: 24px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

body > * {
    width: 100% !important;
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

/* --- 3. Top Navigation Bar & Logo Removal --- */
header, nav, .header,
body > div:first-of-type {
    background-color: #5e7eb5 !important;
    border: 2px solid #4a6899 !important;
    box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.2) !important;
    padding: 10px 16px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
}

/* Remove MicroBin Logo completely */
body > div:first-of-type a:first-child:has(svg),
body > div:first-of-type a:first-child:has(img),
body > div:first-of-type a.logo,
body > div:first-of-type .logo,
body > div:first-of-type a[href*="microbin.eu"] {
    display: none !important;
}

/* Right-aligned subdomain text */
body > div:first-of-type::after {
    content: "paste.shorewatcher.nl" !important;
    color: #ffffff !important;
    font-size: 0.95rem !important;
    opacity: 0.9 !important;
    margin-left: auto !important;
    padding-left: 12px !important;
    font-weight: normal !important;
    white-space: nowrap !important;
}

/* High-contrast Nav Buttons */
body > div:first-of-type a {
    background-color: #4a6899 !important;
    border: 1px solid #3b537a !important;
    color: #ffffff !important;
    box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.2) !important;
    padding: 5px 14px !important;
    font-size: 0.95rem !important;
    font-weight: bold !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

body > div:first-of-type a:hover {
    background-color: #ffffff !important;
    color: #5e7eb5 !important;
    border-color: #ffffff !important;
}

/* --- 4. Main Form Card & Inputs --- */
main, form, .content, .container, .paste-wrapper,
body > form {
    background-color: rgba(255, 255, 255, 0.95) !important;
    border: 2px solid #5e7eb5 !important;
    box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.2) !important;
    padding: 24px !important;
    margin-bottom: 20px !important;
}

label, legend, h1, h2, h3, h4, h5 {
    color: #5e7eb5 !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

select {
    background-color: #ffffff !important;
    color: #111111 !important;
    border: 2px solid #5e7eb5 !important;
    padding: 6px 10px !important;
    font-size: 0.95rem !important;
}

select:focus {
    outline: none !important;
    border-color: #0084a5 !important;
}

textarea {
    width: 100% !important;
    background-color: #ffffff !important;
    color: #111111 !important;
    border: 2px solid #5e7eb5 !important;
    padding: 10px 12px !important;
    font-size: 1rem !important;
    margin-top: 6px !important;
    margin-bottom: 16px !important;
}

textarea:focus {
    outline: none !important;
    border-color: #0084a5 !important;
}

/* --- 5. Bottom Form Controls (Attachment, Password, Save) --- */
/* Container layout for the bottom row */
form > div:last-of-type,
div:has(> input[type="file"]),
div:has(> input[type="submit"]) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-top: 14px !important;
}

/* Fix box-in-a-box: strip borders from the wrapper */
div:has(> input[type="file"]),
div:has(> .file-input),
[class*="file-upload"],
[class*="file-drop"] {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Single clean dashed attachment button */
.file-input,
label[for*="file"],
div:has(> input[type="file"]) label,
div:has(> input[type="file"]) button,
input[type="file"] + label {
    border: 2px dashed #5e7eb5 !important;
    background-color: #f7faff !important;
    color: #5e7eb5 !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    font-size: 0.9rem !important;
    height: 42px !important;
    padding: 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
}

.file-input:hover,
div:has(> input[type="file"]) label:hover {
    background-color: #e4edf8 !important;
    border-color: #0084a5 !important;
}

/* Strip any inner nested borders */
.file-input *,
div:has(> input[type="file"]) label * {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* Password + Save button group alignment */
div:has(> input[type="password"]),
div:has(> input[type="submit"]),
.input-group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
}

/* Password input box */
input[type="password"] {
    height: 42px !important;
    line-height: 42px !important;
    padding: 0 12px !important;
    background-color: #ffffff !important;
    color: #111111 !important;
    border: 2px solid #5e7eb5 !important;
    font-size: 0.95rem !important;
    margin: 0 !important;
    width: 220px !important;
    max-width: 220px !important;
    vertical-align: middle !important;
}

input[type="password"]:focus {
    outline: none !important;
    border-color: #0084a5 !important;
}

/* Save button */
input[type="submit"],
button[type="submit"],
.btn {
    height: 42px !important;
    padding: 0 24px !important;
    background-color: #5e7eb5 !important;
    border: 2px solid #3b537a !important;
    color: #ffffff !important;
    box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.2) !important;
    font-size: 1.05rem !important;
    cursor: pointer !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    transition: background-color 0.15s ease, transform 0.05s ease !important;
}

input[type="submit"]:hover,
button[type="submit"]:hover {
    background-color: #4a6899 !important;
    border-color: #2b3d5b !important;
    color: #ffffff !important;
    box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.2) !important;
}

input[type="submit"]:active,
button[type="submit"]:active {
    transform: translate(2px, 2px) !important;
    box-shadow: 1px 1px 0px rgba(0, 0, 0, 0.2) !important;
}

/* --- 6. Code & Links --- */
pre, code, .highlighted-code {
    background-color: #eef4fb !important;
    border: 2px solid #c2d4ea !important;
    box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05) !important;
    color: #0084a5 !important;
    padding: 14px !important;
    font-size: 0.95rem !important;
    overflow-x: auto !important;
}

main a, form a, p a {
    color: #0084a5 !important;
    text-decoration: none !important;
}

main a:hover, form a:hover, p a:hover {
    color: #005f77 !important;
    border-bottom: 1px dotted #0084a5 !important;
}

/* --- 7. Single Boxed Footer Card --- */
footer,
.footer,
body > p:last-of-type,
p:has(a[href*="microbin"]):not(:has(a[href*="upload"])) {
    display: block !important;
    background-color: rgba(255, 255, 255, 0.95) !important;
    border: 2px solid #5e7eb5 !important;
    box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.2) !important;
    padding: 14px 20px !important;
    margin-top: 14px !important;
    margin-bottom: 24px !important;
    text-align: center !important;
    color: #444444 !important;
    font-size: 0.95rem !important;
}

footer::after,
.footer::after,
body > p:last-of-type::after,
p:has(a[href*="microbin"]):not(:has(a[href*="upload"]))::after {
    display: none !important;
}
