.gv-text-wrap {
    max-width: 800px;
    margin: 20px auto;
    padding: 20px;
}

.gvth-settings-container {
    background: var(--gvth-submenu, #fff);
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.form-table th {
    width: 200px;
    color: var(--gvth-text, #333);
}

.form-table td {
    padding: 15px 20px;
}

.media-input {
    width: calc(100% - 110px) !important;
    margin-right: 10px !important;
    background: var(--gvth-background, #fff) !important;
    color: var(--gvth-text, #333) !important;
    border-color: var(--gvth-border, #ddd) !important;
}

.media-button {
    vertical-align: middle;
}

/* Login page theme support */
body.login {
    background: var(--gvth-background, #f0f0f1);
    color: var(--gvth-text, #3c434a);
}

#login {
    background: transparent;
}

.login h1 a {
    /* Removed color as background image is used for logo */
    /* color: var(--gvth-header, #3c434a); */
    text-decoration: none; /* Remove underline from logo link */
}

/* Style for dark mode logo on the login page */
html[data-gvth-theme="dark"] .login h1 a,
body.gvth-dark-theme .login h1 a {
    /* Background image will be set via inline style from PHP */
}

.login form {
    background: var(--gvth-submenu, #fff);
    border: 1px solid var(--gvth-border, #c3c4c7);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.login label {
    color: var(--gvth-text, #3c434a);
}

.login input[type="text"],
.login input[type="password"] {
    background: var(--gvth-background, #fff) !important;
    color: var(--gvth-text, #3c434a) !important;
    border-color: var(--gvth-border, #c3c4c7) !important;
}

.login input[type=text]:focus,
.login input[type=password]:focus {
    border-color: var(--gvth-link, #2271b1);
    box-shadow: 0 0 0 1px var(--gvth-link, #2271b1);
}

.login #backtoblog a, 
.login #nav a {
    color: var(--gvth-link, #2271b1) !important;
}

.login #backtoblog a:hover, 
.login #nav a:hover {
    color: var(--gvth-text, #3c434a) !important;
}

.login .button.wp-hide-pw {
    color: var(--gvth-text, #3c434a);
}

.login .button.wp-hide-pw:hover {
    color: var(--gvth-link, #2271b1);
}

#login form p.submit .button-primary {
    background: var(--gvth-link, #2271b1);
    border-color: var(--gvth-link, #2271b1);
    color: #fff;
}

.login .message,
.login .success {
    border-left: 4px solid var(--gvth-link, #2271b1);
    color: var(--gvth-text, #3c434a);
    background: transparent;
    padding: 12px;
    margin-left: 0;
    margin-bottom: 20px;
}

.login #login_error {
    background: var(--gvth-submenu, #fff);
    border-left: 4px solid #d63638;
    color: var(--gvth-text, #3c434a);
}

.wp-core-ui .button-primary {
    background: var(--gvth-link) !important;
    border-color: var(--gvth-link) !important;
    color: #fff !important;
}

.wp-core-ui .button {
    background: var(--gvth-submenu) !important;
    border-color: var(--gvth-border) !important;
    color: var(--gvth-text) !important;
}

.wp-core-ui .button-primary:hover {
    background: var(--gvth-link, #2271b1) !important;
    border-color: var(--gvth-link, #2271b1) !important;
    opacity: 0.9;
}

#language-switcher {
    background: var(--gvth-submenu);
    color: var(--gvth-text);
    border-color: var(--gvth-border);
}

.custom-login-message {
    text-align: center;
    margin-bottom: 20px;
    color: var(--gvth-text, #3c434a);
}
