RecycloAI / static /css /index2.css
seun829's picture
Upload 40 files
b5cb408 verified
/* --------------------------
RecycloAI – Header layout & nav buttons (final)
Logo LEFT · Nav+Login RIGHT
---------------------------*/
/* ===== Base header layout (supports with/without .header-row) ===== */
header {
display: flex !important;
align-items: center;
gap: 12px;
padding: 16px 20px; /* visual styles (bg/blur/border) come from index.css */
}
/* Optional wrapper: keep content centered on page */
header > .header-row {
display: flex !important;
align-items: center;
gap: 12px;
width: 100%;
max-width: 1100px;
margin: 0 auto;
padding: 0; /* header has padding already */
}
/* ===== Brand (ALWAYS LEFT) ===== */
header > h1.brand,
header > .header-row > h1.brand {
margin-right: auto !important; /* <-- pins brand to LEFT */
font-size: clamp(1.45rem, 1rem + 2vw, 1.9rem); /* modest bump */
}
header .brand .brand-leaf { width: 1.12em; height: 1.12em; }
header .brand .brand-ai { font-size: .74em; padding: .28em .60em .32em; }
/* ===== Nav + Login/Logout (ALWAYS RIGHT, TOGETHER) ===== */
/* Nav block itself sits on the RIGHT */
header > nav,
header > .brand-nav,
header > .header-row > nav,
header > .header-row > .brand-nav {
margin-left: auto !important; /* <-- pushes nav to the RIGHT */
display: flex;
align-items: center;
gap: .75rem;
flex-wrap: wrap;
flex: 0 0 auto !important; /* don't stretch */
}
/* Login/Logout sits WITH the nav on the RIGHT, just after it */
header > form[method="post"],
header > .auth-slot,
header > .header-row > form[method="post"],
header > .header-row > .auth-slot {
margin-left: .75rem !important; /* space next to nav */
display: inline-flex;
align-items: center;
}
/* ===== Pill button styles (for nav links) ===== */
.nav-btn {
display: inline-flex;
align-items: center;
gap: .45rem;
padding: .5rem .85rem;
border-radius: 999px;
font-weight: 800;
letter-spacing: .2px;
font-size: .92rem;
text-decoration: none;
border: 1px solid rgba(255,255,255,.12);
background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
color: var(--text);
box-shadow: var(--shadow);
transition: transform .12s ease, filter .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.nav-btn:hover { transform: translateY(-1px); filter: brightness(1.06); border-color: rgba(255,255,255,.22); }
.nav-btn:active { transform: translateY(0); }
/* Primary emerald variant */
.nav-btn--primary {
background: linear-gradient(90deg, var(--accent), var(--accent-2));
color: var(--ink-on-accent);
box-shadow: 0 8px 18px rgba(16,185,129,.25), 0 2px 0 rgba(0,0,0,.25) inset;
border-color: transparent;
}
/* Subtle danger (logout) */
.nav-btn--danger {
background: linear-gradient(180deg, rgba(239,68,68,.12), rgba(239,68,68,.06));
border-color: rgba(239,68,68,.35);
color: #fecaca;
}
.nav-btn--danger:hover { border-color: rgba(239,68,68,.5); filter: brightness(1.05); }
/* Make POST logout forms look like buttons inline */
.nav-inline-form { display: inline-block; margin: 0; }
.nav-inline-form button { all: unset; }
.nav-inline-form .nav-btn { cursor: pointer; }
/* Optional legacy login-btn (if used) */
header .login-btn {
--btn-bg: linear-gradient(90deg, var(--accent), var(--accent-2));
display: inline-flex;
align-items: center;
gap: .5rem;
padding: .55rem .95rem;
border-radius: 999px;
border: 1px solid rgba(255,255,255,.12);
font-weight: 800;
font-size: .95rem;
letter-spacing: .2px;
text-decoration: none;
color: var(--ink-on-accent);
background: var(--btn-bg);
box-shadow: 0 8px 18px rgba(16,185,129,.25), 0 2px 0 rgba(0,0,0,.25) inset;
transition: transform .12s ease, filter .2s ease, box-shadow .2s ease;
}
header .login-btn:hover { transform: translateY(-1px); filter: brightness(1.07); }
header .login-btn:active { transform: translateY(0); }
header .login-btn:focus-visible { outline: 2px solid #94a3b8; outline-offset: 3px; }
header .login-btn svg { display: inline-block; flex: 0 0 auto; }
/* ===== Mobile polish ===== */
@media (max-width: 520px){
header > h1.brand,
header > .header-row > h1.brand {
font-size: clamp(1.35rem, 1rem + 3vw, 1.7rem);
}
header .brand .brand-leaf { width: 1.04em; height: 1.04em; }
}
@media (prefers-reduced-motion: reduce){
.nav-btn, header .login-btn { transition: none; }
}
/* === FORCE LOGO HARD-LEFT (final override) === */
header h1.brand{
flex: 0 0 auto !important; /* don't stretch */
width: auto !important; /* no accidental 100% width */
margin: 0 !important;
margin-right: auto !important;/* push everything else right */
text-align: left !important;
}
/* === Collapsible Quick Tips === */
#tips-container{
width: 100%;
max-width: 860px;
margin: 6px auto 0;
border-radius: 18px;
padding: 0; /* summary handles its own padding */
}
.tips-summary{
list-style: none;
display: flex; align-items: center; justify-content: space-between;
gap: .75rem;
cursor: pointer;
padding: 16px 18px;
user-select: none;
}
.tips-summary::-webkit-details-marker { display: none; }
#tips-title{
font-size: 1.15rem;
color: var(--muted);
font-weight: 700;
}
.chev{
opacity: .9;
transition: transform .18s ease;
}
.tips-collapsible[open] .chev{ transform: rotate(180deg); }
/* Focus ring for accessibility */
.tips-summary:focus-visible{
outline: 2px solid #94a3b8;
outline-offset: 4px;
border-radius: 12px;
}
/* Body */
.tips-list{
list-style: none;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 10px;
padding: 0 16px 16px 16px;
}
.tips-list li{
background: var(--chip);
border: 1px solid var(--border);
border-radius: 12px;
padding: 12px 14px 12px 16px;
line-height: 1.35;
color: #ddf7ec;
font-size: .98rem;
box-shadow: 0 10px 18px rgba(0,0,0,.18);
position: relative;
}
.tips-list li::before{
content: "";
position: absolute; left: 0; top: 10px; bottom: 10px;
width: 3px; border-radius: 2px;
background: linear-gradient(180deg, var(--accent), var(--accent-2));
opacity: .95;
}
.tip-title{ display:block; font-weight:900; color:#f0fff8; margin-bottom:2px; }
.tip-desc{ display:block; color:var(--muted); font-weight:600; letter-spacing:.1px; }
/* Responsive */
@media (max-width: 520px){
.tips-list{ grid-template-columns: 1fr; }
}
/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
.chev { transition: none !important; }
}
/* === Disable hover lift for right-side header buttons === */
header .brand-nav .nav-btn:hover,
header .auth-slot .nav-btn:hover,
header .nav-inline-form .nav-btn:hover,
header .login-btn:hover {
transform: none !important; /* stop the “lift” */
}