  /* Custom styles for better aesthetics and responsiveness */
        body {
            font-family: 'Capriola', sans-serif;
            background-color: #e2e8f0; /* Softer light blue-gray background */
            color: #334155; /* Dark slate gray text */
            line-height: 1.6; /* Improve readability */
        }
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 1.5rem;
        }
        .card {
            background-color: #ffffff;
            border-radius: 0.75rem; /* Rounded corners */
            box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1); /* More pronounced shadow */
            padding: 1.25rem; /* Reduced padding for more compact cards */
            margin-bottom: 1.5rem; /* Increased margin */
            transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
            position: relative;
            display: flex; /* Use flex for card content */
            flex-direction: column;
            justify-content: space-between;
        }
        .card:hover {
            transform: translateY(-8px); /* More pronounced lift effect */
            box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15); /* Stronger shadow on hover */
        }
        /* Specific styles for Blu-ray, 4K UHD, Digital, and DVD cards */
        .card-blu-ray {
            background-color: #e0f7fa; /* Lighter cyan */
        }
        .card-4k-uhd {
            background-color: #263238; /* Darker slate for 4K */
            color: #eceff1; /* Light gray text */
        }
        .card-4k-uhd h3,
        .card-4k-uhd p {
            color: #eceff1; /* Ensure all text within 4K UHD card is light */
        }

        .card-4k-uhd a {
            color: lightpink; /* Set hyperlink color to lightpink */
        }

        .card-digital {
            background-color: #fffde7; /* Lighter yellow */
        }
        .card-dvd {
            background-color: #fbe9e7; /* Lighter red-pink */
        }

        .form-input {
            border: 1px solid #cbd5e1; /* Light gray border */
            border-radius: 0.5rem;
            padding: 0.75rem 1rem;
            width: 100%;
            box-sizing: border-box;
            margin-bottom: 1rem;
            font-size: 1rem;
            color: #475569;
            transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; /* Added background-color to transition */
        }
        .form-input:focus {
            outline: none;
            border-color: #4f46e5; /* Indigo on focus */
            box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.2); /* Subtle focus ring */
        }
        /* Style for selected dropdowns and filled text inputs */
        .form-input.has-selection {
            background-color: lightyellow; /* Light yellow when selected/filled */
        }

        /* Styles for checkboxes */
        .checkbox-group {
            display: flex;
            flex-wrap: wrap; /* Allow items to wrap to next line */
            gap: 0.75rem; /* Space between checkboxes */
            padding: 0.5rem;
            border: 1px solid #cbd5e1;
            border-radius: 0.5rem;
            background-color: #f8fafc; /* Slightly off-white for checkbox group */
            min-height: 44px; /* Ensure consistent height even if no options */
            align-items: center;
        }
        .checkbox-group.has-selection {
            background-color: lightyellow; /* Apply yellow background to the group */
        }
        .checkbox-group div {
            display: flex;
            align-items: center;
            gap: 0.25rem;
        }
        .checkbox-group input[type="checkbox"] {
            accent-color: #4f46e5; /* Indigo color for checkboxes */
            width: 1.15em;
            height: 1.15em;
            cursor: pointer;
        }
        .checkbox-group label {
            cursor: pointer;
            font-size: 0.95rem;
            color: #475569;
        }

        .btn-primary {
            background-color: #4f46e5; /* Indigo */
            color: #ffffff;
            padding: 0.75rem 2rem; /* Increased horizontal padding */
            border-radius: 0.5rem;
            font-weight: 600;
            cursor: pointer;
            transition: background-color 0.2s ease-in-out, transform 0.1s ease-in-out, box-shadow 0.2s ease-in-out;
            border: none;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }
        .btn-primary:hover {
            background-color: #4338ca; /* Darker indigo */
            transform: translateY(-2px); /* Slight lift on hover */
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
        }
        .btn-primary:active {
            transform: translateY(0); /* Reset on click */
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

        .section-title {
            font-size: 2.5rem; /* text-5xl equivalent */
            font-weight: 800; /* Extra bold */
            color: #1a202c; /* Darker text */
            margin-bottom: 2rem; /* More space below title */
            text-align: center;
            letter-spacing: -0.025em; /* Tighten letter spacing slightly */
        }

        .sub-section-title {
            font-size: 1.75rem; /* text-3xl equivalent */
            font-weight: 700; /* Bold */
            color: #2d3748; /* Slightly lighter dark text */
            margin-bottom: 1.5rem;
            border-bottom: 2px solid #e2e8f0; /* Subtle separator */
            padding-bottom: 0.5rem;
            display: flex; /* Added for alignment with toggle icon */
            justify-content: space-between; /* Space out title and icon */
            align-items: center; /* Vertically align title and icon */
        }

        .movie-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* Slightly wider cards */
            gap: 2rem; /* Increased gap */
        }

        /* Collapsible section styles */
        .collapsible-header {
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding-bottom: 0.5rem;
            border-bottom: 2px solid #e2e8f0;
            margin-bottom: 1.5rem;
        }
        .collapsible-header h3 {
            margin-bottom: 0; /* Remove default margin from h3 */
        }
        .collapse-icon {
            transition: transform 0.3s ease-in-out;
        }
        .collapse-icon.rotated {
            transform: rotate(180deg);
        }
        .collapsible-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.5s ease-in-out; /* Smooth transition for collapsing */
        }
        .collapsible-content.expanded {
            max-height: 1000px; /* A large enough value to accommodate content */
            transition: max-height 0.5s ease-in-out;
        }

        /* Responsive adjustments */
        @media (max-width: 768px) {
            .container {
                padding: 1rem;
            }
            .section-title {
                font-size: 2rem; /* text-4xl on smaller screens */
                margin-bottom: 1.5rem;
            }
            .sub-section-title {
                font-size: 1.5rem; /* text-2xl on smaller screens */
                margin-bottom: 1rem;
            }
            .movie-grid {
                grid-template-columns: 1fr; /* Single column on very small screens */
                gap: 1.5rem;
            }
            .card {
                padding: 1.5rem;
            }
        }
  