Social_Cooking/css/login_signup.css

307 lines
5.6 KiB
CSS

/* ===========================================
LOGIN_SIGNUP.CSS — Styles for login & signup
Global styles (reset, variables, body, nav,
typography) are in stylesheet_global.css
=========================================== */
/* --- Page layout --- */
.main-content {
display: flex;
justify-content: center;
align-items: center;
flex: 1;
padding: var(--space-4);
}
.container {
background-color: var(--white);
border-radius: var(--radius-lg);
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
max-width: 1000px;
width: 100%;
display: flex;
gap: var(--space-4);
overflow: hidden;
}
/* --- Image section --- */
.image-section {
flex: 1;
background-color: var(--butter-light);
display: flex;
align-items: center;
justify-content: center;
min-height: 500px;
}
.image-section img {
width: 100%;
height: 100%;
object-fit: cover;
}
/* --- Form section --- */
.form-section {
flex: 1;
padding: 40px;
display: flex;
flex-direction: column;
justify-content: center;
}
h1 {
color: var(--black);
margin-bottom: var(--space-4);
text-align: center;
}
/* --- Form elements --- */
.form-group {
margin-bottom: var(--space-4);
}
label {
display: block;
margin-bottom: var(--space-1);
color: var(--black);
font-weight: 600;
font-size: 0.9rem;
}
input[type="text"],
input[type="email"],
input[type="password"] {
width: 100%;
padding: var(--space-2);
border: 2px solid var(--olive-light);
border-radius: var(--radius-md);
font-size: 0.9rem;
font-family: var(--font-main);
transition: border-color 0.3s ease;
background: var(--white);
color: var(--black);
}
input:focus {
outline: none;
border-color: var(--olive);
box-shadow: 0 0 5px rgba(107, 107, 5, 0.25);
}
button[type="submit"] {
width: 100%;
padding: var(--space-2);
background-color: var(--olive);
color: var(--white);
border: none;
border-radius: var(--radius-pill);
font-size: 1rem;
font-weight: 700;
font-family: var(--font-main);
cursor: pointer;
transition: background-color 0.3s ease, transform 0.2s ease;
margin-top: var(--space-2);
}
button[type="submit"]:hover {
background-color: var(--olive-dark);
transform: translateY(-1px);
}
button[type="submit"]:active {
background-color: var(--olive-dark);
transform: translateY(0);
}
/* --- Info box --- */
.info-box {
background-color: var(--butter-light);
border-left: 4px solid var(--olive);
padding: var(--space-3);
margin-bottom: var(--space-6);
border-radius: 4px;
font-size: 0.9rem;
color: var(--black);
line-height: 1.5;
}
/* --- Hints & errors --- */
.signup-hint,
.login-hint {
text-align: center;
margin-top: var(--space-4);
color: var(--black);
font-size: 0.9rem;
}
.signup-hint a,
.login-hint a {
color: var(--olive);
text-decoration: none;
font-weight: 600;
transition: color 0.3s ease;
}
.signup-hint a:hover,
.login-hint a:hover {
text-decoration: underline;
color: var(--olive-dark);
}
.error-message {
color: var(--tomato);
font-size: 0.8rem;
margin-top: 5px;
display: none;
}
.form-group.has-error input {
border-color: var(--tomato);
box-shadow: 0 0 5px rgba(212, 75, 36, 0.3);
}
.form-group.has-error .error-message {
display: block;
}
/* --- Modal / Popup --- */
.modal {
display: none;
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.4);
animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.modal.show {
display: flex;
justify-content: center;
align-items: center;
}
.modal-content {
background-color: var(--white);
padding: 40px;
border-radius: var(--radius-lg);
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
max-width: 500px;
width: 90%;
text-align: center;
animation: slideIn 0.3s ease;
}
@keyframes slideIn {
from { transform: translateY(-50px); opacity: 0; }
to { transform: translateY(0); opacity: 1; }
}
.modal-header {
position: relative;
margin-bottom: var(--space-4);
}
.modal-header h2 {
color: var(--olive);
font-size: 1.5rem;
}
.close-btn {
position: absolute;
right: 0;
top: 0;
font-size: 28px;
color: var(--black);
background: none;
border: none;
cursor: pointer;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
}
.modal-body {
color: var(--black);
font-size: 1rem;
line-height: 1.6;
margin-bottom: var(--space-6);
}
.modal-footer {
display: flex;
gap: var(--space-2);
justify-content: center;
}
.btn-primary {
padding: var(--space-2) var(--space-5);
background-color: var(--olive);
color: var(--white);
border: none;
border-radius: var(--radius-pill);
font-size: 1rem;
font-weight: 700;
font-family: var(--font-main);
cursor: pointer;
transition: background-color 0.3s ease;
}
.btn-primary:hover {
background-color: var(--olive-dark);
}
/* --- Footer --- */
.footer {
display: flex;
justify-content: center;
align-items: center;
padding: var(--space-3) var(--space-5);
border: none;
margin-top: 40px;
}
.footer__link {
color: var(--black);
text-decoration: underline;
font-size: 0.8rem;
font-weight: 400;
}
/* --- Responsive --- */
@media (max-width: 768px) {
.container {
flex-direction: column;
}
.image-section {
min-height: 300px;
}
}