/* Toggle Components - Unified Design */ .language-toggle, .cv-length-toggle, .logo-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; white-space: nowrap; } .toggle-switch { display: inline-block; cursor: pointer; user-select: none; position: relative; } .toggle-switch input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; } .toggle-slider { position: relative; display: inline-block; width: 50px; height: 26px; background-color: #555; border-radius: 26px; transition: background-color 0.3s ease; } .toggle-slider::after { content: ''; position: absolute; width: 20px; height: 20px; border-radius: 50%; background-color: white; top: 3px; left: 3px; transition: transform 0.3s ease; box-shadow: 0 2px 4px rgba(0,0,0,0.2); } .toggle-switch input[type="checkbox"]:checked + .toggle-slider { background-color: var(--accent-blue); } .toggle-switch input[type="checkbox"]:checked + .toggle-slider::after { transform: translateX(24px); } .toggle-switch input[type="checkbox"]:focus + .toggle-slider { box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.2); } .toggle-label-left, .toggle-label-right { font-size: 0.8rem; font-weight: 500; color: #999; transition: color 0.3s ease; white-space: nowrap; } /* Highlight active label based on parent container state */ .language-toggle:has(#langToggle:not(:checked)) .toggle-label-left, .cv-length-toggle:has(#lengthToggle:not(:checked)) .toggle-label-left, .logo-toggle:has(#logoToggle:not(:checked)) .toggle-label-left { color: #fff; } .language-toggle:has(#langToggle:checked) .toggle-label-right, .cv-length-toggle:has(#lengthToggle:checked) .toggle-label-right, .logo-toggle:has(#logoToggle:checked) .toggle-label-right { color: #fff; } /* Experience Item with Logo Support */ .experience-item { margin-bottom: 1.5rem; page-break-inside: avoid; display: flex; gap: 1rem; position: relative; } .company-logo { display: none; /* Hidden by default */ flex-shrink: 0; } .company-logo img { width: 48px; height: 48px; object-fit: contain; border-radius: 4px; border: 1px solid #ddd; background: white; } .experience-content { flex: 1; min-width: 0; /* Prevents flex item from overflowing */ } /* Show logos when toggle is active */ .show-logos .company-logo { display: block; } /* Hide logos in print by default */ @media print { .company-logo { display: none !important; } } /* Mobile responsiveness */ @media (max-width: 768px) { .logo-toggle { order: 3; /* Move to bottom on mobile */ } .toggle-label { font-size: 0.85rem; } .toggle-slider { width: 38px; height: 20px; } .toggle-slider::after { width: 14px; height: 14px; } .toggle-switch input[type="checkbox"]:checked + .toggle-slider::after { transform: translateX(18px); } .company-logo img { width: 40px; height: 40px; } }