/* -------------------------- 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” */ }